This patch teaches :func:`hypothesis.extra.django.from_field` to infer more efficient strategies by inspecting (not just filtering by) field validators for numeric and string fields (:issue:`1116`).
5.42.1
Not secure
-------------------
This patch refactors :class:`hypothesis.settings` to use type-annotated keyword arguments instead of ``**kwargs``, which makes tab-completion much more useful - as well as type-checkers like :pypi:`mypy`.
5.42.0
Not secure
-------------------
This patch teaches the :func:`~hypothesis.extra.ghostwriter.magic` ghostwriter to recognise "en/de" function roundtrips other than the common encode/decode pattern, such as encrypt/decrypt or, encipher/decipher.
5.41.5
Not secure
-------------------
This patch adds a performance optimisation to avoid saving redundant seeds when using :ref:`the .fuzz_one_input hook <fuzz_one_input>`.
5.41.4
Not secure
-------------------
This patch fixes :issue:`2657`, where passing unicode patterns compiled with :obj:`python:re.IGNORECASE` to :func:`~hypothesis.strategies.from_regex` could trigger an internal error when casefolding a character creates a longer string (e.g. ``"\u0130".lower() -> "i\u0370"``).
5.41.3
Not secure
-------------------
This patch adds a final fallback clause to :ref:`our plugin logic <entry-points>` to fail with a warning rather than error on Python < 3.8 when neither the :pypi:`importlib_metadata` (preferred) or :pypi:`setuptools` (fallback) packages are available.