Skip to content

v0.6.0 — ergonomic overhaul

Choose a tag to compare

@lodgvideon lodgvideon released this 23 Jun 11:56
Immutable release. Only release title and notes can be modified.
0192087

Major ergonomics + receive-path performance release. Full notes in
CHANGELOG.md.

Highlights

Ergonomics

  • Opt-in sugar: client.H + client.HeaderField, GET/POST/NewRequest
    (capture body by default), WithHeaders, Response.Header/CopyBody/Clone,
    StreamEvent.DataCopy, and auto-closing Client.Stream.
  • Focused constructors NewSingleConnClient / NewPoolClient /
    NewManagedClient + functional With* options (valid combos by construction).
  • Discoverable Client.Retryer; status-class metrics (Responses2xx /
    ResponsesNon2xx); EventNone.
  • Debug-gated leak detector (-tags poseidondebug, zero prod cost).
  • Full docs/CLIENT_GUIDE.md + 24 compile-tested godoc examples +
    examples/loadgen.

Breaking

  • Request.Idempotent *boolRequest.Idempotency IdempotencyMode
    (IdempotencyAuto / ForceIdempotent / ForceNotIdempotent).

Performance

  • Zero-allocation receive hot path (pooled per-DATA-frame buffer).
  • Buffered transport reader (fewer read syscalls, esp. h2c).

Every change shipped through strict multi-agent review (adversarial refutation)

  • green CI, with the zero-allocation hot path preserved throughout.