v0.3.0 — join/path/query, serde/http, IDNA UCD
Summary
- Relative URL APIs:
join,make_relative,path_segments/path_segments_mut,query_pairs/query_pairs_mut - Typed
Host(+Host::parse), rust-url-shaped getters,Hash/Ord,set_port(Option<u16>) - Optional features:
serde,http(impliesstd);no_std+allocwithdefault-features = false - IDNA: UTS #46 membership from vendored Unicode 16.0.0 UCD +
data/idna_overlay.txt(Node/WPT); SimpleIdentity fast path - C FFI workspace member
sorug-ffi(in-repo; not on crates.io yet) - WPT: parser 891/891, setters 278/278
Install
sorug = "0.3.0"Benchmarks (indicative, 2026-08-04)
| Workload | sorug | ada | servo |
|---|---|---|---|
| Fast Path ASCII | 32.7 ns | 31.2 ns | 96.5 ns |
| Complex Query | 55.6 ns | 140 ns | 199 ns |
| IDNA / Punycode | 190 ns | 244 ns | 226 ns |
| File Edge Case | 31.2 ns | 91.7 ns | 126 ns |
crates.io publish is triggered by the v0.3.0 tag via GitHub Actions.