Xo 0.12 release notes
Introduction
Xo 0.12 moves most of the native runtime into Xo: its C went from 26,743 lines to about 5,900.
Runtime
- The scheduler, the event loop, sockets, processes, the test world, the HTTP/1.1 and HTTP/2 client and server, standard input, the file system, and the program’s entry are Xo.
- The backends call the Xo runtime’s allocation, reference count, list,
string, heap, and
Anyentries directly. - A fault in middleware or a connection no longer stops the native HTTP server.
Compiler
- Crypto intrinsics: add and subtract with carry, AES rounds, and carry-less multiply (decision 0231). External C symbols can be referenced from Xo weakly (decision 0232).
==on enum constants folds at compile time.- An inlining verification failure is reported, not hidden.
Standard library
- TLS 1.2 and 1.3, X.509 parsing and verification, and the crypto under them (SHA-2, SHA-3, HMAC, HKDF, AES-GCM, ChaCha20-Poly1305, X25519, P-224 to P-521, RSA, Ed25519, and the ML-KEM-768 and -1024 hybrids) are Xo, matching Go 1.26’s behavior and group list (decision 0202). The default build links no Mbed TLS or fiat-crypto.