Changelog for quickcheck-dynamic-3.0.2
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
As a minor extension, we also keep a semantic version for the UNRELEASED
changes.
UNRELEASED
3.0.2 - 2023-02-17
- Added instances of
HasVariables
for Word types - Exported definition of
HasNoVariables
to make it useable with deriving via in downstream packages (whoops!) - Fixed impossible to use
nextVar
arguments toforAllUniqueDL
3.0.1 - 2023-02-15
- Remove template haskell dependency
3.0.0 - 2023-02-14
- BREAKING: Add
HasVariables
class to keep track of symbolic variables and automatically insert precondition checks for well-scopedness of variables. - BREAKING: Remove some unnecessary and unusead features in dynamic logic, including re-running tests from a counterexample directly.
- Improved printing of counterexamples in DL - they are now printed as code that can be copied more-or-less verbatim to create a runnable counterexample in code.
- Made the variable context explicit to avoid having to keep track of symbolic variables in the model
- This introduces the
ctxAtType
andarbitraryVar
functions to use in action generators (c.f. theRegistryModel.hs
example).
- This introduces the
2.0.0 - 2022-10-11
- BREAKING: Add
Realized
type family to distinguish between the model- and real type of an action - BREAKING: Introduce
RunModel
type class to interpret Model-generated sequence of actions against real-world implementation- Move
perform
method fromStateModel
to this new type-class - Also split
postcondition
andmonitoring
out from theStateModel
to theRunModel
type class
- Move
- Added Thread registry example based on io-sim concurrency simulation library
1.1.0 - 2022-08-27
- Fix broken links in Hackage-generated documentation and link to other Quviq papers
- Add
Show a
constraint onmonitoring
1.0.0
- Initial publication of quickcheck-dynamic library on Hackage
- Provide base
StateModel
andDynamicLogic
tools to write quickcheck-based models, express properties, and test them