Changelog
HypoFuzz uses calendar-based versioning, with a
YY-MM-patch
format.
24.11.1
The dashboard can now be run independently of fuzzing worker processes, with metadata for display stored in Hypothesis’ database instead of ephemeral state. This makes horizontal scalability very very easy, if you use e.g. the Redis database backend.
Requires Hypothesis 6.121 or newer, so that those database writes happen in a background thread rather than blocking.
24.09.1
Fixed compatibility with Pytest 8.1 (#35). Requires Hypothesis 6.103 or newer, for compatibility with the new and improved shrinker.
24.02.3
Fixed compatibility with Pytest 8.0 (#32).
24.02.2
Fixed a dashboard bug (#31).
24.02.1
Now requires Hypothesis 6.93.2 or later, fixing compatibility with some unstable internals that HypoFuzz hooks into (yes, again). Also deduplicates the displayed covering examples in the dashboard, when their reprs are identical.
23.12.1
Now requires Hypothesis 6.91 or later, fixing compatibility with some unstable internals that HypoFuzz hooks into.
23.07.1
Various small patches for issues found by fuzzing Hypothesis itself. Notably, we now try to fuzz functions which require autouse fixtures even though we don’t provide those fixtures - it often works!
23.06.1
Hypofuzz now writes .patch
files with failing examples, and optionally
with covering examples - including removal of redundant covering examples.
23.05.3
Yet another compatibility fix for explain mode, with even more tests for future regressions. Third time lucky, we hope!
23.05.2
Additional compatibility fix, and improved tests to avoid future regressions.
23.05.1
Now requires Hypothesis 6.75.2 or later, fixing compatibility with some unstable internals that HypoFuzz hooks into.
23.04.1
Fixed a bug affecting traceback reporting on Python 3.10+ (#16).
22.12.1
Fixed a NotImplementedError
when HypoFuzz had found a failing input for every
test running in some process. Now, we cleanly sys.exit(1)
instead.
22.10.1
First open-source release! Also improves database handling and adds a timelimit to shrinking to better handle pathological cases.
22.07.1
Fixes compatibility with Hypothesis 6.49.1 and later (released July 5th).
21.12.2
Web-based time-travel debugging with PyTrace - just
pip install hypofuzz[pytrace]
and click the link on any failing test!
21.12.1
Improved dashboard (again!), better generation/mutation heuristics, basic residual-risk estimation, free-for-noncommercial-use on PyPI.
21.05.1
Improved dashboard, fixed memory leaks, support arbitary hypothesis.event()
calls as coverage, performance improvements.
20.09.1
Multiprocess fuzzing with seed sharing and corpus distillation, and basic prioritisation of seeds covering rare branches.
Still very much in alpha, but the fundamentals all work now.
20.08.1
First packaged version of HypoFuzz