Are we using semantic versioning? If not, could we change to that?
If we followed that, requiring a higher version of PHP would have made 1.9.3 the 2.0 release instead. I think it's a best practice to follow this unless there are strong reasons not to.
First, imagine having 1.9.2 installed on PHP 8.0 and assuming this was a patch release. You'd completely break your site.
Second, imagine we had a security patch and needed to release it immediately. We now have no path to getting a quick fix to a PHP 8.0 user. Because going from 1.9.2 to 1.9.3 involves a major PHP upgrade, there's no version number space left for a security patch or other backwards compatibility.
Third, it makes it clearer what the next release version should be. "Saving up" for a "big" major point release stops being a thing to worry about.
I think so. At least, I think we intend to.
Great idea! I was supposed to be wanting doing this, then I stopped, approaching the supposedly incredible 2.0 release :-)
Let's stop this and follow best practices.
Do you have any recommandation as to how to proceed? I know what semantic versioning is in theory, but how to apply it to the project now and put everything back on track?
I suggest we leave the current releases as-is.
It's tempting to mess with releases retroactively, but I think it can create more confusion than it's worth.
Let's simply be clear about patch-level changes, minor changes, and backwards-incompatible changes going forward, and use the changelog to determine the next appropriate version number.
Is it a good idea to release a 2.0 quite soon because of recent PHP requirements changes ?
Or we continue 1.x where x can be > 9 ?
I'd simply evaluate each new release based on the new criteria. It's fine to release 1.10 if the next release is a minor-point.
I'd define "breaking BC" in our context as:
A good example of an issue that would cause us to move to 2.0: https://github.com/agorakit/agorakit/issues/524
Changing the namespace would definitely be a BC break.
Since we have a few backwards-compatibility breaks identified now, I grouped them under a '2.0' milestone to see if we can roll them out together and avoid repeated breaks.
Good idea!
i'll fix more little stuff and hopefully will dedicate a day or two on the bigger stuff in the following week.