PEP 569 -- Python 3.8 Release Schedule
| PEP: | 569 |
|---|---|
| Title: | Python 3.8 Release Schedule |
| Author: | Łukasz Langa <lukasz at python.org> |
| Status: | Active |
| Type: | Informational |
| Created: | 27-Jan-2018 |
| Python-Version: | 3.8 |
Contents
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 1-3 months for approximately 18 months. After the release of 3.9.0 final, a final 3.8 bugfix update will be released. After that, it is expected that security updates (source only) will be released until 5 years after the release of 3.8 final, so until approximately October 2024.
Release Schedule
3.8 schedule
Actual:
- 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: Monday, 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
- 3.8.1 candidate 1: Tuesday, 2019-12-10
- 3.8.1: Wednesday, 2019-12-18
- 3.8.2 candidate 1: Monday, 2020-02-10
- 3.8.2 candidate 2: Monday, 2020-02-17
Subsequent bugfix releases at a bi-monthly cadence.
Expected:
- 3.8.2: Monday, 2020-02-24
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.
