PEP: 569 Title: Python 3.8 Release Schedule Author: Łukasz Langa
<lukasz@python.org> Status: Final Type: Informational Topic: Release
Created: 27-Jan-2018 Python-Version: 3.8

Abstract

This document describes the development and release schedule for Python
3.8. The schedule primarily concerns itself with PEP-sized items.

Release Manager and Crew

-   3.8 Release Manager: Łukasz Langa
-   Windows installers: Steve Dower
-   Mac installers: Ned Deily
-   Documentation: Julien Palard

3.8 Lifespan

3.8 will receive bugfix updates approximately every 2 months for
approximately 18 months. Some time after the release of 3.9.0 final, the
ninth and final 3.8 bugfix update was released. After that, security
updates (source only) were released for 5 years until the release of
Python 3.13.0 final.

As of 2024-10-07, 3.8 has reached the end-of-life phase of its release
cycle. 3.8.20 was the final security release. The codebase for 3.8 is
now frozen and no further updates will be provided nor issues of any
kind will be accepted on the bug tracker.

Release Schedule

3.8.0 schedule

-   3.8 development begins: Monday, 2018-01-29
-   3.8.0 alpha 1: Sunday, 2019-02-03
-   3.8.0 alpha 2: Monday, 2019-02-25
-   3.8.0 alpha 3: Monday, 2019-03-25
-   3.8.0 alpha 4: Monday, 2019-05-06
-   3.8.0 beta 1: Tuesday, 2019-06-04 (No new features beyond this
    point.)
-   3.8.0 beta 2: Thursday, 2019-07-04
-   3.8.0 beta 3: Monday, 2019-07-29
-   3.8.0 beta 4: Friday, 2019-08-30
-   3.8.0 candidate 1: Tuesday, 2019-10-01
-   3.8.0 final: Monday, 2019-10-14

Bugfix releases

-   3.8.1rc1: Tuesday, 2019-12-10
-   3.8.1: Wednesday, 2019-12-18
-   3.8.2rc1: Monday, 2020-02-10
-   3.8.2rc2: Monday, 2020-02-17
-   3.8.2: Monday, 2020-02-24
-   3.8.3rc1: Wednesday, 2020-04-29
-   3.8.3: Wednesday, 2020-05-13
-   3.8.4rc1: Tuesday, 2020-06-30
-   3.8.4: Monday, 2020-07-13
-   3.8.5: Monday, 2020-07-20 (security hotfix)
-   3.8.6rc1: Tuesday, 2020-09-08
-   3.8.6: Thursday, 2020-09-24
-   3.8.7rc1: Monday, 2020-12-07
-   3.8.7: Monday, 2020-12-21
-   3.8.8rc1: Tuesday, 2021-02-16
-   3.8.8: Friday, 2021-02-19
-   3.8.9: Friday, 2021-04-02 (security hotfix)
-   3.8.10: Monday, 2021-05-03 (final regular bugfix release with binary
    installers)

Source-only security fix releases

Provided irregularly on an "as-needed" basis until October 7th 2024.

-   3.8.11: Monday, 2021-06-28
-   3.8.12: Monday, 2021-08-30
-   3.8.13: Wednesday, 2022-03-16
-   3.8.14: Tuesday, 2022-09-06
-   3.8.15: Tuesday, 2022-10-11
-   3.8.16: Tuesday, 2022-12-06
-   3.8.17: Tuesday, 2023-06-06
-   3.8.18: Thursday, 2023-08-24
-   3.8.19: Tuesday, 2024-03-19
-   3.8.20: Friday, 2024-09-06 (final security release)

Features for 3.8

Some of the notable features of Python 3.8 include:

-   PEP 570, Positional-only arguments
-   PEP 572, Assignment Expressions
-   PEP 574, Pickle protocol 5 with out-of-band data
-   PEP 578, Runtime audit hooks
-   PEP 587, Python Initialization Configuration
-   PEP 590, Vectorcall: a fast calling protocol for CPython
-   Typing-related: PEP 591 (Final qualifier), PEP 586 (Literal types),
    and PEP 589 (TypedDict)
-   Parallel filesystem cache for compiled bytecode
-   Debug builds share ABI as release builds
-   f-strings support a handy = specifier for debugging
-   continue is now legal in finally: blocks
-   on Windows, the default asyncio event loop is now ProactorEventLoop
-   on macOS, the spawn start method is now used by default in
    multiprocessing
-   multiprocessing can now use shared memory segments to avoid pickling
    costs between processes
-   typed_ast is merged back to CPython
-   LOAD_GLOBAL is now 40% faster
-   pickle now uses Protocol 4 by default, improving performance

There are many other interesting changes, please consult the "What's
New" page in the documentation for a full list.

Copyright

This document has been placed in the public domain.