Bump NATS.Client.Core and 2 others#148
Merged
takashikasuya merged 2 commits intoJul 14, 2026
Merged
Conversation
Bumps NATS.Client.Core from 2.5.16 to 3.0.0 Bumps NATS.Client.JetStream from 2.5.16 to 3.0.0 Bumps NATS.Client.KeyValueStore from 2.5.16 to 3.0.0 --- updated-dependencies: - dependency-name: NATS.Client.Core dependency-version: 3.0.0 dependency-type: direct:production update-type: version-update:semver-major - dependency-name: NATS.Client.JetStream dependency-version: 3.0.0 dependency-type: direct:production update-type: version-update:semver-major - dependency-name: NATS.Client.KeyValueStore dependency-version: 3.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
ApiServer, ConnectorWorker, and GatewayBridge still pinned NATS.Client.Core/JetStream at 2.5.16 directly while BuildingOS.Shared already required 3.0.0, so this PR's IntegrationTest bump to 3.0.0 triggered NU1605 package-downgrade errors. Bumping the three leaf projects to 3.0.0 resolves the graph consistently. That in turn surfaced a real latent incompatibility in ParquetLakeWriterWorker.cs: NuGet's downgrade resolution had silently been building BuildingOS.Shared against 2.5.16 everywhere despite its own PackageReference already saying 3.0.0, so its use of the v3 JetStream fetch API (which now yields INatsJSMsg<T> instead of the concrete NatsJSMsg<T>) was never actually compiled until this fix made 3.0.0 the real resolved version. Updated the three call sites to the interface type. Signed-off-by: Claude <noreply@anthropic.com>
dependabot
Bot
deleted the
dependabot/nuget/DotNet/BuildingOS.IntegrationTest/multi-46c9ea4f04
branch
July 14, 2026 15:22
This was referenced Jul 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated NATS.Client.Core from 2.5.16 to 3.0.0.
Release notes
Sourced from NATS.Client.Core's releases.
3.0.0
NATS .NET 3.0 is now stable. This release has been in the works since early this year and brings OpenTelemetry tracing and metrics, .NET 10 target, and a number of API and behavior changes refined over the preview series. Thanks to everyone who tried the previews and reported issues along the way. There are no changes since 3.0.0-preview.11.
.NET 10 Target
3.0 targets
netstandard2.0,netstandard2.1,net8.0, andnet10.0.net6.0has been dropped.OpenTelemetry
API and behavior changes
Performance and internals
Tests and docs
Thanks
Thanks to the community for the contributions and issue reports behind this release:
... (truncated)
3.0.0-preview.11
Last planned preview on the 3.0 line centered on OpenTelemetry: a new
NATS.Client.OpenTelemetrypackage, richer metrics, and lower-overhead tracing. Also moves the socket connection interfaces intoNATS.Client.Abstractionsand tightens the header-parsing hot path.OpenTelemetry:
Core & packaging:
Thanks to @colprog for the custom span destination name formatter (#1201) and the SearchValues header optimization (#1203).
Thanks to everyone testing the previews so far. This should be the last one; please give it one more round of testing, and if no bugs turn up we'll cut the stable 3.0 release in about a week.
Full Changelog: nats-io/nats.net@v3.0.0-preview.10...v3.0.0-preview.11
3.0.0-preview.10
Bug-fix preview on the 3.0 line. Carries the ordered push consumer subscription teardown fixes from the 2.x line; no 3.0-only changes this round.
From the 2.x line:
Full Changelog: nats-io/nats.net@v3.0.0-preview.9...v3.0.0-preview.10
3.0.0-preview.9
Ninth preview of NATS .NET 3.0. Request-reply now defaults to Direct mode, and subscriptions and consumers can be drained explicitly.
Heads-up: the default request-reply mode is now
NatsRequestReplyMode.Direct(previouslySharedInbox). Direct uses the same inbox prefix but skips per-reply muxer processing, makingRequestAsyncmore resource-efficient. At the default it still throwsNatsNoRespondersExceptionon a no-responders reply, so existingRequestAsyncbehavior is preserved. If you already setRequestReplyModeexplicitly to either mode, nothing changes for you. To keep the old default mechanism, setNatsOpts.RequestReplyMode = NatsRequestReplyMode.SharedInbox.3.0-only changes:
Also from the 2.x line:
Full Changelog: nats-io/nats.net@v3.0.0-preview.8...v3.0.0-preview.9
3.0.0-preview.8
Eighth preview of NATS .NET 3.0. Adds OpenTelemetry metrics support.
3.0-only changes:
Thanks to @divyeshio (#629) and @thompson-tomo (#871) for earlier work toward OTel metrics, and @aradalvand for the OpenTelemetry tracing groundwork (#859, #907, #911) this builds on. Long-requested feature (#316); thanks also to @Cooksauce and @iby-dev for weighing in along the way.
Full Changelog: nats-io/nats.net@v3.0.0-preview.7...v3.0.0-preview.8
3.0.0-preview.7
Seventh preview of NATS .NET 3.0. Brings in everything released in 2.8.1: a Services helper for detecting error responses on the requester side, plus bug fixes across JetStream, KV, subscriptions, and connection logging. No 3.0-only changes.
From main (via 2.8.1):
Full Changelog: nats-io/nats.net@v3.0.0-preview.6...v3.0.0-preview.7
3.0.0-preview.6
Sixth preview of NATS .NET 3.0. Brings in everything merged to main since preview.5: a new server error event on
NatsConnection, slnx solution-format migration, README and example docs additions, and a CI matrix bump to nats-server v2.12. No 3.0-only changes.From main:
Full Changelog: nats-io/nats.net@v3.0.0-preview.5...v3.0.0-preview.6
3.0.0-preview.5
Fifth preview of NATS .NET 3.0. Brings in everything from 2.8.0-preview.3 via a main sync (nats-server 2.14 features and a fix for in-flight message loss on consumer dispose). No 3.0-only changes since preview.4.
From main (also in 2.8.0-preview.3):
Full Changelog: nats-io/nats.net@v3.0.0-preview.4...v3.0.0-preview.5
3.0.0-preview.4
Fourth preview of NATS .NET 3.0 ships nats-server v2.14 support: streams that opt into fast-ingest batch publishing per ADR-50 can now set the new
AllowBatchPublishfield onStreamConfig(the fast-ingest publisher itself will live in orbit.net alongside the existing atomic batch publisher). Also brings in everything from 2.8.0-preview.2 via the main sync, and switches toSystem.Threading.Lockon net9.0+ on the 3.0 line.3.0-only since preview.3:
From main (also in 2.8.0-preview.2):
Full Changelog: nats-io/nats.net@v3.0.0-preview.3...v3.0.0-preview.4
3.0.0-preview.3
Preview release on the 3.0 line. Brings in everything from 2.8.0-preview.1 via the main syncs, plus context-aware serialization. Three breaking changes in total, all intentional on the preview channel before stable 3.0. Please try it and report anything odd.
Package on NuGet: https://www.nuget.org/packages/NATS.Net
Breaking changes:
SkipSubjectValidation = trueonNatsOpts. Closes a class of CRLF injection issues from malformed subjects.NATS.Client.Core.NKeysandNKeyPairare removed. Signing now goes through theNATS.NKeyspackage (https://www.nuget.org/packages/NATS.NKeys), which lets the nkey/Ed25519 code be versioned independently of the client.INatsSerializeWithContext<T>/INatsDeserializeWithContext<T>interfaces (or the combinedINatsSerializerWithContext<T>). Existing serializers keep working unchanged; the library dispatches via runtime type check and falls back to the standard interface. Built-in serializers propagate the context through chains. The read-only flag onNatsHeadersis removed so context-aware serializers can mutate headers; a singleNatsHeadersinstance is no longer safe to share across concurrent publishes.Also includes protocol size checks (64MB incoming payload cap, in line with nats.js), KV watcher cancellation fix, credential loading state reset on failure, and Pin ID handling improvements.
Thanks to the NATS community who contributed PRs, reviews, bug reports on this one ❤️
3.0-only since preview.2:
From main (also in 2.8.0-preview.1):
Full Changelog: nats-io/nats.net@v3.0.0-preview.2...v3.0.0-preview.3
3.0.0-preview.2
This is a main branch sync release.
Please see 2.7.3 release for details.
What's Changed
PingCommandcancellation by @mtmk in FixPingCommandcancellation nats-io/nats.net#1086Full Changelog: nats-io/nats.net@v3.0.0-preview.1...v3.0.0-preview.2
2.8.2
Patch release on the 2.8 line. Fixes ordered push consumer subscription teardown. Thanks to @haoguanjun for the fix.
What's Changed
Full Changelog: nats-io/nats.net@v2.8.1...v2.8.2
2.8.1
Patch release on the 2.8 line. Bug fixes across JetStream, KV, subscriptions, and connection logging, plus a small Services helper for handling error responses on the requester side.
What's Changed
New Services Extensions
Detect service errors on responses (#1152)
Services signal failures using
Nats-Service-Error/Nats-Service-Error-Coderesponse headers. The requester side previously had to read those headers by hand. New extensions onNatsMsg<T>(in theNATS.Netnamespace) cover the common patterns:Full Changelog: nats-io/nats.net@v2.8.0...v2.8.1
Download from NuGet at https://www.nuget.org/packages/NATS.Net/2.8.1
2.8.0
Happy to announce the NATS .NET 2.8.0 stable release of the 2.8 line. It picks up the NATS Server v2.14 client surface (consumer reset,
$JS.FC.*flow-control replies,Consumerfield on stream source/mirror,AllowBatchPublishon stream config), ships two breaking changes that landed in the preview cycle, and fixes in-flight message loss on consumer/connection dispose behind an opt-in drain.A big thank you to all NATS contributors and community members who helped make this release possible. <3
NATS Server v2.14 Features
ResetConsumerAsynconINatsJSContextandINatsJSConsumer(ADR-60), to reset a pinned consumer's state (#1126).$JS.FC.*flow-control replies are parsed by the JS metadata layer, for streams that publish with thejs_ack_fc_v2flag (#1127).Consumerfield onStreamSourceand stream mirror config, for pre-created mirror/source consumers (#1128).AllowBatchPublishonStreamConfig(JSONallow_batched), required by streams that opt into fast-ingest batch publishing per ADR-50 (#1120). The fast-ingest publisher itself lives in orbit.net alongside the existing atomic batch publisher.Breaking Changes
Subject Validation On By Default (#1093)
Subjects containing whitespace (space, tab, CR, LF) now throw
NatsException. This closes a class of CRLF injection issues from malformed subjects.Opt out if you rely on legacy subjects that contain whitespace:
NKeyPair Removed From NATS.Client.Core (#1101)
NATS.Client.Core.NKeysandNKeyPairare removed. Signing now goes through theNATS.NKeyspackage, which lets the nkey/Ed25519 code be versioned independently of the client.For typical users this is transparent: keep using
NatsAuthOpts.NKeyFile,CredsFile,Jwt+Seed, orAuthCredCallbackand the client wires up the new signer automatically.Only direct callers of
NATS.Client.Core.NKeyPairneed to switch:Other Notable Changes
NatsConnectionsurfaces server-side errors to client code.... (truncated)
2.8.0-preview.3
Third preview of NATS .NET 2.8 completes the nats-server v2.14 feature set for the client. See PRs below for specifics.
This release also includes a fix for in-flight message loss on consumer/connection dispose. The new drain path is opt-in, so defaults preserve current behavior. The dispose ordering refactor touches a hot path though, so please give your workloads a once-over and report anything that looks off.
Opt in:
Changes:
Full Changelog: nats-io/nats.net@v2.8.0-preview.2...v2.8.0-preview.3
2.8.0-preview.2
Second preview of NATS .NET 2.8 ships nats-server v2.14 support: streams that opt into fast-ingest batch publishing per ADR-50 can now set the new
AllowBatchPublishfield onStreamConfig(the fast-ingest publisher itself will live in orbit.net alongside the existing atomic batch publisher). Also picks up a Pin ID handling fix for duplicate status headers, the new flat README intro, and assorted CI and test flake fixes.Changes:
Full Changelog: nats-io/nats.net@v2.8.0-preview.1...v2.8.0-preview.2
2.8.0-preview.1
Happy to ship the first preview of NATS .NET 2.8. The theme of this release is tightening the protocol layer and shrinking the core API surface, so this preview carries two breaking changes. Please try it and report anything odd before we cut the stable.
Package on NuGet: https://www.nuget.org/packages/NATS.Net
Breaking changes:
SkipSubjectValidation = trueonNatsOpts.NATS.Client.Core.NKeysandNKeyPairare removed. Signing now goes through theNATS.NKeyspackage (https://www.nuget.org/packages/NATS.NKeys), which lets the nkey/Ed25519 code be versioned independently of the client.Also includes protocol size checks (64MB incoming payload cap, in line with nats.js), KV watcher cancellation fix, credential loading state reset on failure, and Pin ID handling improvements.
Thanks to the NATS community who contributed PRs, reviews, and bug reports on this one ❤️
Full Changelog: nats-io/nats.net@v2.7.3...v2.8.0-preview.1
2.7.3
Announcing a new version of NATS .NET client library covering various fixes and a security update on one dependency for NETStandard targets (#1089) even though the vulnerable API is not used by our library.
A big thank you to all NATS contributors and community members who helped make this release possible ❤️
Breaking Changes
NakAsync Signature Change (#1081)
The
TimeSpan delayparameter has been removed fromINatsJSMsg<T>.NakAsync(). The delay must now be passed viaAckOpts.NakDelay.Before (v2.7.2):
After (v2.7.3):
Note: because we also have an extension method, recompiling your project is enough.
AckTerminateAsync TermWithReason (#1048, #1081)
AckTerminateAsyncnow supports an optional termination reason. A new overload and a newTerminateReasonproperty onAckOptshave been added toINatsJSMsg<T>. Implementors of this interface must add the new method.Requires NATS Server 2.10.4+.
PinnedClient Validation (#1063)
Calling
NextAsync(),FetchAsync(), orFetchNoWaitAsync()on a consumer withPriorityPolicy.PinnedClientnow throwsNatsJSException. UseConsumeAsync()instead.Trade-offs of
SubPendingChannelCapacityYou should watch LOH memory usage and slow consumer events using
MessageDroppedhandler.Also note that channel doesn't allocate this immediately. The backing array grows twice as much each time there is need for more space.
Differences between
NatsClientandNatsConnectionNatsClientsetsSubPendingChannelFullModeoption toBoundedChannelFullMode.Waitby default which means you won't take advantage of this fix if you're usingNatsClientto setup your connection.If you are using
NatsClientthis fix won't affect your applications.... (truncated)
2.7.1
This is a patch fix release for NATS .NET client fixing breaking changes introduced in the previous minor release. With this release errors with transient dependencies that are referencing older versions of the client are corrected by using type forwarding since we moved serialization interfaces to a new 'Abstractions' assembly. We are planning to more other interfaces into the Abstractions assembly and we will make sure the type forwards are in place for those. We also had a fix for an OTel extension due to moving return types to interfaces.
What's Changed
Full Changelog: nats-io/nats.net@v2.7.0...v2.7.1
Big thanks to @caleblloyd and @heikkilamarko for their help finding and fixing these issues for everyone.
You can download this release from NuGet as usual: https://www.nuget.org/packages/NATS.Net/2.7.1
2.7.0
We are excited to announce a minor release of NATS .NET version 2.7.0 with a lot of fixes and improvements making NATS .NET client easier to use, testing friendly and more robust:
Important: Please note, there are also minor breaking changes which might affect dependent applications and sometimes transient dependencies. Application developers should recompile and test their application more rigorously in a non-production environment before deploying to production.
Breaking Changes
Timeout exceptions: Replaced OperationCanceledException with NatsTimeoutException for timeouts (previously surfaced as cancellations). Update any code catching OperationCanceledException for timeouts.
ReplyAsync on NatsJsMsg: Now marked [Obsolete]. Use the alternative method instead.
Serialization interface moved into abstractions: Via PR #858 ("Move Serialization Interface into Abstractions").
Fixed KV TTL interface handling (#854): This brings KV API inline with the design documents. It removed TTL parameters from update calls, which are problematic with buckets with history enabled.
New Features
Bug Fixes
What's Changed - Full List
OperationCanceledExceptionwithNatsTimeoutExceptionby @ealeykin in ReplaceOperationCanceledExceptionwithNatsTimeoutExceptionnats-io/nats.net#1022NatsJSConsumernever disposing receive activities (#911) by @aradalvand... (truncated)
2.7.0-preview.8
This is a bug fix and main merge release.
What's Changed
Full Changelog: nats-io/nats.net@v2.7.0-preview.7...v2.7.0-preview.8
Download from NuGet at https://www.nuget.org/packages/NATS.Net/2.7.0-preview.8
2.7.0-preview.7
This release aligns with the stable 2.6.10 release supporting new NATS Server version 2.12 features.
What's Changed
Full Changelog: nats-io/nats.net@v2.7.0-preview.6...v2.7.0-preview.7
Download from NuGet https://www.nuget.org/packages/NATS.Net/2.7.0-preview.7
2.7.0-preview.5
This release brings 2.7.x branch inline with main. There are important bug fixes. See release notes for 2.6.8 for details.
What's Changed
New Contributors
Full Changelog: nats-io/nats.net@v2.7.0-preview.4...v2.7.0-preview.5
Packages can be downloaded from NuGet: https://www.nuget.org/packages/NATS.Net/2.7.0-preview.5
2.7.0-preview.4
This is a patch preview release of NAT .NET client fixing a dispose and a consumer bug as well as providing corrections and improvements to interfaces.
What's Changed
New Contributors
Full Changelog: nats-io/nats.net@v2.7.0-preview.3...v2.7.0-preview.4
2.7.0-preview.3
Bug fix release and merges from main.
What's Changed
NatsJSConsumernever disposing receive activities by @aradalvand in fix:NatsJSConsumernever disposing receive activities nats-io/nats.net#911Full Changelog: nats-io/nats.net@v2.7.0-preview.2...v2.7.0-preview.3
2.7.0-preview.1
This is a new preview release with new features like the new Abstractions package.
What's Changed
FilterandEnrichfor OpenTelemetry activities by @aradalvand in Add support forFilterandEnrichfor OpenTelemetry activities nats-io/nats.net#859New Contributors
Full Changelog: nats-io/nats.net@v2.6.4...v2.7.0-preview.1
2.6.14
This is a bugfix release with a small but important Subject Validation feature. Subject validation is turned of by default and can be enabled in
NatsOpts. It will be enabled by default in a couple of releases down the line, so if you can, please enable it as soon as possible to make sure your applications are not affected. Subject validation makes sure subjects does not have whitespace characters as to not break the wire protocol. Placing spaces in subjects is not valid and well known. We do not expect the new subject validation feature to break any applications. Only being careful here. See #1017 for more details.What's Changed
Full Changelog: nats-io/nats.net@v2.6.12...v2.6.14
Packages can be downloaded from NuGet as usual: https://www.nuget.org/packages/NATS.Net/2.6.14
2.6.12
Happy to announce we have a new release of NATS .NET client library version 2.6.12. With this version we are providing several minor bug fixes and improvements as well as a couple of new features we missed out in our previous release supporting NATS Server 2.12: Support for
Nats-Expected-Last-Subject-Sequence-Subjectheader #1007 and prioritized mode #1011.Big thank you to our community for helping us with this release and to our contributors taking time to improve NATS .NET for everyone ❤️
What's Changed
New Contributors
Full Changelog: nats-io/nats.net@v2.6.11...v2.6.12
You can download the packages from NuGet: https://www.nuget.org/packages/NATS.Net/2.6.12
2.6.11
This is a bug fix release of NATS .NET version 2.6.11 with a minor braking change to Object Store models.
What's Changed
Full Changelog: nats-io/nats.net@v2.6.10...v2.6.11
Download from NuGet at https://www.nuget.org/packages/NATS.Net/2.6.11
2.6.10
We're happy to announce support for the new NATS Server version 2.12 features with this NATS .NET release version 2.6.10.
What's Changed
Full Changelog: nats-io/nats.net@v2.6.9...v2.6.10
Download from NuGet https://www.nuget.org/packages/NATS.Net/2.6.10
2.6.9
This is a patch bug fix release version 2.6.9.
What's Changed
Full Changelog: nats-io/nats.net@v2.6.8...v2.6.9
Download Packages
Download this release from NuGet.
2.6.8
Important Bug Fix Release
This is an important bug fix release for Object Store users and JetStream publish behavior. Object store bug was causing object corruption, for example under load or during cluster changes when the JetStream publish request was automatically retried reusing a rented buffer. With this fix we also squashed a JetStream bug where JetStream publish was retrying automatically on a timeout again potentially publishing a message twice.
Object Store Corruption
While putting an object, object store chunks were being retired for publishing to JetStream (Object Store uses JetStream) under certain conditions. When that happened, combined with a buffer management bug, there were cases where object chunks were published twice or with data containing parts of other messages due to mismanagement of rented buffers. Since the meta data was published correctly, the issue was seen when trying to get the object (with any NATS client) as digest mismatch. This avoided using the corrupted objects but they stayed in the stream.
JetStream Double Publish Risk
When publishing to JetStream NATS .NET client automatically retries (twice by default, after 250ms) on receiving a 503 response from the server. However in addition to that the client also retried when receiving no response from the server within two seconds of timeout which potentially publishes messages twice.
See PRs #937 and #942 for more details.
Huge thanks to @MiloszKrajewski for his meticulous analysis and fixing the object store put buffer bug ❤️
What's Changed
New Contributors
Full Changelog: nats-io/nats.net@v2.6.7...v2.6.8
You can download the released packages from NuGet: https://www.nuget.org/packages/NATS.Net/2.6.8
2.6.8-preview.1
This is a bug fix release of NATS .NET version 2.6.8-preview.1.
What's Changed
Full Changelog: nats-io/nats.net@v2.6.7...v2.6.8-preview.1
Download NATS .NET NuGet package using your IDE or the NuGet client.
2.6.7
This is a patch release of NATS .NET client fixing a dispose hang and a consumer bug.
What's Changed
Full Changelog: nats-io/nats.net@v2.6.6...v2.6.7
2.6.6
This is a bug fixes patch release.
What's Changed
Full Changelog: nats-io/nats.net@v2.6.5...v2.6.6
2.6.4
This is a patch release with a few minor features introduced since the last release notes.
What's Changed
Storagetype inAccountStatsmodel. by @mtmk in FixStoragetype inAccountStatsmodel. nats-io/nats.net#890New Contributors
Full Changelog: nats-io/nats.net@v2.6.1...v2.6.4
2.6.3
Bug fix release for NET Standard 2.0 targets including .NET Framework.
What's Changed
Full Changelog: nats-io/nats.net@v2.6.2-preview.1...v2.6.3
2.6.2-preview.1
Patch release for a new optional feature.
What's Changed
Full Changelog: nats-io/nats.net@v2.6.1...v2.6.2-preview.1
2.6.1
This is mostly a bug fix release of NATS .NET version 2.6.1 with one new feature making it easy to build
NatsMsgobjects thanks to @Ivandemidov00. We also refactored some of the reliability features around socket reconnections and consumer error handling.What's Changed
Full Changelog: nats-io/nats.net@v2.6.0...v2.6.1
2.6.0
We're excited to announce the new NATS .NET v2.6.0 release in time with server v2.11.2 release, with support for Key-Value Store per key TTL feature (thanks to @stebet). We also various fixes and improvements included in this release.
What's Changed
New Contributors
Full Changelog: nats-io/nats.net@v2.5.16...v2.6.0
Commits viewable in compare view.
Updated NATS.Client.JetStream from 2.5.16 to 3.0.0.
Release notes
Sourced from NATS.Client.JetStream's releases.
3.0.0
NATS .NET 3.0 is now stable. This release has been in the works since early this year and brings OpenTelemetry tracing and metrics, .NET 10 target, and a number of API and behavior changes refined over the preview series. Thanks to everyone who tried the previews and reported issues along the way. There are no changes since 3.0.0-preview.11.
.NET 10 Target
3.0 targets
netstandard2.0,netstandard2.1,net8.0, andnet10.0.net6.0has been dropped.OpenTelemetry
API and behavior changes
Performance and internals
Tests and docs
Thanks
Thanks to the community for the contributions and issue reports behind this release:
... (truncated)
3.0.0-preview.11
Last planned preview on the 3.0 line centered on OpenTelemetry: a new
NATS.Client.OpenTelemetrypackage, richer metrics, and lower-overhead tracing. Also moves the socket connection interfaces intoNATS.Client.Abstractionsand tightens the header-parsing hot path.OpenTelemetry:
Core & packaging:
Thanks to @colprog for the custom span destination name formatter (#1201) and the SearchValues header optimization (#1203).
Thanks to everyone testing the previews so far. This should be the last one; please give it one more round of testing, and if no bugs turn up we'll cut the stable 3.0 release in about a week.
Full Changelog: nats-io/nats.net@v3.0.0-preview.10...v3.0.0-preview.11
3.0.0-preview.10
Bug-fix preview on the 3.0 line. Carries the ordered push consumer subscription teardown fixes from the 2.x line; no 3.0-only changes this round.
From the 2.x line:
Full Changelog: nats-io/nats.net@v3.0.0-preview.9...v3.0.0-preview.10
3.0.0-preview.9
Ninth preview of NATS .NET 3.0. Request-reply now defaults to Direct mode, and subscriptions and consumers can be drained explicitly.
Heads-up: the default request-reply mode is now
NatsRequestReplyMode.Direct(previouslySharedInbox). Direct uses the same inbox prefix but skips per-reply muxer processing, makingRequestAsyncmore resource-efficient. At the default it still throwsNatsNoRespondersExceptionon a no-responders reply, so existingRequestAsyncbehavior is preserved. If you already setRequestReplyModeexplicitly to either mode, nothing changes for you. To keep the old default mechanism, setNatsOpts.RequestReplyMode = NatsRequestReplyMode.SharedInbox.3.0-only changes:
Also from the 2.x line:
Full Changelog: nats-io/nats.net@v3.0.0-preview.8...v3.0.0-preview.9
3.0.0-preview.8
Eighth preview of NATS .NET 3.0. Adds OpenTelemetry metrics support.
3.0-only changes:
Thanks to @divyeshio (#629) and @thompson-tomo (#871) for earlier work toward OTel metrics, and @aradalvand for the OpenTelemetry tracing groundwork (#859, #907, #911) this builds on. Long-requested feature (#316); thanks also to @Cooksauce and @iby-dev for weighing in along the way.
Full Changelog: nats-io/nats.net@v3.0.0-preview.7...v3.0.0-preview.8
3.0.0-preview.7
Seventh preview of NATS .NET 3.0. Brings in everything released in 2.8.1: a Services helper for detecting error responses on the requester side, plus bug fixes across JetStream, KV, subscriptions, and connection logging. No 3.0-only changes.
From main (via 2.8.1):
Full Changelog: nats-io/nats.net@v3.0.0-preview.6...v3.0.0-preview.7
3.0.0-preview.6
Sixth preview of NATS .NET 3.0. Brings in everything merged to main since preview.5: a new server error event on
NatsConnection, slnx solution-format migration, README and example docs additions, and a CI matrix bump to nats-server v2.12. No 3.0-only changes.From main:
Full Changelog: nats-io/nats.net@v3.0.0-preview.5...v3.0.0-preview.6
3.0.0-preview.5
Fifth preview of NATS .NET 3.0. Brings in everything from 2.8.0-preview.3 via a main sync (nats-server 2.14 features and a fix for in-flight message loss on consumer dispose). No 3.0-only changes since preview.4.
From main (also in 2.8.0-preview.3):
Full Changelog: nats-io/nats.net@v3.0.0-preview.4...v3.0.0-preview.5
3.0.0-preview.4
[![...
Description has been truncated