Skip to content

Releases: nats-io/nats.net

NATS.Net v2.0.2-preview.2

13 Dec 07:43
686e6d7
Compare
Choose a tag to compare
Pre-release

This is a preview release of a few small features and bug fixes.

  • Support for slow consumer events
  • Improvements to TLS certificate options
  • Support for unit testing improvements with the introduction of optional INatsMsg<T> and INatsJSMsg<T> interfaces.

What's Changed

Full Changelog: v2.0.2-preview.1...v2.0.2-preview.2

Big thanks to our contributors @stebet, @paulomf and @to11mtm. You all rock! 🥇

Breaking changes

  • Renamed INatsObjContext CreateObjectStore() method to CreateObjectStoreAsync()
  • Slow consumers now will drop messages and raises an event when that happens. You can handle these events or if you need the old behaviour you can set SubPendingChannelFullMode to BoundedChannelFullMode.Wait in NatsOpts.

Give us a shout if you have any questions either on slack.nats.io dotnet channel or here on GitHub!

Don't forget to check out the documentation for guides and examples.

Happy coding! ❤️

Nuget Packages

NATS.Net

This is the main meta package containing all other packages except serialization.

dotnet add package NATS.Net --version 2.0.2-preview.2

If you are not deploying Native AOT you can also use ad-hoc JSON serialization:

dotnet add package NATS.Client.Serializers.Json --version 2.0.2-preview.2

Individual Packages

dotnet add package NATS.Client.Core --version 2.0.2-preview.2
dotnet add package NATS.Client.Hosting --version 2.0.2-preview.2
dotnet add package NATS.Client.JetStream --version 2.0.2-preview.2
dotnet add package NATS.Client.KeyValueStore --version 2.0.2-preview.2
dotnet add package NATS.Client.ObjectStore --version 2.0.2-preview.2
dotnet add package NATS.Client.Services --version 2.0.2-preview.2
dotnet add package NATS.Client.Serializers.Json --version 2.0.2-preview.2

NATS.Net v2.0.2-preview.1

06 Dec 08:53
33c1d89
Compare
Choose a tag to compare
Pre-release

This is a preview release of changes made so far for 2.0.2 release. Please feel free to try these new features in your pre-production workloads.

What's Changed

  • Adding support for the no_responders feature. by @stebet in #259
  • Consumer notifications by @mtmk in #265

New Contributors

Full Changelog: v2.0.1...v2.0.2-preview.1

Nuget Packages

NATS.Net

This is the main meta package containing all other packages except serialization.

dotnet add package NATS.Net --version 2.0.2-preview.1

If you are not deploying Native AOT you can also use ad-hoc JSON serialization:

dotnet add package NATS.Client.Serializers.Json --version 2.0.2-preview.1

Individual Packages

dotnet add package NATS.Client.Core --version 2.0.2-preview.1
dotnet add package NATS.Client.Hosting --version 2.0.2-preview.1
dotnet add package NATS.Client.JetStream --version 2.0.2-preview.1
dotnet add package NATS.Client.KeyValueStore --version 2.0.2-preview.1
dotnet add package NATS.Client.ObjectStore --version 2.0.2-preview.1
dotnet add package NATS.Client.Services --version 2.0.2-preview.1
dotnet add package NATS.Client.Serializers.Json --version 2.0.2-preview.1

NATS.Net v2.0.1

29 Nov 08:02
d36ce7d
Compare
Choose a tag to compare

This is a bugfix and patch release. Make sure to check the breaking changes below.

What's Changed

  • Use TimeSpan for duration instead of nanoseconds by @mtmk in #250
  • Removed redundant StreamUpdateRequest class by @mtmk in #248
  • Include symbols packages for NuGet by @mtmk in #247
  • Stream CreateConsumer renamed CreateOrUpdateConsumer by @mtmk in #251
  • Increase consume and fetch channel size by @mtmk in #246
  • Removed logging object placeholders by @mtmk in #245
  • Fixed domain and API prefix priority and format by @mtmk in #253
  • Fixed JetStream ACK custom serialization by @mtmk in #255
  • JetStream fetch to require maxMsgs parameter by @mtmk in #257
  • Releasing 2.0.1 by @mtmk in #256

Full Changelog: v2.0.0...v2.0.1

Breaking Changes

  • JetStream configuration models now use TimeSpan for all durations
  • JetStream stream update method now takes in StreamConfig
  • JetStream CreateConsumerAsync() method is renamed to CreateOrUpdateConsumerAsync() to reflect its behaviour
  • JetStream FetchAsync() method now requires an option object and doesn't have a default batch size. Change your calls to FetchAsync(new NatsJSFetchConfig { MaxMsgs = 1000 })

Compile should catch them all and hopefully they're not going to cause too much hassle at this early stage.

Happy coding!

Nuget Packages

NATS.Net

This is the main meta package containing all other packages except serialization.

dotnet add package NATS.Net --version 2.0.1

If you are not deploying Native AOT you can also use ad-hoc JSON serialization:

dotnet add package NATS.Client.Serializers.Json --version 2.0.1

Individual Packages

dotnet add package NATS.Client.Core --version 2.0.1
dotnet add package NATS.Client.Hosting --version 2.0.1
dotnet add package NATS.Client.JetStream --version 2.0.1
dotnet add package NATS.Client.KeyValueStore --version 2.0.1
dotnet add package NATS.Client.ObjectStore --version 2.0.1
dotnet add package NATS.Client.Services --version 2.0.1
dotnet add package NATS.Client.Serializers.Json --version 2.0.1

NATS.Net v2.0.0

23 Nov 17:43
d09089d
Compare
Choose a tag to compare

We are thrilled to announce the general availability of NATS.Net version 2.0.0, a robust and high-performance NATS client library that provides a modern .NET interface for building distributed and scalable applications.

Key Features

  • All Core NATS messaging features
  • Full support for NATS JetStream and advanced features like Key/Value and Object stores
  • NATS Service API support
  • Modern async .NET API
  • Native AOT support
  • Targeting .NET 6.0 and .NET 8.0 SDKs

Getting Started

To begin using NATS.Net, check out our official documentation for installation instructions, code examples, and guides.

Install NATS.Net today and elevate your messaging experience to new heights!

Happy coding!

Nuget Packages

NATS.Net

This is the main meta package containing all other packages except serialization.

dotnet add package NATS.Net --version 2.0.0

If you are not deploying Native AOT you can also use ad-hoc JSON serialization:

dotnet add package NATS.Client.Serializers.Json --version 2.0.0

Individual Packages

dotnet add package NATS.Client.Core --version 2.0.0
dotnet add package NATS.Client.Hosting --version 2.0.0
dotnet add package NATS.Client.JetStream --version 2.0.0
dotnet add package NATS.Client.KeyValueStore --version 2.0.0
dotnet add package NATS.Client.ObjectStore --version 2.0.0
dotnet add package NATS.Client.Services --version 2.0.0
dotnet add package NATS.Client.Serializers.Json --version 2.0.0

Thank You!

We want to express our gratitude to the NATS community for their valuable contributions and feedback during the beta phase. Your insights have played a crucial role in shaping NATS.Net into a robust and reliable NATS client library.

We especially want to thank the Cysharp/AlterNats project and its creator @neuecc as it gave us the perfect foundation. We're also grateful for the contributions made by our community members @jasper-d, @simonhoss, @to11mtm and @oising. We couldn't have done it without you!

NATS.Net 2.0.0-rc.2

21 Nov 20:10
1698442
Compare
Choose a tag to compare
NATS.Net 2.0.0-rc.2 Pre-release
Pre-release

This release includes .NET 8 targets as well as .NET 6 as we slightly changed our policy to target all current LTS versions.

What's Changed

  • Project targets updated to .NET 8.0 in #223
  • JetStream enum PascalCase serializer in #225 (thanks to @oising)

Full Changelog: v2.0.0-rc.1...v2.0.0-rc.2

Nuget Packages

NATS.Net

This is the main meta package containing all other packages except serialization.

dotnet add package NATS.Net --version 2.0.0-rc.2

If you are not deploying Native AOT you can also use ad-hoc JSON serialization:

dotnet add package NATS.Client.Serializers.Json --version 2.0.0-rc.2

Individual Packages

dotnet add package NATS.Client.Core --version 2.0.0-rc.2
dotnet add package NATS.Client.Hosting --version 2.0.0-rc.2
dotnet add package NATS.Client.JetStream --version 2.0.0-rc.2
dotnet add package NATS.Client.KeyValueStore --version 2.0.0-rc.2
dotnet add package NATS.Client.ObjectStore --version 2.0.0-rc.2
dotnet add package NATS.Client.Services --version 2.0.0-rc.2
dotnet add package NATS.Client.Serializers.Json --version 2.0.0-rc.2

NATS.Net 2.0.0-rc.1

17 Nov 21:15
dc6bc00
Compare
Choose a tag to compare
NATS.Net 2.0.0-rc.1 Pre-release
Pre-release

We're happy to announce our first release candidate 🎉

JetStream and Native AOT support

NATS.Net supports all new NATS JetStream, Object Store, Key/Value Store and Services APIs. We're also excited to support .NET 8.0 Native AOT deployments for your cloud-native workloads.

What's Changed Since the last Beta

  • Key/Value and Object Store compression in #214
  • JetStream API clean-up in #212
  • Auth error retry handling in #217
  • JetStream options API prefix bug fix in #218
  • List JetStream streams and consumers in #219
  • JetStream consume error notifications in #220

Full Changelog: v2.0.0-beta.3...v2.0.0-rc.1

Nuget Packages

NATS.Net

This is the main meta package containing all other packages except serialization.

dotnet add package NATS.Net --version 2.0.0-rc.1

If you are not deploying Native AOT you can also use ad-hoc JSON serialization:

dotnet add package NATS.Client.Serializers.Json --version 2.0.0-rc.1

Individual Packages

dotnet add package NATS.Client.Core --version 2.0.0-rc.1
dotnet add package NATS.Client.Hosting --version 2.0.0-rc.1
dotnet add package NATS.Client.JetStream --version 2.0.0-rc.1
dotnet add package NATS.Client.KeyValueStore --version 2.0.0-rc.1
dotnet add package NATS.Client.ObjectStore --version 2.0.0-rc.1
dotnet add package NATS.Client.Services --version 2.0.0-rc.1
dotnet add package NATS.Client.Serializers.Json --version 2.0.0-rc.1

NATS.Client v2.0.0-beta.3

16 Nov 15:49
1bf5c01
Compare
Choose a tag to compare
Pre-release

With this release we have added a few missing features like connection retry backoff and double ACK for JetStream.

We are very close to a release candidate

Our tests showing good signs of stability and confidence. A release candidate should be ready very soon 🤞

What's Changed

  • Docs updates with API changes in #208
  • JetStream double ACK and NAK delay in #210
  • Added serializer to Key/Value Store APIs in #213
  • Reconnect backoff in #211

Full Changelog: v2.0.0-beta.2...v2.0.0-beta.3

Nuget Packages

dotnet add package NATS.Client.Core --version 2.0.0-beta.3
dotnet add package NATS.Client.Hosting --version 2.0.0-beta.3
dotnet add package NATS.Client.JetStream --version 2.0.0-beta.3
dotnet add package NATS.Client.KeyValueStore --version 2.0.0-beta.3
dotnet add package NATS.Client.ObjectStore --version 2.0.0-beta.3
dotnet add package NATS.Client.Services --version 2.0.0-beta.3
dotnet add package NATS.Client.Serializers.Json --version 2.0.0-beta.3

v2.0.0-beta.2

13 Nov 19:01
656ae26
Compare
Choose a tag to compare
v2.0.0-beta.2 Pre-release
Pre-release

This is a bug fix and stability release.

What's Changed

  • Services interfaces in #196
  • Object store interfaces and missing features in #195
  • JetStream public interfaces in #193
  • Key Value store interfaces in #194
  • Ordered consumer sequence and clean-up fix in #198
  • TLS validation error logging on connection in #197
  • Added JS Stream interface in #200
  • JetStream ordered consume stability fixes in #202
  • Subscribe core method in #205

Full Changelog: v2.0.0-beta.1...v2.0.0-beta.2

Nuget Packages

dotnet add package NATS.Client.Core --version 2.0.0-beta.2
dotnet add package NATS.Client.Hosting --version 2.0.0-beta.2
dotnet add package NATS.Client.JetStream --version 2.0.0-beta.2
dotnet add package NATS.Client.KeyValueStore --version 2.0.0-beta.2
dotnet add package NATS.Client.ObjectStore --version 2.0.0-beta.2
dotnet add package NATS.Client.Services --version 2.0.0-beta.2
dotnet add package NATS.Client.Serializers.Json --version 2.0.0-beta.2

v2.0.0-beta.1

07 Nov 22:05
de83719
Compare
Choose a tag to compare
v2.0.0-beta.1 Pre-release
Pre-release

This release contains bug fixes found in stress tests.

dotnet add package NATS.Client.Core --version 2.0.0-beta.1
dotnet add package NATS.Client.Hosting --version 2.0.0-beta.1
dotnet add package NATS.Client.JetStream --version 2.0.0-beta.1
dotnet add package NATS.Client.KeyValueStore --version 2.0.0-beta.1
dotnet add package NATS.Client.ObjectStore --version 2.0.0-beta.1
dotnet add package NATS.Client.Services --version 2.0.0-beta.1
dotnet add package NATS.Client.Serializers.Json --version 2.0.0-beta.1

What's Changed

  • Hide subscribe internal method in #186
  • JetStream consume idle heartbeat fix in #185
  • Async iterator subscription memory fix in #188

Full Changelog: v2.0.0-beta.0...v2.0.0-beta.1

v2.0.0-beta.0

07 Nov 08:56
500f802
Compare
Choose a tag to compare
v2.0.0-beta.0 Pre-release
Pre-release

This is our first beta release with more stable API, ready to be deployed in testing environments.

dotnet add package NATS.Client.Core --version 2.0.0-beta.0
dotnet add package NATS.Client.Hosting --version 2.0.0-beta.0
dotnet add package NATS.Client.JetStream --version 2.0.0-beta.0
dotnet add package NATS.Client.KeyValueStore --version 2.0.0-beta.0
dotnet add package NATS.Client.ObjectStore --version 2.0.0-beta.0
dotnet add package NATS.Client.Services --version 2.0.0-beta.0
dotnet add package NATS.Client.Serializers.Json --version 2.0.0-beta.0

What's Changed

  • Mark StreamState Subjects as nullable by @simonhoss in #170
  • Add delete msg api by @simonhoss in #175
  • Serialization Simplification in #171
  • Key/Value Store fixes in #176
  • JetStream leadership change fix in #180
  • JetStream publish options in #181
  • JetStream Ordered consumer in #169
  • Serialization API proposal in #177
  • Subscribe API async enumerable change in #182

Full Changelog: v2.0.0-alpha.7...v2.0.0-beta.0