@@ -1842,52 +1842,53 @@ in the Python API that may require changes to your Python code.
18421842Porting 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