Skip to content

Latest commit

 

History

History
1171 lines (748 loc) · 53.7 KB

CHANGELOG.md

File metadata and controls

1171 lines (748 loc) · 53.7 KB

2.1.0

Better reported errors for func, compareFunc and compareBooleanFunc [Code][Diff]

Features

  • (PR#843) Report a valid function on func and compareFunc
  • (PR#844) Export internal hash function
  • (PR#845) Rewrite hash without using node specific APIs

Fixes

  • (PR#833) CI: Enable CodeQL Analysis
  • (PR#837) Clean: Remove usages of ! operator in ObjectArbitrary
  • (PR#838) Clean: Remove custom implementation of Array.prototype.find
  • (PR#816) Doc: Fix typos in migration guide
  • (PR#846) Doc: Update links for pika.dev to skypack.dev
  • (PR#819) Test: Better test coverage for fc.option
  • (PR#818) Test: Reduce flakiness of coverage

2.0.0

Hybrid and full support for both ES Modules and CommonJS [Code][Diff]

This new major of fast-check is:

  • lighter: 906kB with 385 files to 505kB with 287 files
  • faster: takes between -15% (sync) to -40% (async) less time to run properties (more)
  • es-module compatible: can be executed with type:module

Breaking changes

  • (PR#748) Drop support for old runtimes of JavaScript, requirements: node>=8 and ES2017+
  • (PR#747) Better typings of fc.constantFrom
  • (PR#749) Remove depreciated with_deleted_keys on fc.record
  • (PR#750) Drop support for TypeScript <3.2
  • (PR#751) Strip internal code at build time
  • (PR#753) Bump pure-rand package to use its hybrid build
  • (PR#755) Replace namespace ObjectConstraints by an type
  • (PR#752) Support ES Modules and CommonJS
  • (PR#756) Drop browser build

You may refer to our migration guide in case of issue: https://github.com/dubzzz/fast-check/blob/master/MIGRATION_1.X_TO_2.X.md

Fixes

  • (PR#752) Doc: Update compatibility table
  • (PR#730) Test: Reproducible tests by adding missing lockfiles

1.26.0

New arbitrary to generate falsy values [Code][Diff]

Features

  • (PR#627) New arbitrary to generate falsy values
  • (PR#719) Add withBigInt flag for fc.falsy
  • (PR#718) Add withBigInt flag for fc.anything

Fixes

  • (PR#632) Doc: Script generating the documentation compatible with Windows
  • (PR#652) Doc: Add note on chain shrink issues
  • (PR#658) Doc: Document how fast-check works under-the-hood
  • (PR#664) Doc: Add a compatibility section into the README
  • (PR#665) Doc: Fix some typos
  • (PR#700) Doc: Remove warnings related to badly set @param for ts-docs
  • (PR#729) Doc: Add links to commit diff into the CHANGELOG
  • (PR#630) Test: Enhance stability of e2e test for AsyncScheduler
  • (PR#636) Test: Ensure we can generate the documentation for each PR
  • (PR#637) Test: Add missing parameters in QualifiedParameters tests
  • (PR#661) Test: Compilation against old releases of TypeScript
  • (PR#720) Test: Remove useless CI stage (HEAD)

1.25.1

Scheduler was not putting the metadata into the generated report [Code][Diff]

Fixes

  • (PR#625) Bug: Scheduler forgets to pass the metadata when calling report

1.25.0

Add ability to customize reported errors [Code][Diff]

Features

  • (PR#622) Add the ability to provide a custom reporter
  • (PR#623) Report the configuration, that has been used, in RunDetails
  • (PR#621) Expose fc.defaultReportMessage
  • (PR#607) Better typings for fc.object and fc.dictionnary ⚠️
  • (PR#600) Better typings for RunDetails ⚠️
  • (PR#604) Introduce a report method on the scheduler
  • (PR#588) Easier replay of failing scheduler

Fixes

  • (PR#609) Clean: Generated typings where causing the doc generation to crash
  • (PR#608) Doc: Fix markdown section
  • (PR#602) Test: Check compatibility with node 12.x and >= 12.18
  • (PR#599) Doc: Document how to use fast-check in web using pika
  • (PR#596) Clean: Clean examples based on getByRole
  • (PR#585) Doc: Update README with Credits section
  • (PR#594) Clean: Add missing "private": true on package.json used for tests
  • (PR#592) Clean: Update travis configuration to use Node 14
  • (PR#587) Test: Check package can be properly imported
  • (PR#586) Clean: Rename build scripts to cjs

1.24.2

Fix constantFrom not compatible with older versions of node [Code][Diff]

Fixes

  • (PR#583) Bug: constantFrom not compatible with old browsers
  • (PR#569) Clean: Prebuild to cjs extension
  • (PR#568) Doc: Broken links
  • (PR#575) Doc: Invalid code in example of the README
  • (PR#578) Doc: Schedule native timers
  • (PR#576) Example: Fibonacci example
  • (PR#577) Example: Fix decompPrime example for CodeSandbox
  • (PR#581) Example: Fix wrong usages of userEvent.type
  • (PR#579) Example: Race conditions with timers

1.24.1

Fixes a code issue detected in fc.object() when using withNullPrototype [Code][Diff]

Fixes

  • (PR#567) Bug: Error in the code of fc.object() when using withNullPrototype

1.24.0

Model based testing and race condition detection [Code][Diff]

Features

  • (PR#491) Add ability to run commands in a scheduled context

Fixes

  • (PR#565) Doc: Broken documentation build
  • (PR#566) Doc: Document how race conditions can be detected

1.23.0

Better typings for filter and oneof plus support for null prototypes [Code][Diff]

Features

  • (PR#548) Stringify should distinguish {} from Object.create(null)
  • (PR#552) Add ability to generate objects without prototype
  • (PR#555) Support type guards while filtering ⚠️
  • (PR#556) Better typings for oneof and frequency ⚠️

Fixes

  • (PR#554) Doc: Add an example on atomic Counter for race conditions feature
  • (PR#557) Doc: Add example based on decomposition in prime numbers

1.22.2

Remove unused files from the final bundle [Code][Diff]

Fixes

  • (PR#550) Clean: Switch from npmignore to files to whitelist bundled files instead of blacklisting them
  • (PR#549) Clean: Various typos in letrec unit-test
  • (PR#551) Clean: CI was not considered as failed when examples failed

1.22.1

Fix broken bundle [Code][Diff]

1.22.0

Better random values and ability to shrink very large data-structures [Code][Diff]

Features

  • (PR#534) Better independance between generated values during a test suite ⚠️
  • (PR#536) Exclude internationalized-like domains ⚠️ - (PR#538)
  • (PR#537) Add xoroshiro128plsu in the list of random generators
  • (PR#539) Add js extension onto esm files
  • (PR#540) Add metadata on the generated sources (see fc.__version)

Fixes

  • (PR#505) Bug: Fix stack overflow when shrinking large arrays
  • (PR#541) Bug: Fix stack overflow when shrinking large arrays of commands
  • (PR#511) Doc: Add Jest example in the README
  • (PR#542) Doc: Example with function arbitrary
  • (PR#518) Doc: Fix typos in Arbitraries.md
  • (PR#523) Doc: Fix typos in Arbitraries.md
  • (PR#533) Doc: Fix typos in Arbitraries.md
  • (PR#529) Doc: Tip explaining how to avoid timeouts
  • (PR#519) Clean: Add missing files in *ignore
  • (PR#535) Clean: Better logs for GenericArbitraryHelper

1.21.0

Better typings for beforeEach and afterEach and more options on fc.scheduler [Code][Diff]

Features

  • (PR#493) Automatically wrap tasks using an act function in fc.scheduler if provided
  • (PR#492) Also return the sequence task in fc.scheduleSequence
  • (PR#489) Allow looser types for beforeEach and afterEach, more accurate and stricter types ⚠️

Fixes

  • (PR#509) Bug: letrec crashed when asking to generate __proto__
  • (PR#510) Bug: letrec crashed when builder instantiates an object having __proto__ set to null
  • (PR#503) Doc: Note on expect or assert

1.20.1

Reduce bundle size [Code][Diff]

Fixes

  • (PR#494) Clean: Remove tsbuildinfo files from the bundle
  • (PR#495) Clean: Remove unneeded @param in JSDoc of property and tuple

1.20.0

Built-in support for race condition detection [Code][Diff]

Features

  • (PR#479) Add fc.scheduler arbitrary

Fixes

  • (PR#487) Doc: Clean autocomplete example

1.19.0

Interrupt test-suites after a given delay while the number of runs have not been reached [Code][Diff]

Features

  • (PR#428) Implement interruptAfterTimeLimit
  • (PR#463) Adapt and expose IRawProperty, IProperty and IAsyncProperty types

Fixes

  • (PR#455) Clean: Add watch mode test and build scripts
  • (PR#456) Clean: Bump all dev dependencies
  • (PR#457) Clean: Use ts-jest/utils mocked instead of our own mockModule
  • (PR#449) Clean: Moving away from npm, switching to yarn
  • (PR#471) Clean: Minor fixes related to internal typings
  • (PR#473) Clean: Remove unused variables in units
  • (PR#474) Clean: Enable no-unused-vars eslint rule
  • (PR#465) Doc: Examples served by CodeSandbox and improvement of the examples - (PR#466), (PR#467), (PR#469), (PR#470), (PR#472), (PR#476)
  • (PR#475) Test: Do not run travis outside of master and PRs for master
  • (PR#464) Test: Add tests for typings based on tsd
  • (PR#481) Test: Configure CodeSandbox CI

1.18.1

Typings regression for fc.object [Code][Diff]

Fixes

  • Bug: Typing regression on fc.object

1.18.0

Support for global parameters with fc.configureGlobal(parameters) [Code][Diff]

Features

  • (PR#439) Support for global parameters

Fixes

  • (PR#438) Clean: Add sideEffects flag into package.json
  • (PR#440) Clean: Migrate from tslint to eslint - (PR#447), (PR#451)
  • (PR#443) Doc: Export missing WeightedArbitrary
  • (PR#444) Doc: Add missing documentation for fc.frequency
  • (PR#446) Doc: Add code contributors widget directly in README.md
  • (PR#436) Typings: Better typings for fc.anything-like arbitraries

1.17.0

Multiple new arbitraries: date, ipv4 extended, uuid, mixed case and many settings [Code][Diff]

Features

  • (PR#420) Add fc.date arbitrary
  • (PR#427) Add fc.mixedCase arbitrary
  • (PR#393) Support all the range of valid ipV4 with fc.ipV4Extended arbitrary
  • (PR#401) Add ability to customize the null value of fc.option
  • (PR#411) Add fc.uuid arbitrary
  • (PR#433) Add fc.uuidV to tackle specific version of uuid
  • (PR#400) Add withObjectString flag in fc.object/fc.anything

Fixes

  • (PR#425) Bug: skipAllAfterTimeLimit throws when it passes time limit
  • (PR#409) Bug: Web authority should not produce port outside 0-65535
  • (PR#418) Bug: Infinite loop when path is one level deep and all runs succeed
  • (PR#430) Bug: No timeout expiration on node blocks exit
  • (PR#396) Clean: Update dependencies and dev dependencies
  • (PR#432) Clean: Prepare code for ts3.7-pr33401
  • (PR#410) Contrib: Document how to add new arbitraries in fast-check
  • (PR#408) Doc: Usage in conjonction with faker
  • (PR#412) Doc: Diff format in shrinking example
  • (PR#414) Doc: Update ts-jest config (tsConfigFile -> tsConfig)
  • (PR#417) Doc: Add section "Migrate from jsverify to fast-check"
  • (PR#434) Doc: Add table of contents on top of the documentation
  • (PR#397) Test: Reduce flakyness of tests on letrec
  • (PR#422) Test: Rework unit tests of DateArbitrary

1.16.3

skipAllAfterTimeLimit throws when it passes time limit [Code][Diff]

Fixes

  • (PR#425) skipAllAfterTimeLimit throws when it passes time limit

1.16.2

Web authority ports should be within 0-65535 [Code][Diff]

Fixes

  • (PR#409) Web authority should not produce port outside 0-65535

1.16.1

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.16.0

Easier recursive data-structures [Code][Diff]

Features

  • (PR#377) Add fc.letrec arbitrary
  • (PR#378) Add fc.memo arbitrary
  • (PR#385) Add caching for withBias of fc.letrec arbitrary
  • (PR#370) Add minimum and maximum validation to integer and nat
  • (PR#382) Take fc.cloneMethod into account for commands
  • (PR#372) Stringify Date as valid JavaScript
  • (PR#371) Stringify Symbol as valid JavaScript

Fixes

  • (PR#375) Clean: Bump TypeScript to 3.5
  • (PR#384) Clean: Remove circular dependency in WebArbitrary file
  • (PR#389) Test: Check that fc.memo and fc.letrec are compatible with node 0.12
  • (PR#376) Test: Fix broken e2e tests
  • (PR#385) Test: Mark warnings as errors in rollup config
  • (PR#388) Type: Fix type inferrence bug in modelRun
  • (PR#379) Refactoring: Re-implement fc.object with fc.memo

1.15.4

skipAllAfterTimeLimit throws when it passes time limit [Code][Diff]

Fixes

  • (PR#425) skipAllAfterTimeLimit throws when it passes time limit

1.15.3

Web authority ports should be within 0-65535 [Code][Diff]

Fixes

  • (PR#409) Web authority should not produce port outside 0-65535

1.15.2

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.15.1

Documentation updates [Code][Diff]

Fixes

  • (PR#363) Clean: Bump dev dependencies
  • (PR#366) Clean: Incremental build
  • (PR#362) Clean: Test against node 12
  • (PR#361) Doc: Clarify replay of commands
  • (PR#368) Doc: Direct link to genrated documentation
  • (PR#364) Doc: Extra badges in README
  • (PR#358) Doc: Fix various typos
  • (PR#355) Test: Add no regression snapshot tests

1.15.0

Add auto-skip after time limit option for runners [Code][Diff]

Features

  • (PR#352) Ability to auto skip runs after time limit
  • (PR#348) Expose fc.stringify in the API

Fixes

  • (PR#354) Doc: Add examples of issues discovered using fast-check
  • (PR#353) Doc: Better logo
  • (PR#351) Size: Add dependency to tslib - should reduce size of the bundle
  • (PR#349) Test: No regression snapshot tests

1.14.2

Web authority ports should be within 0-65535 [Code][Diff]

Fixes

  • (PR#409) Web authority should not produce port outside 0-65535

1.14.1

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.14.0

New generated documentation and new arbitraries [Code][Diff]

Features

  • (PR#339) Add fc.ipV4() and fc.ipV6() arbitraries
  • (PR#340) Add fc.mapToConstant() arbitrary
  • (PR#344) Add fc.webUrl() and other web urls related arbitraries
  • (PR#345) Add fc.emailAddress() arbitrary

Fixes

  • (PR#343) Doc: Generate the API documentation with docsify

1.13.1

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.13.0

Remove dependency to lorem-ipsum and more control over fc.anything and fc.object [Code][Diff]

Features

  • (PR#336) Remove dependency to lorem-ipsum
  • (PR#337) fc.frequency() should be compatible with legacy node
  • (PR#338) Add parameter to customize size of fc.object() and fc.anything()

1.12.2

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.12.1

Lighter bundle [Code][Diff]

Fixes

  • (PR#327) Doc: Ability to copy-paste snippets in HandsOnPropertyBased.md
  • (PR#334) Size: Reduce the size of the bundle - Potential issue if your code directly references TupleArbitrary<T1...>, it should be replaced by Arbitrary<[T1,...]>

1.12.0

Better balance between values produced by fc.anything() [Code][Diff]

Features

  • (PR#325) Better balance between values produced by fc.anything()

1.11.1

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.11.0

Replay ability for commands and new arbitraries [Code][Diff]

Features

  • (PR#321) Add new flags for fc.anything and fc.object: withBoxedValues, withSet, withMap
  • (PR#320) Better string representation of failing values
  • (PR#317) Add fc.dedup arbitrary
  • (PR#294) Replay ability for commands
  • (PR#292) Flag to stop the test as soon as it fails
  • (PR#288) Add fc.maxSafeInteger and fc.maxSafeNat arbitraries

Fixes

  • (PR#295) Bug: Not shrinking commands themselves
  • (PR#290) Bug: ExecutionStatus defined as const enum
  • (PR#298) Clean: Factorize code of Runner
  • (PR#297) Clean: Takkle issues reported by codeclimate
  • (PR#306) Doc: Add issues discovered by fast-check
  • (PR#287) Doc: Add issues discovered by fast-check
  • (PR#322) Doc: Links next to features described in Readme
  • (PR#309) Test: Factorize Jest configurations
  • (PR#307) Test: Ensure web-build is correct
  • (PR#300) Perf: No more holey array in fc.array

1.10.2

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.10.1

Fix browser bundle [Code][Diff]

Fixes

1.10.0

Better shrinking of commands [Code][Diff]

Features

  • (PR#280) Better shrinking of commands

1.9.4

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.9.3

Fix browser bundle [Code][Diff]

Fixes

1.9.2

Adapt typings for older versions of TypeScript [Code][Diff]

Fixes

  • (PR#282) Bug: Cannot find name 'bigint'
  • (PR#282) Declare umd build in package.json

1.9.1

VerbosityLevel enum is accessible through fc.VerbosityLevel [Code][Diff]

Fixes

  • (PR#278) Bug: VerbosityLevel values not accessible

1.9.0

BigInt support and new verbosity level [Code][Diff]

Features

  • (PR#274) Add support for asynchronous check method in AsyncCommand
  • (PR#271) More verbose option
  • (PR#268) Add bigInt, bigIntN, bigUint, bigUintN arbitraries
  • (PR#263) Default seed based on random in addition of timestamp

Fixes

  • (PR#272) Bug: Commands partially cloned during the shrinking process
  • (PR#264) Bug: Non-integer seeds not using the full range of integers
  • (PR#269) Clean: Migrate tests to Jest
  • (PR#276) Clean: Unecessary try catch removed for modelRun

1.8.3

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.8.2

Fix regression introduced in the shrinking of cloneable [Code][Diff]

Fixes

  • (PR#262) Bug: Too many shrinks for commands
  • (PR#261) Bug: Unability to shrink mapped commands
  • (PR#259) Bug: Move cloning responsability at a single place in the code
  • (PR#258) Bug: Shrinker of commands failed to shrink twice (in depth)

1.8.1

Support asynchronous model setup [Code][Diff]

Fixes

  • (PR#249) Bug: asyncModelRun must accept asynchonous setup function

1.8.0

Native handling of stateful generated values [Code][Diff]

Features

  • (PR#245) seed can be any possible double value
  • (PR#229) Add context arbitrary
  • (PR#237) Add infiniteStream arbitrary
  • (PR#229) Add cloneable capabilities for stateful generated values

Fixes

  • (PR#241) Doc: Add an example for asyncProperty
  • (PR#238) Better logs for fc.func, fc.compareFunc and fc.compareBooleanFunc
  • (PR#235) Better handling of fc.commands

1.7.2

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.7.1

Fix import of loremIpsum library [Code][Diff]

Fixes

  • (PR#226) Fix import of loremIpsum library

1.7.0

Switch to another PRNG for better performances, better fc.commands [Code][Diff]

Features

  • (PR#221) Better shrink capabilities for fc.commands

Fixes

  • (PR#220) Switch to another PRNG as default random - more performances
  • (PR#217) Better typings for fc.record

1.6.3

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.6.2

Performance improvements [Code][Diff]

Fixes

  • (PR#215) Fix deopt in Stream.join and Random.uniformIn
  • (PR#211) Remove costly spread operator in ArrayArbitrary
  • (PR#210) Reduce the number of closures in Stream
  • (PR#209) Bump to pure-rand@1.4.2: improvements on mersenne twister
  • (PR#208) Bump to pure-rand@1.4.1: destructuring was too costly

1.6.1

Performance improvements [Code][Diff]

Fixes

  • (PR#207) Performance improvements done on pure-rand side

1.6.0

ESM version of the package published to npm, arbitraries to generate functions and more settings to be able to tweak the execution [Code][Diff]

Features

  • (PR#201) Add compareBooleanFunc, compareFunc and func arbitraries
  • (PR#200) Parameter randomType to choose the random generator
  • (PR#202) Property hooks for beforeEach and afterEach
  • (PR#196) Publish both cjs and esm versions of the package

Fixes

  • (PR#175) Characters must be biased by default
  • (PR#184) Update to latest lorem-ipsum

1.5.1

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.5.0

Property based test state machine: UI, automata. [Code][Diff] Addition of subarray and shuffledSubarray arbitraries

Features

  • (PR#177) Add subarray and shuffledSubarray arbitraries
  • (PR#157) Model based testing and commands
  • (PR#158) Characters shrink towards printable ascii

Fixes

  • (PR#170) Fix: fullUnicode and fullUnicodeString were failing on old releases of node
  • (PR#178) Doc: Update typedoc
  • (PR#161) Doc: Suggest bundle.run instead of jsdelivr

1.4.1

Infinite loop on replays with one-level-deep path [Code][Diff]

Fixes

  • (PR#418) Infinite loop when path is one level deep and all runs succeed

1.4.0

Suggest custom test values with examples [Code][Diff]

Features

  • (PR#148) Manually add concrete examples to test

Fixes

  • (PR#153) Edit npm project description
  • (PR#152) Add minimal supported node engine version in package.json
  • (PR#149) Bump npm dependencies

1.3.0

Filter invalid values directly in predicates using fc.pre [Code][Diff]

Features

  • (PR#140) Make seed and path copy pasteable
  • (PR#138) Remove core-js, no more global namespace pollution
  • (PR#118) Enable preconditions in predicate

1.2.3

Reduce package footprint and less restrictive API for oneof/frequency [Code][Diff]

Fixes

  • (PR#135) Do not force explicitly one parameter in oneof/frequency
  • (PR#134) Doc: Typos in README
  • (PR#132) Add missing exports for jsonObject and unicodeJsonObject
  • (PR#131) Reduce package size
  • (PR#130) Doc: Examples for generation of recursive structures

1.2.2

Less restrictive API for constantFrom [Code][Diff]

Fixes

  • (PR#123) Do not force explicitly one parameter in constantFrom

1.2.1

Readme update [Code][Diff]

Fixes

  • (b80b4f92) Doc: Model based testing example
  • (cc4f4f4f) Doc: Getting started tutorial

1.2.0

Built-in chaining of arbitraries [Code][Diff]

Features

  • (PR#103) Use the output of arbitraries to produce other ones with .chain(...)
  • (PR#114) Add shrink for fc.lorem
  • (PR#116) Throw exception in case of bad path when trying to replay a failure

Fixes:

  • (PR#117) Doc: Fully revamp the documentation
  • (a5dcd71c) Doc: New logo

1.1.4

Better performance for biased arbitraries (=default) [Code][Diff]

Fixes

  • (PR#107) Fix: Performance issue when using biased arbitraries
  • (743d7619) Fix: Bump to the latest version of pure-rand

1.1.3

Export missing fc.stringOf [Code][Diff]

Fixes

  • (63915033) Fix: Export missing fc.stringOf

1.1.2

Readme update [Code][Diff]

Fixes

  • (68893e99) Doc: Why should I migrate section? in README.md
  • (d779aa9e) Doc: Verbose mode explained in README.md
  • (eacc7f0e) Doc: Bug detected using property based testing and fast-check

1.1.1

Ability to use min and max boundaries outside of 32 bits integers for fc.integer [Code][Diff]

Fixes

  • (b45b90eb) Ability to use min and max boundaries outside of 32 bits integers: fc.integer(Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER)

1.1.0

Straight to corner cases and verbose mode [Code][Diff]

Features

  • (PR#91) Straight to corner cases by default, see unbiased option of assert to disable it
  • (PR#93) Verbose mode on failure to have the list of all failing values encountered, see verbose option of assert to enable it
  • (PR#94) Better typings for fc.record

1.0.4

TypeScript and JavaScript documentation of the code using TypeDoc [Code][Diff]

Features

Fixes

  • (959fb52b) Doc: Add a Tips section in the Readme
  • (0dd1e66a) Doc: Link towards the generated documentation in the Readme

1.0.3

Reduce risk of using an unimplemented method of Node (older releases <6) [Code][Diff]

Fixes

  • (55ff3ff) Clean: Switch to the latest ES standard to use its implementations
  • (ce75e4e) Fix: Safer polyfill for older version of node - rely on core-js

1.0.2

Readme update following removal of depreciated devDependencies [Code][Diff]

Fixes

  • (309a00b) Doc: Update README.md
  • (e13df27) Clean: Clean depreciated dependencies

1.0.1

Fix infinite loop when shrinking array having a minimal length defined [Code][Diff]

Fixes

  • (d6468dc) Fix: shrink an array with minimal length lead to infinite loop

1.0.0

Easier replay of failures [Code][Diff]

Faster shrinks

No recursion when shrinking

Features

  • (7dd6fdb) Add min/max parameters on fc.float and fc.double
  • (e294eed) Naming: lower camel case for settings keys
  • (6f35cdd) Check inputs provided to fc.property for easier troubleshoot
  • (b960938) Naming: rename generic_tuple into genericTuple
  • (d1dde51) Faster shrink of arrays (and must of others because built on top of arrays x integers)
  • (fc57174) Faster shrink of integers
  • (be038f0) Replay a failure by setting seed and path
  • (d25d233) Feature counterexamplePath in case of failure
  • (c7a1508) Update error message content in case of failure in fc.assert
  • (eb0d3c2) Better rendering of strings
  • (1e0a73d) Switch to pure-rand library to handle the random number generation

Fixes

  • (56f1e03) Clean: Bump versions of dependencies
  • (d0027d7) Clean: Do not throw raw strings but Error
  • (6af9e6b) Clean: Remove power-assert from devDependencies
  • (fe44db5) Fix: Avoid recursion during shrinking
  • (e3ecc3c) Fix: Bad number of shrinks in case of failure (offset by one)
  • (79c08f7) Fix: Export dictionary arbitrary

0.0.13

Readme update [Code][Diff]

Fixes

0.0.12

New arbitraries: constantFrom and record [Code][Diff]

Features:

  • (786e16e) Modify default values available for fc.object
  • (8984e78) Add flag to generate fc.record with missing keys
  • (850158b) Add fc.record Arbitrary
  • (262b809) Add fc.constantFrom Arbitrary

Fixes:

  • (6db53f2) Clean: Exclude example/ from npm package
  • (036cd2f) Doc: Documentation noShrink
  • (0ee3a03) Doc: Link towards jsDelivr

0.0.11

Bundled for web-browsers and node [Code][Diff]

Features:

  • Add bundle for web-browsers
  • Add code examples in the source code
  • Add minimal length parameter on all strings arbitraries
  • Add es3 support in order to support oldest versions of node
  • Add set, char16bits and fullUnicode arbitraries
  • Add timeout parameter on asychronous properties

Fixes:

  • Fix: unicode character generators

0.0.10

Fix shrink of async properties [Code][Diff]

Fixes:

  • Fix: bug in shrink of async properties

0.0.9

JSON arbitraries and shrinker kill switch [Code][Diff]

Features:

  • noShrink method can remove shrink from existing arbitraries
  • Add jsonObject and unicodeJsonObject arbitraries
  • Support higher number of arbitraies in tuples and properties

0.0.8

Code and documentation alignment [Code][Diff]

Fixes:

  • Doc: align documentation with code
  • Doc: missing parts in the documentation

0.0.7

Going async/await [Code][Diff]

Features:

  • Support async/await properties
  • Add frequency, anything, object, json, dictionary arbitraries
  • Accept min and max length on array

Fixes:

  • Clean: Better integration with modern tests frameworks (throw Error not strings)

0.0.6

Force ready to be used version [Code][Diff]

Features:

  • Add option, float, double, boolean arbitraries
  • Add function to extract generated values fc.sample and fc.statitistics

Fixes:

  • Doc: creation of a documentation