Skip to content

Releases: HypothesisWorks/hypothesis

Hypothesis version 6.156.3

Choose a tag to compare

@Liam-DeVoe Liam-DeVoe released this 08 Jul 18:00

Fix not uploading source distributions to PyPI, as of v6.156.0.

Hypothesis version 6.156.2

Choose a tag to compare

@Liam-DeVoe Liam-DeVoe released this 08 Jul 18:00

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

Choose a tag to compare

@Liam-DeVoe Liam-DeVoe released this 06 Jul 08:13

This patch fixes our build pipeline from v6.156.0, so that wheels are actually published.

Hypothesis version 6.156.0

Choose a tag to compare

@Liam-DeVoe Liam-DeVoe released this 02 Jul 15:09

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

Choose a tag to compare

@Zac-HD Zac-HD released this 21 Jun 05:54

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

Choose a tag to compare

@Zac-HD Zac-HD released this 19 Jun 13:21

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

Choose a tag to compare

@Zac-HD Zac-HD released this 18 Jun 19:23

"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

Choose a tag to compare

@Zac-HD Zac-HD released this 18 Jun 18:25

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

Choose a tag to compare

@Zac-HD Zac-HD released this 16 Jun 00:33

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

Choose a tag to compare

@Zac-HD Zac-HD released this 05 Jun 16:32

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.