# Standard library coverage


As of Xo 0.36 (development, main cb96872b6 of 2026-11-03); Go 1.26.1. Every count below comes from a command run on that commit: `go list std` without internal and vendor packages, and the table in the repository's [std-coverage.md](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) (decision 0276: Go's standard library is std's reference scope).

## Summary

Go has **176** public standard library packages. Xo has **61** `std` modules besides the prelude (the builtin types and capabilities every program sees).

| Status | Go packages |
|---|---|
| Covered (done) | 66 |
| Partial | 33 |
| Not applicable by design | 52 |
| Gap, potentially planned | 25 |

Beyond Go: modules with no Go standard library counterpart, or going past it, are listed under [Beyond Go](#beyond-go).

## Maturity levels

Each `std` module gets three marks, one per axis, and an overall level that is the weakest of the three (owner, 2026-11-02, decision 0461).

| Axis | Early | Solid | Proven |
|---|---|---|---|
| Features, against Go's package or the domain | core uses | common uses, gaps listed | near full parity, or beyond Go |
| Testing | own tests | Go's tests ported or a Go differential; parsers fuzzed | also `--race` and load stress clean, long fuzz runs, security reviewed where it applies (crypto, tls, http, x509) |
| Performance | not measured, or measured and above 2x Go | measured against Go, within 2x | at or better than Go on its benchmark |

How a mark is read here: *Features* from the rows of the coverage table that name the module (all done is Proven, any partial is Solid; a module with no Go package is Solid and says so). *Testing* from the committed corpus of Go's tests under `internal/stdtest/testdata/corpus`, Go differential tests, and fuzz tests for modules that parse untrusted input. *Performance* from a committed result file with a Go twin. A mark with no committed evidence is Early, so a missing result is the gap to close, not a hidden number. The dates are those of the result files, which can be older than this page; a re-run can only move a mark if the file is replaced.

Today: overall 0 Proven, 26 Solid, 36 Early of 62 (prelude and 61 modules). Per axis, features 35/27/0, testing 0/41/21, performance 17/18/27 (Proven/Solid/Early). No module has the committed `--race`, load stress, long fuzz and security review evidence that Proven testing needs yet.

### Per module

Marks only. Each module has its three marks (F features, T testing, P performance) and the short figures behind them; times are multiples of Go's time, so lower is faster and 0.47x is better than Go. The prose behind each mark (which rows are partial, the timings, what is missing, the evidence link) is under [Module notes](#module-notes); each module name links to its note.

| Module | Marks: F features, T testing, P performance |
|---|---|
| [`prelude`](#mod-prelude) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/prelude) [Early](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features 15/18 · Testing ported · Performance 0.91 to 1.62x</span>
 |
| [`std/adler32`](#mod-adler32) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/adler32) Early <span class="covdesc">Features 1/1 · Testing ported · Performance no row</span>
 |
| [`std/archive`](#mod-archive) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/archivefuzz_test.go) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md) <span class="covdesc">Features 2/2 · Testing ported &#43; hostile · Performance 0.27 to 1.2x</span>
 |
| [`std/backoff`](#mod-backoff) | Solid [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/backoff) Early <span class="covdesc">Features beyond Go · Testing ported · Performance no row</span>
 |
| [`std/base32`](#mod-base32) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/base32) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows3-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 0.47 to 0.98x</span>
 |
| [`std/base64`](#mod-base64) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/base64) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 0.57 to 0.88x</span>
 |
| [`std/bcrypt`](#mod-bcrypt) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/bcrypt) Early <span class="covdesc">Features 1/1 · Testing ported · Performance no row</span>
 |
| [`std/big`](#mod-big) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/big) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features 0/1 · Testing ported · Performance 0.49 to 1.23x</span>
 |
| [`std/binary`](#mod-binary) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/binary) Early <span class="covdesc">Features 1/1 · Testing ported · Performance no row</span>
 |
| [`std/bufio`](#mod-bufio) | Solid [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/bufio) Early <span class="covdesc">Features own domain · Testing ported · Performance no row</span>
 |
| [`std/cbor`](#mod-cbor) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/cborfuzz_test.go) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows7-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance see notes</span>
 |
| [`std/charset`](#mod-charset) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/charset) Early <span class="covdesc">Features 2/2 · Testing ported · Performance no row</span>
 |
| [`std/cli`](#mod-cli) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/cli) Early <span class="covdesc">Features 1/1 · Testing ported · Performance no row</span>
 |
| [`std/compress`](#mod-compress) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/compressfuzz_test.go) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md) <span class="covdesc">Features 2/2 · Testing ported &#43; hostile · Performance 0.91 to 0.96x</span>
 |
| [`std/cookiejar`](#mod-cookiejar) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/cookiejar) Early <span class="covdesc">Features 1/1 · Testing ported · Performance no row</span>
 |
| [`std/crc32`](#mod-crc32) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/crc32) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 0.37 to 0.96x</span>
 |
| [`std/crc64`](#mod-crc64) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/crc64) Early <span class="covdesc">Features 1/1 · Testing ported · Performance no row</span>
 |
| [`std/cron`](#mod-cron) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/cron) Early <span class="covdesc">Features 1/1 · Testing ported · Performance no row</span>
 |
| [`std/crypto`](#mod-crypto) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/crypto) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/aesgcm-2026-10-22.md) <span class="covdesc">Features 12/16 · Testing ported · Performance 1.12 to 1.2x</span>
 |
| [`std/csv`](#mod-csv) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/csvfuzz/csvfuzz_test.xo) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported &#43; fuzz · Performance 0.92 to 1.01x</span>
 |
| [`std/debug`](#mod-debug) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) Early Early <span class="covdesc">Features 1/1 · Testing own tests · Performance no row</span>
 |
| [`std/deque`](#mod-deque) | Solid [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/deque) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features own domain · Testing ported · Performance 0.13 to 0.17x</span>
 |
| [`std/dns`](#mod-dns) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) Early [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/dns-netpoll-2026-11-03.md) <span class="covdesc">Features 0/1 · Testing own tests · Performance 0.928x</span>
 |
| [`std/embed`](#mod-embed) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) Early Early <span class="covdesc">Features 1/1 · Testing own tests · Performance no row</span>
 |
| [`std/fnv`](#mod-fnv) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/fnv) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 0.98x</span>
 |
| [`std/go`](#mod-go) | Solid Early Early <span class="covdesc">Features own domain · Testing own tests · Performance no row</span>
 |
| [`std/heap`](#mod-heap) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/heap) Early <span class="covdesc">Features 1/1 · Testing ported · Performance no row</span>
 |
| [`std/html`](#mod-html) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) Early [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-html-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing own tests · Performance 0.54 to 1.37x</span>
 |
| [`std/http`](#mod-http) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/httpheadfuzz_test.go) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/tls-h2-vs-go-2026-10-21.md) <span class="covdesc">Features 1/5 · Testing ported &#43; fuzz · Performance see notes</span>
 |
| [`std/idna`](#mod-idna) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/idna) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-idna-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 0.44 to 0.98x</span>
 |
| [`std/jpeg`](#mod-jpeg) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/jpegfuzz_test.go) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows6-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 1.01 to 1.04x</span>
 |
| [`std/json`](#mod-json) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/jsonfuzz/jsonfuzz_test.xo) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/json-vs-go-2026-10-21.md) <span class="covdesc">Features 0/1 · Testing ported &#43; fuzz · Performance 0.33 to 0.49x instr.</span>
 |
| [`std/log`](#mod-log) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) Early Early <span class="covdesc">Features 1/2 · Testing own tests · Performance no row</span>
 |
| [`std/mail`](#mod-mail) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/mailfuzz_test.go) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 0.45 to 1.15x</span>
 |
| [`std/metrics`](#mod-metrics) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/metrics) Early <span class="covdesc">Features 2/2 · Testing ported · Performance no row</span>
 |
| [`std/mime`](#mod-mime) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/mimefuzz_test.go) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md) <span class="covdesc">Features 0/1 · Testing ported &#43; hostile · Performance 0.9 to 1.28x</span>
 |
| [`std/multipart`](#mod-multipart) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/multipart) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/json-vs-go-2026-10-21.md) <span class="covdesc">Features 0/1 · Testing ported, no fuzz · Performance 1.15x instr.</span>
 |
| [`std/netip`](#mod-netip) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/netip) [Early](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-netip-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported, no fuzz · Performance 1.79 to 1.88x</span>
 |
| [`std/norm`](#mod-norm) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/norm) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-norm-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 0.7 to 0.75x</span>
 |
| [`std/otp`](#mod-otp) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/otp) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-otp-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 0.936 to 1.316x</span>
 |
| [`std/path`](#mod-path) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/path) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features 2/2 · Testing ported · Performance 1.08 to 1.4x</span>
 |
| [`std/png`](#mod-png) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/pngfuzz_test.go) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows5-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 0.94 to 1.04x</span>
 |
| [`std/rate`](#mod-rate) | Solid [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/rate) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows3-2026-11-03.md) <span class="covdesc">Features beyond Go · Testing ported · Performance 1.29x</span>
 |
| [`std/regexp`](#mod-regexp) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/regexp) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported, no fuzz · Performance 0.89 to 1.25x</span>
 |
| [`std/smtp`](#mod-smtp) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/smtp) Early <span class="covdesc">Features 1/1 · Testing ported, no fuzz · Performance no row</span>
 |
| [`std/sql`](#mod-sql) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/sql) Early <span class="covdesc">Features 2/3 · Testing ported · Performance no row</span>
 |
| [`std/tabwriter`](#mod-tabwriter) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/tabwriter) Early <span class="covdesc">Features 1/1 · Testing ported · Performance no row</span>
 |
| [`std/task`](#mod-task) | Solid Early Early <span class="covdesc">Features own domain · Testing own tests · Performance no row</span>
 |
| [`std/template`](#mod-template) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/template) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features 1/2 · Testing ported, no fuzz · Performance 0.9 to 1.36x</span>
 |
| [`std/term`](#mod-term) | Solid Early Early <span class="covdesc">Features own domain · Testing own tests · Performance no row</span>
 |
| [`std/testing`](#mod-testing) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) Early Early <span class="covdesc">Features 2/2 · Testing own tests · Performance no row</span>
 |
| [`std/time`](#mod-time) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/time) [Early](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported, no fuzz · Performance 1.9 to 3.7x</span>
 |
| [`std/tls`](#mod-tls) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Early](https://github.com/xo-lang/xo/blob/main/internal/llvm/tls13_diff_test.go) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/tls-h2-vs-go-2026-10-21.md) <span class="covdesc">Features 0/1 · Testing differential, no fuzz · Performance see notes</span>
 |
| [`std/toml`](#mod-toml) | Solid Early [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows3-2026-11-03.md) <span class="covdesc">Features beyond Go · Testing own tests · Performance 1.17 to 1.32x</span>
 |
| [`std/trace`](#mod-trace) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) Early Early <span class="covdesc">Features 0/1 · Testing own tests · Performance no row</span>
 |
| [`std/udp`](#mod-udp) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) Early Early <span class="covdesc">Features 0/1 · Testing own tests · Performance no row</span>
 |
| [`std/url`](#mod-url) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/httpurlfuzz_test.go) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/url-parse-2026-10-23.md) <span class="covdesc">Features 0/1 · Testing ported &#43; fuzz · Performance 0.78x instr.</span>
 |
| [`std/uuid`](#mod-uuid) | [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/uuid) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows3-2026-11-03.md) <span class="covdesc">Features 1/1 · Testing ported · Performance 0.72 to 1x</span>
 |
| [`std/websocket`](#mod-websocket) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) Early [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows3-2026-11-03.md) <span class="covdesc">Features 0/1 · Testing own tests · Performance 0.4 to 1.12x</span>
 |
| [`std/x509`](#mod-x509) | Solid [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/x509/x509_test.xo) [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md) <span class="covdesc">Features own domain · Testing ported &#43; fuzz · Performance 0.98x</span>
 |
| [`std/xml`](#mod-xml) | [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md) [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/xmlfuzz/xmlfuzz_test.xo) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md) <span class="covdesc">Features 0/1 · Testing ported &#43; fuzz · Performance 0.95 to 1.15x</span>
 |
| [`std/xmlcodec`](#mod-xmlcodec) | Solid [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/xmlcodec) [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md) <span class="covdesc">Features own domain · Testing ported, no fuzz · Performance 0.57 to 1.13x</span>
 |

### Module notes

One entry per module: the three marks with their evidence, in words, and when the module was added. The marks are the table's; nothing here changes one.

#### `prelude` {#mod-prelude}

Overall Early. Added go-compiler-final (2026-10-08).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 15 of 18 mapped Go rows done, 3 partial.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/prelude): Go's tests ported.
- Performance [Early](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): Str.trim_chars 1.62 of Go's wall (was 2.24); fs walk_dir_entries 0.91 of Go's wall (decision 0483; walk_dir with a FileInfo each 1.49, 0.94 with Go reading each entry's info); itoa 1.35 (was 1.52), atoi 1.46, sort of strings 1.42; split, search, case and predicate workloads 0.4 to 1.24 (2026-11-03).

#### `std/adler32` {#mod-adler32}

Overall Early. Added unreleased (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/adler32): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/archive` {#mod-archive}

Overall Solid. Added v0.11.0 (2026-10-11).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 2 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/archivefuzz_test.go): Go's tests ported; 2,010 hostile tar and zip archives (Go-written and hand-built headers, cut and field-mutated) against Go's archive/tar and archive/zip readers on every backend.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md): zip 1.20, tar 1.04, unzip 0.99, untar 0.27 of Go's wall (2026-11-03).

#### `std/backoff` {#mod-backoff}

Overall Early. Added v0.35.0 (2026-10-29).

- Features Solid: beyond Go: no Go std package.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/backoff): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/base32` {#mod-base32}

Overall Solid. Added v0.23.0 (2026-10-20).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/base32): Go's tests ported.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows3-2026-11-03.md): encode 0.98, decode 0.47 of Go's wall (2026-11-03).

#### `std/base64` {#mod-base64}

Overall Solid. Added v0.23.0 (2026-10-20).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/base64): Go's tests ported.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): encode 0.57, decode 0.88 of Go's wall (2026-11-03).

#### `std/bcrypt` {#mod-bcrypt}

Overall Early. Added unreleased (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/bcrypt): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/big` {#mod-big}

Overall Solid. Added v0.24.0 (2026-10-21).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/big): Go's tests ported.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): mul 1.23, parse 0.49 of Go's wall (2026-11-03).

#### `std/binary` {#mod-binary}

Overall Early. Added v0.23.0 (2026-10-20).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/binary): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/bufio` {#mod-bufio}

Overall Early. Added unreleased (2026-11-03).

- Features Solid: no Go package maps to it; covers its own domain's common uses.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/bufio): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/cbor` {#mod-cbor}

Overall Solid. Added v0.37.0 (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/cborfuzz_test.go): Go's tests ported; 1,500 seeded inputs from a byte level builder (random head widths, indefinite lengths, floats of every width, tags, simple values, repeated keys, text that is not UTF-8, then bits flipped, cuts, insertions) against fxamacker/cbor v2 (Go has no CBOR in its standard library), plus 12,000 fresh cases on arm64 and LLVM and the RFC 8949 Appendix A examples.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows7-2026-11-03.md): decode 0.43, encode 0.26, deterministic encode 0.62 of fxamacker/cbor's wall (2026-11-03).

#### `std/charset` {#mod-charset}

Overall Early. Added unreleased (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 2 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/charset): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/cli` {#mod-cli}

Overall Early. Added v0.11.0 (2026-10-11).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/cli): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/compress` {#mod-compress}

Overall Solid. Added v0.24.0 (2026-10-21).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 2 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/compressfuzz_test.go): Go's tests ported; 2,000 hostile DEFLATE, zlib and gzip streams (hand-built blocks and corrupted Go output) against Go's decoders, error texts exact, plus streaming and max_size, on every backend.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md): gzip 0.96, gunzip 0.92, deflate 0.96, inflate 0.91 of Go's wall (2026-11-03).

#### `std/cookiejar` {#mod-cookiejar}

Overall Early. Added unreleased (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/cookiejar): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/crc32` {#mod-crc32}

Overall Solid. Added v0.35.0 (2026-10-29).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/crc32): Go's tests ported.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): crc32 0.96, crc32c 0.37 of Go's wall (2026-11-03).

#### `std/crc64` {#mod-crc64}

Overall Early. Added unreleased (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/crc64): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/cron` {#mod-cron}

Overall Early. Added unreleased (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/cron): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/crypto` {#mod-crypto}

Overall Solid. Added v0.7.0 (2026-10-08).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 12 of 16 mapped Go rows done, 4 partial.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/crypto): Go's tests ported.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/aesgcm-2026-10-22.md): AES-GCM bulk loop 1.12, ChaCha20-Poly1305 1.2 of Go (2026-10-22).

#### `std/csv` {#mod-csv}

Overall Solid. Added v0.11.0 (2026-10-11).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/csvfuzz/csvfuzz_test.xo): Go's tests ported; fuzz corpus against encoding/csv (2,000 texts under random Reader options, error texts exact, and the Writer's output; internal/stdtest/csvfuzz_test.go runs fresh seeds).
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md): parse 0.92, format 1.01 of Go's wall (2026-11-03).

#### `std/debug` {#mod-debug}

Overall Early. Added v0.25.0 (2026-10-21).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing Early: own tests only.
- Performance Early: no committed row against Go.

#### `std/deque` {#mod-deque}

Overall Solid. Added v0.36.0 (2026-10-30).

- Features Solid: no Go package maps to it; covers its own domain's common uses.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/deque): Go's tests ported.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): queue and both-ends workloads 0.13 to 0.17 of Go's wall (2026-11-03).

#### `std/dns` {#mod-dns}

Overall Early. Added v0.35.0 (2026-10-29).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing Early: own tests only.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/dns-netpoll-2026-11-03.md): mx 0.928 of Go's wall (2026-11-03).

#### `std/embed` {#mod-embed}

Overall Early. Added v0.24.0 (2026-10-21).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing Early: own tests only.
- Performance Early: no committed row against Go.

#### `std/fnv` {#mod-fnv}

Overall Solid. Added v0.35.0 (2026-10-29).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/fnv): Go's tests ported.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): fnv 32a, 64a, 128a at most 0.98 of Go's wall (2026-11-03).

#### `std/go` {#mod-go}

Overall Early. Added v0.7.0 (2026-10-08).

- Features Solid: no Go package maps to it; covers its own domain's common uses.
- Testing Early: own tests only.
- Performance Early: no committed row against Go.

#### `std/heap` {#mod-heap}

Overall Early. Added unreleased (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/heap): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/html` {#mod-html}

Overall Early. Added v0.35.0 (2026-10-29).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing Early: own tests only.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-html-2026-11-03.md): escape 1.37, unescape 0.54 of Go's wall (2026-11-03).

#### `std/http` {#mod-http}

Overall Solid. Added v0.7.0 (2026-10-08).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 1 of 5 mapped Go rows done, 4 partial.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/httpheadfuzz_test.go): Go's tests ported; request head, response and URL fuzz tests.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/tls-h2-vs-go-2026-10-21.md): HTTP/2 14 us a request against Go's 32; /alloc 0.97 of v0.35.0 (2026-11-02).

#### `std/idna` {#mod-idna}

Overall Solid. Added unreleased (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/idna): Go's tests ported.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-idna-2026-11-03.md): ascii 0.71, mixed 0.94, long 0.94, map 0.91, nfcmap 0.44, enc 0.98, dec 0.96 of Go's wall (2026-11-03).

#### `std/jpeg` {#mod-jpeg}

Overall Solid. Added v0.37.0 (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/jpegfuzz_test.go): Go's tests ported; 350 seeded files from a segment-aware mutator over Go's test images and Go-encoded images (every chroma ratio, baseline and progressive, restart intervals, CMYK, YCCK, headers, tables, scan parameters, cuts, bit flips) against Go's Decode and DecodeConfig, plus 12,000 fresh cases on arm64 and LLVM.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows6-2026-11-03.md): decode 1.01, with RGBA conversion 1.04 of Go's wall (2026-11-03).

#### `std/json` {#mod-json}

Overall Solid. Added v0.7.0 (2026-10-08).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/jsonfuzz/jsonfuzz_test.xo): Go's tests ported; fuzz corpus against encoding/json (2,022 cases; internal/stdtest/jsonfuzz_test.go runs fresh seeds).
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/json-vs-go-2026-10-21.md): 0.33 to 0.49 of Go's instructions on native (2026-10-21).

#### `std/log` {#mod-log}

Overall Early. Added v0.7.0 (2026-10-08).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 1 of 2 mapped Go rows done, 1 partial.
- Testing Early: own tests only.
- Performance Early: no committed row against Go.

#### `std/mail` {#mod-mail}

Overall Solid. Added v0.23.0 (2026-10-20).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/mailfuzz_test.go): Go's tests ported; 2,000 addresses, address lists, header blocks and dates against Go's net/mail (RFC 2047, groups, folds, zones) on every backend.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md): display 1.15, address 0.62, header block 0.45 of Go's wall (2026-11-03).

#### `std/metrics` {#mod-metrics}

Overall Early. Added v0.25.0 (2026-10-21).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 2 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/metrics): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/mime` {#mod-mime}

Overall Solid. Added v0.23.0 (2026-10-20).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/mimefuzz_test.go): Go's tests ported; 2,000 cases against Go's mime and net/http: hostile Content-Type headers (RFC 2231, continuations, duplicates), format_media_type, every DetectContentType signature, on every backend.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md): format 1.28, parse 1.06, detect 0.90 of Go's wall (2026-11-03).

#### `std/multipart` {#mod-multipart}

Overall Early. Added v0.23.0 (2026-10-20).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/multipart): Go's tests ported; parser with no fuzz harness.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/json-vs-go-2026-10-21.md): parse 1.15 of Go's instructions (2026-10-21).

#### `std/netip` {#mod-netip}

Overall Early. Added v0.23.0 (2026-10-20).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/netip): Go's tests ported; parser with no fuzz harness.
- Performance [Early](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-netip-2026-11-03.md): n1 1.88, n2 1.79 of Go's wall (2026-11-03).

#### `std/norm` {#mod-norm}

Overall Solid. Added unreleased (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/norm): Go's tests ported.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-norm-2026-11-03.md): ascii 0.75, nfc 0.7 of Go's wall (2026-11-03).

#### `std/otp` {#mod-otp}

Overall Solid. Added unreleased (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/otp): Go's tests ported.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-otp-2026-11-03.md): sha1 0.936, sha256 1.316, sha512 0.937 of Go's wall (2026-11-03).

#### `std/path` {#mod-path}

Overall Solid. Added v0.7.0 (2026-10-08).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 2 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/path): Go's tests ported.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): clean 1.08, join 1.13, parts 1.40 of Go's wall (2026-11-03).

#### `std/png` {#mod-png}

Overall Solid. Added v0.37.0 (2026-11-03).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/pngfuzz_test.go): Go's tests ported; 1,000 seeded files from a chunk-level builder and Go-encoded images (every color type and depth, bad headers, palettes, tRNS, split IDATs, cuts, bit flips) against Go's Decode and DecodeConfig, plus 36,000 fresh cases over six seeds.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows5-2026-11-03.md): decode 1.04, encode 0.94 of Go's wall (2026-11-03).

#### `std/rate` {#mod-rate}

Overall Solid. Added v0.35.0 (2026-10-29).

- Features Solid: beyond Go: x/time/rate is outside std.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/rate): Go's tests ported.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows3-2026-11-03.md): allow 1.29 of Go's wall (2026-11-03).

#### `std/regexp` {#mod-regexp}

Overall Early. Added v0.11.0 (2026-10-11).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/regexp): Go's tests ported; parser with no fuzz harness.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): match 1.25, find_all 0.89 of Go's wall (2026-11-03).

#### `std/smtp` {#mod-smtp}

Overall Early. Added v0.24.0 (2026-10-21).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/smtp): Go's tests ported; parser with no fuzz harness.
- Performance Early: no committed row against Go.

#### `std/sql` {#mod-sql}

Overall Early. Added v0.7.0 (2026-10-08).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 2 of 3 mapped Go rows done, 1 partial.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/sql): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/tabwriter` {#mod-tabwriter}

Overall Early. Added v0.35.0 (2026-10-29).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/tabwriter): Go's tests ported.
- Performance Early: no committed row against Go.

#### `std/task` {#mod-task}

Overall Early. Added v0.7.0 (2026-10-08).

- Features Solid: no Go package maps to it; covers its own domain's common uses.
- Testing Early: own tests only.
- Performance Early: no committed row against Go.

#### `std/template` {#mod-template}

Overall Early. Added v0.24.0 (2026-10-21).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 1 of 2 mapped Go rows done, 1 partial.
- Testing [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/template): Go's tests ported; parser with no fuzz harness.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): render 1.36, parse 0.90 of Go's wall (2026-11-03).

#### `std/term` {#mod-term}

Overall Early. Added v0.11.0 (2026-10-11).

- Features Solid: no Go package maps to it; covers its own domain's common uses.
- Testing Early: own tests only.
- Performance Early: no committed row against Go.

#### `std/testing` {#mod-testing}

Overall Early. Added v0.7.0 (2026-10-08).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 2 mapped Go rows done.
- Testing Early: own tests only.
- Performance Early: no committed row against Go.

#### `std/time` {#mod-time}

Overall Early. Added v0.7.0 (2026-10-08).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/time): Go's tests ported; parser with no fuzz harness.
- Performance [Early](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): format 3.7 and parse 3.6 of Go's wall with string layouts (5.4 and 4.7 before the one-scan format and parse), 2.03 and 1.90 with a const Layout; civil 0.46 (2026-11-03).

#### `std/tls` {#mod-tls}

Overall Early. Added v0.23.0 (2026-10-20).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing [Early](https://github.com/xo-lang/xo/blob/main/internal/llvm/tls13_diff_test.go): TLS 1.3 client and server differential against Go; parser with no fuzz harness.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/tls-h2-vs-go-2026-10-21.md): HTTP/2 14 us a request against Go's 32; handshakes mixed (2026-10-21).

#### `std/toml` {#mod-toml}

Overall Early. Added v0.11.0 (2026-10-11).

- Features Solid: beyond Go: Go has no TOML in std.
- Testing Early: own tests only.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows3-2026-11-03.md): decode 1.17, encode 1.32 of Go's wall (2026-11-03).

#### `std/trace` {#mod-trace}

Overall Early. Added v0.25.0 (2026-10-21).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing Early: own tests only.
- Performance Early: no committed row against Go.

#### `std/udp` {#mod-udp}

Overall Early. Added v0.35.0 (2026-10-29).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing Early: own tests only.
- Performance Early: no committed row against Go.

#### `std/url` {#mod-url}

Overall Solid. Added v0.23.0 (2026-10-20).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/httpurlfuzz_test.go): Go's tests ported; URL fuzz test.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/url-parse-2026-10-23.md): 0.78 of Go's instructions (2026-10-23).

#### `std/uuid` {#mod-uuid}

Overall Solid. Added v0.23.0 (2026-10-20).

- Features [Proven](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): all 1 mapped Go rows done.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/uuid): Go's tests ported.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows3-2026-11-03.md): parse 0.91, string 0.72, bytes 1.00 of Go's wall (2026-11-03).

#### `std/websocket` {#mod-websocket}

Overall Early. Added v0.24.0 (2026-10-21).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing Early: own tests only.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows3-2026-11-03.md): small messages 1.12, big 0.40, dial 0.77 of Go's wall (2026-11-03).

#### `std/x509` {#mod-x509}

Overall Solid. Added v0.35.0 (2026-10-29).

- Features Solid: no Go package maps to it; covers its own domain's common uses.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/x509/x509_test.xo): Go's tests ported; fuzz cases in its corpus.
- Performance [Proven](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows2-2026-11-03.md): parse, verify, create and CRL at most 0.98 of Go's wall (2026-11-03).

#### `std/xml` {#mod-xml}

Overall Solid. Added v0.24.0 (2026-10-21).

- Features [Solid](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md): 0 of 1 mapped Go rows done, 1 partial.
- Testing [Solid](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/xmlfuzz/xmlfuzz_test.xo): Go's tests ported; fuzz corpus against encoding/xml (2,000 documents through Token, Token not strict, and RawToken, error texts exact; internal/stdtest/xmlfuzz_test.go runs fresh seeds).
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md): tokens 1.15, tree 0.95 of Go's wall (2026-11-03).

#### `std/xmlcodec` {#mod-xmlcodec}

Overall Early. Added v0.24.0 (2026-10-21).

- Features Solid: no Go package maps to it; covers its own domain's common uses.
- Testing [Early](https://github.com/xo-lang/xo/blob/main/internal/stdtest/testdata/corpus/xmlcodec): Go's tests ported; parser with no fuzz harness.
- Performance [Solid](https://github.com/xo-lang/xo/blob/main/bench/results/std-twin-rows-2026-11-03.md): encode 0.57, decode 1.13 of Go's wall (2026-11-03).

## Go packages

All 176 packages of `go list std`, by status. A package that maps to a module names it; the repository's coverage table has the notes per row.

### Covered (66)

The module covers what a backend uses of the package, on the native backends and the Go backend.

| Go package | Xo |
|---|---|
| `archive/tar` | std/archive |
| `archive/zip` | std/archive |
| `bytes` | prelude Bytes, BytesBuilder |
| `cmp` | prelude List, Map, Set, Ord |
| `compress/flate` | std/compress (and std/archive gzip, gunzip) |
| `compress/gzip` | std/compress (and std/archive gzip, gunzip) |
| `compress/zlib` | std/compress zlib, unzlib |
| `container/heap` | std/heap |
| `context` | scopes, cancellation, task.with_timeout |
| `crypto/ed25519` | std/crypto |
| `crypto/hkdf` | std/crypto |
| `crypto/hmac` | std/crypto hmac, hmac_hasher |
| `crypto/md5` | std/crypto Hash.Md5 |
| `crypto/pbkdf2` | std/crypto hash_password |
| `crypto/rand` | prelude Rand, crypto.random_bytes, token |
| `crypto/sha1` | std/crypto Hash.Sha1 |
| `crypto/sha256` | std/crypto |
| `crypto/sha3` | std/crypto Hash |
| `crypto/sha512` | std/crypto Hash |
| `crypto/subtle` | std/crypto equal |
| `database/sql/driver` | std/sql Driver, DriverConn, DriverRows, open_driver |
| `embed` | std/embed (with core 3.1's `embed`) |
| `encoding/base32` | std/base32 |
| `encoding/base64` | std/base64, prelude Bytes |
| `encoding/binary` | std/binary |
| `encoding/csv` | std/csv |
| `encoding/hex` | prelude Bytes |
| `encoding/pem` | std/crypto |
| `errors` | !` results, Error interface |
| `expvar` | std/metrics |
| `flag` | std/cli |
| `hash/crc32` | std/crc32 |
| `hash/fnv` | std/fnv |
| `html` | std/html |
| `log` | std/log |
| `maps` | prelude List, Map, Set, Ord |
| `math/bits` | prelude Int word methods |
| `math/rand` | prelude Rand capability |
| `math/rand/v2` | prelude Rand capability |
| `net/http/cookiejar` | std/cookiejar |
| `net/http/httptest` | std/testing FakeNet, Router.call |
| `net/http/pprof` | std/debug router (decision 0325) |
| `net/mail` | std/mail |
| `net/netip` | std/netip |
| `net/smtp` | std/smtp |
| `os/exec` | prelude Proc, Cmd, Child |
| `path` | std/path |
| `path/filepath` | prelude Fs paths, std/path |
| `regexp` | std/regexp |
| `regexp/syntax` | std/regexp |
| `slices` | prelude List, Map, Set, Ord |
| `sort` | prelude List, Map, Set, Ord |
| `strconv` | prelude Int.parse, parse_base, to_str_base, Float.parse, Bool.parse, quote, unquote |
| `strings` | prelude Str |
| `sync` | prelude Mutex, Atomic, Chan, task.once, semaphore |
| `sync/atomic` | prelude Mutex, Atomic, Chan, task.once, semaphore |
| `testing` | test blocks, std/testing |
| `testing/fstest` | MemFs |
| `testing/quick` | property tests |
| `testing/synctest` | FakeClock, deterministic scheduling under xo test |
| `text/tabwriter` | std/tabwriter (decision 0410) |
| `text/template` | std/template |
| `time` | prelude Time, Duration, std/time |
| `time/tzdata` | std/tzdata, embedded per use |
| `unicode` | prelude Rune |
| `unicode/utf8` | prelude Str, Bytes |

### Partial (33)

Some of it; the notes in the coverage table name what is missing.

| Go package | Xo |
|---|---|
| `bufio` | File, Conn, Child read and write, Fs.walk |
| `crypto/aes` | std/crypto |
| `crypto/cipher` | std/crypto |
| `crypto/ecdh` | inside std/native/llrt (X25519, nistec) |
| `crypto/ecdsa` | std/crypto |
| `crypto/elliptic` | std/crypto |
| `crypto/mlkem` | inside std/native/llrt/mlkem.xo |
| `crypto/rsa` | std/crypto |
| `crypto/tls` | std/http (with_tls, with_roots, tls_cert), std/tls (client) |
| `crypto/x509` | std/crypto (keys); inside std/native/llrt (x509.xo, x509verify.xo) |
| `crypto/x509/pkix` | std/crypto (keys); inside std/native/llrt (x509.xo, x509verify.xo) |
| `database/sql` | std/sql |
| `encoding/asn1` | inside std/native/llrt/asn1.xo |
| `encoding/json` | std/json |
| `encoding/xml` | std/xml |
| `fmt` | string interpolation, Display, Debug |
| `hash` | std/crypto Hasher |
| `html/template` | std/template |
| `io` | File, Conn, Child read and write, Fs.walk |
| `io/fs` | File, Conn, Child read and write, Fs.walk |
| `io/ioutil` | File, Conn, Child read and write, Fs.walk |
| `log/slog` | std/log fields, Format.Json, std/trace |
| `math` | prelude Float |
| `math/big` | std/big |
| `mime` | std/mime |
| `mime/multipart` | std/multipart |
| `mime/quotedprintable` | inside std/native/multipart and mail |
| `net` | prelude Net (TCP, Unix sockets, lookup_host, dial_timeout), std/udp, std/dns (MX, TXT, SRV, PTR), DNS client in std/native/llrt/dns.xo |
| `net/http` | std/http Client |
| `net/textproto` | inside std/native/llrt (http1) |
| `net/url` | std/url, std/http parse_url and Url |
| `os` | prelude Fs, Env, Proc, Stdio |
| `os/signal` | core 7.5 shutdown, task.stop_requested, Proc.kill |

### Not applicable by design (52)

Reflection, Go source tooling, cgo and the runtime's internals are replaced by language features or the toolchain, or the algorithm is broken or legacy.

`container/list`, `crypto`, `crypto/fips140`, `crypto/mlkem/mlkemtest`, `debug/buildinfo`, `debug/dwarf`, `debug/elf`, `debug/gosym`, `debug/macho`, `debug/pe`, `debug/plan9obj`, `encoding`, `encoding/ascii85`, `go/ast`, `go/build`, `go/build/constraint`, `go/constant`, `go/doc`, `go/doc/comment`, `go/format`, `go/importer`, `go/parser`, `go/printer`, `go/scanner`, `go/token`, `go/types`, `go/version`, `image/color/palette`, `image/draw`, `image/gif`, `iter`, `math/cmplx`, `net/http/cgi`, `net/http/fcgi`, `net/http/httptrace`, `plugin`, `reflect`, `runtime`, `runtime/cgo`, `runtime/coverage`, `runtime/debug`, `runtime/metrics`, `runtime/pprof`, `runtime/race`, `runtime/trace`, `structs`, `syscall`, `testing/cryptotest`, `testing/iotest`, `testing/slogtest`, `text/template/parse`, `unsafe`

### Gaps, potentially planned (25)

Nothing yet, wanted. See [Roadmap of gaps](#roadmap-of-gaps).

| Go package | Xo |
|---|---|
| `compress/bzip2` | none |
| `compress/lzw` | none |
| `container/ring` | none |
| `crypto/des` | none |
| `crypto/dsa` | none |
| `crypto/hpke` | none |
| `crypto/rc4` | none |
| `encoding/gob` | none |
| `hash/adler32` | std/adler32 |
| `hash/crc64` | std/crc64 |
| `hash/maphash` | none |
| `image` | none |
| `image/color` | none |
| `image/jpeg` | std/jpeg |
| `image/png` | std/png |
| `index/suffixarray` | none |
| `log/syslog` | none |
| `net/http/httputil` | none |
| `net/rpc` | none |
| `net/rpc/jsonrpc` | none |
| `os/user` | Env.home |
| `text/scanner` | none |
| `unicode/utf16` | std/charset |
| `unique` | none |
| `weak` | none |

### Beyond Go

Modules with no Go standard library counterpart, or that go past it: `std/backoff` (no Go std package), `std/dns` (net.Resolver covers part), `std/metrics` (expvar plus a Prometheus registry), `std/rate` (x/time/rate is outside std), `std/sql` (database/sql plus a PostgreSQL driver), `std/toml` (Go has no TOML in std), `std/trace` (no Go std tracing API of this kind), `std/udp` (net.UDPConn), `std/uuid` (Go has no UUID in std), `std/websocket` (Go has no websocket in std). Also in `std/crypto`: Argon2id password hashing, AES-GCM and ChaCha20-Poly1305 as public AEAD, HKDF.

## Function level checks

The coverage table is checked against the code, not only the package names. Examples from this commit (`xo symbols --module=... --pub`):

- `crypto/md5`, `crypto/sha1`: `Hash.Md5` and `Hash.Sha1` in `std/crypto`, one-shot and streaming (`Hasher`), also through `hmac`. Covered.
- `encoding/hex`: `Bytes.to_hex` and `Bytes.from_hex` in the prelude. Covered; Go's `Dump` is not offered.
- `hash/crc32`: `std/crc32` with `Poly.Ieee` and `Poly.Castagnoli`, `checksum` and `update`. Covered. `hash/crc64` and `hash/adler32` have no module: gaps.
- `net/http/cookiejar`: `std/http` reads and writes cookies on a `Request` (`cookie`, `cookies`, `with_cookie`) but the client has no jar. Gap, planned with client cookies.

## Roadmap of gaps

The gaps are *potentially planned*: a priority and a realistic timeframe, not a commitment. The ordering is the std owner's estimate (2026-11-02) from port effort and demand, and the owner decides.

| Priority | Gap | Timeframe |
|---|---|---|
| 1 | `encoding/gob`, `net/rpc`; `compress/bzip2`, `compress/lzw`; small hashes (`hash/crc64`, `hash/adler32`); `os/user`; `log/syslog`; `expvar`; `text/scanner`; `container/ring`; `unicode/utf16`; `index/suffixarray` | Q1 2027 |
| 2 | legacy crypto (`crypto/des`, `crypto/dsa`, `crypto/rc4`); `weak`, `unique` | last, or possibly never |

The repository's coverage table still lists some of these as not planned (for example `encoding/gob`, `net/rpc`, `text/scanner`, `log/syslog`, `container/ring`, `index/suffixarray`, the image packages); this page follows the owner's list, and the table moves with the decision. CBOR is not a Go package; it is listed because it is first on the list.

Sources: [std-coverage.md](https://github.com/xo-lang/xo/blob/main/knowledgebase/infrastructure/std-coverage.md), [std/changes](https://github.com/xo-lang/xo/blob/main/std/changes/README.md) (every module's change log), [decision 0276](https://github.com/xo-lang/xo/blob/main/knowledgebase/decisions/0276-std-follows-go-std.md) and [decision 0461](https://github.com/xo-lang/xo/blob/main/knowledgebase/decisions/0461-std-module-maturity.md).

