Skip to content

v0.3.0

Latest

Choose a tag to compare

@LittleSound LittleSound released this 20 Oct 12:49
· 1 commit to main since this release
v0.3.0
7ebc823

Features

  • Export QR sequences as animated GIF (#27)
  • Cap encoded block degree (#30, closes #23): the fountain encoder now uses a Robust Soliton distribution (c = 0.2, δ = 0.5) truncated at maxDegree (default 32). For large inputs this needs roughly 15% fewer frames and decodes much faster (k=1000: 144% → 128% mean overhead, ~40× faster decoding; k=3000 previously ran out of memory).
    • luby-transform: createEncoder(data, sliceSize, options) accepts { compress?, maxDegree?, random? }. A boolean third argument still means compress. New export DEFAULT_MAX_DEGREE.
    • @qifi/generate: new maxDegree option.
    • qifi CLI: new --max-degree <count> flag.

Fixes

  • Prefer the rear camera by default (#29, closes #26): the scanner requests facingMode: environment unless the user explicitly picked a camera, no longer triggers extra permission prompts, and serializes camera switching to avoid leaked streams.

Compatibility

  • No breaking API changes. The frame format is unchanged, so scanners and decoders from earlier versions can decode frames produced by 0.3.0.
  • Behavior change: default degree distribution changed from uncapped Ideal Soliton to capped Robust Soliton; frame headers are now bounded (≤ 144 bytes).

Docs

  • Document maxDegree and the new degree distribution in the package READMEs.

Full Changelog: v0.2.0...v0.3.0