Skip to content

Releases: dubzzz/fast-check

Shrinkable `entityGraph` and few performance chips

Choose a tag to compare

@github-actions github-actions released this 08 Jul 21:31
Immutable release. Only release title and notes can be modified.
0d3c254

[Code][Diff]

Features

  • (PR#7008) Towards shrinkable entityGraph thanks to chainUntil

Fixes

  • (PR#7010) Bug: Fix latent state-sharing bug in entityGraph
  • (PR#7063) Bug: Equiprobable alternatives in stringMatching
  • (PR#6973) CI: Drop caches on push for build package flow
  • (PR#6971) CI: Only mark fast-check's releases as latest
  • (PR#6974) CI: Drop pull_request_target flows
  • (PR#6975) CI: Drop discussion creation on release publish
  • (PR#6976) CI: Drop caches from publication steps
  • (PR#6977) CI: Revert "Drop caches from publication steps"
  • (PR#6978) CI: Make zizmor audit a required status check
  • (PR#6991) CI: Remove Claude Code workflow
  • (PR#6994) CI: Replace pnpm dlx with pnpm exec for pkg-pr-new
  • (PR#6995) CI: Inline zizmor ignores in workflow
  • (PR#6996) CI: Move to devEngines.packageManager
  • (PR#7005) CI: Update PULL_REQUEST_TEMPLATE.md
  • (PR#7011) CI: Drop OTP prompt from npm publish
  • (PR#7013) CI: Switch release jobs to npm stage publish
  • (PR#7027) CI: Run benchmarks against main
  • (PR#7037) CI: Use comparison mode for bench
  • (PR#7069) CI: Run pnpm dedupe to deduplicate lockfile
  • (PR#6959) CI: Announce releases on Bluesky
  • (PR#7105) CI: Switch to actions/attest for attestations
  • (PR#7117) CI: Use pnpm version in changelog script
  • (PR#7120) CI: Allow unclean tree in changelog generation
  • (PR#7125) CI: Stage publish using pnpm in publish jobs
  • (PR#7065) Clean: Delete skills directory
  • (PR#6983) Doc: Tweak PR Template to hint AI agents into revealing themselves
  • (PR#7092) Doc: Add back skills directory
  • (PR#7095) Doc: Add release notes for fast-check 4.8.0
  • (PR#7104) Doc: Add makeeno as doc contributor
  • (PR#7103) Doc: Fix info box in docs
  • (PR#7108) Doc: Add jneidel as doc contributor
  • (PR#7035) Performance: Faster fc.integer on generate
  • (PR#7046) Performance: Faster fc.record on generate
  • (PR#7047) Performance: Faster fc.dictionary on generate
  • (PR#7048) Performance: Faster fc.webPath/fc.webUrl on generate
  • (PR#7050) Performance: Faster fc.stringMatching for \W \D \S .
  • (PR#7054) Performance: Faster fc.stringMatching on generate
  • (PR#7049) Performance: Drop nested tuple on generate for fc.record
  • (PR#7045) Performance: Faster fc.entityGraph on generate
  • (PR#7071) Performance: Early exit on empty tuple in fc.entityGraph
  • (PR#7004) Refactor: Extract code from onTheFlyLinksForEntityGraph
  • (PR#7006) Refactor: Move generate logic to the Arbitrary for entityGraph
  • (PR#7007) Refactor: Introduce ProductionState for onTheFlyLinks...
  • (PR#6990) Script: Skip scripts during pnpm i in changelog generation
  • (PR#7039) Script: More benchmark commands
  • (PR#6972) Security: Pass --ignore-scripts to pnpm i calls
  • (PR#7028) Test: Add benchmarks for key arbitraries
  • (PR#7034) Test: Expand benchmark coverage across arbitrary families
  • (PR#7041) Test: Add runners related benchs
  • (PR#7064) Test: Clarify arbitrary benchmark names
  • (PR#7068) Test: More reliable arbitraries.bench.ts
  • (PR#7088) Typo: Typo in type EntityGraphContraints

Support `npm-packlist` 11

Choose a tag to compare

@github-actions github-actions released this 08 Jul 21:31
Immutable release. Only release title and notes can be modified.
0d3c254

[Code][Diff]

Fixes

  • (PR#7001) Dependency: Update dependency npm-packlist to v11

New arbitrary to chain in a loop fashion

Choose a tag to compare

@github-actions github-actions released this 11 May 22:16
Immutable release. Only release title and notes can be modified.
c0da76f

[Code][Diff]

Features

  • (PR#6678) Add chainUntil arbitrary for iterative chaining

Fixes

  • (PR#6965) Bug: Restore ability not to use skipLibCheck
  • (PR#6877) CI: Lowercase discussion_category_name to "announcements"
  • (PR#6878) CI: Scope permissions of clean-caches
  • (PR#6880) CI: Add PR-authoring guidance for Claude
  • (PR#6887) CI: Delete CLAUDE.md
  • (PR#6888) CI: Use tilde ranges for security dependency overrides
  • (PR#6891) CI: Disable Renovate updates on pnpm overrides
  • (PR#6899) CI: Scope Claude hooks to $CLAUDE_PROJECT_DIR
  • (PR#6905) CI: Enable pnpm global virtual store
  • (PR#6933) CI: Pin pnpm in npm install commands
  • (PR#6932) CI: Grant discussions: write to release jobs
  • (PR#6935) CI: Skip PR template check for dubzzz
  • (PR#6937) CI: Mirror the repo to tangled
  • (PR#6938) CI: Add missing runs-on for tangled
  • (PR#6889) Doc: Add release notes for fast-check 4.7.0
  • (PR#6900) Doc: Fix broken API reference links
  • (PR#6844) Doc: Extract manual setup guide into dedicated page
  • (PR#6845) Doc: Add index pages for documentation sections
  • (PR#6918) Doc: Fix Documentation link to point to first doc page
  • (PR#6939) Doc: Link to Tangled mirror of fast-check
  • (PR#6934) Test: Tolerate \p{...} value drift in docs tests
  • (PR#6951) Test: Fix poisoning tests for latest Node

Extend official support range to ava 8

Choose a tag to compare

@github-actions github-actions released this 11 May 22:16
Immutable release. Only release title and notes can be modified.
c0da76f

[Code][Diff]

Fixes

  • (PR#6914) CI: Extend support to ava v8

Support `test.each`

Choose a tag to compare

@github-actions github-actions released this 28 Apr 22:22
Immutable release. Only release title and notes can be modified.
d6e2eee

[Code][Diff]

Fixes

  • (PR#6804) Bug: Fix runtime exception with test.each
  • (PR#6865) Test: Strip AI env vars in child processes

Unicode property support in `stringMatching`

Choose a tag to compare

@github-actions github-actions released this 17 Apr 10:06
Immutable release. Only release title and notes can be modified.
fd1a184

[Code][Diff]

Features

  • (PR#6866) Reversible json arbitrary
  • (PR#6868) Parse \p{} and \P{} in stringMatching
  • (PR#6870) Support for \p{UnicodeProperty} in stringMatching
  • (PR#6871) Support negated unicode properties in stringMatching

Fixes

  • (PR#6710) CI: Pass explicit string to make_latest
  • (PR#6714) CI: Remove unused vite dependency from multiple packages
  • (PR#6780) CI: Silent zizmor issues (as they used to be)
  • (PR#6786) CI: Configure release workflow settings for announcements
  • (PR#6787) CI: Add force-build-status-execution label trigger to CI workflow
  • (PR#6818) CI: Push tag after creating draft release
  • (PR#6827) CI: Update CSP for our playgrounds backed by stackblitz
  • (PR#6832) CI: Add format/lint/typecheck hooks for Claude Code
  • (PR#6834) CI: Fix Claude's session start hook
  • (PR#6852) CI: Skip website prebuild remote fetches on cloud Claude Code
  • (PR#6869) CI: Add workflow to clean up GitHub Actions caches
  • (PR#6789) Clean: Remove unused code identified by knip
  • (PR#6711) Doc: Release note for version 4.6.0
  • (PR#6756) Doc: Fix typo in the documentation
  • (PR#6758) Doc: Add rugk as doc contributor
  • (PR#6764) Doc: Document gitmoji PR naming
  • (PR#6776) Doc: Add nielk as code contributor
  • (PR#6753) Doc: Migrate playgrounds in documentation to StackBlitz
  • (PR#6830) Doc: Switch to ?raw imports for advents
  • (PR#6836) Doc: Add Vitest documentation guide for setting up property-based testing
  • (PR#6833) Doc: Remove dead doc hub pages
  • (PR#6855) Doc: Integrate API reference natively into our doc
  • (PR#6867) Doc: Simplify examples
  • (PR#6835) Script: Migrate from ESLint to oxlint
  • (PR#6872) Script: Rework hooks for Claude Code
  • (PR#6754) Test: Migrate race condition tests to Vitest
  • (PR#6859) Test: Stabilize flaky timeout tests on Windows

Move to modern APIs introduced by vitest 4.1

Choose a tag to compare

@github-actions github-actions released this 03 Apr 21:46
Immutable release. Only release title and notes can be modified.
e3875ed

[Code][Diff]

Features

  • (PR#6766) Get rid of deprecated vitest/suite imports

Fixes

  • (PR#6812) Doc: Document requirements for 0.4.0

View attestationDocumentation

Replace `--keepNodeModules` by `--keep`

Choose a tag to compare

@github-actions github-actions released this 27 Mar 15:33
Immutable release. Only release title and notes can be modified.
1082264

[Code][Diff]

Features

  • (PR#6713) Replace keepNodeModules with flexible keep patterns

View attestationDocumentation

Better `stringMatching` with `maxLength`

Choose a tag to compare

@github-actions github-actions released this 08 Mar 13:31
Immutable release. Only release title and notes can be modified.
f4b9e1d

[Code][Diff]

Features

  • (PR#6599) Add basic maxLength support to stringMatching
  • (PR#6600) Better clamp on regexes when maxLength on stringMatching
  • (PR#6687) Deprecate Random::next(n) and Random::nextInt()

Fixes

  • (PR#6502) Bug: Bad d.ts import in BuildInversedRelationsMapping
  • (PR#6578) Bug: Don't crash when stringifying detached ArrayBuffers
  • (PR#6700) Bug: Fix object unmapper and depth computation for special keys
  • (PR#6432) CI: Move all dependencies to dev on examples/
  • (PR#6443) CI: Migrate to Docusaurus v4 configuration format
  • (PR#6456) CI: Enable persist-credentials in add-contributor workflow
  • (PR#6501) CI: Bump module in tsconfig to node18
  • (PR#6548) CI: Fix zizmor ignore config line numbers
  • (PR#6554) CI: Drop tests against Node 20
  • (PR#6563) CI: Fix check_publish status to be success on no error
  • (PR#6565) CI: Add create release workflow
  • (PR#6610) CI: Rework pnpm configuration
  • (PR#6619) CI: Add PR template enforcement workflow
  • (PR#6622) CI: Skip Netlify doc publish on PRs
  • (PR#6625) CI: Run PR template check without approval
  • (PR#6623) CI: Skip PR template check for Renovate bot
  • (PR#6638) CI: Bundle fast-check using rolldown
  • (PR#6662) CI: Rework configuration of examples
  • (PR#6683) CI: Add Claude Code GitHub Action workflow
  • (PR#6684) CI: Add configuration for pre and post tool Claude hooks
  • (PR#6690) CI: Refine GH Action triggering CLAUDE
  • (PR#6693) CI: Configure another Claude model
  • (PR#6703) CI: Add top-level permissions: {} to workflows missing it
  • (PR#6704) CI: Refactor Claude workflow custom instructions configuration
  • (PR#6705) CI: Add SessionStart hook to ensure dependencies are installed
  • (PR#6597) Clean: Drop runkit file
  • (PR#6640) Clean: Drop unused "tsd" in package.json
  • (PR#6441) Doc: Release note for 4.5.0
  • (PR#6442) Doc: Replace generic blog tags with feature-specific taxonomy
  • (PR#6458) Doc: Add adamni21 as doc contributor
  • (PR#6496) Doc: Refine npm keywords
  • (PR#6514) Doc: Skill for JavaScript testing expert
  • (PR#6516) Doc: Add note to avoid overusing filter and fc.pre
  • (PR#6517) Doc: Update testing skill to recommend mimicking existing test structure
  • (PR#6523) Doc: Add PR template requirement to Copilot instructions
  • (PR#6522) Doc: Add note on complementary testing approaches
  • (PR#6524) Doc: Add snapshot vs screenshot guidance
  • (PR#6527) Doc: Push to install missing tooling
  • (PR#6530) Doc: Clearer guidelines for constraints of arbs in skill
  • (PR#6526) Doc: Add AI-powered testing documentation
  • (PR#6529) Doc: Add testing-library and browser testing part in skill
  • (PR#6528) Doc: Add bigint type preference for integer computations in skill
  • (PR#6531) Doc: Add TDD fashion thinking in skill
  • (PR#6553) Doc: Add josephjunker as doc contributor
  • (PR#6561) Doc: Add page on "What is property-based testing" and modify "Why property-based testing"
  • (PR#6605) Doc: Drop Snyk link on Readme
  • (PR#6603) Doc: Update CONTRIBUTING.md for AI
  • (PR#6572) Doc: Rework issue templates
  • (PR#6613) Doc: Update PR template
  • (PR#6634) Doc: Rework bug-report template
  • (PR#6635) Doc: Rework regression-report template
  • (PR#6652) Doc: Update Readme to point to npmx
  • (PR#6659) Doc: Update home to link to npmx
  • (PR#6696) Doc: Add rushelex as code contributor
  • (PR#6448) Performance: Optimize RunDetailsFormatter array allocations
  • (PR#5718) Performance: Import less from pure-rand
  • (PR#6679) Performance: Bump pure-rand to v8
  • (PR#6446) Performance: Replace loose equality by strict one
  • (PR#6444) Performance: Slightly faster code for RunExecution
  • (PR#6437) Refactor: Replace fileURLToPath patterns with import.meta.*
  • (PR#6567) Refactor: Remove ErrorWithCause, use Error directly
  • (PR#6621) Refactor: Replace glob package with native Node.js fs.glob
  • (PR#6675) Refactor: Drop @rollup/plugin-replace for rolldown builtin
  • (PR#6550) Security: Fix zizmor template-injection findings
  • (PR#6472) Test: Provide cause when doc generation fails
  • (PR#6381) Test: Migrate test-types to vitest
  • (PR#6507) Test: Filter ESM-only packages from CommonJS mode checks
  • (PR#6453) Typo: Fix typo for dictionary arbitrary constraint maxKeys
  • (PR#6552) Typo: Replace flatMap with chain in error message

View attestationDocumentation

Only publish ESM bundle

Choose a tag to compare

@github-actions github-actions released this 08 Mar 13:32
Immutable release. Only release title and notes can be modified.
f4b9e1d

[Code][Diff]

Breaking changes

Fixes

  • (PR#6564) Bug: Fix GlobalPool premature worker termination
  • (PR#6658) Doc: Update Readme to point to npmx
  • (PR#6661) Performance: Import less from pure-rand
  • (PR#6689) Performance: Bump pure-rand to v8
  • (PR#6268) Test: Migrate tests from CJS to ESM
  • (PR#6384) Test: Increase test timeout to 30s
  • (PR#6386) Test: Bump e2e test timeouts from 1s to 5s
  • (PR#6385) Test: Log to troubleshoot concurrentAssert

View attestationDocumentation