1.2.5.0 * Add an `-fembed-data-files` flag. Enabling this option will embed the `data-files` from `criterion.cabal` directly into the binary, producing a relocatable executable. (This has the downside of increasing the binary size significantly, so be warned.) 1.2.4.0 * Fix issue where `--help` would display duplicate options. 1.2.3.0 * Add a `Semigroup` instance for `Outliers`. * Improve the error messages that are thrown when forcing nonexistent benchmark environments. * Explicitly mark `forceGC` as deprecated. `forceGC` has not had any effect for several releases, and it will be removed in the next major `criterion` release. 1.2.2.0 * Important bugfix: versions 1.2.0.0 and 1.2.1.0 were incorrectly displaying the lower and upper bounds for measured values on HTML reports. * Have `criterion` emit warnings if suspicious things happen during mustache template substitution when creating HTML reports. This can be useful when using custom templates with the `--template` flag. 1.2.1.0 * Add `GCStatistics`, `getGCStatistics`, and `applyGCStatistics` to `Criterion.Measurement`. These are inteded to replace `GCStats` (which has been deprecated in `base` and will be removed in GHC 8.4), as well as `getGCStats` and `applyGCStats`, which have also been deprecated and will be removed in the next major `criterion` release. * Add new matchers for the `--match` flag: * `--match pattern`, which matches by searching for a given substring in benchmark paths. * `--match ipattern`, which is like `--match pattern` but case-insensitive. * Export `Criterion.Main.Options.config`. * Export `Criterion.toBenchmarkable`, which behaves like the `Benchmarkable` constructor did prior to `criterion-1.2.0.0`. 1.2.0.0 * Use `statistics-0.14`. * Replace the `hastache` dependency with `microstache`. * Add support for per-run allocation/cleanup of the environment with `perRunEnv` and `perRunEnvWithCleanup`, * Add support for per-batch allocation/cleanup with `perBatchEnv` and `perBatchEnvWithCleanup`. * Add `envWithCleanup`, a variant of `env` with cleanup support. * Add the `criterion-report` executable, which creates reports from previously created JSON files. 1.1.4.0 * Unicode output is now correctly printed on Windows. * Add Safe Haskell annotations. * Add `--json` option for writing reports in JSON rather than binary format. Also: various bugfixes related to this. * Use the `js-jquery` and `js-flot` libraries to substitute in JavaScript code into the default HTML report template. * Use the `code-page` library to ensure that `criterion` prints out Unicode characters (like ², which `criterion` uses in reports) in a UTF-8-compatible code page on Windows. * Give an explicit implementation for `get` in the `Binary Regression` instance. This should fix sporadic `criterion` failures with older versions of `binary`. * Use `tasty` instead of `test-framework` in the test suites. * Restore support for 32-bit Intel CPUs. * Restore build compatibilty with GHC 7.4. 1.1.1.0 * If a benchmark uses `Criterion.env` in a non-lazy way, and you try to use `--list` to list benchmark names, you'll now get an understandable error message instead of something cryptic. * We now flush stdout and stderr after printing messages, so that output is printed promptly even when piped (e.g. into a pager). * A new function `runMode` allows custom benchmarking applications to run benchmarks with control over the `Mode` used. * Added support for Linux on non-Intel CPUs. * This version supports GHC 8. * The `--only-run` option for benchmarks is renamed to `--iters`. 1.1.0.0 * The dependency on the either package has been dropped in favour of a dependency on transformers-compat. This greatly reduces the number of packages criterion depends on. This shouldn't affect the user-visible API. * The documentation claimed that environments were created only when needed, but this wasn't implemented. (gh-76) * The package now compiles with GHC 7.10. * On Windows with a non-Unicode code page, printing results used to cause a crash. (gh-55) 1.0.2.0 * Bump lower bound on optparse-applicative to 0.11 to handle yet more annoying API churn. 1.0.1.0 * Added a lower bound of 0.10 on the optparse-applicative dependency, as there were major API changes between 0.9 and 0.10.