Skip to content

Releases: hocestnonsatis/sorug

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 08 Aug 21:20
v0.6.2

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 08 Aug 20:22
v0.6.1

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 15:01
v0.6.0

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 07 Aug 15:01
v0.5.0

v0.4.0 — file path, unique origins, FFI binaries

Choose a tag to compare

@hocestnonsatis hocestnonsatis released this 04 Aug 17:44

Summary

  • from_file_path / from_directory_path / to_file_path (std)
  • Unique opaque origins: Origin::Opaque(OpaqueOrigin) + Origin::new_opaque() (breaking vs 0.3 equality)
  • set_ip_host, socket_addrs, SearchParams::sort, parse_with_params
  • FFI: sorug_join, sorug_origin, core setters; mutation invalidates getter pointers
  • Prebuilt sorug-ffi archives attached by ffi-release.yml (not on crates.io)
  • WPT: parser 891/891, setters 278/278

Install

sorug = "0.4.0"

crates.io publish via Trusted Publishing (OIDC) on tag v0.4.0.

v0.3.0 — join/path/query, serde/http, IDNA UCD

Choose a tag to compare

@hocestnonsatis hocestnonsatis released this 04 Aug 15:49

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 (implies std); no_std + alloc with default-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.

v0.1.1 — IDNA range tables + fuzz campaign lock-in

Choose a tag to compare

@hocestnonsatis hocestnonsatis released this 02 Aug 09:02

Highlights

  • Compile-time IDNA CheckBidi / UTS #46 range tables (data/idna_ranges.txtbuild.rs)
  • Fuzz campaign lock-in: harness, seed corpus, tests/fuzz_regressions.rs
  • WPT 891 / 891; 15m sanity fuzz clean

crates.io

https://crates.io/crates/sorug/0.1.1

sorug = "0.1.1"

v0.1.0 — first crates.io release

Choose a tag to compare

@hocestnonsatis hocestnonsatis released this 01 Aug 03:35

sorug 0.1.0

First public release on crates.io.

Highlights

  • Zero-copy / CoW WHATWG URL parser
  • SIMD + SWAR fast path; lightweight in-crate Punycode
  • 891 / 891 WPT urltestdata
  • forbid(unsafe_code)

Install

cargo add sorug
sorug = "0.1"

Early 0.1.x release — APIs may still change before 1.0.