Skip to content

Releases: seperman/deepdiff

8.0.0

27 Aug 21:50
5ac42b7
Compare
Choose a tag to compare

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.

  • 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.
  • 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.
  • 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.
  • 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.
  • json serialization of reversed lists.
  • Fix for iterable moved items when iterable_compare_func is used.
  • Pandas and Polars support.

7.0.1

08 Apr 22:58
be22027
Compare
Choose a tag to compare
  • 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
  • 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

6.7.1

14 Nov 07:17
89c5cc2
Compare
Choose a tag to compare
  • v6-7-1
  • 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.

6.6.0

04 Oct 22:45
Compare
Choose a tag to compare

6.4.1

01 Sep 16:44
Compare
Choose a tag to compare

Bugfix: Numpy should be optional

6.4.0

01 Sep 00:26
0126007
Compare
Choose a tag to compare

6.3.1

06 Jul 17:51
Compare
Choose a tag to compare

6.3.0

17 Mar 18:28
Compare
Choose a tag to compare
  • 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.
  • Fixed a corner case where numpy's np.float32 nans are not ignored when using ignore_nan_equality by Noam Gottlieb
  • 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.

6.2.1

30 Oct 06:11
Compare
Choose a tag to compare
Major improvement in the diff report for lists when items are all hashable and the order of items is important.

6.1.0

28 Aug 03:10
Compare
Choose a tag to compare
  • DeepDiff.affected_paths can be used to get the list of all paths where a change, addition, or deletion was reported for.
  • DeepDiff.affected_root_keys can be used to get the list of all paths where a change, addition, or deletion was reported for.
  • Bugfix: ValueError when using Decimal 0.x #339 by Enric Pou
  • Serialization of UUID