GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Python
  • PSF
  • Docs
  • PyPI
  • Jobs
  • Community
  • Donate
  • A A
  • LinkedIn
  • Mastodon
  • Chat on IRC
  • Twitter
  • About
  • Applications

This view

  • Original page
  • New address

GeezerVison is showing www.python.org — Python Release Python 3.12.9

Note: Python 3.12.9 has been superseded by Python 3.12.16.

Release date: Feb. 4, 2025

This is the ninth maintenance release of Python 3.12

Python 3.12.9 is the latest maintenance release of Python 3.12, containing about 180 bug fixes, build improvements and documentation changes since 3.12.8.

Major new features of the 3.12 series, compared to 3.11

New features

  • More flexible f-string parsing, allowing many things previously disallowed (PEP 701).
  • Support for the buffer protocol in Python code (PEP 688).
  • A new debugging/profiling API (PEP 669).
  • Support for isolated subinterpreters with separate Global Interpreter Locks (PEP 684).
  • Even more improved error messages. More exceptions potentially caused by typos now make suggestions to the user.
  • Support for the Linux perf profiler to report Python function names in traces.
  • Many large and small performance improvements (like PEP 709 and support for the BOLT binary optimizer), delivering an estimated 5% overall performance improvement.

Type annotations

  • New type annotation syntax for generic classes (PEP 695).
  • New override decorator for methods (PEP 698).

Deprecations

  • The deprecated wstr and wstr_length members of the C implementation of unicode objects were removed, per PEP 623.
  • In the unittest module, a number of long deprecated methods and classes were removed. (They had been deprecated since Python 3.1 or 3.2.)
  • The deprecated smtpd and distutils modules have been removed (see PEP 594 and PEP 632.) The setuptools package continues to provide the distutils module.
  • A number of other old, broken and deprecated functions, classes and methods have been removed.
  • Invalid backslash escape sequences in strings now warn with SyntaxWarning instead of DeprecationWarning, making them more visible. (They will become syntax errors in the future.)
  • The internal representation of integers has changed in preparation for performance enhancements. (This should not affect most users as it is an internal detail, but it may cause problems for Cython-generated code.)

For more details on the changes to Python 3.12, see What's new in Python 3.12.

More resources

  • Online Documentation.
  • PEP 693, the Python 3.12 Release Schedule.
  • Report bugs via GitHub Issues.
  • Help fund Python directly or via GitHub Sponsors, and support the Python community.

Full Changelog

macOS

Download macOS 64-bit universal2 installer

Windows

Download Python install manager

Source release

Download XZ compressed source tarball

Version Operating system Description File size Sigstore SBOM GPG MD5 checksum
Gzipped source tarball Source release 25.8 MB .sigstore SPDX SIG ce613c72fa9b32fb4f109762d61b249b
XZ compressed source tarball Source release 19.6 MB .sigstore SPDX SIG 880942124f7d5c01e7b65cbad62dc873
macOS 64-bit universal2 installer macOS for macOS 10.13 and later 43.5 MB .sigstore SIG fe3db9abb5c61010a9050d83bfcf8372
Windows installer (64-bit) Windows Recommended 25.7 MB .sigstore SPDX SIG 1cfb1bbf96007b12b98db895dcd86487
Windows installer (32-bit) Windows 24.4 MB .sigstore SPDX SIG b3a316b5a3d2c4a62552b3dd09750593
Windows installer (ARM64) Windows Experimental 25.0 MB .sigstore SPDX SIG a692acf8911d932f301aef5fcf30bbb8
Windows embeddable package (64-bit) Windows 10.6 MB .sigstore SPDX SIG f34996cc1f44c98729ef6ce92d05e41c
Windows embeddable package (32-bit) Windows 9.5 MB .sigstore SPDX SIG a8015f8d166ea9a1fa9a3cf3b26c958d
Windows embeddable package (ARM64) Windows 9.9 MB .sigstore SPDX SIG b5c1583bb0dc258799570a57a31a269d
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.