diff options
author | Ned Deily <nad@python.org> | 2021-05-08 02:31:01 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-08 02:31:01 (GMT) |
commit | 164d6e1bb1bb3a4e4d5610f07a8911ecf57a691d (patch) | |
tree | c88ccb611c1b50e7fdfc58a58aa472df5a4d7e98 /Misc/NEWS.d/3.10.0b1.rst | |
parent | 4d4be477055d0f9e415407bcd193788fae04dc11 (diff) | |
download | cpython-164d6e1bb1bb3a4e4d5610f07a8911ecf57a691d.zip cpython-164d6e1bb1bb3a4e4d5610f07a8911ecf57a691d.tar.gz cpython-164d6e1bb1bb3a4e4d5610f07a8911ecf57a691d.tar.bz2 |
Add the blurbify of the 3.10.0b1 changelog to the main branch (GH-25976)
Diffstat (limited to 'Misc/NEWS.d/3.10.0b1.rst')
-rw-r--r-- | Misc/NEWS.d/3.10.0b1.rst | 1807 |
1 files changed, 1807 insertions, 0 deletions
diff --git a/Misc/NEWS.d/3.10.0b1.rst b/Misc/NEWS.d/3.10.0b1.rst new file mode 100644 index 0000000..a0dac13 --- /dev/null +++ b/Misc/NEWS.d/3.10.0b1.rst @@ -0,0 +1,1807 @@ +.. bpo: 43434 +.. date: 2021-05-02-17-50-23 +.. nonce: cy7xz6 +.. release date: 2021-05-03 +.. section: Security + +Creating :class:`sqlite3.Connection` objects now also produces +``sqlite3.connect`` and ``sqlite3.connect/handle`` :ref:`auditing events +<auditing>`. Previously these events were only produced by +:func:`sqlite3.connect` calls. Patch by Erlend E. Aasland. + +.. + +.. bpo: 43998 +.. date: 2021-05-01-13-13-40 +.. nonce: xhmWD7 +.. section: Security + +The :mod:`ssl` module sets more secure cipher suites defaults. Ciphers +without forward secrecy and with SHA-1 MAC are disabled by default. Security +level 2 prohibits weak RSA, DH, and ECC keys with less than 112 bits of +security. :class:`~ssl.SSLContext` defaults to minimum protocol version TLS +1.2. Settings are based on Hynek Schlawack's research. + +.. + +.. bpo: 43882 +.. date: 2021-04-25-07-46-37 +.. nonce: Jpwx85 +.. section: Security + +The presence of newline or tab characters in parts of a URL could allow some +forms of attacks. + +Following the controlling specification for URLs defined by WHATWG +:func:`urllib.parse` now removes ASCII newlines and tabs from URLs, +preventing such attacks. + +.. + +.. bpo: 43472 +.. date: 2021-04-21-22-53-31 +.. nonce: gjLBTb +.. section: Security + +Ensures interpreter-level audit hooks receive the +``cpython.PyInterpreterState_New`` event when called through the +``_xxsubinterpreters`` module. + +.. + +.. bpo: 43362 +.. date: 2021-04-18-00-56-44 +.. nonce: __5aiP +.. section: Security + +Fix invalid free in _sha3 module. The issue was introduced in 3.10.0a1. +Python 3.9 and earlier are not affected. + +.. + +.. bpo: 43762 +.. date: 2021-04-07-12-57-41 +.. nonce: 7lMtpT +.. section: Security + +Add audit events for :func:`sqlite3.connect/handle`, +:meth:`sqlite3.Connection.enable_load_extension`, and +:meth:`sqlite3.Connection.load_extension`. Patch by Erlend E. Aasland. + +.. + +.. bpo: 43756 +.. date: 2021-04-06-18-07-48 +.. nonce: DLBNqQ +.. section: Security + +Add new audit event ``glob.glob/2`` to incorporate the new *root_dir* and +*dir_fd* arguments added to :func:`glob.glob` and :func:`glob.iglob`. + +.. + +.. bpo: 36384 +.. date: 2021-03-30-16-29-51 +.. nonce: sCAmLs +.. section: Security + +:mod:`ipaddress` module no longer accepts any leading zeros in IPv4 address +strings. Leading zeros are ambiguous and interpreted as octal notation by +some libraries. For example the legacy function :func:`socket.inet_aton` +treats leading zeros as octal notatation. glibc implementation of modern +:func:`~socket.inet_pton` does not accept any leading zeros. For a while the +:mod:`ipaddress` module used to accept ambiguous leading zeros. + +.. + +.. bpo: 43075 +.. date: 2021-01-31-05-28-14 +.. nonce: DoAXqO +.. section: Security + +Fix Regular Expression Denial of Service (ReDoS) vulnerability in +:class:`urllib.request.AbstractBasicAuthHandler`. The ReDoS-vulnerable +regex has quadratic worst-case complexity and it allows cause a denial of +service when identifying crafted invalid RFCs. This ReDoS issue is on the +client side and needs remote attackers to control the HTTP server. + +.. + +.. bpo: 42800 +.. date: 2021-01-09-17-07-36 +.. nonce: _dtZvW +.. section: Security + +Audit hooks are now fired for frame.f_code, traceback.tb_frame, and +generator code/frame attribute access. + +.. + +.. bpo: 37363 +.. date: 2020-07-04-22-14-46 +.. nonce: NDjHNw +.. section: Security + +Add audit events to the :mod:`http.client` module. + +.. + +.. bpo: 43977 +.. date: 2021-05-02-11-59-00 +.. nonce: R0hSDo +.. section: Core and Builtins + +Prevent classes being both a sequence and a mapping when pattern matching. + +.. + +.. bpo: 43977 +.. date: 2021-04-29-17-40-25 +.. nonce: FrQhge +.. section: Core and Builtins + +Use :c:member:`~PyTypeObject.tp_flags` on the class object to determine if +the subject is a sequence or mapping when pattern matching. Avoids the need +to import :mod:`collections.abc` when pattern matching. + +.. + +.. bpo: 43892 +.. date: 2021-04-29-16-00-28 +.. nonce: WXIehI +.. section: Core and Builtins + +Restore proper validation of complex literal value patterns when parsing +:keyword:`!match` blocks. + +.. + +.. bpo: 43933 +.. date: 2021-04-29-13-49-57 +.. nonce: TueFdQ +.. section: Core and Builtins + +Set frame.f_lineno to the line number of the 'with' kweyword when executing +the call to ``__exit__``. + +.. + +.. bpo: 43933 +.. date: 2021-04-29-13-11-44 +.. nonce: mvoV6O +.. section: Core and Builtins + +If the current position in a frame has no line number then set the f_lineno +attribute to None, instead of -1, to conform to PEP 626. This should not +normally be possible, but might occur in some unusual circumstances. + +.. + +.. bpo: 43963 +.. date: 2021-04-28-01-23-38 +.. nonce: u5Y6bS +.. section: Core and Builtins + +Importing the :mod:`_signal` module in a subinterpreter has no longer side +effects. + +.. + +.. bpo: 42739 +.. date: 2021-04-27-10-59-10 +.. nonce: PrVkKM +.. section: Core and Builtins + +The internal representation of line number tables is changed to not use +sentinels, and an explicit length parameter is added to the out of process +API function ``PyLineTable_InitAddressRange``. This makes the handling of +line number tables more robust in some circumstances. + +.. + +.. bpo: 43908 +.. date: 2021-04-26-21-20-41 +.. nonce: 2L51nO +.. section: Core and Builtins + +Make :mod:`re` types immutable. Patch by Erlend E. Aasland. + +.. + +.. bpo: 43908 +.. date: 2021-04-26-20-59-17 +.. nonce: -COW4- +.. section: Core and Builtins + +Make the :class:`array.array` type immutable. Patch by Erlend E. Aasland. + +.. + +.. bpo: 43901 +.. date: 2021-04-25-22-50-47 +.. nonce: oKjG5E +.. section: Core and Builtins + +Change class and module objects to lazy-create empty annotations dicts on +demand. The annotations dicts are stored in the object's __dict__ for +backwards compatibility. + +.. + +.. bpo: 43892 +.. date: 2021-04-25-08-35-11 +.. nonce: hr5Ke2 +.. section: Core and Builtins + +Match patterns now use new dedicated AST nodes (``MatchValue``, +``MatchSingleton``, ``MatchSequence``, ``MatchStar``, ``MatchMapping``, +``MatchClass``) rather than reusing expression AST nodes. ``MatchAs`` and +``MatchOr`` are now defined as pattern nodes rather than as expression +nodes. Patch by Nick Coghlan. + +.. + +.. bpo: 42725 +.. date: 2021-04-25-05-40-51 +.. nonce: WGloYm +.. section: Core and Builtins + +Usage of ``await``/``yield``/``yield from`` and named expressions within an +annotation is now forbidden when PEP 563 is activated. + +.. + +.. bpo: 43754 +.. date: 2021-04-24-16-40-23 +.. nonce: 9SzHWG +.. section: Core and Builtins + +When performing structural pattern matching (:pep:`634`), captured names are +now left unbound until the *entire* pattern has matched successfully. + +.. + +.. bpo: 42737 +.. date: 2021-04-22-22-48-30 +.. nonce: lsJ7pD +.. section: Core and Builtins + +Annotations for complex targets (everything beside simple names) no longer +cause any runtime effects with ``from __future__ import annotations``. + +.. + +.. bpo: 43914 +.. date: 2021-04-22-19-09-58 +.. nonce: 0Ik1AM +.. section: Core and Builtins + +:exc:`SyntaxError` exceptions raised by the intepreter will highlight the +full error range of the expression that consistutes the syntax error itself, +instead of just where the problem is detected. Patch by Pablo Galindo. + +.. + +.. bpo: 38605 +.. date: 2021-04-20-22-17-47 +.. nonce: 9eeCNZ +.. section: Core and Builtins + +Revert making ``from __future__ import annotations`` the default. This +follows the Steering Council decision to postpone PEP 563 changes to at +least Python 3.11. See the original email for more information regarding the +decision: +https://mail.python.org/archives/list/python-dev@python.org/thread/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/. +Patch by Pablo Galindo. + +.. + +.. bpo: 43475 +.. date: 2021-04-20-20-10-46 +.. nonce: oV8Mbs +.. section: Core and Builtins + +Hashes of NaN values now depend on object identity. Formerly, they always +hashed to 0 even though NaN values are not equal to one another. Having the +same hash for unequal values caused pile-ups in hash tables. + +.. + +.. bpo: 43859 +.. date: 2021-04-16-01-26-57 +.. nonce: QfqjFL +.. section: Core and Builtins + +Improve the error message for :exc:`IndentationError` exceptions. Patch by +Pablo Galindo + +.. + +.. bpo: 41323 +.. date: 2021-04-15-10-19-59 +.. nonce: nsvpSg +.. section: Core and Builtins + +Constant tuple folding in bytecode optimizer now reuses tuple in constant +table. + +.. + +.. bpo: 43846 +.. date: 2021-04-14-13-53-08 +.. nonce: 2jO97c +.. section: Core and Builtins + +Data stack usage is much reduced for large literal and call expressions. + +.. + +.. bpo: 38530 +.. date: 2021-04-14-03-53-06 +.. nonce: rNI_G1 +.. section: Core and Builtins + +When printing :exc:`NameError` raised by the interpreter, +:c:func:`PyErr_Display` will offer suggestions of similar variable names in +the function that the exception was raised from. Patch by Pablo Galindo + +.. + +.. bpo: 43823 +.. date: 2021-04-13-03-06-09 +.. nonce: xpuHBi +.. section: Core and Builtins + +Improve syntax errors for invalid dictionary literals. Patch by Pablo +Galindo. + +.. + +.. bpo: 43822 +.. date: 2021-04-13-02-32-18 +.. nonce: lej0OO +.. section: Core and Builtins + +Improve syntax errors in the parser for missing commas between expressions. +Patch by Pablo Galindo. + +.. + +.. bpo: 43798 +.. date: 2021-04-10-00-01-43 +.. nonce: p_nJFM +.. section: Core and Builtins + +:class:`ast.alias` nodes now include source location metadata attributes +e.g. lineno, col_offset. + +.. + +.. bpo: 43797 +.. date: 2021-04-09-19-12-48 +.. nonce: HfRqNP +.. section: Core and Builtins + +Improve ``SyntaxError`` error messages for invalid comparisons. Patch by +Pablo Galindo. + +.. + +.. bpo: 43760 +.. date: 2021-04-08-12-20-29 +.. nonce: tBIsD8 +.. section: Core and Builtins + +Move the flag for checking whether tracing is enabled to the C stack, from +the heap. Should speed up dispatch in the interpreter. + +.. + +.. bpo: 43682 +.. date: 2021-04-08-01-06-22 +.. nonce: eUn4p5 +.. section: Core and Builtins + +Static methods (:func:`@staticmethod <staticmethod>`) and class methods +(:func:`@classmethod <classmethod>`) now inherit the method attributes +(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``, +``__annotations__``) and have a new ``__wrapped__`` attribute. Patch by +Victor Stinner. + +.. + +.. bpo: 43751 +.. date: 2021-04-07-18-00-05 +.. nonce: 8fHsqQ +.. section: Core and Builtins + +Fixed a bug where ``anext(ait, default)`` would erroneously return None. + +.. + +.. bpo: 42128 +.. date: 2021-04-05-17-38-08 +.. nonce: 1uVeGK +.. section: Core and Builtins + +:data:`~object.__match_args__` is no longer allowed to be a list. + +.. + +.. bpo: 43683 +.. date: 2021-04-01-12-30-30 +.. nonce: AjxOx2 +.. section: Core and Builtins + +Add GEN_START opcode. Marks start of generator, including async, or +coroutine and handles sending values to a newly created generator or +coroutine. + +.. + +.. bpo: 43105 +.. date: 2021-03-31-20-35-11 +.. nonce: PBVmHm +.. section: Core and Builtins + +Importlib now resolves relative paths when creating module spec objects from +file locations. + +.. + +.. bpo: 43682 +.. date: 2021-03-31-16-32-57 +.. nonce: VSF3vg +.. section: Core and Builtins + +Static methods (:func:`@staticmethod <staticmethod>`) are now callable as +regular functions. Patch by Victor Stinner. + +.. + +.. bpo: 42609 +.. date: 2020-12-12-14-28-31 +.. nonce: Qcd54b +.. section: Core and Builtins + +Prevented crashes in the AST validator and optimizer when compiling some +absurdly long expressions like ``"+0"*1000000``. :exc:`RecursionError` is +now raised instead. + +.. + +.. bpo: 38530 +.. date: 2019-10-27-20-20-07 +.. nonce: ZyoDNn +.. section: Core and Builtins + +When printing :exc:`AttributeError`, :c:func:`PyErr_Display` will offer +suggestions of similar attribute names in the object that the exception was +raised from. Patch by Pablo Galindo + +.. + +.. bpo: 44015 +.. date: 2021-05-03-03-03-49 +.. nonce: V5936k +.. section: Library + +In @dataclass(), raise a TypeError if KW_ONLY is specified more than once. + +.. + +.. bpo: 25478 +.. date: 2021-05-02-19-17-20 +.. nonce: AwlwdA +.. section: Library + +Added a *total()* method to collections.Counter() to compute the sum of the +counts. + +.. + +.. bpo: 43733 +.. date: 2021-05-01-22-59-20 +.. nonce: gJWwEQ +.. section: Library + +Change :class:`netrc.netrc` to use UTF-8 encoding before using locale +encoding. + +.. + +.. bpo: 43979 +.. date: 2021-05-01-01-36-51 +.. nonce: 43oJ9L +.. section: Library + +Removed an unnecessary list comprehension before looping from +:func:`urllib.parse.parse_qsl`. Patch by Christoph Zwerschke and Dong-hee +Na. + +.. + +.. bpo: 43993 +.. date: 2021-04-30-19-23-45 +.. nonce: T7_yoq +.. section: Library + +Update bundled pip to 21.1.1. + +.. + +.. bpo: 43957 +.. date: 2021-04-27-12-13-51 +.. nonce: 6EaPD- +.. section: Library + +[Enum] Deprecate ``TypeError`` when non-member is used in a containment +check; In 3.12 ``True`` or ``False`` will be returned instead, and +containment will return ``True`` if the value is either a member of that +enum or one of its members' value. + +.. + +.. bpo: 42904 +.. date: 2021-04-26-23-39-47 +.. nonce: ejjsyR +.. section: Library + +For backwards compatbility with previous minor versions of Python, if +:func:`typing.get_type_hints` receives no namespace dictionary arguments, +:func:`typing.get_type_hints` will search through the global then local +namespaces during evaluation of stringized type annotations (string forward +references) inside a class. + +.. + +.. bpo: 43945 +.. date: 2021-04-26-20-52-16 +.. nonce: NgERXO +.. section: Library + +[Enum] Deprecate non-standard mixin format() behavior: in 3.12 the enum +member, not the member's value, will be used for format() calls. + +.. + +.. bpo: 41139 +.. date: 2021-04-26-17-47-48 +.. nonce: ROhn1k +.. section: Library + +Deprecate undocumented ``cgi.log()`` API. + +.. + +.. bpo: 43937 +.. date: 2021-04-25-13-34-13 +.. nonce: isx95l +.. section: Library + +Fixed the :mod:`turtle` module working with non-default root window. + +.. + +.. bpo: 43930 +.. date: 2021-04-24-14-23-07 +.. nonce: R7ah0m +.. section: Library + +Update bundled pip to 21.1 and setuptools to 56.0.0 + +.. + +.. bpo: 43907 +.. date: 2021-04-23-20-57-20 +.. nonce: 3RJEjv +.. section: Library + +Fix a bug in the pure-Python pickle implementation when using protocol 5, +where bytearray instances that occur several time in the pickled object +graph would incorrectly unpickle into repeated copies of the bytearray +object. + +.. + +.. bpo: 43926 +.. date: 2021-04-23-17-48-55 +.. nonce: HMUlGU +.. section: Library + +In ``importlib.metadata``, provide a uniform interface to ``Description``, +allow for any field to be encoded with multiline values, remove continuation +lines from multiline values, and add a ``.json`` property for easy access to +the PEP 566 JSON-compatible form. Sync with ``importlib_metadata 4.0``. + +.. + +.. bpo: 43920 +.. date: 2021-04-23-11-54-38 +.. nonce: cJMQ2D +.. section: Library + +OpenSSL 3.0.0: :meth:`~ssl.SSLContext.load_verify_locations` now returns a +consistent error message when cadata contains no valid certificate. + +.. + +.. bpo: 43607 +.. date: 2021-04-22-22-39-58 +.. nonce: 7IYDkG +.. section: Library + +:mod:`urllib` can now convert Windows paths with ``\\?\`` prefixes into URL +paths. + +.. + +.. bpo: 43817 +.. date: 2021-04-22-04-12-13 +.. nonce: FQ-XlH +.. section: Library + +Add :func:`inspect.get_annotations`, which safely computes the annotations +defined on an object. It works around the quirks of accessing the +annotations from various types of objects, and makes very few assumptions +about the object passed in. :func:`inspect.get_annotations` can also +correctly un-stringize stringized annotations. + +:func:`inspect.signature`, :func:`inspect.from_callable`, and +:func:`inspect.from_function` now call :func:`inspect.get_annotations` to +retrieve annotations. This means :func:`inspect.signature` and +:func:`inspect.from_callable` can now un-stringize stringized annotations, +too. + +.. + +.. bpo: 43284 +.. date: 2021-04-21-14-50-57 +.. nonce: 2QZn2T +.. section: Library + +platform.win32_ver derives the windows version from +sys.getwindowsversion().platform_version which in turn derives the version +from kernel32.dll (which can be of a different version than Windows itself). +Therefore change the platform.win32_ver to determine the version using the +platform module's _syscmd_ver private function to return an accurate +version. + +.. + +.. bpo: 42854 +.. date: 2021-04-19-03-54-29 +.. nonce: Y4M7Tv +.. section: Library + +The :mod:`ssl` module now uses ``SSL_read_ex`` and ``SSL_write_ex`` +internally. The functions support reading and writing of data larger than 2 +GB. Writing zero-length data no longer fails with a protocol violation +error. + +.. + +.. bpo: 42333 +.. date: 2021-04-17-19-31-17 +.. nonce: cgbtZO +.. section: Library + +Port ``_ssl`` extension module to multiphase initialization. + +.. + +.. bpo: 43880 +.. date: 2021-04-17-13-53-33 +.. nonce: -fC2JD +.. section: Library + +:mod:`ssl` now raises DeprecationWarning for OP_NO_SSL/TLS* options, old TLS +versions, old protocols, and other features that have been deprecated since +Python 3.6, 3.7, or OpenSSL 1.1.0. + +.. + +.. bpo: 41559 +.. date: 2021-04-17-10-49-57 +.. nonce: caIwt9 +.. section: Library + +:pep:`612` is now implemented purely in Python; builtin +``types.GenericAlias`` objects no longer include ``typing.ParamSpec`` in +``__parameters__`` (with the exception of ``collections.abc.Callable``\ 's +``GenericAlias``). This means previously invalid uses of ``ParamSpec`` (such +as ``list[P]``) which worked in earlier versions of Python 3.10 alpha, will +now raise ``TypeError`` during substitution. + +.. + +.. bpo: 43867 +.. date: 2021-04-16-16-46-44 +.. nonce: xT9QjF +.. section: Library + +The :mod:`multiprocessing` ``Server`` class now explicitly catchs +:exc:`SystemExit` and closes the client connection in this case. It happens +when the ``Server.serve_client()`` method reachs the end of file (EOF). + +.. + +.. bpo: 40443 +.. date: 2021-04-16-02-03-00 +.. nonce: Io6FHL +.. section: Library + +Remove unused imports: pyclbr no longer uses copy, and typing no longer uses +ast. Patch by Victor Stinner. + +.. + +.. bpo: 43820 +.. date: 2021-04-12-18-01-10 +.. nonce: YkqYW4 +.. section: Library + +Remove an unneeded copy of the namespace passed to +dataclasses.make_dataclass(). + +.. + +.. bpo: 43787 +.. date: 2021-04-12-15-15-50 +.. nonce: wCy_Wd +.. section: Library + +Add ``__iter__()`` method to :class:`bz2.BZ2File`, :class:`gzip.GzipFile`, +and :class:`lzma.LZMAFile`. It makes iterating them about 2x faster. Patch +by Inada Naoki. + +.. + +.. bpo: 43680 +.. date: 2021-04-12-11-20-34 +.. nonce: SR0Epv +.. section: Library + +Deprecate io.OpenWrapper and _pyio.OpenWrapper: use io.open and _pyio.open +instead. Until Python 3.9, _pyio.open was not a static method and +builtins.open was set to OpenWrapper to not become a bound method when set +to a class variable. _io.open is a built-in function whereas _pyio.open is a +Python function. In Python 3.10, _pyio.open() is now a static method, and +builtins.open() is now io.open(). + +.. + +.. bpo: 43680 +.. date: 2021-04-12-09-57-37 +.. nonce: o1zEk_ +.. section: Library + +The Python :func:`_pyio.open` function becomes a static method to behave as +:func:`io.open` built-in function: don't become a bound method when stored +as a class variable. It becomes possible since static methods are now +callable in Python 3.10. Moreover, :func:`_pyio.OpenWrapper` becomes a +simple alias to :func:`_pyio.open`. Patch by Victor Stinner. + +.. + +.. bpo: 41515 +.. date: 2021-04-12-06-01-10 +.. nonce: YaVReb +.. section: Library + +Fix :exc:`KeyError` raised in :func:`typing.get_type_hints` due to synthetic +modules that don't appear in ``sys.modules``. + +.. + +.. bpo: 43776 +.. date: 2021-04-12-00-00-00 +.. nonce: p14y7a +.. section: Library + +When :class:`subprocess.Popen` args are provided as a string or as +:class:`pathlib.Path`, the Popen instance repr now shows the right thing. + +.. + +.. bpo: 42248 +.. date: 2021-04-11-21-10-57 +.. nonce: pedB1E +.. section: Library + +[Enum] ensure exceptions raised in ``_missing__`` are released + +.. + +.. bpo: 43744 +.. date: 2021-04-11-20-52-32 +.. nonce: uf0E68 +.. section: Library + +fix issue with enum member name matching the start of a private variable +name + +.. + +.. bpo: 43772 +.. date: 2021-04-10-19-14-49 +.. nonce: Bxq0zQ +.. section: Library + +Fixed the return value of ``TypeVar.__ror__``. Patch by Jelle Zijlstra. + +.. + +.. bpo: 43764 +.. date: 2021-04-10-18-23-09 +.. nonce: Le5KJp +.. section: Library + +Add match_args parameter to @dataclass decorator to allow suppression of +__match_args__ generation. + +.. + +.. bpo: 43799 +.. date: 2021-04-10-11-35-50 +.. nonce: 1iV4pX +.. section: Library + +OpenSSL 3.0.0: define ``OPENSSL_API_COMPAT`` 1.1.1 to suppress deprecation +warnings. Python requires OpenSSL 1.1.1 APIs. + +.. + +.. bpo: 43478 +.. date: 2021-04-10-03-30-36 +.. nonce: iZcBTq +.. section: Library + +Mocks can no longer be used as the specs for other Mocks. As a result, an +already-mocked object cannot have an attribute mocked using +``autospec=True`` or be the subject of a ``create_autospec(...)`` call. This +can uncover bugs in tests since these Mock-derived Mocks will always pass +certain tests (e.g. :func:`isinstance`) and builtin assert functions (e.g. +assert_called_once_with) will unconditionally pass. + +.. + +.. bpo: 43794 +.. date: 2021-04-09-16-14-22 +.. nonce: -1XPDH +.. section: Library + +Add :data:`ssl.OP_IGNORE_UNEXPECTED_EOF` constants (OpenSSL 3.0.0) + +.. + +.. bpo: 43785 +.. date: 2021-04-09-14-51-58 +.. nonce: 1mM5xE +.. section: Library + +Improve ``bz2.BZ2File`` performance by removing the RLock from BZ2File. This +makes BZ2File thread unsafe in the face of multiple simultaneous readers or +writers, just like its equivalent classes in :mod:`gzip` and :mod:`lzma` +have always been. Patch by Inada Naoki. + +.. + +.. bpo: 43789 +.. date: 2021-04-09-14-08-03 +.. nonce: eaHlAm +.. section: Library + +OpenSSL 3.0.0: Don't call the password callback function a second time when +first call has signaled an error condition. + +.. + +.. bpo: 43788 +.. date: 2021-04-09-12-08-01 +.. nonce: YsvInM +.. section: Library + +The header files for :mod:`ssl` error codes are now OpenSSL +version-specific. Exceptions will now show correct reason and library codes. +The ``make_ssl_data.py`` script has been rewritten to use OpenSSL's text +file with error codes. + +.. + +.. bpo: 43766 +.. date: 2021-04-09-00-16-22 +.. nonce: nYNQP0 +.. section: Library + +Implement :pep:`647` in the :mod:`typing` module by adding +:data:`TypeGuard`. + +.. + +.. bpo: 25264 +.. date: 2021-04-08-22-11-27 +.. nonce: b33fa0 +.. section: Library + +:func:`os.path.realpath` now accepts a *strict* keyword-only argument. When +set to ``True``, :exc:`OSError` is raised if a path doesn't exist or a +symlink loop is encountered. + +.. + +.. bpo: 43780 +.. date: 2021-04-08-20-04-46 +.. nonce: hUOgCh +.. section: Library + +In ``importlib.metadata``, incorporate changes from importlib_metadata 3.10: +Add mtime-based caching during distribution discovery. Flagged use of dict +result from ``entry_points()`` as deprecated. + +.. + +.. bpo: 47383 +.. date: 2021-04-08-19-32-26 +.. nonce: YI1hdL +.. section: Library + +The ``P.args`` and ``P.kwargs`` attributes of :class:`typing.ParamSpec` are +now instances of the new classes :class:`typing.ParamSpecArgs` and +:class:`typing.ParamSpecKwargs`, which enables a more useful ``repr()``. +Patch by Jelle Zijlstra. + +.. + +.. bpo: 43731 +.. date: 2021-04-08-15-19-20 +.. nonce: nnVd3h +.. section: Library + +Add an ``encoding`` parameter :func:`logging.fileConfig()`. + +.. + +.. bpo: 43712 +.. date: 2021-04-08-12-25-08 +.. nonce: f8WXCX +.. section: Library + +Add ``encoding`` and ``errors`` parameters to :func:`fileinput.input` and +:class:`fileinput.FileInput`. + +.. + +.. bpo: 38659 +.. date: 2021-04-08-11-47-31 +.. nonce: r_HFnU +.. section: Library + +A ``simple_enum`` decorator is added to the ``enum`` module to convert a +normal class into an Enum. ``test_simple_enum`` added to test simple enums +against a corresponding normal Enum. Standard library modules updated to +use ``simple_enum``. + +.. + +.. bpo: 43764 +.. date: 2021-04-08-09-59-20 +.. nonce: tHjO60 +.. section: Library + +Fix an issue where :data:`~object.__match_args__` generation could fail for +some :mod:`dataclasses`. + +.. + +.. bpo: 43752 +.. date: 2021-04-06-21-18-29 +.. nonce: K7qmAF +.. section: Library + +Fix :mod:`sqlite3` regression for zero-sized blobs with converters, where +``b""`` was returned instead of ``None``. The regression was introduced by +GH-24723. Patch by Erlend E. Aasland. + +.. + +.. bpo: 43655 +.. date: 2021-04-04-20-51-19 +.. nonce: LwGy8R +.. section: Library + +:mod:`tkinter` dialog windows are now recognized as dialogs by window +managers on macOS and X Window. + +.. + +.. bpo: 43723 +.. date: 2021-04-03-18-03-44 +.. nonce: uBhBZS +.. section: Library + +The following ``threading`` methods are now deprecated and should be +replaced: + +- ``currentThread`` => :func:`threading.current_thread` + +- ``activeCount`` => :func:`threading.active_count` + +- ``Condition.notifyAll`` => :meth:`threading.Condition.notify_all` + +- ``Event.isSet`` => :meth:`threading.Event.is_set` + +- ``Thread.setName`` => :attr:`threading.Thread.name` + +- ``thread.getName`` => :attr:`threading.Thread.name` + +- ``Thread.isDaemon`` => :attr:`threading.Thread.daemon` + +- ``Thread.setDaemon`` => :attr:`threading.Thread.daemon` + +Patch by Jelle Zijlstra. + +.. + +.. bpo: 2135 +.. date: 2021-04-03-15-24-59 +.. nonce: xmDAYJ +.. section: Library + +Deprecate find_module() and find_loader() implementations in importlib and +zipimport. + +.. + +.. bpo: 43534 +.. date: 2021-03-18-15-46-08 +.. nonce: vPE9Us +.. section: Library + +:func:`turtle.textinput` and :func:`turtle.numinput` create now a transient +window working on behalf of the canvas window. + +.. + +.. bpo: 43532 +.. date: 2021-03-17-19-06-45 +.. nonce: W2Ntnm +.. section: Library + +Add the ability to specify keyword-only fields to dataclasses. These fields +will become keyword-only arguments to the generated __init__. + +.. + +.. bpo: 43522 +.. date: 2021-03-16-22-37-32 +.. nonce: dhNwOu +.. section: Library + +Fix problem with :attr:`~ssl.SSLContext.hostname_checks_common_name`. +OpenSSL does not copy hostflags from *struct SSL_CTX* to *struct SSL*. + +.. + +.. bpo: 8978 +.. date: 2021-03-13-14-02-07 +.. nonce: CRxG-O +.. section: Library + +Improve error message for :func:`tarfile.open` when :mod:`lzma` / :mod:`bz2` +are unavailable. Patch by Anthony Sottile. + +.. + +.. bpo: 42967 +.. date: 2021-03-11-00-31-41 +.. nonce: 2PeQRw +.. section: Library + +Allow :class:`bytes` ``separator`` argument in ``urllib.parse.parse_qs`` and +``urllib.parse.parse_qsl`` when parsing :class:`str` query strings. +Previously, this raised a ``TypeError``. + +.. + +.. bpo: 43296 +.. date: 2021-03-01-13-01-33 +.. nonce: p_gU6T +.. section: Library + +Improve :mod:`sqlite3` error handling: ``sqlite3_value_blob()`` errors that +set ``SQLITE_NOMEM`` now raise :exc:`MemoryError`. Patch by Erlend E. +Aasland. + +.. + +.. bpo: 43312 +.. date: 2021-02-25-14-43-59 +.. nonce: 6dg9_2 +.. section: Library + +New functions :func:`sysconfig.get_preferred_scheme` and +:func:`sysconfig.get_default_scheme` are added to query a platform for its +preferred "user", "home", and "prefix" (default) scheme names. + +.. + +.. bpo: 43265 +.. date: 2021-02-19-22-24-33 +.. nonce: MyAzCH +.. section: Library + +Improve :meth:`sqlite3.Connection.backup` error handling. The error message +for non-existant target database names is now ``unknown database <database +name>`` instead of ``SQL logic error``. Patch by Erlend E. Aasland. + +.. + +.. bpo: 41282 +.. date: 2021-02-16-13-18-38 +.. nonce: GK9a0l +.. section: Library + +Install schemes in :mod:`distutils.command.install` are now loaded from +:mod:`sysconfig`. + +.. + +.. bpo: 41282 +.. date: 2021-02-15-12-52-23 +.. nonce: SenEje +.. section: Library + +:mod:`distutils.sysconfig` has been merged to :mod:`sysconfig`. + +.. + +.. bpo: 43176 +.. date: 2021-02-09-07-24-29 +.. nonce: bocNQn +.. section: Library + +Fixed processing of a dataclass that inherits from a frozen dataclass with +no fields. It is now correctly detected as an error. + +.. + +.. bpo: 43080 +.. date: 2021-01-31-00-23-13 +.. nonce: -fDg4Q +.. section: Library + +:mod:`pprint` now has support for :class:`dataclasses.dataclass`. Patch by +Lewis Gaul. + +.. + +.. bpo: 39950 +.. date: 2021-01-22-00-15-37 +.. nonce: NzLVaR +.. section: Library + +Add `pathlib.Path.hardlink_to()` method that supersedes `link_to()`. The new +method has the same argument order as `symlink_to()`. + +.. + +.. bpo: 42904 +.. date: 2021-01-12-23-17-02 +.. nonce: -4qkTD +.. section: Library + +:func:`typing.get_type_hints` now checks the local namespace of a class when +evaluating :pep:`563` annotations inside said class. + +.. + +.. bpo: 42269 +.. date: 2021-01-08-22-32-13 +.. nonce: W5v8z4 +.. section: Library + +Add ``slots`` parameter to ``dataclasses.dataclass`` decorator to +automatically generate ``__slots__`` for class. Patch provided by Yurii +Karabas. + +.. + +.. bpo: 39529 +.. date: 2020-12-06-20-21-16 +.. nonce: 9Zrg43 +.. section: Library + +Deprecated use of :func:`asyncio.get_event_loop` without running event loop. +Emit deprecation warning for :mod:`asyncio` functions which implicitly +create a :class:`~asyncio.Future` or :class:`~asyncio.Task` objects if there +is no running event loop and no explicit *loop* argument is passed: +:func:`~asyncio.ensure_future`, :func:`~asyncio.wrap_future`, +:func:`~asyncio.gather`, :func:`~asyncio.shield`, +:func:`~asyncio.as_completed` and constructors of :class:`~asyncio.Future`, +:class:`~asyncio.Task`, :class:`~asyncio.StreamReader`, +:class:`~asyncio.StreamReaderProtocol`. + +.. + +.. bpo: 18369 +.. date: 2020-11-19-09-52-24 +.. nonce: qzvYH2 +.. section: Library + +Certificate and PrivateKey classes were added to the ssl module. +Certificates and keys can now be loaded from memory buffer, too. + +.. + +.. bpo: 41486 +.. date: 2020-10-16-15-34-30 +.. nonce: Mu9Iit +.. section: Library + +Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` / +:mod:`zlib` modules, and add ``.readall()`` function to +``_compression.DecompressReader`` class. These bring some performance +improvements. Patch by Ma Lin. + +.. + +.. bpo: 31870 +.. date: 2020-09-15-23-44-07 +.. nonce: nVwd38 +.. section: Library + +The :func:`ssl.get_server_certificate` function now has a *timeout* +parameter. + +.. + +.. bpo: 41735 +.. date: 2020-09-07-11-15-15 +.. nonce: NKqGKy +.. section: Library + +Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin. + +.. + +.. bpo: 36470 +.. date: 2020-06-13-23-33-32 +.. nonce: oi6Kdb +.. section: Library + +Fix dataclasses with ``InitVar``\s and :func:`~dataclasses.replace()`. Patch +by Claudiu Popa. + +.. + +.. bpo: 40849 +.. date: 2020-06-02-21-32-33 +.. nonce: zpeKx3 +.. section: Library + +Expose X509_V_FLAG_PARTIAL_CHAIN ssl flag + +.. + +.. bpo: 35114 +.. date: 2020-05-17-14-10-24 +.. nonce: uLIHfn +.. section: Library + +:func:`ssl.RAND_status` now returns a boolean value (as documented) instead +of ``1`` or ``0``. + +.. + +.. bpo: 39906 +.. date: 2020-03-30-00-13-27 +.. nonce: eaR3fN +.. section: Library + +:meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a +*follow_symlinks* keyword-only argument for consistency with corresponding +functions in the :mod:`os` module. + +.. + +.. bpo: 39899 +.. date: 2020-03-09-20-36-07 +.. nonce: 9adF3E +.. section: Library + +:func:`os.path.expanduser()` now refuses to guess Windows home directories +if the basename of current user's home directory does not match their +username. + +:meth:`pathlib.Path.expanduser()` and :meth:`~pathlib.Path.home()` now +consistently raise :exc:`RuntimeError` exception when a home directory +cannot be resolved. Previously a :exc:`KeyError` exception could be raised +on Windows when the ``"USERNAME"`` environment variable was unset. + +.. + +.. bpo: 36076 +.. date: 2019-10-16-17-21-53 +.. nonce: FGeQQT +.. section: Library + +Added SNI support to :func:`ssl.get_server_certificate`. + +.. + +.. bpo: 38490 +.. date: 2019-10-16-08-08-14 +.. nonce: QbDXEF +.. section: Library + +Covariance, Pearson's correlation, and simple linear regression +functionality was added to statistics module. Patch by Tymoteusz Wołodźko. + +.. + +.. bpo: 33731 +.. date: 2019-08-14-13-19-50 +.. nonce: 9esS0d +.. section: Library + +Provide a locale.localize() function, which converts a normalized number +string into a locale format. + +.. + +.. bpo: 32745 +.. date: 2018-08-09-23-47-10 +.. nonce: iQi9hI +.. section: Library + +Fix a regression in the handling of ctypes' :data:`ctypes.c_wchar_p` type: +embedded null characters would cause a :exc:`ValueError` to be raised. Patch +by Zackery Spytz. + +.. + +.. bpo: 43987 +.. date: 2021-04-30-04-27-02 +.. nonce: 1DftVa +.. section: Documentation + +Add "Annotations Best Practices" document as a new HOWTO. + +.. + +.. bpo: 43977 +.. date: 2021-04-29-15-06-03 +.. nonce: K5aSl1 +.. section: Documentation + +Document the new :const:`Py_TPFLAGS_MAPPING` and +:const:`Py_TPFLAGS_SEQUENCE` type flags. + +.. + +.. bpo: 43959 +.. date: 2021-04-27-22-22-22 +.. nonce: n2261q +.. section: Documentation + +The documentation on the PyContextVar C-API was clarified. + +.. + +.. bpo: 43938 +.. date: 2021-04-25-22-44-27 +.. nonce: nC660q +.. section: Documentation + +Update dataclasses documentation to express that FrozenInstanceError is +derived from AttributeError. + +.. + +.. bpo: 43778 +.. date: 2021-04-08-22-42-02 +.. nonce: MszRnY +.. section: Documentation + +Fix the Sphinx glossary_search extension: create the _static/ sub-directory +if it doesn't exist. + +.. + +.. bpo: 43755 +.. date: 2021-04-06-14-55-45 +.. nonce: 1m0fGq +.. section: Documentation + +Update documentation to reflect that unparenthesized lambda expressions can +no longer be the expression part in an ``if`` clause in comprehensions and +generator expressions since Python 3.9. + +.. + +.. bpo: 43739 +.. date: 2021-04-06-07-05-49 +.. nonce: L4HjiX +.. section: Documentation + +Fixing the example code in Doc/extending/extending.rst to declare and +initialize the pmodule variable to be of the right type. + +.. + +.. bpo: 43961 +.. date: 2021-04-28-13-21-52 +.. nonce: gNchls +.. section: Tests + +Fix test_logging.test_namer_rotator_inheritance() on Windows: use +:func:`os.replace` rather than :func:`os.rename`. Patch by Victor Stinner. + +.. + +.. bpo: 43842 +.. date: 2021-04-16-14-07-40 +.. nonce: w60GAH +.. section: Tests + +Fix a race condition in the SMTP test of test_logging. Don't close a file +descriptor (socket) from a different thread while asyncore.loop() is polling +the file descriptor. Patch by Victor Stinner. + +.. + +.. bpo: 43843 +.. date: 2021-04-14-13-22-44 +.. nonce: ruIQKD +.. section: Tests + +:mod:`test.libregrtest` now marks a test as ENV_CHANGED (altered the +execution environment) if a thread raises an exception but does not catch +it. It sets a hook on :func:`threading.excepthook`. Use +``--fail-env-changed`` option to mark the test as failed. Patch by Victor +Stinner. + +.. + +.. bpo: 43811 +.. date: 2021-04-12-11-14-28 +.. nonce: vGNbnD +.. section: Tests + +Tests multiple OpenSSL versions on GitHub Actions. Use ccache to speed up +testing. + +.. + +.. bpo: 43791 +.. date: 2021-04-09-15-10-38 +.. nonce: 4KxiXK +.. section: Tests + +OpenSSL 3.0.0: Disable testing of legacy protocols TLS 1.0 and 1.1. Tests +are failing with TLSV1_ALERT_INTERNAL_ERROR. + +.. + +.. bpo: 43567 +.. date: 2021-03-31-19-50-01 +.. nonce: vd0a-p +.. section: Build + +Improved generated code refresh (AST/tokens/opcodes/keywords) on Windows. + +.. + +.. bpo: 43669 +.. date: 2021-03-30-14-19-39 +.. nonce: lWMUYx +.. section: Build + +Implement :pep:`644`. Python now requires OpenSSL 1.1.1 or newer. + +.. + +.. bpo: 35306 +.. date: 2021-04-22-21-37-41 +.. nonce: 10kSR- +.. section: Windows + +Adds additional arguments to :func:`os.startfile` function. + +.. + +.. bpo: 43538 +.. date: 2021-04-22-20-39-49 +.. nonce: F0Cg6X +.. section: Windows + +Avoid raising errors from :meth:`pathlib.Path.exists()` when passed an +invalid filename. + +.. + +.. bpo: 38822 +.. date: 2021-04-22-19-49-20 +.. nonce: jgdPmq +.. section: Windows + +Fixed :func:`os.stat` failing on inaccessible directories with a trailing +slash, rather than falling back to the parent directory's metadata. This +implicitly affected :func:`os.path.exists` and :func:`os.path.isdir`. + +.. + +.. bpo: 26227 +.. date: 2021-04-21-23-37-34 +.. nonce: QMY_eA +.. section: Windows + +Fixed decoding of host names in :func:`socket.gethostbyaddr` and +:func:`socket.gethostbyname_ex`. + +.. + +.. bpo: 40432 +.. date: 2021-04-20-23-07-22 +.. nonce: 9OFpoq +.. section: Windows + +Updated pegen regeneration script on Windows to find and use Python 3.8 or +higher. Prior to this, pegen regeneration already required 3.8 or higher, +but the script may have used lower versions of Python. + +.. + +.. bpo: 43745 +.. date: 2021-04-06-12-27-33 +.. nonce: rdKNda +.. section: Windows + +Actually updates Windows release to OpenSSL 1.1.1k. Earlier releases were +mislabelled and actually included 1.1.1i again. + +.. + +.. bpo: 43652 +.. date: 2021-04-03-18-54-31 +.. nonce: gNmfVN +.. section: Windows + +Update Tcl and Tk to 8.6.11 in Windows installer. + +.. + +.. bpo: 43492 +.. date: 2021-03-15-11-34-33 +.. nonce: AsYnVX +.. section: Windows + +Upgrade Windows installer to use SQLite 3.35.5. + +.. + +.. bpo: 30555 +.. date: 2017-12-16-12-23-51 +.. nonce: 3ybjly +.. section: Windows + +Fix ``WindowsConsoleIO`` errors in the presence of fd redirection. Patch by +Segev Finer. + +.. + +.. bpo: 42119 +.. date: 2021-05-02-21-03-27 +.. nonce: Y7BSX_ +.. section: macOS + +Fix check for macOS SDK paths when building Python. Narrow search to match +contents of SDKs, namely only files in ``/System/Library``, +``/System/IOSSupport``, and ``/usr`` other than ``/usr/local``. Previously, +anything under ``/System`` was assumed to be in an SDK which causes problems +with the new file system layout in 10.15+ where user file systems may appear +to be mounted under ``/System``. Paths in ``/Library`` were also +incorrectly treated as SDK locations. + +.. + +.. bpo: 43568 +.. date: 2021-05-02-19-50-52 +.. nonce: AeLNBd +.. section: macOS + +Drop support for MACOSX_DEPLOYMENT_TARGET < 10.3 + +.. + +.. bpo: 44009 +.. date: 2021-05-02-03-45-30 +.. nonce: uvhmlh +.. section: macOS + +Provide "python3.x-intel64" executable to allow reliably forcing macOS +universal2 framework builds to run under Rosetta 2 Intel-64 emulation on +Apple Silicon Macs. This can be useful for testing or when universal2 +wheels are not yet available. + +.. + +.. bpo: 43851 +.. date: 2021-04-15-01-20-45 +.. nonce: sDI60Y +.. section: macOS + +Build SQLite with ``SQLITE_OMIT_AUTOINIT`` on macOS. Patch by Erlend E. +Aasland. + +.. + +.. bpo: 43492 +.. date: 2021-03-15-11-32-23 +.. nonce: 1ZRcV9 +.. section: macOS + +Update macOS installer to use SQLite 3.35.4. + +.. + +.. bpo: 42235 +.. date: 2020-11-01-17-37-16 +.. nonce: A97_BN +.. section: macOS + +``Mac/BuildScript/build-installer.py`` will now use "--enable-optimizations" +and ``--with-lto`` when building on macOS 10.15 or later. + +.. + +.. bpo: 37903 +.. date: 2021-05-02-20-25-53 +.. nonce: VQ6VTU +.. section: IDLE + +Add mouse actions to the shell sidebar. Left click and optional drag +selects one or more lines, as with the editor line number sidebar. Right +click after selecting raises a context menu with 'copy with prompts'. This +zips together prompts from the sidebar with lines from the selected text. + +.. + +.. bpo: 43981 +.. date: 2021-04-30-17-59-56 +.. nonce: 3EFl1H +.. section: IDLE + +Fix reference leak in test_squeezer. Patch by Pablo Galindo + +.. + +.. bpo: 37892 +.. date: 2021-04-29-02-40-41 +.. nonce: bgW2fk +.. section: IDLE + +Indent IDLE Shell input with spaces instead of tabs + +.. + +.. bpo: 43655 +.. date: 2021-04-04-20-52-07 +.. nonce: HSyaKH +.. section: IDLE + +IDLE dialog windows are now recognized as dialogs by window managers on +macOS and X Window. + +.. + +.. bpo: 37903 +.. date: 2019-08-24-23-49-36 +.. nonce: 4xjast +.. section: IDLE + +IDLE's shell now shows prompts in a separate side-bar. + +.. + +.. bpo: 43916 +.. date: 2021-04-29-17-35-48 +.. nonce: wvWt23 +.. section: C API + +Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow +creating type instances. Patch by Victor Stinner. + +.. + +.. bpo: 43774 +.. date: 2021-04-29-10-17-21 +.. nonce: 5MGfgN +.. section: C API + +Remove the now unused ``PYMALLOC_DEBUG`` macro. Debug hooks on memory +allocators are now installed by default if Python is built in debug mode (if +``Py_DEBUG`` macro is defined). Moreover, they can now be used on Python +build in release mode (ex: using ``PYTHONMALLOC=debug`` environment +variable). + +.. + +.. bpo: 43962 +.. date: 2021-04-28-13-13-07 +.. nonce: 9Jzs5X +.. section: C API + +_PyInterpreterState_IDIncref() now calls _PyInterpreterState_IDInitref() and +always increments id_refcount. Previously, calling +_xxsubinterpreters.get_current() could create an id_refcount inconsistency +when a _xxsubinterpreters.InterpreterID object was deallocated. Patch by +Victor Stinner. + +.. + +.. bpo: 28254 +.. date: 2021-04-28-12-33-44 +.. nonce: a2561e +.. section: C API + +Add new C-API functions to control the state of the garbage collector: +:c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, +:c:func:`PyGC_IsEnabled()`, corresponding to the functions in the :mod:`gc` +module. + +.. + +.. bpo: 43908 +.. date: 2021-04-22-10-46-40 +.. nonce: Co3YhZ +.. section: C API + +Introduce :const:`Py_TPFLAGS_IMMUTABLETYPE` flag for immutable type objects, +and modify :c:func:`PyType_Ready` to set it for static types. Patch by +Erlend E. Aasland. + +.. + +.. bpo: 43795 +.. date: 2021-04-20-15-06-29 +.. nonce: y0IP4c +.. section: C API + +:c:func:`PyMem_Calloc` is now available in the limited C API +(``Py_LIMITED_API``). + +.. + +.. bpo: 43868 +.. date: 2021-04-16-18-15-56 +.. nonce: twQ7KH +.. section: C API + +:c:func:`PyOS_ReadlineFunctionPointer` is no longer exported by limited C +API headers and by ``python3.dll`` on Windows. Like any function that takes +``FILE*``, it is not part of the stable ABI. + +.. + +.. bpo: 43795 +.. date: 2021-04-09-18-19-07 +.. nonce: l0yobT +.. section: C API + +Stable ABI and limited API definitions are generated from a central manifest +(:pep:`652`). + +.. + +.. bpo: 43753 +.. date: 2021-04-06-20-52-44 +.. nonce: xUsHp1 +.. section: C API + +Add the :c:func:`Py_Is(x, y) <Py_Is>` function to test if the *x* object is +the *y* object, the same as ``x is y`` in Python. Add also the +:c:func:`Py_IsNone`, :c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` functions to +test if an object is, respectively, the ``None`` singleton, the ``True`` +singleton or the ``False`` singleton. Patch by Victor Stinner. |