Skip to content

simple-someip-v0.12.0

Choose a tag to compare

@github-actions github-actions released this 24 Aug 14:56
· 181 commits to main since this release
2c91f83

Contains a breaking change to the public error enums, so this release takes the
major position under this crate's 0.x convention. As in 0.11.0, the version in
Cargo.toml is bumped here rather than left to release-plz so that
cargo-semver-checks compares against the version this change actually lands as.

Breaking — Capacity carries a typed CapacityKind instead of a &'static str

client::Error::Capacity and server::Error::Capacity now hold a
CapacityKind rather than a snake_case string tag. The old docs told the
reader to "grep the crate for the tag to find the compile-time constant that
governs it" — that information now lives on the variant.

// Before — the resource is a string, and telling one from another means
// comparing text.
Err(Error::Capacity(tag)) if tag == "service_registry" => ...,

// After.
Err(Error::Capacity(CapacityKind::ServiceRegistry)) => ...,

Display is unchanged: CapacityKind renders as the same tag it replaced,
so "internal capacity exceeded: udp_buffer" still formats byte-for-byte as
before, and a test pins each string against its pre-0.12.0 literal.

The kind is shared between the client and server error types rather than
split in two, so a consumer handles capacity exhaustion the same way
whichever layer reports it. Not every kind is reachable from both — the
server currently produces only UdpBuffer.

CapacityKind is itself #[non_exhaustive], so bounding a new internal
structure later is additive.