# Release history


> **Download Xo.** The [latest release](https://github.com/xo-lang/xo/releases/latest)
> on GitHub has archives for macOS and Linux (arm64 and x86-64) and
> Windows (x86-64). [Getting started](/docs/getting-started/#install)
> 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](https://github.com/xo-lang/xo/tags) list them all. Binary
archives start with 0.25.2; every version also builds from source, as
[Getting started](/docs/getting-started/#build-from-source) 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](/roadmap/) shows what is
left.


- [Xo 0.32](https://xolang.dev/releases/0.32/index.md) (released 2026-10-25): 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](https://xolang.dev/releases/0.27/index.md) (released 2026-10-23): 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](https://xolang.dev/releases/0.26/index.md) (released 2026-10-22): 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](https://xolang.dev/releases/0.25/index.md) (released 2026-10-22): 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](https://xolang.dev/releases/0.24/index.md) (released 2026-10-21): 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](https://xolang.dev/releases/0.23/index.md) (released 2026-10-20): 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](https://xolang.dev/releases/0.22/index.md) (released 2026-10-19): 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](https://xolang.dev/releases/0.21/index.md) (released 2026-10-18): 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](https://xolang.dev/releases/0.20/index.md) (released 2026-10-18): 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](https://xolang.dev/releases/0.19/index.md) (released 2026-10-17): Native by default, no C library on Linux, much smaller servers, a playground on Xo's own compiler, and faster tasks.
- [Xo 0.18](https://xolang.dev/releases/0.18/index.md) (released 2026-10-16): Profiling and debugging tools, a race checked runtime, no C in the runtime's tests, and faster arm64 code.
- [Xo 0.17](https://xolang.dev/releases/0.17/index.md) (released 2026-10-16): Faster crypto on add with carry chains, bulk TLS faster than Mbed TLS, and no XProtect false positive on macOS.
- [Xo 0.16](https://xolang.dev/releases/0.16/index.md) (released 2026-10-16): The native runtime has no C: zero lines, down from 26,743 three days earlier.
- [Xo 0.15](https://xolang.dev/releases/0.15/index.md) (released 2026-10-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](https://xolang.dev/releases/0.14/index.md) (released 2026-10-15): The runtime is Xo but for 476 lines of C.
- [Xo 0.13](https://xolang.dev/releases/0.13/index.md) (released 2026-10-15): 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](https://xolang.dev/releases/0.12/index.md) (released 2026-10-15): 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](https://xolang.dev/releases/0.11/index.md) (released 2026-10-14): 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.

