🚀 This release improves our support for datetimes and times around DST
"times()" and "datetimes()" are now sometimes generated with "fold=1",
indicating that they represent the second occurrence of a given wall-
time when clocks are set backwards. This may be set even when there is
no transition, in which case the "fold" value should be ignored.
📦 For consistency, timezones provided by the pytz package can now
generate imaginary times (such as the hour skipped over when clocks
'spring forward' to daylight saving time, or during some historical
👍 timezone transitions). All other timezones have always supported
generation of imaginary times.
If you prefer the previous behaviour, "datetimes()" now takes an
0️⃣ argument "allow_imaginary" which defaults to "True" but can be set to
"False" for any timezones strategy.
🛠 This patch fixes the rendering of "binary()" docstring by using the
proper backticks syntax.
✅ Failing tests which use "target()" now report the highest score
observed for each target alongside the failing example(s), even
✅ without explicitly showing test statistics.
✅ This improves the debugging workflow for tests of accuracy, which
assert that the total imprecision is within some error budget - for
example, "abs(a - b) < 0.5". Previously, shrinking to a minimal
👀 failing example could often make errors seem smaller or more subtle
👀 than they really are (see the threshold problem, and issue #2180).
📄 This patch improves the docstring of "binary()", the "repr()" of
⚠ "sampled_from()" on an "enum.Enum" subclass, and a warning in our
✅ pytest plugin. There is no change in runtime behaviour.
🚀 This release (potentially very significantly) improves the performance
✅ of failing tests in some rare cases, mostly only relevant when using
✅ targeted property-based testing, by stopping further optimisation of
✅ unrelated test cases once a failing example is found.
🚀 This release fixes issue #2395, where under some circumstances
✅ targeted property-based testing could cause Hypothesis to get caught
in an infinite loop.
🏗 This patch teaches "builds()" and "from_type()" to use the
" signature" attribute of classes where it has been set, improving
👍 our support for Pydantic models (in pydantic >= 1.5).
🚀 This release improves the performance of the part of the core engine
that deliberately generates duplicate values.
This patch improves "dates()" shrinking, to simplify year, month, and
day like "datetimes()" rather than minimizing the number of days since