PEP 11: Clarify Fixed vs. Modern lifecycle & non-support of ESU (#2802)

* PEP 11: Elide long-obselete emacs declaration & header fields
* PEP 11: Convert last footnote to inline link, fix redirect & use HTTPS
* PEP 11: Apply ESU textual fixes/improvements suggested on #2801
* PEP 11: Update Windows section to clarify Fixed vs. Modern lifecycle
* PEP 11: Apply reviewer-suggested tweaks

Co-authored-by: Steve Dower <steve.dower@microsoft.com>
This commit is contained in:
C.A.M. Gerlach 2022-10-01 19:38:19 -05:00 committed by GitHub
parent 326e5623a5
commit 0850bfb6c0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 30 additions and 30 deletions

View File

@ -1,7 +1,5 @@
PEP: 11
Title: CPython platform support
Version: $Revision$
Last-Modified: $Date$
Author: Martin von Löwis <martin@v.loewis.de>,
Brett Cannon <brett@python.org>
Status: Active
@ -154,19 +152,37 @@ Notes
Microsoft Windows
'''''''''''''''''
Microsoft has established a policy called product support lifecycle
[1]_. Each product's lifecycle has a mainstream support phase, where
the product is generally commercially available, and an extended
support phase, where paid support is still available, and certain bug
fixes are released. Sometimes this is then followed by a third phase
called "ESU", for "extended security updates".
Windows versions prior to Windows 10 follow Microsoft's `Fixed Lifecycle Policy
<https://learn.microsoft.com/en-us/lifecycle/policies/fixed>`__,
with a mainstream support phase for 5 years after release,
where the product is generally commercially available,
and an additional 5 year extended support phase,
where paid support is still available and certain bug fixes are released.
`Extended Security Updates (ESU)
<https://learn.microsoft.com/en-us/lifecycle/faq/extended-security-updates>`_
is a paid program available to high-volume enterprise customers
as a "last resort" option to receive certain security updates after extended support ends.
ESU is considered a distinct phase that follows the expiration of extended support.
CPython's Windows support now follows this lifecycle. A new feature
release X.Y.0 will support all Windows releases whose extended support
phase is not yet expired. (We don't consider the ESU phase for this
purpose; only the "extended support" phase.) Subsequent bug fix releases
will support the same Windows releases as the original feature release
(even if the extended support phase has ended).
Windows 10 and later follow Microsoft's `Modern Lifecycle Policy
<https://learn.microsoft.com/en-us/lifecycle/policies/modern>`__,
which varies per-product, per-version, per-edition and per-channel.
Generally, feature updates (1709, 22H2) occur every 6-12 months
and are supported for 18-36 months;
Server and IoT editions, and LTSC channel releases are supported for 5-10 years,
and the latest feature release of a major version (Windows 10, Windows 11)
generally receives new updates for at least 10 years following release.
Microsoft's `Windows Lifecycle FAQ
<https://learn.microsoft.com/en-us/lifecycle/faq/windows>`_
has more specific and up-to-date guidance.
CPython's Windows support currently follows Microsoft's lifecycles.
A new feature release X.Y.0 will support all Windows versions
whose *extended support* phase has not yet expired.
Subsequent bug fix releases will support the same Windows versions
as the original feature release, even if no longer supported by Microsoft.
New versions of Windows released while CPython is in maintenance mode
may be supported at the discretion of the core team and release manager.
Each feature release is built by a specific version of Microsoft
Visual Studio. That version should have mainstream support when the
@ -360,24 +376,8 @@ Discussions
(Skip Montanaro)
References
==========
.. [1] http://support.microsoft.com/lifecycle/
Copyright
=========
This document is placed in the public domain or under the
CC0-1.0-Universal license, whichever is more permissive.
..
Local Variables:
mode: indented-text
indent-tabs-mode: nil
sentence-end-double-space: t
fill-column: 70
coding: utf-8
End: