This PEP proposes updating the versioning scheme for Python to include the calendar year. This aims to make the support lifecycle clear by making it e

Python Enhancement Proposals

submited by
Style Pass
2024-06-15 03:30:02

This PEP proposes updating the versioning scheme for Python to include the calendar year. This aims to make the support lifecycle clear by making it easy to see when a version was first released, and easier to work out when it will reach end of life (EOL).

While the ease of switching to calendar versioning can be treated as an advantage of an annual release cycle, this PEP does not advocate for or against a change in how Python is versioned. Should the annual release cycle be adopted, the versioning question will be dealt with in a separate PEP.

Semantic Versioning (SemVer) is a popular scheme which aims to communicate the intent of a release (though it doesn’t always succeed).

People often assume Python follows SemVer and complain about breaking changes in feature releases. But Python predates SemVer by at least 15 years: the SemVer spec was introduced in 2009 and the bespoke Python scheme was added to source control in 1994 for the 1.0 release.

With Calendar Versioning (CalVer), you include some element of the date in the version number. For example, Ubuntu and Black use the year and month – Ubuntu 24.04 came out in April 2024; pip and PyCharm use only the year.

Leave a Comment