NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4394 most downloaded on PyPI
Easy to use fixtures to write regression tests.
Last release 4 months ago
25 May 2026
Release timing varies
gaps range from 3 weeks to 1.3 years
Nearly every release is documented
notes for 30 of 30 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
30 releases · first in 2018
*2026-05-25* * #240 __: file_regression.check now short-circuits the pass path with an in-memory byte-exact comparison, skipping the .obtained write a
2026-05-25
#240: file_regression.check now short-circuits the pass path with an in-memory byte-exact comparison, skipping the .obtained write and difflib when contents already match the expected file. Suites with many file_regression checks see several-times-faster run times; behaviour on mismatch (and when a custom check_fn is supplied) is unchanged.
*2026-02-10* * #225 __: Add support for Pandas 3.0 to dataframe_regression.
2026-02-10
#225: Add support for Pandas 3.0 to dataframe_regression.
One column per quarter.
*2026-01-09* * #222 __: Fix type annotation for data_regression.check.
2026-01-09
#222: Fix type annotation for data_regression.check.
*2026-01-08* * #218 __: ImageRegression.check now supports receiving an PIL.Image object directly. * #220 __: Support for Python 3.14 has been added,
*2025-09-05* * #197 __: Fixed support for pandas.CategoricalDtype, regressed in 2.8.1.
2025-09-05
#197: Fixed support for pandas.CategoricalDtype, regressed in 2.8.1.
*2025-08-13* * #200 __: Reintroduced support for datetime columns in dataframe_regression.
2025-08-13
#200: Reintroduced support for datetime columns in dataframe_regression.
*2025-07-04* * #173 __: Removed check against numpy-2.0-deprecated a dtype alias.
2025-07-04
#173: Removed check against numpy-2.0-deprecated a dtype alias.
Breaking Change: If your test suite modifies datadir, you must now override lazy_datadir instead.
2025-08-30
#192: Replaced datadir with the lazy_datadir fixture for improved performance in test suites with large data directories.
Breaking Change: If your test suite modifies datadir, you must now override lazy_datadir instead.
Python 3.12 and 3.13 are now officially supported.
2025-01-10
Python 3.12 and 3.13 are now officially supported.
Python 3.8 (EOL) is no longer supported.
#184: Added fullpath parameter to image_regression.check.
*2024-12-17* * #132 __: Added documentation for specifying custom data directories. * #177 __: Added new round_digits to data_regression.check, which
Dropped support for EOL Python 3.6 and Python 3.7.
Dropped support for EOL Python 3.6 and Python 3.7.
Added support for Python 3.11.
* #137 __: (Bugfix) Make dataframe_regression compatible with classes inheriting from pandas.DataFrame.
#137: (Bugfix) Make dataframe_regression compatible with classes inheriting from pandas.DataFrame.
* #119 __: (Bugfix) Properly handle missing index 0.
#119: (Bugfix) Properly handle missing index 0.
Compatibility fix for pytest 6.2.
Compatibility fix for pytest 6.2.
New --regen-all flag, which regenerates all files without failing the tests. Useful to regenerate all files in the test suite with a single run.
New --regen-all flag, which regenerates all files without failing the tests. Useful to regenerate all files in the test suite with a single run.
The public API is now fully type annotated.
pytest>=6.2 is now required.
* #84 __: (Bugfix) Properly handle empty and NaN values on num_regression and dataframe_regression.
#84: (Bugfix) Properly handle empty and NaN values on num_regression and dataframe_regression.
* #54 __: New --with-test-class-names command-line flag to consider test class names when composing the expected and obtained data filenames. Needed w
#54: New --with-test-class-names command-line flag to consider test class names when composing the expected and obtained data filenames. Needed when the same module contains different classes with the same method names.
#72: New ndarrays_regression, for comparing NumPy arrays with arbitrary shape.
#74: Fix empty string bug on dataframe regression.
* #45 __: num_regression.check now accepts any object that can be coerced to a 1d numpy array with numeric dtype (e.g. list, tuple, etc).
#45: num_regression.check now accepts any object that can be coerced to a 1d numpy array with numeric dtype (e.g. list, tuple, etc).
Note: 2.1.0 was not deployed due to a CI error.
#35: New dataframe_regression fixture to check pandas DataFrames directly.
Note: 2.1.0 was not deployed due to a CI error.
* #34 __: Fix data_regression bug that creates empty file on serializing error.
#34: Fix data_regression bug that creates empty file on serializing error.
* #28 __: Fix num_regression bug when comparing numpy shapes.
#28: Fix num_regression bug when comparing numpy shapes.
Drop support for Python 2.7 and 3.5.
Drop support for Python 2.7 and 3.5.
* #18 __: When using fill_different_shape_with_nan=True, a proper TypeError will be raised for non-float arrays instead of filling integer arrays with
* #15 __: Remove some extra line separators from the diff output, which makes the representation more compact.
#15: Remove some extra line separators from the diff output, which makes the representation more compact.
Fixed DeprecationWarning: invalid escape sequence \W.
Fixed DeprecationWarning: invalid escape sequence \W.
Set pandas display.max_columns option in num_regression to prevent pandas from truncating the output (#3 _).
Set pandas display.max_columns option in num_regression to prevent pandas from truncating the output (#3).
Hide traceback of internal functions when displaying failures.
Hide traceback of internal functions when displaying failures.
Fixed some development dependencies being declared as runtime dependencies.
Fixed some development dependencies being declared as runtime dependencies.
Introduce image_regression fixture.
Introduce image_regression fixture.
* Initial release.
Initial release.
Your coding agent can read these notes before it upgrades. Set up the MCP server →