Skip to content

v0.2.48 — sdivi-rust v0.2.48 — Smaller WASM artifact and a green CI surface

Choose a tag to compare

@GeoffGodwin GeoffGodwin released this 02 Jun 21:39
· 7 commits to main since this release
a850e8a

sdivi-rust v0.2.48 — Smaller WASM artifact and a green CI surface

A maintenance release (M48) that follows v0.2.47. It ships a ~25% smaller
@geoffgodwin/sdivi-wasm .wasm and restores a fully green CI surface by fixing
three pre-existing, mutually-masking gate failures that the M34–M47 batch carried.
There are no functional changes: same analysis behaviour, same wasm-bindgen
surface, same snapshot_version "1.0", same public API.

Highlights

  • WASM artifact ~25% smaller. The bundler and node targets now build with the
    size-optimised release-wasm settings (opt-level="z", fat LTO,
    codegen-units=1), driven through wasm-pack via job-scoped
    CARGO_PROFILE_RELEASE_* env overrides (sidestepping the wasm-pack 0.13.x
    --release/--profile conflict). Both targets drop from ~2,062,372 to
    ~1,531,484 bytes. Behaviour is byte-for-byte equivalent.
  • WASM bundle-size gate green again. M34–M47's new pattern-category regex
    tables had pushed the .wasm over the 1.75 MB per-target budget; the optimised
    build lands back under it with ~300 KB headroom — no budget bump needed.
  • M47 consumer-surface typecheck made deterministic. tests/typecheck/tsconfig.json
    now includes "DOM" in lib, so console (used throughout the documented
    examples) resolves on every CI runner instead of depending on an ambient
    @types/node. A self-referential guard comment in negative.ts that began with
    the literal @ts-expect-error token (parsed by TypeScript as a real directive)
    was reworded.
  • Rustdoc fix. classify_hint's documentation linked to the private
    CALL_DISPATCH const, failing cargo doc under RUSTDOCFLAGS="-D warnings".
    The link is now a plain code span.

What did not change

  • snapshot_version is still "1.0". Snapshot JSON, pattern_metrics,
    DivergenceSummary, and the 19-category contract are all unchanged from v0.2.47.
  • No public API change, no new .sdivi/config.toml keys, no new pub items.
  • The WASM dependency invariant (Rule 21) holds; the dependency tree is unchanged
    — only the codegen profile differs.
  • Determinism, atomic-write, retention, and exit-code contracts are unchanged.

Install

# crates.io
cargo install sdivi-cli

# pre-built binary (Linux x86_64 example)
curl -Lo sdivi https://github.com/GeoffGodwin/sdivi-rust/releases/download/v0.2.48/sdivi-x86_64-unknown-linux-gnu
chmod +x sdivi && mv sdivi ~/.local/bin/

# WASM / npm
npm install @geoffgodwin/sdivi-wasm@0.2.48

Documentation

Released under Apache 2.0.

What's Changed

  • ci: green up post-v0.2.47 CI (wasm size + M47 typecheck + rustdoc link) by @GeoffGodwin in #6

Full Changelog: v0.2.47...v0.2.48