Changelog for hedgehog-1.1
Version 1.1 (2022-01-27)
- Replace HTraversable with TraversableB (from barbies) ([#412][412], @ocharles)
- Support GHC 9.2 (#436, @patrickt)
Version 1.0.5 (2021-03-12)
Version 1.0.4 (2020-12-11)
- Bump ansi-terminal to 0.11 (#394, @mpilgrem)
- Clean up hedgehog.cabal for GHC 8.0+ (#391, @felixonmars)
- Bump random to 1.2 (#396, @felixonmars)
- Improve the distribution of
Range.scaleLinear
(#405, @jonfowler / @moodmosaic)
- Change
Gen.frequency
generator immediately shrink (#406, @ocharles / @HuwCampbell)
- Add
Property.evalMaybe
, Property.evalMaybeM
and Property.evalEitherM
(#381, @markus1189 / @moodmosaic)
- Bump QuickCheck to 2.14 (#409, @lehins)
- Bump bytestring to 0.11 (#408, @Bodigrim)
- Minor Haddock formatting improvments (#398, @sshine / @moodmosaic)
Version 1.0.3 (2020-06-26)
- Bump cabal-version to 1.10 (#390, @moodmosaic)
- Don't swallow errors if we can't find the source file (#387, @HuwCampbell)
- Add
Property.evalNF
(#384, @dcastro)
- Add
Gen.either
and Gen.either_
(#382, @dcastro)
- Add
filterT
, justT
, and mapMaybeT
to Gen
exports (#366, @kquick)
- Bump pretty-show to 1.10 which supports quasi-quotes (#365, @jacobstanley)
- Remove
undefined
in GenT
's MonadWriter
instance (#344, @HuwCampbell)
- Make
Tree.interleave
logarithmtic rather than linear (#313, @edsko)
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)