- Update to 8.6.1 (bsc#1249347, CVE-2025-58367):
* 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).
(bsc#1249347, CVE-2025-58367)
- from version 8.6.0
* Added Colored View thanks to @mauvilsa
* Added support for applying deltas to NamedTuple thanks to @paulsc
* Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
* Added python property serialization to json
* Added ip address serialization
* Switched to UV from pip
* Added Claude.md
* Added uuid hashing thanks to @akshat62
* Added ignore_uuid_types flag to DeepDiff to avoid type reports when comparing UUID and string.
* Added comprehensive type hints across the codebase (multiple commits for better type safety)
* Added support for memoryview serialization
* Added support for bytes serialization (non-UTF8 compatible)
* Fixed bug where group_by with numbers would leak type info into group path reports
* Fixed bug in _get_clean_to_keys_mapping without explicit significant digits
* Added support for python dict key serialization
* Enhanced support for IP address serialization with safe module imports
* Added development tooling improvements (pyright config, .envrc example)
* Updated documentation and development instructions
- Update BuildRequires from pyproject.toml
OBS-URL: https://build.opensuse.org/request/show/1303319
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-deepdiff?expand=0&rev=18
* 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).
(bsc#1249347, CVE-2025-58367)
- from version 8.6.0
* Added Colored View thanks to @mauvilsa
* Added support for applying deltas to NamedTuple thanks to @paulsc
* Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
* Added python property serialization to json
* Added ip address serialization
* Switched to UV from pip
* Added Claude.md
* Added uuid hashing thanks to @akshat62
* Added ignore_uuid_types flag to DeepDiff to avoid type reports when comparing UUID and string.
* Added comprehensive type hints across the codebase (multiple commits for better type safety)
* Added support for memoryview serialization
* Added support for bytes serialization (non-UTF8 compatible)
* Fixed bug where group_by with numbers would leak type info into group path reports
* Fixed bug in _get_clean_to_keys_mapping without explicit significant digits
* Added support for python dict key serialization
* Enhanced support for IP address serialization with safe module imports
* Added development tooling improvements (pyright config, .envrc example)
* Updated documentation and development instructions
- Update BuildRequires from pyproject.toml
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=40
* 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).
8.6.0
* Added Colored View thanks to @mauvilsa
* Added support for applying deltas to NamedTuple thanks to @paulsc
* Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
* Added python property serialization to json
* Added ip address serialization
* Switched to UV from pip
* Added Claude.md
* Added uuid hashing thanks to @akshat62
* Added ignore_uuid_types flag to DeepDiff to avoid type reports
when comparing UUID and string.
* Added comprehensive type hints across the codebase (multiple
commits for better type safety)
* Added support for memoryview serialization
* Added support for bytes serialization (non-UTF8 compatible)
* Fixed bug where group_by with numbers would leak type info into
group path reports
* Fixed bug in _get_clean_to_keys_mapping without explicit
significant digits
* Added support for python dict key serialization
* Enhanced support for IP address serialization with safe module
imports
* Added development tooling improvements (pyright config, .envrc
example)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=39
* Updating deprecated pydantic calls
* Switching to pyproject.toml
* Fix for moving nested tables when using iterable_compare_func
* Fix recursion depth limit when hashing numpy.datetime64
* Moving from legacy setuptools use to pyproject.toml
- Update BuildRequires and Requires from pyproject.toml
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=37
* pytz is not required
- Update to 8.4.0
* Adding BaseOperatorPlus base class for custom operators
* 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
- Update to 8.1.1
* Adding Python 3.13 to setup.py
-Update to 8.1.0
* Removing deprecated lines from setup.py
* Added prefix option to pretty()
* 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
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=35
- update to 8.0.1:
* With 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 setting
`threshold_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.
* [x] `use_enum_value=True` makes 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.
* [x] `threshold_to_diff_deeper=float` is a number between 0
and 1. When comparing dictionaries that have a small
intersection of keys, we will report the dictionary as a
`new_value` instead 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.
* [x] Deprecated `ordered-set` and switched to `orderly-set`.
The `ordered-set` package 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 as `orderly-set`.
* [x] Added `use_log_scale:bool` and
`log_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.
OBS-URL: https://build.opensuse.org/request/show/1218894
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-deepdiff?expand=0&rev=14
* With 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 setting
`threshold_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.
* [x] `use_enum_value=True` makes 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.
* [x] `threshold_to_diff_deeper=float` is a number between 0
and 1. When comparing dictionaries that have a small
intersection of keys, we will report the dictionary as a
`new_value` instead 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.
* [x] Deprecated `ordered-set` and switched to `orderly-set`.
The `ordered-set` package 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 as `orderly-set`.
* [x] Added `use_log_scale:bool` and
`log_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.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=30
- update to 7.0.1:
* When verbose=2, return `new_path` when the `path` and
`new_path` are 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.date` objects
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
* Supporting Python 3.12 in the build process by Leo Sin
* Include type info and change the "unknown" value for flat
rows to something that is friendly for Postgres enums
OBS-URL: https://build.opensuse.org/request/show/1169369
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-deepdiff?expand=0&rev=13
* When verbose=2, return `new_path` when the `path` and
`new_path` are 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.date` objects
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
* Supporting Python 3.12 in the build process by Leo Sin
* Include type info and change the "unknown" value for flat
rows to something that is friendly for Postgres enums
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=28
- update to 6.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
* 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.
- update to 6.6.0:
* [x] Numpy 2.0 support
* [x] Adding Delta.to_flat_dicts
- update to 6.4.1:
* Bugfix: Numpy should be optional
- update to 6.4.0:
* Add Ignore List Order Option to DeepHash by
* pyyaml to 6.0.1 to fix cython build problems by Robert Bo
Davis
* Precompiled regex simple diff by cohml
* New flag: `zip_ordered_iterables` for forcing iterable items
to be compared one by one.
- update to 6.3.1:
* Bugfix deephash for paths by maggelus
* Bugfix deephash compiled regex maggelus
* Fix tests dependent on toml by martin-kokos
OBS-URL: https://build.opensuse.org/request/show/1138688
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-deepdiff?expand=0&rev=12
* 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
* 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.
- update to 6.6.0:
* [x] Numpy 2.0 support
* [x] Adding Delta.to_flat_dicts
- update to 6.4.1:
* Bugfix: Numpy should be optional
- update to 6.4.0:
* Add Ignore List Order Option to DeepHash by
* pyyaml to 6.0.1 to fix cython build problems by Robert Bo
Davis
* Precompiled regex simple diff by cohml
* New flag: `zip_ordered_iterables` for forcing iterable items
to be compared one by one.
- update to 6.3.1:
* Bugfix deephash for paths by maggelus
* Bugfix deephash compiled regex maggelus
* Fix tests dependent on toml by martin-kokos
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=26
- Update to 6.3.0:
- PrefixOrSuffixOperator: This operator will skip strings that are
suffix or prefix of each other.
- include_obj_callback and include_obj_callback_strict are added
by [Håvard Thom](https://github.com/havardthom).
- Fixed a corner case where numpy's np.float32 nans are not
ignored when using ignore_nan_equality by [Noam
Gottlieb](https://github.com/noamgot)
- orjson becomes optional again.
- Fix for ignore_type_in_groups with numeric values so it does not
report number changes when the number types are different.
- Move python-orjson from Recommends to Requires, it's a requirement
right now in the latest release.
OBS-URL: https://build.opensuse.org/request/show/1084088
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-deepdiff?expand=0&rev=10
- PrefixOrSuffixOperator: This operator will skip strings that are
suffix or prefix of each other.
- include_obj_callback and include_obj_callback_strict are added
by [Håvard Thom](https://github.com/havardthom).
- Fixed a corner case where numpy's np.float32 nans are not
ignored when using ignore_nan_equality by [Noam
Gottlieb](https://github.com/noamgot)
- orjson becomes optional again.
- Fix for ignore_type_in_groups with numeric values so it does not
report number changes when the number types are different.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=21
- Update to 5.8.2
* Fixing dependency for Py3.6
- DeepDiff 5.8.1 includes bug fixes:
* Fixed test suite for 32bit systems
* Fixed the issue when using ignore_order=True and group_by
simultaneously
* Added the support for diffing object properties (@property)
* Better support of diffing private variables
- DeepDiff 5.8.0 includes bug fixes and improvements:
* Fixed the bug with delta randomly not producing the same
results when ignore_order=True
* Display detailed pretty when verbose
* Allow ordered-set version 4.1.x
* Removing extra logging when key is not found in DeepHash
* Fixed error when comparing non-utf8 byte strings with
ignore_order=True
* Fixed Tests fail after 2022-05-14
* Fixed TypeError is thrown when comparing bool and str
OBS-URL: https://build.opensuse.org/request/show/984899
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=14
- Update to 5.2.3
* Retaining the order of multiple dictionary items added via
Delta.
* Fixed the typo with yml files in deep cli.
* Fixing Grep RecursionError where using non UTF-8 character.
* Allowing kwargs to be passed to to_json method.
- Release 5.2.2
* Fixed Delta serialization when None type is present.
- Release 5.2.0
* Removed Murmur3 as the preferred hashing method. Using SHA256 by
default now.
* Added commandline for deepdiff.
* Added group_by.
* Added math_epsilon.
* Improved ignoring of NoneType.
- Release 5.0.2
* Bug Fix NoneType in ignore type groups
https://github.com/seperman/deepdiff/issues/207
- Release 5.0.1
* Bug fix to not apply format to non numbers.
- Release 5.0.0
* Introducing the Delta object
* Improving Numpy support
* Fixing tuples comparison when ignore_order=True
* Dramatically improving the results when ignore_order=True by
running in passes
* Introducing pretty print view, deep_distance, purge,
progress logging, cache and truncate_datetime.
* Adds support for datetime.time
- Skip python36 build because the test suite makes extensive use of
OBS-URL: https://build.opensuse.org/request/show/882652
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=11
- version update to 4.2.0
- v4-2-0: .json property is finally removed. Fix for Py3.10. Dropping support for EOL Python 3.4. Ignoring private keys when calculating hashes. For example __init__ is not a part of hash calculation anymore. Fix for #166 Problem with comparing lists, with an boolean as element.
- v4-0-9: Fixing the bug for hashing custom unhashable objects
- v4-0-8: Adding ignore_nan_inequality for float('nan')
- v4-0-7: Hashing of the number 1 vs. True
- v4-0-6: found a tiny bug in Python formatting of numbers in scientific notation. Added a workaround.
- v4-0-5: Fixing number diffing. Adding number_format_notation and number_to_string_func.
- v4-0-4: Adding ignore_string_case and ignore_type_subclasses
- v4-0-3: Adding versionbump tool for release
- v4-0-2: Fixing installation issue where rst files are missing.
- v4-0-1: Fixing installation Tarball missing requirements.txt . DeepDiff v4+ should not show up as pip installable for Py2. Making Murmur3 installation optional.
- v4-0-0: Ending Python 2 support, Adding more functionalities and documentation for DeepHash. Switching to Pytest for testing. Switching to Murmur3 128bit for hashing. Fixing classes which inherit from classes with slots didn't have all of their slots compared. Renaming ContentHash to DeepHash. Adding exclude by path and regex path to DeepHash. Adding ignore_type_in_groups. Adding match_string to DeepSearch. Adding Timedelta object diffing.
- v3-5-0: Exclude regex path
OBS-URL: https://build.opensuse.org/request/show/782857
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-deepdiff?expand=0&rev=7