Skip to content

Conversation

@thompson-tomo
Copy link
Contributor

@thompson-tomo thompson-tomo commented May 22, 2025

Progreses #851

Review for breaking change:

At Risk

Client Applications & Libraries which depends on NATS.Client.Serializers.Json and have no direct dependency on NATS.Client.Core.

Investigation of likelyhood

Based on nuget.org there is only 1 library depending on NATS.Client.Serializers.Json directly however that already has a direct dependency on NATS.Client.Core. Hence no risk to other libraries especially as no public interface changes have occurred.

@thompson-tomo thompson-tomo force-pushed the feature/#851_SerializerAbstraction branch 5 times, most recently from 7f04ac5 to 7857c68 Compare May 22, 2025 02:21
@thompson-tomo thompson-tomo force-pushed the feature/#851_SerializerAbstraction branch from a7ad3e7 to c4c6745 Compare May 24, 2025 09:34
@mtmk
Copy link
Member

mtmk commented May 24, 2025

may i move this PR onto release/2.7?

@thompson-tomo
Copy link
Contributor Author

Yes that is fine with me.

@thompson-tomo
Copy link
Contributor Author

Note the cleanup related to #869 can be done either as part of this PR or a follow up.

@mtmk
Copy link
Member

mtmk commented May 24, 2025

i think we should move this to 2.7 as well. may i change the base branch to release/2.7?

@thompson-tomo
Copy link
Contributor Author

Yeap that is fine with me.

@thompson-tomo thompson-tomo changed the base branch from main to release/2.7 May 24, 2025 15:53
@thompson-tomo thompson-tomo force-pushed the feature/#851_SerializerAbstraction branch from c4c6745 to a4e0170 Compare May 25, 2025 02:12
@thompson-tomo thompson-tomo changed the base branch from release/2.7 to main May 25, 2025 14:01
@thompson-tomo thompson-tomo changed the base branch from main to release/2.7 May 25, 2025 14:02
@mtmk mtmk added this to the 2.7 milestone May 25, 2025
@thompson-tomo thompson-tomo force-pushed the feature/#851_SerializerAbstraction branch 2 times, most recently from 34850a2 to a5e1d1b Compare May 30, 2025 00:58
@thompson-tomo thompson-tomo force-pushed the feature/#851_SerializerAbstraction branch from a5e1d1b to 01fdc98 Compare June 10, 2025 01:55
@thompson-tomo thompson-tomo requested a review from mtmk June 10, 2025 02:00
@thompson-tomo thompson-tomo force-pushed the feature/#851_SerializerAbstraction branch 2 times, most recently from 42924ab to 66ff91e Compare June 10, 2025 08:20
Signed-off-by: James Thompson <[email protected]>
Signed-off-by: James Thompson <[email protected]>
Signed-off-by: James Thompson <[email protected]>
Signed-off-by: James Thompson <[email protected]>
Signed-off-by: James Thompson <[email protected]>
@thompson-tomo thompson-tomo force-pushed the feature/#851_SerializerAbstraction branch from 66ff91e to c602fb2 Compare June 10, 2025 08:25
@thompson-tomo
Copy link
Contributor Author

@mtmk could you take a look at this PR as this is a clearly flaky test?

@mtmk
Copy link
Member

mtmk commented Jun 10, 2025

it's curious why ConsumerConfigBackoff_test started failing. I don't remember that flapping before. i can't see how changes here might be causing that 😕 need to check 👀

@thompson-tomo
Copy link
Contributor Author

thompson-tomo commented Jun 10, 2025

Tusks and Agree that it is puzzling that only 1 test is having trouble connecting and likely unrelated to this pr

Copy link
Member

@mtmk mtmk left a comment

Choose a reason for hiding this comment

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

LGTM thanks @thompson-tomo
(failed tests seem to be flappers some fixed in main)

@mtmk mtmk merged commit 0bc89fd into nats-io:release/2.7 Jul 18, 2025
21 of 30 checks passed
@thompson-tomo thompson-tomo deleted the feature/#851_SerializerAbstraction branch July 18, 2025 09:34
mtmk added a commit that referenced this pull request Jul 18, 2025
* #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 Jul 18, 2025
mtmk added a commit that referenced this pull request Jul 18, 2025
* #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 Sep 22, 2025
mtmk added a commit that referenced this pull request Dec 19, 2025
* #863 Fix naming of consumer group attribute (#870)

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

* #848 Tweak dependencies (#853)

* #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 (#859)

* 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 for NatsJsMsg (#839)

* Obsolete ReplyAsync method

* Obsolete ReplyAsync method on interface

* #851 Move Serialization Interface into Abstractions (#858)

* 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]>

* Release 2.7.0-preview.1 (#905)

* #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)

* fix: `NatsInstrumentationOptions.Default` gets reset each time (#907)

* initialize `NatsInstrumentationOptions.Default` once

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

* no need for `GetActivityContext` on NatsJSMsg

* Release 2.7.0-preview.2 (#908)

* fix: `NatsInstrumentationOptions.Default` gets reset each time (#907)
* Also, fixes from main

* Fix build warnings (#912)

* fix: `NatsJSConsumer` never disposing receive activities (#911)

* Fix `NatsJSConsumer` never disposing receive activities

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

* Consolidate activity ending message readers into one class

* Run `dotnet format`

* Release 2.7.0-preview.3 (#922)

* fix: `NatsJSConsumer` never disposing receive activities (#911)
* Merge from main

* chore: rework NatsOpt.Default initialization (#921)

* chore: rework NatsOpt.Default initialization

* chore: removed unused using statement

* Fix kv ttl interface (#909)

KV TTL should only be allowed on Create and Purge

* Release 2.7.0-preview.4 (#931)

Fixes merged from main

* Release 2.7.0-preview.5 (#944)

Merge from main aligning with 2.6.8 release.

* Fix JetStream publish retry defaults (#939)

Decision to retry jetstream publish requests should be letft to the
application since it depends on the delivery and durability
requirements of their solution.

* Fix publish 503 test (#958)

With 2.7.x we have made the default to not re-publish on failure.

* Release 2.7.0-preview.6 (#956)

* Fix JetStream publish retry defaults (#939)
* Merge from main

* Release 2.7.0-preview.7 (#970)

Merged from main

* fix: handle 408 Requests Pending responses for fetch requests (#973)

* Handle 408 Requests Pending responses for fetch requests

* Remove redundant `Console.WriteLine` that was put there for testing

* Release 2.7.0-preview.8 (#986)

* fix: handle 408 Requests Pending responses for fetch requests (#973)
* (merge from main) Object store item size fix (#977)

* Fix Ad-Hoc JSON Serializer to use Default Options (#984)

* Fix connection state for consume (#959)

* 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

* Update INatsJsConsumer to return INatsJsMsg (#1004)

---------

Signed-off-by: James Thompson <[email protected]>
Co-authored-by: James Thompson <[email protected]>
Co-authored-by: Arad Alvand <[email protected]>
Co-authored-by: Yeong Jong Lim <[email protected]>
Co-authored-by: regnrat <[email protected]>
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.

2 participants