Notice: While JavaScript is not essential for this website, your interaction with the content will be limited. Please turn JavaScript on for the full experience.

Python 3.8.9

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.11 is now the latest feature release series of Python 3. Get the latest release of 3.11.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
  • 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.

More resources

Windows users

  • 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.

macOS users

  • 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".

Full Changelog

Files

Version Operating System Description MD5 Sum File Size GPG
Gzipped source tarball Source release 41a5eaa15818cee7ea59e578564a2629 23.4 MB SIG
XZ compressed source tarball Source release 51b5bbf2ab447e66d15af4883db1c133 17.4 MB SIG
macOS 64-bit Intel installer macOS for macOS 10.9 and later 2323c476134fafa8b462530019f34394 28.5 MB SIG
Windows installer (64-bit) Windows Recommended f69d9c918a8ad06c71d7f0f26ccfee12 26.9 MB SIG
Windows installer (32-bit) Windows 1b5456a52e2017eec31c320f0222d359 25.9 MB SIG
Windows help file Windows 678cdc8e46b0b569ab9284be689be807 8.2 MB SIG
Windows embeddable package (64-bit) Windows cff9e470ee6b57c63c16b8a93c586b28 7.8 MB SIG
Windows embeddable package (32-bit) Windows 40830c33f775641ccfad5bf17ea3a893 7.0 MB SIG