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

Decoupling from specific versioning formats (i.e. SemVer) #555

Open
FCamborda opened this issue Dec 5, 2023 · 1 comment
Open

Decoupling from specific versioning formats (i.e. SemVer) #555

FCamborda opened this issue Dec 5, 2023 · 1 comment

Comments

@FCamborda
Copy link

Hi,
this is a very nice initiative! I understand and benefit of coupling commits with changelog specifics (i.e. sections "added", "fixed", "removed", etc).
However, when reading the documentation I see there's a lot of wording related to SemVer, which is not a bad thing, but makes me believe that it's the only supported versioning scheme?
I think either more wide-spread options should be mentioned (e.g. CalVer) or none is explicitly mentioned. The problem that I see with the current specification is that it includes "breaking" in a very SemVer-ish way, which by modern literature does not acknowledge other aspects of versioning in large-scale environments.

Further reads:
https://abseil.io/resources/swe-book/html/ch21.html
https://hynek.me/articles/semver-will-not-save-you/

This might make other developers believe that tooling aligned with ConventionalCommits should support SemVer, when in my eyes there's a big benefit of making them agnostic w.r.t. versioning format

@kuwv
Copy link

kuwv commented Mar 14, 2024

@FCamborda the argument of the second article that "project x" (cryptography in this case) doesn't follow SemVer (or PEP440) and that semver-will-not-save-you is circular logic. Which is ironic because it broke Pipenv which is designed to lock dependencies for deployments.

As you noted, CalVer doesn't yet define a breaking change. Tools that conform to conventional commits and automate change log creation do however. Removing this would make CalVer less useful for tracking and notifying developers of these log entries. IMO this complements CalVer more instead of less.

Really, I see SemVer and CalVer as complementary but targeting different use cases.

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

No branches or pull requests

2 participants