This release adds the :func:`initialize <hypothesis.stateful.initialize>` decorator for stateful testing (originally discussed in :issue:`1216`). All :func:`initialize <hypothesis.stateful.initialize>` rules will be called once each in an arbitrary order before any normal rule is called.
3.59.3
Not secure
-------------------
This is a no-op release to take into account some changes to the release process. It should have no user visible effect.
3.59.2
Not secure
-------------------
This adds support for partially sorting examples which cannot be fully sorted. For example, [5, 4, 3, 2, 1, 0] with a constraint that the first element needs to be larger than the last becomes [1, 2, 3, 4, 5, 0].
Thanks to Luke for contributing.
3.59.1
Not secure
-------------------
This patch uses :func:`python:random.getstate` and :func:`python:random.setstate` to restore the PRNG state after :func:`given <hypothesis.given>` runs deterministic tests. Without restoring state, you might have noticed problems such as :issue:`1266`. The fix also applies to stateful testing (:issue:`702`).
3.59.0
Not secure
-------------------
This release adds the :func:`~hypothesis.strategies.emails` strategy, which generates unicode strings representing an email address.
Thanks to Sushobhit for moving this to the public API (:issue:`162`).
3.58.1
Not secure
-------------------
This improves the shrinker. It can now reorder examples: 3 1 2 becomes 1 2 3.