ianstormtaylor / slate

A completely customizable framework for building rich text editors. (Currently in beta.)
http://slatejs.org
MIT License
29.84k stars 3.25k forks source link

Slate-React team needs to learn semantic versioning! #5482

Open heidi-derek opened 1 year ago

heidi-derek commented 1 year ago

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.

bradydoll commented 1 year ago

Their updates are in line with semantic versioning. From https://semver.org:

  1. 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.

dylans commented 1 year ago

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.