Notice: This page displays a fallback because interactive scripts did not run. Possible causes include disabled JavaScript or failure to load scripts or stylesheets.

Python 3.8.8

Warning: Python 3.8.8 reached end-of-life on 2024-10-07. It is no longer supported and does not receive security updates. We recommend upgrading to the latest Python release.
Note: Python 3.8.8 has been superseded by Python 3.8.20.

Release date: Feb. 19, 2021

This is the eight maintenance release of Python 3.8

Note: The release you're looking at is Python 3.8.8, 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.8 introduces two security fixes (also present in 3.8.8 RC1) and is recommended to all users:

  • bpo-42938: Avoid static buffers when computing the repr of ctypes.c_double and ctypes.c_longdouble values. This issue was assigned CVE-2021-3177.

  • bpo-42967: Fix web cache poisoning vulnerability by defaulting the query args separator to &, and allowing the user to choose a custom separator. This issue was assigned CVE-2021-23336.

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

And now for something completely different

Voice Over (Michael Palin): This is Ken Clean-Air Systems, the great white hope of the British boxing world. After three fights - and only two convictions - his manager believes that Ken is now ready to face the giant American, Satellite Five.
Manager (Graham Chapman): The great thing about Ken is that he's almost totally stupid.
(Cut back to Ken jogging, the early morning sun filtering through the trees.)
Voice Over: Every morning, he jogs the forty-seven miles from his two-bedroomed, eight-bathroom, six-up-two-down, three-to-go-house in Reigate, to the Government's Pesticide Research Centre at Shoreham. Nobody knows why.

Full Changelog

Files

Version Operating system Description File size GPG MD5 checksum
Gzipped source tarball Source release 23.3 MB SIG d3af3b87e134c01c7f054205703adda2
XZ compressed source tarball Source release 17.4 MB SIG 23e6b769857233c1ac07b6be7442eff4
macOS 64-bit Intel installer macOS for macOS 10.9 and later 28.4 MB SIG 3b039200febdd1fa54a8d724dee732bc
Windows installer (64-bit) Windows Recommended 26.9 MB SIG 77a54a14239b6d7d0dcbe2e3a507d2f0
Windows installer (32-bit) Windows 25.9 MB SIG 94773b062cc8da66e37ea8ba323eb56a
Windows help file Windows 8.2 MB SIG d30810feed2382840ad1fbc9fce97002
Windows embeddable package (64-bit) Windows 7.8 MB SIG 2096fb5e665c6d2e746da7ff5f31d5db
Windows embeddable package (32-bit) Windows 7.0 MB SIG b3e271ee4fafce0ba784bd1b84c253ae