Skip to content

Conversation

@mtmk
Copy link
Member

@mtmk mtmk commented May 27, 2025

This is the main PR for 2.7 release containing the PRs below. Most have them have 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.

0216643 Update INatsJsConsumer to return INatsJsMsg (#1004)
ac5fe82 Fix connection state for consume (#959)
67fdec0 Fix Ad-Hoc JSON Serializer to use Default Options (#984)
d313529 fix: handle 408 Requests Pending responses for fetch requests (#973)
1e658ab Fix publish 503 test (#958)
8f5c735 Fix JetStream publish retry defaults (#939)
887ccde Fix kv ttl interface (#909)
72a2e92 chore: rework NatsOpt.Default initialization (#921)
948af5c fix: NatsJSConsumer never disposing receive activities (#911)
bedafe0 Fix build warnings (#912)
5abeb7e fix: NatsInstrumentationOptions.Default gets reset each time (#907)
0bc89fd #851 Move Serialization Interface into Abstractions (#858)
5a23eb1 Obsolete ReplyAsync method for NatsJsMsg (#839)
7d9cb11 (thompson-tomo/release/2.7) Add support for Filter and Enrich for OpenTelemetry activities (#859)
0f7166c (thompson-tomo/split-merge) #848 Tweak dependencies (#853)
b09e92c #863 Fix naming of consumer group attribute (#870)

thompson-tomo and others added 8 commits May 27, 2025 12:43
* #848 Tweak dependencies

Signed-off-by: James Thompson <[email protected]>

* Update NATS.Client.Core.csproj

Signed-off-by: James Thompson <[email protected]>

* Update NATS.Client.Core.csproj

Signed-off-by: James Thompson <[email protected]>

* Make STJ explicit dependency for JetStream

Signed-off-by: James Thompson <[email protected]>

* Update NATS.Client.JetStream.csproj

Signed-off-by: James Thompson <[email protected]>

* Force sdk to 8.0.0

Signed-off-by: James Thompson <[email protected]>

* Add newer stj for net 6

Signed-off-by: James Thompson <[email protected]>

---------

Signed-off-by: James Thompson <[email protected]>
)

* Add support for `Filter` and `Enrich` for OpenTelemetry activities

* Make `internal` methods in `internal Telemetry` `public`

* Fix package versions and whatnot

* Remove `TracerProviderBuilderExtensions`

* Include `Deserialize` in the receive activity

* Revert back accidental change

* Add `ParentContext` to `NatsInstrumentationContext`

* Make `GetActivityContext` public to provide the ability to get context activity context

* Make preprocessor directive more accurate

* Revert .csproj formatting

* Move public artifacts out of the `Internal` namespace/folder

* Fix build script

---------

Co-authored-by: Ziya Suzen <[email protected]>
* Obsolete ReplyAsync method

* Obsolete ReplyAsync method on interface
* Tweaks

Signed-off-by: James Thompson <[email protected]>

* Add missing dependencies

Signed-off-by: James Thompson <[email protected]>

* switch to system.memory

Signed-off-by: James Thompson <[email protected]>

* Added missing using

Signed-off-by: James Thompson <[email protected]>

* Reduce csproj file contents

Signed-off-by: James Thompson <[email protected]>

---------

Signed-off-by: James Thompson <[email protected]>
@mtmk mtmk marked this pull request as ready for review July 18, 2025 09:17
mtmk and others added 21 commits July 18, 2025 16:49
* #851 Move Serialization Interface into Abstractions (#858)
* Obsolete ReplyAsync method for NatsJsMsg (#839)
* Add support for `Filter` and `Enrich` for OpenTelemetry activities (#859)
* #848 Tweak dependencies (#853)
* #863 Fix naming of consumer group attribute (#870)
* initialize `NatsInstrumentationOptions.Default` once

* `NatsInstrumentationContext.ActivityContext` doesn't need to be nullable

* no need for `GetActivityContext` on NatsJSMsg
# Conflicts:
#	version.txt
* fix: `NatsInstrumentationOptions.Default` gets reset each time (#907)
* Also, fixes from main
* Fix `NatsJSConsumer` never disposing receive activities

* Use `ActivityEndingMsgReader` to `NatsJSFetch` and `NatsJSOrderedConsume`

* Consolidate activity ending message readers into one class

* Run `dotnet format`
* fix: `NatsJSConsumer` never disposing receive activities (#911)
* Merge from main
* chore: rework NatsOpt.Default initialization

* chore: removed unused using statement
KV TTL should only be allowed on Create and Purge
# Conflicts:
#	version.txt
Fixes merged from main
# Conflicts:
#	version.txt
Merge from main aligning with 2.6.8 release.
Decision to retry jetstream publish requests should be letft to the
application since it depends on the delivery and durability
requirements of their solution.
# Conflicts:
#	version.txt
With 2.7.x we have made the default to not re-publish on failure.
mtmk and others added 10 commits September 22, 2025 14:01
* Fix JetStream publish retry defaults (#939)
* Merge from main
* Handle 408 Requests Pending responses for fetch requests

* Remove redundant `Console.WriteLine` that was put there for testing
# Conflicts:
#	version.txt
# Conflicts:
#	version.txt
* fix: handle 408 Requests Pending responses for fetch requests (#973)
* (merge from main) Object store item size fix (#977)
* Fix connection state for consume

* Enhance connection state handling with NatsConnectionFailedException

* Improve error handling for connection failures and add support for configurable 503 error thresholds in JetStream consumers

* Add tests for connection failure handling and configurable 503 error thresholds in JetStream consumers

* Fix format

* Fix test
# Conflicts:
#	tests/NATS.Client.JetStream.Tests/OrderedConsumerTest.cs
@mtmk mtmk added this to the 2.7 milestone Oct 29, 2025
mtmk and others added 5 commits November 24, 2025 10:32
# Conflicts:
#	src/NATS.Client.JetStream/Internal/NatsJSConsume.cs
#	src/NATS.Client.JetStream/NatsJSConsumer.cs
#	src/NATS.Client.JetStream/NatsJSOpts.cs
#	version.txt
# Conflicts:
#	version.txt
Copy link
Member

@Jarema Jarema left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

# Conflicts:
#	src/NATS.Client.Core/NATS.Client.Core.csproj
@mtmk mtmk merged commit 4856762 into main Dec 19, 2025
25 checks passed
mtmk added a commit that referenced this pull request Dec 19, 2025
* Replace `OperationCanceledException` with `NatsTimeoutException` (#1022)
* Replace deprecated IndexRange package with Microsoft.Bcl.Memory to solve possible dependency conflicts (for netFramework/netStandard2.0) (#1009)
* PeerInfo.Lag is wrong type (#1021)
* (Merge Branch) Release 2.7 (#874)
  * Update INatsJsConsumer to return INatsJsMsg (#1004)
  * Fix connection state for consume (#959)
  * Fix Ad-Hoc JSON Serializer to use Default Options (#984)
  * fix: handle 408 Requests Pending responses for fetch requests (#973)
  * Fix publish 503 test (#958)
  * Fix JetStream publish retry defaults (#939)
  * Fix kv ttl interface (#909)
  * chore: rework NatsOpt.Default initialization (#921)
  * fix: `NatsJSConsumer` never disposing receive activities (#911)
  * Fix build warnings (#912)
  * fix: `NatsInstrumentationOptions.Default` gets reset each time (#907)
  * #851 Move Serialization Interface into Abstractions (#858)
  * Obsolete ReplyAsync method for NatsJsMsg (#839)
  * Add support for `Filter` and `Enrich` for OpenTelemetry activities (#859)
  * #848 Tweak dependencies (#853)
  * #863 Fix naming of consumer group attribute (#870)
@mtmk mtmk mentioned this pull request Dec 19, 2025
mtmk added a commit that referenced this pull request Dec 19, 2025
* Replace `OperationCanceledException` with `NatsTimeoutException` (#1022)
* Replace deprecated IndexRange package with Microsoft.Bcl.Memory to solve possible dependency conflicts (for netFramework/netStandard2.0) (#1009)
* PeerInfo.Lag is wrong type (#1021)
* (Merge Branch) Release 2.7 (#874)
  * Update INatsJsConsumer to return INatsJsMsg (#1004)
  * Fix connection state for consume (#959)
  * Fix Ad-Hoc JSON Serializer to use Default Options (#984)
  * fix: handle 408 Requests Pending responses for fetch requests (#973)
  * Fix publish 503 test (#958)
  * Fix JetStream publish retry defaults (#939)
  * Fix kv ttl interface (#909)
  * chore: rework NatsOpt.Default initialization (#921)
  * fix: `NatsJSConsumer` never disposing receive activities (#911)
  * Fix build warnings (#912)
  * fix: `NatsInstrumentationOptions.Default` gets reset each time (#907)
  * #851 Move Serialization Interface into Abstractions (#858)
  * Obsolete ReplyAsync method for NatsJsMsg (#839)
  * Add support for `Filter` and `Enrich` for OpenTelemetry activities (#859)
  * #848 Tweak dependencies (#853)
  * #863 Fix naming of consumer group attribute (#870)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants