packages feed

quickcheck-state-machine-0.7.2: CHANGELOG.md

#### 0.7.2 (2023-4-20)

  * Fix compatibility with GHC 9.0 and 9.2 (PR #7, thanks @edsko);

  * Various documentation improvements (PR #9, #10 and #13, thanks @Jasagredo);

  * Introduce new `runXCommandsXWithSetup` which allow for monadic
    initialization of the state machine for each test case execution (PR #12,
    thanks @Jasagredo).

#### 0.7.1 (2021-8-17)

  * Update links and references from the old archived repo at the
    `advancedtelematic` Github organisation to the active fork of the repo at
    the Github user `stevana`.

#### 0.7.0 (2020-3-17)

  * Add Stack resolver lts-15 and drop lts-11;

  * High-level interface to the state machine API (PR #355) -- this
    captures the patterns described in
    http://www.well-typed.com/blog/2019/01/qsm-in-depth/ as a proper
    Haskell abstraction;

  * Experimental support for Markov chain-base command generation and
    reliability calculations;

  * forAllParallelCommands now gets another argument with type Maybe
    Int, indicating the minimum number of commands we want a test case
    to have. `Nothing` provides old functionality;

  * Fixed a bug in the parallel case for the mock function (PR #348) and
    other bugs related to references in the parallel case;

  * Add a new field in the StateMachine called cleanup. This function
    can be used to ensure resources are cleaned between tests.
    `noCleanup` can be used to achieve the older functionality;

  * Improved labelling;

  * Generalize parallelism, so that more than two threads can be used
    (PR #324);

  * Option to print dot visualisation of failed examples;

  * Handle exceptions better and provide better output.

#### 0.6.0 (2019-1-15)

  This is a breaking release. See mentioned PRs for how to upgrade your code,
  and feel free to open an issue if anything isn't clear.

  * Generalise shrinking so that it might depend on the model (PR #263);

  * Drop support for GHC 8.0.* or older, by requiring base >= 4.10 (PR #267). If
    you need support for older GHC versions, open a ticket;

  * Use Stack resolver lts-13 as default (PR #261);

  * Generalise the `GConName` type class to make it possible to use it for
    commands that cannot have `Generic1` instances. Also rename the type class
    to `CommandNames` (PR #259).

#### 0.5.0 (2019-1-4)

  The first and third item in the below list might break things, have a look at
  the diffs of the PRs on how to fix your code (feel free to open an issue if it
  isn't clear).

  * Allow the user to explicitly stop the generation of commands (PR #256);
  * Fix shrinking bug (PR #255);
  * Replace MonadBaseControl IO with MonadUnliftIO (PR #252);
  * Check if the pre-condition holds before executing an action (PR #251).

#### 0.4.3 (2018-12-7)

  * Support QuickCheck-2.12.*;
  * Use new compact diffing of records from tree-diff library when displaying
    counterexamples;
  * Explain mock better in the README;
  * Handle exceptions more gracefully;
  * Show, possibly multiple, counterexample when parallel property fails.

#### 0.4.2 (2018-9-3)

  * Fix bug that made tests fail on systems without docker;
  * Remove some unused dependencies found by the weeder tool.

#### 0.4.1 (2018-8-31)

  * Minor fixes release:

    - Fix broken link and code in README;
    - Disable web server tests when docker isn't available (issue #222).

#### 0.4.0 (2018-8-21)

  * Major rewrite, addressing many issues:

    - The output of sequential runs now shows a diff of how the model changed in
      each step (related to issue #77);

    - The datatype of actions was renamed to commands and no longer is a GADT
      (discussed in issue #170, also makes issue #196 obsolete);

    - Commands can now return multiple references (issue #197);

    - Global invariants can now more easily be expressed (issue #200);

    - Counterexamples are now printed when post-conditions fail (issue #172).

#### 0.3.1 (2018-1-15)

  * Remove upper bounds for dependencies, to easier keep up with
    Stackage nightly.

#### 0.3.0 (2017-12-15)

  * A propositional logic module was added to help provide better
    counterexamples when pre- and post-conditions don't hold;

  * Generation of parallel programs was improved (base on
    a [comment](https://github.com/Quviq/QuickCheckExamples/issues/2) by
    Hans Svensson about how Erlang QuickCheck does it);

  * Support for semantics that might fail was added;

  * Pretty printing of counterexamples was improved.

#### 0.2.0

  * Z-inspired definition of relations and associated operations were
    added to help defining concise and showable models;

  * Template Haskell derivation of `shrink` and type classes: `Show`,
    `Constructors`, `HFunctor`, `HFoldable`, `HTraversable`;

  * New and more flexible combinators for building sequential and
    parallel properties replaced the old clunky ones;

  * Circular buffer example was added;

  * Two examples of how to test CRUD web applications were added.

#### 0.1.0

  * The API was simplified, thanks to ideas stolen from
    [Hedgehog](https://github.com/hedgehogqa/haskell-hedgehog/commit/385c92f9dd0aa7e748fc677b2eeead5e3572685f).

#### 0.0.0

  * Initial release.