Skip to content

2.0.0: I-did-not-expect-to-bump-the-major-version-this-early edition

Compare
Choose a tag to compare
@lifthrasiir lifthrasiir released this 27 Aug 18:35
· 20 commits to main since this release

Breaking Changes:

  • The first line and second line are no longer guaranteed to be separate statements. In particular the documentation accidentally suggested that two lines can be (but are not recommended to be) in separate files, necessitating a breaking change.
  • DirectContextModelOptions.modelRecipBaseCount is now required. The value of 2 is identical to the 1.x behavior.
  • Deprecated APIs have been removed.
    • OptimizerProgressInfo.temperature: Use ratio instead.
    • optimizeSparseSelectors function and Packer.optimizeSparseSelectors method: Use Packer.optimize instad.
    • PackerOptions.learningRateNum/Denom: Use PackerOptions.recipLearningRate instead.

Compression improvements:

  • Added a new tunable modelRecipBaseCount parameter (-Zmd in the CLI) with a new default, allowing ~3% additional improvements. (4e8041c, 2071861, 717f7ee)
  • The decoder is now slightly smaller. (9cf1845)

UI/API improvements:

  • #14: -O1 is now a quick search that only takes ~10s for typical inputs. The old -O1 is renamed to -O2. (df5c8ed)
  • The CLI now defaults to -O1 if no optimizable arguments are given. Use -O0 to explicitly disable the optimization. (a610f68)
  • The estimated compressed size is now more accurate. (8732d3d)
  • The online demo is now slightly more mobile friendly. (10b0bbe)

Bugfixes:

  • #7: The output no longer pollutes the global scope by default. New allowFreeVars option (-D in the CLI) can be used to allow the decoder to be "dirty". (70fae12, ecd8116)
  • #15: The optimizer now works in Node.js 14. It is still strongly recommended to use Node.js 16 because 14 is significantly slower. (13d9c8d)
  • Fixed a bug where -Zco -M (but not -M -Zco) was incorrectly allowed in the CLI. (ecd8116)
  • Packed.freeVars was missing one variable. (740f2b5)