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

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

Release date: Feb. 19, 2021

This is the second maintenance release of Python 3.9

Note: The release you're looking at is Python 3.9.2, a bugfix release for the legacy 3.9 series. Python 3.11 is now the latest feature release series of Python 3. Get the latest release of 3.11.x here.

We've made 166 commits since 3.9.1, among which you can find two security fixes:

  • 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.9 series, compared to 3.8

Some of the new major new features and changes in Python 3.9 are:

  • PEP 573, Module State Access from C Extension Methods
  • PEP 584, Union Operators in dict
  • PEP 585, Type Hinting Generics In Standard Collections
  • PEP 593, Flexible function and variable annotations
  • PEP 602, Python adopts a stable annual release cadence
  • PEP 614, Relaxing Grammar Restrictions On Decorators
  • PEP 615, Support for the IANA Time Zone Database in the Standard Library
  • PEP 616, String methods to remove prefixes and suffixes
  • PEP 617, New PEG parser for CPython
  • BPO 38379, garbage collection does not block on resurrected objects;
  • BPO 38692, os.pidfd_open added that allows process management without races and signals;
  • BPO 39926, Unicode support updated to version 13.0.0;
  • BPO 1635741, when Python is initialized multiple times in the same process, it does not leak memory anymore;
  • A number of Python builtins (range, tuple, set, frozenset, list, dict) are now sped up using PEP 590 vectorcall;
  • A number of Python modules (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) now use multiphase initialization as defined by PEP 489;
  • A number of standard library modules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) are now using the stable ABI defined by PEP 384.

You can find a more comprehensive list in this release's "What's New" document.

More resources

And now for something completely different

Professor (Eric Idle): It's an entirely new strain of sheep, a killer sheep that can not only hold a rifle but is also a first-class shot.
Assistant (Carol Cleveland): But where are they coming from, professor?
Professor: That I don't know. I just don't know. I really just don't know. I'm afraid even I really just don't know. I have to tell you I'm afraid even I really just don't know. I'm afraid I have to tell you...
(she hands him a glass of water which she had been busy getting as soon as he started into this speech) ... thank you ... (resuming normal breezy voice)
Professor: ... I don't know. Our only clue is this portion of wolf's clothing which the killer sheep...
Viking (Terry Gilliam): ... was wearing...
Professor: ... in yesterday's raid on Selfridges.

Full Changelog

Files

Version Operating system Description File size GPG MD5 checksum
Gzipped source tarball Source release 24.2 MB SIG 8cf053206beeca72c7ee531817dc24c7
XZ compressed source tarball Source release 18.0 MB SIG f0dc9000312abeb16de4eccce9a870ab
macOS 64-bit Intel installer macOS for macOS 10.9 and later 28.5 MB SIG a64f8b297fa43be07a34b8af9d13d554
macOS 64-bit universal2 installer macOS for macOS 10.9 and later, including macOS 11 Big Sur on Apple Silicon (experimental) 35.9 MB SIG fc8d028618c376d0444916950c73e263
Windows installer (64-bit) Windows Recommended 27.0 MB SIG efb20aa1b648a2baddd949c142d6eb06
Windows installer (32-bit) Windows 25.9 MB SIG 81294c31bd7e2d4470658721b2887ed5
Windows help file Windows 8.4 MB SIG e2308d543374e671ffe0344d3fd36062
Windows embeddable package (64-bit) Windows 8.0 MB SIG bd4903eb930cf1747be01e6b8dcdd28a
Windows embeddable package (32-bit) Windows 7.2 MB SIG cde7d9bfd87b7777d7f0ba4b0cd4506d