mirror of https://github.com/python/cpython
gh-95913: Edit, sort & expand 3.11 WhatsNew Porting section (#98585)
This commit is contained in:
parent
8dbec4dbe5
commit
43bef54a32
|
@ -1842,22 +1842,23 @@ in the Python API that may require changes to your Python code.
|
|||
Porting notes for the C API are
|
||||
: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
|
||||
: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
|
||||
"universal newline" is used by default when a file is open in text mode. The
|
||||
:ref:`newline parameter <open-newline-parameter>` of :func:`open` controls
|
||||
how universal newlines works.
|
||||
in the file mode. In Python 3, "universal newline" mode is used by default
|
||||
whenever a file is opened in text mode,
|
||||
and the ``'U'`` flag has been deprecated since Python 3.3.
|
||||
The :ref:`newline parameter <open-newline-parameter>`
|
||||
to these functions controls how universal newlines work.
|
||||
(Contributed by Victor Stinner in :issue:`37330`.)
|
||||
|
||||
* The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with
|
||||
the ``'utf-8'`` encoding.
|
||||
(Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) in :issue:`41137`.)
|
||||
* :class:`ast.AST` node positions are now validated when provided to
|
||||
:func:`compile` and other related functions. If invalid positions are detected,
|
||||
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
|
||||
:class:`calendar.LocaleHTMLCalendar` classes now use
|
||||
|
@ -1865,29 +1866,29 @@ Porting notes for the C API are
|
|||
if no locale is specified.
|
||||
(Contributed by Victor Stinner in :issue:`46659`.)
|
||||
|
||||
* Global inline flags (e.g. ``(?i)``) can now only be used at the start of
|
||||
the regular expressions. Using them not at the start of expression was
|
||||
deprecated since Python 3.6.
|
||||
(Contributed by Serhiy Storchaka in :issue:`47066`.)
|
||||
* The :mod:`pdb` module now reads the :file:`.pdbrc` configuration file with
|
||||
the ``'UTF-8'`` encoding.
|
||||
(Contributed by Srinivas Reddy Thatiparthy (శ్రీనివాస్ రెడ్డి తాటిపర్తి) in :issue:`41137`.)
|
||||
|
||||
* :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.
|
||||
Automatic conversion of sets to lists is no longer supported. If the sample size
|
||||
* The *population* parameter of :func:`random.sample` must be a sequence,
|
||||
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.
|
||||
(Contributed by Raymond Hettinger in :issue:`40465`.)
|
||||
|
||||
* :class:`ast.AST` node positions are now validated when provided to
|
||||
:func:`compile` and other related functions. If invalid positions are detected,
|
||||
a :exc:`ValueError` will be raised. (Contributed by Pablo Galindo in :gh:`93351`)
|
||||
* The *random* optional parameter of :func:`random.shuffle` was removed.
|
||||
It was previously an arbitrary random function to use for the shuffle;
|
||||
now, :func:`random.random` (its previous default) will always be used.
|
||||
|
||||
* :c:member:`~PyTypeObject.tp_dictoffset` should be treated as write-only.
|
||||
It can be set to describe C extension clases to the VM, but should be regarded
|
||||
as meaningless when read. To get the pointer to the object's dictionary call
|
||||
:c:func:`PyObject_GenericGetDict` instead.
|
||||
* In :mod:`re` :ref:`re-syntax`, global inline flags (e.g. ``(?i)``)
|
||||
can now only be used at the start of regular expressions.
|
||||
Using them elsewhere has been deprecated since Python 3.6.
|
||||
(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:
|
||||
|
|
Loading…
Reference in New Issue