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
async-nats 1.0.0 release planning #896
Comments
We decided to not touch current builders, and instead add new ones whenver there is a need for them. |
Any updates on the 1.0 release plan? Looks like all the work is done, from that checklist? |
@ekalosak After some consideration, we settled at:
Despite library being in stable, production ready state, making it 1.0.0 brings a hefty set of problems
All of above means that we would either really often iterate on major version of the library, or, trying to avoid any breaking changes, keep the library "in the past" and not benefit from the good changes in maturing ecosystem. |
If the server can add new errors in the future, shouldn't the client's enum be non-exhaustive anyway? Are there breaking changes that happen to structs that aren't also covered by the ability to mark structs as non-exhaustive? |
@Kinrany we did consider non-exhaustive errors, but the ergonomics of such are really bad. The actual server errors are represented in client as
and are reachable via checking Regarding the non-exhaustive structs: those could not be used with |
|
Many users prefer to use config structs rather than builders. Especially in NATS context, where its sometimes easier to look at whole config rather than a code (as this is how you often see those in cli when caling That's why we went with struct variant. |
This issue gathers all work needed for 1.0.0 release and encourages discussions.
Current list of pending work
tokio-rustls
version and addwebpki
as a dependency #915)Subject
type and/or trait and avoid subject allocations (UseBytes
with a string interface for subjects to avoid allocations. #950)Bytes
to represent custom headers #949, AllowHeaderName
to be const-initialized #945)Release 0.30.0 should bring most of the work and hopefully all breaking changes.
The text was updated successfully, but these errors were encountered: