NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #2934 most downloaded on crates.io
AMQP client library
Last release 19 days ago
18 Sep 2026
Ships unpredictably
gaps range from 8 days to 4 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
8 years old
201 releases · first in 2019
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
One column per quarter.
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
event-listener for internal synchronisationSigned-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
#### Misc * Add some must_use annotations
must_use annotationsSigned-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Signed-off-by: Marc-Antoine Perennou Marc-Antoine@Perennou.com
Add durable/exclusive constructors on QueueDeclareOptions for better defaults.
durable/exclusive constructors on QueueDeclareOptions for better defaults.auto_delete/passive helpers on QueueDeclareOptions to facilitate using these features.New rustls-platform-verifier feature (new default)
Reworked internal state handling during early connection steps
async-rs to 0.8.2 to make sure the lapin Internal RPC loop is bound to the right tokio contextAdded ErrorKind::RuntimeShutdownError and reworked internal detection and handling
ErrorKind::RuntimeShutdownError and reworked internal detection and handlingWe now use exponential backoff for retries of AMQP connection too once the TCP connection is established
Fixes an issue preventing us from preoperly reconnecting during a rabbitmq server restart
Properly handle errors emitted by tokio when reactor is shutting down
The closure passed to ConnectionProperties::configure_backoff now needs to return the ExponentialBuilder
ConnectionProperties::configure_backoff now needs to return the ExponentialBuilderConnectionProperties::configure_backoff now works properly. It was previously broken due to implicit Copy behaviour.PublisherConfirms is now public
PublisherConfirms is now publicConnectionBuilder (and ConnectionProperties) now implement Debug
ConnectionBuilder (and ConnectionProperties) now implement DebugNew ConnectionBuilder (and DefaultConnectionBuilder) types to centralize everything related to connecting.
ConnectionBuilder (and DefaultConnectionBuilder) types to centralize everything related to connecting.ConnectionProperties reimplements CloneRemoved deprecated on_error callback setup. Use Connection::events_listener instead.
ConnectionProperties::enable_auto_recover()tokio, smol)on_error callback setup. Use Connection::events_listener instead.Connection::connect_with_runtime methodConnection::block and Connection:unblock have been removed (they were actually a protocol violation)Acker::mock with Delivery::mockConnection::collector callback to an async fnConnectionProperties (to support e.g. automatic oauth2 token refresh)executor-trait and reactor-trait to async-rsNothing published for this version
Nothing published for this version
Nothing published for this version
Fix defunct io_loop threads being kept in a deadlock on (very) early connection failure
io_loop threads being kept in a deadlock on (very) early connection failure#### Bug Fixes * Fix io_loop tracing span
io_loop tracing spanMake sure we don't run the heartbeat loop multiple times after reconnection
Allow configuring the backoff for TCP connection more easily
Allow configuring exponential backoff for retrying TCP connection (using the backon crate)
Make sure we always recover on connection process errors
Add Connection::events_listener for listening to internal events
Connection::events_listener for listening to internal eventsAdd Acker::mock() to help writing tests in external programs
Acker::mock() to help writing tests in external programsAdd hickory-dns feature to use hickory-dns for domain name resolution to avoid spurious network hangs
Fix hang when rabbitmq server is unavailable when connecting.
Add experimental ability to recover on connection failure
When the server closes the TCP connection, handle the ongoing frames before erroring out
Channel::wait_for_recovery to wait for automatic reconnection to finish (if we're in the process of reconnecting)
Channel::wait_for_recovery to wait for automatic reconnection to finish (if we're in the process of reconnecting)Error is now ErrorKind, wrapped in a new Error type (use Error::kind to access the previous type)
Error is now ErrorKind, wrapped in a new Error type (use Error::kind to access the previous type)Acker::defaultAcker::used is replaced with Acker::usableError::is_amqp_error, Error::is_amqp_soft_error and Error::is_amqp_hard_errorAcker::poisoned to check if underlying Channel has been invalidated (reconnection)Nothing published for this version
Nothing published for this version
Nothing published for this version
#### Bug Fixes * Fix io_loop tracing span
io_loop tracing spanPropagate current tracing span into io_loop thread
io_loop threadFix a panic when reaching the maximum number of channels
Fix potential deadlock in server protocol error handling
Fix potential overflow (only in a log message)
Better handle in flight frames on io loop termination.
Prevent basic_publish hangs in some rare corner case
basic_publish hangs in some rare corner caseAllow closing Acker and checking if already used
#### Misc * Dependencies update
Don't allow trying to close an already closed connection
Simplify channels cleanup logic on connection close
Fix an error when finalizing the connection close duz to missing channel 0.
Don't call the channel error hook when we get closed with a non error code
#### Features * Introduce Channel::on_error
Channel::on_errorDon't propagate the same error twice
Fix memory leak on connection failure
Fix potential race condition on connection error
Your coding agent can read these notes before it upgrades. Set up the MCP server →