Open heidi-derek opened 1 year ago
Their updates are in line with semantic versioning. From https://semver.org:
- Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.
Also, there is also nothing in semantic versioning that says you can't skip release numbers.
As notes, Slate is still considered beta, which means everything is considered possibly breaking (though we obviously don't intentionally break).
I am pushing to finally establish a decent test suite for slate-react as part of the update to use React 18 as a minimum ( see #5507). After that work lands, I'll probably increment things to 1.0.0 if others agree.
As far skipping versions, we have four packages in a monorepo. If only one of them has an update, it gets the new version number. But we don't maintain four sets of sequential version numbers.
Problem Version numbers for new releases have been wrong on multiple occasions, which causes users confusion and headaches.
If a change breaks functionality, no matter how "minor" the change may seem, it is a major upgrade. Release 0.95.0 of slate-react contains breaking changes; therefore, it should have been release 1.0.0. This is not the first time a breaking change has been released as a minor update.
Also, releases should be sequential. What is the logic for making 8.6.0 the next minor release after 8.3.2 instead of 8.4.0? This doesn't follow the rules of semantic versioning.
Solution Please, you guys have developed a great product, but for everyone's sake, please get your versioning right. It can have significant impact on those of us who implement your library and want to stay up to date with it.