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
New versioning proposal #56
Comments
I am not sure that this will work. In semver the versioning the model is MAJOR.MINOR.PATCH-prerelease In semver, the part after hyphen (in this case "-k3") is used for pre-releases. Our use case is that someone wants to stay on keycloak 3 because switching to a version of the library that supports keycloak 4 would be a breaking change for them. If someone has ^4.0.0-k3 in their package.json, when 4.0.1 is released, their module would be automatically updated to 4.0.1 on the next build of their angular app. That would be a breaking change for them. I would use the major version to denote breaking changes: Every time we decide to support new angular or keycloak in a backward-compatibility breaking way, the major version should increment. At the moment, the idea is to update to newer version of angular. So the next major version (keycloak-angular@2.0.0) could support the angular 6. The support for keycloak 4 is still in working and keycloak 4 is still in beta, so version keycloak-angular@3.0.0-beta1 could support angular 6 and the beta version of keycloak 4. I think we are not going to support angular <= 5 + keycloak 4, are we? the support for keycloak 4 which we are implementing now will probably be merged with your new code for angular 6, so keycloak 4 + angular <= 5 will never happen. In the future every time when we need to change a keycloak-angular library to support the new version of angular or keycloak, and if this is breaking, then the new version should be created. Also, the question is whether upgrading the keycloak-angular library to angular 6 is a breaking change. If not, we could theoretically (but we do not have to) even stay on 1.x.x for angular 6 (release it with a minor version) and do keycloak-angular@2.0.0-beta1 for keycloak 4 (keycloak 4 is a breaking change - for sure). |
Hi @marcelnem, glad to have your comments. This is a real problem, considering a future release, like you said, 4.0.0-k3 and then 4.0.1. The npm will update the 4.0.0-k3 to 4.0.1 (compatible with keycloak 4). Maybe your suggestion will gonna be better. |
So the final versioning pattern will be:
This versioning proposal was the result of a talk with @marcelnem at slack last week. Being honest this is much cleaner than the initial proposal. So, as the next release must happen as soon as possible, I will update the proposal doc later, after releasing this new versions. This versioning will be available at the README and project documentation to guide the developers. Thanks all! |
We are working on the next release and found some issues regarding what's the best way to version the keycloak-angular library, considering breaking changes in Angular and Keycloak versions.
The new proposal is presented in:
Please if someone sees any problem regarding this new versioning proposal, help us sharing your thoughts. 💭 😄
--- EDIT ---
In Summary
The text was updated successfully, but these errors were encountered: