This patch improves the performance of unique collections such as :func:`~hypothesis.strategies.sets` when the elements are drawn from a :func:`~hypothesis.strategies.sampled_from` strategy (:issue:`1115`).
4.18.0
Not secure
-------------------
This release adds the :func:`~hypothesis.strategies.functions` strategy, which can be used to imitate your 'real' function for callbacks.
4.17.2
Not secure
-------------------
This release refactors stateful rule selection to share the new machinery with :func:`~hypothesis.strategies.sampled_from` instead of using the original independent implementation.
4.17.1
Not secure
-------------------
This patch allows Hypothesis to try a few more examples after finding the first bug, in hopes of reporting multiple distinct bugs. The heuristics described in :issue:`847` ensure that we avoid wasting time on fruitless searches, while still surfacing each bug as soon as possible.
4.17.0
Not secure
-------------------
This release adds the strategy :func:`~hypothesis.extra.numpy.broadcastable_shapes`, which generates array shapes that are `broadcast-compatible <https://www.pythonlikeyoumeanit.com/Module3_IntroducingNumpy/Broadcasting.html#Rules-of-Broadcasting>`_ with a provided shape.
4.16.0
Not secure
-------------------
This release allows :func:`~hypothesis.strategies.register_type_strategy` to be used with :obj:`python:typing.NewType` instances. This may be useful to e.g. provide only positive integers for :func:`from_type(UserId) <hypothesis.strategies.from_type>` with a ``UserId = NewType('UserId', int)`` type.
Thanks to PJCampi for suggesting and writing the patch!