[RELEASE] Python 3.14.0 alpha 1 is now available

2024-10-16 Thread Hugo van Kemenade via Python-list
It's now time for a new alpha of a new version of Python!

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

**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.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 (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 (https://peps.python.org/pep-0649/): deferred evaluation of
annotations (
https://docs.python.org/3.14/whatsnew/3.14.html#pep-649-deferred-evaluation-of-annotations
)
* Improved error messages (
https://docs.python.org/3.14/whatsnew/3.14.html#improved-error-messages)
* (Hey, **fellow core developer,** if a feature you find important is
missing from this list, [let Hugo know ([email protected]).)

The next pre-release of Python 3.14 will be 3.14.0a2, currently scheduled
for 2024-11-19.

# More resources

* Online documentation: https://docs.python.org/3.14/
* PEP 745, 3.14 Release Schedule: https://peps.python.org/pep-0719/
* Report bugs at https://github.com/python/cpython/issues
* Help fund Python and its community: https://www.python.org/psf/donations/

# And now for something completely different

π (or pi) is a mathematical constant, approximately 3.14, for the ratio of
a circle's circumference to its diameter. It is an irrational number, which
means it cannot be written as a simple fraction of two integers. When
written as a decimal, its digits go on forever without ever repeating a
pattern.

Here's 76 digits of π:

3.141592653589793238462643383279502884197169399375105820974944592307816406286

Piphilology is the creation of mnemonics to help remember digits of π.

In a pi-poem, or "piem", the number of letters in a word equal the
corresponding digit. This covers 9 digits, 3.14159265:

> *How I wish I could recollect pi easily today!*

One of the most well-known covers 15 digits, 3.14159265358979:

> *How I want a drink, alcoholic of course, after the heavy chapters
involving quantum mechanics!*

Here's a 35-word piem in the shape of a circle,
3.1415926535897932384626433832795728:

 It's a fact
 A ratio immutable
   Of circle round and width,
  Produces geometry's deepest conundrum.
 For as the numerals stay random,
   No repeat lets out its presence,
  Yet it forever stretches forth.
   Nothing to eternity.

The Guiness World Record for memorising the most digits is held by Rajveer
Meena, who recited 70,000 digits blindfold in 2015. The unofficial record
is held by Akira Haraguchi who recited 100,000 digits in 2006.

# 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 organization contributions to the Python
Software Foundation.

Regards from a bright and colourful Helsinki,

Your release team,
Hugo van Kemenade
Ned Deily
Steve Dower
Łukasz Langa
-- 
https://mail.python.org/mailman/listinfo/python-list


[RELEASE] Python 3.14.0 alpha 2 is out

2024-11-19 Thread Hugo van Kemenade via Python-list
Alpha 2? But Alpha 1 only just came out!

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

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.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 (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 761: Python 3.14 and onwards no longer provides PGP signatures for
release artifacts. Instead, Sigstore is recommended for verifiers.
* 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.14 will be 3.14.0a3, currently scheduled
for 2024-12-17.

More resources

* Online documentation: https://docs.python.org/3.14/
* PEP 745, 3.14 Release Schedule: https://peps.python.org/pep-0719/
* Report bugs at https://github.com/python/cpython/issues
* Help fund Python and its community: https://www.python.org/psf/donations/

And now for something completely different

Ludolph van Ceulen (1540-1610) was a fencing and mathematics teacher in
Leiden, Netherlands, and spent around 25 years calculating π (or pi), using
essentially the same methods Archimedes employed some seventeen hundred
years earlier.

Archimedes estimated π by calculating the circumferences of polygons that
fit just inside and outside of a circle, reasoning the circumference of the
circle lies between these two values. Archimedes went up to polygons with
96 sides, for a value between 3.1408 and 3.1428, which is accurate to two
decimal places.

Van Ceulen used a polygon with half a billion sides. He published a
20-decimal value in his 1596 book Vanden Circkel (“On the Circle”), and
later expanded it to 35 decimals:

3.14159265358979323846264338327950288

Van Ceulen’s 20 digits is more than enough precision for any conceivable
practical purpose. For example, even if a printed circle was perfect down
to the atomic scale, the thermal vibrations of the molecules of ink would
make most of those digits physically meaningless. NASA Jet Propulsion
Laboratory’s highest accuracy calculations, for interplanetary navigation,
uses 15 decimals: 3.141592653589793.

At Van Ceulen’s request, his upper and lower bounds for π were engraved on
his tombstone in Leiden. The tombstone was eventually lost but restored in
2000. In the Netherlands and Germany, π is sometimes referred to as the
“Ludolphine number”, after Van Ceulen.

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 chilly Helsinki with snow on the way,

Your release team,
Hugo van Kemenade
Ned Deily
Steve Dower
Łukasz Langa
-- 
https://mail.python.org/mailman/listinfo/python-list


[RELEASE] Python 3.14.0 alpha 3 is out

2024-12-17 Thread Hugo van Kemenade via Python-list
O Alpha 3, O Alpha 3, how lovely are your branches!

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

This is an early developer preview of Python 3.14.

Python 3.14 is still in development. This release, 3.14.0a3, is the third
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 761: Python 3.14 and onwards no longer provides PGP signatures for
release artifacts. Instead, Sigstore is recommended for verifiers.
* 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.14 will be 3.14.0a4, currently scheduled
for 2025-01-14.

More resources:

* Online documentation: https://docs.python.org/3.14/
* PEP 745, 3.14 Release Schedule: https://peps.python.org/pep-0745/
* Report bugs at https://github.com/python/cpython/issues
* Help fund Python and its community: https://www.python.org/psf/donations/

And now for something completely different

A mince pie is a small, round covered tart filled with “mincemeat”, usually
eaten during the Christmas season – the UK consumes some 800 million each
Christmas. Mincemeat is a mixture of things like apple, dried fruits,
candied peel and spices, and originally would have contained meat chopped
small, but rarely nowadays. They are often served warm with brandy butter.

According to the Oxford English Dictionary, the earliest mention of
Christmas mince pies is by Thomas Dekker, writing in the aftermath of the
1603 London plague, in Newes from Graues-end: Sent to Nobody (1604):

  Ten thousand in London swore to feast their neighbors with nothing but
plum-porredge, and mince-pyes all Christmas.

Here’s a meaty recipe from Rare and Excellent Receipts, Experienc’d and
Taught by Mrs Mary Tillinghast and now Printed for the Use of her Scholars
Only (1678):

  XV. How to make Mince-pies.

  To every pound of Meat, take two pound of beef Suet, a pound of Corrants,
and a quarter of an Ounce of Cinnamon, one Nutmeg, a little beaten Mace,
some beaten Colves, a little Sack & Rose-water, two large Pippins, some
Orange and Lemon peel cut very thin, and shred very small, a few beaten
Carraway-seeds, if you love them the Juyce of half a Lemon squez’d into
this quantity of meat; for Sugar, sweeten it to your relish; then mix all
these together and fill your Pie. The best meat for Pies is Neats-Tongues,
or a leg of Veal; you may make them of a leg of Mutton if you please; the
meat must be parboyl’d if you do not spend it presently; but if it be for
present use, you may do it raw, and the Pies will be the better.

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 snowy and slippery Helsinki,

Your release team,
Hugo van Kemenade
Ned Deily
Steve Dower
Łukasz Langa
-- 
https://mail.python.org/mailman/listinfo/python-list


Python 3.14.0 alpha 4 is out

2025-01-14 Thread Hugo van Kemenade via Python-list
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.

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:

* PEP 649: deferred evaluation of annotations
* PEP 741: Python configuration C API
* PEP 761: Python 3.14 and onwards no longer provides PGP signatures for
release artifacts. Instead, Sigstore is recommended for verifiers.
* Improved error messages
* Removals of old deprecations, and new deprecations, many scheduled for
removal from Python 3.16
* 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 3.14.0a5, currently scheduled
for 2025-02-11.

More resources:

* Online documentation: https://docs.python.org/3.14/
* PEP 745, 3.14 Release Schedule: https://peps.python.org/pep-0745/
* Report bugs at https://github.com/python/cpython/issues
* Help fund Python and its community: https://www.python.org/psf/donations/

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
-- 
https://mail.python.org/mailman/listinfo/python-list


Python 3.14.0 alpha 5

2025-02-11 Thread Hugo van Kemenade via Python-list
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:

-   PEP 649: deferred evaluation of annotations
-   PEP 741: Python configuration C API
-   PEP 761: Python 3.14 and onwards no longer provides PGP signatures for
release artifacts. Instead, Sigstore is recommended for verifiers.
-   Improved error messages
-   A new type of interpreter. For certain newer compilers, this
interpreter provides significantly better performance. Opt-in for now,
requires building from source.
-   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 penultimate alpha,
3.14.0a6, currently scheduled for 2025-03-14.

More resources:

-   Online documentation: https://docs.python.org/3.14/
-   PEP 745, 3.14 Release Schedule: https://peps.python.org/pep-0745/
-   Report bugs at https://github.com/python/cpython/issues
-   Help fund Python and its community:
https://www.python.org/psf/donations/

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
-- 
https://mail.python.org/mailman/listinfo/python-list


Python 3.14.0 alpha 6

2025-03-14 Thread Hugo van Kemenade via Python-list
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:

-   PEP 649: deferred evaluation of annotations
-   PEP 741: Python configuration C API
-   PEP 761: Python 3.14 and onwards no longer provides PGP signatures for
release artifacts. Instead, Sigstore is recommended for verifiers.
-   Improved error messages
-   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.
-   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 final alpha, 3.14.0a7,
currently scheduled for 2025-04-08.

More resources

-   Online documentation: https://docs.python.org/3.14/
-   PEP 745, 3.14 Release Schedule: https://peps.python.org/pep-0745/
-   Report bugs at https://github.com/python/cpython/issues
-   Help fund Python and its community:
https://www.python.org/psf/donations/

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
-- 
https://mail.python.org/mailman/listinfo/python-list


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

2025-04-08 Thread Hugo van Kemenade via Python-list
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.


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:

- gh-131809 and gh-131261: Upgrade vendored expat to 2.7.1
- gh-121284: Invalid RFC 2047 address header after refolding with
email.policy.default
- 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-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

T

Python 3.14.0 beta 1 is here!

2025-05-07 Thread Hugo van Kemenade via Python-list
Only one day late, welcome to the first beta!

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

This is a beta preview of Python 3.14

Python 3.14 is still in development. This release, 3.14.0b1, is the first
of four planned beta releases.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.14 during the beta phase and report issues found to the Python bug
tracker as soon as possible (https://github.com/python/cpython/issues).
While the release is planned to be feature-complete entering the beta
phase, it is possible that features may be modified or, in rare cases,
deleted up until the start of the release candidate phase (Tuesday
2025-07-22). Our goal is to have no ABI changes after beta 4 and as few
code changes as possible after the first release candidate. To achieve
that, it will be extremely important to get as much exposure for 3.14 as
possible during the beta phase.

Please keep in mind that this is a preview release and its use is not
recommended for production environments.

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 649: The evaluation of type 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 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 and 8 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.

For more details on the changes to Python 3.14, see What’s new in Python
3.14.
https://docs.python.org/3.14/whatsnew/3.14.html

The next pre-release of Python 3.14 will be 3.14.0b2, scheduled for
2025-05-27.

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

- https://docs.python.org/3.14/whatsnew/3.14.html#incompatible-changes
- https://docs.python.org/3.14/whatsnew/3.14.html#removed
- https://docs.python.org/3.14/whatsnew/3.14.html#deprecated
- https://docs.python.org/3.14/whatsnew/3.14.html#c-api-removed
- https://docs.python.org/3.14/whatsnew/3.14.html#c-api-deprecated

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 our FTP 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

- Online documentation: https://docs.python.org/3.14/
- PEP 745, 3.14 Release Schedule: https://peps.python.org/pep-0745/
- Report bugs at https://github.com/python/cpython/issues
- Help fund Python and its community: https://www.python.org/psf/donations/

Note

During the release process, we discovered a test that only failed when run
sequentially and only when run after a certain number of other tests. This
appears to be a problem with the test itself, and we will make it more
robust for beta 2. For details, see
https://github.com/python/cpython/issues/133532

And now for something completely different

The mathematical constant pi is represented by the Greek letter π and
represents the ratio of a circle’s circumference to its diameter. The first
person to use π as a symbol for this ratio was Welsh self-taught
mathematician William Jones in 1706. He was a farmer’s son born in
Llanfihangel Tre’r Beirdd on Angelsy (Ynys Môn) in 1675 and only received a
basic education at a local charity school. However, the owner of his
parents’ farm noticed his mathematical ability and arranged for him to move
to London to work in a bank.

By age 20, he served at sea in the Royal Navy, teaching sailors mathem

Python 3.14 release candidate 1 is go!

2025-07-22 Thread Hugo van Kemenade via Python-list
It’s the first 3.14 release candidate!

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

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

https://docs.python.org/3.14/whatsnew/3.14.html

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

- Online documentation https://docs.python.org/3.14/
- PEP 745: 3.14 Release Schedule https://peps.python.org/pep-0745/
- Report bugs at https://github.com/python/cpython/issues
- Help fund Python and its community: https://www.python.org/psf/donations/


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 circumscri

Python 3.14.0 beta 2 is here!

2025-05-26 Thread Hugo van Kemenade via Python-list
Here’s the second 3.14 beta.

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

This is a beta preview of Python 3.14

Python 3.14 is still in development. This release, 3.14.0b2, is the second
of four planned beta releases.

Beta release previews are intended to give the wider community the
opportunity to test new features and bug fixes and to prepare their
projects to support the new feature release.

We strongly encourage maintainers of third-party Python projects to test
with 3.14 during the beta phase and report issues found to the Python bug
tracker as soon as possible. While the release is planned to be
feature-complete entering the beta phase, it is possible that features may
be modified or, in rare cases, deleted up until the start of the release
candidate phase (Tuesday 2025-07-22). Our goal is to have no ABI changes
after beta 4 and as few code changes as possible after the first release
candidate. To achieve that, it will be extremely important to get as much
exposure for 3.14 as possible during the beta phase.

This includes creating pre-release wheels for 3.14, as it helps other
projects to do their own testing. However, we recommend that your regular
production releases wait until 3.14.0rc1, to avoid the risk of ABI breaks.

Please keep in mind that this is a preview release and its use is not
recommended for production environments.

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 649: The evaluation of type 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 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 and 8 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 3.14.0b3, scheduled for
2025-06-17.

https://docs.python.org/3.14/whatsnew/3.14.html

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.


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 our FTP 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

- Online documentation: https://docs.python.org/3.14/
- PEP 745, 3.14 Release Schedule: https://peps.python.org/pep-0745/
- Report bugs at https://github.com/python/cpython/issues
- Help fund Python and its community: https://www.python.org/psf/donations/

And now for something completely different

In 1897, the State of Indiana almost passed a bill defining π as 3.2.

Of course, it’s not that simple.

Edwin J. Goodwin, M.D., claimed to have come up with a solution to an
ancient geometrical problem called squaring the circle, first proposed in
Greek mathematics. It involves trying to draw a circle and a square with
the same area, using only a compass and a straight edge. It turns out to be
impossible because π is transcendental (and this had been proved just 13
years earlier by Ferdinand von Lindemann), but Goodwin fudged things so the
value of π was 3.2 (his writings have included at least nine different
values of π: including 4, 3.236, 3.232, 3.2325… and even 9.2376…).

Goodwin had copyrighted his proof and offered it to the State of Indiana to
use in their educational textbooks without paying royalties, provided they
endorsed it. 

Python 3.14.0rc3 is go! And release announcement news

2025-09-22 Thread Hugo van Kemenade via Python-list
Note: we also announce CPython releases at
https://discuss.python.org/tag/release and https://blog.python.org, and are
planning on only announcing at those places in the future, and not on this
mailing list.

Please see https://discuss.python.org/t/python-3-14-0rc3-is-go/103815 for
the 3.14.0rc3 release notes.

Regards from sunny Manchester,

Your release team,
Hugo van Kemenade
Thomas Wouters
Steve Dower
Łukasz Langa
Savannah Bailey
-- 
https://mail.python.org/mailman3//lists/python-list.python.org


Python 3.14.0 (final) is here!

2025-10-18 Thread Hugo van Kemenade via Python-list
Note: we also announce CPython releases at
https://discuss.python.org/tag/release and https://blog.python.org, and
are planning on only announcing at those places in the future, and not on
this mailing list. See
https://discuss.python.org/t/cpython-release-announcements/103924/1

Please see https://discuss.python.org/t/python-3-14-0-final-is-here/104210
for the 3.14.0 release notes.

Regards from a colourful autumnal Helsinki,

Your release team,
Hugo van Kemenade
Ned Deily
Steve Dower
Łukasz Langa
-- 
https://mail.python.org/mailman3//lists/python-list.python.org