Repository navigation
v1.13.0
Deep-audit fix pass — two live CLI conformance-gate bugs, several tooling correctness fixes, and C++/Rust language-binding parity.
P0 bugs fixed
relay interopwith zero binaries silently PASSed / exit 0 instead of the spec-mandated exit 2relay conform --strictplaced after the binary path was silently dropped instead of applied (same failure class as v1.11.1's--format jsonbug)cmd/relay'stoolVersionhad drifted behindSpecVersionagain — bumped, now guarded by a test so it can't silently recur
P1 fixes
- Golden error vectors (
spec/vectors/errors/*.json) were unreachable through thego:embed-based API —relay interopcould never exercise reject-path behavior, only the happy path relay crossbar: correct per-destination converter inference, a genuinely persistent send-sink process (was one subprocess per message, contradicting spec §11.2's streaming contract), back-pressure-honoring subscriberouter.Router.AddSpoke/AddRoutenow properly synchronized (was a real data race)- SOME/IP
FromMessagenow wraps the spec-mandatedErrMalformedMessagesentinel - §17 corrected to accurately state what
relay conform(a black-box CLI tool) can and can't verify - §18.2/§18.3: added missing C++/Rust
HealthProvider/MetricsProvider/Drainerbindings andSubscriberOptionsrouting-key fields
P2s
relay convert stdin size cap, relay trace orphaned-child-process fix, a duplicate differently-cased BackPressurePolicy removed, stale Dockerfile labels, README/ROADMAP/spec-title currency — with durable drift-guard tests added given staleness recurred across three releases running.
Process
RELAY's own CI now runs relay conform/relay interop against itself for the first time — spec §20.1 requires both of a conformant implementation.
SpecVersion = "1.13" — additive, non-breaking.
Full diff: v1.12.0...v1.13.0