Release Date: April 2, 2021
This is the ninth maintenance release of Python 3.8
Note: The release you're looking at is Python 3.8.9, a bugfix release for the legacy 3.8 series. Python 3.9 is now the latest feature release series of Python 3. Get the latest release of 3.9.x here.
3.8.9 is an expedited release which includes a number of security fixes and is recommended to all users:
- bpo-43631: high-severity CVE-2021-3449 and CVE-2021-3450 were published for OpenSSL, it's been upgraded to 1.1.1k in CI, and macOS and Windows installers.
- bpo-42988: CVE-2021-3426: Remove the getfile feature of the pydoc module which could be abused to read arbitrary files on the disk (directory traversal vulnerability). Moreover, even source code of Python modules can contain sensitive data like passwords. Vulnerability reported by David Schwörer.
- bpo-43285: ftplib no longer trusts the IP address value returned from the server in response to the PASV command by default. This prevents a malicious FTP server from using the response to probe IPv4 address and port combinations on the client network. Code that requires the former vulnerable behavior may set a trust_server_pasv_ipv4_address attribute on their ftplib.FTP instances to True to re-enable it.
- bpo-43439: Add audit hooks for gc.get_objects(), gc.get_referrers() and gc.get_referents(). Patch by Pablo Galindo.
Major new features of the 3.8 series, compared to 3.7
- PEP 572, Assignment expressions
- PEP 570, Positional-only arguments
- PEP 587, Python Initialization Configuration (improved embedding)
- PEP 590, Vectorcall: a fast calling protocol for CPython
- PEP 578, Runtime audit hooks
- PEP 574, Pickle protocol 5 with out-of-band data
- 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
continueis now legal in
- on Windows, the default
asyncioevent loop is now
- on macOS, the spawn start method is now used by default in
multiprocessingcan now use shared memory segments to avoid pickling costs between processes
typed_astis merged back to CPython
LOAD_GLOBALis now 40% faster
picklenow 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.
- Online Documentation
- PEP 569, 3.8 Release Schedule
- Report bugs at https://bugs.python.org.
- Help fund Python and its community.
- The binaries for AMD64 will also work on processors that implement the Intel 64 architecture. (Also known as the "x64" architecture, and formerly known as both "EM64T" and "x86-64".)
- There are now "web-based" installers for Windows platforms; the installer will download the needed software components at installation time.
- There are redistributable zip files containing the Windows builds, making it easy to redistribute Python as part of another software package. Please see the documentation regarding Embedded Distribution for more information.
- For Python 3.8, we provide one installer: 64-bit-only that works on macOS 10.9 (Mavericks) and later systems.
- Please read the "Important Information" displayed during installation for information about SSL/TLS certificate validation and the running the "Install Certificates.command".
|Version||Operating System||Description||MD5 Sum||File Size||GPG|
|Gzipped source tarball||Source release||41a5eaa15818cee7ea59e578564a2629||24493475||SIG|
|XZ compressed source tarball||Source release||51b5bbf2ab447e66d15af4883db1c133||18271948||SIG|
|macOS 64-bit Intel installer||Mac OS X||for macOS 10.9 and later||2323c476134fafa8b462530019f34394||29843142||SIG|
|Windows embeddable package (32-bit)||Windows||40830c33f775641ccfad5bf17ea3a893||7335613||SIG|
|Windows embeddable package (64-bit)||Windows||cff9e470ee6b57c63c16b8a93c586b28||8199294||SIG|
|Windows help file||Windows||678cdc8e46b0b569ab9284be689be807||8592697||SIG|
|Windows installer (32-bit)||Windows||1b5456a52e2017eec31c320f0222d359||27150976||SIG|
|Windows installer (64-bit)||Windows||Recommended||f69d9c918a8ad06c71d7f0f26ccfee12||28233448||SIG|