Recent Releases of deepdiff

deepdiff - 8.6.1

DeepDiff 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).

- Python
Published by seperman 6 months ago

deepdiff - 8.5.0

  • Updating deprecated pydantic calls
  • Switching to pyproject.toml
  • Fix for moving nested tables when using iterablecomparefunc. by
  • Fix recursion depth limit when hashing numpy.datetime64
  • Moving from legacy setuptools use to pyproject.toml

- Python
Published by seperman 10 months ago

deepdiff - 8.4.1

  • pytz is not required.

- Python
Published by seperman 11 months ago

deepdiff - 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

- Python
Published by seperman 11 months ago

deepdiff - 8.1.1

Adding Python 3.13 to setup.py

- Python
Published by seperman about 1 year ago

deepdiff - 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 tojson() method chokes on standard json.dumps() kwargs such as sortkeys
  • to_dict() method chokes on standard json.dumps() kwargs #490
  • Fixes accessing the affectedrootkeys property on the diff object returned by DeepDiff fails when one of the dicts is empty
  • Fixes accessing the affectedrootkeys property on the diff object returned by DeepDiff fails when one of the dicts is empty #508

- Python
Published by seperman about 1 year ago

deepdiff - 8.0.1

8.0.1 - extra import of numpy is removed

- Python
Published by seperman over 1 year ago

deepdiff - 8.0.0

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

- Python
Published by seperman over 1 year ago

deepdiff - 7.0.1

  • [x] 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).
  • [x] Dropping support for Python 3.7
  • [x] Introducing serialize to flat rows for delta objects.
  • [x] fixes the issue with hashing datetime.date objects where it treated them as numbers instead of dates (fixes #445).
  • [x] upgrading orjson to the latest version
  • [x] Fix for bug when diffing two lists with ignoreorder and providing comparefunc
  • [x] Fixes #438
  • [x] Supporting Python 3.12 in the build process by Leo Sin
  • [x] Fixes #457 by sf-tcalhoun
  • [x] Fixes #441
  • [x] Fixes #450
  • [x] Fixes #443
  • [x] Include type info and change the "unknown" value for flat rows to something that is friendly for Postgres enums

- Python
Published by seperman almost 2 years ago

deepdiff - 6.7.1

  • v6-7-1
  • v6-7-0
    • Delta can be subtracted from other objects now.
    • verify_symmetry is deprecated. Use bidirectional instead.
    • alwaysincludevalues 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.

- Python
Published by seperman over 2 years ago

deepdiff - 6.6.0

- Python
Published by seperman over 2 years ago

deepdiff - 6.4.1

Bugfix: Numpy should be optional

- Python
Published by seperman over 2 years ago

deepdiff - 6.4.0

- Python
Published by seperman over 2 years ago

deepdiff - 6.3.1

- Python
Published by seperman over 2 years ago

deepdiff - 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.
  • 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.

- Python
Published by seperman almost 3 years ago

deepdiff - 6.2.1

Major improvement in the diff report for lists when items are all hashable and the order of items is important.

- Python
Published by seperman over 3 years ago

deepdiff - 6.1.0

  • [x] DeepDiff.affected_paths can be used to get the list of all paths where a change, addition, or deletion was reported for.
  • [x] DeepDiff.affectedrootkeys can be used to get the list of all paths where a change, addition, or deletion was reported for.
  • [x] Bugfix: ValueError when using Decimal 0.x #339 by Enric Pou
  • [x] Serialization of UUID

- Python
Published by seperman over 3 years ago

deepdiff - 6.0.0

Note: This is a version change for DeepDiff since we are still waiting for Pypi to let us publish a new version of DeepDiff. In the meantime we are publishing under DeepDiff6 package name on pypi.

So you will need to do pip install deepdiff6

- Python
Published by seperman over 3 years ago

deepdiff - 5.8.2

Fixing dependency for Py3.6

- Python
Published by seperman almost 4 years ago

deepdiff - 5.8.1

New In DeepDiff 5-8-1

DeepDiff 5-8-1 includes bug fixes: - Fixed test suite for 32bit systems (https://github.com/seperman/deepdiff/issues/302) by Louis-Philippe Véronneau_ - Fixed the issue when using ignore_order=True and group_by simultaneously - Added the support for diffing object properties (@property) (https://github.com/seperman/deepdiff/issues/312) - Better support of diffing private variables

.. _Louis-Philippe Véronneau: https://github.com/baldurmen

New In DeepDiff 5-8-0

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

- Python
Published by seperman almost 4 years ago

deepdiff - 5.6.0

  • v5-6-0: Adding custom operators, and ignoreorderfunc. Bugfix: verboselevel==0 should disable valueschanges. Bugfix: unprocessed key error.

- Python
Published by seperman over 4 years ago

deepdiff - 5.5.0

  • v5-5-0: adding iterablecomparefunc for DeepDiff, adding output_format of list for path() in tree view.
  • v5-4-0: adding strict_checking for numbers in DeepSearch.

- Python
Published by seperman almost 5 years ago

deepdiff - 5.3.0

  • v5-3-0: add support for regular expressions in DeepSearch

- Python
Published by seperman almost 5 years ago

deepdiff - 5.2.3

  • v5-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.

- Python
Published by seperman about 5 years ago

deepdiff - 5.2.2

Fixed Delta serialization when None type is present.

- Python
Published by seperman about 5 years ago

deepdiff - 5.2.1

  • v5-2-0: Removed Murmur3 as the preferred hashing method. Using SHA256 by default now. Added commandline for deepdiff. Added groupby. Added mathepsilon. Improved ignoring of NoneType.

- Python
Published by seperman about 5 years ago

deepdiff - 5.0.2

  • v5-0-2: Bug Fix NoneType in ignore type groups https://github.com/seperman/deepdiff/issues/207
  • v5-0-1: Bug fix to not apply format to non numbers.

- Python
Published by seperman over 5 years ago

deepdiff - 5.0.0

  • v5-0-0: Introducing the Delta object, Improving Numpy support, Fixing tuples comparison when ignoreorder=True, Dramatically improving the results when ignoreorder=True by running in passes, Introducing pretty print view, deepdistance, purge, progress logging, cache and truncatedatetime.

- Python
Published by seperman over 5 years ago

deepdiff - 4.3.2

v4-3-2: Deprecation Warning Enhancement

- Python
Published by seperman almost 6 years ago

deepdiff - 4.3.1

  • v4-3-1: Fixing the issue with exclude_path and hash calculations when dictionaries were inside iterables. https://github.com/seperman/deepdiff/issues/174
  • v4-3-0: adding excludeobjcallback

- Python
Published by seperman almost 6 years ago

deepdiff - 4.2.0

4.2.0 Release

  • .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 boolean as element.

  • v4-0-9: Fixing the bug for hashing custom unhashable objects

  • v4-0-8: Adding ignorenaninequality for float('nan')

- Python
Published by seperman about 6 years ago

deepdiff - 4.0.7

v4-0-7: Hashing of the number 1 vs. True

- Python
Published by seperman over 6 years ago

deepdiff - 4.0.6

Found a tiny bug in Python formatting of numbers in scientific notation. Added a workaround.

- Python
Published by seperman almost 7 years ago

deepdiff - 4.0.5

  • v4-0-5: Fixing number diffing. Adding numberformatnotation and numbertostring_func.

- Python
Published by seperman almost 7 years ago

deepdiff - 4.0.4

  • v4-0-4: Adding ignorestringcase and ignoretypesubclasses
  • 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.

- Python
Published by seperman almost 7 years ago

deepdiff - 4.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 ignoretypeingroups. Adding matchstring to DeepSearch. Adding Timedelta object diffing.

- Python
Published by seperman almost 7 years ago