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 CPU Conv2d with 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.
v0.0.18 assets
AssetContents
zipp-0.0.18-x86_64-pc-windows-msvc.zipNative CLI for Windows: JavaScript with the x86-64 JIT, plus experimental Python
zipp-0.0.18-x86_64-unknown-linux-gnu.tar.gzNative CLI for Linux, same contents
zipp-wasm-0.0.18-web.zipJavaScript-only browser engine, TypeScript bindings and the Worker host SDK
zipp-wasm-0.0.18-web-python.zipJavaScript + Python, the browser GPU adapter, CPU WASM kernels and the Torch compatibility guide
SHA256SUMSChecksums 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

From a release archive
# 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 --json

Zipp 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

Tags, dates and the headline from each tag annotation
VersionDateHeadline
v0.0.182026-09-14Python playground, Torch GPU support and conformance updates; first WebAssembly archive with Python
v0.0.172026-09-12Audited 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.162026-09-12The two audits of 11 September: 24 engineering tickets and 14 close-audit tickets
v0.0.152026-09-07The audit response: spec-order method calls by default, accel spec grammar, transactional host.call, zippProfile(), CI gate
v0.0.142026-09-06The accel bridge
v0.0.132026-09-02A host-sized instruction budget
v0.0.122026-09-02Inline stores into pinned young dense arrays; x | 0 fused into the wrapping add; 21 of 30 benchmark rows faster than Node
v0.0.112026-09-02Register 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.102026-09-01Hardened limits sized for applications rather than snippets: 1 GB instance ceiling, 512 MB heap budget
v0.0.92026-09-01Collections scheduled on bytes, not only allocation count, after an emulator died ninety seconds into a game
v0.0.82026-09-01renewInstructionBudget and setFingerprintSeed; the 50M lifetime budget had been a fuse on every long-running embedder
v0.0.72026-09-01ArrayBuffer ceiling raised from 1 MB to 32 MiB
v0.0.62026-09-01Runtime optimization, exact WebAssembly benchmarks, QuickJS-NG comparison source
v0.0.52026-08-31Benchmark evidence publication
v0.0.42026-08-31getGlobalsFingerprint: 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.32026-08-31Interpreter-only WASM stops an O(heap) walk; JSON.stringify ×4000 from 919 ms to 8.5 ms; wasm-opt dropped after measurement
v0.0.22026-08-31The boundary tax: the host boundary stopped walking the whole heap per re-entry; parser sandbox limits raised
v0.0.12026-08-30First 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.