Compression improvements:
- The compressor now uses a specialized WebAssembly implementation by default. (c2bd435, d9a3897)
- Cache the result of JavaScript code transformation during the optimization. Combined with the WebAssembly implementation, the optimization is up to 2.5 times faster than 2.0.0. (02d09a3)
- Removed a special result by the optimizer for turning JS inputs into texts and made the equivalent a separate option (
-Zdy
). This also allows for using JS-specific modelling for texts if beneficial, and avoids the UI confusion present in the online demo. (4dd5fe7) - The rANS state is now embedded directly into the compressed data. (48ace3d)
- The decoder is now slightly smaller. (819a574, eb74630, c6a88ee)
- Tools no longer generate a newline between the first and second "lines". (eb06edd)
UI/API improvements:
-OO
option is added to the CLI, which runs a series of optimizations forever until a user request. The optimization now proceeds using the best parameters so far when the user has aborted the search with Ctrl-C even in other optimization levels. (974a9ee)- Renamed
ArrayBufferPool
toResourcePool
to allow using it for other uses (e.g. WebAssembly modules). Also made it clear thatResourcePool.allocate
should not be used outside of Roadroller. (3f073cf) - Packer now creates its own
ResourcePool
if not given, soPacker.optimize
is now equally fast with or without the pool. (2c727ea) - The online demo deallocates the pool a minute after the last compression. (5e86a59)
compressWithDefaultModel
has been added as a shortcut (and optimized version) forcompressWithModel
withDefaultModel
. (1a644e9)
Bugfixes:
- Fixed a typo in
index.d.ts
. (3f073cf)
Deprecations: