[RELEASE] Python 3.13.0 (final) released

2024-10-07 Thread Thomas Wouters via Python-list
After all the shenanigans two weeks ago – everyone discovering nasty little
problems in release candidate 2 – the last week was suspiciously quiet, and
therefore I can finally say:
Python
3.13.0 is now available

https://www.python.org/downloads/release/python-3130/
This is the stable release of Python 3.13.0

Python 3.13.0 is the newest major release of the Python programming
language, and it contains many new features and optimizations compared to
Python 3.12. (Compared to the last release candidate, 3.13.0rc3, 3.13.0
contains two small bug fixes and some documentation and testing changes.)
Major
new features of the 3.13 series, compared to 3.12

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

   - A new and improved interactive interpreter
   
,
   based on PyPy ’s, featuring multi-line editing and
   color support, as well as colorized exception tracebacks
   
   .
   - An *experimental* free-threaded build mode
   
,
   which disables the Global Interpreter Lock, allowing threads to run more
   concurrently. The build mode is available as an experimental feature in the
   Windows and macOS installers as well.
   - A preliminary, *experimental* JIT
   
,
   providing the ground work for significant performance improvements.
   - The locals() builtin function (and its C equivalent) now has well-defined
   semantics when mutating the returned mapping
   
,
   which allows debuggers to operate more consistently.
   - A modified version of mimalloc  is
   now included, optional but enabled by default if supported by the platform,
   and required for the free-threaded build mode.
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - The dbm module  has a
   new dbm.sqlite3 backend
    that is used by
   default when creating new files.
   - The minimum supported macOS version was changed from 10.9 to 10.13
   (High Sierra). Older macOS versions will not be supported going forward.
   - WASI is now a Tier 2 supported platform
   . Emscripten is no longer
an officially
   supported platform
    (but
   Pyodide  continues to support Emscripten).
   - iOS is now a Tier 3 supported platform
   .
   - Android is now a Tier 3 supported platform
   .


Typing

   - Support for type defaults in type parameters
   .
   - A new type narrowing annotation ,
   typing.TypeIs.
   - A new annotation for read-only items in TypeDicts
   .
   - A new annotation for marking deprecations in the type system
   .

Removals
and new deprecations

   - PEP 594 (Removing dead batteries from the standard library)
    scheduled removals of many
   deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr,
   mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau,
   telnetlib, uu, xdrlib, lib2to3.
   - Many other removals
   
of
   deprecated classes, functions and methods in various standard library
   modules.
   - C API removals
    and
   deprecations
   .
   (Some removals present in alpha 1 were reverted in alpha 2, as the removals
   were deemed too disruptive at this time.)
   - New depre

[RELEASE] Python 3.13.0rc3 and 3.12.7 released.

2024-10-01 Thread Thomas Wouters via Python-list
This is not the release you’re looking for…

(unless you’re looking for 3.12.7.)

Because no plan survives contact with reality, instead of the actual Python
3.13.0 release we have a new Python 3.13 release candidate today. Python
3.13.0rc3 rolls back the incremental cyclic garbage collector (GC), which
was added in one of the alpha releases. The incremental GC had more
significant performance regressions in specific workloads than we expected.
Rather than try to fiddle with its details in the hope of fixing them (and
not making anything else worse) we decided to revert back to the old GC in
3.13. Work on the incremental GC will continue in 3.14. We also took the
opportunity to fix some other (rare) bugs and issues found in 3.13.0rc2. The
final release of Python 3.13.0 will now happen next week, Monday October 7th
.

In an effort to return to normalcy, we’ve also released Python 3.12.7 as
scheduled, despite the expedited release a month ago. It’s important to be
regular!
3.13.0rc3

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

The final cut of 3.13.0 (really, honest). Besides the incremental GC revert
it contains a small number of other fixes, as well as many documentation
improvements and testsuite improvements (~145 changes in total).
Call
to action

We strongly encourage maintainers of third-party Python projects to prepare
their projects for 3.13 compatibilities during this phase, and where
necessary publish Python 3.13 wheels on PyPI to be ready for the final
release of 3.13.0. Any binary wheels built against Python 3.13.0rc1 and
later will work with future versions of Python 3.13. 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. Next week, though!
New
features in Python 3.13

   - A new and improved interactive interpreter
   
,
   based on PyPy  ’s, featuring multi-line editing and
   color support, as well as colorized exception tracebacks
   
   .
   - An *experimental* free-threaded build mode
   ,
   which disables the Global Interpreter Lock, allowing threads to run more
   concurrently. The build mode is available as an experimental feature in the
   Windows and macOS installers as well.
   - A preliminary, *experimental* JIT
   ,
   providing the ground work for significant performance improvements.
   - The locals() builtin function (and its C equivalent) now has well-defined
   semantics when mutating the returned mapping
   
,
   which allows debuggers to operate more consistently.
   - A modified version of mimalloc  is
   now included, optional but enabled by default if supported by the platform,
   and required for the free-threaded build mode.
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - The dbm module  has a
   new dbm.sqlite3 backend
   that is used by
   default when creating new files.
   - The minimum supported macOS version was changed from 10.9 to 10.13
   (High Sierra). Older macOS versions will not be supported going forward.
   - WASI is now a Tier 2 supported platform
   . Emscripten is no longer
an officially
   supported platform
   (but
   Pyodide  continues to support Emscripten).
   - iOS is now a Tier 3 supported platform
   .
   - Android is now a Tier 3 supported platform
   as well.

Python
3.12.7

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

A small release since 3.12.6 was only a month ago, but nevertheless 3.12.7
contains ~120 bug fixes, build improvements and documentation changes.


[RELEASE] Python 3.12.5 released

2024-08-07 Thread Thomas Wouters via Python-list
Python 3.12.5 is now available:

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

This is the fifth maintenance release of Python 3.12

Python 3.12 is the newest major release of the Python programming language,
and it contains many new features and optimizations. 3.12.5 is the latest
maintenance release, containing more than 250 bugfixes, build improvements
and documentation changes since 3.12.4.

This version of Python 3.12 also comes with pip 24.2 by default. *However,
due to an incompatibility with older macOS versions, macOS 10.9 through
10.12 will downgrade their version of pip to 24.1.2 during the installation
process* (in the Install Certificates step). See the installer ReadMe and the
pip issue on the matter  for more
information. Versions of macOS older than 10.13 haven’t been supported by
Apple since 2019, and maintaining support for them is becoming increasingly
difficult. While this release of 3.12 still supports them, *it is likely
that we will be forced to drop support for macOS 10.12 and older in a
future 3.12 release*. (Python 3.13 has already dropped support for them.)
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
   Releas

[RELEASE] Python 3.13.0 release candidate 1 released

2024-08-01 Thread Thomas Wouters via Python-list
Python 3.13 *release candidate 1* is now available.

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

This
is the first release candidate of Python 3.13.0

This release, *3.13.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, 2024-09-03, while the official release of 3.13.0 is scheduled for
Tuesday, 2024-10-01.

There will be *no ABI changes* from this point forward in the 3.13 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.13 compatibilities during this phase, and where
necessary publish Python 3.13 wheels on PyPI to be ready for the final
release of 3.13.0. Any binary wheels built against Python 3.13.0rc1 *will
work* with future versions of Python 3.13. 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.13 series, compared to 3.12

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

   - A new and improved interactive interpreter
   
,
   based on PyPy ’s, featuring multi-line editing and
   color support, as well as colorized exception tracebacks
   
   .
   - An *experimental* free-threaded build mode
   ,
   which disables the Global Interpreter Lock, allowing threads to run more
   concurrently. The build mode is available as an experimental feature in the
   Windows and macOS installers as well.
   - A preliminary, *experimental* JIT
   ,
   providing the ground work for significant performance improvements.
   - The locals() builtin function (and its C equivalent) now has well-defined
   semantics when mutating the returned mapping
   
,
   which allows debuggers to operate more consistently.
   - The (cyclic) garbage collector is now incremental
   
,
   which should mean shorter pauses for collection in programs with a lot of
   objects.
   - A modified version of mimalloc 
   is now included, optional but enabled by default if supported by the
   platform, and required for the free-threaded build mode.
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - The dbm module  has a
   new dbm.sqlite3 backend
    that is used by
   default when creating new files.
   - The minimum supported macOS version was changed from 10.9 to *10.13
   (High Sierra)*. Older macOS versions will not be supported going forward.
   - WASI is now a Tier 2 supported platform
   . Emscripten is no longer
an officially
   supported platform
    (but
   Pyodide  continues to support Emscripten).
   - iOS is now a Tier 3 supported platform
   , with Android on the way as well
   

[RELEASE] Python 3.13.0 beta 4 released.

2024-07-18 Thread Thomas Wouters via Python-list
Python 3.13.0b4, the final beta of Python 3.13, is now available:

https://www.python.org/downloads/release/python-3130b4/

*This is a beta preview of Python 3.13*

Python 3.13 is still in development. This release, 3.13.0b4, is the *final*
beta release preview of 3.13.

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.13* 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
2024-07-30). Our goal is to have *no ABI changes* after this final beta
release, and as few code changes as possible after 3.13.0rc1, the first
release candidate. To achieve that, it will be *extremely important* to get
as much exposure for 3.13 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.13 series, compared to 3.12

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

   - A new and improved interactive interpreter
   
,
   based on PyPy ’s, featuring multi-line editing and
   color support, as well as colorized exception tracebacks
   
   .
   - An *experimental* free-threaded build mode
   ,
   which disables the Global Interpreter Lock, allowing threads to run more
   concurrently. The build mode is available as an experimental feature in the
   Windows and macOS installers as well.
   - A preliminary, *experimental* JIT
   ,
   providing the ground work for significant performance improvements.
   - The locals() builtin function (and its C equivalent) now has well-defined
   semantics when mutating the returned mapping
   
,
   which allows debuggers to operate more consistently.
   - The (cyclic) garbage collector is now incremental
   
,
   which should mean shorter pauses for collection in programs with a lot of
   objects.
   - A modified version of mimalloc 
   is now included, optional but enabled by default if supported by the
   platform, and required for the free-threaded build mode.
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - The dbm module  has a
   new dbm.sqlite3 backend
    that is used by
   default when creating new files.
   - The minimum supported macOS version was changed from 10.9 to *10.13
   (High Sierra)*. Older macOS versions will not be supported going forward.
   - WASI is now a Tier 2 supported platform
   . Emscripten is no longer
an officially
   supported platform
    (but
   Pyodide  continues to support Emscripten).


Typing

   - Support for type defaults in type parameters
   .
   - A new type narrowing annotation ,
   typing.TypeIs.
   - A new annotation for read-only items in TypeDicts
   .
   - A new annotation for marking deprecations in the type system
   .

Removals
and new deprecations

   - PEP 594 (Removing dead batteries from the standard library)
    scheduled removals of many
   deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr,
   mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau,
   telnetlib, uu, x

[RELEASE] Python 3.13.0 beta 3 released.

2024-06-27 Thread Thomas Wouters via Python-list
The *next to last* Python 3.13 beta version, beta 3, is now released:
https://www.python.org/downloads/release/python-3130b3/

*This is a beta preview of Python 3.13*

Python 3.13 is still in development. This release, 3.13.0b3, is the third
of four beta release previews of 3.13.

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.13* 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
2024-07-30). Our goal is to have no ABI changes after beta 4 and as few
code changes as possible after 3.13.0rc1, the first release candidate. To
achieve that, it will be *extremely important* to get as much exposure for
3.13 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.13 series, compared to 3.12

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

   - A new and improved interactive interpreter
   
,
   based on PyPy ’s, featuring multi-line editing and
   color support, as well as colorized exception tracebacks
   
   .
   - An *experimental* free-threaded build mode
   ,
   which disables the Global Interpreter Lock, allowing threads to run more
   concurrently. The build mode is available as an experimental feature in the
   Windows and macOS installers as well.
   - A preliminary, *experimental* JIT
   ,
   providing the ground work for significant performance improvements.
   - The (cyclic) garbage collector is now incremental
   
,
   which should mean shorter pauses for collection in programs with a lot of
   objects.
   - A modified version of mimalloc 
   is now included, optional but enabled by default if supported by the
   platform, and required for the free-threaded build mode.
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - The dbm module  has a
   new dbm.sqlite3 backend
    that is used by
   default when creating new files.
   - The minimum supported macOS version was changed from 10.9 to *10.13
   (High Sierra)*. Older macOS versions will not be supported going forward.


Typing

   - Support for type defaults in type parameters
   .
   - A new type narrowing annotation ,
   typing.TypeIs.
   - A new annotation for read-only items in TypeDicts
   .

Removals
and new deprecations

   - PEP 594 (Removing dead batteries from the standard library)
    scheduled removals of many
   deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr,
   mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau,
   telnetlib, uu, xdrlib, lib2to3.
   - Many other removals
    of deprecated
   classes, functions and methods in various standard library modules.
   - C API removals 
   and deprecations .
   (Some removals present in alpha 1 were reverted in alpha 2, as the removals
   were deemed too disruptive at this time.)
   - New deprecations
   , most of
   which are scheduled for removal from Python 3.15 or 3.16.

(Hey, *fellow core developer,* if a feature yo

[RELEASE] Python 3.12.4 released

2024-06-06 Thread Thomas Wouters via Python-list
Last minute bugs in test environments notwithstanding, 3.12.4 is now
available!
 https://www.python.org/downloads/release/python-3124/

This
is the third maintenance release of Python 3.12

Python 3.12 is the newest major release of the Python programming language,
and it contains many new features and optimizations. 3.12.4 is the latest
maintenance release, containing more than 250 bugfixes, build improvements
and documentation changes since 3.12.3.
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
   .

Enjoy
the new releases

Thanks to all of the many volunteers who help make Python Development and
these releases possible! Please consider supporting our effor

[RELEASE] Python 3.13.0 beta 2 released.

2024-06-06 Thread Thomas Wouters via Python-list
After a little bit of a delay (I blame the flat tire on my rental car),
3.13.0b2 is released:
 https://www.python.org/downloads/release/python-3130b2/


This
is a beta preview of Python 3.13

Python 3.13 is still in development. This release, 3.13.0b2, is the second
of four beta release previews of 3.13.

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.13* 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
2024-07-30). Our goal is to have no ABI changes after beta 4 and as few
code changes as possible after 3.13.0rc1, the first release candidate. To
achieve that, it will be *extremely important* to get as much exposure for
3.13 as possible during the beta phase.

*Two particularly noteworthy changes in beta 2 involve the macOS installer
we provide:*

   - The minimum supported macOS version was changed from 10.9 to *10.13
   (High Sierra)*. Older macOS versions will not be supported going forward.
   - The macOS installer package now includes an optional additional build
   of Python 3.13 with the experimental free-threading feature enabled. The
   free-threaded version, python3.13t, is separate from and co-exists with the
   traditional GIL-only installation. The free-threaded build is not installed
   by default; use the Customize option of the installer as explained in the
   installer readme. Since this is an experimental feature, there may be
   late-breaking issues found; see the free-threaded macOS build issue
    on GitHub for the most
   recent status.

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.13 series, compared to 3.12

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

   - A new and improved interactive interpreter
   
,
   based on PyPy ’s, featuring multi-line editing and
   color support, as well as colorized exception tracebacks
   
   .
   - An *experimental* free-threaded build mode
   ,
   which disables the Global Interpreter Lock, allowing threads to run more
   concurrently.
   - A preliminary, *experimental* JIT
   ,
   providing the ground work for significant performance improvements.
   - The (cyclic) garbage collector is now incremental
   
,
   which should mean shorter pauses for collection in programs with a lot of
   objects.
   - A modified version of mimalloc 
   is now included, optional but enabled by default if supported by the
   platform, and required for the free-threaded build mode.
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - The dbm module  has a
   new dbm.sqlite3 backend
    that is used by
   default when creating new files.

Typing

   - Support for type defaults in type parameters
   .
   - A new type narrowing annotation ,
   typing.TypeIs.
   - A new annotation for read-only items in TypeDicts
   .

Removals
and new deprecations

   - PEP 594 (Removing dead batteries from the standard library)
    scheduled removals of many
   deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr,
   mailcap, msil

[RELEASE] Python 3.13.0 beta 1 released

2024-05-08 Thread Thomas Wouters via Python-list
After a little bit of excitement discovering new bugs during the release, *it’s
done*: 3.13.0 beta 1 is released, the 3.13 branch has been created, and
features for 3.13 are frozen! The main branch is now 3.14.0a0.
https://www.python.org/downloads/release/python-3130b1/

*This is a beta preview of Python 3.13*

Python 3.13 is still in development. This release, 3.13.0b1, is the first
of four beta release previews of 3.13.

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.13* 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
2024-07-30). Our goal is to have no ABI changes after beta 4 and as few
code changes as possible after 3.13.0rc1, the first release candidate. To
achieve that, it will be *extremely important* to get as much exposure for
3.13 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.13 series, compared to 3.12

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

   - A new and improved interactive interpreter
   
,
   based on PyPy ’s, featuring multi-line editing and
   color support, as well as colorized exception tracebacks
   
   .
   - An *experimental* free-threaded build mode
   ,
   which disables the Global Interpreter Lock, allowing threads to run more
   concurrently.
   - A preliminary, *experimental* JIT
   ,
   providing the ground work for significant performance improvements.
   - The (cyclic) garbage collector is now incremental
   
,
   which should mean shorter pauses for collection in programs with a lot of
   objects.
   - A modified version of mimalloc 
   is now included, optional but enabled by default if supported by the
   platform, and required for the free-threaded build mode.
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - The dbm module  has a
   new dbm.sqlite3 backend
    that is used by
   default when creating new files.


Typing

   - Support for type defaults in type parameters
   .
   - A new type narrowing annotation ,
   typing.TypeIs.
   - A new annotation for read-only items in TypeDicts
   .

Removals
and new deprecations

   - PEP 594 (Removing dead batteries from the standard library)
    scheduled removals of many
   deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr,
   mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau,
   telnetlib, uu, xdrlib, lib2to3.
   - Many other removals
    of deprecated
   classes, functions and methods in various standard library modules.
   - C API removals 
   and deprecations .
   (Some removals present in alpha 1 were reverted in alpha 2, as the removals
   were deemed too disruptive at this time.)
   - New deprecations
   , most of
   which are scheduled for removal from Python 3.15 or 3.16.

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

For more details on the changes to Python 3.13, see What’s new i

[RELEASE] Python 3.12.3 and 3.13.0a6 released

2024-04-09 Thread Thomas Wouters via Python-list
*It’s time to eclipse the Python 3.11.9 release with two releases*, one of
which is the *very last alpha release of Python 3.13*:
Python
3.12.3

300+ of the finest commits went into this latest maintenance release of the
latest Python version, the most stablest, securest, bugfreeest we could
make it.
https://www.python.org/downloads/release/python-3123/
Python
3.13.0a6

What’s that? The last alpha release? Just one more month until feature
freeze! Get your features done, get your bugs fixed, let’s get 3.13.0 ready
for people to actually use! Until then, let’s test with alpha 6. The
highlights of 3.13 you ask? Well:

   - In the interactive interpreter, exception tracebacks are now colorized
   by default
   .
   - A preliminary, *experimental* JIT was added
   ,
   providing the ground work for significant performance improvements.
   - The (cyclic) garbage collector is now incremental
   
,
   which should mean shorter pauses for collection in programs with a lot of
   objects.
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - The dbm module  has a
   new dbm.sqlite3 backend
    that is used by
   default when creating new files.
   - PEP 594 (Removing dead batteries from the standard library)
    scheduled removals of many
   deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr,
   mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau,
   telnetlib, uu, xdrlib, lib2to3.
   - Many other removals
    of deprecated
   classes, functions and methods in various standard library modules.
   - New deprecations
   , most of
   which are scheduled for removal from Python 3.15 or 3.16.
   - C API removals 
   and deprecations .
   (Some removals present in alpha 1 were reverted in alpha 2, as the removals
   were deemed too disruptive at this time.)

(Hey, *fellow core developer,* if a feature you find important is missing
from this list, let Thomas know . It’s getting to be
really important now!)
https://www.python.org/downloads/release/python-3130a6/
We
hope you 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 contributions to the Python Software
Foundation  or CPython itself
.

Thomas “can you tell I haven’t had coffee today” Wouters
on behalf of your release team,

Ned Deily
Steve Dower
Pablo Galindo Salgado
Łukasz Langa
-- 
Thomas Wouters 
-- 
https://mail.python.org/mailman/listinfo/python-list


[RELEASE] Python 3.13.0a5 is now available

2024-03-12 Thread Thomas Wouters via Python-list
We’re getting closer and closer… Alpha 5 is here.
https://www.python.org/downloads/release/python-3130a5/

*This is an early developer preview of Python 3.13*
Major new features of the 3.13 series, compared to 3.12

Python 3.13 is still in development. This release, 3.13.0a5, is the fifth
of six 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 (2024-05-07) and, if necessary, may be modified or deleted up
until the release candidate phase (2024-07-30). 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.13 are still being planned and written. Work
continues apace on both the work to remove the Global Interpeter Lock
, and to improve Python performance. The
most notable changes so far:

   - In the interactive interpreter, exception tracebacks are now colorized
   by default
   .
   - A preliminary, *experimental* JIT was added
   ,
   providing the ground work for significant performance improvements.
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - The dbm module  has a
   new dbm.sqlite3 backend
    that is used by
   default when creating new files.
   - PEP 594 (Removing dead batteries from the standard library)
    scheduled removals of many
   deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr,
   mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau,
   telnetlib, uu, xdrlib, lib2to3.
   - Many other removals
    of deprecated
   classes, functions and methods in various standard library modules.
   - New deprecations
   , most of
   which are scheduled for removal from Python 3.15 or 3.16.
   - C API removals 
   and deprecations .
   (Some removals present in alpha 1 have been reverted in alpha 2, as the
   removals were deemed too disruptive at this time.)

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

The next pre-release of Python 3.13 will be 3.13.0a6, currently scheduled
for 2024-04-09.
More
resources

   - Online Documentation 
   - PEP 719 , 3.13 Release
   Schedule
   - Report bugs at Issues · python/cpython · GitHub
   .
   - Help fund Python directly
    (or via GitHub
   Sponsors ), and support the Python
   community .

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 wet and chilly Amsterdam,

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


[RELEASE] Python 3.13.0a4 is now available

2024-02-15 Thread Thomas Wouters via Python-list
It’s time for Python 3.13.0 alpha 4 (now with SPDX SBOM OMG!):

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

*This is an early developer preview of Python 3.13*
Major
new features of the 3.13 series, compared to 3.12

Python 3.13 is still in development. This release, 3.13.0a4, is the fourth
of six 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 (2024-05-07) and, if necessary, may be modified or deleted up
until the release candidate phase (2024-07-30). 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.13 are still being planned and written. Work
continues apace on both the work to remove the Global Interpeter Lock
, and to improve Python performance. The
most notable changes so far:

   - In the interactive interpreter, exception tracebacks are now colorized
   by default
   .
   - A preliminary, *experimental* JIT was added
   ,
   providing the ground work for significant performance improvements.
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - PEP 594 (Removing dead batteries from the standard library)
    scheduled removals of many
   deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr,
   mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau,
   telnetlib, uu, xdrlib, lib2to3.
   - Many other removals
    of deprecated
   classes, functions and methods in various standard library modules.
   - New deprecations
   , most of
   which are scheduled for removal from Python 3.15 or 3.16.
   - C API removals 
   and deprecations .
   (Some removals present in alpha 1 have been reverted in alpha 2, as the
   removals were deemed too disruptive at this time.)

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

The next pre-release of Python 3.13 will be 3.13.0a5, currently scheduled
for 2023-03-12.
More
resources

   - Online Documentation 
   - PEP 719 , 3.13 Release
   Schedule
   - Report bugs at https://github.com/python/cpython/issues.
   - Help fund Python directly
    (or via GitHub
   Sponsors ), and support the Python
   community .

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 dusky Amsterdam,

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


[RELEASE] Python 3.12.2 and 3.11.8 now available.

2024-02-07 Thread Thomas Wouters via Python-list
*Python 3.12.2 and 3.11.8 are here! *In addition to all the usual bugfixes,
these releases contain a small security fix: hidden .pth files are no
longer automatically read and executed

as part of Python startup. (New releases of 3.8, 3.9 and 3.10 containing
the same fix are expected next week.)
Python
3.12.2

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

Python 3.12’s second bugfix release. In addition to the mentioned security
fix and the usual slew of bug fixes, build changes and documentation
updates (more than 350 commits), this is also the first release to include
a Software Bill-of-Materials for the source packages

(Python-3.12.2.tgz and Python-3.12.2.tar.xz). Full changelog
.
Python
3.11.8

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

More than 300 commits of bug fixes, build changes and documentation
updates. Full changelog
.
We
hope you 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 contributions to the Python Software
Foundation  or CPython itself
.

Thomas Wouters @thomas 
on behalf of your release team,

Ned Deily
Steve Dower
Pablo Galindo Salgado
Łukasz Langa
-- 
https://mail.python.org/mailman/listinfo/python-list


Python 3.13.0a3 is now available.

2024-01-17 Thread Thomas Wouters via Python-list
We silently skipped releasing in December (it was too close to the
holidays, a lot of people were away) so by date you may have been expecting
alpha 4, but instead it’s alpha 3:
https://www.python.org/downloads/release/python-3130a3/

*This is an early developer preview of Python 3.13*
Major
new features of the 3.13 series, compared to 3.12

Python 3.13 is still in development. This release, 3.13.0a3, is the third
of six 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 (2024-05-07) and, if necessary, may be modified or deleted up
until the release candidate phase (2024-07-30). 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.13 are still being planned and written. Work
continues apace on both the work to remove the Global Interpeter Lock
, and to improve Python performance. The
most notable changes so far:

   - In the interactive interpreter, exception tracebacks are now colorized
   by default
   .
   - Docstrings now have their leading indentation stripped
   ,
   reducing memory use and the size of .pyc files. (Most tools handling
   docstrings already strip leading indentation.)
   - PEP 594 (Removing dead batteries from the standard library)
    scheduled removals of many
   deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr,
   mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau,
   telnetlib, uu, xdrlib, lib2to3.
   - Many other removals
    of deprecated
   classes, functions and methods in various standard library modules.
   - New deprecations
   , most of
   which are scheduled for removal from Python 3.15 or 3.16.
   - C API removals 
   and deprecations .
   (Some removals present in alpha 1 have been reverted in alpha 2, as the
   removals were deemed too disruptive at this time.)

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

The next pre-release of Python 3.13 will be 3.13.0a4, currently scheduled
for 2023-02-13.
More
resources

   - Online Documentation 
   - PEP 719 , 3.13 Release
   Schedule
   - Report bugs at Issues · python/cpython · GitHub
   .
   - Help fund Python and its community
   .

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 snowy Amsterdam,

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


Python 3.12.1 is now available

2023-12-07 Thread Thomas Wouters via Python-list
Python 3.12.1 is now available.

https://www.python.org/downloads/release/python-3121/
This is the first maintenance release of Python 3.12

Python 3.12 is the newest major release of the Python programming language,
and it contains many new features and optimizations. 3.12.1 is the latest
maintenance release, containing more than 400 bugfixes, build improvements
and documentation changes since 3.12.0.
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
   .

We
hope you 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 .

Your release team,
Thomas Wouters
Ned Deily
Steve Dower
Łu

Python 3.13.0 alpha 2 now available.

2023-11-22 Thread Thomas Wouters via Python-list
Well, well, well, it’s time for Python 3.13.0 alpha 2!
https://www.python.org/downloads/release/python-3130a2/

*This is an early developer preview of Python 3.13*
Major
new features of the 3.13 series, compared to 3.12

Python 3.13 is still in development. This release, 3.13.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 (2024-05-07) and, if necessary, may be modified or deleted up
until the release candidate phase (2024-07-30). 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.13 are still being planned and written. The
most notable change so far:

   - PEP 594 (Removing dead batteries from the standard library)
    scheduled removals of many
   deprecated modules: aifc, audioop, chunk, cgi, cgitb, crypt, imghdr,
   mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau,
   telnetlib, uu, xdrlib, lib2to3.
   - Many other removals
    of deprecated
   classes, functions and methods in various standard library modules.
   - New deprecations
   , most of
   which are scheduled for removal from Python 3.15 or 3.16.
   - C API removals 
   and deprecations .
   (Some removals present in alpha 1 have been reverted in alpha 2, as the
   removals were deemed too disruptive at this time.)

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

The next pre-release of Python 3.13 will be 3.13.0a3, currently scheduled
for 2023-12-19.
More
resources

   - Online Documentation 
   - PEP 719 , 3.13 Release
   Schedule
   - Report bugs at https://github.com/python/cpython/issues .
   - Help fund Python and its community
   .

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 chilly Amsterdam,

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

-- 
Thomas Wouters 
-- 
https://mail.python.org/mailman/listinfo/python-list


Python 3.13.0 alpha 1 now available.

2023-10-13 Thread Thomas Wouters via Python-list
It’s not a very exciting release (yet), but it’s time for the first alpha
of Python 3.13 anyway!

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

*This is an early developer preview of Python 3.13*
Major
new features of the 3.13 series, compared to 3.12

Python 3.13 is still in development. This release, 3.13.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 (2024-05-07) and, if necessary, may be modified or deleted up
until the release candidate phase (2024-07-30). 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.13 are still being planned and written. The
most notable change so far are new deprecations
, most of which
are scheduled for removal from Python 3.15 or 3.16

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

The next pre-release of Python 3.13 will be 3.13.0a2, currently scheduled
for 2023-11-21.
More
resources

   - Online Documentation 
   - PEP 719 , 3.13 Release
   Schedule
   - Report bugs at https://github.com/python/cpython/issues.
   - Help fund Python and its community
   .

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 lovely Czechia,

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

-- 
Thomas Wouters 
-- 
https://mail.python.org/mailman/listinfo/python-list


Python 3.12.0 (final) now available.

2023-10-02 Thread Thomas Wouters via Python-list
Finally, it’s final! The final release of Python 3.12.0 (final) is here!

https://www.python.org/downloads/release/python-3120/
This is the stable release of Python 3.12.0

Python 3.12.0 is the newest major release of the Python programming
language, and it contains many new features and optimizations.
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 and its community
   .

And
now for something completely different

They have no need of our help
So do not tell me
These haggard faces could belong to you or me
Should life have dealt a different hand
We need to see them for who they really are
Chancers and scroungers
Layabouts and loungers
With bombs up their sleeves
Cut-throats and thieves
They are not
Welcome here
We should make them
Go back to where they came from
They cannot
Share our food
Share our homes
Share our countries
Instead let us
Build a wall to keep them out
It is not okay to say
These are people just like us
A place should only belong to those who are bor

Python 3.12.0 rc3 (final release candidate I promise!) now available

2023-09-19 Thread Thomas Wouters via Python-list
 I'm pleased to announce the release of Python 3.12 release candidate 3.

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

This is the second release candidate of Python 3.12.0

This release, *3.12.0rc3*, is the absolutely last release preview for
Python 3.12.

There will be *no ABI changes* from this point forward in the 3.12 series.
The intent is for the final release of 3.12.0, scheduled for Monday,
2023-10-02, to be identical to this release candidate. *This really is the
last chance to find critical problems in Python 3.12.*
Call
to action

We strongly encourage maintainers of third-party Python projects to prepare
their projects for 3.12 compatibilities during this phase, and where
necessary publish Python 3.12 wheels on PyPI to be ready for the final
release of 3.12.0. Any binary wheels built against Python 3.12.0rc3 will
work with future versions of Python 3.12. 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.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
improvementcitation
   needed.

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

Python 3.12.0 rc2 (final release candidate) now available.

2023-09-06 Thread Thomas Wouters via Python-list
I'm pleased to announce the release of Python 3.12 release candidate 2.

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

This is the second release candidate of Python 3.12.0

This release, *3.12.0rc2*, is the last release preview for Python 3.12.

There will be *no ABI changes* from this point forward in the 3.12 series.
The intent is for the final release of 3.12.0, scheduled for Monday,
2023-10-02, to be identical to this release candidate. *This is the last
chance to find critical problems in Python 3.12.*
Call
to action

We strongly encourage maintainers of third-party Python projects to prepare
their projects for 3.12 compatibilities during this phase, and where
necessary publish Python 3.12 wheels on PyPI to be ready for the final
release of 3.12.0. Any binary wheels built against Python 3.12.0rc2 will
work with future versions of Python 3.12. 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.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 ), delivering an estimated 5%
   overall performance improvementcitation needed.

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 preparat

[RELEASE] Python 3.12.0 release candidate 1 released

2023-08-06 Thread Thomas Wouters via Python-list
 I'm pleased to announce the release of Python 3.12.0rc1:
https://www.python.org/downloads/release/python-3120rc1/
This is the first release candidate of Python 3.12.0

This release, *3.12.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
Monday, 2023-09-04, while the official release of 3.12.0 is scheduled for
Monday, 2023-10-02.

There will be *no ABI changes* from this point forward in the 3.12 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.12 compatibilities during this phase, and where
necessary publish Python 3.12 wheels on PyPI to be ready for the final
release of 3.12.0. Any binary wheels built against Python 3.12.0rc1 will
work with future versions of Python 3.12. 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.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 ), delivering an estimated 5%
   overall performance improvementcitation needed.

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 representa

[RELEASE] Python 3.12.0 beta 4 released

2023-07-11 Thread Thomas Wouters via Python-list
Not much time left! I’ve released 3.12.0 beta 4. We’re now in the run-up to
rc1, so keep that in mind when you backport to the 3.12 branch.

https://www.python.org/downloads/release/python-3120b4/


*This is a beta preview of Python 3.12*
Python 3.12 is still in development. This release, 3.12.0b4, is the final
of four beta release previews of 3.12.

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.12* 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 (Monday,
2023-07-31). Our goal is to have no ABI changes after this release, and as
few code changes as possible after 3.12.0rc1, the first release candidate.
To achieve that, it will be *extremely important* to get as much exposure
for 3.12 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.12 series, compared to 3.11*
Some of the new major new features and changes in Python 3.12 are:


   - New type annotation syntax for generic classes (PEP 695
   ).
   - More flexible f-string parsing, allowing many things previously
   disallowed (PEP 701 ).
   - Support for the buffer protocol in Python code (PEP 688
   ).
   - Even more improved error messages. More exceptions potentially caused
   by typos now make suggestions to the user.
   - Many large and small performance improvements (like PEP 709
   ).
   - Support for the Linux perf profiler to report Python function names in
   traces.
   - 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.)
   - (Hey, fellow core developer, if a feature you find important is
   missing from this list, let Thomas know .)

For more details on the changes to Python 3.12, see What’s new in Python
3.12 . The next
pre-release of Python 3.12 will be 3.12.0rc1, the *first release candidate*,
currently scheduled for 2023-07-31.


*More resources*
Online Documentation .
PEP 693 , the Python 3.12
Release Schedule.
Report bugs via GitHub Issues .
Help fund Python and its community .


*We hope you 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 the alternating thunderstorms and heat waves in Amsterdam,
Thomas Wouters.

Your release team,
Ned Deily
Steve Dower
Łukasz Langa

-- 
Thomas Wouters 
-- 
https://mail.python.org/mailman/listinfo/python-list


[RELEASE] Python 3.12.0 beta 3 released

2023-06-20 Thread Thomas Wouters via Python-list
We’re getting close! 3.12.0 beta 3 has been released:

https://www.python.org/downloads/release/python-3120b3/


*This is a beta preview of Python 3.12*
Python 3.12 is still in development. This release, 3.12.0b3, is the third
of four beta release previews of 3.12.

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.12* during the beta phase and report issues found to [the Python bug
tracker (https://github.com/python/cpython/issues) 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 (Monday,
2023-07-31). Our goal is to have no ABI changes after beta 4 and as few
code changes as possible after 3.12.0rc1, the first release candidate. To
achieve that, it will be *extremely important* to get as much exposure for
3.12 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.12 series, compared to 3.11*
Some of the new major new features and changes in Python 3.12 are:


   - New type annotation syntax for generic classes (PEP 695
   ).
   - More flexible f-string parsing, allowing many things previously
   disallowed (PEP 701 ).
   - Even more improved error messages. More exceptions potentially caused
   by typos now make suggestions to the user.
   - Many large and small performance improvements (like PEP 709
   ).
   - Support for the Linux perf profiler to report Python function names in
   traces.
   - 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.)
   - (Hey, fellow core developer, if a feature you find important is
   missing from this list, let Thomas know .)

For more details on the changes to Python 3.12, see What's new in Python
3.12 . The next pre-release
of Python 3.12 will be 3.12.0b4, the last beta release, currently scheduled
for 2023-07-10.


*More resources*Online Documentation .
PEP 693 , the Python 3.12
Release Schedule.
Report bugs via GitHub Issues .
Help fund Python and its community .


*We hope you 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 a suddenly very stormy Amsterdam,
Thomas Wouters

Your release team,
Ned Deily
Steve Dower
Łukasz Langa

-- 
Thomas Wouters 
-- 
https://mail.python.org/mailman/listinfo/python-list