Releases: tommyettinger/BlazingChain
1.4.4.4 with Performance Improvements
The main draw of this release is that, on non-GWT targets, it allocates no temporary memory on large char[]
values, and it performs about 30% to 50% better on small inputs (tested on sentences with roughly 16 dictionary words, showing diminishing gains on larger inputs). It should have the same performance on GWT, since nothing was changed there. The extraneous +
in URI-encoded output is now gone, thanks to @Clever-Cavy 's PR. I hope this is useful and that I haven't introduced any new bugs! If you do encounter any issues, I would appreciate any reports in the Issues of this repo; the 1.4.4.3 release should also still work if there are bugs here.
Version 1.4.4.3 with improved GWT performance
This version makes minimal changes to the normal JVM-based compression, though it does correct some issues with URI encoding (before, it could use ' '
in URI-encoded compressed texts, which isn't valid, and it had to duplicate the compressed text to replace one space with a '+'
). Most of the changes are related to a significant improvement to GWT performance, gained by using GWT's JSNI feature to use JavaScript directly in the large, internal _compress()
and _decompress()
functions. This uses a slightly-edited version of the original lz-string library, which is also MIT-licensed.
Version 1.4.4.2, bugfix and GWT support
This release includes the GWT improvements from 1.4.4.1 (not released on GtHub) as well as a fix for a bug that resulted in corrupted decompression when the dictionary got too large. The recommended way to depend on this is by Maven Central still (which is usable from Maven, Gradle, and most other JVM build tools), and the README.md will be updated with info on getting 1.4.4.2 via Maven Central. These .jar releases should work fine, though, if you don't want to use a dependency manager. This release may require Java 7 or newer instead of Java 6 or newer as in earlier versions; GWT 2.8.0 can handle Java 7 language features without issues, Android can handle most of Java 7 (all of what this could use) and there are no Java 7 features used in the library itself as far as I can tell (only in tests). If the language level is an issue, feel free to post an issue, and I'll see if I can post another release if this impacts anyone.
Version 1.4.4
This is just a further-optimized version of rufushuang's lz-string4java, with changes to better support GWT (there's a sources jar that contains a .gwt.xml file needed for that platform). If you use a dependency-managing build tool like Maven or Gradle, the README.md file for this repo has information for how to have that tool acquire this library.