Repository navigation
Release 0.1.2
[0.1.2] - 2026-03-14
Fixed
- RUSTSEC-2025-0134: replaced unmaintained
rustls-pemfilewithrustls-pki-typesfor TLS PEM parsing. - Unbounded memory allocation: capped PackStream list/dict pre-allocation to prevent OOM from malicious length declarations.
- PULL handler panic: replaced
.unwrap()with safe pattern match, reject invalid negativenvalues per Bolt spec. - LOGOFF session leak: LOGOFF now rolls back pending transactions and resets the backend session.
- Idle reaper desync: connections detect when their session has been reaped and shut down cleanly.
- TLS accept loop: fixed
tls_acceptormoved-in-loop compile error whentlsfeature is enabled.
Added
- WebSocket transport (
wsfeature): Bolt-over-WebSocket support viatokio-tungstenite.WsStreamadapter: wrapsWebSocketStreamasAsyncRead + AsyncWritefor seamless integration with existing Bolt framing.BoltServer::ws_serve(addr): standalone Bolt-over-WebSocket server (with WSS when combined with thetlsfeature).ws::server::accept_ws()andhandle_ws(): accept pre-upgraded WebSocket connections for integration with HTTP servers (e.g., Axum).BoltConnection::connect_ws(url): client WebSocket connection supportingws://andwss://URLs.BoltSession::connect_ws()andconnect_ws_basic(): high-level client convenience methods.
- Max message size:
ChunkReaderenforces a configurable limit (default 16 MiB), preventing multi-GB message accumulation. Exposed viaBoltServer::max_message_size(). Displayimplementations forConnectionState,ClientMessage, andServerMessage.- Crate root re-exports:
BoltError,BoltValue,BoltBackend,BoltServer,BoltSession, and more. #[must_use]annotations onBoltValue::as_str(),BoltValue::as_int(),QueryResult, andConnectionStatetransition methods.
Changed
BoltConnectioninternals refactored to trait objects (Box<dyn AsyncRead/Write>) for transport flexibility.
Removed
- Vestigial
needless_for_eachclippy lint allow fromCargo.toml.
What's Changed
- Release/0.1.2 by @StevenBtw in #2
- updated dependencies and version bump (1.2) by @StevenBtw in #3
New Contributors
Full Changelog: v0.1.1...v0.1.2