diff --git a/RELEASING.md b/RELEASING.md index db7b22445..4368792e6 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,3 +1,28 @@ +# Versioning + +Pillow follows Semantic Versioning. From https://semver.org/: + +> Given a version number MAJOR.MINOR.PATCH, increment the: +> 1. MAJOR version when you make incompatible API changes, +> 2. MINOR version when you add functionality in a backwards compatible manner, and +> 3. PATCH version when you make backwards compatible bug fixes. + +Quarterly releases (referred to as "Main Release" in the checklist below) bump at +least the MINOR version, as new functionality has likely been added in the prior three +months. + +A quarterly release bumps the MAJOR version when make incompatible API changes are +made, such as removing deprecated APIs or dropping an EOL Python version. In practice, +these occur every 12-18 months, guided by Python's EOL schedule, and any APIs that have +been deprecated for at least a year are removed at the same time. + +PATCH versions ("Point Release" or "Embargoed Release" in the checklist below) are for +security, installation or critical bug fixes. These are less common as it is preferred +to stick to quarterly releases. + +Between quarterly releases, ".dev0" is appended to the version, indicating that this is +not a formally released copy. + # Release Checklist ## Main Release