Changelog for tasty-



Fix CPP warning/error macro expansion producing 'defined' has undefined behavior


Automatically disable the dependency on the clock package when compiled by ghcjs.


The only point of this release is to introduce compatibility with GHCs back to 7.0 (see

Note, however, that these changes are not merged to the master branch, and the future releases will only support the GHC/base versions from the last 5 years, as per our usual policy. To test with even older GHCs, you'll have to use this particular version of tasty (or have the constraint solver pick it for you when testing with older GHCs).

The source of this release is in the support-old-ghcs branch of the tasty repository.

Version 1.4

Version 1.3.1

Version 1.3

Version 1.2.3

Version 1.2.2

Version 1.2.1

Version 1.2

Make it possible to declare dependencies between tests (see the README for details)


Make tasty work with GHCJS


Fix compatibility with GHC 8.6


Fix a bug where some (mostly Asian) characters would break alignment in the terminal output


Fix a bug where -l was still using / instead of . as a field separator

Version 1.1

NOTE: This major release contains some breaking changes to the semantics of patterns. In the original pattern design I didn't notice the conflict between using / as a field separator and as the AWK syntax for pattern matching /.../.

The new patterns have been around for a relatively short time (5 months), so hopefully the breakage won't be too big. I'm sorry about any problems caused by the change.

See for the discussion.


Fix a bug where a test suite that uses resources would hang if interrupted

Version 1.0.1


Adjust lower bounds for the dependencies (mtl and optparse-applicative)

Version 1.0


Fix compatibility with GHC 8.4

Version 0.12

Backward compat breaking revision of Test.Tasty.Ingredients.ConsoleReporter that exposes the name of tests/groups.

Version 0.11.3

Expose and document several of the internals of Test.Tasty.Ingredients.ConsoleReporter.


Fix compatibility with GHC 7.4


  1. Make the --quiet mode more efficient on a large number of tests
  2. Fix a bug where a cursor would disappear if the test suite was terminated by a signal other than SIGINT.


Make filtering tests (-p) work faster


Fix a critical bug in the quiet mode (-q/--quiet): the exit status could be wrong or the test suite could hang.


Fix compatibility with the latest unbounded-delays

Version 0.11.2

Add composeReporters, a function to run multiple reporter ingredients

Version 0.11.1

Introduce mkOptionCLParser and mkFlagCLParser


Fix compatibility with optparse-applicative-0.13


Switch from regex-tdfa-rc to regex-tdfa, which got a new maintainer.


Clarify IsTest’s specification with regard to exceptions


Use monotonic clock when measuring durations.

Version 0.11

New field resultShortDescription of Result



Version 0.10.1

Export Test.Tasty.Runners.formatMessage


Don't output ANSI codes for the Emacs terminal emulator


Better handle the situation when there are no ingredients to run


Split the changelog into per-project changelogs


Update to optparse-applicative 0.11

Version 0.10


Upgrade to optparse-applicative-0.10.


Be careful not to export the Show (a -> b) instance, see


Hide cursor when running tests


Fix for GHC 7.9


Remove the old 'colors' flag description from the cabal file


Make ansi-terminal an unconditional dependency

Version 0.8

Version 0.7

Version 0.6


Depend on ansi-terminal >= 0.6.1. This fixes some issues with colors on Windows.

Version 0.5.2

Version 0.5.1

Export ResourceSpec from Test.Tasty.Runners

Version 0.5

Add a capability to acquire and release resources. See the «Resources» section in the Test.Tasty docs.

For the end users, the API is backwards-compatible.

Test runners may have to be adjusted — there is a new constructor of TestTree and a new argument of foldTestTree.

Version 0.4.2

Add defaultIngredients


Print the failure description in red


Fix a bug (#25)

Version 0.4

The big change in this release is introduction of ingredients, which is a replacement for runners. But unless you have a custom runner, this is unlikely to affect you much.

The Ingredient data type has replaced the Runner type.

The following functions have been renamed and possibly changed their types:

Added in this release:

NumThreads is no longer a core option, but is automatically included in the test reporting ingredients (see its haddock).

Version 0.3.1

Version 0.3

Version 0.2

Version 0.1.1

Set lower bound on optparse-applicative dependency version