Skip to content

Commit 0978fb8

Browse files
committed
adding docs for 8.6.0
1 parent d469a4c commit 0978fb8

File tree

6 files changed

+112
-3
lines changed

6 files changed

+112
-3
lines changed

CHANGELOG.md

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,24 @@
11
# DeepDiff Change log
22

3-
- [Unreleased]
4-
- Colored View: Output pretty-printed JSON with color-coded differences (added in green, removed in red, changed values show old in red and new in green).
3+
- v8-6-0
4+
- Added Colored View thanks to @mauvilsa
5+
- Added support for applying deltas to NamedTuple thanks to @paulsc
6+
- Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
7+
- Added python property serialization to json
8+
- Added ip address serialization
9+
- Switched to UV from pip
10+
- Added Claude.md
11+
- Added uuid hashing thanks to @akshat62
12+
- Added `ignore_uuid_types` flag to DeepDiff to avoid type reports when comparing UUID and string.
13+
- Added comprehensive type hints across the codebase (multiple commits for better type safety)
14+
- Added support for memoryview serialization
15+
- Added support for bytes serialization (non-UTF8 compatible)
16+
- Fixed bug where group_by with numbers would leak type info into group path reports
17+
- Fixed bug in `_get_clean_to_keys_mapping without` explicit significant digits
18+
- Added support for python dict key serialization
19+
- Enhanced support for IP address serialization with safe module imports
20+
- Added development tooling improvements (pyright config, .envrc example)
21+
- Updated documentation and development instructions
522

623
- v8-5-0
724
- Updating deprecated pydantic calls

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,28 @@ Tested on Python 3.9+ and PyPy3.
2323

2424
Please check the [ChangeLog](CHANGELOG.md) file for the detailed information.
2525

26+
DeepDiff 8-6-0
27+
28+
- Added Colored View thanks to @mauvilsa
29+
- Added support for applying deltas to NamedTuple thanks to @paulsc
30+
- Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
31+
- Added python property serialization to json
32+
- Added ip address serialization
33+
- Switched to UV from pip
34+
- Added Claude.md
35+
- Added uuid hashing thanks to @akshat62
36+
- Added `ignore_uuid_types` flag to DeepDiff to avoid type reports when comparing UUID and string.
37+
- Added comprehensive type hints across the codebase (multiple commits for better type safety)
38+
- Added support for memoryview serialization
39+
- Added support for bytes serialization (non-UTF8 compatible)
40+
- Fixed bug where group_by with numbers would leak type info into group path reports
41+
- Fixed bug in `_get_clean_to_keys_mapping without` explicit significant digits
42+
- Added support for python dict key serialization
43+
- Enhanced support for IP address serialization with safe module imports
44+
- Added development tooling improvements (pyright config, .envrc example)
45+
- Updated documentation and development instructions
46+
47+
2648
DeepDiff 8-5-0
2749

2850
- Updating deprecated pydantic calls

docs/changelog.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,31 @@ Changelog
55

66
DeepDiff Changelog
77

8+
- v8-6-0
9+
- Added Colored View thanks to @mauvilsa
10+
- Added support for applying deltas to NamedTuple thanks to @paulsc
11+
- Fixed test_delta.py with Python 3.14 thanks to @Romain-Geissler-1A
12+
- Added python property serialization to json
13+
- Added ip address serialization
14+
- Switched to UV from pip
15+
- Added Claude.md
16+
- Added uuid hashing thanks to @akshat62
17+
- Added ``ignore_uuid_types`` flag to DeepDiff to avoid type reports
18+
when comparing UUID and string.
19+
- Added comprehensive type hints across the codebase (multiple commits
20+
for better type safety)
21+
- Added support for memoryview serialization
22+
- Added support for bytes serialization (non-UTF8 compatible)
23+
- Fixed bug where group_by with numbers would leak type info into group
24+
path reports
25+
- Fixed bug in ``_get_clean_to_keys_mapping without`` explicit
26+
significant digits
27+
- Added support for python dict key serialization
28+
- Enhanced support for IP address serialization with safe module imports
29+
- Added development tooling improvements (pyright config, .envrc
30+
example)
31+
- Updated documentation and development instructions
32+
833
- v8-5-0
934
- Updating deprecated pydantic calls
1035
- Switching to pyproject.toml

docs/diff_doc.rst

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,10 @@ ignore_type_subclasses: Boolean, default = False
121121
ignore_type_subclasses was incorrectly doing the reverse of its job up until DeepDiff 6.7.1
122122
Please make sure to flip it in your use cases, when upgrading from older versions to 7.0.0 or above.
123123

124+
ignore_uuid_types: Boolean, default = False
125+
:ref:`ignore_uuid_types_label`
126+
Whether to ignore UUID vs string type differences when comparing. When set to True, comparing a UUID object with its string representation will not report as a type change.
127+
124128
ignore_string_case: Boolean, default = False
125129
:ref:`ignore_string_case_label`
126130
Whether to be case-sensitive or not when comparing strings. By settings ignore_string_case=False, strings will be compared case-insensitively.

docs/ignore_types_or_values.rst

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,47 @@ ignore_type_subclasses: Boolean, default = False
243243
{'values_changed': {'root.x': {'new_value': 3, 'old_value': 1}}, 'attribute_removed': [root.y]}
244244

245245

246+
.. _ignore_uuid_types_label:
247+
248+
Ignore UUID Types
249+
------------------
250+
251+
ignore_uuid_types: Boolean, default = False
252+
Whether to ignore UUID vs string type differences when comparing. When set to True, comparing a UUID object with its string representation will not report as a type change.
253+
254+
Without ignore_uuid_types:
255+
>>> import uuid
256+
>>> from deepdiff import DeepDiff
257+
>>> test_uuid = uuid.UUID('12345678-1234-5678-1234-567812345678')
258+
>>> uuid_str = '12345678-1234-5678-1234-567812345678'
259+
>>> DeepDiff(test_uuid, uuid_str)
260+
{'type_changes': {'root': {'old_type': <class 'uuid.UUID'>, 'new_type': <class 'str'>, 'old_value': UUID('12345678-1234-5678-1234-567812345678'), 'new_value': '12345678-1234-5678-1234-567812345678'}}}
261+
262+
With ignore_uuid_types=True:
263+
>>> DeepDiff(test_uuid, uuid_str, ignore_uuid_types=True)
264+
{}
265+
266+
This works in both directions:
267+
>>> DeepDiff(uuid_str, test_uuid, ignore_uuid_types=True)
268+
{}
269+
270+
The parameter works with nested structures like dictionaries and lists:
271+
>>> dict1 = {'id': test_uuid, 'name': 'test'}
272+
>>> dict2 = {'id': uuid_str, 'name': 'test'}
273+
>>> DeepDiff(dict1, dict2, ignore_uuid_types=True)
274+
{}
275+
276+
Note that if the UUID and string represent different values, it will still report as a value change:
277+
>>> different_uuid = uuid.UUID('87654321-4321-8765-4321-876543218765')
278+
>>> DeepDiff(different_uuid, uuid_str, ignore_uuid_types=True)
279+
{'values_changed': {'root': {'old_value': UUID('87654321-4321-8765-4321-876543218765'), 'new_value': '12345678-1234-5678-1234-567812345678'}}}
280+
281+
This parameter can be combined with other ignore flags:
282+
>>> data1 = {'id': test_uuid, 'name': 'TEST', 'count': 42}
283+
>>> data2 = {'id': uuid_str, 'name': 'test', 'count': 42.0}
284+
>>> DeepDiff(data1, data2, ignore_uuid_types=True, ignore_string_case=True, ignore_numeric_type_changes=True)
285+
{}
286+
246287

247288
.. _ignore_string_case_label:
248289

tests/test_diff_text.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from typing import List
1010
from decimal import Decimal
1111
from deepdiff import DeepDiff
12-
from deepdiff.helper import pypy3, PydanticBaseModel, SetOrdered, np_float64
12+
from deepdiff.helper import pypy3, PydanticBaseModel, np_float64
1313
from tests import CustomClass
1414

1515

0 commit comments

Comments
 (0)