Python Release Python 3.8.9

Release date: April 2, 2021

This is the ninth maintenance release of Python 3.8 Note: The version you are looking at

is Python

3.8.9, a bug fix release for the legacy 3.8 series. Python 3.11 is now the latest series of Python 3 releases. Get the latest version of 3.11.x here.

3.8.9 is an accelerated release that includes a number of security fixes and is recommended to all users

: bpo-43631: CVE-2021-3449 and CVE-2021-3450

  • high severity released for OpenSSL, updated to 1.1.1k in macOS and Windows CIs and installers. bpo-42988: CVE-2021-3426
  • : Remove the getfile feature of the pydoc module that could be used to read arbitrary files on disk (directory crossing vulnerability). In addition, even the source code of Python modules can contain sensitive data such as passwords. Vulnerability reported by David Schwörer.
  • bpo-43285: ftplib no longer trusts the IP address value returned by the server in response to the PASV command by default. This prevents a malicious FTP server from using the response to poll IPv4 address and port combinations on the client network. Code that requires the above vulnerable behavior can set a trust_server_pasv_ipv4_address attribute on your ftplib. FTP instances to True to re-enable it.
  • bpo-43439: Add audit bindings for gc.get_objects(), gc.get_referrers(), and gc.get_referents(). Pablo Galindo patch.

Key new features in the 3.8 series, compared to 3.7

PEP 572, PEP 570 mapping

    expressions, Position-only arguments PEP

  • 587, Python initialization settings (improved embedding)
  • PEP

  • 590, Vectorcall: a quick call protocol for CPython
  • PEP 578, Runtime audit links PEP

  • 574, Pickle protocol 5 with out-of-band data Related to
  • typing: PEP 591 (Final Qualifier),

  • PEP
  • 586 (Literal types), and PEP 589 (TypedDict)
  • Parallel file system cache for compiled bytecode
  • Debug builds share ABIs as versions
  • Strings f support a handy = specifier for debugging
  • continue now is

  • legal in finally: blocks in
  • Windows, the

  • default asynchronous event loop is now ProactorEventLoop
  • on

  • macOS, 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 merges back with CPython
  • LOAD_GLOBAL is now 40% faster
  • pickle now uses Protocol 4 by default, Improving performance

There are many other interesting changes, see the “What’s New” page in the documentation for a complete list


More resources

  • Online documentation
  • PEP 569, 3.8 Release Schedule
  • Error reporting in
  • .

  • Help fund Python and its community.

Windows Users

  • The binaries for AMD64 will also work on processors implementing Intel 64 architecture. (Also known as the “x64” architecture, and formerly known as “EM64T” and “x86-64”.)
  • There are now “web-based” installers for Windows platforms; the installer will download the necessary software components at installation time.
  • There are redistributable zip files that contain Windows builds, making it easy to redistribute Python as part of another software package. See the documentation for embedded distribution for more information.



  • For Python 3.8, we provide an installer – 64-bit only that works on macOS 10.9 (Mavericks) and later systems.
  • Read the “Important Information” displayed during installation for information on validating SSL/TLS certificates and running the “Install Certificates.command”.

Full changelog

Version Operating System Description MD5 Sum GPG file size Gzip source tarball Source version 41a5eaa15818cee7ea59e578564a2629 24493475 source GIS XZ tarball Source version 51b5bbf2ab447e66d15af4883db1c133 18271948 GIS macOS 64-bit Intel installer macOS for macOS 10.9 and later 2323c476134fafa8b462530019f34394 29843142 GIS Embeddable Windows Package (32-bit) Windows 40830c33f775641ccfad5bf17ea3a893 7335613 Package GIS Insertable Windows (64-bit) Windows cff9e470ee6b57c63c16b8a93c586b28 8199294 GIS Windows Help File Windows 678cdc8e46b0b569ab9284be689be807 8592697 GIS Windows installer (32-bit) Windows 1b5456a52e2017eec31c320f0222d359 27150976 GIS Windows installer (64-bit) Windows recommended f69d9c918a8ad06c71d7f0f26ccfee12 28233448 GIS

Contact US