All Versions
10
Latest Version
Avg Release Cycle
73 days
Latest Release
200 days ago
Changelog History
Changelog History
-
v8.6.1 Changes
September 04, 2025DeepDiff 8-6-1
- ๐ Patched security vulnerability in the Delta class which was vulnerable to class pollution via its constructor, and when combined with a gadget available in DeltaDiff itself, it could lead to Denial of Service and Remote Code Execution (via insecure Pickle deserialization).
-
v8.5.0 Changes
May 09, 2025- โก๏ธ Updating deprecated pydantic calls
- Switching to pyproject.toml
- Fix for moving nested tables when using iterable_compare_func. by
- ๐ Fix recursion depth limit when hashing numpy.datetime64
- Moving from legacy setuptools use to pyproject.toml
-
v8.4.1 Changes
March 17, 2025- pytz is not required.
-
v8.4.0 Changes
March 16, 2025- โ Adding BaseOperatorPlus base class for custom operators
- 0๏ธโฃ default_timezone can be passed now to set your default timezone to something other than UTC.
- ๐ New summarization algorithm that produces valid json
- ๐ Better type hint support
-
v8.1.1 Changes
December 16, 2024โ Adding Python 3.13 to setup.py
-
v8.1.0 Changes
December 16, 2024- ๐ Removing deprecated lines from setup.py
- โ Added
prefixoption topretty() - ๐ Fixes hashing of numpy boolean values.
- Fixes slots comparison when the attribute doesn't exist.
- ๐ Relaxing orderly-set reqs
- โ Added Python 3.13 support
- Only lower if clean_key is instance of str #504
- ๐ Fixes issue where the key deep_distance is not returned when both compared items are equal #510
- ๐ Fixes exclude_paths fails to work in certain cases
- exclude_paths fails to work #509
- Fixes to_json() method chokes on standard json.dumps() kwargs such as sort_keys
- to_dict() method chokes on standard json.dumps() kwargs #490
- Fixes accessing the affected_root_keys property on the diff object returned by DeepDiff fails when one of the dicts is empty
- Fixes accessing the affected_root_keys property on the diff object returned by DeepDiff fails when one of the dicts is empty #508
-
v8.0.1 Changes
October 24, 2024๐ 8.0.1 - extra import of numpy is removed
-
v8.0.0 Changes
August 27, 2024With the introduction of
threshold_to_diff_deeper, the values returned are different than in previous versions of DeepDiff. You can still get the older values by settingthreshold_to_diff_deeper=0. However to signify that enough has changed in this release that the users need to update the parameters passed to DeepDiff, we will be doing a major version update.-
use_enum_value=Truemakes it so when diffing enum, we use the enum's value. It makes it so comparing an enum to a string or any other value is not reported as a type change. -
threshold_to_diff_deeper=floatis a number between 0 and 1. When comparing dictionaries that have a small intersection of keys, we will report the dictionary as anew_valueinstead of reporting individual keys changed. If you set it to zero, you get the same results as DeepDiff 7.0.1 and earlier, which means this feature is disabled. The new default is 0.33 which means if less that one third of keys between dictionaries intersect, report it as a new object. - ๐ฆ Deprecated
ordered-setand switched toorderly-set. Theordered-setpackage was not being maintained anymore and starting Python 3.6, there were better options for sets that ordered. I forked one of the new implementations, modified it, and published it asorderly-set. - ๐ฒ Added
use_log_scale:boolandlog_scale_similarity_threshold:float. They can be used to ignore small changes in numbers by comparing their differences in logarithmic space. This is different than ignoring the difference based on significant digits. - json serialization of reversed lists.
- Fix for iterable moved items when
iterable_compare_funcis used. - ๐ Pandas and Polars support.
-
-
v7.0.1 Changes
April 08, 2024- When verbose=2, return
new_pathwhen thepathandnew_pathare different (for example when ignore_order=True and the index of items have changed). - ๐ Dropping support for Python 3.7
- Introducing serialize to flat rows for delta objects.
- ๐ fixes the issue with hashing
datetime.dateobjects where it treated them as numbers instead of dates (fixes #445). - โฌ๏ธ upgrading orjson to the latest version
- Fix for bug when diffing two lists with ignore_order and providing compare_func
- ๐ Fixes #438
- ๐ Supporting Python 3.12 in the build process by Leo Sin
- ๐ Fixes #457 by sf-tcalhoun
- ๐ Fixes #441
- ๐ Fixes #450
- ๐ Fixes #443
- Include type info and change the "unknown" value for flat rows to something that is friendly for Postgres enums
- When verbose=2, return
-
v6.7.1 Changes
November 14, 2023v6-7-1
- Support for subtracting delta objects when iterable_compare_func is used.
- Better handling of force adding a delta to an object.
- Fix for
Can't compare dicts with both single and double quotes in keys - Updated docs for Inconsistent Behavior with math_epsilon and ignore_order = True
v6-7-0
- Delta can be subtracted from other objects now.
- verify_symmetry is deprecated. Use bidirectional instead.
- always_include_values flag in Delta can be enabled to include values in the delta for every change.
- Fix for Delta. add breaks with esoteric dict keys.
- You can load a delta from the list of flat dictionaries.