NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2117 most downloaded on crates.io
Conversion between http body and sse stream
Last release 20 days ago
18 Sep 2026
Ships unpredictably
gaps range from 2 weeks to 10 months
Most releases are documented
notes for 10 of 13 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
13 releases · first in 2025
One column per month.
Decoder/body errors are terminal. Obsolete parser error variants and deprecated from_byte_stream were removed; error enums are non-exhaustive.
strict-fields feature: unknown fields become terminal errors. Disabled by default; Cargo feature unification applies this policy crate-wide.Bytes::from(event) / event.into() with event.encode()? or Bytes::try_from(event)?.KeepAlive::event now returns a result. SseBody returns BodyError; input errors must be convertible to a boxed Send + Sync error.SseBody constructors and configuration methods instead of struct literals or direct keep-alive access.from_byte_stream were removed; error enums are non-exhaustive.Full details: 0.3.0 migration notes.
sse-stream = "0.3"
# To reject unknown fields:
# sse-stream = { version = "0.3", features = ["strict-fields"] }memchr scanning and simdutf8 long-field validation, with standard-library fallbacks.Validation: feature-matrix tests, Clippy, formatting, package verification, and the release workflow passed.
Full changelog: release-0.2.6...release-0.3.0
TryFrom<Sse> for Bytes replaces From<Sse> for Bytes.
Replace Bytes::from(event) or event.into() with event.encode()? or
Bytes::try_from(event)?.KeepAlive::event returns Result<KeepAlive, EncodeError>.
Use KeepAlive::new().event(event)?.SseBody::Error is now BodyError, not the input error E.
Match BodyError::Stream for boxed upstream errors and BodyError::Encode
for encoding errors; upstream error sources are preserved.SseBody requires
E: Into<Box<dyn std::error::Error + Send + Sync>>.InvalidLine, DuplicatedEventLine,
DuplicatedIdLine, DuplicatedRetry, and IntParse.
Error, EncodeError, and BodyError are non-exhaustive; add wildcard arms.from_byte_stream, deprecated since 0.2.4.
Use SseByteStream::new or the retained SseStream::from_bytes_stream.SseStream<B> now also requires B::Data: Send
or Sync to implement the corresponding trait, since it retains input buffers.
Standard Bytes buffers are unaffected.SseBody::new(stream) or SseBody::new_keep_alive(stream, config).SseBody::keep_alive is private.
Use has_keep_alive() to inspect it and with_keep_alive() to configure it.
Directly clearing the configuration is no longer supported.SseBody emit an error once, then end.
Keep-alives stop too. To resume decoding, create a decoder for a new input stream.strict-fields feature rejects unknown names with the always-public
Error::UnknownField unit variant, emitted once before termination. Cargo
feature unification applies this policy to all users of the same resolved crate.event, id, and retry use the last valid value.u64 are accepted.
Empty, signed, padded, or overflowing values are ignored without replacing a valid value.strict-fields
is enabled; strict mode rejects unknown names without validating their UTF-8.data: prefix. Empty and trailing
lines are preserved; CRLF and bare CR are normalized to LF.retry_duration saturates at u64::MAX milliseconds instead of wrapping.Sse represents raw blocks, including metadata-only blocks. Fields are not
inherited; connection and reconnection state belongs to the caller.FusedStream and release parser buffers on error or EOF.memchr and simdutf8 features for line scanning and long-field
UTF-8 validation, with standard-library fallbacks when disabled.Merge branch 'master' into release
Merge branch 'master' into release
release: sse-stream 0.2.5 by @4t145 in #15
Full Changelog: release-0.2.4...release-0.2.5
fix: fix typo from_byte_stream by @4t145
fix: fix chunk related bugs, fix #9 , fix #10 by @4t145 , @zhongyi51 in #8
Full Changelog: release-0.2.2...release-0.2.3
Support stripping initial UTF-8 BOM header by @zhongyi51 in #4
Full Changelog: release-0.2.1...release-0.2.2
Support for the 2021 edition by @cn-kali-team in #2
Full Changelog: release-0.2.0...release-0.2.1
Support server side sse http body.
Support server side sse http body.
Full Changelog: release-0.1.4...release-0.2.0
fix: Compatible with event:userconnect and event: userconnect by @xxkeming in #1
Nothing published for this version
Nothing published for this version
Full Changelog : release-0.1.0...release-0.1.1
Full Changelog: release-0.1.0...release-0.1.1
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →