Skip to content

Release async-nats beta v0.11.0, nats 0.19.0

Compare
Choose a tag to compare
@Jarema Jarema released this 17 Apr 21:53
· 849 commits to main since this release

Overview

This is a double release.
First and foremost, the new async-nats Crate become available, as a bleeding edge beta release.
Secondly, a minor nats crate.

Please also note that the repository has been reorganized into a workspace, with the nats directory being the old synchronous NATS Crate and async-nats being the new one.

New async-client v0.11.0

This was in the works for quite some time, focused on having a performant, easy-to both use and maintain, idiomatic async Rust NATS client. This is a bleeding-edge beta release to bring some visibility, get your feedback and enable transparency and contributions.

The versioning starts from v0.11.0, as the crate was used a long time ago by NATS.io org for some former work around the async client.

What it already does:

  • fully native tokio implementation
  • async-std tokio compact mode working out of the box without performance penalty
  • Core NATS Protocol support
  • TLS with and without client auth
  • publish
  • subscribe
  • request/response
  • Clonable Client
  • subscriptions as streams

What is missing (Core NATS)

  • authorization via Options
  • Errors (those sent by the server) callbacks/streams
  • reconnections
  • no responders handling
  • lame duck mode

Next steps

In the following days, all missing features will be added, and work on Jetstream support will initiate.

Thanks

Discussions around the architecture of the async client were long and fruitful. We would like to thank you all for that efforts. Especially those participating in #298 discussion, @stevelr and @MattesWhite.

nats client release v0.19.0

Changed

Fixed

New Contributors

Full Changelog: v0.18.1...async-nats/v0.11.0