Changelog for hedgehog-1.0.3
Version 1.0.3 (2020-06-26)
Version 1.0.2 (2020-01-10)
- Support GHC 8.10 (#376, @sjakobi)
- Speed up
Tree.splits
(#349, @treeowl)
- Speed up
Gen.shuffle
(#348, @treeowl)
- Add docs on the bounds of
Size
(#346, @chris-martin)
- Fix performance issues with color handling (#345, @stolyaroleh)
- Add
mapMaybe
, mapMaybeT
, in Tree
and Gen
(#339, @treeowl)
- Fix some formatting bugs in Haddock (#332, @sshine)
- Add
MonadGen
instances for StateT
(#321, #330, @HuwCampbell / @tomjaguarpaw / @symbiont-sam-halliday)
- Add
MonadBaseControl
instance for PropertyT
(#328, @treeowl)
Version 1.0.1 (2019-09-16)
- Add compatibility with GHC 8.8 (#319, @erikd)
- Include location of failed assertion in report. This enables editors to more easily parse the location of failed test assertions, and provide links/jump functionality (#308, @owickstrom)
- Stop using filter to define unicode (#303, @ajmcmiddlin)
- Export LabelName from main module (#299, @erikd)
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, @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@sjakobi)
MonadFail
instance for PropertyT
(#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)