Release Date: Dec. 10, 2019

This is the release candidate of Python 3.8.1, the first maintenance release of Python 3.8

The Python 3.8 series is the newest major release of the Python programming language, and it contains many new features and optimizations.

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

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


First Pilot: This is Captain MacPherson welcoming you aboard East Scottish Airways. You'll have had your tea. Our destination is Glasgow. There is no need to panic.
(The door of the cockpit opens and Mr Badger comes in.)
Badger: There's a bomb on board this plane, and I'll tell you where it is for a thousand pounds.
Second Pilot: I don't believe you.
Badger: If you don't tell me where the bomb is... if I don't give you the money... Unless you give me the bomb...
Stewardess: The money.
Badger: The money, thank you, pretty lady... the bomb will explode killing everybody.
Second Pilot: Including you.
Badger: ...
Badger: I'll tell you where it is for a pound.
Second Pilot: Here's a pound.
Badger: I don't want Scottish money. They've got the numbers. It can be traced.
Second Pilot: One English pound. Now where's the bomb?
Badger: I can't remember.
Second Pilot: You've forgotten?
Badger: Aye, you'd better have your pound back.

Full Changelog