Skip to content
Snippets Groups Projects
Unverified Commit cde4cf9d authored by Miss Islington (bot)'s avatar Miss Islington (bot) Committed by Pablo Galindo
Browse files

gh-95913: Edit, sort & expand 3.11 WhatsNew Porting section (GH-98585)


(cherry picked from commit 43bef54a)

Co-authored-by: default avatarC.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
parent 7cdea80d
Branches
Tags
No related merge requests found
...@@ -1842,22 +1842,23 @@ in the Python API that may require changes to your Python code. ...@@ -1842,22 +1842,23 @@ in the Python API that may require changes to your Python code.
Porting notes for the C API are Porting notes for the C API are
:ref:`listed separately <whatsnew311-c-api-porting>`. :ref:`listed separately <whatsnew311-c-api-porting>`.
* Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor`
executors to :meth:`loop.set_default_executor` following a deprecation in
Python 3.8.
(Contributed by Illia Volochii in :issue:`43234`.)
* :func:`open`, :func:`io.open`, :func:`codecs.open` and * :func:`open`, :func:`io.open`, :func:`codecs.open` and
:class:`fileinput.FileInput` no longer accept ``'U'`` ("universal newline") :class:`fileinput.FileInput` no longer accept ``'U'`` ("universal newline")
in the file mode. This flag was deprecated since Python 3.3. In Python 3, the in the file mode. In Python 3, "universal newline" mode is used by default
"universal newline" is used by default when a file is open in text mode. The whenever a file is opened in text mode,
:ref:`newline parameter <open-newline-parameter>` of :func:`open` controls and the ``'U'`` flag has been deprecated since Python 3.3.
how universal newlines works. The :ref:`newline parameter <open-newline-parameter>`
to these functions controls how universal newlines work.
(Contributed by Victor Stinner in :issue:`37330`.) (Contributed by Victor Stinner in :issue:`37330`.)
* The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with * :class:`ast.AST` node positions are now validated when provided to
the ``'utf-8'`` encoding. :func:`compile` and other related functions. If invalid positions are detected,
(Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) in :issue:`41137`.) a :exc:`ValueError` will be raised. (Contributed by Pablo Galindo in :gh:`93351`)
* Prohibited passing non-:class:`concurrent.futures.ThreadPoolExecutor`
executors to :meth:`asyncio.loop.set_default_executor`
following a deprecation in Python 3.8.
(Contributed by Illia Volochii in :issue:`43234`.)
* :mod:`calendar`: The :class:`calendar.LocaleTextCalendar` and * :mod:`calendar`: The :class:`calendar.LocaleTextCalendar` and
:class:`calendar.LocaleHTMLCalendar` classes now use :class:`calendar.LocaleHTMLCalendar` classes now use
...@@ -1865,29 +1866,29 @@ Porting notes for the C API are ...@@ -1865,29 +1866,29 @@ Porting notes for the C API are
if no locale is specified. if no locale is specified.
(Contributed by Victor Stinner in :issue:`46659`.) (Contributed by Victor Stinner in :issue:`46659`.)
* Global inline flags (e.g. ``(?i)``) can now only be used at the start of * The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with
the regular expressions. Using them not at the start of expression was the ``'UTF-8'`` encoding.
deprecated since Python 3.6. (Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) in :issue:`41137`.)
(Contributed by Serhiy Storchaka in :issue:`47066`.)
* :mod:`re` module: Fix a few long-standing bugs where, in rare cases,
capturing group could get wrong result. So the result may be different than
before.
(Contributed by Ma Lin in :issue:`35859`.)
* The *population* parameter of :func:`random.sample` must be a sequence. * The *population* parameter of :func:`random.sample` must be a sequence,
Automatic conversion of sets to lists is no longer supported. If the sample size and automatic conversion of :class:`set`\s to :class:`list`\s
is no longer supported. Also, if the sample size
is larger than the population size, a :exc:`ValueError` is raised. is larger than the population size, a :exc:`ValueError` is raised.
(Contributed by Raymond Hettinger in :issue:`40465`.) (Contributed by Raymond Hettinger in :issue:`40465`.)
* :class:`ast.AST` node positions are now validated when provided to * The *random* optional parameter of :func:`random.shuffle` was removed.
:func:`compile` and other related functions. If invalid positions are detected, It was previously an arbitrary random function to use for the shuffle;
a :exc:`ValueError` will be raised. (Contributed by Pablo Galindo in :gh:`93351`) now, :func:`random.random` (its previous default) will always be used.
* :c:member:`~PyTypeObject.tp_dictoffset` should be treated as write-only. * In :mod:`re` :ref:`re-syntax`, global inline flags (e.g. ``(?i)``)
It can be set to describe C extension clases to the VM, but should be regarded can now only be used at the start of regular expressions.
as meaningless when read. To get the pointer to the object's dictionary call Using them elsewhere has been deprecated since Python 3.6.
:c:func:`PyObject_GenericGetDict` instead. (Contributed by Serhiy Storchaka in :issue:`47066`.)
* In the :mod:`re` module, several long-standing bugs where fixed that,
in rare cases, could cause capture groups to get the wrong result.
Therefore, this could change the captured output in these cases.
(Contributed by Ma Lin in :issue:`35859`.)
.. _whatsnew311-build-changes: .. _whatsnew311-build-changes:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment