Graphtage Versions Save

A semantic diff utility and library for tree-like files such as JSON, JSON5, XML, HTML, YAML, and CSV.

v0.3.1

4 months ago
  • Adds a programmatic debugging mode
  • Fixes several bugs that could cause crashes or infinite loops
  • Removes support for Python 3.7 primarily due to upstream dependencies
  • Adds support for securely diffing Python pickle serializations
  • Adds a DataClass node type, drastically simplifying the implementation of custom container nodes
  • Adds cycle detection when building trees from Python objects
  • Adds a Builder class, drastically simplifying building Graphtage trees from custom, non-Graphtage data structures
  • Adds a graphtage.ast module with node types to specify abstract syntax trees

v0.3.0

9 months ago

Fixes a bug in diffing in-memory Python objects with complex nested structures.

The version number bump from 0.2.9 to 0.3.0 is…

  1. indicative of Graphtage's maturity rather than any major new features;
  2. intended to avoid version numbering ambiguity between 0.2.1 and a hypothetical 0.2.10; and
  3. to motivate the Graphtage maintainers to switch to a better version numbering scheme … for a later release.

v0.2.9

10 months ago

Significant performance improvements, particularly when processing large inputs. Improvements to logging.

v0.2.8

10 months ago

Bugfix release:

Fixes an issue where intermediate cost bounds for iterative Levenshtein distance calculations could overestimate the cost of the final, minimum-cost edit. This could lead to infinite loops. This fix will also likely increase matching performance.

v0.2.7

1 year ago

Adds two new features:

  1. human-readable edit digests with the --edit-digest option; and
  2. the ability to diff in-memory Python objects (see the documentation).

v0.2.6

2 years ago

Adds new strategies for matching dictionary key/value pairs, and switches the default strategy to a much faster version. This will drastically increase matching speed for larger files. See the new --dict-strategy option and the documentation in Pull Request #51 for more information.

This release is also the first with official binary distributions, currently built for macOS (Intel) and Linux. We plan to later add support for Windows. This is an experimental feature and is not fully tested.

v0.2.5

3 years ago

Adds experimental support for diffing Apple property list files.

v0.2.4

3 years ago

This release adds support for Python 3.9.

v0.2.3

3 years ago

Bugfix release:

  • Require a newer version of typing-extensions to circumvent an upstream regression with Python 3.7 compatibility (#30)
  • Fix child traversal ordering in DFS (#37)

v0.2.2

3 years ago

Bugfix release adding support for null/None types in JSON. (See Issue #21.)