Johnson S
Johnson S

Reputation: 11

Semantic Versioning when an update breaks backwards compatibilty with a previous minor version

If I fork a project on github with version v1.0.0 and then add some new functionality. It still remains backwards compatible so if I understand semantic versioning correctly I change the version to v1.1.0. If I now decide I want to change the command line arguments for the new feature, does it become v1.2.0, or v2.0.0 since this change would break backwards compatibility introduced in v1.1.0?

Upvotes: 1

Views: 1209

Answers (1)

jwdonahue
jwdonahue

Reputation: 6669

If I now decide I want to change the command line arguments for the new feature, does it become v1.2.0, or v2.0.0 since this change would break backwards compatibility introduced in v1.1.0?

Do read the SemVer spec. It explains the requirements quite clearly.

All breaking changes require a Major version bump. Previous history, branching, etc, are not relevant to the question. All that matters is, did you make breaking changes to the version you're about to make public? If yes, bump Major, if no, it's still up to you whether the change posses sufficient risk to bump Major, otherwise bump Minor for new backwards compatible features and Patch for everything else backwards compatible.

Upvotes: 3

Related Questions