Zipp releases
Zipp publishes GitHub Releases only: native x86-64 CLI archives for Windows and Linux, and two WebAssembly archives. Eighteen tags shipped in sixteen days between 30 August and 14 September 2026. This page lists them, explains what a release has to pass, and links the notes.
Latest: v0.0.18, 14 September 2026
JavaScript and experimental Python now share Zipp's browser VM, with a folder-based playground, CPU tensor operations and an explicit browser GPU execution path. This is the first release whose WebAssembly archive includes Python.
- Load Python project folders, packages, arguments and binary data into the playground; inspect console output, graphics and versioned virtual-file changes.
- Write supported tensor programs with
import torch, including CPUConv2dwith autograd and dense GPU forward, backward and SGD steps checked against PyTorch reference values. - Execute supported graphs on WebGPU, WebGL2, CPU WASM kernels or JavaScript.
- An interactive Game of Life with portable Torch rules, looping recordings, and the embedded
/playground/route.
| Asset | Contents |
|---|---|
zipp-0.0.18-x86_64-pc-windows-msvc.zip | Native CLI for Windows: JavaScript with the x86-64 JIT, plus experimental Python |
zipp-0.0.18-x86_64-unknown-linux-gnu.tar.gz | Native CLI for Linux, same contents |
zipp-wasm-0.0.18-web.zip | JavaScript-only browser engine, TypeScript bindings and the Worker host SDK |
zipp-wasm-0.0.18-web-python.zip | JavaScript + Python, the browser GPU adapter, CPU WASM kernels and the Torch compatibility guide |
SHA256SUMS | Checksums for every asset; each WASM archive also carries BUILD-INFO.txt and PROFILE.json |
Release notes and downloads on GitHub · docs/releases/0.0.18.md
Install
# Linux
curl -LO https://github.com/f2i-com/zipp.org/releases/download/v0.0.18/zipp-0.0.18-x86_64-unknown-linux-gnu.tar.gz
tar xzf zipp-0.0.18-x86_64-unknown-linux-gnu.tar.gz
./zipp js hello.js
# From source, any platform with Rust 1.92
git clone https://github.com/f2i-com/zipp.org && cd zipp.org
cargo build --locked --release
./target/release/zipp --version --jsonZipp is not on crates.io or npm yet. The WebAssembly archives are meant to be served by your own host; the WebAssembly page explains the Worker model and cache-key discipline.
What a release has to pass
Pushing a vX.Y.Z tag runs the release workflow. It refuses to publish unless the tag object matches the checkout; the root Cargo.toml, the WebAssembly crate and the landing page all carry the same version; and the reusable CI, the full security workflow (including the pinned Test262 corpus), the native build and the WebAssembly build all pass at that exact commit. A green main at some other revision is not a release gate. The job is retry-safe: it re-downloads existing assets, verifies SHA256SUMS, and checks that BUILD-INFO.json is not dirty and names the right commit before deciding to do nothing.
All releases
| Version | Date | Headline |
|---|---|---|
| v0.0.18 | 2026-09-14 | Python playground, Torch GPU support and conformance updates; first WebAssembly archive with Python |
| v0.0.17 | 2026-09-12 | Audited engine hardening: VM rooting, coercion, TypedArray, parser, GC and metadata; preserves the exact 95,939 / 95,942 Test262 result on the previous corpus |
| v0.0.16 | 2026-09-12 | The two audits of 11 September: 24 engineering tickets and 14 close-audit tickets |
| v0.0.15 | 2026-09-07 | The audit response: spec-order method calls by default, accel spec grammar, transactional host.call, zippProfile(), CI gate |
| v0.0.14 | 2026-09-06 | The accel bridge |
| v0.0.13 | 2026-09-02 | A host-sized instruction budget |
| v0.0.12 | 2026-09-02 | Inline stores into pinned young dense arrays; x | 0 fused into the wrapping add; 21 of 30 benchmark rows faster than Node |
| v0.0.11 | 2026-09-02 | Register classes keep tokenizer loops on the INT tier (parse-large-js 1.24× to 0.88× Node); a forced-JIT segfault on user-overridden Math.random fixed |
| v0.0.10 | 2026-09-01 | Hardened limits sized for applications rather than snippets: 1 GB instance ceiling, 512 MB heap budget |
| v0.0.9 | 2026-09-01 | Collections scheduled on bytes, not only allocation count, after an emulator died ninety seconds into a game |
| v0.0.8 | 2026-09-01 | renewInstructionBudget and setFingerprintSeed; the 50M lifetime budget had been a fuse on every long-running embedder |
| v0.0.7 | 2026-09-01 | ArrayBuffer ceiling raised from 1 MB to 32 MiB |
| v0.0.6 | 2026-09-01 | Runtime optimization, exact WebAssembly benchmarks, QuickJS-NG comparison source |
| v0.0.5 | 2026-08-31 | Benchmark evidence publication |
| v0.0.4 | 2026-08-31 | getGlobalsFingerprint: a content digest so a mutation through a reference cannot be missed; per-tick host sync 9.6 ms to 2.1 ms |
| v0.0.3 | 2026-08-31 | Interpreter-only WASM stops an O(heap) walk; JSON.stringify ×4000 from 919 ms to 8.5 ms; wasm-opt dropped after measurement |
| v0.0.2 | 2026-08-31 | The boundary tax: the host boundary stopped walking the whole heap per re-entry; parser sandbox limits raised |
| v0.0.1 | 2026-08-30 | First native and WebAssembly distribution |
Release notes for v0.0.1 through v0.0.17 live in the annotated tag messages; v0.0.18 is the first with a notes file in docs/releases/. The engineering journal tells the story between the tags.