|
|
Subscribe / Log in / New account

Python adopts a 12-month release cycle

The long discussion on changing the Python project's release cadence has come to a conclusion: the project will now be releasing new versions on an annual basis. See PEP 602 for the details on how it is expected to work.


From:  "Brett Cannon" <brett-AT-python.org>
To:  python-dev-AT-python.org
Subject:  [Python-Dev] Accepting PEP 602 -- Annual Release Cycle for Python
Date:  Wed, 30 Oct 2019 19:26:35 -0000
Message-ID:  <157246359573.18767.8407901658877255838@mail.python.org>
Archive-link:  Article

On behalf of the steering council I am happy to announce that as
BDFL-Delegate I am accepting PEP 602 to move us to an annual release schedule
(gated on a planned update; see below).

The steering council thinks that having a consistent schedule every year when
we hit beta, RC, and final it will help the community:

* Know when to start testing the beta to provide feedback

* Known when the expect the RC so the community can prepare their projects
for the final release

* Know when the final release will occur to coordinate their own releases (if
necessary) when the final release of Python occurs

* Allow core developers to more easily plan their work to make sure work
lands in the release they are targeting

* Make sure that core developers and the community have a shorter amount of
time to wait for new features to be released

The acceptance is gated on Łukasz updating PEP 602 to reflect a planned shift
in scheduling (he's been busy with a release of Black):

* 3 months for betas instead of 2

* 2 months for RCs instead of 1

This was discussed on https://discuss.python.org in order to give the
community enough time to provide feedback in the betas while having enough
time to thoroughly test the RC and to prep for the final release so the delay
from Python's final release to any new project releases is minimal. It should
also fit into the release schedule of Linux distributions like Fedora better
than previously proposed so the distributions can test the RC when they start
preparing for their own October releases. If this turns out to be a mistake
after we try it out for Python 3.9 we can then discuss going back to longer
betas and shorter RCs for the release after that. This will not change when
feature development is cut off relative to PyCon US nor the core dev sprints
happening just before the final release or the alpha of the next version.

To help people who cannot upgrade on an annual cycle, do note that:

* PEP 602 now says that deprecations will last two releases which is two
years instead of the current 18 months

* Now that the stable ABI has been cleaned, extension modules should feel
more comfortable targeting the stable ABI which should make supporting newer
versions of Python much easier

As part of the shift to a 2 year deprecation time frame I will be restarting
discussions around PEP 387 as BDFL-Delegate so we can have a more clear
deprecation and backwards-compatibility policy as well for those that find an
annual cycle too fast which will be updated to reflect this two year time
frame (head's up, Benjamin 😉).

Thanks to Łukasz, Nick, and Steve for PEPs 602, 605, and 607 and everyone
else who provided feedback on those PEPs!
_______________________________________________
Python-Dev mailing list -- python-dev@python.org


(Log in to post comments)

Python adopts a 12-month release cycle

Posted Nov 2, 2019 12:23 UTC (Sat) by burki99 (subscriber, #17149) [Link]

Yearly releases with two years of support is basically what PHP does (https://www.php.net/supported-versions.php), but they add a third year of security fixes. For Python, the distributions probably will have to develop a long-term support scheme with security fixes since it seems a bit hard to imagine RHEL or Ubuntu LTS doing major version Python upgrades during the lifetime of their distros.

Python adopts a 12-month release cycle

Posted Nov 2, 2019 13:06 UTC (Sat) by ermo (subscriber, #86690) [Link]

From PEP602: One year of full support, four more years of security fixes

Python adopts a 12-month release cycle

Posted Nov 2, 2019 14:08 UTC (Sat) by burki99 (subscriber, #17149) [Link]

Thanks - this sounds very reasonable

Python adopts a 12-month release cycle

Posted Nov 5, 2019 2:58 UTC (Tue) by martin.langhoff (guest, #61417) [Link]

Once it is fully underway, this will mean a sizable maintenance burden for the core team. 5 years of security fixes means 5 supported releases, plus whatever is being cooked for the next release. How much larger is this burden from the current support effort? Has that part been thought through?

Would it make sense to make long term support promises on a smaller number of releases (say, the even-numbered releases)?

Python adopts a 12-month release cycle

Posted Nov 3, 2019 9:08 UTC (Sun) by Otus (subscriber, #67685) [Link]

> PEP 602 now says that deprecations will last two releases which is two years instead of the current 18 months

This is an improvement, but I'm a bit confused about how it's stated. PEP 602 says the policy is documented in PEP 387, but that one only requires one release with the deprecation warning.

Python adopts a 12-month release cycle

Posted Nov 7, 2019 12:59 UTC (Thu) by zoobab (guest, #9945) [Link]

When will Python 2.8 be released :-) ?

Python adopts a 12-month release cycle

Posted Nov 7, 2019 17:56 UTC (Thu) by chfisher (subscriber, #106449) [Link]

Second Tuesday of next week


Copyright © 2019, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds