async-nats/v0.34.0
0.34.0
Overview
This release introduces performance improvements (thanks to poll_recv_many #1189), improves resilience of
ordered consumers by recreating them in more cases while having less server calls. It also adds some new features.
Breaking Changes
Breaking changes are minor and should not affect most users, however, all are worth mentioning.
This change simplifies lifetimes of Boxed Futures, by making them static. It should not affect most users,
and if it does, removal of the lifetime should be a quick fix.
The client was not checking if the message payload size was not exceeding the limits of the server it is connected to.
While doing the fix, the error returned was changed into one consistent with others: a struct with enum of possible
error variants under kind()
method, of which one is MaxPayloadExceeded
. This should not break users,
as before there was no enum in the first place, but it is a breaking change.
It added new enum variant to Consumer and Stream error kinds. Breaking for those who match those errors in exhaustive manner.
- Remove clone in message split method by @AbstractiveNord in #1172
This changes to be a mut self
from self
while removing unnecessary clone.
Fixed
- Fix ordered-consumer example by @ReubenMathew in #1159
- Fix Service::stop by @tinou98 in #1160
- Fix linter error in service test by @Jarema in #1165
- Fix minor cargo workspace warnings by @barafael in #1179
- Add missing docs for ConnectOptions by @barafael in #1181
- Fix copy-pasted doc comment by @paolobarbolini in #1209
- Fix benchmark linter error by @Jarema in #1212
- Ensure the ping interval waker is registered by @dodomorandi in #1199
- Add source implementation for Error by @Jarema in #1215
Added
- Add max reconnects to public API by @Jarema in #1188
- Add
create
function to kv store by @praveenperera in #1206 - Add compression to object store by @Jarema in #1217
- Add watch from revision for KV by @Jarema in #1196
- Add revision to kv operations by @boba2fett in #1182
- Add
into_string
method toSubject
by @thomastaylor312 in #1161
Changed
- Allow async and sync nats to compile on MIPS and PowerPC by @protochron in #1210
- Always log
Event
s by @paolobarbolini in #1123 - Remove unused dependency on http by @oscarwcl in #1164
- Do asynchronous DNS lookups in
ServerAddr::socket_addrs
by @paolobarbolini in #1191 - Optimize consumer recreate by @Jarema in #1202
- Use poll_recv_many for processing commands to be written to the nats server by @paolobarbolini in #1189
- Make
Subject::from_static
a const fn by @paolobarbolini in #1207 - Bump base64 to v0.22 by @paolobarbolini in #1223
- Recreate ordered pull on heartbeats by @Jarema in #1178
- Changed
self
to a borrow inRequest::respond()
by @jlandahl in #1139 - Check min versions of transitive depencencies in CI by @nepalez in #1115
- Serialize/Deserialize Subject and HeaderName as strings by @oscarwcl in #1168
- Terminate fetch on
No Messages
by @Jarema in #1171 - Bump nkeys to 0.4 by @paolobarbolini in #1195
- Update rustls to v0.22 and related dependencies by @paolobarbolini in #1170
New Contributors
Thank you for all your high quality contributions! They definately help us push the library into the right direction!
- @ReubenMathew made their first contribution in #1159
- @jlandahl made their first contribution in #1139
- @oscarwcl made their first contribution in #1164
- @AbstractiveNord made their first contribution in #1172
- @barafael made their first contribution in #1179
- @boba2fett made their first contribution in #1182
- @dodomorandi made their first contribution in #1199
- @praveenperera made their first contribution in #1206
Full Changelog: nats/v0.24.1...async-nats/v0.34.0