Skip to content

Commit

Permalink
docs: Some words on semantic versioning
Browse files Browse the repository at this point in the history
  • Loading branch information
defnull committed Nov 18, 2024
1 parent 6917b86 commit a8dfef3
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions docs/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,34 @@
Release Notes
=============

This project loosly follows Semantic Versioning (``major.minor.patch``), with
the exception that changes are allowed in minor releases as long as the change
is necessary to match documentation, specification or expectation.
In other words: Bugfixes do not count as backward incompatible changes, even if
they technically change something from *incorrect* to *correct* and may break
applications that rely on *incorrect*, *undefined* or *undocumented* behavior.

As long as the major version is still ``0.x``, breaking API changes are also
allowed in minor releases, but we try our best to provide fallbacks and emit
deprecation warnings for at least one minor release circle.

.. rubric:: How to upgrade

* Upgrade to the most recent patch release available for your current minor
release. (e.g. ``0.12.3`` to ``0.12.25``)
* Read the release notes for the next minor release, run your tests and fix all
deprecation warnings.
* Upgrade to the next minor release (e.g. ``0.12.25`` to ``0.13.2``), run test
again, fix all warnings and continue.

.. rubric:: Support for old releases

Bugs and security issues are usually fixed in the latest minor release of the
two most recent major releases (named stable and old-stable). With each new major
release, stable becomes old-stable and the old old-stable will no longer receive
regular updates. LTS releases (e.g. 0.12) are an exception. Those will continue
to receive updates on a best-effort basis.

Release 0.14 (in development)
=============================

Expand Down

0 comments on commit a8dfef3

Please sign in to comment.