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.
Thanks to Luke for contributing.
3.58.0
Not secure
-------------------
This adds a new extra :py:func:`~hypothesis.extra.dateutil.timezones` strategy that generates :pypi:`dateutil timezones <python-dateutil>`.
Thanks to Conrad for contributing.
3.57.0
Not secure
-------------------
Using an unordered collection with the :func:`~hypothesis.strategies.permutations` strategy has been deprecated because the order in which e.g. a set shrinks is arbitrary. This may cause different results between runs.