2026-05-25
- #240:
file_regression.checknow short-circuits the pass path with an in-memory byte-exact comparison, skipping the.obtainedwrite anddifflibwhen contents already match the expected file. Suites with manyfile_regressionchecks see several-times-faster run times; behaviour on mismatch (and when a customcheck_fnis supplied) is unchanged.
2026-02-10
- #225: Add support for Pandas 3.0 to dataframe_regression.
2026-01-09
- #222: Fix type annotation for
data_regression.check.
2026-01-08
- #218:
ImageRegression.checknow supports receiving anPIL.Imageobject directly. - #220: Support for Python 3.14 has been added, while Python 3.9 (EOL) has been dropped.
2025-09-05
- #197: Fixed support for
pandas.CategoricalDtype, regressed in2.8.1.
2025-08-13
- #200: Reintroduced support for
datetimecolumns indataframe_regression.
2025-07-04
- #173: Removed check against numpy-2.0-deprecated
adtype alias.
2025-08-30
- #192: Replaced
datadirwith thelazy_datadirfixture for improved performance in test suites with large data directories.- Breaking Change: If your test suite modifies
datadir, you must now overridelazy_datadirinstead.
- Breaking Change: If your test suite modifies
2025-01-10
- Python 3.12 and 3.13 are now officially supported.
- Python 3.8 (EOL) is no longer supported.
- #184: Added
fullpathparameter toimage_regression.check.
2024-12-17
- #132: Added documentation for specifying custom data directories.
- #177: Added new
round_digitstodata_regression.check, which when given will round all float values to the given number of dicts (recursively) before saving the data to disk.
- Dropped support for EOL Python 3.6 and Python 3.7.
- Added support for Python 3.11.
- #137: (Bugfix) Make
dataframe_regressioncompatible with classes inheriting frompandas.DataFrame.
- #119: (Bugfix) Properly handle missing index
0.
- Compatibility fix for pytest 6.2.
- New
--regen-allflag, 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.2is now required.
- #84: (Bugfix) Properly handle empty and NaN values on num_regression and dataframe_regression.
- #54: New
--with-test-class-namescommand-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 bugon dataframe regression.
- #45:
num_regression.checknow accepts any object that can be coerced to a 1dnumpyarray with numericdtype(e.g. list, tuple, etc).
- #35: New
dataframe_regressionfixture to check pandas DataFrames directly.
Note: 2.1.0 was not deployed due to a CI error.
- #34: Fix
data_regressionbug that creates empty file on serializing error.
- #28: Fix
num_regressionbug when comparing numpy shapes.
- Drop support for Python 2.7 and 3.5.
- #18: When using
fill_different_shape_with_nan=True, a properTypeErrorwill be raised for non-float arrays instead of filling integer arrays with "garbage". - #22: Fix warning when comparing arrays of boolean values.
- #15: Remove some extra line separators from the diff output, which makes the representation more compact.
- Fixed
DeprecationWarning: invalid escape sequence \W.
- Set
pandasdisplay.max_columnsoption innum_regressionto preventpandasfrom truncating the output (#3).
- Hide traceback of internal functions when displaying failures.
- Fixed some development dependencies being declared as runtime dependencies.
- Introduce
image_regressionfixture.
- Initial release.