Python infos

Python core development news and information.
  • This is an early developer preview of Python 3.15

    https://www.python.org/downloads/release/python-3150a2/

    Major new features of the 3.15 series, compared to 3.14

    Python 3.15 is still in development. This release, 3.15.0a2, is the second of seven planned alpha releases.

    Alpha releases are intended to make it easier to test the current state of new features and bug fixes and to test the release process.

    During the alpha phase, features may be added up until the start of the beta phase (2026-05-05) and, if necessary, may be modified or deleted up until the release candidate phase (2026-07-28). Please keep in mind that this is a preview release and its use is not recommended for production environments.

    Many new features for Python 3.15 are still being planned and written. Among the new major new features and changes so far:

    • PEP 799: A new high-frequency, low-overhead, statistical sampling profiler and dedicated profiling package
    • PEP 686: Python now uses UTF-8 as the default encoding
    • PEP 782: A new PyBytesWriter C API to create a Python bytes object
    • Improved error messages
    • (Hey, fellow core developer, if a feature you find important is missing from this list, let Hugo know.)

    The next pre-release of Python 3.15 will be 3.15.0a3, currently scheduled for 2025-12-16.

    More resources

    And now for something completely different

    “An hour,” said Ahab, standing rooted in his boat’s stern; and he gazed beyond the whale’s place, towards the dim blue spaces and wide wooing vacancies to leeward. It was only an instant; for again his eyes seemed whirling round in his head as he swept the watery circle. The breeze now freshened; the sea began to swell.

    “The birds!—the birds!” cried Tashtego.

    Enjoy the new release

    Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organisation contributions to the Python Software Foundation.

    Regards from a crisp and sunny subzero Helsinki,

    Your release team,
    Hugo van Kemenade
    Ned Deily
    Steve Dower
    Łukasz Langa

  • This is an early developer preview of Python 3.15

    https://www.python.org/downloads/release/python-3150a1/

    Major new features of the 3.15 series, compared to 3.14

    Python 3.15 is still in development. This release, 3.15.0a1, is the first of seven planned alpha releases.

    Alpha releases are intended to make it easier to test the current state of new features and bug fixes and to test the release process.

    During the alpha phase, features may be added up until the start of the beta phase (2026-05-05) and, if necessary, may be modified or deleted up until the release candidate phase (2026-07-28). Please keep in mind that this is a preview release and its use is not recommended for production environments.

    Many new features for Python 3.15 are still being planned and written. Among the new major new features and changes so far:

    • PEP 799: A dedicated profiling package for Python profiling tools
    • PEP 686: Python now uses UTF-8 as the default encoding
    • PEP 782: A new PyBytesWriter C API to create a Python bytes object
    • Improved error messages
    • (Hey, fellow core developer, if a feature you find important is missing from this list, let Hugo know.)

    The next pre-release of Python 3.15 will be 3.15.0a2, currently scheduled for 2025-11-18.

    More resources

    And now for something completely different

    And hence not only at substantiated times, upon well known separate feeding-grounds, could Ahab hope to encounter his prey; but in crossing the widest expanses of water between those grounds he could, by his art, so place and time himself on his way, as even then not to be wholly without prospect of a meeting.

    Enjoy the new release

    Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organisation contributions to the Python Software Foundation.

    Regards from Helsinki before the first PyCon Finland in 9 years,

    Your release team,
    Hugo van Kemenade
    Ned Deily
    Steve Dower
    Łukasz Langa

  •  

    Python 3.13.9

     
     
    3.13.9 is an expedited release containing a fix for one specific regression in Python 3.13.8:
    • gh-139783: Fix inspect.getsourcelines for the case when a decorator is followed by a comment or an empty line.

    There are no other changes in this release, compared to 3.13.8.

    More resources

      

    Enjoy the new releases

     

    Thanks to all of the many volunteers who help make Python Development and this release possible! Please consider supporting our efforts by volunteering yourself or through organisation contributions to the Python Software Foundation.

    Your expedited release team,
    Your release team,
    Thomas Wouters
    Ned Deily
    Steve Dower
    Łukasz Langa

  •  

    Old-timer Release Party

    We couldn’t just let Hugo have fun with 3.14.0, so here are new security releases of the venerated Python versions, 3.12 through 3.9!

    Security content in these releases

     

    XML-related

    Archive-related

    • gh-130577: tarfile now validates archives to ensure member offsets are non-negative.
    • gh-139700: Now checking consistency of the zip64 end of central directory record. Added support for records with “zip64 extensible data” if there are no bytes prepended to the ZIP file.

    HTML parsing-related

    • gh-135661: Fixed parsing start and end tags in html.parser.HTMLParser according to the HTML5 standard.
    • Whitespaces no longer accepted between </ and the tag name. E.g. </ script> does not end the script section.
    • Vertical tabulation (\v) and non-ASCII whitespaces no longer recognized as whitespaces. The only whitespaces are \t\n\r\f and space.
    • Null character (U+0000) no longer ends the tag name.
    • Attributes and slashes after the tag name in end tags are now ignored, instead of terminating after the first > in quoted attribute value. E.g. </script/foo=">"/>.
    • Multiple slashes and whitespaces between the last attribute and closing > are now ignored in both start and end tags. E.g. <a foo=bar/ //>.
    • Multiple = between attribute name and value are no longer collapsed. E.g. <a foo==bar> produces attribute “foo” with value “=bar”.
    • gh-135661: Fixed CDATA section parsing in html.parser.HTMLParser according to the HTML5 standard: ] ]> and ]] > no longer end the CDATA section. Add private method _set_support_cdata() which can be used to specify how to parse <[CDATA[ — as a CDATA section in foreign content (SVG or MathML) or as a bogus comment in the HTML namespace.
    • gh-102555: Fixed comment parsing in html.parser.HTMLParser according to the HTML5 standard. --!> now ends the comment. -- > no longer ends the comment. Support abnormally ended empty comments <--> and <--->.
    • gh-135462: Fixed quadratic complexity in processing specially crafted input in html.parser.HTMLParser. End-of-file errors are now handled according to the HTML5 specs – comments and declarations are automatically closed, tags are ignored.
    • gh-118350: Fixed support of escapable raw text mode (elements “textarea” and “title”) in html.parser.HTMLParser.
    • gh-86155: html.parser.HTMLParser.close() no longer loses data when the <script> tag is not closed.

     

    Python 3.12.12


    Python 3.11.14

    Additional security content in this release:


    Python 3.10.19

    Additional security content in this release:


    Python 3.9.24

    Additional security content in this release:


    Stay safe and upgrade!

    As always, upgrading is highly recommended to all users of affected versions.

    Enjoy the new releases

    Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organization contributions to the Python Software Foundation.

    Regards from your very old tireless release team,
    Thomas Wouters
    Pablo Galindo Salgado
    Łukasz Langa
    Ned Deily
    Steve Dower

  • Two snakes enjoying a pie with 3.14 on the top and π crimping

    Python 3.14.0 is now available

    python.org/downloads/release/python-3140/

    This is the stable release of Python 3.14.0

    Python 3.14.0 is the newest major release of the Python programming language, and it contains many new features and optimisations compared to Python 3.13.

    Major new features of the 3.14 series, compared to 3.13

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

    New features

    • PEP 779: Free-threaded Python is officially supported
    • PEP 649: The evaluation of annotations is now deferred, improving the semantics of using annotations.
    • PEP 750: Template string literals (t-strings) for custom string processing, using the familiar syntax of f-strings.
    • PEP 734: Multiple interpreters in the stdlib.
    • PEP 784: A new module compression.zstd providing support for the Zstandard compression algorithm.
    • PEP 758: except and except* expressions may now omit the brackets.
    • Syntax highlighting in PyREPL, and support for color in unittest, argparse, json and calendar CLIs.
    • PEP 768: A zero-overhead external debugger interface for CPython.
    • UUID versions 6-8 are now supported by the uuid module, and generation of versions 3-5 are up to 40% faster.
    • PEP 765: Disallow return/break/continue that exit a finally block.
    • PEP 741: An improved C API for configuring Python.
    • A new type of interpreter. For certain newer compilers, this interpreter provides significantly better performance. Opt-in for now, requires building from source.
    • Improved error messages.
    • Builtin implementation of HMAC with formally verified code from the HACL* project.
    • A new command-line interface to inspect running Python processes using asynchronous tasks.
    • The pdb module now supports remote attaching to a running Python process.

    For more details on the changes to Python 3.14, see What’s new in Python 3.14.

    Build changes

    • PEP 761: Python 3.14 and onwards no longer provides PGP signatures for release artifacts. Instead, Sigstore is recommended for verifiers.
    • Official macOS and Windows release binaries include an experimental JIT compiler.
    • Official Android binary releases are now available.

    Incompatible changes, removals and new deprecations

    • Incompatible changes
    • Python removals and deprecations
    • C API removals and deprecations
    • Overview of all pending deprecations

    Python install manager

    The installer we offer for Windows is being replaced by our new install manager, which can be installed from the Windows Store or from its download page. See our documentation for more information. The JSON file available for download contains the list of all the installable packages available as part of this release, including file URLs and hashes, but is not required to install the latest release. The traditional installer will remain available throughout the 3.14 and 3.15 releases.

    More resources

    And now for something completely different

    Edgar Allen Poe died on 7th October 1849.

    As we all recall from 3.14.0a1, piphilology is the creation of mnemonics to help memorise the digits of π, and the number of letters in each word in a pi-poem (or “piem”) successively correspond to the digits of π.

    In 1995, Mike Keith, an American mathematician and author of constrained writing, retold Poe’s The Raven as a 740-word piem. Here’s the first two stanzas of Near A Raven:

                Poe, E.
          Near a Raven

    Midnights so dreary, tired and weary.
        Silently pondering volumes extolling all by-now obsolete lore.
    During my rather long nap - the weirdest tap!
        An ominous vibrating sound disturbing my chamber’s antedoor.
            “This”, I whispered quietly, “I ignore”.

    Perfectly, the intellect remembers: the ghostly fires, a glittering ember.
        Inflamed by lightning’s outbursts, windows cast penumbras upon this floor.
    Sorrowful, as one mistreated, unhappy thoughts I heeded:
        That inimitable lesson in elegance - Lenore -
            Is delighting, exciting…nevermore.

    Enjoy the new release

    Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organisation contributions to the Python Software Foundation.

    Regards from a colourful autumnal Helsinki,

    Your release team,
    Hugo van Kemenade
    Ned Deily
    Steve Dower
    Łukasz Langa

  •  

    The latest version of Python 3.13 is now available!

    Python 3.13.8

    This is the eighth maintenance release of Python 3.13

    Python 3.13 is the newest previous major release of the Python programming language, and it contains many new features and optimizations compared to Python 3.12. 3.13.8 is the eighth maintenance release of 3.13, containing around 200 bugfixes, build improvements and documentation changes since 3.13.7.

    Full Changelog

    More resources

     

    Enjoy the new releases

    Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organization contributions to the Python Software Foundation.

    Regards from your package managers,

    Thomas Wouters
    Ned Deily
    Steve Dower
    Łukasz Langa
  • It’s 🪄 finally 🪄 the final 3.14 release candidate!

    https://www.python.org/downloads/release/python-3140rc3/

    Note: It’s another magic release. We fixed another bug that required bumping the magic number stored in Python bytecode (.pyc) files. This means file .pyc files created for rc2 cannot be used for rc3, and they’ll be recompiled.

    The ABI isn’t changing. Wheels built for rc1 should be fine for rc2, rc3 and 3.14.x, so this shouldn’t affect too many people.

    This release, 3.14.0rc3, is the final release preview. Entering the release candidate phase, only reviewed code changes which are clear bug fixes are allowed between this release candidate and the final release.

    The next release of Python 3.14 will be the final release, 3.14.0, scheduled for Tuesday, 2025-10-07.

    There will be no ABI changes from this point forward in the 3.14 series, and the goal is that there will be as few code changes as possible.

    Call to action

    We strongly encourage maintainers of third-party Python projects to prepare their projects for 3.14 during this phase, and publish Python 3.14 wheels on PyPI to be ready for the final release of 3.14.0, and to help other projects do their own testing. Any binary wheels built against Python 3.14.0 release candidates will work with future versions of Python 3.14. As always, report any issues to the Python bug tracker.

    Please keep in mind that this is a preview release and while it’s as close to the final release as we can get it, its use is not recommended for production environments.

    Core developers: time to work on documentation now

    • Are all your changes properly documented?
    • Are they mentioned in What’s New?
    • Did you notice other changes you know of to have insufficient documentation?

    Major new features of the 3.14 series, compared to 3.13

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

    New features

    • PEP 779: Free-threaded Python is officially supported
    • PEP 649: The evaluation of annotations is now deferred, improving the semantics of using annotations.
    • PEP 750: Template string literals (t-strings) for custom string processing, using the familiar syntax of f-strings.
    • PEP 734: Multiple interpreters in the stdlib.
    • PEP 784: A new module compression.zstd providing support for the Zstandard compression algorithm.
    • PEP 758: except and except* expressions may now omit the brackets.
    • Syntax highlighting in PyREPL, and support for color in unittest, argparse, json and calendar CLIs.
    • PEP 768: A zero-overhead external debugger interface for CPython.
    • UUID versions 6-8 are now supported by the uuid module, and generation of versions 3-5 are up to 40% faster.
    • PEP 765: Disallow return/break/continue that exit a finally block.
    • PEP 741: An improved C API for configuring Python.
    • A new type of interpreter. For certain newer compilers, this interpreter provides significantly better performance. Opt-in for now, requires building from source.
    • Improved error messages.
    • Builtin implementation of HMAC with formally verified code from the HACL* project.
    • A new command-line interface to inspect running Python processes using asynchronous tasks.
    • The pdb module now supports remote attaching to a running Python process.

    (Hey, fellow core developer, if a feature you find important is missing from this list, let Hugo know.)

    For more details on the changes to Python 3.14, see What’s new in Python 3.14.

    Build changes

    • PEP 761: Python 3.14 and onwards no longer provides PGP signatures for release artifacts. Instead, Sigstore is recommended for verifiers.
    • Official macOS and Windows release binaries include an experimental JIT compiler.
    • Official Android binary releases are now available.

    Incompatible changes, removals and new deprecations

    • Incompatible changes
    • Python removals and deprecations
    • C API removals and deprecations
    • Overview of all pending deprecations

    Python install manager

    The installer we offer for Windows is being replaced by our new install manager, which can be installed from the Windows Store or from its download page. See our documentation for more information. The JSON file available for download below contains the list of all the installable packages available as part of this release, including file URLs and hashes, but is not required to install the latest release. The traditional installer will remain available throughout the 3.14 and 3.15 releases.

    More resources

    And now for something completely different

    According to Pablo Galindo Salgado at PyCon Greece:

    There are things that are supercool indeed, like for instance, this is one of the results that I’m more proud about. This equation over here, which you don’t need to understand, you don’t need to be scared about, but this equation here tells what is the maximum time that it takes for a ray of light to fall into a black hole. And as you can see the math is quite complicated but the answer is quite simple: it’s 2π times the mass of the black hole. So if you normalise by the mass of the black hole, the answer is 2π. And because there is nothing specific about your election of things in this formula, this formula is universal. It means it doesn’t depend on anything other than nature itself. Which means that you can use this as a definition of π. This is a valid alternative definition of the number π. It’s literally half the maximum time it takes to fall into a black hole, which is kind of crazy. So next time someone asks you what π means you can just drop this thing and impress them quite a lot. Maybe Hugo could use this information to put it into the release notes of πthon [yes, I can, thank you!].

    Enjoy the new release

    Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organisation contributions to the Python Software Foundation.

    Regards from wonderful Cambridge,

    Your release team,
    Hugo van Kemenade
    Ned Deily
    Steve Dower
    Łukasz Langa
    Savannah Ostrowski

  • Not one but two expedited releases! 🎉 🎉

    Python 3.14.0rc2

    It’s the final 🪄 penultimate 🪄 3.14 release candidate!

    https://www.python.org/downloads/release/python-3140rc2/

    Note: rc2 was originally planned for 2025-08-26, but we fixed a bug that required bumping the magic number stored in Python bytecode (.pyc) files. This means .pyc files created for rc1 cannot be used for rc2, and they’ll be recompiled.

    The ABI isn’t changing. Wheels built for rc1 should be fine for rc2, rc3 and 3.14.x. So this shouldn’t affect too many people but let’s get this out for testing sooner.

    Due to this early release, we’ll also add a third release candidate between now and the final 3.14.0 release, with no planned change to the final release date.

    This release, 3.14.0rc2, is the penultimate release preview. Entering the release candidate phase, only reviewed code changes which are clear bug fixes are allowed between this release candidate and the final release.

    The next pre-release of Python 3.14 will be the final release candidate, 3.14.0rc3, scheduled for 2025-09-16; the official release of 3.14.0 is scheduled for Tuesday, 2025-10-07.

    There will be no ABI changes from this point forward in the 3.14 series, and the goal is that there will be as few code changes as possible.

    Call to action

    We strongly encourage maintainers of third-party Python projects to prepare their projects for 3.14 during this phase, and publish Python 3.14 wheels on PyPI to be ready for the final release of 3.14.0, and to help other projects do their own testing. Any binary wheels built against Python 3.14.0 release candidates will work with future versions of Python 3.14. As always, report any issues to the Python bug tracker.

    Please keep in mind that this is a preview release and while it’s as close to the final release as we can get it, its use is not recommended for production environments.

    Core developers: time to work on documentation now

    • Are all your changes properly documented?
    • Are they mentioned in What’s New?
    • Did you notice other changes you know of to have insufficient documentation?

    Major new features of the 3.14 series, compared to 3.13

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

    New features

    • PEP 779: Free-threaded Python is officially supported
    • PEP 649: The evaluation of annotations is now deferred, improving the semantics of using annotations.
    • PEP 750: Template string literals (t-strings) for custom string processing, using the familiar syntax of f-strings.
    • PEP 734: Multiple interpreters in the stdlib.
    • PEP 784: A new module compression.zstd providing support for the Zstandard compression algorithm.
    • PEP 758: except and except* expressions may now omit the brackets.
    • Syntax highlighting in PyREPL, and support for color in unittest, argparse, json and calendar CLIs.
    • PEP 768: A zero-overhead external debugger interface for CPython.
    • UUID versions 6-8 are now supported by the uuid module, and generation of versions 3-5 are up to 40% faster.
    • PEP 765: Disallow return/break/continue that exit a finally block.
    • PEP 741: An improved C API for configuring Python.
    • A new type of interpreter. For certain newer compilers, this interpreter provides significantly better performance. Opt-in for now, requires building from source.
    • Improved error messages.
    • Builtin implementation of HMAC with formally verified code from the HACL* project.
    • A new command-line interface to inspect running Python processes using asynchronous tasks.
    • The pdb module now supports remote attaching to a running Python process.

    (Hey, fellow core developer, if a feature you find important is missing from this list, let Hugo know.)

    For more details on the changes to Python 3.14, see What’s new in Python 3.14.

    Build changes

    Note that Android binaries are new in rc2!

    • PEP 761: Python 3.14 and onwards no longer provides PGP signatures for release artifacts. Instead, Sigstore is recommended for verifiers.
    • Official macOS and Windows release binaries include an experimentalJIT compiler.
    • Official Android binary releases are now available.

    Incompatible changes, removals and new deprecations

    • Incompatible changes
    • Python removals and deprecations
    • C API removals and deprecations
    • Overview of all pending deprecations

    Python install manager

    The installer we offer for Windows is being replaced by our new install manager, which can be installed from the Windows Store or from its download page. See our documentation for more information. The JSON file available for download below contains the list of all the installable packages available as part of this release, including file URLs and hashes, but is not required to install the latest release. The traditional installer will remain available throughout the 3.14 and 3.15 releases.

    Python 3.13.7

    This is the seventh maintenance release of Python 3.13

    https://www.python.org/downloads/release/python-3137/

    Python 3.13 is the newest major release of the Python programming language, and it contains many new features and optimizations compared to Python 3.12. 3.13.7 is the seventh maintenance release of 3.13.

    3.13.7 is an expedited release to fix a significant issue with the 3.13.6 release:

    • gh-137583: Regression in ssl module between 3.13.5 and 3.13.6: reading from a TLS-encrypted connection blocks

    A few other bug fixes (which would otherwise have waited until the next release) are also included.

    More resources

    And now for something completely different

    The magpie, Pica pica in Latin, is a black and white bird in the crow family, known for its chattering call.

    The first-known use in English is from a 1589 poem, where magpie is spelled “magpy” and cuckoo is “cookow”:

    Th[e]y fly to wood like breeding hauke,
      And leave old neighbours loue,
    They pearch themselves in syluane lodge,
      And soare in th' aire aboue.
    There : magpy teacheth them to chat,
      And cookow soone doth hit them pat.

    The name comes from Mag, short for Margery or Margaret (compare robin redbreast, jenny wren, and its corvid relative jackdaw); and pie, a magpie or other bird with black and white (or pied) plumage. The sea-pie (1552) is the oystercatcher, the grey pie (1678) and murdering pie (1688) is the great grey shrike. Others birds include the yellow and black pie, red-billed pie, wandering tree-pie, and river pie. The rain-pie, wood-pie and French pie are woodpeckers.

    Pie on its own dates to before 1225, and comes from the Latin name for the bird, pica.

    Enjoy the new releases

    Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organisation contributions to the Python Software Foundation.

    Regards from a busy Helsinki on Night of the Arts,

    Your release team,
    Hugo van Kemenade
    Thomas Wouters
    Ned Deily
    Steve Dower
    Łukasz Langa

  • The latest version of Python 3.13 is now available!

    Python 3.13.6

    This is the sixth maintenance release of Python 3.13

    Python 3.13 is the newest major release of the Python programming language, and it contains many new features and optimizations compared to Python 3.12. 3.13.6 is the sixth maintenance release of 3.13, containing around 200 bugfixes, build improvements and documentation changes since 3.13.5.

    Full Changelog

    More resources

     

    Enjoy the new releases

    Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organization contributions to the Python Software Foundation, especially now.

    Regards from your package managers,

    Thomas Wouters
    Ned Deily
    Steve Dower
    Łukasz Langa
  • It’s the first 3.14 release candidate!

    https://www.python.org/downloads/release/python-3140rc1/

    This is the first release candidate of Python 3.14

    This release, 3.14.0rc1, is the penultimate release preview. Entering the release candidate phase, only reviewed code changes which are clear bug fixes are allowed between this release candidate and the final release. The second candidate (and the last planned release preview) is scheduled for Tuesday, 2025-08-26, while the official release of 3.14.0 is scheduled for Tuesday, 2025-10-07.

    There will be no ABI changes from this point forward in the 3.14 series, and the goal is that there will be as few code changes as possible.

    Call to action

    We strongly encourage maintainers of third-party Python projects to prepare their projects for 3.14 during this phase, and where necessary publish Python 3.14 wheels on PyPI to be ready for the final release of 3.14.0, and to help other projects do their own testing. Any binary wheels built against Python 3.14.0rc1 will work with future versions of Python 3.14. As always, report any issues to the Python bug tracker.

    Please keep in mind that this is a preview release and while it’s as close to the final release as we can get it, its use is not recommended for production environments.

    Core developers: time to work on documentation now

    • Are all your changes properly documented?
    • Are they mentioned in What’s New?
    • Did you notice other changes you know of to have insufficient documentation?

    Major new features of the 3.14 series, compared to 3.13

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

    New features

    • PEP 779: Free-threaded Python is officially supported
    • PEP 649: The evaluation of annotations is now deferred, improving the semantics of using annotations.
    • PEP 750: Template string literals (t-strings) for custom string processing, using the familiar syntax of f-strings.
    • PEP 734: Multiple interpreters in the stdlib.
    • PEP 784: A new module compression.zstd providing support for the Zstandard compression algorithm.
    • PEP 758: except and except* expressions may now omit the brackets.
    • Syntax highlighting in PyREPL, and support for color in unittest, argparse, json and calendar CLIs.
    • PEP 768: A zero-overhead external debugger interface for CPython.
    • UUID versions 6-8 are now supported by the uuid module, and generation of versions 3-5 are up to 40% faster.
    • PEP 765: Disallow return/break/continue that exit a finally block.
    • PEP 741: An improved C API for configuring Python.
    • A new type of interpreter. For certain newer compilers, this interpreter provides significantly better performance. Opt-in for now, requires building from source.
    • Improved error messages.
    • Builtin implementation of HMAC with formally verified code from the HACL* project.
    • A new command-line interface to inspect running Python processes using asynchronous tasks.
    • The pdb module now supports remote attaching to a running Python process.

    (Hey, fellow core developer, if a feature you find important is missing from this list, let Hugo know.)

    For more details on the changes to Python 3.14, see What’s new in Python 3.14. The next pre-release of Python 3.14 will be the final release candidate, 3.14.0rc2, scheduled for 2025-08-26.

    Build changes

    • PEP 761: Python 3.14 and onwards no longer provides PGP signatures for release artifacts. Instead, Sigstore is recommended for verifiers.
    • Official macOS and Windows release binaries include an experimental JIT compiler.

    Incompatible changes, removals and new deprecations

    • Incompatible changes
    • Python removals and deprecations
    • C API removals and deprecations
    • Overview of all pending deprecations

    Python install manager

    The installer we offer for Windows is being replaced by our new install manager, which can be installed from the Windows Store or from its download page. See our documentation for more information. The JSON file available for download below contains the list of all the installable packages available as part of this release, including file URLs and hashes, but is not required to install the latest release. The traditional installer will remain available throughout the 3.14 and 3.15 releases.

    More resources

    And now for something completely different

    Today, 22nd July, is Pi Approximation Day, because 22/7 is a common approximation of π and closer to π than 3.14.

    22/7 is a Diophantine approximation, named after Diophantus of Alexandria (3rd century CE), which is a way of estimating a real number as a ratio of two integers. 22/7 has been known since antiquity; Archimedes (3rd century BCE) wrote the first known proof that 22/7 overestimates π by comparing 96-sided polygons to the circle it circumscribes.

    Another approximation is 355/113. In Chinese mathematics, 22/7 and 355/113 are respectively known as Yuelü (约率; yuēlǜ; “approximate ratio”) and Milü (密率; mìlǜ; “close ratio”).

    Happy Pi Approximation Day!

    Enjoy the new release

    Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organisation contributions to the Python Software Foundation.

    Regards from a Helsinki heatwave after an excellent EuroPython,

    Your release team,
    Hugo van Kemenade
    Ned Deily
    Steve Dower
    Łukasz Langa