Skip to content

Commit cde4cf9

Browse files
miss-islingtonCAM-Gerlach
authored andcommitted
gh-95913: Edit, sort & expand 3.11 WhatsNew Porting section (GH-98585)
(cherry picked from commit 43bef54) Co-authored-by: C.A.M. Gerlach <[email protected]>
1 parent 7cdea80 commit cde4cf9

File tree

1 file changed

+31
-30
lines changed

1 file changed

+31
-30
lines changed

Doc/whatsnew/3.11.rst

+31-30
Original file line numberDiff line numberDiff line change
@@ -1842,52 +1842,53 @@ in the Python API that may require changes to your Python code.
18421842
Porting notes for the C API are
18431843
:ref:`listed separately <whatsnew311-c-api-porting>`.
18441844

1845-
* Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor`
1846-
executors to :meth:`loop.set_default_executor` following a deprecation in
1847-
Python 3.8.
1848-
(Contributed by Illia Volochii in :issue:`43234`.)
1849-
18501845
* :func:`open`, :func:`io.open`, :func:`codecs.open` and
18511846
:class:`fileinput.FileInput` no longer accept ``'U'`` ("universal newline")
1852-
in the file mode. This flag was deprecated since Python 3.3. In Python 3, the
1853-
"universal newline" is used by default when a file is open in text mode. The
1854-
:ref:`newline parameter <open-newline-parameter>` of :func:`open` controls
1855-
how universal newlines works.
1847+
in the file mode. In Python 3, "universal newline" mode is used by default
1848+
whenever a file is opened in text mode,
1849+
and the ``'U'`` flag has been deprecated since Python 3.3.
1850+
The :ref:`newline parameter <open-newline-parameter>`
1851+
to these functions controls how universal newlines work.
18561852
(Contributed by Victor Stinner in :issue:`37330`.)
18571853

1858-
* The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with
1859-
the ``'utf-8'`` encoding.
1860-
(Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) in :issue:`41137`.)
1854+
* :class:`ast.AST` node positions are now validated when provided to
1855+
:func:`compile` and other related functions. If invalid positions are detected,
1856+
a :exc:`ValueError` will be raised. (Contributed by Pablo Galindo in :gh:`93351`)
1857+
1858+
* Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor`
1859+
executors to :meth:`asyncio.loop.set_default_executor`
1860+
following a deprecation in Python 3.8.
1861+
(Contributed by Illia Volochii in :issue:`43234`.)
18611862

18621863
* :mod:`calendar`: The :class:`calendar.LocaleTextCalendar` and
18631864
:class:`calendar.LocaleHTMLCalendar` classes now use
18641865
:func:`locale.getlocale`, instead of using :func:`locale.getdefaultlocale`,
18651866
if no locale is specified.
18661867
(Contributed by Victor Stinner in :issue:`46659`.)
18671868

1868-
* Global inline flags (e.g. ``(?i)``) can now only be used at the start of
1869-
the regular expressions. Using them not at the start of expression was
1870-
deprecated since Python 3.6.
1871-
(Contributed by Serhiy Storchaka in :issue:`47066`.)
1872-
1873-
* :mod:`re` module: Fix a few long-standing bugs where, in rare cases,
1874-
capturing group could get wrong result. So the result may be different than
1875-
before.
1876-
(Contributed by Ma Lin in :issue:`35859`.)
1869+
* The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with
1870+
the ``'UTF-8'`` encoding.
1871+
(Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) in :issue:`41137`.)
18771872

1878-
* The *population* parameter of :func:`random.sample` must be a sequence.
1879-
Automatic conversion of sets to lists is no longer supported. If the sample size
1873+
* The *population* parameter of :func:`random.sample` must be a sequence,
1874+
and automatic conversion of :class:`set`\s to :class:`list`\s
1875+
is no longer supported. Also, if the sample size
18801876
is larger than the population size, a :exc:`ValueError` is raised.
18811877
(Contributed by Raymond Hettinger in :issue:`40465`.)
18821878

1883-
* :class:`ast.AST` node positions are now validated when provided to
1884-
:func:`compile` and other related functions. If invalid positions are detected,
1885-
a :exc:`ValueError` will be raised. (Contributed by Pablo Galindo in :gh:`93351`)
1879+
* The *random* optional parameter of :func:`random.shuffle` was removed.
1880+
It was previously an arbitrary random function to use for the shuffle;
1881+
now, :func:`random.random` (its previous default) will always be used.
18861882

1887-
* :c:member:`~PyTypeObject.tp_dictoffset` should be treated as write-only.
1888-
It can be set to describe C extension clases to the VM, but should be regarded
1889-
as meaningless when read. To get the pointer to the object's dictionary call
1890-
:c:func:`PyObject_GenericGetDict` instead.
1883+
* In :mod:`re` :ref:`re-syntax`, global inline flags (e.g. ``(?i)``)
1884+
can now only be used at the start of regular expressions.
1885+
Using them elsewhere has been deprecated since Python 3.6.
1886+
(Contributed by Serhiy Storchaka in :issue:`47066`.)
1887+
1888+
* In the :mod:`re` module, several long-standing bugs where fixed that,
1889+
in rare cases, could cause capture groups to get the wrong result.
1890+
Therefore, this could change the captured output in these cases.
1891+
(Contributed by Ma Lin in :issue:`35859`.)
18911892

18921893

18931894
.. _whatsnew311-build-changes:

0 commit comments

Comments
 (0)