Skip to content

Commit e996aaa

Browse files
committed
Resolving conflicts
2 parents e1e23e2 + dc70684 commit e996aaa

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+5798
-5844
lines changed

.bumpversion.cfg

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[bumpversion]
2-
current_version = 8.7.0
3-
commit = True
4-
tag = True
2+
current_version = 9.0.0
3+
commit = False
4+
tag = False
55
tag_name = {new_version}
66

77
[bumpversion:file:pyproject.toml]

AUTHORS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,4 @@ Authors in order of the timeline of their contributions:
8585
- [ljames8](https://github.com/ljames8) for fixing logarithmic similarity type hint.
8686
- [srini047](https://github.com/srini047) for fixing README typo.
8787
- [Nagato-Yuzuru](https://github.com/Nagato-Yuzuru) for colored view tests.
88+
- [akshat62](https://github.com/akshat62) for adding Fraction numeric support.

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
- Fixed parameter bug in `to_flat_dicts` where `include_action_in_path` and `report_type_changes` were not being passed through
1717
- Fixed `ignore_keys` issue in `detailed__dict__` thanks to [vitalis89](https://github.com/vitalis89)
1818
- Fixed logarithmic similarity type hint thanks to [ljames8](https://github.com/ljames8)
19+
- Added `Fraction` numeric support thanks to [akshat62](https://github.com/akshat62)
1920
- v8-6-2
2021
- Security fix (CVE-2026-33155): Prevent denial-of-service via crafted pickle payloads that trigger massive memory allocation through the REDUCE opcode. Size-sensitive callables like `bytes()` and `bytearray()` are now wrapped to reject allocations exceeding 128 MB.
2122
- v8-6-1

CITATION.cff

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,6 @@ authors:
55
given-names: "Sep"
66
orcid: "https://orcid.org/0009-0009-5828-4345"
77
title: "DeepDiff"
8-
version: 8.7.0
8+
version: 9.0.0
99
date-released: 2026
1010
url: "https://github.com/seperman/deepdiff"

README.md

Lines changed: 5 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# DeepDiff v 8.7.0
1+
# DeepDiff v 9.0.0
22

33
![Downloads](https://img.shields.io/pypi/dm/deepdiff.svg?style=flat)
44
![Python Versions](https://img.shields.io/pypi/pyversions/deepdiff.svg?style=flat)
@@ -21,13 +21,13 @@
2121

2222
Tested on Python 3.10+ and PyPy3.
2323

24-
- **[Documentation](https://zepworks.com/deepdiff/8.7.0/)**
24+
- **[Documentation](https://zepworks.com/deepdiff/9.0.0/)**
2525

2626
## What is new?
2727

2828
Please check the [ChangeLog](CHANGELOG.md) file for the detailed information.
2929

30-
DeepDiff 8-7-0
30+
DeepDiff 9-0-0
3131
- migration note:
3232
- `to_dict()` and `to_json()` now accept a `verbose_level` parameter and always return a usable text-view dict. When the original view is `'tree'`, they default to `verbose_level=2` for full detail. The old `view_override` parameter is removed. To get the previous results, you will need to pass the explicit verbose_level to `to_json` and `to_dict` if you are using the tree view.
3333
- Dropping support for Python 3.9
@@ -43,50 +43,7 @@ DeepDiff 8-7-0
4343
- Fixed parameter bug in `to_flat_dicts` where `include_action_in_path` and `report_type_changes` were not being passed through
4444
- Fixed `ignore_keys` issue in `detailed__dict__` thanks to @vitalis89
4545
- Fixed logarithmic similarity type hint thanks to @ljames8
46-
47-
DeepDiff 8-6-2
48-
- **Security (CVE-2026-33155):** Fixed a memory exhaustion DoS vulnerability in `_RestrictedUnpickler` by limiting the maximum allocation size for `bytes` and `bytearray` during deserialization.
49-
50-
DeepDiff 8-6-1
51-
- 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).
52-
53-
DeepDiff 8-6-0
54-
55-
- Added Colored View thanks to @mauvilsa
56-
- Added support for applying deltas to NamedTuple thanks to @paulsc
57-
- Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
58-
- Added python property serialization to json
59-
- Added ip address serialization
60-
- Switched to UV from pip
61-
- Added Claude.md
62-
- Added uuid hashing thanks to @akshat62
63-
- Added `ignore_uuid_types` flag to DeepDiff to avoid type reports when comparing UUID and string.
64-
- Added comprehensive type hints across the codebase (multiple commits for better type safety)
65-
- Added support for memoryview serialization
66-
- Added support for bytes serialization (non-UTF8 compatible)
67-
- Fixed bug where group_by with numbers would leak type info into group path reports
68-
- Fixed bug in `_get_clean_to_keys_mapping without` explicit significant digits
69-
- Added support for python dict key serialization
70-
- Enhanced support for IP address serialization with safe module imports
71-
- Added development tooling improvements (pyright config, .envrc example)
72-
- Updated documentation and development instructions
73-
74-
75-
DeepDiff 8-5-0
76-
77-
- Updating deprecated pydantic calls
78-
- Switching to pyproject.toml
79-
- Fix for moving nested tables when using iterable_compare_func. by
80-
- Fix recursion depth limit when hashing numpy.datetime64
81-
- Moving from legacy setuptools use to pyproject.toml
82-
83-
84-
DeepDiff 8-4-2
85-
86-
- fixes the type hints for the base
87-
- fixes summarize so if json dumps fails, we can still get a repr of the results
88-
- adds ipaddress support
89-
46+
- Added `Fraction` numeric support thanks to @akshat62
9047

9148
## Installation
9249

@@ -131,7 +88,7 @@ Please take a look at the [CHANGELOG](CHANGELOG.md) file.
13188

13289
- Method 1: Use [`uv`](https://github.com/astral-sh/uv) to install the dependencies: `uv sync --all-extras`.
13390
- Method 2: Use pip: `pip install -e ".[cli,coverage,dev,docs,static,test]"`
134-
5. Build `flit build`
91+
5. Build `uv build`
13592

13693
# Contribute
13794

deepdiff/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"""This module offers the DeepDiff, DeepSearch, grep, Delta and DeepHash classes."""
22
# flake8: noqa
3-
__version__ = '8.7.0'
3+
__version__ = '9.0.0'
44
import logging
55

66
if __name__ == '__main__':

deepdiff/docstrings/authors.rst

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
:doc:`/index`
2+
3+
Authors
4+
=======
5+
6+
Authors in order of the timeline of their contributions:
7+
8+
- `Sep Dehpour (Seperman)`_
9+
- `Victor Hahn Castell`_ for the tree view and major contributions:
10+
- `nfvs`_ for Travis-CI setup script.
11+
- `brbsix`_ for initial Py3 porting.
12+
- `WangFenjin`_ for unicode support.
13+
- `timoilya`_ for comparing list of sets when ignoring order.
14+
- `Bernhard10`_ for significant digits comparison.
15+
- `b-jazz`_ for PEP257 cleanup, Standardize on full names, fixing line
16+
endings.
17+
- `finnhughes`_ for fixing **slots**
18+
- `moloney`_ for Unicode vs. Bytes default
19+
- `serv-inc`_ for adding help(deepdiff)
20+
- `movermeyer`_ for updating docs
21+
- `maxrothman`_ for search in inherited class attributes
22+
- `maxrothman`_ for search for types/objects
23+
- `MartyHub`_ for exclude regex paths
24+
- `sreecodeslayer`_ for DeepSearch match_string
25+
- Brian Maissy `brianmaissy`_ for weakref fix, enum tests
26+
- Bartosz Borowik `boba-2`_ for Exclude types fix when ignoring order
27+
- Brian Maissy `brianmaissy <https://github.com/brianmaissy>`__ for
28+
fixing classes which inherit from classes with slots didn’t have all
29+
of their slots compared
30+
- Juan Soler `Soleronline`_ for adding ignore_type_number
31+
- `mthaddon`_ for adding timedelta diffing support
32+
- `Necrophagos`_ for Hashing of the number 1 vs. True
33+
- `gaal-dev`_ for adding exclude_obj_callback
34+
- Ivan Piskunov `van-ess0`_ for deprecation warning enhancement.
35+
- Michał Karaś `MKaras93`_ for the pretty view
36+
- Christian Kothe `chkothe`_ for the basic support for diffing numpy
37+
arrays
38+
- `Timothy`_ for truncate_datetime
39+
- `d0b3rm4n`_ for bugfix to not apply format to non numbers.
40+
- `MyrikLD`_ for Bug Fix NoneType in ignore type groups
41+
- Stian Jensen `stianjensen`_ for improving ignoring of NoneType in
42+
diff
43+
- Florian Klien `flowolf`_ for adding math_epsilon
44+
- Tim Klein `timjklein36`_ for retaining the order of multiple
45+
dictionary items added via Delta.
46+
- Wilhelm Schürmann\ `wbsch`_ for fixing the typo with yml files.
47+
- `lyz-code`_ for adding support for regular expressions in DeepSearch
48+
and strict_checking feature in DeepSearch.
49+
- `dtorres-sf`_ for adding the option for custom compare function
50+
- Tony Wang `Tony-Wang`_ for bugfix: verbose_level==0 should disable
51+
values_changes.
52+
- Sun Ao `eggachecat`_ for adding custom operators.
53+
- Sun Ao `eggachecat`_ for adding ignore_order_func.
54+
- `SlavaSkvortsov`_ for fixing unprocessed key error.
55+
- Håvard Thom `havardthom`_ for adding UUID support.
56+
- Dhanvantari Tilak `Dhanvantari`_ for Bug-Fix:
57+
``TypeError in _get_numbers_distance() when ignore_order = True``.
58+
- Yael Mintz `yaelmi3`_ for detailed pretty print when verbose_level=2.
59+
- Mikhail Khviyuzov `mskhviyu`_ for Exclude obj callback strict.
60+
- `dtorres-sf`_ for the fix for diffing using iterable_compare_func with nested objects.
61+
- `Enric Pou <https://github.com/epou>`__ for bug fix of ValueError
62+
when using Decimal 0.x
63+
- `Uwe Fladrich <https://github.com/uwefladrich>`__ for fixing bug when diff'ing non-sequence iterables
64+
- `Michal Ozery-Flato <https://github.com/michalozeryflato>`__ for
65+
setting equal_nan=ignore_nan_inequality in the call for
66+
np.array_equal
67+
- `martin-kokos <https://github.com/martin-kokos>`__ for using Pytest’s
68+
tmp_path fixture instead of /tmp/
69+
- Håvard Thom `havardthom <https://github.com/havardthom>`__ for adding
70+
include_obj_callback and include_obj_callback_strict.
71+
- `Noam Gottlieb <https://github.com/noamgot>`__ for fixing a corner
72+
case where numpy’s ``np.float32`` nans are not ignored when using
73+
``ignore_nan_equality``.
74+
- `maggelus <https://github.com/maggelus>`__ for the bugfix deephash
75+
for paths.
76+
- `maggelus <https://github.com/maggelus>`__ for the bugfix deephash
77+
compiled regex.
78+
- `martin-kokos <https://github.com/martin-kokos>`__ for fixing the
79+
tests dependent on toml.
80+
- `kor4ik <https://github.com/kor4ik>`__ for the bugfix for
81+
``include_paths`` for nested dictionaries.
82+
- `martin-kokos <https://github.com/martin-kokos>`__ for using tomli
83+
and tomli-w for dealing with tomli files.
84+
- `Alex Sauer-Budge <https://github.com/amsb>`__ for the bugfix for
85+
``datetime.date``.
86+
- `William Jamieson <https://github.com/WilliamJamieson>`__ for `NumPy 2.0 compatibility <https://github.com/seperman/deepdiff/pull/422>`__
87+
- `Leo Sin <https://github.com/leoslf>`__ for Supporting Python 3.12 in
88+
the build process
89+
- `sf-tcalhoun <https://github.com/sf-tcalhoun>`__ for fixing
90+
“Instantiating a Delta with a flat_dict_list unexpectedly mutates the
91+
flat_dict_list”
92+
- `dtorres-sf <https://github.com/dtorres-sf>`__ for fixing iterable
93+
moved items when iterable_compare_func is used.
94+
- `Florian Finkernagel <https://github.com/TyberiusPrime>`__ for pandas
95+
and polars support.
96+
- Mathis Chenuet `artemisart <https://github.com/artemisart>`__ for
97+
fixing slots classes comparison and PR review.
98+
- Sherjeel Shabih `sherjeelshabih <https://github.com/sherjeelshabih>`__
99+
for fixing the issue where the key deep_distance is not returned when
100+
both compared items are equal #510
101+
- `Juergen Skrotzky <https://github.com/Jorgen-VikingGod>`__ for adding
102+
empty ``py.typed``
103+
- `Mate Valko <https://github.com/vmatt>`__ for fixing the issue so we
104+
lower only if clean_key is instance of str via #504
105+
- `jlaba <https://github.com/jlaba>`__ for fixing #493 include_paths,
106+
when only certain keys are included via #499
107+
- `Doron Behar <https://github.com/doronbehar>`__ for fixing DeepHash
108+
for numpy booleans via #496
109+
- `Aaron D. Marasco <https://github.com/AaronDMarasco>`__ for adding
110+
print() options which allows a user-defined string (or callback
111+
function) to prefix every output when using the pretty() call.
112+
- `David Hotham <https://github.com/dimbleby>`__ for relaxing
113+
orderly-set dependency via #486
114+
- `dtorres-sf <https://github.com/dtorres-sf>`__ for the fix for moving
115+
nested tables when using iterable_compare_func.
116+
- `Jim Cipar <https://github.com/jcipar>`__ for the fix recursion depth
117+
limit when hashing numpy.datetime64
118+
- `Enji Cooper <https://github.com/ngie-eign>`__ for converting legacy
119+
setuptools use to pyproject.toml
120+
- `Diogo Correia <https://github.com/diogotcorreia>`__ for reporting security vulnerability in Delta and DeepDiff that could allow remote code execution.
121+
- `am-periphery <https://github.com/am-periphery>`__ for reporting CVE-2026-33155: denial-of-service via crafted pickle payloads triggering massive memory allocation.
122+
- `echan5 <https://github.com/echan5>`__ for adding callable ``group_by`` support.
123+
- `yannrouillard <https://github.com/yannrouillard>`__ for fixing colored view display when all list items are removed.
124+
- `tpvasconcelos <https://github.com/tpvasconcelos>`__ for fixing ``__slots__`` handling for objects with ``__getattr__``.
125+
- `devin13cox <https://github.com/devin13cox>`__ for always using t1 path for reporting.
126+
- `vitalis89 <https://github.com/vitalis89>`__ for fixing ``ignore_keys`` issue in ``detailed__dict__``.
127+
- `ljames8 <https://github.com/ljames8>`__ for fixing logarithmic similarity type hint.
128+
- `srini047 <https://github.com/srini047>`__ for fixing README typo.
129+
- `Nagato-Yuzuru <https://github.com/Nagato-Yuzuru>`__ for colored view tests.
130+
- `akshat62 <https://github.com/akshat62>`__ for adding Fraction numeric support.
131+
132+
133+
.. _Sep Dehpour (Seperman): http://www.zepworks.com
134+
.. _Victor Hahn Castell: http://hahncastell.de
135+
.. _nfvs: https://github.com/nfvs
136+
.. _brbsix: https://github.com/brbsix
137+
.. _WangFenjin: https://github.com/WangFenjin
138+
.. _timoilya: https://github.com/timoilya
139+
.. _Bernhard10: https://github.com/Bernhard10
140+
.. _b-jazz: https://github.com/b-jazz
141+
.. _finnhughes: https://github.com/finnhughes
142+
.. _moloney: https://github.com/moloney
143+
.. _serv-inc: https://github.com/serv-inc
144+
.. _movermeyer: https://github.com/movermeyer
145+
.. _maxrothman: https://github.com/maxrothman
146+
.. _MartyHub: https://github.com/MartyHub
147+
.. _sreecodeslayer: https://github.com/sreecodeslayer
148+
.. _brianmaissy: https://github.com/
149+
.. _boba-2: https://github.com/boba-2
150+
.. _Soleronline: https://github.com/Soleronline
151+
.. _mthaddon: https://github.com/mthaddon
152+
.. _Necrophagos: https://github.com/Necrophagos
153+
.. _gaal-dev: https://github.com/gaal-dev
154+
.. _van-ess0: https://github.com/van-ess0
155+
.. _MKaras93: https://github.com/MKaras93
156+
.. _chkothe: https://github.com/chkothe
157+
.. _Timothy: https://github.com/timson
158+
.. _d0b3rm4n: https://github.com/d0b3rm4n
159+
.. _MyrikLD: https://github.com/MyrikLD
160+
.. _stianjensen: https://github.com/stianjensen
161+
.. _flowolf: https://github.com/flowolf
162+
.. _timjklein36: https://github.com/timjklein36
163+
.. _wbsch: https://github.com/wbsch
164+
.. _lyz-code: https://github.com/lyz-code
165+
.. _dtorres-sf: https://github.com/dtorres-sf
166+
.. _Tony-Wang: https://github.com/Tony-Wang
167+
.. _eggachecat: https://github.com/eggachecat
168+
.. _SlavaSkvortsov: https://github.com/SlavaSkvortsov
169+
.. _havardthom: https://github.com/havardthom
170+
.. _Dhanvantari: https://github.com/Dhanvantari
171+
.. _yaelmi3: https://github.com/yaelmi3
172+
.. _mskhviyu: https://github.com/mskhviyu
173+
174+
Thank you for contributing to DeepDiff!
175+
176+
Back to :doc:`/index`

0 commit comments

Comments
 (0)