Version 1.0 (2019-05-13)
- Add histograms to labels / coverage (#289, @jacobstanley)
- Improved shrinking of lists (#276, @jacobstanley / @edsko)
- Simplify
MonadGen
, this breaks the use of StateT
on the outside of a GenT
for the time being, it still works fine on the inside though and you can use distributeT
to run it (#276, @jacobstanley)
- Change
Applicative
GenT
to use zipping (#272, @jacobstanley / @edsko)
- Rename
Tree
-> TreeT
, Node
-> NodeT
(#272, @jacobstanley)
diff
function which takes any a -> a -> Bool
comparison function ([#196][196], [@chessai][chessai] / @jacobstanley)
- Labelling of test runs via
label
, collect
(#262, @ruhatch / @jacobstanley)
- Classification of test runs via
cover
, classify
(#253, @felixmulder / @jacobstanley)
- Define proper
Applicative
instances for NodeT
, TreeT
and GenT
([#173][173]@sjakobi
MonadFail
instance for PropertyT
([#267][267], @geigerzaehler)
MonadResource
instance for PropertyT
(#268, @geigerzaehler)
- Example for the
tripping
function (#258, @HuwCampbell)
- Improve documentation for state machine testing (#252, @endgame)
runTests
function for running tests from a top level executable, this was later renamed to defaultMain
as is the de facto convention (#168, @erikd)
- Show output variables when parallel state machine testing fails to linearise (#235, @HuwCampbell)
- Note about
enumBounded
danger (#202, @thumphries)
- Expose
discoverPrefix
to find prefixed properties (#229, @ruhatch)
- Remove use of
unix
package and replace with lookupEnv
(#226, @puffnfresh)
Version 0.6.1 (2018-09-22)
Version 0.6 (2018-05-14)
Version 0.5.3 (2018-03-12)
Version 0.5.2 (2018-02-05)
Version 0.5.1 (2017-12-06)
Version 0.5 (2017-07-16)
- Parallel state machine testing, allows detection of commands which are not-atomic (#98, @jacobstanley)
- Easier to use variables for state machine testing (#94, @jacobstanley)
MonadGen
class allows the use of transformers like ReaderT
and StateT
on the outside of generators (#99, @jacobstanley)
- Better error messages for tests which throw exceptions (#95, @jacobstanley)
- Separated test input generation and assertions in to
PropertyT
and TestT
respectively, this allows TestT
to have a MonadBaseControl
instance (#96, @jacobstanley)
- This document grew links to the pull requests which introduced various changes (#93, @moodmosaic)
Version 0.4.1 (2017-06-28)
- Fixed runtime type error that could occur when shrinking state machine commands (#91, @jacobstanley)
Version 0.4 (2017-06-28)
Version 0.3 (2017-06-11)
Version 0.2.2 (2017-05-16)
Version 0.2.1 (2017-05-09)
Version 0.2 (2017-05-06)
- Added a quiet test runner which can be activated by setting
HEDGEHOG_VERBOSITY=0
(@jacobstanley)
- Concurrent test runner does not display tests until they are executing (@jacobstanley)
- Test runner now outputs a summary of how many successful / failed tests were run (@jacobstanley)
checkSequential
and checkParallel
now allow for tests to be run without Template Haskell (@jacobstanley)
- Auto-discovery of properties is now available via
discover
instead of being baked in (@jacobstanley)
annotate
allows source code to be annotated inline with extra information (@jacobstanley)
forAllWith
can be used to generate values without a Show
instance (@jacobstanley)
- Removed uses of
Typeable
to allow for generating types which cannot implement it (@jacobstanley)