Skip to content

v0.6.9 - Transport-Safe SSE Streaming

Choose a tag to compare

@slb350 slb350 released this 09 Aug 03:43
· 53 commits to main since this release
bba4869

Fixed

  • Streaming responses now buffer arbitrary HTTP transport fragments before parsing JSON, so SSE events split across reqwest body chunks no longer fail with truncated-JSON errors.
  • Every complete event is emitted when multiple SSE messages arrive in one transport chunk; split UTF-8 sequences remain intact and invalid UTF-8 is reported instead of being lossily replaced.

Changed

  • Replaced the per-chunk line parser with eventsource-stream while preserving typed reqwest transport errors and [DONE] handling.
  • Updated the base64 lock entry to 0.23.1 and refreshed immutable CI action pins, including dtolnay/rust-toolchain and Swatinem/rust-cache 2.9.2.
  • Deferred only reqwest semver-major Dependabot updates because the public Error::Http(reqwest::Error) boundary requires the documented v0.7.0 migration.

Testing

  • Added a RED/GREEN loopback regression covering a JSON event split across HTTP chunks, a split multibyte UTF-8 sequence, and multiple SSE events coalesced into one chunk.
  • Passed audit, format, clippy, the stable/beta Linux/macOS test matrix, Rust 1.85 MSRV, docs, coverage, package verification, and Criterion comparison.