Release history
Download Xo. The latest release on GitHub has archives for macOS and Linux (arm64 and x86-64) and Windows (x86-64). Getting started shows how to verify, unpack, and install one.
Xo is experimental and moves in 0.x minor versions. Each version is an annotated git tag in the source repository; the tags list them all. Binary archives start with 0.25.2; every version also builds from source, as Getting started shows.
Breaking changes can come with any 0.x version. 1.0 will be a compatibility promise, code that builds keeps building, and the project owner decides when Xo makes it. The roadmap shows what is left.
Xo 0.32
0.32.0, the first binary release since 0.27.0: much smaller release binaries, lists of small numbers at their own width, in-place sorting, opt-in inline short strings, and faster builds, JSON, time, strings and locks.
Xo 0.27
0.27.0: a pinned version for every third-party use go, plain error messages, xo check about 2.5 times faster, --release as a preset of per-setting flags, split debug info, build information in every binary, and the fixes from the 0.26.0 field reports.
Xo 0.26
0.26.0, the second binary release: Windows binaries signed, native Windows I/O on completion ports, large Maps that branch instead of copying, fault tracebacks by default, embedded DWARF on macOS, and native --race without clang.
Xo 0.25
0.25.2 is the first release with prebuilt binaries for macOS, Linux, and Windows. 0.25: callbacks that borrow, a Mutex that hands off to the writer it wakes (CRUD up to 2.15 times the throughput on 3 cores), zero-copy string slices, any integer as an index, and `--race` with call stacks.
Xo 0.24
Native Maps and Sets as a hybrid persistent map (CRUD at 1024 connections from 18.0k to 83.0k requests per second), native code level with LLVM on arm64, and a std that grew XML, big numbers, compression, and a streaming JSON decoder.
Xo 0.23
Caches that survive compiler rebuilds, --race with no clang on arm64, HTTP tail latency from about 86 ms to about 3 ms, and the first batch of a standard library modeled on Go's.
Xo 0.22
A native Windows backend with no C toolchain, much smaller LLVM builds, a faster edit loop, cheaper HTTP and TLS, and a fix for a runtime heap overrun at startup.
Xo 0.21
Intel Macs with no C toolchain, smaller native binaries, dbg on every backend, Int word methods, and new lookup commands for agents.
Xo 0.20
Xo's own x86-64 backend, native code within about 10% of LLVM, much faster TLS and HTTP, and debuggers that see variables and types.
Xo 0.19
Native by default, no C library on Linux, much smaller servers, a playground on Xo's own compiler, and faster tasks.
Xo 0.18
Profiling and debugging tools, a race checked runtime, no C in the runtime's tests, and faster arm64 code.
Xo 0.17
Faster crypto on add with carry chains, bulk TLS faster than Mbed TLS, and no XProtect false positive on macOS.
Xo 0.16
The native runtime has no C: zero lines, down from 26,743 three days earlier.
Xo 0.15
The program's entry can be Xo, the runtime's C is down to 343 lines, and LLVM builds of large programs are much faster.
Xo 0.14
The runtime is Xo but for 476 lines of C.
Xo 0.13
Mbed TLS and fiat-crypto are deleted: TLS is Xo only, and the runtime's C is down to about 2,660 lines.
Xo 0.12
The runtime moves to Xo: its C went from 26,743 lines to about 5,900, and TLS and its crypto are written in Xo.
Xo 0.11
No language changes: runtime C moved into Xo at the C's speed, arm64 shrink wrapping and tail calls, and faster rebuilds.
Earlier versions
Xo 0.7, 0.8 and 0.9 (2026-10-09 to 2026-10-10) were tagged as drafts of the specification, with no release notes. Xo 0.10 (2026-10-14) was not tagged.