CubicWeb Adopts Semantic Versioning!

Semantic versioning

Until now, all releases of CubicWeb were made under version number 3.x.y. We're thrilled to announce our adoption of semantic versioning for CubicWeb 🚀

Starting from CubicWeb 4.0.0, breaking changes will only be released in major versions. We are confident that these changes will lighten the load for applications and library maintainers! 😄

Adapting our workflow

Until now, all new features and breaking changes were developed on the "default" branch of the mercurial repository.

For each new minor version, we created a new branch and these new branches only received bug fixes.

This way of working is relatively simple but has its limitations: since all features are pushed to the "default" branch, if a breaking change is introduced, it is inevitably included in the next minor version.

After the release of CubicWeb 4, we changed our workflow to continue regularly releasing minor versions of CubicWeb while simultaneously working on the next major version. The default branch is now dedicated to the next major version while fixes and non breaking features are now developped in the branch of the latest released major version:

Repository now

We will put this new workflow to the test and verify that it suits our needs and enable us to keep a good release frequency.

Stay tuned for more updates ! 🟧