Skip to content

Releases: nats-io/nats.rs

Release sync nats 0.23.1

11 Nov 09:47
Compare
Choose a tag to compare

Overview

This is a minor sync client release with fixes to Object Store API

Fixed

Added

Full Changelog: nats/v0.23.0...nats/v0.23.1

Release async-nats/v0.22.1

11 Nov 14:09
Compare
Choose a tag to compare

Overview

A patch release, including early feedback to 0.22.0.

Breaking Changes

Unfortunately, the last release included a typo in retry_on_initial_release.
This patch fixes it.
We decided to make a regular patch release without yanking as we're a pre 1.0.0 version.
To avoid similar situations in the future, spellcheck lint will be added before the next release.

Changed

Fixed

  • Fix typo in retry_on_initial_connect by @Jarema in #713

Added

Release async-nats v0.22.0

08 Nov 22:05
Compare
Choose a tag to compare

Overview

This release introduces a number of changes and two breaking changes:

JetStream publish

Used to return ack:

let ack = jetstream.publish().await.unwrap();

But while adding publish that does not wait for an acknowledgement before returning,
we realized that we can leverage IntoFuture, so the new api is:

// This publishes the message, but do not wait until ack is received.
let future_ack = jetstream.publish().await.unwrap();
// to receive the acknowledge, `await()` the returned value:
let ack = future_ack.await().unwrap();

Event logging

After adding the initial retry on connect option, Event::Reconnect didn't make much sense.
Hence it was renamed to Event::Connected, which describes the current state without implications about the previous one.
For consistency, Event::Disconnect was renamed to Event::Disconnected.

Breaking changes

Added

  • Add support for mirrors and sources in Key Value Store by @Jarema in #676
  • Add sources and mirror to stream config by @Jarema in #673
  • Add retry on initial connect by @Jarema in #662
  • Add docs to client methods by @Jarema in #664
  • Add license to nats-server wrapper by @Jarema in #704

Fixed

Changed

New Contributors

Full Changelog: async-nats/v0.21.0...async-nats/v0.22.0

Release async-nats v0.21.0

06 Oct 05:40
Compare
Choose a tag to compare

Overview

This release's highlight is added support for Object Store.

Breaking changes

  • Add last_active to SequenceInfo and rename SequencePair to SequenceInfo by @Jarema in #657

Added

Fixed

Full Changelog: async-nats/v0.20.0...async-nats/v0.21.0

Release async-nats v0.20.0

16 Sep 04:57
Compare
Choose a tag to compare

Overview

This release focuses on KV and 2.9 nats-server features.

Added

Fixed

What's Changed

Full Changelog: async-nats/v0.19.0...async-nats/v0.20.0

Release async-nats v0.19.0

02 Sep 12:57
Compare
Choose a tag to compare

Overview

This release is focused on resilience of the client against network issues.

It also adds some utility methods, Stream Republish and improvements for Pull Consumers.

Added

Fixed

Thanks to all contributors for helping out, taking part in discussion and detailed issue reports!

New Contributors

Full Changelog: async-nats/v0.18.0...async-nats/v0.19.0

async-nats/v0.18.0 & nats/v0.23.0

07 Aug 08:55
ad608d3
Compare
Choose a tag to compare

Overview

This release focuses on fixes and improvements, with addition of ordered Push Consumer for async-nats crate and callback refactor.

async-nats

Breaking Changes

New callbacks approach is simpler to use. Consider below example:

#[tokio::main]
async fn main() -> std::io::Result<()> {
async_nats::ConnectOptions::new().event_callback(|event| async move {
	// listen on specific event
        if let async_nats::Event::Reconnect = event {
            println!("reconnected");
        }
	// or match for all events
	match event {
		async_nats::Event::Disconnect => println!("disconnected"),
		async_nats::Event::Reconnect => println!("reconnected"),
		async_nats::Event::ClientError(err) => println!("client error occured: {}", err);
	}
}).connect("demo.nats.io").await?;
# Ok(())
}

Added

Fixed

  • Fix ordered consumer after discard policy hit by @Jarema in #585
  • Fix pull consumer stream method when batch is set to 1 by @Jarema in #590
  • Fix reconnect auth deadlock by @caspervonb in #578

nats

Added

  • Add cluster to streaminfo/consumerinfo struct by @j13tw in #537

New Contributors

Once again, we can thank you enough for your contributions. It helps so much with the development and maintenance of the libraries!

Full Changelog: async-nats/v0.17.0...async-nats/v0.18.0

async-nats v0.17.0

13 Jul 10:02
Compare
Choose a tag to compare

Overview

This release focuses on two main things:

  • Refactor of JetStream API
  • Fix of slow connect (thanks @brooksmtownsend for reporting this!)

The changes in JetStream API make usage of builder more intuitive and seamless.
Before, you had to call

// before changes
let messages = consumer.stream().await?;
// or use a shortcut
let messages = consumer.messages().await?;

// after changes
let messages = consumer.stream().messages().await?;
// or with options
let messages = consumer.stream().max_bytes_per_bytes(1024).messages().await?;

Changed

Fixed

  • Fix slow connect in no-auth scenarios by @Jarema in #568

Other

Full Changelog: async-nats/v0.16.0...async-nats/v0.17.0

async-nats/v0.16.0, nats/v0.22.0

10 Jul 10:58
Compare
Choose a tag to compare

async-nats. v0.16.0

This release features a lot of improvements and additions to JetStream API and adds Push Consumer.

Added

Changed

  • Allow unknown directives to be skipped when parsing by @caspervonb in #514
  • Narrow error type returned from client publishing by @caspervonb in #525
  • Change create_consumer to return Consumer by @Jarema in #544
  • Switch webpki to rustls-native-certs by @Jarema in #558
  • Normalize error type used in subscribe methods by @caspervonb in #524
  • Optimize jetstream::consumer::pull::Consumer::stream method. by @Jarema in #529
  • Make deliver_subject required for push::Config by @caspervonb in #531

Fixed

  • Handle missing error cases in Stream by @Jarema in #542
  • Handle connecting to ipv6 addresses correctly by @jszwedko in #386

Other

nats v0.22.0

This is a minor release for the nats client with one fix and several documentation improvements.

What's changed

  • Handle connecting to ipv6 addresses correctly by @jszwedko in #386
  • Use correct flush_timeout operation in doc test by @krady21 in #556
  • Fix typo in jetstream/pull_subscription.rs by @bbigras in #521

New Contributors

Huge thanks to all contributors. Your help, feedback and insights allows us to drive this library with confidence and speed!

Full Changelog: async-nats/v0.15.0...async-nats/v0.16.0

async-nats 0.15.0 with JetStream, nats 0.21.0

17 Jun 13:27
Compare
Choose a tag to compare

Overview

This release is the first JetStream 🍾 feature set for async-nats!

It includes:

  • New simplified JetStream API approach
  • JetStream Publish
  • Streams management
  • Consumers Management
  • Pull Consumers implementation
  • Ack's

This is an experimental release of JetStream (simplified) API. It may change, and it may have bugs. We appreciate any feedback and contributions to help it reach maturity soon!

For nats client, authentication with token was added by @paulgb

async-nats

Added

Changed

Fixed

nats

Added

  • Allow tokens in connection strings and add tests by @paulgb in #506

New Contributors

Thanks to all contributors! Your work is very appreciated!

Full Changelog: async-nats/v0.14.0...async-nats/v0.15.0