Change Log
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased
1.4.0 - 2018-06-09
Added
- Introduced experimental support for disabling unicode support through
:text_delta.support_unicodeconfig. This is useful, because disabling grapheme handling drastically speeds up all string operations (used heavily). If you implementation does not need support of unicode, using this config can greatly improve performance of the library.
Fixed
- Small performance optimisations by avoiding unnecessary
String.lengthcalls
1.3.0 - 2017-12-29
Added
&TextDelta.lines/1and&TextDelta.lines!/1&TextDelta.diff/2and&TextDelta.diff!/2
1.2.0 - 2017-05-29
Added
&TextDelta.apply/2and&TextDelta.apply!/2
Changed
- Moved repository under
deltadocorganisation. - Text state is now represented with
TextDelta.statetype rather thanTextDelta.documentthroughout the codebase.TextDelta.documentis still there in form of an alias forTextDelta.state.
1.1.0 - 2017-05-02
Added
- Property-based tests for composition, transformation and compaction
Fixed
- Insert duplication bug during delta compaction
- Delete/Delete misbehaviour bug during composition
Changed
TextDelta.Deltais now justTextDeltaTextDelta.Delta.*modules moved intoTextDelta.*TextDeltanow generates and operates on%TextDelta{}structTextDelta.Deltais still there and works like before in form of a BC layer, so your existing code would still work while you upgrade. To be removed in 2.x- Slightly improved documentation across modules
1.0.2 - 2017-03-29
Fixed
- Bug when composition of delete with larger retain resulted in broken delta
Removed
- Config
1.0.1 - 2017-03-23
Added
- Test cases for string-keyed maps as attributes
- More context and information to Readme
- Changelog
Changed
- Improved documentation across modules
- Cleaned up code to follow Elixir Style Guide
1.0.0 - 2017-03-18
Added
- Delta construction and manipulation logic
- Attributes support in
insertandretain - Delta composition and transformation with attributes supported