-
Notifications
You must be signed in to change notification settings - Fork 172
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. |
Hi, what is the status of the stable release plan? |
Please read above dicsussions @justjake . We are discussing potentially having major release, with assumption that every server minor release (2.11, 2.12) would cause a major On the other hand, it seems that most open source rust libraries follow <1.0 approach still, including our dependencies (rustls, rand), which means if they bump and introduce breaking changes, it forces us to do major bump... |
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: