Release async-nats/v0.28.0
Overview
This release prepares the client for the 2.10.0 server release and adds some fixes and improvements.
To use the new features before the server 2.10.0 release, enable the server_2_10
feature and run it with dev/nightly server builds.
Breaking Changes
To enable NAK with backoff, the AckKind::NAK
enum variant was changed
What was before:
AckKind::Nak
Now is:
AckKind::Nak(Option<std::time::Duration>)
Which means a standard NAK example
let message = messages.next().await?;
message.ack_kind(AckKind::Nak).await?;
Now should be used like this
let message = messages.next().await?;
message.ack_kind(AckKind::Nak(None)).await?;
or with custom NAK
message.ack_kind(AckKind::Nak(Some(std::time::Duration::from_secs(10))).await?;
Consumer info cluster field is now Option
This field is provided only in clustered mode, so it's now properly inline with that.
Consumer idle heartbeat
error does not terminate the iterator
This change does not require any action from the users who want to continue using the client
as they do now, but those who would like to try continuing working with consumers,
even if it returned idle heartbeats
, now they can.
Added
- Add support for consumers with multiple filters (feature
server-2.10
) by @Jarema in #814 - Add metadata support (feature
server-2.10
) by @Jarema in #837 - Add NAK and backoff support by @Jarema in #839
Fixed
- Fix flapping ack test by @Jarema in #842
- Fix Pull Fetch test by @Jarema in #845
- Update consumer last_seen on status messages and requests by @Jarema in #856
- Improve pull consumer robustness for
Consumer::stream
andConsumer::messages
by @Jarema in #858
Changed
- Make consumer info cluster field optional by @n1ghtmare in #840
- Bump dependencies by @Jarema in #848
- Idle Heartbeats now does not fuse the consumer iterator by @Jarema in #856
Contributions
Thanks to @abalmos & @NorbertBodziony for helping with detailed reports and feedback!
Full Changelog: nats/v0.24.0...async-nats/v0.28.0