tomzx / php-semver-checker

Compares two source sets and determines the appropriate semantic versioning to apply.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Interface added (V032) a MAJOR increment?

wick-ed opened this issue Β· comments

Hi @tomzx ,

first of all: good work πŸ‘
Just a quick question though. Do you think adding an interface should be a MAJOR increment?
This came quite as a shock when testing our code.

An added interface does not seem to break backwards compatibility in any manner:

  • Not implementing it does not throw any errors
  • Other interfaces/implementations are not affected by it
  • New API endpoints would rather qualify as a feature

A new interface just sits there exposing potential new features to be used and/or implemented, so why the major increment?
Wouldn't MINOR be better or am I completely missing something? :(

Regards, Bernhard

PS: I tested with php-semver-checker-git but I assume the same ruleset/core

HI @wick-ed,

First off, I generally start any question about whether a certain rule should be a certain level with a pointer to docs/02-Configuration.md. If you ever feel a level doesn't correspond to your needs, you may manually override it using a configuration file. Sadly, I just realized that configuration file support is missing from php-semver-checker-git, so I've created tomzx/php-semver-checker-git#17.

Secondly, what you say is correct. Adding an interface shouldn't be a MAJOR increment based on the points you've brought up. A MINOR increment would indeed be better.

I'll update the rules as soon as possible.

Thanks for your feedback!

Updated @ e339c7c. Let me know if you find any other issues!

Hi @tomzx ,

thanks for the fast answer and for implementing the change. πŸ‘
I have seen the possibility for local configuration override but I think something that fundamental as semver or BC in general should not be tweaked to avoid issues with ones code.

Thanks again for your work.
Will come back here if I find any other issues!

Regards, Bernhard