v0.2.2: Blaze
Burn v0.2.2: Codename BLAZE
BURN: Polyglot, deterministic, sandboxed WebAssembly runtime.
🚀 The polyglot release. afterburner goes from a JavaScript/TypeScript sandbox to a SINGLE RUNTIME that runs, compiles, and packages eight languages, each into a self-contained WASM artifact, with zero configuration. 🎉
🌐 Languages
- 8️⃣ Eight languages, one runtime: JavaScript, TypeScript, Python, Ruby, Rust, Go, C, and C++. Every language gets
burn run,burn repl --lang,burn compile,burn package, and aburn new --langscaffold. - 🐍 Python, zero-config:
burn run script.pyworks out of the box and imports the scientific stack (numpy, pandas, polars). Network sockets and a durable filesystem are available to Python programs. - 💎 Ruby, zero-config:
burn run script.rbandburn repl --lang rubyrun a self-contained Ruby with no setup; gem dependencies are resolved and vendored.
⚙️ Compile to WebAssembly
- 📦 Every language compiles to a self-contained
.afbblob: Python and Ruby pack their interpreter, your source, the standard library, and dependencies into one content-addressed WebAssembly artifact; Rust, Go, C, and C++ compile natively towasm32-wasip1; JavaScript and TypeScript run on the JS engine. The artifact runs anywhere afterburner runs, with no recompile. 🔁 - 🧩 Multi-module projects: C/C++/Rust/Go multi-file programs compile as one WASI command; Python and Ruby packages resolve sibling imports.
🔗 Dependencies
- 📥
burn installfor pip, gem, and npm: one command resolves and vendors dependencies across all three ecosystems. - 🔒 One lockfile:
burn.lockv2 records pip, gem, and npm dependencies and interoperates withrequirements.txt,Gemfile, andpackage.json. It is loud 📣 when a manifest and the lock disagree. ✈️ Offline: vendored wheels and gems mount at run time; no network is needed after the first resolve.
🛡️ Runtime and sandbox
- ⚡ Zero configuration: no environment variables to run a program. Language runtimes are embedded in the binary or fetched once into
~/.burn, and everything works offline thereafter. - 🔐 Sealed by default: a program gets no filesystem, network, or environment access unless granted.
--allow-fs-read,--allow-fs-write,--allow-net, and--allow-envgrant narrowly;-Aallows all. - 🧠 Size-agnostic memory: the runtime sizes memory to the workload (a 4 GiB growable default), configurable per run.
🏗️ Scaffolding and tooling
- 🆕
burn new/burn init --lang: per-language project templates, with the language recorded in the package manifest. - 🚦 Toolchain preflight:
burn compilechecks for the required toolchain up front and fails with a clear message instead of a cryptic exit.
⬇️ Install
The one-liner installer auto-detects your OS + architecture, fetches + verifies the right binary, and updates your $PATH:
# Linux + macOS
curl -fsSL https://afterburner.sh | sh
# Windows (PowerShell)
iwr -useb https://afterburner.sh | iexManual install
Or grab a tarball directly. Linux + macOS:
# Linux x86_64
curl -L https://github.com/afterburner-sh/afterburner/releases/download/v0.2.2/burn-0.2.2-x86_64-unknown-linux-gnu.tar.gz | tar xz
sudo mv burn-0.2.2-x86_64-unknown-linux-gnu/burn /usr/local/bin/
# Linux aarch64
curl -L https://github.com/afterburner-sh/afterburner/releases/download/v0.2.2/burn-0.2.2-aarch64-unknown-linux-gnu.tar.gz | tar xz
sudo mv burn-0.2.2-aarch64-unknown-linux-gnu/burn /usr/local/bin/
# macOS arm64 (Apple Silicon)
curl -L https://github.com/afterburner-sh/afterburner/releases/download/v0.2.2/burn-0.2.2-aarch64-apple-darwin.tar.gz | tar xz
sudo mv burn-0.2.2-aarch64-apple-darwin/burn /usr/local/bin/Windows x86_64 (PowerShell):
# Download + extract + install to %USERPROFILE%\.local\bin
$ver = "0.2.2"
$url = "https://github.com/afterburner-sh/afterburner/releases/download/v0.2.2/burn-$ver-x86_64-pc-windows-msvc.zip"
$dst = Join-Path $env:USERPROFILE ".local\bin"
New-Item -ItemType Directory -Force -Path $dst | Out-Null
Invoke-WebRequest -UseBasicParsing -Uri $url -OutFile burn.zip
Expand-Archive -Path burn.zip -DestinationPath . -Force
Move-Item -Force "burn-$ver-x86_64-pc-windows-msvc\burn.exe" "$dst\burn.exe"
Remove-Item -Recurse -Force burn.zip,"burn-$ver-x86_64-pc-windows-msvc"
# Add $dst to PATH for the current session (persistent: System Properties > Environment Variables)
$env:Path = "$dst;$env:Path"Windows ARM64: install the x86_64 build above. Windows 11 ARM64 ships with transparent x64 emulation, so the x86_64 binary runs unmodified.
Intel macOS: not in the release matrix (GitHub's macos-13 runner is end-of-life). Build from source, see the repo README.
✅ Verify
Each archive ships with an accompanying .sha256 file.
🎁 Bundled features
Built with --features release-cli: bin + wasm + native + adaptive + thrust + flow + host-http + ts + all-shadows.