v0 Roadmap
On your marks
1 v0 ✅ Complete
1.1 0.1.0-dev.1 → 0.1.0 ✅ Complete
Release gate based on the 0.1.0-dev.1 release
review, plus one cross-repo hardening item (B4) raised by the KMDB
0.10.01 track.
0.1.0 was published to pub.dev on
2026-08-24. Every blocker and non-blocking item below is
closed. The review’s one caveat on a public publish — that the README
disclose iOS/Android as locally validated but not covered by automated
CI — was addressed before the release. The Deferred table below seeds
the next roadmap.
1.1.1 Blockers for 0.1.0
| # | Plan | Status | Notes |
|---|---|---|---|
| B1 | WASM CI freshness check | Done | verify-wasm CI job rebuilds and diffs
lib/assets/zstd.wasm under pinned Emscripten;
test-web gated on it |
| B3 | Pin any constraints in pubspec.yaml |
Done | code_assets ^1.0.0, hooks ^1.0.3,
logging ^1.3.0, ffigen ^20.1.1 |
| B4 | Bound the decompression allocation (S-2) + fix a native compress leak (F-1) | Done | From KMDB WI-8. decompress gained a
maxOutputBytes bound (default 64 MiB,
ZstdLimitExceededException on rejection) rejecting negative
and over-cap declared sizes on both native and web; native
compress no longer leaks on a mid-allocation failure; web
_malloc now checks for a null return. No version bump —
entries went into the existing ## 0.1.0-dev.4 CHANGELOG
heading. Publishing remains a maintainer action riding KMDB WI-9 |
1.1.2 Non-blocking (before pub.dev publish)
| # | Item | Status | Notes |
|---|---|---|---|
| N2 | Add .pubignore |
Done | Excludes integration_test_app/, src/,
docs/, test/fixtures/, site/,
coverage/ |
| N3 | Reconcile init() signatures |
Done | wasmUrl optional param added to native and stub;
ignored on non-web platforms |
| N4 | Fix spec Public API section | Done | Removed unexported consts; corrected init() signature;
added ZstdException |
| N5 | Remove unused constructor params | Done | Dropped inputBufferLength and
outputBufferLength from all three implementations |
| N7 | Typed exception class | Done | ZstdException implements Exception added; all
throw Exception(...) replaced |
1.1.3 Deferred (post-0.1.0)
| Plan | Notes |
|---|---|
| Vendored C source update automation | make update_zstd VERSION=x.y.z target |
| iOS and Android CI coverage | Mobile builds validated locally via make android_test /
make ios_test; automated CI deferred post-0.1.0 |
| Non-blocking compression on web/WASM | ZstdSimple.compress/decompress run
synchronously on the calling thread; on native, callers can offload via
Isolate.run today, but web’s WASM module state is a
top-level global — investigate whether Isolate.run
(worker-backed on web) works cleanly per-instance, or whether the
package needs its own async/worker-aware API |