Releases: fiduswriter/diffDOM
more effective subsets
- cache subsets for node group moving
- add settings:
- maxDepth (default: false) false or a numeral. If set to a numeral, limits the level of depth that the the diff mechanism looks for differences. If false, goes through the entire tree.
- maxChildCount (default: 50) false or a numeral. If set to a numeral, does not try to diff the contents of nodes with more children if there are more than maxChildDiffCount differences among child nodes.
better id matching
Changes:
- make elements not match if they both have IDs and IDs don't match (contributed by @GreenGremlin)
- handle innerHTML of textareas (contributed by @GreenGremlin)
- remove bower file (leaving us only with npm)
modules and speed optimization
Improvements:
- AMD module support
- removal of ES6 features for speed improvement
- optional compressed diffs
code clean
small code clean
expose Diff object
Features:
- Expose Diff object
Fixes:
- Reverse actions for modifyComment/Text
- Simplify diff on some text only diffs
- Simplify diff on single element removal
Changed value fix
Changes:
-- fixes bug when trying to diff against a value that consisted of an empty string.
short license, minifiers, diff hooks
Changes
- add pre/post diff hooks
- allow shortcircuit of diffing
- support minifiers
- removed JavaScript reserved keywords
- set short license identifier to "LGPL-3.0" (for Docker, etc.)
SVG fixes
This fixes SVG internal diffing.
speed and stability
This is the first major update of the stable version of diffDOM. The main advantages over version 1.2.0 are:
-- Speed: By using a virtual dom internally and making the diff finding mechanism more efficient, this version is about 50 times faster than version 1.2.0
-- Stability: Through extensive testing of random content over long periods of time, most of the remaining bugs have been dealt with. We have not been able to find errors in the diffing mechanism despite of having the computer spend hours on "mining" for bugs.
5 hours and no bugs found
The random-unlimited test has run more than five full hours without running into issues. This makes it more stable than all of the previous versions, including the latest stable 1.2.0 version, for which it usually didn't take more than 5-10 minutes to find bugs.
Unless more issues are found within the next 48h, this version is going to be re-released as version 2.0.0 stable.