Changelog for quickcheck-lockstep-0.7.0
Revision history for quickcheck-lockstep
0.7.0 -- 2025-05-09
- BREAKING: Rename
lookupGVartorealLookupVar, and add aRealLookupconvenience alias that is used in the type ofRealLookupVar. The type ofrealLookupVaris slightly different than the type oflookupGVar, but only in the positions of universal quantification over types. - NON-BREAKING: improved error messages for
realLookupVarandlookupVar, which might throw an error when variables are ill-defined or unevaluable. - PATCH: some documentation is moved from convenience aliases like
ModelFindVariablesto the functions have these aliases in their type, likefindVars. - BREAKING: Enable verbose counterexamples by default in the 'postcondition' function using 'postconditionWith'.
- NON-BREAKING: Add a new 'postconditionWith' function that can be configured to produce more verbose counterexamples. With verbosity disabled, all states of the model are printed in a counterexample. If verbosity is enabled, the counterexample will also include all responses from the real system and the model.
- NON-BREAKING: Add a new
shrinkVarfunction andModelShrinkVartype alias. UseshrinkVarto shrink variables to earlier variables of the same type. - PATCH: allow building with
ghc-9.12 - PATCH: support
containers-0.8
0.6.0 -- 2024-12-03
- BREAKING: Generalise
ModelFindVariablesandModelLookuptoModelVarContext. Occurrences ofModelFindVariablesandModelLookupin theInLockstepclass are replaced by the newly exposedModelVarContext. AModelFindVariablescan be recovered from aModelVarContextusing the newfindVarsfunctions. AModelLookupcan be recovered from aModelVarContextusing the newlookupVarsfunction. Since these functions can be recovered fromModelVarContext, existing tests are guaranteed to be adaptable to the newInLockstepAPI. This breaking changes means that, for example ...
... should be changed to ...arbitraryWithVars lookupVars = ... (lookupVars ...)arbitraryWithVars vctx = ... (lookupVars vctx ...)
0.5.1 -- 2024-08-27
- PATCH: allow building with
ghc-9.10 - PATCH: bump dependency versions for
containersandQuickCheck
0.5.0 -- 2024-03-25
- BREAKING: Update
quickcheck-dynamicdependency to>=3.4.1. The main change is thatquickcheck-dynamic'sStateModelclass now has an associated typeError, the use of which is optional. However, as a result, some functions inquickcheck-lockstepchange type signatures: the defaultmonitoringfunction,runActions, andrunActionsBracket.
0.4.1 -- 2024-03-20
- PATCH: fix compilation failures when using
mtl ^>=2.3
0.4.0 -- 2024-02-17
- BREAKING: Counter-examples now produce valid code. To facilitate this,
HasVariablesandShowinstances have changed, and a newunsafeMkGVarsmart constructor is exposed. - Add compatibility with ghc-9.8
0.3.0 -- 2023-10-17
- BREAKING: Update
quickcheck-dynamicdependency to>=3.3. - Add compatibility with ghc-9.6 (Javier Sagredo)
0.2.1 -- 2022-12-06
- Expose necessary definitions for custom
Operationinstances (Joris Dral)
0.2.0 -- 2022-11-11
- Relax bounds on
base(support up to ghc 9.4) - Show real/mock response in addition to observable response
(see
showRealResponse) - Add
labelActionsfunction - Generalise
runActionsBracket(Joris Dral) - Expose getter for the model in
Lockstep(Joris Dral)
0.1.0 -- 2022-10-11
- First release