|
| 1 | +# TASK-209 — Release 0.16.300-preview (Zig CR-SQLite) |
| 2 | + |
| 3 | +## Goal |
| 4 | +Ship the first public preview release `0.16.300-preview`, targeting backwards compatibility with the abandoned upstream `cr-sqlite` `v0.16.3` surface. |
| 5 | + |
| 6 | +## Status |
| 7 | +- State: backlog |
| 8 | +- Priority: HIGH (primary focus) |
| 9 | +- Version: `0.16.300-preview` |
| 10 | +- Created: 2025-12-25 |
| 11 | + |
| 12 | +## Release Definition (what “done” means) |
| 13 | +The release is considered ready when: |
| 14 | +1. All required artifacts are produced and verifiable (native + WASM + browser bundle). |
| 15 | +2. Distribution channels are publishable: |
| 16 | + - npm (OIDC) via `effect-native` |
| 17 | + - GitHub Releases for native binaries |
| 18 | + - nix via GitHub tags |
| 19 | +3. Tom personally signs off the release readiness decision. |
| 20 | + |
| 21 | +## Blockers (must be cleared) |
| 22 | + |
| 23 | +### Tom sign-off (explicit gate) |
| 24 | +- [ ] **Tom release sign-off recorded**: `.wishes/blocked-on-tom/release-readiness-decision.md` |
| 25 | + |
| 26 | +### Required build artifacts |
| 27 | +- [ ] **WASM build works on current Zig toolchain** (prior CI notes mention Zig 0.14 incompatibility) |
| 28 | + - Related: `.tasks/backlog/TASK-207-reenable-ci-for-release.md` |
| 29 | +- [ ] **Browser bundle uses local CR-SQLite WASM** (not CDN sql.js) |
| 30 | + - Evidence of prior gap: `.tasks/done/TASK-069-wire-scratchpads.md` |
| 31 | + |
| 32 | +### CI / validation |
| 33 | +- [ ] **CI re-enabled and passing** on Linux + macOS, including WASM |
| 34 | + - Task: `.tasks/backlog/TASK-207-reenable-ci-for-release.md` |
| 35 | +- [ ] **Oracle-dependent tests have a CI strategy** |
| 36 | + - Either provide Rust/C oracle binaries in CI OR explicitly skip oracle-dependent jobs. |
| 37 | + - Evidence of issue: `.tasks/done/TASK-206-disable-ci-temporarily.md` |
| 38 | + |
| 39 | +### Packaging / distribution wiring |
| 40 | +- [ ] **npm release path defined and implemented in `effect-native/`** (OIDC publish) |
| 41 | + - Note: TypeScript changes must be spec-gated under `effect-native/.specs/`. |
| 42 | +- [ ] **GitHub Release artifact matrix defined + produced** (at minimum darwin + linux) |
| 43 | +- [ ] **nix packaging hooks validated via tag** (flake / fetch-from-git tag flow) |
| 44 | + |
| 45 | +### Backwards-compat surface verification |
| 46 | +- [ ] **Required upstream surface areas confirmed** for `0.16.3`-compat |
| 47 | + - This is a checklist task: enumerate what “backwards compatible” means for this release (functions, tables, wire behavior). |
| 48 | + - The goal is to avoid accidentally shipping a preview missing required pieces. |
| 49 | + |
| 50 | +## Files to Modify |
| 51 | +- `.tasks/backlog/TASK-209-release-0.16.300-preview.md` (this file) |
| 52 | + |
| 53 | +## Acceptance Criteria |
| 54 | +1. [ ] Every blocker above has an owning `.tasks/**/TASK-*.md` card (or explicit rationale why not) |
| 55 | +2. [ ] Each blocker has a clear verification command or observable proof |
| 56 | +3. [ ] Blockers list stays current as new gaps are discovered |
| 57 | + |
| 58 | +## Parent Docs / Cross-links |
| 59 | +- Release sign-off: `.wishes/blocked-on-tom/release-readiness-decision.md` |
| 60 | +- CI disabled: `.tasks/done/TASK-206-disable-ci-temporarily.md` |
| 61 | +- CI re-enable: `.tasks/backlog/TASK-207-reenable-ci-for-release.md` |
| 62 | +- Canonical gap tracking: `research/zig-cr/92-gap-backlog.md` |
| 63 | + |
| 64 | +## Progress Log |
| 65 | +- 2025-12-25: Created release tracking task; blockers captured from existing evidence. |
| 66 | + |
| 67 | +## Completion Notes |
| 68 | +(Empty until done.) |
0 commit comments