Fast-check is a property-based testing framework for JavaScript and TypeScript, written in TypeScript. It lets you define properties that should hold for all generated inputs, helping find counterexamples and produce useful failure reports. It integrates with common JavaScript test runners like Mocha, Jest, Jasmine, AVA, and Tape.
Project status
- The upstream GitHub repo (dubzzz/fast-check) shows a very recent push on 2026-06-07, and recent downstream updates indicate ongoing development, suggesting the project is actively maintained.
- The apparent update cadence is roughly every few weeks in this snapshot, with updates on 2026-04-28 and 2026-05-11 (and a later related repo push on 2026-06-07).
AI summary generated Today
Recent updates
ava/v3.0.1
3 weeks agoThe release notes claim the only change is CI work to extend official support to AVA v8. However, the code diff shows additional, substantial changes in the fast-check core package, including a brand new arbitrary (`chainUntil`) plus related exports, tests, and documentation updates.
v4.8.0
3 weeks agofast-check v4.8.0 adds the new `chainUntil` arbitrary to support iterative chaining patterns. It also includes a fix to restore the ability to not rely on `skipLibCheck`, alongside several CI and documentation-only changes.
Featuresvitest/v0.4.1
1 month agovitest/@fast-check/vitest v0.4.1 focuses on fixing `test.each` support by addressing a runtime exception. The diff also includes a small internal fast-check change plus various repository and CI-related updates, though those are not described in the vitest release notes.
v4.7.0
1 month agofast-check v4.7.0 adds new support for Unicode property escapes in `stringMatching`, including parsing `\p{}` and `\P{}` patterns and support for `\p{UnicodeProperty}` with negated properties. Release notes also mention a new reversible `json` arbitrary. The rest of the published notes are CI/tooling and documentation changes.
Featuresvitest/v0.4.0
2 months agoThis release (vitest/v0.4.0, package @fast-check/vitest v0.4.0) updates the Vitest integration to use newer Vitest 4.1 TestRunner APIs instead of deprecated vitest/suite imports. The release notes only mention that API migration, plus a documentation note, but the diff shows additional compatibility and internal export changes.
BreakingFeaturespackaged/v0.7.0
2 months agoVersion 0.7.0 of @fast-check/packaged replaces the old keepNodeModules option with a new keep mechanism intended to let users preserve additional root-level entries during cleanup. The main code change is in removeNonPublishedFiles and the packaged CLI flag parsing. Release notes mention the keepNodeModules replacement, but they do not document the precise shape and matching semantics of the new keep option.
BreakingFeaturespoisoning/v0.3.0
3 months agoThis release switches to publishing an ESM-only bundle. It also removes CommonJS support and drops the (previously unnecessary) typesVersions configuration, which may require changes to how consumers import and type Fast-Check. CI build tooling was improved to speed up builds.
Breakingworker/v0.6.0
3 months agoworker/v0.6.0 changes the published bundle format to ESM only, dropping CommonJS support. It also includes a GlobalPool fix for premature worker termination, plus performance-related updates around pure-rand (including a version bump).
Breakingvitest/v0.3.0
3 months agoThis release updates fast-check's Vitest integration to support `beforeEach` and `afterEach` hooks via `@fast-check/vitest`. It also removes CommonJS support and package `typesVersions`, moving users toward an ESM-first setup. A CI build performance improvement is included, plus documentation updates covering the new hook support and its limitations.
BreakingFeaturesv4.6.0
3 months agofast-check v4.6.0 improves `stringMatching` by adding basic `maxLength` support, along with additional clamping behavior for regex-based matching when `maxLength` is used. It also deprecates `Random::next(n)` and `Random::nextInt()`, alongside several bug fixes (including a crash fix for detached ArrayBuffers) and a security patch for a template-injection finding.
SecurityFeatures