Releases: HypothesisWorks/hypothesis
Release list
Hypothesis version 6.156.3
Fix not uploading source distributions to PyPI, as of v6.156.0.
Hypothesis version 6.156.2
This patch fixes a KeyError in |GitHubArtifactDatabase| when reading an
artifact whose zip file contains no explicit directory entries, which is the
case for zips produced by actions/upload-artifact.
Hypothesis version 6.156.1
This patch fixes our build pipeline from v6.156.0, so that wheels are actually published.
Hypothesis version 6.156.0
This release is the start of our migration of Hypothesis internals from Python to Rust (#4740).
As a start, this release migrates a simple internal helper to Rust. As of this release, Hypothesis now requires a rust toolchain to build from source (if not installing from a native wheel).
Hypothesis now publishes a wide variety of native wheels on PyPI.
Python versions: 3.10, 3.11, 3.12, 3.13, 3.14, 3.14t, and (except on musllinux) PyPy 3.11
Platforms: Linux x86_64/aarch64 manylinux/musllinux, macOS x86_64/arm64, Windows x64.
We additionally publish wheels for Pyodide (wasm32-unknown-emscripten) for Python 3.13 (details).
If you'd like Hypothesis to ship native wheels for a platform not mentioned here, please open an issue.
Hypothesis version 6.155.7
This patch fixes a thread-safety bug where concurrent use of the same
strategy instance could error in rare cases. (issue #4475).
The canonical version of these notes (with links) is on readthedocs.
Hypothesis version 6.155.6
This patch replaces some internal "%"-style string formatting with
f-strings. There is no user-visible change.
The canonical version of these notes (with links) is on readthedocs.
Hypothesis version 6.155.5
"dates()" now raises "InvalidArgument" if a "datetime" is passed as
"min_value" or "max_value". Because "datetime" is a subclass of
"date", such bounds were previously accepted and then failed with a
confusing "TypeError" while generating examples.
The canonical version of these notes (with links) is on readthedocs.
Hypothesis version 6.155.4
This patch removes a stray "print()" which fired whenever a "dates()"
filter was rewritten.
The canonical version of these notes (with links) is on readthedocs.
Hypothesis version 6.155.3
When using an alternative backend (such as hypothesis-crosshair),
Hypothesis no longer emits a "test_case" observation for an iteration
that the backend aborts via "BackendCannotProceed" before the test
body runs. Previously such an iteration -- for example when the
crosshair backend has exhausted its search paths -- could surface as a
spurious, draw-less "passed" observation with an empty representation,
even though the engine already discards the iteration entirely.
The canonical version of these notes (with links) is on readthedocs.
Hypothesis version 6.155.2
This patch rewrites the internal date- and time-drawing helper to use
plain arithmetic instead of branching on the values it draws. The
generated distribution is unchanged, but "dates()", "datetimes()", and
"times()" are now much more efficient under symbolic-execution
backends such as crosshair-tool, which can now solve for a specific
date directly rather than enumerating candidates (issue #4759).
The canonical version of these notes (with links) is on readthedocs.