standard-version
standard-version copied to clipboard
minor version bumps in preMajor packages
After some head banging and source code debugging about why any release of our preMajor package was only bumping to 'patch' versions we discovered that anything below 1.0.0 is forced into a patch release regardless of whether a "feature" is detected by a "feat" prefix.
preMajor option being forced to true
https://github.com/conventional-changelog/standard-version/blob/0a801d9ddb88941158271073190e2d5eb2bc67d0/lib/lifecycles/bump.js#L117
forces a level 2 bump which equates to a forced patch
https://github.com/conventional-changelog/conventional-changelog/blob/master/packages/conventional-changelog-conventionalcommits/conventional-recommended-bump.js#L31
Perhaps there is sound reasoning as to why but is there anyway to allow minor bumps before a v1 major release?
I think, this has been discussed in #308, #310, #347 and #454 (among others). However, this not being configurable makes the whole tool unusable for me. I've seen similar questions to this one, so I think there is a demand for making this configurable. A simple flag would be enough. Is there anything like this yet?
You basically have to make commits with feat!: ...
(like a breaking change) when on pre-major version to have the minor version bumped.
I agree it would be nice to have a flag to override this behavior.
This feels like driving on the opposite side of the road. The theoretical advantages may be irrefutable, but if only some people do it, it'll still cause more harm than good.
I also noticed this and started digging around what might cause it. would be nice if this thing had a flag or something.
after some more digging, I came to this comment and it clicked for me: https://github.com/conventional-changelog/conventional-changelog/pull/452#issuecomment-512641237
and to create a minor release during 0.x.x, you have to create a breaking change, but since it is pre-major, it will just bump the minor.
I work with something different to "npm", thought this was the right tool for that... We need a flag to disable this "preMajor" feature!!!
This "preMajor" feature is a POLA violation and should be fixed.
From your README:
How It Works:
Follow the Conventional Commits Specification in your repository.
From Conventional Commits Specification:
feat: a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in Semantic Versioning).
What part of that isn't clear? For anyone that wants this preMajor
behavior, fine, let them ask for it. For everyone else, especially new users who are thinking they might want to adopt this tool, make the behavior match the docs.
Definitely the documentation is unclear, or even a Conventional Commit Spec change is required for this. No where I can know that preMajor doesn't allow a minor release, I'm searching the code for the same reason.