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

Add server versioning proposal #179

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Add server versioning proposal #179

wants to merge 1 commit into from

Conversation

bruth
Copy link
Member

@bruth bruth commented Dec 8, 2022

No description provided.

@caleblloyd
Copy link

I have not heard of a defect release before, but fix is common with breaking.feature.fix from Convential Commits, Semantic Release, and the prior art those are based on

I think any of the options that stray from SemVer are not a good idea. SemVer is heavily used in automation tools like Dependabot and such. While it might be nice to have a 4th option, such as release.breaking.feature.fix, there is just not much support for parsing and comparing those so it is guaranteed to break automation. Hijacking PreRelease tags or BuildInfo to indicate that this is a different, compatible Stable release would not be properly handled by automation either.

There is, of course the option of versioning JS APIs within the Server. K8s APIs are one example and applied to NATS could look something like core/v1, stream/v1, kv/v1beta1, and obj/v1alpha1. This would be a large undertaking for the server, however.

Another option could be to simply keep versioning things as they are, but document that minor releases in the nats-server may have major breaking changes in JetStream APIs, so read the release notes on those.

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