# PropCheck Changelog
## Current Development
## 1.4.2
* Eliminate warnings on dependencies. Thanks to <https://github.com/iToXiQ>
* Correct output for parallel runs, thanks to <https://github.com/thalesmg>
* Documentation improvements by <https://github.com/hudsonbay>, <https://github.com/aadkron>, <https://github.com/aaronrenner>
## 1.4.0
* Support for PropEr 1.4.0
## 1.3.1
* Configuration of counter example files for umbrella project. Thanks to [https://github.com/evnu](https://github.com/evnu)
* Readme and mix optimisation. Thanks to [@kianmeng](https://github.com/kianmeng)
## 1.3.0
* Upgrade to Elixir 1.7 as lowest Elixir version, since `get_stacktrace()` is deprecated in Elixir 1.11. Thanks to [@flowerett](https://github.com/flowerett)
* `:iex` is now an extra-application. Thanks to [@ahamez](https://github.com/ahamez)
* Support for parallel testing of state machines started. Requires also PRs in the upstream
PropEr. An upgrade to (the future) PropEr 1.4 will result in better reports.
## 1.2.2
* Fixes to statemachine reported by [@aherranz](https://github.com/aherranz) and [@devonestes](https://github.com/devonestes)
* Fixes to the Readme linking by [@oo6](https://github.com/oo6)
## 1.2.1
* Support for Elixir 1.10 in tests
* Refactorings of the statemachine implementation to be closer to PropEr. Thanks to [https://github.com/x4lldux](https://github.com/x4lldux).
* `property/1` for marking properties to be implemented in the future.
Thanks to [https://github.com/evnu](https://github.com/evnu)
* Prevent crashing if no counter examples was returned in a failing property.
Thanks to [https://github.com/evnu](https://github.com/evnu)
* Consistent reporting of Erlang terms in Elixir syntax. Thanks to [https://github.com/x4lldux](https://github.com/x4lldux).
* Enhanced handling and reporting of exception. Thanks to [https://github.com/evnu](https://github.com/evnu)
* Include `credo` in the build. Thanks to [https://github.com/evnu](https://github.com/evnu)
* Fix `PROPCHECK_VERBOSE` to work with `property`
* Allow `PROPCHECK_VERBOSE=0` to make all properties quiet
* GitHub Actions are the new CI environemnt. Thanks to [https://github.com/evnu](https://github.com/evnu)
* Pinning of variables in `let` allows easier re-use of variables. Thanks to [https://github.com/Ecialo](https://github.com/Ecialo)
## 1.2.0
* Handling of tags corrected. This changes slighty existing the behavior and gives
reason to introduce a new minor version.
Thanks to [https://github.com/evnu](https://github.com/evnu)
* Verbose settings can be configured at the command line via environment variable
`PROPCHECK_VERBOSE`. Thanks to [https://github.com/evnu](https://github.com/evnu)
* Setting default options to `forall` on module or describe level.
Thanks to [https://github.com/x4lldux](https://github.com/x4lldux).
* Support for Elixir 1.9 in tests. Thanks to [https://github.com/evnu](https://github.com/evnu)
* Moving back from CircleCI to TravisCI. Thanks to [https://github.com/evnu](https://github.com/evnu)
## 1.1.5
* `:verbose` option is propagated from the property directly to `forall`.
Thanks to [https://github.com/evnu](https://github.com/evnu)
* Storing of counter-examples can excluded by tag `:store_counter_example`
Thanks to [https://github.com/evnu](https://github.com/evnu)
* Improved documentation for longer statemachine runs. Thanks
to [https://github.com/adkron](https://github.com/adkron)
* Improved error message for missing command in `StateM.DSL`.
Thanks to [https://github.com/devonestes](https://github.com/devonestes)
* Introduction of linter `credo` and CircleCi as new CI tool.
Thanks to [https://github.com/evnu](https://github.com/evnu)
* `let` syntax is the same now as `forall`.
Thanks to [https://github.com/evnu](https://github.com/evnu)
## 1.1.4
* Fixes an issue with the setup of regular and targeted properties rendering 1.1.3 unusable
* Enhanced documentation for targeted properties
## 1.1.3
* Better command generator with improved shrinking for complex argument generations.
* Support for map-generator, thanks to [https://github.com/IRog](https://github.com/IRog)
* Support for targeted properties, a new feature of Proper 1.3
* Requires at least Elixir 1.5
## 1.1.2
* Proper v1.3.0 is supported (effectively, all 1.x versions are allowed
as dependency)
## 1.1.1
* the weight callback for the DSL was incorrectly specified and documented. Thanks
to [https://github.com/adkron](https://github.com/adkron)
## 1.1.0
* New command oriented DSL for testing stateful systems, inspired by EQC and
discussions about stateful testing in StreamData
* More details regarding licensing
* Rerun of properties fixed
* Better and corrected type specs, compatible with dialyxir 1.0.0(-rc*)
* Old modules for automatic type generators removed. They were never completed and
since 2016 no longer part of the API (i.e. even before release 0.0.1).
## 1.0.6
* After a counter example is resolved, the entire property is run again to
ensure that no other counter examples exist. Thanks to [https://github.com/evnu](https://github.com/evnu)
* tabs vs whitespace corrected for test cases, thanks to [https://github.com/ryanwinchester](https://github.com/ryanwinchester)
* added a hint about stored counterexamples for users, thanks to [https://github.com/evnu](https://github.com/evnu)
* Corrected formatting of markdown for documentation, thanks to <https://github.com/zamith>
## 1.0.5
* Allows to use `ExUnit` assertions as boolean conditions, thanks to [https://github.com/evnu](https://github.com/evnu)
* `let` and `let_shrink` allow more than two parameters, thanks to [https://github.com/BinaryNoggin](https://github.com/BinaryNoggin)
* Errors, that aren't counter examples, are no longer stored as counter examples, thanks to [https://github.com/evnu](https://github.com/evnu)
* new feature `sample_shrink`, thanks to [https://github.com/evnu](https://github.com/evnu)
* the examples for stateful testing use `GenServer.stop/0` for a reliable
stopping of gen servers.
* several documentation issues
## 1.0.4
* `produce` has now a valid default parameter
* Removed several lazy compiler warnings
* Link in README corrected.
## 1.0.3
* Removed debug log output.
## 1.0.2
* only labeled, never released...
## 1.0.1
* Bugfix for Mix integration in Umbrella projects, thanks to [https://github.com/evnu](https://github.com/evnu)
## 1.0.0
* Counter examples are automatically stored and reapplied until the properties work
or the counter examples are deleted. See [https://github.com/alfert/propcheck/pull/18](https://github.com/alfert/propcheck/pull/18)
* Mix configuration for counter examples file and for inspecting and cleaning
counter examples.
## 0.0.2
* Fixed a lot of 1.5 (and 1.4) Elixir warnings thanks to [https://github.com/evnu](https://github.com/evnu)
* Readme additions regarding installation thanks to [https://github.com/evnu](https://github.com/evnu)
* Added more concurrency robustness for the ping pong tests
* Fixed a bug a in the movie server, which did not startup properly.
## 0.0.1
* Initial release