Changelog of @hackage/QuickCheck 2.9

QuickCheck 2.9 (released 2016-07-10) * Arbitrary, CoArbitrary and Function instances for more types * Generics for automatic Function instances * A new combinator "again" which undoes the effect of "once" * Remove "exhaustive" from Testable typeclass; instead, combinators which are nonexhaustive (such as forAll) call "again", which should be more robust

* Drop support for GHC 6.x

* Fixed bugs:
	* arbitrarySizedBoundedIntegral wasn't generating huge integers
	* verboseCheck failed with Test.QuickCheck.Function
	* label had a space leak

QuickCheck 2.8.2 (released 2016-01-15) * GHC 8 support * Add Arbitrary and CoArbitrary instances for types in containers package * Improve speed of shuffle combinator * Only print to stderr if it's a terminal. * Small changes: slightly improve documentation, remove redundant constraints from some functions' types, small improvements to Test.QuickCheck.All.

QuickCheck 2.8.1 (released 2015-04-03) * Fix bug where exceptions thrown printing counterexamples weren't being caught when terminal output was disabled * Don't export Test.QuickCheck.Property.result

QuickCheck 2.8 (released 2015-03-18) * New features: * Support for GHC 7.10 * Arbitrary instance for Natural * New generators shuffle and sublistOf * Support for generic coarbitrary * When using the cover combinator, insufficient coverage now causes the property to fail

* API changes:
	* Test.QuickCheck.Function: new pattern synonym Fn
	* genericShrink no longer requires Typeable
	* Result has a new constructor InsufficientCoverage
	* resize throws an error if the size is negative

* Bug fixes:
	* Fix memory leaks
	* Exceptions thrown by callbacks now cause the test to fail
	* Fixed a bug where the cover combinator wouldn't give a
	  warning if coverage was 0%

QuickCheck 2.7.3 (released 2014-03-24) * Add annotations for Safe Haskell.

QuickCheck 2.7.2 (released 2014-03-22) * Fix bug in cabal file which broke cabal test

QuickCheck 2.7.1 (released 2014-03-20) * Fixed bug - the Small modifier didn't work on unsigned types * Changed arbitrarySizedIntegral to have an Integral constraint instead of just Num

QuickCheck 2.7 (released 2014-03-19)

* New features:
	* New genericShrink function provides generic shrinking with GHC.
	* New combinator x === y: fails if x /= y, but also prints their values
	* New function generate :: Gen a -> IO a for running a generator.
	* New combinators infiniteList and infiniteListOf for generating infinite lists.
	* Several combinators added to the main Test.QuickCheck module which
	  were previously languishing in other modules. Of particular interest:
	  quickCheckAll, ioProperty.
	* New combinators delay and capture which can be used (unsafely!)
	  to reuse the random number seed. Useful for generating
	  polymorphic (rank-2) values.
	* A new Discard data type and a Testable instance for discarding test cases.
	* All modifiers now have Functor instances and accessor functions.
	* Pressing ctrl-C during shrinking now shows the last failed
	  test case, rather than the current shrinking candidate.
	* Experimental support for UHC. You will need the latest version of Cabal from git.

* Better distribution of test data:
	* The Int generator now only generates fairly small numbers.
	* The new Small and Large modifiers control the distribution of integers
	  (Small generates small numbers, Large from the whole range).
	* Floating-point numbers shrink better.

* Improved random number generation:
	* QuickCheck now uses TFGen rather than StdGen on newer versions
	  of GHC, because StdGen's random numbers aren't always random.
	* 'variant' now uses a prefix code. This should prevent some
	  potential bananaskins with coarbitrary.

* API changes:
	* The Gen monad now uses an abstract type QCGen rather than StdGen.
	* The Result type now returns the thrown exception and number
	  of failed shrink attempts.
	* Property is now a newtype rather than Gen Prop as it was before.
	* promote is moved into the new module Test.QuickCheck.Gen.Unsafe.
	* 'printTestCase' is deprecated - its new name is 'counterexample'
	* 'morallyDubiousIOProperty' is deprecated - its new name is
	  'ioProperty', no moral judgement involved :)

QuickCheck 2.6, released 2013-03-07

* Add convenience Function instances for up to 7-tuples
* Make stderr line buffered to reduce console I/O.
* Return a flag to say whether the test case was interrupted.

QuickCheck 2.5, released 2012-06-18

* Replace maxDiscard with maxDiscardRatio
* Remove Testable () instance.
* Added a 'discard' exception that discards the current test case
* Add accessors for modifiers (where it makes sense)
* Rename 'stop' to 'abort' to avoid a name clash
* Added a 'once' combinator
* If a property is of type Bool, only run it once
* Add coarbitraryEnum to Test.QuickCheck module.
* Add 'coarbitrary' helper for Enums.
* Rejiggled the formatting code to support multi-line error messages
* Add instances for Ordering and Fixed.
* Added arbitraryBoundedEnum generator (thanks to Antoine Latter).
* Add verboseCheckAll and polyverboseCheck function for usability.