Releases: knickish/structdiff
Releases · knickish/structdiff
v0.7.0
Changes in this release:
- Updated the
ordered_array_like
collection strategy (breaking change for diffs serialized before v0.7.0)- Hirschberg's algorithm used (instead of Levenshtein-only) for dramatically lower memory usage (quadratic -> linear)
- Optimized the Levenshtein implementation slightly
- Using a rope instead of a stdlib
vec
when applying changes for much lower memory usage + speedups
- The
unordered_map_like
collection strategy no longer sends the value when deleting an entry - Lots of updates to benchmarks
v0.6.3
Changes in this release:
- Added the
ordered_array_like
collection strategy, which uses levenshtein distance to create changesets for ordered collections - Fixed a case where generated setters would not update the base struct when combined with a collection strategy
v0.6.2
This release adds two changes to increase performance of diffing collections:
- size hints are used internally to decrease amount of time spent allocating (~5-8% faster according to in-repo benchmarks)
rustc_hash
is added as a (feature gated) dependency for cases where a non-cryptographic hash is acceptable (~50-60% faster according to in-repo benchmarks)