Question on versioning, why moving away from semver #286
Replies: 2 comments
-
Hi, sure, I can elaborate (converted to a discussion). Gramps Web as application consists of two parts: the Python REST API backend Both projects used SemVer from the beginning, starting with v0.1 each. The idea for Web API was to switch to v1.0 once Gramps 5.2 is realeased (which would be a breaking change), but I decided to bump it already earlier this year (before we learned that Gramps 5.2 will still be released this year) because the numbers where getting too big and the 0.x was leading to wrong impressions about the maturity of the project. Other than this, Web API is fully SemVer compliant and a breaking change like a change of Gramps database schema that will come with Gramps 5.2 will trigger a major version bump. For the frontend, we were also already at v0.22, but in this case I didn't see any reason to ever bump the major version number, because the project is evolving incrementally. So CalVer seemed like more natural. For users who are deploying the backend and frontend separately, there is a minimum Web API version check in Gramps.js, which will issue a warning in the UI if it is not met. For users who are instead using the default Gramps Web docker images, this is not a concern because they always use an updated frontend when the Web API is updated. But in this case, "breaking changes" are exclusively happening in the backend, which does use SemVer as elaborated above. So before upgrading to a newer version of the Web API, users should check whether there are breaking changes. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the detailed answer. It makes sense. |
Beta Was this translation helpful? Give feedback.
-
Hello,
I noticed that from version 23.8.0 you moved away from a semver.
Just curious to know the reason for this move. I think that semver carries more information, most importantly the breaking changes. Now if a person wants to update they need to read each and every release to make sure no breaking changes were introduced.
Beta Was this translation helpful? Give feedback.
All reactions