On Sat., 2 Nov. 2019, 7:05 am Antoine Pitrou, email@example.com wrote:
Did you weigh PEP 602 against PEP 605? Is there a summary of the strong points you found for each and how you decided for the former?
The summary in PEP 607 was accepted as making a convincing case against the status quo.
For the comparison between the PEPs, the main problem with PEP 605 was the base 24 month release cycle, as that causes a whole lot of release cycle synchronization problems (a redistributor missing the release train means shipping something 24-30 months old, rather than PEP 602's 12-18 months, or the status quo's 18-24 months), and also increases the temptation to push features into a release before they're ready.
The 24 month cycle was also what drove the ABI management complexity in PEP 605's rolling release stream proposal, whereas the 12 month cycle can more readily stick with the familiar alpha/beta/rc sequence.
For the points beyond that, there were going to need to be adjustments either way (e.g. many of the issues to be addressed in making annual releases easier for libraries and applications to support are similar to those that would have been needed to make the rolling release stream feasible to support).
On Wed, 30 Oct 2019 19:26:35 -0000 "Brett Cannon" firstname.lastname@example.org wrote:
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 -- email@example.com To unsubscribe send an email to firstname.lastname@example.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at
Code of Conduct: http://python.org/psf/codeofconduct/
Python-Dev mailing list -- email@example.com To unsubscribe send an email to firstname.lastname@example.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://email@example.com/message/B2OZTVNI... Code of Conduct: http://python.org/psf/codeofconduct/