Tuesday, April 8, 2025

Python 3.14.0a7, 3.13.3, 3.12.10, 3.11.12, 3.10.17 and 3.9.22 are now available

Not one, not two, not three, not four, not five, but six releases! Is this the most in a single day?

3.12-3.14 were regularly scheduled, and we had some security fixes to release in 3.9-3.11 so let’s make a big day of it. This also marks the last bugfix release of 3.12 as it enters the security-only phase. See devguide.python.org/versions/ for a chart.

Python 3.14.0a7

Here comes the final alpha! This means we have just four weeks until the first beta to get those last features into 3.14 before the feature freeze on 2025-05-06!

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

This is an early developer preview of Python 3.14

Major new features of the 3.14 series, compared to 3.13

Python 3.14 is still in development. This release, 3.14.0a7, is the last 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 (2025-05-06) and, if necessary, may be modified or deleted up until the release candidate phase (2025-07-22). 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.14 are still being planned and written. Among the new major new features and changes so far:

  • PEP 649: deferred evaluation of annotations
  • PEP 741: Python configuration C API
  • PEP 758: Allow except and except* expressions without parentheses
  • PEP 761: Python 3.14 and onwards no longer provides PGP signatures for release artifacts. Instead, Sigstore is recommended for verifiers.
  • PEP 765: disallow return/break/continue that exit a finally block
  • PEP 768: Safe external debugger interface for CPython
  • A new type of interpreter. For certain newer compilers, this interpreter provides significantly better performance. Opt-in for now, requires building from source.
  • UUID versions 6-8 are now supported by the uuid module, and generation of versions 3-5 and 8 are up to 40% faster.
  • Improved error messages
  • Python removals and deprecations
  • C API removals and deprecations
  • (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.14 will be the first beta, 3.14.0b1, currently scheduled for 2025-05-06. After this, no new features can be added but bug fixes and docs improvements are allowed – and encouraged!

Python 3.13.3

This is the third 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.3 is the latest maintenance release, containing almost 320 bugfixes, build improvements and documentation changes since 3.13.2.

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

Python 3.12.10

This is the tenth maintenance release of Python 3.12.

Python 3.12.10 is the latest maintenance release of Python 3.12, and the last full maintenance release. Subsequent releases of 3.12 will be security-fixes only. This last maintenance release contains about 230 bug fixes, build improvements and documentation changes since 3.12.9.

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

Python 3.11.12

This is a security release of Python 3.11:

  • gh-106883: Fix deadlock in threaded application when using sys._current_frames
  • gh-131809: Upgrade vendored expat to 2.7.1
  • gh-80222: Folding of quoted string in display_name violates RFC
  • gh-121284: Invalid RFC 2047 address header after refolding with email.policy.default
  • gh-131261: Update libexpat to 2.7.0
  • gh-105704: [CVE-2025-0938] urlparse does not flag hostname containing [ or ] as incorrect
  • gh-119511: OOM vulnerability in the imaplib module

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

Python 3.10.17

This is a security release of Python 3.10:

  • gh-131809: Upgrade vendored expat to 2.7.1
  • gh-80222: Folding of quoted string in display_name violates RFC
  • gh-121284: Invalid RFC 2047 address header after refolding with email.policy.default
  • gh-131261: Update libexpat to 2.7.0
  • gh-105704: CVE-2025-0938 urlparse does not flag hostname containing [ or ] as incorrect
  • gh-119511: OOM vulnerability in the imaplib module

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

Python 3.9.22

This is a security release of Python 3.9:

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

Please upgrade! Please test!

We highly recommend upgrading 3.9-3.13 and we encourage you to test 3.14.

And now for something completely different

On Saturday, 5th April, 3.141592653589793 months of the year had elapsed.

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 sunny and cold Helsinki springtime,

Your full release team,

Hugo van Kemenade
Thomas Wouters
Pablo Galindo Salgado
Łukasz Langa
Ned Deily
Steve Dower

Friday, March 14, 2025

Python 3.14.0 alpha 6 is out

Here comes the penultimate alpha.

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

This is an early developer preview of Python 3.14

Major new features of the 3.14 series, compared to 3.13

Python 3.14 is still in development. This release, 3.14.0a6, is the sixth 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 (2025-05-06) and, if necessary, may be modified or deleted up until the release candidate phase (2025-07-22). 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.14 are still being planned and written. Among the new major new features and changes so far:

The next pre-release of Python 3.14 will be the final alpha, 3.14.0a7, currently scheduled for 2025-04-08.

More resources

And now for something completely different

March 14 is celebrated as pi day, because 3.14 is an approximation of π. The day is observed by eating pies (savoury and/or sweet) and celebrating π. The first pi day was organised by physicist and tinkerer Larry Shaw of the San Francisco Exploratorium in 1988. It is also the International Day of Mathematics and Albert Einstein’s birthday. Let’s all eat some pie, recite some π, install and test some py, and wish a happy birthday to Albert, Loren and all the other pi day children!

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 as fresh snow falls,

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

Tuesday, February 11, 2025

Python 3.14.0 alpha 5 is out

Here comes the antepenultimate alpha.

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

This is an early developer preview of Python 3.14

Major new features of the 3.14 series, compared to 3.13

Python 3.14 is still in development. This release, 3.14.0a5, is the fifth 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 (2025-05-06) and, if necessary, may be modified or deleted up until the release candidate phase (2025-07-22). 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.14 are still being planned and written. Among the new major new features and changes so far:

The next pre-release of Python 3.14 will be the penultimate alpha, 3.14.0a6, currently scheduled for 2025-03-14.

More resources

And now for something completely different

2025-01-29 marked the start of a new lunar year, the Year of the Snake 🐍 (and the Year of Python?).

For centuries, π was often approximated as 3 in China. Some time between the years 1 and 5 CE, astronomer, librarian, mathematician and politician Liu Xin (劉歆) calculated π as 3.154.

Around 130 CE, mathematician, astronomer, and geographer Zhang Heng (張衡, 78–139) compared the celestial circle with the diameter of the earth as 736:232 to get 3.1724. He also came up with a formula for the ratio between a cube and inscribed sphere as 8:5, implying the ratio of a square’s area to an inscribed circle is √8:√5. From this, he calculated π as √10 (~3.162).

Third century mathematician Liu Hui (刘徽) came up with an algorithm for calculating π iteratively: calculate the area of a polygon inscribed in a circle, then as the number of sides of the polygon is increased, the area becomes closer to that of the circle, from which you can approximate π.

This algorithm is similar to the method used by Archimedes in the 3rd century BCE and Ludolph van Ceulen in the 16th century CE (see 3.14.0a2 release notes), but Archimedes only went up to a 96-sided polygon (96-gon). Liu Hui went up to a 192-gon to approximate π as 157/50 (3.14) and later a 3072-gon for 3.14159.

Liu Hu wrote a commentary on the book The Nine Chapters on the Mathematical Art which included his π approximations.

In the fifth century, astronomer, inventor, mathematician, politician, and writer Zu Chongzhi (祖沖之, 429–500) used Liu Hui’s algorithm to inscribe a 12,288-gon to compute π between 3.1415926 and 3.1415927, correct to seven decimal places. This was more accurate than Hellenistic calculations and wouldn’t be improved upon for 900 years.

Happy Year of the Snake!

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 remarkably snowless Helsinki,

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

Tuesday, February 4, 2025

Python 3.13.2 and 3.12.9 now available!

 

A small release day today! That is to say the releases are relatively small; the day itself was of average size, as most days are.

Python 3.13.2

Python 3.13’s second maintenance release. About 250 changes went into this update, and can be yours for free if you just upgrade now.

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

Python 3.12.9

Python 3.12’s ninth maintenance release already. Just 180 changes for 3.12, but it’s still worth upgrading.

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 tireless, tireless release team,
Thomas Wouters
Ned Deily
Steve Dower
Łukasz Langa

Tuesday, January 14, 2025

Python 3.14.0 alpha 4 is out

Hello, three dot fourteen dot zero alpha four!

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

This is an early developer preview of Python 3.14

Major new features of the 3.14 series, compared to 3.13

Python 3.14 is still in development. This release, 3.14.0a4, is the fourth 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 (2025-05-06) and, if necessary, may be modified or deleted up until the release candidate phase (2025-07-22). 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.14 are still being planned and written. Among the new major new features and changes so far:

The next pre-release of Python 3.14 will be 3.14.0a5, currently scheduled for 2025-02-11.

More resources

And now for something completely different

In Python, you can use Greek letters as constants. For example:

from math import pi as π

def circumference(radius: float) -> float:
    return 2 * π * radius

print(circumference(6378.137))  # 40075.016685578485

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 slushy, slippery Helsinki,

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