2020-06-05 07:32:47 +00:00
|
|
|
|
# Copyright (C) 2001-2018, Python Software Foundation
|
|
|
|
|
# For licence information, see README file.
|
|
|
|
|
#
|
|
|
|
|
msgid ""
|
|
|
|
|
msgstr ""
|
|
|
|
|
"Project-Id-Version: Python 3\n"
|
|
|
|
|
"Report-Msgid-Bugs-To: \n"
|
2020-07-20 08:56:42 +00:00
|
|
|
|
"POT-Creation-Date: 2020-07-20 10:51+0200\n"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
|
|
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
|
|
|
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
|
2020-07-20 08:56:42 +00:00
|
|
|
|
"Language: \n"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
"MIME-Version: 1.0\n"
|
|
|
|
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
|
|
|
"Content-Transfer-Encoding: 8bit\n"
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:3
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "What's New In Python 3.9"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:0
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Release"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "Version"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:5
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "|release|"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:0
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Date"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:6
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "|today|"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "|today|"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:48
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "This article explains the new features in Python 3.9, compared to 3.8."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:50
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "For full details, see the :ref:`changelog <changelog>`."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:54
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Prerelease users should be aware that this document is currently in draft "
|
|
|
|
|
"form. It will be updated substantially as Python 3.9 moves towards release, "
|
|
|
|
|
"so it's worth checking back even after reading earlier versions."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:60
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Summary -- Release highlights"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:70
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "You should check for DeprecationWarning in your code"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:72
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"When Python 2.7 was still supported, many functions were kept for backward "
|
|
|
|
|
"compatibility with Python 2.7. With the end of Python 2.7 support, these "
|
|
|
|
|
"backward compatibility layers have been removed, or will be removed soon. "
|
|
|
|
|
"Most of them emitted a :exc:`DeprecationWarning` warning for several years. "
|
|
|
|
|
"For example, using ``collections.Mapping`` instead of ``collections.abc."
|
|
|
|
|
"Mapping`` emits a :exc:`DeprecationWarning` since Python 3.3, released in "
|
|
|
|
|
"2012."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:79
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Test your application with the :option:`-W` ``default`` command-line option "
|
|
|
|
|
"to see :exc:`DeprecationWarning` and :exc:`PendingDeprecationWarning`, or "
|
|
|
|
|
"even with :option:`-W` ``error`` to treat them as errors. :ref:`Warnings "
|
|
|
|
|
"Filter <warning-filter>` can be used to ignore warnings from third-party "
|
|
|
|
|
"code."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:84
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"It has been decided to keep a few backward compatibility layers for one last "
|
|
|
|
|
"release, to give more time to Python projects maintainers to organize the "
|
|
|
|
|
"removal of the Python 2 support and add support for Python 3.9."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:88
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Aliases to :ref:`Abstract Base Classes <collections-abstract-base-classes>` "
|
|
|
|
|
"in the :mod:`collections` module, like ``collections.Mapping`` alias to :"
|
|
|
|
|
"class:`collections.abc.Mapping`, are kept for one last release for backward "
|
|
|
|
|
"compatibility. They will be removed from Python 3.10."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:93
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"More generally, try to run your tests in the :ref:`Python Development Mode "
|
|
|
|
|
"<devmode>` which helps to prepare your code to make it compatible with the "
|
|
|
|
|
"next Python version."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:99 whatsnew/3.9.rst:1031
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "New Features"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "Nouvelles fonctionnalités"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:102
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Dictionary Merge & Update Operators"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:104
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Merge (``|``) and update (``|=``) operators have been added to the built-in :"
|
|
|
|
|
"class:`dict` class. See :pep:`584` for a full description. (Contributed by "
|
|
|
|
|
"Brandt Bucher in :issue:`36144`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:109
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "PEP 616: New removeprefix() and removesuffix() string methods"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:111
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":meth:`str.removeprefix(prefix)<str.removeprefix>` and :meth:`str."
|
|
|
|
|
"removesuffix(suffix)<str.removesuffix>` have been added to easily remove an "
|
|
|
|
|
"unneeded prefix or a suffix from a string. Corresponding ``bytes``, "
|
|
|
|
|
"``bytearray``, and ``collections.UserString`` methods have also been added. "
|
|
|
|
|
"See :pep:`616` for a full description. (Contributed by Dennis Sweeney in :"
|
|
|
|
|
"issue:`39939`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:119
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "PEP 585: Builtin Generic Types"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:121
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"In type annotations you can now use built-in collection types such as "
|
|
|
|
|
"``list`` and ``dict`` as generic types instead of importing the "
|
|
|
|
|
"corresponding capitalized types (e.g. ``List`` or ``Dict``) from "
|
|
|
|
|
"``typing``. Some other types in the standard library are also now generic, "
|
|
|
|
|
"for example ``queue.Queue``."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:127 whatsnew/3.9.rst:963
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Example:"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "Exemple :"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:135
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"See :pep:`585` for more details. (Contributed by Guido van Rossum, Ethan "
|
|
|
|
|
"Smith, and Batuhan Taşkaya in :issue:`39481`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:139
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "PEP 617: New Parser"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:141
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Python 3.9 uses a new parser, based on `PEG <https://en.wikipedia.org/wiki/"
|
|
|
|
|
"Parsing_expression_grammar>`_ instead of `LL(1) <https://en.wikipedia.org/"
|
|
|
|
|
"wiki/LL_parser>`_. The new parser's performance is roughly comparable to "
|
|
|
|
|
"that of the old parser, but the PEG formalism is more flexible than LL(1) "
|
|
|
|
|
"when it comes to designing new language features. We'll start using this "
|
|
|
|
|
"flexibility in Python 3.10 and later."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:149
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :mod:`ast` module uses the new parser and produces the same AST as the "
|
|
|
|
|
"old parser."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:152
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"In Python 3.10, the old parser will be deleted and so will all functionality "
|
|
|
|
|
"that depends on it (primarily the :mod:`parser` module, which has long been "
|
|
|
|
|
"deprecated). In Python 3.9 *only*, you can switch back to the LL(1) parser "
|
|
|
|
|
"using a command line switch (``-X oldparser``) or an environment variable "
|
|
|
|
|
"(``PYTHONOLDPARSER=1``)."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:158
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"See :pep:`617` for more details. (Contributed by Guido van Rossum, Pablo "
|
2020-07-20 08:56:42 +00:00
|
|
|
|
"Galindo and Lysandros Nikolaou in :issue:`40334`.)"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:163
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Other Language Changes"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:165
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":func:`__import__` now raises :exc:`ImportError` instead of :exc:"
|
|
|
|
|
"`ValueError`, which used to occur when a relative import went past its top-"
|
|
|
|
|
"level package. (Contributed by Ngalim Siregar in :issue:`37444`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:171
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Python now gets the absolute path of the script filename specified on the "
|
|
|
|
|
"command line (ex: ``python3 script.py``): the ``__file__`` attribute of the :"
|
|
|
|
|
"mod:`__main__` module became an absolute path, rather than a relative path. "
|
|
|
|
|
"These paths now remain valid after the current directory is changed by :func:"
|
|
|
|
|
"`os.chdir`. As a side effect, the traceback also displays the absolute path "
|
|
|
|
|
"for :mod:`__main__` module frames in this case. (Contributed by Victor "
|
|
|
|
|
"Stinner in :issue:`20443`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:179
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"In the :ref:`Python Development Mode <devmode>` and in debug build, the "
|
|
|
|
|
"*encoding* and *errors* arguments are now checked for string encoding and "
|
|
|
|
|
"decoding operations. Examples: :func:`open`, :meth:`str.encode` and :meth:"
|
|
|
|
|
"`bytes.decode`."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:184
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"By default, for best performance, the *errors* argument is only checked at "
|
|
|
|
|
"the first encoding/decoding error and the *encoding* argument is sometimes "
|
|
|
|
|
"ignored for empty strings. (Contributed by Victor Stinner in :issue:`37388`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:189
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``\"\".replace(\"\", s, n)`` now returns ``s`` instead of an empty string "
|
|
|
|
|
"for all non-zero ``n``. It is now consistent with ``\"\".replace(\"\", "
|
|
|
|
|
"s)``. There are similar changes for :class:`bytes` and :class:`bytearray` "
|
|
|
|
|
"objects. (Contributed by Serhiy Storchaka in :issue:`28029`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:194
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Any valid expression can now be used as a :term:`decorator`. Previously, "
|
|
|
|
|
"the grammar was much more restrictive. See :pep:`614` for details. "
|
|
|
|
|
"(Contributed by Brandt Bucher in :issue:`39702`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:198
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Improved help for the :mod:`typing` module. Docstrings are now shown for all "
|
|
|
|
|
"special forms and special generic aliases (like ``Union`` and ``List``). "
|
|
|
|
|
"Using :func:`help` with generic alias like ``List[int]`` will show the help "
|
|
|
|
|
"for the correspondent concrete type (``list`` in this case). (Contributed by "
|
|
|
|
|
"Serhiy Storchaka in :issue:`40257`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:206
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "New Modules"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:209
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "zoneinfo"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:211
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :mod:`zoneinfo` module brings support for the IANA time zone database to "
|
|
|
|
|
"the standard library. It adds :class:`zoneinfo.ZoneInfo`, a concrete :class:"
|
|
|
|
|
"`datetime.tzinfo` implementation backed by the system's time zone data."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:215
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Example::"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "Exemple ::"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:235
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"As a fall-back source of data for platforms that don't ship the IANA "
|
|
|
|
|
"database, the |tzdata|_ module was released as a first-party package -- "
|
|
|
|
|
"distributed via PyPI and maintained by the CPython core team."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:244
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":pep:`615` -- Support for the IANA Time Zone Database in the Standard Library"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:245
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "PEP written and implemented by Paul Ganssle"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:249
|
2020-07-20 08:56:42 +00:00
|
|
|
|
msgid "graphlib"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: whatsnew/3.9.rst:251
|
|
|
|
|
msgid ""
|
|
|
|
|
"Add the :mod:`graphlib` that contains the :class:`graphlib."
|
|
|
|
|
"TopologicalSorter` class to offer functionality to perform topological "
|
|
|
|
|
"sorting of graphs. (Contributed by Pablo Galindo, Tim Peters and Larry "
|
|
|
|
|
"Hastings in :issue:`17005`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: whatsnew/3.9.rst:257
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Improved Modules"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:260
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "ast"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "ast"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:262
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added the *indent* option to :func:`~ast.dump` which allows it to produce a "
|
|
|
|
|
"multiline indented output. (Contributed by Serhiy Storchaka in :issue:"
|
|
|
|
|
"`37995`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:266
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added :func:`ast.unparse` as a function in the :mod:`ast` module that can be "
|
|
|
|
|
"used to unparse an :class:`ast.AST` object and produce a string with code "
|
|
|
|
|
"that would produce an equivalent :class:`ast.AST` object when parsed. "
|
|
|
|
|
"(Contributed by Pablo Galindo and Batuhan Taskaya in :issue:`38870`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:271
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added docstrings to AST nodes that contains the ASDL signature used to "
|
|
|
|
|
"construct that node. (Contributed by Batuhan Taskaya in :issue:`39638`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:275
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "asyncio"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "asyncio"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:277
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Due to significant security concerns, the *reuse_address* parameter of :meth:"
|
|
|
|
|
"`asyncio.loop.create_datagram_endpoint` is no longer supported. This is "
|
|
|
|
|
"because of the behavior of the socket option ``SO_REUSEADDR`` in UDP. For "
|
|
|
|
|
"more details, see the documentation for ``loop.create_datagram_endpoint()``. "
|
|
|
|
|
"(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:"
|
|
|
|
|
"`37228`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:284
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added a new :term:`coroutine` :meth:`~asyncio.loop."
|
|
|
|
|
"shutdown_default_executor` that schedules a shutdown for the default "
|
|
|
|
|
"executor that waits on the :class:`~concurrent.futures.ThreadPoolExecutor` "
|
|
|
|
|
"to finish closing. Also, :func:`asyncio.run` has been updated to use the "
|
|
|
|
|
"new :term:`coroutine`. (Contributed by Kyle Stanley in :issue:`34037`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:290
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added :class:`asyncio.PidfdChildWatcher`, a Linux-specific child watcher "
|
|
|
|
|
"implementation that polls process file descriptors. (:issue:`38692`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:293
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added a new :term:`coroutine` :func:`asyncio.to_thread`. It is mainly used "
|
|
|
|
|
"for running IO-bound functions in a separate thread to avoid blocking the "
|
|
|
|
|
"event loop, and essentially works as a high-level version of :meth:`~asyncio."
|
|
|
|
|
"loop.run_in_executor` that can directly take keyword arguments. (Contributed "
|
|
|
|
|
"by Kyle Stanley and Yury Selivanov in :issue:`32309`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:300
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "compileall"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "compileall"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:302
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added new possibility to use hardlinks for duplicated ``.pyc`` files: "
|
|
|
|
|
"*hardlink_dupes* parameter and --hardlink-dupes command line option. "
|
|
|
|
|
"(Contributed by Lumír 'Frenzy' Balhar in :issue:`40495`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:305
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added new options for path manipulation in resulting ``.pyc`` files: "
|
|
|
|
|
"*stripdir*, *prependdir*, *limit_sl_dest* parameters and -s, -p, -e command "
|
|
|
|
|
"line options. Added the possibility to specify the option for an "
|
|
|
|
|
"optimization level multiple times. (Contributed by Lumír 'Frenzy' Balhar in :"
|
|
|
|
|
"issue:`38112`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:310
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "concurrent.futures"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "concurrent.futures"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:312
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added a new *cancel_futures* parameter to :meth:`concurrent.futures.Executor."
|
|
|
|
|
"shutdown` that cancels all pending futures which have not started running, "
|
|
|
|
|
"instead of waiting for them to complete before shutting down the executor. "
|
|
|
|
|
"(Contributed by Kyle Stanley in :issue:`39349`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:318
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Removed daemon threads from :class:`~concurrent.futures.ThreadPoolExecutor` "
|
|
|
|
|
"and :class:`~concurrent.futures.ProcessPoolExecutor`. This improves "
|
|
|
|
|
"compatibility with subinterpreters and predictability in their shutdown "
|
|
|
|
|
"processes. (Contributed by Kyle Stanley in :issue:`39812`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:323
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned "
|
|
|
|
|
"on demand, only when there are no available idle workers to reuse. This "
|
|
|
|
|
"optimizes startup overhead and reduces the amount of lost CPU time to idle "
|
|
|
|
|
"workers. (Contributed by Kyle Stanley in :issue:`39207`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:329
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "curses"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "curses"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:331
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add :func:`curses.get_escdelay`, :func:`curses.set_escdelay`, :func:`curses."
|
|
|
|
|
"get_tabsize`, and :func:`curses.set_tabsize` functions. (Contributed by "
|
|
|
|
|
"Anthony Sottile in :issue:`38312`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:336
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "datetime"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "datetime"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:337
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :meth:`~datetime.date.isocalendar()` of :class:`datetime.date` and :meth:"
|
|
|
|
|
"`~datetime.datetime.isocalendar()` of :class:`datetime.datetime` methods now "
|
|
|
|
|
"returns a :func:`~collections.namedtuple` instead of a :class:`tuple`. "
|
|
|
|
|
"(Contributed by Dong-hee Na in :issue:`24416`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:343
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "distutils"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "distutils"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:345
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :command:`upload` command now creates SHA2-256 and Blake2b-256 hash "
|
|
|
|
|
"digests. It skips MD5 on platforms that block MD5 digest. (Contributed by "
|
|
|
|
|
"Christian Heimes in :issue:`40698`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:350
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "fcntl"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:352
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added constants :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` and :"
|
|
|
|
|
"data:`~fcntl.F_OFD_SETLKW`. (Contributed by Dong-hee Na in :issue:`38602`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:357
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "ftplib"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:359
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":class:`~ftplib.FTP` and :class:`~ftplib.FTP_TLS` now raise a :class:"
|
|
|
|
|
"`ValueError` if the given timeout for their constructor is zero to prevent "
|
|
|
|
|
"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:"
|
|
|
|
|
"`39259`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:364
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "gc"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:366
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"When the garbage collector makes a collection in which some objects "
|
|
|
|
|
"resurrect (they are reachable from outside the isolated cycles after the "
|
|
|
|
|
"finalizers have been executed), do not block the collection of all objects "
|
|
|
|
|
"that are still unreachable. (Contributed by Pablo Galindo and Tim Peters in :"
|
|
|
|
|
"issue:`38379`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:371
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added a new function :func:`gc.is_finalized` to check if an object has been "
|
|
|
|
|
"finalized by the garbage collector. (Contributed by Pablo Galindo in :issue:"
|
|
|
|
|
"`39322`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:376
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "hashlib"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:378
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Builtin hash modules can now be disabled with ``./configure --without-"
|
|
|
|
|
"builtin-hashlib-hashes`` or selectively enabled with e.g. ``./configure --"
|
|
|
|
|
"with-builtin-hashlib-hashes=sha3,blake2`` to force use of OpenSSL based "
|
|
|
|
|
"implementation. (Contributed by Christian Heimes in :issue:`40479`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:385
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "http"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:387
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"HTTP status codes ``103 EARLY_HINTS``, ``418 IM_A_TEAPOT`` and ``425 "
|
|
|
|
|
"TOO_EARLY`` are added to :class:`http.HTTPStatus`. (Contributed by Dong-hee "
|
|
|
|
|
"Na in :issue:`39509` and Ross Rhodes in :issue:`39507`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:391
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "imaplib"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:393
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":class:`~imaplib.IMAP4` and :class:`~imaplib.IMAP4_SSL` now have an optional "
|
|
|
|
|
"*timeout* parameter for their constructors. Also, the :meth:`~imaplib.IMAP4."
|
|
|
|
|
"open` method now has an optional *timeout* parameter with this change. The "
|
|
|
|
|
"overridden methods of :class:`~imaplib.IMAP4_SSL` and :class:`~imaplib."
|
|
|
|
|
"IMAP4_stream` were applied to this change. (Contributed by Dong-hee Na in :"
|
|
|
|
|
"issue:`38615`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:400
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` "
|
|
|
|
|
"frees server's resources associated with the selected mailbox and returns "
|
|
|
|
|
"the server to the authenticated state. This command performs the same "
|
|
|
|
|
"actions as :meth:`imaplib.IMAP4.close`, except that no messages are "
|
|
|
|
|
"permanently removed from the currently selected mailbox. (Contributed by "
|
|
|
|
|
"Dong-hee Na in :issue:`40375`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:408
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "importlib"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "importlib"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:410
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"To improve consistency with import statements, :func:`importlib.util."
|
|
|
|
|
"resolve_name` now raises :exc:`ImportError` instead of :exc:`ValueError` for "
|
|
|
|
|
"invalid relative import attempts. (Contributed by Ngalim Siregar in :issue:"
|
|
|
|
|
"`37444`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:416
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "inspect"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:418
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":attr:`inspect.BoundArguments.arguments` is changed from ``OrderedDict`` to "
|
|
|
|
|
"regular dict. (Contributed by Inada Naoki in :issue:`36350` and :issue:"
|
|
|
|
|
"`39775`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:422
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "ipaddress"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:424
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":mod:`ipaddress` now supports IPv6 Scoped Addresses (IPv6 address with "
|
|
|
|
|
"suffix ``%<scope_id>``)."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:426
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Scoped IPv6 addresses can be parsed using :class:`ipaddress.IPv6Address`. If "
|
|
|
|
|
"present, scope zone ID is available through the :attr:`~ipaddress."
|
|
|
|
|
"IPv6Address.scope_id` attribute. (Contributed by Oleksandr Pavliuk in :issue:"
|
|
|
|
|
"`34788`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:431
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "math"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:433
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Expanded the :func:`math.gcd` function to handle multiple arguments. "
|
|
|
|
|
"Formerly, it only supported two arguments. (Contributed by Serhiy Storchaka "
|
|
|
|
|
"in :issue:`39648`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:437
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add :func:`math.lcm`: return the least common multiple of specified "
|
|
|
|
|
"arguments. (Contributed by Mark Dickinson, Ananthakrishnan and Serhiy "
|
|
|
|
|
"Storchaka in :issue:`39479` and :issue:`39648`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:441
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add :func:`math.nextafter`: return the next floating-point value after *x* "
|
|
|
|
|
"towards *y*. (Contributed by Victor Stinner in :issue:`39288`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:445
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add :func:`math.ulp`: return the value of the least significant bit of a "
|
|
|
|
|
"float. (Contributed by Victor Stinner in :issue:`39310`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:450
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "multiprocessing"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "multiprocessing"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:452
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :class:`multiprocessing.SimpleQueue` class has a new :meth:"
|
|
|
|
|
"`~multiprocessing.SimpleQueue.close` method to explicitly close the queue. "
|
|
|
|
|
"(Contributed by Victor Stinner in :issue:`30966`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:458
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "nntplib"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:460
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":class:`~nntplib.NNTP` and :class:`~nntplib.NNTP_SSL` now raise a :class:"
|
|
|
|
|
"`ValueError` if the given timeout for their constructor is zero to prevent "
|
|
|
|
|
"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:"
|
|
|
|
|
"`39259`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:465
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "os"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:467
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for :attr:"
|
|
|
|
|
"`si_code`. (Contributed by Dong-hee Na in :issue:`38493`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:470
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Exposed the Linux-specific :func:`os.pidfd_open` (:issue:`38692`) and :data:"
|
|
|
|
|
"`os.P_PIDFD` (:issue:`38713`) for process management with file descriptors."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:474
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :func:`os.unsetenv` function is now also available on Windows. "
|
|
|
|
|
"(Contributed by Victor Stinner in :issue:`39413`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:477
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :func:`os.putenv` and :func:`os.unsetenv` functions are now always "
|
|
|
|
|
"available. (Contributed by Victor Stinner in :issue:`39395`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:481
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add :func:`os.waitstatus_to_exitcode` function: convert a wait status to an "
|
|
|
|
|
"exit code. (Contributed by Victor Stinner in :issue:`40094`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:486
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "pathlib"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "pathlib"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:488
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Added :meth:`pathlib.Path.readlink()` which acts similarly to :func:`os."
|
|
|
|
|
"readlink`. (Contributed by Girts Folkmanis in :issue:`30618`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:493
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "poplib"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:495
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":class:`~poplib.POP3` and :class:`~poplib.POP3_SSL` now raise a :class:"
|
|
|
|
|
"`ValueError` if the given timeout for their constructor is zero to prevent "
|
|
|
|
|
"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:"
|
|
|
|
|
"`39259`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:500
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "pprint"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:502
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":mod:`pprint` can now pretty-print :class:`types.SimpleNamespace`. "
|
|
|
|
|
"(Contributed by Carl Bordum Hansen in :issue:`37376`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:506
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "pydoc"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:508
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The documentation string is now shown not only for class, function, method "
|
|
|
|
|
"etc, but for any object that has its own ``__doc__`` attribute. (Contributed "
|
|
|
|
|
"by Serhiy Storchaka in :issue:`40257`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:513
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "random"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:515
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add a new :attr:`random.Random.randbytes` method: generate random bytes. "
|
|
|
|
|
"(Contributed by Victor Stinner in :issue:`40286`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:519
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "signal"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:521
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Exposed the Linux-specific :func:`signal.pidfd_send_signal` for sending to "
|
|
|
|
|
"signals to a process using a file descriptor instead of a pid. (:issue:"
|
|
|
|
|
"`38712`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:525
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "smtplib"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:527
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":class:`~smtplib.SMTP` and :class:`~smtplib.SMTP_SSL` now raise a :class:"
|
|
|
|
|
"`ValueError` if the given timeout for their constructor is zero to prevent "
|
|
|
|
|
"the creation of a non-blocking socket. (Contributed by Dong-hee Na in :issue:"
|
|
|
|
|
"`39259`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:531
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":class:`~smtplib.LMTP` constructor now has an optional *timeout* parameter. "
|
|
|
|
|
"(Contributed by Dong-hee Na in :issue:`39329`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:535
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "socket"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:537
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :mod:`socket` module now exports the :data:`~socket."
|
|
|
|
|
"CAN_RAW_JOIN_FILTERS` constant on Linux 4.1 and greater. (Contributed by "
|
|
|
|
|
"Stefan Tatschner and Zackery Spytz in :issue:`25780`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:541
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The socket module now supports the :data:`~socket.CAN_J1939` protocol on "
|
|
|
|
|
"platforms that support it. (Contributed by Karl Ding in :issue:`40291`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:545
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "time"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "time"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:547
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"On AIX, :func:`~time.thread_time` is now implemented with "
|
|
|
|
|
"``thread_cputime()`` which has nanosecond resolution, rather than "
|
|
|
|
|
"``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` which has a resolution of 10 ms. "
|
|
|
|
|
"(Contributed by Batuhan Taskaya in :issue:`40192`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:553
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "sys"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "sys"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:555
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add a new :attr:`sys.platlibdir` attribute: name of the platform-specific "
|
|
|
|
|
"library directory. It is used to build the path of standard library and the "
|
|
|
|
|
"paths of installed extension modules. It is equal to ``\"lib\"`` on most "
|
|
|
|
|
"platforms. On Fedora and SuSE, it is equal to ``\"lib64\"`` on 64-bit "
|
|
|
|
|
"platforms. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis "
|
|
|
|
|
"and Victor Stinner in :issue:`1294959`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:561
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Previously, :attr:`sys.stderr` was block-buffered when non-interactive. Now "
|
|
|
|
|
"``stderr`` defaults to always being line-buffered. (Contributed by Jendrik "
|
|
|
|
|
"Seipp in :issue:`13601`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:566
|
2020-07-20 08:56:42 +00:00
|
|
|
|
msgid "tracemalloc"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:45:25 +00:00
|
|
|
|
#: whatsnew/3.9.rst:568
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
2020-07-20 08:56:42 +00:00
|
|
|
|
"Added :func:`tracemalloc.reset_peak` to set the peak size of traced memory "
|
|
|
|
|
"blocks to the current size, to measure the peak of specific pieces of code. "
|
|
|
|
|
"(Contributed by Huon Wilson in :issue:`40630`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: whatsnew/3.9.rst:573
|
|
|
|
|
msgid "typing"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: whatsnew/3.9.rst:575
|
|
|
|
|
msgid ""
|
2020-06-05 07:32:47 +00:00
|
|
|
|
":pep:`593` introduced an :data:`typing.Annotated` type to decorate existing "
|
|
|
|
|
"types with context-specific metadata and new ``include_extras`` parameter "
|
|
|
|
|
"to :func:`typing.get_type_hints` to access the metadata at runtime. "
|
|
|
|
|
"(Contributed by Till Varoquaux and Konstantin Kashin.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:581
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "unicodedata"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "unicodedata"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:583
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The Unicode database has been updated to version 13.0.0. (:issue:`39926`)."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:586
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "venv"
|
2020-06-08 14:31:39 +00:00
|
|
|
|
msgstr "venv"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:588
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The activation scripts provided by :mod:`venv` now all specify their prompt "
|
|
|
|
|
"customization consistently by always using the value specified by "
|
|
|
|
|
"``__VENV_PROMPT__``. Previously some scripts unconditionally used "
|
|
|
|
|
"``__VENV_PROMPT__``, others only if it happened to be set (which was the "
|
|
|
|
|
"default case), and one used ``__VENV_NAME__`` instead. (Contributed by Brett "
|
|
|
|
|
"Cannon in :issue:`37663`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:596
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "xml"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:598
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"White space characters within attributes are now preserved when serializing :"
|
|
|
|
|
"mod:`xml.etree.ElementTree` to XML file. EOLNs are no longer normalized to "
|
|
|
|
|
"\"\\n\". This is the result of discussion about how to interpret section "
|
|
|
|
|
"2.11 of XML spec. (Contributed by Mefistotelis in :issue:`39011`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:606
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Optimizations"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:608
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Optimized the idiom for assignment a temporary variable in comprehensions. "
|
|
|
|
|
"Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment "
|
|
|
|
|
"``y = expr``. For example:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:612
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "sums = [s for s in [0] for x in data for s in [s + x]]"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:614
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Unlike the ``:=`` operator this idiom does not leak a variable to the outer "
|
|
|
|
|
"scope."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:617
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "(Contributed by Serhiy Storchaka in :issue:`32856`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:619
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Optimize signal handling in multithreaded applications. If a thread "
|
|
|
|
|
"different than the main thread gets a signal, the bytecode evaluation loop "
|
|
|
|
|
"is no longer interrupted at each bytecode instruction to check for pending "
|
|
|
|
|
"signals which cannot be handled. Only the main thread of the main "
|
|
|
|
|
"interpreter can handle signals."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:625
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Previously, the bytecode evaluation loop was interrupted at each instruction "
|
|
|
|
|
"until the main thread handles signals. (Contributed by Victor Stinner in :"
|
|
|
|
|
"issue:`40010`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:629
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Optimize the :mod:`subprocess` module on FreeBSD using ``closefrom()``. "
|
|
|
|
|
"(Contributed by Ed Maste, Conrad Meyer, Kyle Evans, Kubilay Kocak and Victor "
|
|
|
|
|
"Stinner in :issue:`38061`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:633
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Here's a summary of performance improvements from Python 3.4 through Python "
|
|
|
|
|
"3.9:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:680
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"These results were generated from the variable access benchmark script at: "
|
|
|
|
|
"``Tools/scripts/var_access_benchmark.py``. The benchmark script displays "
|
|
|
|
|
"timings in nanoseconds. The benchmarks were measured on an `Intel® Core™ "
|
|
|
|
|
"i7-4960HQ processor <https://ark.intel.com/content/www/us/en/ark/"
|
|
|
|
|
"products/76088/intel-core-i7-4960hq-processor-6m-cache-up-to-3-80-ghz."
|
|
|
|
|
"html>`_ running the macOS 64-bit builds found at `python.org <https://www."
|
|
|
|
|
"python.org/downloads/mac-osx/>`_."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:688
|
|
|
|
|
msgid ""
|
|
|
|
|
"A number of Python builtins (:class:`range`, :class:`tuple`, :class:`set`, :"
|
|
|
|
|
"class:`frozenset`, :class:`list`, :class:`dict`) are now sped up by using :"
|
|
|
|
|
"pep:`590` vectorcall protocol. (Contributed by Dong-hee Na, Mark Shannon, "
|
|
|
|
|
"Jeroen Demeyer and Petr Viktorin in :issue:`37207`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: whatsnew/3.9.rst:694
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Deprecated"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:696
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The distutils ``bdist_msi`` command is now deprecated, use ``bdist_wheel`` "
|
|
|
|
|
"(wheel packages) instead. (Contributed by Hugo van Kemenade in :issue:"
|
|
|
|
|
"`39586`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:700
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Currently :func:`math.factorial` accepts :class:`float` instances with non-"
|
|
|
|
|
"negative integer values (like ``5.0``). It raises a :exc:`ValueError` for "
|
|
|
|
|
"non-integral and negative floats. It is now deprecated. In future Python "
|
|
|
|
|
"versions it will raise a :exc:`TypeError` for all floats. (Contributed by "
|
|
|
|
|
"Serhiy Storchaka in :issue:`37315`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:706
|
|
|
|
|
msgid ""
|
|
|
|
|
"The :mod:`parser` and :mod:`symbol` modules are deprecated and will be "
|
|
|
|
|
"removed in future versions of Python. For the majority of use cases, users "
|
|
|
|
|
"can leverage the Abstract Syntax Tree (AST) generation and compilation "
|
|
|
|
|
"stage, using the :mod:`ast` module."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: whatsnew/3.9.rst:711
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
2020-07-20 08:56:42 +00:00
|
|
|
|
"The Public C API functions :c:func:`PyParser_SimpleParseStringFlags`, :c:"
|
|
|
|
|
"func:`PyParser_SimpleParseStringFlagsFilename`, :c:func:"
|
|
|
|
|
"`PyParser_SimpleParseFileFlags` and :c:func:`PyNode_Compile` are deprecated "
|
|
|
|
|
"and will be removed in Python 3.10 together with the old parser."
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:716
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Using :data:`NotImplemented` in a boolean context has been deprecated, as it "
|
|
|
|
|
"is almost exclusively the result of incorrect rich comparator "
|
|
|
|
|
"implementations. It will be made a :exc:`TypeError` in a future version of "
|
|
|
|
|
"Python. (Contributed by Josh Rosenberg in :issue:`35712`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:722
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :mod:`random` module currently accepts any hashable type as a possible "
|
|
|
|
|
"seed value. Unfortunately, some of those types are not guaranteed to have a "
|
|
|
|
|
"deterministic hash value. After Python 3.9, the module will restrict its "
|
|
|
|
|
"seeds to :const:`None`, :class:`int`, :class:`float`, :class:`str`, :class:"
|
|
|
|
|
"`bytes`, and :class:`bytearray`."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:728
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Opening the :class:`~gzip.GzipFile` file for writing without specifying the "
|
|
|
|
|
"*mode* argument is deprecated. In future Python versions it will always be "
|
|
|
|
|
"opened for reading by default. Specify the *mode* argument for opening it "
|
|
|
|
|
"for writing and silencing a warning. (Contributed by Serhiy Storchaka in :"
|
|
|
|
|
"issue:`28286`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:734
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Deprecated the ``split()`` method of :class:`_tkinter.TkappType` in favour "
|
|
|
|
|
"of the ``splitlist()`` method which has more consistent and predicable "
|
|
|
|
|
"behavior. (Contributed by Serhiy Storchaka in :issue:`38371`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:739
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The explicit passing of coroutine objects to :func:`asyncio.wait` has been "
|
|
|
|
|
"deprecated and will be removed in version 3.11. (Contributed by Yury "
|
|
|
|
|
"Selivanov and Kyle Stanley in :issue:`34790`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:743
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"binhex4 and hexbin4 standards are now deprecated. The :mod:`binhex` module "
|
|
|
|
|
"and the following :mod:`binascii` functions are now deprecated:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:746
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ":func:`~binascii.b2a_hqx`, :func:`~binascii.a2b_hqx`"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:747
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ":func:`~binascii.rlecode_hqx`, :func:`~binascii.rledecode_hqx`"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:749
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "(Contributed by Victor Stinner in :issue:`39353`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:751
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":mod:`ast` classes ``slice``, ``Index`` and ``ExtSlice`` are considered "
|
|
|
|
|
"deprecated and will be removed in future Python versions. ``value`` itself "
|
|
|
|
|
"should be used instead of ``Index(value)``. ``Tuple(slices, Load())`` "
|
|
|
|
|
"should be used instead of ``ExtSlice(slices)``. (Contributed by Serhiy "
|
|
|
|
|
"Storchaka in :issue:`32892`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:757
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":mod:`ast` classes ``Suite``, ``Param``, ``AugLoad`` and ``AugStore`` are "
|
|
|
|
|
"considered deprecated and will be removed in future Python versions. They "
|
|
|
|
|
"were not generated by the parser and not accepted by the code generator in "
|
|
|
|
|
"Python 3. (Contributed by Batuhan Taskaya in :issue:`39639` and :issue:"
|
|
|
|
|
"`39969` and Serhiy Storchaka in :issue:`39988`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:764
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :c:func:`PyEval_InitThreads` and :c:func:`PyEval_ThreadsInitialized` "
|
|
|
|
|
"functions are now deprecated and will be removed in Python 3.11. Calling :c:"
|
|
|
|
|
"func:`PyEval_InitThreads` now does nothing. The :term:`GIL` is initialized "
|
|
|
|
|
"by :c:func:`Py_Initialize()` since Python 3.7. (Contributed by Victor "
|
|
|
|
|
"Stinner in :issue:`39877`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:770
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Passing ``None`` as the first argument to the :func:`shlex.split` function "
|
|
|
|
|
"has been deprecated. (Contributed by Zackery Spytz in :issue:`33262`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:773
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :mod:`lib2to3` module now emits a :exc:`PendingDeprecationWarning`. "
|
|
|
|
|
"Python 3.9 switched to a PEG parser (see :pep:`617`), and Python 3.10 may "
|
|
|
|
|
"include new language syntax that is not parsable by lib2to3's LL(1) parser. "
|
|
|
|
|
"The ``lib2to3`` module may be removed from the standard library in a future "
|
|
|
|
|
"Python version. Consider third-party alternatives such as `LibCST`_ or "
|
|
|
|
|
"`parso`_. (Contributed by Carl Meyer in :issue:`40360`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:781
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The *random* parameter of :func:`random.shuffle` has been deprecated. "
|
|
|
|
|
"(Contributed by Raymond Hettinger in :issue:`40465`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:788 whatsnew/3.9.rst:1122
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Removed"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:790
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The erroneous version at :data:`unittest.mock.__version__` has been removed."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:792
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":class:`nntplib.NNTP`: ``xpath()`` and ``xgtitle()`` methods have been "
|
|
|
|
|
"removed. These methods are deprecated since Python 3.3. Generally, these "
|
|
|
|
|
"extensions are not supported or not enabled by NNTP server administrators. "
|
|
|
|
|
"For ``xgtitle()``, please use :meth:`nntplib.NNTP.descriptions` or :meth:"
|
|
|
|
|
"`nntplib.NNTP.description` instead. (Contributed by Dong-hee Na in :issue:"
|
|
|
|
|
"`39366`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:799
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":class:`array.array`: ``tostring()`` and ``fromstring()`` methods have been "
|
|
|
|
|
"removed. They were aliases to ``tobytes()`` and ``frombytes()``, deprecated "
|
|
|
|
|
"since Python 3.2. (Contributed by Victor Stinner in :issue:`38916`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:804
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The undocumented ``sys.callstats()`` function has been removed. Since Python "
|
|
|
|
|
"3.7, it was deprecated and always returned :const:`None`. It required a "
|
|
|
|
|
"special build option ``CALL_PROFILE`` which was already removed in Python "
|
|
|
|
|
"3.7. (Contributed by Victor Stinner in :issue:`37414`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:809
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions have "
|
|
|
|
|
"been removed. They were deprecated since Python 3.2. Use :func:`sys."
|
|
|
|
|
"getswitchinterval` and :func:`sys.setswitchinterval` instead. (Contributed "
|
|
|
|
|
"by Victor Stinner in :issue:`37392`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:814
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The C function ``PyImport_Cleanup()`` has been removed. It was documented "
|
|
|
|
|
"as: \"Empty the module table. For internal use only.\" (Contributed by "
|
|
|
|
|
"Victor Stinner in :issue:`36710`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:818
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``_dummy_thread`` and ``dummy_threading`` modules have been removed. These "
|
|
|
|
|
"modules were deprecated since Python 3.7 which requires threading support. "
|
|
|
|
|
"(Contributed by Victor Stinner in :issue:`37312`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:822
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to "
|
|
|
|
|
"``sunau.open()``, and ``wave.openfp()`` alias to :func:`wave.open()` have "
|
|
|
|
|
"been removed. They were deprecated since Python 3.7. (Contributed by Victor "
|
|
|
|
|
"Stinner in :issue:`37320`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:827
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` "
|
|
|
|
|
"has been removed. It was deprecated since Python 3.8. Use :meth:`~threading."
|
|
|
|
|
"Thread.is_alive()` instead. (Contributed by Dong-hee Na in :issue:`37804`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:832
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Methods ``getchildren()`` and ``getiterator()`` of classes :class:`~xml."
|
|
|
|
|
"etree.ElementTree.ElementTree` and :class:`~xml.etree.ElementTree.Element` "
|
|
|
|
|
"in the :mod:`~xml.etree.ElementTree` module have been removed. They were "
|
|
|
|
|
"deprecated in Python 3.2. Use ``iter(x)`` or ``list(x)`` instead of ``x."
|
|
|
|
|
"getchildren()`` and ``x.iter()`` or ``list(x.iter())`` instead of ``x."
|
2020-07-20 08:56:42 +00:00
|
|
|
|
"getiterator()``. (Contributed by Serhiy Storchaka in :issue:`36543`.)"
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:840
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The old :mod:`plistlib` API has been removed, it was deprecated since Python "
|
|
|
|
|
"3.4. Use the :func:`~plistlib.load`, :func:`~plistlib.loads`, :func:"
|
|
|
|
|
"`~plistlib.dump`, and :func:`~plistlib.dumps` functions. Additionally, the "
|
|
|
|
|
"*use_builtin_types* parameter was removed, standard :class:`bytes` objects "
|
|
|
|
|
"are always used instead. (Contributed by Jon Janzen in :issue:`36409`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:846
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The C function ``PyGen_NeedsFinalizing`` has been removed. It was not "
|
|
|
|
|
"documented, tested, or used anywhere within CPython after the implementation "
|
|
|
|
|
"of :pep:`442`. Patch by Joannah Nanjekye. (Contributed by Joannah Nanjekye "
|
|
|
|
|
"in :issue:`15088`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:851
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``base64.encodestring()`` and ``base64.decodestring()``, aliases deprecated "
|
|
|
|
|
"since Python 3.1, have been removed: use :func:`base64.encodebytes` and :"
|
|
|
|
|
"func:`base64.decodebytes` instead. (Contributed by Victor Stinner in :issue:"
|
|
|
|
|
"`39351`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:856
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``fractions.gcd()`` function has been removed, it was deprecated since "
|
|
|
|
|
"Python 3.5 (:issue:`22486`): use :func:`math.gcd` instead. (Contributed by "
|
|
|
|
|
"Victor Stinner in :issue:`39350`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:860
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The *buffering* parameter of :class:`bz2.BZ2File` has been removed. Since "
|
|
|
|
|
"Python 3.0, it was ignored and using it emitted a :exc:`DeprecationWarning`. "
|
|
|
|
|
"Pass an open file object to control how the file is opened. (Contributed by "
|
|
|
|
|
"Victor Stinner in :issue:`39357`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:865
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The *encoding* parameter of :func:`json.loads` has been removed. As of "
|
|
|
|
|
"Python 3.1, it was deprecated and ignored; using it has emitted a :exc:"
|
|
|
|
|
"`DeprecationWarning` since Python 3.8. (Contributed by Inada Naoki in :issue:"
|
|
|
|
|
"`39377`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:870
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``with (await asyncio.lock):`` and ``with (yield from asyncio.lock):`` "
|
|
|
|
|
"statements are not longer supported, use ``async with lock`` instead. The "
|
|
|
|
|
"same is correct for ``asyncio.Condition`` and ``asyncio.Semaphore``. "
|
|
|
|
|
"(Contributed by Andrew Svetlov in :issue:`34793`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:875
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :func:`sys.getcounts` function, the ``-X showalloccount`` command line "
|
|
|
|
|
"option and the ``show_alloc_count`` field of the C structure :c:type:"
|
|
|
|
|
"`PyConfig` have been removed. They required a special Python build by "
|
|
|
|
|
"defining ``COUNT_ALLOCS`` macro. (Contributed by Victor Stinner in :issue:"
|
|
|
|
|
"`39489`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:881
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The ``_field_types`` attribute of the :class:`typing.NamedTuple` class has "
|
|
|
|
|
"been removed. It was deprecated deprecated since Python 3.8. Use the "
|
|
|
|
|
"``__annotations__`` attribute instead. (Contributed by Serhiy Storchaka in :"
|
|
|
|
|
"issue:`40182`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:886
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :meth:`symtable.SymbolTable.has_exec` method has been removed. It was "
|
|
|
|
|
"deprecated since 2006, and only returning ``False`` when it's called. "
|
|
|
|
|
"(Contributed by Batuhan Taskaya in :issue:`40208`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:890
|
|
|
|
|
msgid ""
|
|
|
|
|
"The :meth:`asyncio.Task.current_task` and :meth:`asyncio.Task.all_tasks` "
|
|
|
|
|
"have have been removed. They were deprecated since Python 3.7 and you can "
|
|
|
|
|
"use :func:`asyncio.current_task` and :func:`asyncio.all_tasks` instead. "
|
|
|
|
|
"(Contributed by Rémi Lapeyre in :issue:`40967`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: whatsnew/3.9.rst:897 whatsnew/3.9.rst:1078
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Porting to Python 3.9"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:899
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"This section lists previously described changes and other bugfixes that may "
|
|
|
|
|
"require changes to your code."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:904
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Changes in the Python API"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:906
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":func:`__import__` and :func:`importlib.util.resolve_name` now raise :exc:"
|
|
|
|
|
"`ImportError` where it previously raised :exc:`ValueError`. Callers catching "
|
|
|
|
|
"the specific exception type and supporting both Python 3.9 and earlier "
|
|
|
|
|
"versions will need to catch both using ``except (ImportError, ValueError):``."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:911
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :mod:`venv` activation scripts no longer special-case when "
|
|
|
|
|
"``__VENV_PROMPT__`` is set to ``\"\"``."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:914
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :meth:`select.epoll.unregister` method no longer ignores the :data:"
|
|
|
|
|
"`~errno.EBADF` error. (Contributed by Victor Stinner in :issue:`39239`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:918
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The *compresslevel* parameter of :class:`bz2.BZ2File` became keyword-only, "
|
|
|
|
|
"since the *buffering* parameter has been removed. (Contributed by Victor "
|
|
|
|
|
"Stinner in :issue:`39357`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:922
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Simplified AST for subscription. Simple indices will be represented by their "
|
|
|
|
|
"value, extended slices will be represented as tuples. ``Index(value)`` will "
|
|
|
|
|
"return a ``value`` itself, ``ExtSlice(slices)`` will return ``Tuple(slices, "
|
|
|
|
|
"Load())``. (Contributed by Serhiy Storchaka in :issue:`34822`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:928
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :mod:`importlib` module now ignores the :envvar:`PYTHONCASEOK` "
|
|
|
|
|
"environment variable when the :option:`-E` or :option:`-I` command line "
|
|
|
|
|
"options are being used."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:932
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The *encoding* parameter has been added to the classes :class:`ftplib.FTP` "
|
|
|
|
|
"and :class:`ftplib.FTP_TLS` as a keyword-only parameter, and the default "
|
|
|
|
|
"encoding is changed from Latin-1 to UTF-8 to follow :rfc:`2640`."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:936
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
":meth:`asyncio.loop.shutdown_default_executor` has been added to :class:"
|
|
|
|
|
"`~asyncio.AbstractEventLoop`, meaning alternative event loops that inherit "
|
|
|
|
|
"from it should have this method defined. (Contributed by Kyle Stanley in :"
|
|
|
|
|
"issue:`34037`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:941
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The constant values of future flags in the :mod:`__future__` module is "
|
|
|
|
|
"updated in order to prevent collision with compiler flags. Previously "
|
|
|
|
|
"``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``. "
|
|
|
|
|
"(Contributed by Batuhan Taskaya in :issue:`39562`)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:946
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``array('u')`` now uses ``wchar_t`` as C type instead of ``Py_UNICODE``. "
|
|
|
|
|
"This change doesn't affect to its behavior because ``Py_UNICODE`` is alias "
|
|
|
|
|
"of ``wchar_t`` since Python 3.3. (Contributed by Inada Naoki in :issue:"
|
|
|
|
|
"`34538`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:953
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Changes in the C API"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:955
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Instances of heap-allocated types (such as those created with :c:func:"
|
|
|
|
|
"`PyType_FromSpec` and similar APIs) hold a reference to their type object "
|
|
|
|
|
"since Python 3.8. As indicated in the \"Changes in the C API\" of Python "
|
|
|
|
|
"3.8, for the vast majority of cases, there should be no side effect but for "
|
|
|
|
|
"types that have a custom :c:member:`~PyTypeObject.tp_traverse` function, "
|
|
|
|
|
"ensure that all custom ``tp_traverse`` functions of heap-allocated types "
|
|
|
|
|
"visit the object's type."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:976
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"If your traverse function delegates to ``tp_traverse`` of its base class (or "
|
|
|
|
|
"another type), ensure that ``Py_TYPE(self)`` is visited only once. Note that "
|
|
|
|
|
"only heap types are expected to visit the type in ``tp_traverse``."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:980
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "For example, if your ``tp_traverse`` function includes:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:986
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "then add:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:999
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "(See :issue:`35810` and :issue:`40217` for more information.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1002
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "CPython bytecode changes"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1004
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :opcode:`LOAD_ASSERTION_ERROR` opcode was added for handling the :"
|
|
|
|
|
"keyword:`assert` statement. Previously, the assert statement would not work "
|
|
|
|
|
"correctly if the :exc:`AssertionError` exception was being shadowed. "
|
|
|
|
|
"(Contributed by Zackery Spytz in :issue:`34880`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1011
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Build Changes"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1013
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add ``--with-platlibdir`` option to the ``configure`` script: name of the "
|
|
|
|
|
"platform-specific library directory, stored in the new :attr:`sys."
|
|
|
|
|
"platlibdir` attribute. See :attr:`sys.platlibdir` attribute for more "
|
|
|
|
|
"information. (Contributed by Jan Matějek, Matěj Cepl, Charalampos Stratakis "
|
|
|
|
|
"and Victor Stinner in :issue:`1294959`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1019
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The ``COUNT_ALLOCS`` special build macro has been removed. (Contributed by "
|
|
|
|
|
"Victor Stinner in :issue:`39489`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1022
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"On non-Windows platforms, the :c:func:`setenv` and :c:func:`unsetenv` "
|
|
|
|
|
"functions are now required to build Python. (Contributed by Victor Stinner "
|
|
|
|
|
"in :issue:`39395`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1028
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "C API Changes"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1033
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add :c:func:`PyFrame_GetCode` function: get a frame code. Add :c:func:"
|
|
|
|
|
"`PyFrame_GetBack` function: get the frame next outer frame. (Contributed by "
|
|
|
|
|
"Victor Stinner in :issue:`40421`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1037
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add :c:func:`PyFrame_GetLineNumber` to the limited C API. (Contributed by "
|
|
|
|
|
"Victor Stinner in :issue:`40421`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1040
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add :c:func:`PyThreadState_GetInterpreter` and :c:func:"
|
|
|
|
|
"`PyInterpreterState_Get` functions to get the interpreter. Add :c:func:"
|
|
|
|
|
"`PyThreadState_GetFrame` function to get the current frame of a Python "
|
|
|
|
|
"thread state. Add :c:func:`PyThreadState_GetID` function: get the unique "
|
|
|
|
|
"identifier of a Python thread state. (Contributed by Victor Stinner in :"
|
|
|
|
|
"issue:`39947`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1048
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add a new public :c:func:`PyObject_CallNoArgs` function to the C API, which "
|
|
|
|
|
"calls a callable Python object without any arguments. It is the most "
|
|
|
|
|
"efficient way to call a callable Python object without any argument. "
|
|
|
|
|
"(Contributed by Victor Stinner in :issue:`37194`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1053 whatsnew/3.9.rst:1133
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Changes in the limited C API (if ``Py_LIMITED_API`` macro is defined):"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1055
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall` "
|
|
|
|
|
"as regular functions for the limited API. Previously, there were defined as "
|
|
|
|
|
"macros, but these macros didn't compile with the limited C API which cannot "
|
|
|
|
|
"access ``PyThreadState.recursion_depth`` field (the structure is opaque in "
|
|
|
|
|
"the limited C API)."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1061
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` become regular \"opaque\" "
|
|
|
|
|
"function to hide implementation details."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1064 whatsnew/3.9.rst:1160
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "(Contributed by Victor Stinner in :issue:`38644` and :issue:`39542`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1066
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The :c:func:`PyModule_AddType` function is added to help adding a type to a "
|
|
|
|
|
"module. (Contributed by Dong-hee Na in :issue:`40024`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1070
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Add the functions :c:func:`PyObject_GC_IsTracked` and :c:func:"
|
|
|
|
|
"`PyObject_GC_IsFinalized` to the public API to allow to query if Python "
|
|
|
|
|
"objects are being currently tracked or have been already finalized by the "
|
|
|
|
|
"garbage collector respectively. (Contributed by Pablo Galindo in :issue:"
|
|
|
|
|
"`40241`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1080
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``PyInterpreterState.eval_frame`` (:pep:`523`) now requires a new mandatory "
|
|
|
|
|
"*tstate* parameter (``PyThreadState*``). (Contributed by Victor Stinner in :"
|
|
|
|
|
"issue:`38500`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1084
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Extension modules: :c:member:`~PyModuleDef.m_traverse`, :c:member:"
|
|
|
|
|
"`~PyModuleDef.m_clear` and :c:member:`~PyModuleDef.m_free` functions of :c:"
|
|
|
|
|
"type:`PyModuleDef` are no longer called if the module state was requested "
|
|
|
|
|
"but is not allocated yet. This is the case immediately after the module is "
|
|
|
|
|
"created and before the module is executed (:c:data:`Py_mod_exec` function). "
|
|
|
|
|
"More precisely, these functions are not called if :c:member:`~PyModuleDef."
|
|
|
|
|
"m_size` is greater than 0 and the module state (as returned by :c:func:"
|
|
|
|
|
"`PyModule_GetState`) is ``NULL``."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1093
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Extension modules without module state (``m_size <= 0``) are not affected."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1095
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"If :c:func:`Py_AddPendingCall` is called in a subinterpreter, the function "
|
|
|
|
|
"is now scheduled to be called from the subinterpreter, rather than being "
|
|
|
|
|
"called from the main interpreter. Each subinterpreter now has its own list "
|
|
|
|
|
"of scheduled calls. (Contributed by Victor Stinner in :issue:`39984`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1101
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The Windows registry is no longer used to initialize :data:`sys.path` when "
|
|
|
|
|
"the ``-E`` option is used (if :c:member:`PyConfig.use_environment` is set to "
|
|
|
|
|
"``0``). This is significant when embedding Python on Windows. (Contributed "
|
|
|
|
|
"by Zackery Spytz in :issue:`8901`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1106
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The global variable :c:data:`PyStructSequence_UnnamedField` is now a "
|
|
|
|
|
"constant and refers to a constant string. (Contributed by Serhiy Storchaka "
|
|
|
|
|
"in :issue:`38650`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1110
|
|
|
|
|
msgid ""
|
|
|
|
|
"The :c:type:`PyGC_Head` structure is now opaque. It is only defined in the "
|
|
|
|
|
"internal C API (``pycore_gc.h``). (Contributed by Victor Stinner in :issue:"
|
|
|
|
|
"`40241`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: whatsnew/3.9.rst:1114
|
|
|
|
|
msgid ""
|
|
|
|
|
"The ``Py_UNICODE_COPY``, ``Py_UNICODE_FILL``, ``PyUnicode_WSTR_LENGTH``, :c:"
|
|
|
|
|
"func:`PyUnicode_FromUnicode`, :c:func:`PyUnicode_AsUnicode`, "
|
|
|
|
|
"``_PyUnicode_AsUnicode``, and :c:func:`PyUnicode_AsUnicodeAndSize` are "
|
|
|
|
|
"marked as deprecated in C. They have been deprecated by :pep:`393` since "
|
|
|
|
|
"Python 3.3. (Contributed by Inada Naoki in :issue:`36346`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
|
|
#: whatsnew/3.9.rst:1124
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Exclude ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of "
|
|
|
|
|
"``pyfpe.h`` from the limited C API. (Contributed by Victor Stinner in :issue:"
|
|
|
|
|
"`38835`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1128
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"The ``tp_print`` slot of :ref:`PyTypeObject <type-structs>` has been "
|
|
|
|
|
"removed. It was used for printing objects to files in Python 2.7 and before. "
|
|
|
|
|
"Since Python 3.0, it has been ignored and unused. (Contributed by Jeroen "
|
|
|
|
|
"Demeyer in :issue:`36974`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1135
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Exclude the following functions from the limited C API:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1137
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``PyThreadState_DeleteCurrent()`` (Contributed by Joannah Nanjekye in :issue:"
|
|
|
|
|
"`37878`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1139
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``_Py_CheckRecursionLimit``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1140
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``_Py_NewReference()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1141
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``_Py_ForgetReference()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1142
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``_PyTraceMalloc_NewReference()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1143
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``_Py_GetRefTotal()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1144
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "The trashcan mechanism which never worked in the limited C API."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1145
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``PyTrash_UNWIND_LEVEL``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1146
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``Py_TRASHCAN_BEGIN_CONDITION``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1147
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``Py_TRASHCAN_BEGIN``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1148
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``Py_TRASHCAN_END``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1149
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``Py_TRASHCAN_SAFE_BEGIN``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1150
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``Py_TRASHCAN_SAFE_END``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1152
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "Move following functions and definitions to the internal C API:"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1154
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``_PyDebug_PrintTotalRefs()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1155
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``_Py_PrintReferences()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1156
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``_Py_PrintReferenceAddresses()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1157
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``_Py_tracemalloc_config``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1158
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``_Py_AddToAllObjects()`` (specific to ``Py_TRACE_REFS`` build)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1162
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Remove ``_PyRuntime.getframe`` hook and remove ``_PyThreadState_GetFrame`` "
|
|
|
|
|
"macro which was an alias to ``_PyRuntime.getframe``. They were only exposed "
|
|
|
|
|
"by the internal C API. Remove also ``PyThreadFrameGetter`` type. "
|
|
|
|
|
"(Contributed by Victor Stinner in :issue:`39946`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1167
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Remove the following functions from the C API. Call :c:func:`PyGC_Collect` "
|
|
|
|
|
"explicitly to clear all free lists. (Contributed by Inada Naoki and Victor "
|
|
|
|
|
"Stinner in :issue:`37340`, :issue:`38896` and :issue:`40428`.)"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1172
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``PyAsyncGen_ClearFreeLists()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1173
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``PyContext_ClearFreeList()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1174
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``PyDict_ClearFreeList()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1175
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``PyFloat_ClearFreeList()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1176
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``PyFrame_ClearFreeList()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1177
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``PyList_ClearFreeList()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1178
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()``: the free "
|
|
|
|
|
"lists of bound method objects have been removed."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1180
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``PySet_ClearFreeList()``: the set free list has been removed in Python 3.4."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1182
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid "``PyTuple_ClearFreeList()``"
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1183
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"``PyUnicode_ClearFreeList()``: the Unicode free list has been removed in "
|
|
|
|
|
"Python 3.3."
|
|
|
|
|
msgstr ""
|
|
|
|
|
|
2020-07-20 08:56:42 +00:00
|
|
|
|
#: whatsnew/3.9.rst:1186
|
2020-06-05 07:32:47 +00:00
|
|
|
|
msgid ""
|
|
|
|
|
"Remove ``_PyUnicode_ClearStaticStrings()`` function. (Contributed by Victor "
|
|
|
|
|
"Stinner in :issue:`39465`.)"
|
|
|
|
|
msgstr ""
|
2020-07-20 08:56:42 +00:00
|
|
|
|
|
|
|
|
|
#: whatsnew/3.9.rst:1189
|
|
|
|
|
msgid ""
|
|
|
|
|
"Remove ``Py_UNICODE_MATCH``. It has been deprecated by :pep:`393`, and "
|
|
|
|
|
"broken since Python 3.3. The :c:func:`PyUnicode_Tailmatch` function can be "
|
|
|
|
|
"used instead. (Contributed by Inada Naoki in :issue:`36346`.)"
|
|
|
|
|
msgstr ""
|