Changelogs » Dictdiffer

PyUp Safety actively tracks 263,166 Python packages for vulnerabilities and notifies you when to upgrade.



- Fix invalid diff output for sets. (jirikuncar danielduhh)  (133 134)


- Respect `dot_notation` flag in ignore argument (yoyonel) (107)
  - Adds argument for toggling dot notation in diff. (robinchew)


- Two NaN values are considered the same, hence they are not shown in `diff`
  output.  (114) (t-b)
  - Refactors `diff` method to reduce recursive call stack size.  (112)
  - Python porting best practice use feature detection instead
  of version detection to save an import and pass both PyLint
  and Flake8 tests with neither 'pragma' nor 'noqa'.  (cclauss)


- Resolves issue with keys containing dots.  (101)


- Fixes problem with diff results that reference the original structure by
  introduction of `deepcopy` for all possibly unhashable items. Thus the diff
  does not change later when the diffed structures change.
  - Adds new option for patching and reverting patches in-place.
  - Adds Python 3.6 to test matrix.
  - Fixes the `ignore` argument when it contains a unicode value.


- Changes order of items for REMOVE section of generated patches when
  `swap` is called so the list items are removed from the end. (85)
  - Improves API documentation for `ignore` argument in `diff` function.
  - Executes doctests during PyTest invocation.


- Adds support for comparing NumPy arrays.  (68)
  - Adds support for comparing mutable mappings, sequences and sets from
  `collections.abs` module.  (67)
  - Updates package structure, sorts imports and runs doctests.
  - Fixes order in which handled conflicts are unified so that the
  Merger's unified_patches can be always applied.


- Adds tolerance parameter used when user wants to treat closed values
  as equals
  - Adds support for comparing numerical values and NaN. (54) (55)


- Adds support for diffing and patching of sets. (44)
  - New tests for diff on the same lists. (48)
  - Fix for exception when dict has unicode keys and ignore parameter is
  provided. (50)
  - PEP8 improvements.


- Adds ignore argument to `diff` function that allows skipping check
  on specified keys. (34 35)
  - Fix for diffing of dict or list subclasses. (37)
  - Better instance checking of diffing objects. (39)


- Fix for empty list instructions. (30)
  - Regression test for empty list instructions.


- Fix for list removal issues during patching caused by wrong
  iteration. (10)
  - Fix for issues with multiple value types for the same key. (10)
  - Fix for issues with strings handled as iterables. (6)
  - Fix for integer keys. (12)
  - Regression test for complex dictionaries. (4)
  - Better testing with Travis CI, tox, pytest, code coverage. (10)
  - Initial release of documentation on ReadTheDocs. (21 24)
  - Support for Python 3. (15)


- List diff behavior treats lists as lists instead of sets. (3)
  - Differed typed objects are flagged as `changed` now.
  - Swap function refactored.


- Initial public release on PyPI.