1

I develop an open-source project. According to this webpage, you should increment the "MINOR version when you add functionality in a backwards-compatible manner".

Suppose I'm developing two distinct features in a backwards compatible manner. Should distinct features always be part of separate releases, or can they be bundled together?

5

A release can be comprised of any set of features you wish. You (and your business needs, marketing, ease-of-upgrade for your users, etc) determine what should go into a particular release.

If you want to release a single version that has two new features, go for it. If the added functionality is backwards-compatible, you would increment the minor version, as you said. If, on the other hand, you want two releases for those two features, go for that (this is probably the more CI/CD way). Minor version would be incremented twice (again, assuming backward-compatibility) in that case.

1

Semantic versioning doesn't require that you increment minor version for each new features. Only that if you add backward compatible features, you have to increment the minor release as a minimum. You can have only one new backward compatible feature or fifty of them between 1.8 and 1.9 release, it doesn't matter, they're allowed by semver.

If you want to increment the minor versions for each new feature, that could be a project specific policy, but it's not required by semver.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.