Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplified NATS client #607

Merged
merged 3 commits into from
Aug 23, 2024
Merged

Simplified NATS client #607

merged 3 commits into from
Aug 23, 2024

Conversation

mtmk
Copy link
Collaborator

@mtmk mtmk commented Aug 20, 2024

We moved functionality from the NATS.Client package into NATS.Client.Simplified because the NATS.Client package belongs to v1 and cannot be used. While we could have used the NATS.Net package, doing so would create dependencies on all other packages. To avoid this, NATS.Net remains a meta package that pulls everything together, allowing developers the flexibility to pull in packages gradually if they choose to use the simplified package with minimal dependencies.

There is one breaking change: the NATS.Net package will now reference the ad-hoc JSON serialization package, which may affect AOT (Ahead-of-Time) publishing for certain use cases, though this is likely uncommon. It's crucial that we avoid using non-AOT-friendly APIs, such as ad-hoc JSON serialization, in the core library.

Moved functionality from NATS.Client package into NATS.Client.Simplified since
We can't use NATS.Client package as it belongs to v1.
@to11mtm
Copy link
Collaborator

to11mtm commented Aug 22, 2024

Comment without any direction:

As awkward as the convention is, should we consider cases where .Core is used when specific delineation is required?

(I'm fine either way just DAing here)

@mtmk
Copy link
Collaborator Author

mtmk commented Aug 22, 2024

Untitled Diagram drawio

Copy link
Collaborator

@rickdotnet rickdotnet left a comment

Choose a reason for hiding this comment

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

Looks ok to me.

One thing I've been meaning to dive into is looking for gaps in documentation. PRs like this could include documentation that addresses cases such as folks wanting to remain AOT-friendly. Perhaps an article or some section in the docs.

Could also include documentation like you've mentioned about where the delineation is for projects that should be AOT-friendly. Either in CONTRIBUTING.md or the docs.

@mtmk mtmk merged commit 23d8169 into main Aug 23, 2024
13 checks passed
@mtmk mtmk deleted the nats-client-simplified branch August 23, 2024 08:41
mtmk added a commit that referenced this pull request Aug 23, 2024
* Simplified NATS client (#607)
This was referenced Aug 23, 2024
mtmk added a commit that referenced this pull request Aug 23, 2024
* Simplified NATS client (#607)
mtmk added a commit that referenced this pull request Sep 17, 2024
* Fixed consume pending message calculation (#626)
* ServiceProvider callback for NATS DI configuration (#619)
* Nats web socket opts improvements (#623)
* Fix various disposable issues (#625)
* Make NuidWriter public (#618)
* NatsOpts.ConfigureWebSocketOpts callback handler (#605)
* Simplified NATS client (#607)
* Update docs (#595)
* Add default timeout to initial commands (#594)
* Extensive logging for reconnect debugging (#593)
* Add clear next step navigation to API index doc (#592)
* Add NATS client implementation (#589)
@mtmk mtmk mentioned this pull request Sep 17, 2024
mtmk added a commit that referenced this pull request Sep 17, 2024
* Fixed consume pending message calculation (#626)
* ServiceProvider callback for NATS DI configuration (#619)
* Nats web socket opts improvements (#623)
* Fix various disposable issues (#625)
* Make NuidWriter public (#618)
* NatsOpts.ConfigureWebSocketOpts callback handler (#605)
* Simplified NATS client (#607)
* Update docs (#595)
* Add default timeout to initial commands (#594)
* Extensive logging for reconnect debugging (#593)
* Add clear next step navigation to API index doc (#592)
* Add NATS client implementation (#589)
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.

3 participants