All notable changes to this project will be documented in this file.
-
Client (breaking): Remove
SocketOptions::lingerandWireframeClientBuilder::linger. Tokio-managed client sockets must not use duration-basedSO_LINGER; callWireframeClient::close().awaitfor graceful shutdown. (#624) -
Renamed internal module
src/app/connection.rstosrc/app/inbound_handler.rsandsrc/server/connection.rstosrc/server/connection_spawner.rsto clarify directionality and eliminate naming ambiguity with the publicsrc/connection/module. No public API changes. -
Deprecated
SharedState::new(since 0.2.0); construct viainner.into()instead. -
Breaking: Marked
ServerErroras#[non_exhaustive]. Downstream consumers must add a wildcard arm when matching it. -
Breaking: Renamed
BackoffConfig::normalisedtoBackoffConfig::normalizedto align the public API spelling with American English. -
Breaking: Renamed the cargo feature flag
test-helperstotest-support. Enabletest-supportto access exported test helper APIs. Seedocs/v0-1-0-to-v0-2-0-migration-guide.mdfor the requiredCargo.tomldependency update. -
Exposed
MAX_PUSH_RATEfor configuring push queue rate limits. -
Refactored the application module into the
src/app/directory (13 focused files) to keep module sizes under 400 lines; public API exports remain unchanged. (PR #282) -
Added a
Fragmenterhelper that slices oversized messages into sequential fragments, stamping each piece with aFragmentHeaderfor transparent transport-level reassembly. -
Breaking: Changed
FragmentError::IndexOverflowandFragmentationError::IndexOverflowfrom unit variants to struct variants carrying alast: FragmentIndexfield. This field records the final valid index observed before the counter would overflowu32::MAX.Migration guide:
Pattern matches against the old unit variant must be updated to destructure or wildcard the new field:
// Before (0.1.x): unit variant match err { FragmentError::IndexOverflow => { /* ... */ } // ... } // After (0.2+): struct variant with `last` field match err { FragmentError::IndexOverflow { last } => { eprintln!("overflow after fragment index {last}"); } // ... }
The same change applies to
FragmentationError::IndexOverflow:// Before (0.1.x) Err(FragmentationError::IndexOverflow) => { /* ... */ } // After (0.2+) Err(FragmentationError::IndexOverflow { last }) => { log::warn!("cannot fragment: index overflow after {last}"); }
If the
lastvalue is not needed, use{ .. }to ignore it:match err { FragmentError::IndexOverflow { .. } => { /* handle overflow */ } // ... }