8000 [3.13] GH-109975: Copyedit 3.13 What's New: Trivia (GH-124348) (#124376) · python/cpython@161e155 · GitHub
[go: up one dir, main page]

Skip to content

Commit 161e155

Browse files
[3.13] GH-109975: Copyedit 3.13 What's New: Trivia (GH-124348) (#124376)
GH-109975: Copyedit 3.13 What's New: Trivia (GH-124348) (cherry picked from commit 9e55a02) Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
1 parent 779a35b commit 161e155

File tree

1 file changed

+17
-23
lines changed

1 file changed

+17
-23
lines changed

Doc/whatsnew/3.13.rst

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
What's New In Python 3.13
44
****************************
55

6-
:Editor: Thomas Wouters
6+
:Editors: Adam Turner and Thomas Wouters
77

88
.. Rules for maintenance:
99
@@ -53,12 +53,6 @@ For full details, see the :ref:`changelog <changelog>`.
5353

5454
:pep:`719 10000 ` -- Python 3.13 Release Schedule
5555

56-
.. note::
57-
58-
Prerelease users should be aware that this document is currently in draft
59-
form. It will be updated substantially as Python 3.13 moves towards release,
60-
so it's worth checking back even after reading earlier versions.
61-
6256

6357
Summary -- Release Highlights
6458
=============================
@@ -142,7 +136,7 @@ Significant improvements in the standard library:
142136
* The :mod:`copy` module now has a :func:`copy.replace` function,
143137
with support for many builtin types and any class defining
144138
the :func:`~object.__replace__` method.
145-
* The :mod:`dbm.sqlite3` module is now the default :mod:`dbm` backend.
139+
* The new :mod:`dbm.sqlite3` module is now the default :mod:`dbm` backend.
146140
* The :mod:`os` module has a :ref:`suite of new functions <os-timerfd>`
147141
for working with Linux's timer notification file descriptors.
148142
* The :mod:`random` module now has a :ref:`command-line interface <random-cli>`.
@@ -167,7 +161,7 @@ New typing features:
167161
* :pep:`696`: Type parameters (:data:`typing.TypeVar`, :data:`typing.ParamSpec`,
168162
and :data:`typing.TypeVarTuple`) now support defaults.
169163
* :pep:`702`: The new :func:`warnings.deprecated` decorator adds support
170-
for marking deprecations in the type system.
164+
for marking deprecations in the type system and at runtime.
171165
* :pep:`705`: :data:`typing.ReadOnly` can be used to mark an item of a
172166
:class:`typing.TypedDict` as read-only for type checkers.
173167
* :pep:`742`: :data:`typing.TypeIs` provides more intuitive
@@ -177,23 +171,23 @@ Platform support:
177171

178172
* :pep:`730`: Apple's iOS is now an :ref:`officially supported platform
179173
<whatsnew313-platform-support>`, at :pep:`tier 3 <11#tier-3>`.
180-
Official Android support (:pep:`738`) is in the works as well.
174+
Official Android support (:pep:`738`) is also in the works.
181175
* ``wasm32-wasi`` is now supported as a :pep:`tier 2 <11#tier-2>` platform.
182176
* ``wasm32-emscripten`` is no longer an officially supported platform.
183177

184178
Important removals:
185179

186180
* :ref:`PEP 594 <whatsnew313-pep594>`: The remaining 19 "dead batteries"
187-
have been removed from the standard library:
181+
(legacy stdlib modules) have been removed from the standard library:
188182
:mod:`!aifc`, :mod:`!audioop`, :mod:`!cgi`, :mod:`!cgitb`, :mod:`!chunk`,
189183
:mod:`!crypt`, :mod:`!imghdr`, :mod:`!mailcap`, :mod:`!msilib`, :mod:`!nis`,
190184
:mod:`!nntplib`, :mod:`!ossaudiodev`, :mod:`!pipes`, :mod:`!sndhdr`,
191185
:mod:`!spwd`, :mod:`!sunau`, :mod:`!telnetlib`, :mod:`!uu` and :mod:`!xdrlib`.
192186
* Remove the :program:`2to3` tool and :mod:`!lib2to3` module
193187
(deprecated in Python 3.11).
194188
* Remove the :mod:`!tkinter.tix` module (deprecated in Python 3.6).
195-
* Remove :func:`!locale.resetlocale`.
196-
* Remove :mod:`!typing.io` and :mod:`!typing.re`.
189+
* Remove the :func:`!locale.resetlocale` function.
190+
* Remove the :mod:`!typing.io` and :mod:`!typing.re` namespaces.
197191
* Remove chained :class:`classmethod` descriptors.
198192

199193
Release schedule changes:
@@ -338,7 +332,7 @@ designed with threading in mind will run faster on multi-core hardware.
338332
expect some bugs and a substantial single-threaded performance hit.
339333
Free-threaded builds of CPython support optionally running with the GIL
340334
enabled at runtime using the environment variable :envvar:`PYTHON_GIL` or
341-
the command-line option :option:`-X gil`.
335+
the command-line option :option:`-X gil=1`.
342336

343337
To check if the current interpreter supports free-threading, :option:`python -VV <-V>`
344338
and :attr:`sys.version` contain "experimental free-threading build".
@@ -429,14 +423,14 @@ Defined mutation semantics for :py:func:`locals`
429423
Historically, the expected result of mutating the return value of
430424
:func:`locals` has been left to individual Python implementations to define.
431425
Starting from Python 3.13, :pep:`667` standardises
432-
the historical behaviour of CPython for most code execution scopes,
426+
the historical behavior of CPython for most code execution scopes,
433427
but changes :term:`optimized scopes <optimized scope>`
434428
(functions, generators, coroutines, comprehensions, and generator expressions)
435429
to explicitly return independent snapshots of the currently assigned local
436430
variables, including locally referenced nonlocal variables captured in closures.
437431

438432
This change to the semantics of :func:`locals` in optimized scopes also
439-
affects the default behaviour of code execution functions that implicitly
433+
affects the default behavior of code execution functions that implicitly
440434
target :func:`!locals` if no explicit namespace is provided
441435
(such as :func:`exec` and :func:`eval`).
442436
In previous versions, whether or not changes could be accessed by calling
@@ -600,6 +594,9 @@ Other Language Changes
600594
the value of the *optimize* argument.
601595
(Contributed by Irit Katriel in :gh:`108113`).
602596

597+
* Add a :attr:`~property.__name__` attribute on :class:`property` objects.
598+
(Contributed by Eugene Toder in :gh:`101860`.)
599+
603600
* Add :exc:`PythonFinalizationError`, a new exception derived from
604601
:exc:`RuntimeError` and used to signal when operations are blocked
605602
during :term:`finalization <interpreter shutdown>`.
@@ -626,9 +623,6 @@ Other Language Changes
626623
the :mod:`bz2`, :mod:`lzma`, :mod:`tarfile`, and :mod:`zipfile` modules.
627624
(Contributed by Serhiy Storchaka in :gh:`115961`.)
628625

629-
* Add a :attr:`~property.__name__` attribute on :class:`property` objects.
630-
(Contributed by Eugene Toder in :gh:`101860`.)
631-
632626

633627
New Modules
634628
===========
@@ -668,7 +662,7 @@ ast
668662

669663
* The constructors of node types in the :mod:`ast` module are now
670664
stricter in the arguments they accept,
671-
with more intuitive behaviour when arguments are omitted.
665+
with more intuitive behavior when arguments are omitted.
672666

673667
If an optional field on an AST node is not included as an argument when
674668
constructing an instance, the field will now be set to ``None``. Similarly,
@@ -887,7 +881,7 @@ email
887881
return ``('', '')`` pairs in more situations where invalid email addresses
888882
are encountered instead of potentially inaccurate values.
889883
The two functions have a new optional *strict* parameter (default ``True``).
890-
To get the old behaviour (accepting malformed input), use ``strict=False``.
884+
To get the old behavior (accepting malformed input), use ``strict=False``.
891885
``getattr(email.utils, 'supports_strict_parsing', False)`` can be used
892886
to check if the *strict* parameter is available.
893887
(Contributed by Thomas Dwyer and Victor Stinner for :gh:`102988` to improve
@@ -2053,7 +2047,7 @@ New Features
20532047
(Contributed by Victor Stinner and Petr Viktorin in :gh:`110850`.)
20542048

20552049
* Add the :c:func:`PyDict_ContainsString` function
2056-
with the same behaviour as :c:func:`PyDict_Contains`,
2050+
with the same behavior as :c:func:`PyDict_Contains`,
20572051
but *key* is specified as a :c:expr:`const char*` UTF-8 encoded bytes string,
20582052
rather than a :c:expr:`PyObject*`.
20592053
(Contributed by Victor Stinner in :gh:`108314`.)
@@ -2573,7 +2567,7 @@ Changes in the Python API
25732567

25742568
* Calling :func:`locals` in an :term:`optimized scope` now produces an
25752569
independent snapshot on each call, and hence no longer implicitly updates
2576-
previously returned references. Obtaining the legacy CPython behaviour now
2570+
previously returned references. Obtaining the legacy CPython behavior now
25772571
requires explicit calls to update the initially returned dictionary with the
25782572
results of subsequent calls to :func:`!locals`. Code execution functions that
25792573
implicitly target :func:`!locals` (such as ``exec`` and ``eval``) must be

0 commit comments

Comments
 (0)
0