Pure-rand is a set of fast pseudorandom number generators and uniform distributions for JavaScript or TypeScript. It provides deterministic PRNGs with an emphasis on “pure” usage, where calling the generator returns the next RNG state without altering the existing one, which is useful for reproducible randomness and functional-style simulations.
Project status
- The source appears actively maintained, with an upstream push as recently as 2026-07-01 and tagged updates continuing in 2026 (for example v8.4.1 on 2026-06-25 and v8.4.0 on 2026-03-27).
- Apparent update cadence is variable but active, including a mid-March 2026 burst of multiple updates (v8.1.0, v8.2.0, v8.3.0 within days) followed by a longer gap until v8.4.0, then a relatively quick follow-up to v8.4.1 roughly a month later.
AI summary generated
Recent updates
v8.4.2
No publisher release notes were provided for v8.4.2. The repo CHANGELOG.md added two fix entries indicating that the project extended an “undefined field init” mitigation to additional RNG generators and restored `next()` performance by dropping undefined-field initialization.
v8.4.1
No release notes were provided by the publisher for v8.4.1. The code diff shows this release is primarily internal performance work to RNG step/jump implementations (and related benchmark/CI workflow changes), plus some package metadata and dev dependency bumps.
v8.4.0
No publisher release notes were provided for v8.4.0. From the repo changes, this release focuses on changing how Mersenne Twister jump coefficients are stored/computed, alongside CI and tooling workflow updates (node version, action versions, and skipping the bench job on non-PR events).
Featuresv8.3.0
No release notes were provided for v8.3.0. The code diff shows several generator behavior and implementation changes, including adding jump support for the Mersenne Twister generator and optimizing congruential32’s 32-bit multiplication.
v8.2.0
Release v8.2.0 was published on 2026-03-16, but the publisher provided no release notes. Without documented changes, developers should review the tag diff, changelog in the repository (if any), and run integration tests before upgrading.
v8.1.0
This release adds two new uniform floating point distributions, `uniformFloat32` and `uniformFloat64`, and updates documentation and benchmarks/tests to cover them. It also bumps several dev dependencies and adjusts CI workflows related to pnpm setup and the Claude review bot configuration.
Featuresv8.0.0
v8.0.0 has no release notes provided. The code diff shows a major internal refactor around RNG and distribution generation, plus repository-wide tooling changes (yarn to pnpm, updated CI workflows). Several API-level changes appear to affect how consumers use RNGs and distributions, but none are documented.
v7.0.1
v7.0.1 contains CI and build tooling updates, plus a packaging fix to the package.json exports map. The GitHub release notes were not provided, so the change details visible in the repo (exports/build tooling, Yarn toolchain, and dev dependency bumps) are not documented there.
v7.0.0
No release notes were provided in the GitHub release metadata for v7.0.0. The code diff shows a v6.1.0 to v7.0.0 refactor that changes public TypeScript contracts (notably `RandomGenerator.getState`) and alters several module export shapes and import paths.
v6.1.0
This release (v6.1.0) introduces the ability to access and clone the internal state of the library PRNG generators (getState, and fromState constructors for multiple generators). The diff also includes CI/tooling updates, including an upgrade of the package manager tooling (Yarn 3 to Yarn 4) and newer GitHub Actions dependencies. No publisher release notes were provided for this version.
Featuresv6.0.4
v6.0.4 does not include any release-note content in the provided release notes. The diff indicates the main changes are build/typing post-processing (for Node ESM native typings), plus CI workflow updates and dev dependency bumps.
v6.0.3
Release v6.0.3 was published on 2023-09-04, but the publisher did not provide any release notes. Because no change log or notes were included, there is insufficient information to identify new features, bug fixes, breaking changes, or security updates from the release text alone. Developers should review the code diff between v6.0.2 and v6.0.3 to assess upgrade impact.