Back to Cpython

3.10.0a1

Misc/NEWS.d/3.10.0a1.rst

3.15.0a869.7 KB
Original Source

.. bpo: 41304 .. date: 2020-07-15-20-15-08 .. nonce: vNEeYA .. release date: 2020-10-05 .. section: Security

Fixes python3x._pth being ignored on Windows, caused by the fix for :issue:29778 (:cve:2020-15801).

..

.. bpo: 41162 .. date: 2020-07-03-20-41-29 .. nonce: tb8pVj .. section: Security

Audit hooks are now cleared later during finalization to avoid missing events.

..

.. bpo: 29778 .. date: 2020-07-03-17-21-37 .. nonce: cR_fGS .. section: Security

Ensure :file:python3.dll is loaded from correct locations when Python is embedded (:cve:2020-15523).

..

.. bpo: 41004 .. date: 2020-06-29-16-02-29 .. nonce: ovF0KZ .. section: Security

The hash() methods of ipaddress.IPv4Interface and ipaddress.IPv6Interface incorrectly generated constant hash values of 32 and 128 respectively. This resulted in always causing hash collisions. The fix uses hash() to generate hash values for the tuple of (address, mask length, network address).

..

.. bpo: 39603 .. date: 2020-02-12-14-17-39 .. nonce: Gt3RSg .. section: Security

Prevent http header injection by rejecting control characters in http.client.putrequest(...).

..

.. bpo: 41909 .. date: 2020-10-04-10-55-12 .. nonce: BqHPcm .. section: Core and Builtins

Fixed stack overflow in :func:issubclass and :func:isinstance when getting the __bases__ attribute leads to infinite recursion.

..

.. bpo: 41922 .. date: 2020-10-04-01-02-58 .. nonce: kHGT8I .. section: Core and Builtins

Speed up calls to reversed() by using the :pep:590 vectorcall calling convention. Patch by Donghee Na.

..

.. bpo: 41873 .. date: 2020-09-28-08-58-28 .. nonce: VzEDhA .. section: Core and Builtins

Calls to float() are now faster due to the vectorcall calling convention. Patch by Dennis Sweeney.

..

.. bpo: 41870 .. date: 2020-09-27-22-23-14 .. nonce: 2v6_v4 .. section: Core and Builtins

Speed up calls to bool() by using the :pep:590 vectorcall calling convention. Patch by Donghee Na.

..

.. bpo: 1635741 .. date: 2020-09-26-14-43-30 .. nonce: aJS9B3 .. section: Library

Port the :mod:!_bisect module to the multi-phase initialization API (:pep:489).

..

.. bpo: 39934 .. date: 2020-09-24-12-15-45 .. nonce: YVHTCF .. section: Core and Builtins

Correctly count control blocks in 'except' in compiler. Ensures that a syntax error, rather a fatal error, occurs for deeply nested, named exception handlers.

..

.. bpo: 41780 .. date: 2020-09-15-23-29-49 .. nonce: bOBUIH .. section: Core and Builtins

Fix :meth:__dir__ of :class:types.GenericAlias. Patch by Batuhan Taskaya.

..

.. bpo: 1635741 .. date: 2020-09-12-18-34-34 .. nonce: lh335O .. section: Library

Port the :mod:!_lsprof extension module to multi-phase initialization (:pep:489).

..

.. bpo: 1635741 .. date: 2020-09-08-21-58-47 .. nonce: vdjSLH .. section: Library

Port the :mod:cmath extension module to multi-phase initialization (:pep:489).

..

.. bpo: 1635741 .. date: 2020-09-08-20-39-43 .. nonce: jiXmyT .. section: Library

Port the :mod:!_scproxy extension module to multi-phase initialization (:pep:489).

..

.. bpo: 1635741 .. date: 2020-09-07-11-35-02 .. nonce: rvIexb .. section: Library

Port the :mod:termios extension module to multi-phase initialization (:pep:489).

..

.. bpo: 1635741 .. date: 2020-09-07-09-45-47 .. nonce: QuDIut .. section: Library

Convert the :mod:!_sha256 extension module types to heap types.

..

.. bpo: 41690 .. date: 2020-09-02-12-00-57 .. nonce: Ny-Sfy .. section: Core and Builtins

Fix a possible stack overflow in the parser when parsing functions and classes with a huge amount of arguments. Patch by Pablo Galindo.

..

.. bpo: 1635741 .. date: 2020-09-01-17-22-35 .. nonce: CnRME3 .. section: Library

Port the :mod:!_overlapped extension module to multi-phase initialization (:pep:489).

..

.. bpo: 1635741 .. date: 2020-09-01-17-08-07 .. nonce: X9CZgo .. section: Library

Port the :mod:!_curses_panel extension module to multi-phase initialization (:pep:489).

..

.. bpo: 1635741 .. date: 2020-09-01-17-06-02 .. nonce: 5jZymK .. section: Library

Port the :mod:!_opcode extension module to multi-phase initialization (:pep:489).

..

.. bpo: 41681 .. date: 2020-08-31-17-49-02 .. nonce: 3-VJiH .. section: Core and Builtins

Fixes the wrong error description in the error raised by using 2 , in format string in f-string and :meth:str.format.

..

.. bpo: 41675 .. date: 2020-08-31-14-53-17 .. nonce: VSoqWU .. section: Library

The implementation of :func:signal.siginterrupt now uses :c:func:!sigaction (if it is available in the system) instead of the deprecated :c:func:!siginterrupt. Patch by Pablo Galindo.

..

.. bpo: 41670 .. date: 2020-08-31-11-37-59 .. nonce: vmRJRx .. section: Core and Builtins

Prevent line trace being skipped on platforms not compiled with USE_COMPUTED_GOTOS. Fixes issue where some lines nested within a try-except block were not being traced on Windows.

..

.. bpo: 41654 .. date: 2020-08-30-20-38-33 .. nonce: HtnhAM .. section: Core and Builtins

Fix a crash that occurred when destroying subclasses of :class:MemoryError. Patch by Pablo Galindo.

..

.. bpo: 1635741 .. date: 2020-08-28-20-54-04 .. nonce: 7ijlcI .. section: Library

Port the :mod:zlib extension module to multi-phase initialization (:pep:489).

..

.. bpo: 41631 .. date: 2020-08-26-11-23-31 .. nonce: 3jZcd9 .. section: Core and Builtins

The _ast module uses again a global state. Using a module state per module instance is causing subtle practical problems. For example, the Mercurial project replaces the __import__() function to implement lazy import, whereas Python expected that import _ast always return a fully initialized _ast module.

..

.. bpo: 40077 .. date: 2020-08-25-22-43-33 .. nonce: vcxSUa .. section: Library

Convert :mod:!_operator to use :c:func:PyType_FromSpec.

..

.. bpo: 1653741 .. date: 2020-08-13-07-19-21 .. nonce: fubBkb .. section: Core and Builtins

Port :mod:!_sha3 to multi-phase init. Convert static types to heap types.

..

.. bpo: 1635741 .. date: 2020-08-13-07-18-05 .. nonce: FC13e7 .. section: Library

Port the :mod:!_blake2 extension module to the multi-phase initialization API (:pep:489).

..

.. bpo: 41533 .. date: 2020-08-12-20-29-57 .. nonce: 4pcVAc .. section: Core and Builtins

Free the stack allocated in va_build_stack if do_mkstack fails and the stack is not a small_stack.

..

.. bpo: 41531 .. date: 2020-08-12-19-32-15 .. nonce: WgPzjT .. section: Core and Builtins

Fix a bug that was dropping keys when compiling dict literals with more than 0xFFFF elements. Patch by Pablo Galindo.

..

.. bpo: 41525 .. date: 2020-08-12-07-35-07 .. nonce: d9q3XL .. section: Core and Builtins

The output of python --help contains now only ASCII characters.

..

.. bpo: 1635741 .. date: 2020-08-10-16-11-32 .. nonce: O0d3ym .. section: Library

Port the :mod:!_sha1, :mod:!_sha512, and :mod:!_md5 extension modules to multi-phase initialization API (:pep:489).

..

.. bpo: 41431 .. date: 2020-08-02-15-53-12 .. nonce: TblUBT .. section: Core and Builtins

Optimize dict_merge() for copying dict (e.g. dict(d) and {}.update(d)).

..

.. bpo: 41428 .. date: 2020-07-28-22-43-27 .. nonce: FM6xsI .. section: Core and Builtins

Implement PEP 604. This supports (int | str) etc. in place of Union[str, int].

..

.. bpo: 41340 .. date: 2020-07-27-01-50-06 .. nonce: pZXfcF .. section: Core and Builtins

Removed fallback implementation for strdup.

..

.. bpo: 38156 .. date: 2020-07-20-17-01-17 .. nonce: ptcdRy .. section: Core and Builtins

Handle interrupts that come after EOF correctly in PyOS_StdioReadline.

..

.. bpo: 41342 .. date: 2020-07-19-15-40-52 .. nonce: RRk_m_ .. section: Core and Builtins

:func:round with integer argument is now faster (9--60%).

..

.. bpo: 41334 .. date: 2020-07-18-18-01-10 .. nonce: t5xMGp .. section: Core and Builtins

Constructors :func:str, :func:bytes and :func:bytearray are now faster (around 30--40% for small objects).

..

.. bpo: 41295 .. date: 2020-07-18-08-15-32 .. nonce: pu8Ezo .. section: Core and Builtins

Resolve a regression in CPython 3.8.4 where defining "setattr" in a multi-inheritance setup and calling up the hierarchy chain could fail if builtins/extension types were involved in the base types.

..

.. bpo: 41323 .. date: 2020-07-17-11-31-54 .. nonce: ChbZHh .. section: Core and Builtins

Bytecode optimizations are performed directly on the control flow graph. This will result in slightly more compact code objects in some circumstances.

..

.. bpo: 41247 .. date: 2020-07-08-22-03-54 .. nonce: PndYIk .. section: Core and Builtins

Always cache the running loop holder when running asyncio.set_running_loop.

..

.. bpo: 41252 .. date: 2020-07-08-21-55-23 .. nonce: nBWL-Y .. section: Core and Builtins

Fix incorrect refcounting in _ssl.c's _servername_callback().

..

.. bpo: 1635741 .. date: 2020-07-07-16-10-52 .. nonce: zU-H_n .. section: Core and Builtins

Port :mod:multiprocessing to multi-phase initialization

..

.. bpo: 1635741 .. date: 2020-07-06-20-43-19 .. nonce: LYhsni .. section: Library

Port :mod:winapi to multiphase initialization

..

.. bpo: 41215 .. date: 2020-07-06-18-36-33 .. nonce: vFGFIz .. section: Core and Builtins

Use non-NULL default values in the PEG parser keyword list to overcome a bug that was preventing Python from being properly compiled when using the XLC compiler. Patch by Pablo Galindo.

..

.. bpo: 41218 .. date: 2020-07-06-13-35-17 .. nonce: oKnSr2 .. section: Core and Builtins

Python 3.8.3 had a regression where compiling with ast.PyCF_ALLOW_TOP_LEVEL_AWAIT would aggressively mark list comprehension with CO_COROUTINE. Now only list comprehension making use of async/await will tagged as so.

..

.. bpo: 1635741 .. date: 2020-07-03-23-10-02 .. nonce: F5coWe .. section: Library

Port :mod:faulthandler to multiphase initialization.

..

.. bpo: 1635741 .. date: 2020-07-01-20-17-38 .. nonce: -AtPYu .. section: Library

Port :mod:sha256 to multiphase initialization

..

.. bpo: 41175 .. date: 2020-06-30-20-17-31 .. nonce: acJoXB .. section: Core and Builtins

Guard against a NULL pointer dereference within bytearrayobject triggered by the bytearray() + bytearray() operation.

..

.. bpo: 41100 .. date: 2020-06-30-04-44-29 .. nonce: PJwA6F .. section: Core and Builtins

add arm64 to the allowable Mac OS arches in mpdecimal.h

..

.. bpo: 41094 .. date: 2020-06-23-23-26-42 .. nonce: zEIJse .. section: Core and Builtins

Fix decoding errors with audit when open files with non-ASCII names on non-UTF-8 locale.

..

.. bpo: 39960 .. date: 2020-06-23-18-32-41 .. nonce: Kez3fP .. section: Core and Builtins

The "hackcheck" that prevents sneaking around a type's setattr() by calling the superclass method was rewritten to allow C implemented heap types.

..

.. bpo: 41084 .. date: 2020-06-23-15-10-19 .. nonce: pt3y7F .. section: Core and Builtins

Prefix the error message with 'f-string: ', when parsing an f-string expression which throws a :exc:SyntaxError.

..

.. bpo: 40521 .. date: 2020-06-23-07-35-11 .. nonce: dMNA6k .. section: Core and Builtins

Empty frozensets are no longer singletons.

..

.. bpo: 41076 .. date: 2020-06-22-13-22-30 .. nonce: eWYw2N .. section: Core and Builtins

Pre-feed the parser with the location of the f-string expression, not the f-string itself, which allows us to skip the shifting of the AST node locations after the parsing is completed.

..

.. bpo: 41056 .. date: 2020-06-21-19-53-33 .. nonce: IDu_EK .. section: Core and Builtins

Fixes a reference to deallocated stack space during startup when constructing sys.path involving a relative symlink when code was supplied via -c. (discovered via Coverity)

..

.. bpo: 41061 .. date: 2020-06-21-10-54-02 .. nonce: AHf9MU .. section: Core and Builtins

Fix incorrect expressions and asserts in hashtable code and tests.

..

.. bpo: 41052 .. date: 2020-06-20-22-46-18 .. nonce: 46MPeF .. section: Core and Builtins

Opt out serialization/deserialization for _random.Random

..

.. bpo: 40939 .. date: 2020-06-20-19-27-47 .. nonce: jxJ4yn .. section: Core and Builtins

Rename PyPegen* functions to PyParser*, so that we can remove the old set of PyParser* functions that were using the old parser, but keep everything backwards-compatible.

..

.. bpo: 35975 .. date: 2020-06-20-17-00-44 .. nonce: UDHCHp .. section: Core and Builtins

Stefan Behnel reported that cf_feature_version is used even when PyCF_ONLY_AST is not set. This is against the intention and against the documented behavior, so it's been fixed.

..

.. bpo: 40939 .. date: 2020-06-20-16-59-02 .. nonce: 6810Ak .. section: Core and Builtins

Remove the remaining files from the old parser and the :mod:symbol module.

..

.. bpo: 40077 .. date: 2020-06-18-19-04-30 .. nonce: _yI-ax .. section: Library

Convert :mod:!_bz2 to use :c:func:PyType_FromSpec.

..

.. bpo: 41006 .. date: 2020-06-18-00-07-09 .. nonce: H-wN-d .. section: Core and Builtins

The encodings.latin_1 module is no longer imported at startup. Now it is only imported when it is the filesystem encoding or the stdio encoding.

..

.. bpo: 40636 .. date: 2020-06-17-10-27-17 .. nonce: MYaCIe .. section: Core and Builtins

:func:zip now supports :pep:618's strict parameter, which raises a :exc:ValueError if the arguments are exhausted at different lengths. Patch by Brandt Bucher.

..

.. bpo: 1635741 .. date: 2020-06-17-00-52-21 .. nonce: 61iyYh .. section: Core and Builtins

Port :mod:!_gdbm to multiphase initialization.

..

.. bpo: 40985 .. date: 2020-06-15-16-29-55 .. nonce: IIN_xX .. section: Core and Builtins

Fix a bug that caused the :exc:SyntaxError text to be empty when a file ends with a line ending in a line continuation character (i.e. backslash). The error text should contain the text of the last line.

..

.. bpo: 40958 .. date: 2020-06-15-01-20-44 .. nonce: 7O2Wh1 .. section: Core and Builtins

Fix a possible buffer overflow in the PEG parser when gathering information for emitting syntax errors. Patch by Pablo Galindo.

..

.. bpo: 1635741 .. date: 2020-06-12-22-56-17 .. nonce: mmlp3Q .. section: Core and Builtins

Port :mod:!_dbm to multiphase initialization.

..

.. bpo: 40957 .. date: 2020-06-12-12-21-54 .. nonce: Z8n6I6 .. section: Core and Builtins

Fix refleak in _Py_fopen_obj() when PySys_Audit() fails

..

.. bpo: 40950 .. date: 2020-06-12-00-12-28 .. nonce: tzMy7m .. section: Library

Add a state to the :mod:!nis module (:pep:3121) and apply the multiphase initialization. Patch by Donghee Na.

..

.. bpo: 40947 .. date: 2020-06-11-16-06-49 .. nonce: 72cZcR .. section: Core and Builtins

The Python :ref:Path Configuration <init-path-config> now takes :c:member:PyConfig.platlibdir in account.

..

.. bpo: 40939 .. date: 2020-06-10-11-27-15 .. nonce: DO-wAI .. section: Core and Builtins

Remove the old parser, the :mod:parser module and all associated support code, command-line options and environment variables. Patch by Pablo Galindo.

..

.. bpo: 40847 .. date: 2020-06-09-23-52-32 .. nonce: 4XAACw .. section: Core and Builtins

Fix a bug where a line with only a line continuation character is not considered a blank line at tokenizer level. In such cases, more than a single NEWLINE token was emitted. The old parser was working around the issue, but the new parser threw a :exc:SyntaxError for valid input due to this. For example, an empty line following a line continuation character was interpreted as a :exc:SyntaxError.

..

.. bpo: 40890 .. date: 2020-06-09-00-20-13 .. nonce: LoRV-g .. section: Core and Builtins

Each dictionary view now has a mapping attribute that provides a :class:types.MappingProxyType wrapping the original dictionary. Patch contributed by Dennis Sweeney.

..

.. bpo: 40889 .. date: 2020-06-08-22-46-33 .. nonce: vIBl-W .. section: Core and Builtins

Improved the performance of symmetric difference operations on dictionary item views. Patch by Dennis Sweeney.

..

.. bpo: 40904 .. date: 2020-06-08-01-08-57 .. nonce: 76qQzo .. section: Core and Builtins

Fix possible segfault in the new PEG parser when parsing f-string containing yield statements with no value (:code:f"{yield}"). Patch by Pablo Galindo

..

.. bpo: 40903 .. date: 2020-06-07-22-50-10 .. nonce: 7dWejS .. section: Core and Builtins

Fixed a possible segfault in the new PEG parser when producing error messages for invalid assignments of the form :code:p=p=. Patch by Pablo Galindo

..

.. bpo: 40880 .. date: 2020-06-06-00-23-19 .. nonce: fjdzSh .. section: Core and Builtins

Fix invalid memory read in the new parser when checking newlines in string literals. Patch by Pablo Galindo.

..

.. bpo: 40883 .. date: 2020-06-05-23-25-00 .. nonce: M6sQ-Q .. section: Core and Builtins

Fix memory leak in when parsing f-strings in the new parser. Patch by Pablo Galindo

..

.. bpo: 40870 .. date: 2020-06-05-12-48-28 .. nonce: 9cd2sk .. section: Core and Builtins

Raise :exc:ValueError when validating custom AST's where the constants True, False and None are used within a :class:ast.Name node.

..

.. bpo: 40854 .. date: 2020-06-03-13-53-24 .. nonce: O6vfQU .. section: Core and Builtins

Allow overriding :data:sys.platlibdir via a new :envvar:PYTHONPLATLIBDIR environment variable.

..

.. bpo: 40826 .. date: 2020-06-01-20-31-07 .. nonce: XCI4M2 .. section: Core and Builtins

Fix GIL usage in :c:func:PyOS_Readline: lock the GIL to set an exception and pass the Python thread state when checking if there is a pending signal.

..

.. bpo: 1635741 .. date: 2020-05-30-23-23-35 .. nonce: 0D-laM .. section: Core and Builtins

Port :mod:fcntl to multiphase initialization.

..

.. bpo: 19468 .. date: 2020-05-30-23-18-35 .. nonce: S-TA7p .. section: Core and Builtins

Delete unnecessary instance check in importlib.reload(). Patch by Furkan Önder.

..

.. bpo: 40824 .. date: 2020-05-30-14-37-18 .. nonce: XR3V5s .. section: Core and Builtins

Unexpected errors in calling the __iter__ method are no longer masked by TypeError in the :keyword:in operator and functions :func:~operator.contains, :func:~operator.indexOf and :func:~operator.countOf of the :mod:operator module.

..

.. bpo: 40792 .. date: 2020-05-27-22-37-58 .. nonce: WEDqqU .. section: Core and Builtins

Attributes start, stop and step of the :class:range object now always has exact type :class:int. Previously, they could have been an instance of a subclass of int.

..

.. bpo: 40780 .. date: 2020-05-26-17-43-58 .. nonce: 3Ckdgm .. section: Core and Builtins

Fix a corner case where g-style string formatting of a float failed to remove trailing zeros.

..

.. bpo: 38964 .. date: 2020-05-25-21-49-11 .. nonce: lrml90 .. section: Core and Builtins

When there's a :exc:SyntaxError in the expression part of an fstring, the filename attribute of the :exc:SyntaxError gets correctly set to the name of the file the fstring resides in.

..

.. bpo: 40750 .. date: 2020-05-24-02-42-26 .. nonce: ZmO9Ev .. section: Core and Builtins

Support the "-d" debug flag in the new PEG parser. Patch by Pablo Galindo

..

.. bpo: 40217 .. date: 2020-05-23-01-15-51 .. nonce: jZsHTc .. section: Core and Builtins

Instances of types created with :c:func:PyType_FromSpecWithBases will no longer automatically visit their class object when traversing references in the garbage collector. The user is expected to manually visit the object's class. Patch by Pablo Galindo.

..

.. bpo: 39573 .. date: 2020-05-22-00-34-34 .. nonce: QO2QHj .. section: Core and Builtins

:c:func:Py_TYPE() is changed to the inline static function. Patch by Donghee Na.

..

.. bpo: 40696 .. date: 2020-05-21-01-54-00 .. nonce: u3n8Wx .. section: Core and Builtins

Fix a hang that can arise after :meth:generator.throw due to a cycle in the exception context chain.

..

.. bpo: 40521 .. date: 2020-05-20-01-17-34 .. nonce: wvAehI .. section: Core and Builtins

Each interpreter now its has own free lists, singletons and caches:

  • Free lists: float, tuple, list, dict, frame, context, asynchronous generator, MemoryError.
  • Singletons: empty tuple, empty bytes string, empty Unicode string, single byte character, single Unicode (latin1) character.
  • Slice cache.

They are no longer shared by all interpreters.

..

.. bpo: 40679 .. date: 2020-05-19-19-39-49 .. nonce: SVzz9p .. section: Core and Builtins

Certain :exc:TypeError messages about missing or extra arguments now include the function's :term:qualified name. Patch by Dennis Sweeney.

..

.. bpo: 29590 .. date: 2020-05-03-22-26-00 .. nonce: aRz3l7 .. section: Core and Builtins

Make the stack trace correct after calling :meth:generator.throw on a generator that has yielded from a yield from.

..

.. bpo: 4022 .. date: 2020-04-11-13-07-49 .. nonce: Ctpn_F .. section: Core and Builtins

Improve performance of generators by not raising internal StopIteration.

..

.. bpo: 1635741 .. date: 2020-04-10-23-54-57 .. nonce: ZURqoN .. section: Library

Port :mod:mmap to multiphase initialization.

..

.. bpo: 1635741 .. date: 2020-04-05-02-35-08 .. nonce: Kfe9fT .. section: Library

Port :mod:!_lzma to multiphase initialization.

..

.. bpo: 37999 .. date: 2019-09-01-14-26-02 .. nonce: XPl6dn .. section: Core and Builtins

Builtin and extension functions that take integer arguments no longer accept :class:~decimal.Decimal\ s, :class:~fractions.Fraction\ s and other objects that can be converted to integers only with a loss (e.g. that have the :meth:~object.__int__ method but do not have the :meth:~object.__index__ method).

..

.. bpo: 29882 .. date: 2019-06-02-11-29-15 .. nonce: AkRzjb .. section: Core and Builtins

Add :meth:int.bit_count, counting the number of ones in the binary representation of an integer. Patch by Niklas Fiekas.

..

.. bpo: 36982 .. date: 2019-05-25-05-27-39 .. nonce: 0UHgfB .. section: Library

Use ncurses extended color functions when available to support terminals with 256 colors, and add the new function :func:curses.has_extended_color_support to indicate whether extended color support is provided by the underlying ncurses library.

..

.. bpo: 19569 .. date: 2018-08-29-15-57-07 .. nonce: RGu2Kb .. section: Core and Builtins

Add the private macros _Py_COMP_DIAG_PUSH, _Py_COMP_DIAG_IGNORE_DEPR_DECLS, and _Py_COMP_DIAG_POP.

..

.. bpo: 26680 .. date: 2018-03-15-11-51-36 .. nonce: wOWYps .. section: Core and Builtins

The int type now supports the x.is_integer() method for compatibility with float.

..

.. bpo: 41900 .. date: 2020-10-01-10-50-12 .. nonce: Cho7oh .. section: Library

C14N 2.0 serialisation in xml.etree.ElementTree failed for unprefixed attributes when a default namespace was defined.

..

.. bpo: 41887 .. date: 2020-09-30-23-49-42 .. nonce: -ee2S- .. section: Library

Strip leading spaces and tabs on :func:ast.literal_eval. Also document stripping of spaces and tabs for :func:eval.

..

.. bpo: 41773 .. date: 2020-09-28-23-22-25 .. nonce: oKkus0 .. section: Library

Note in documentation that :func:random.choices doesn't support non-finite weights, raise :exc:ValueError when given non-finite weights.

..

.. bpo: 41840 .. date: 2020-09-23-23-17-59 .. nonce: QRFr4L .. section: Library

Fix a bug in the :mod:symtable module that was causing module-scope global variables to not be reported as both local and global. Patch by Pablo Galindo.

..

.. bpo: 41842 .. date: 2020-09-23-22-52-24 .. nonce: lIuhC9 .. section: Library

Add :func:codecs.unregister function to unregister a codec search function.

..

.. bpo: 40564 .. date: 2020-09-23-03-33-37 .. nonce: iXQqMq .. section: Library

In zipfile.Path, mutate the passed ZipFile object type instead of making a copy. Prevents issues when both the local copy and the caller’s copy attempt to close the same file handle.

..

.. bpo: 40670 .. date: 2020-09-22-14-55-34 .. nonce: R5sm68 .. section: Library

More reliable validation of statements in :class:timeit.Timer. It now accepts "empty" statements (only whitespaces and comments) and rejects misindentent statements.

..

.. bpo: 41833 .. date: 2020-09-22-13-51-14 .. nonce: 6HVDjT .. section: Library

The :class:threading.Thread constructor now uses the target name if the target argument is specified but the name argument is omitted.

..

.. bpo: 41817 .. date: 2020-09-22-00-23-30 .. nonce: bnh-VG .. section: Library

fix tkinter.EventType Enum so all members are strings, and none are tuples

..

.. bpo: 41810 .. date: 2020-09-20-15-14-05 .. nonce: 7l8lyV .. section: Library

:data:types.EllipsisType, :data:types.NotImplementedType and :data:types.NoneType have been reintroduced, providing a new set of types readily interpretable by static type checkers.

..

.. bpo: 41815 .. date: 2020-09-19-23-14-54 .. nonce: RNpuX3 .. section: Library

Fix SQLite3 segfault when backing up closed database. Patch contributed by Peter David McCormick.

..

.. bpo: 41816 .. date: 2020-09-19-12-22-08 .. nonce: ynynXJ .. section: Library

StrEnum added: it ensures that all members are already strings or string candidates

..

.. bpo: 41517 .. date: 2020-09-15-22-43-30 .. nonce: sLBH7g .. section: Library

fix bug allowing Enums to be extended via multiple inheritance

..

.. bpo: 39587 .. date: 2020-09-15-14-56-13 .. nonce: 69xzuh .. section: Library

use the correct mix-in data type when constructing Enums

..

.. bpo: 41792 .. date: 2020-09-15-07-55-35 .. nonce: qMpSlU .. section: Library

Add is_typeddict function to typing.py to check if a type is a TypedDict class

Previously there was no way to check that without using private API. See the relevant issue in python/typing <https://github.com/python/typing/issues/751>_.

..

.. bpo: 41789 .. date: 2020-09-14-19-27-46 .. nonce: pI_uZQ .. section: Library

Honor object overrides in Enum class creation (specifically, __str__, __repr__, __format__, and __reduce_ex__).

..

.. bpo: 32218 .. date: 2020-09-12-16-18-42 .. nonce: IpYkEe .. section: Library

enum.Flag and enum.IntFlag members are now iterable.

..

.. bpo: 39651 .. date: 2020-09-11-12-38-55 .. nonce: JMp9l2 .. section: Library

Fix a race condition in the call_soon_threadsafe() method of asyncio.ProactorEventLoop: do nothing if the self-pipe socket has been closed.

..

.. bpo: 1635741 .. date: 2020-09-08-13-55-34 .. nonce: 56MLP- .. section: Library

Port the mashal extension module to the multi-phase initialization API (:pep:489).

..

.. bpo: 1635741 .. date: 2020-09-08-13-51-16 .. nonce: wkPeoT .. section: Library

Port the _string extension module to the multi-phase initialization API (:pep:489).

..

.. bpo: 41732 .. date: 2020-09-06-20-27-10 .. nonce: 1SKv26 .. section: Library

Added an :term:iterator to :class:memoryview.

..

.. bpo: 41720 .. date: 2020-09-04-20-45-38 .. nonce: PW9MzZ .. section: Library

Fixed :meth:turtle.Vec2D.__rmul__ for arguments which are not int or float.

..

.. bpo: 41696 .. date: 2020-09-03-01-35-32 .. nonce: zkYGre .. section: Library

Fix handling of debug mode in :func:asyncio.run. This allows setting PYTHONASYNCIODEBUG or -X dev to enable asyncio debug mode when using :func:asyncio.run.

..

.. bpo: 41687 .. date: 2020-09-01-15-57-51 .. nonce: m1b1KA .. section: Library

Fix implementation of sendfile to be compatible with Solaris.

..

.. bpo: 41662 .. date: 2020-08-30-21-38-57 .. nonce: 6e9iZn .. section: Library

No longer override exceptions raised in __len__() of a sequence of parameters in :mod:sqlite3 with :exc:~sqlite3.ProgrammingError.

..

.. bpo: 39010 .. date: 2020-08-30-10-24-26 .. nonce: _mzXJW .. section: Library

Restarting a ProactorEventLoop on Windows no longer logs spurious ConnectionResetErrors.

..

.. bpo: 41638 .. date: 2020-08-29-16-45-12 .. nonce: iZfW5N .. section: Library

:exc:~sqlite3.ProgrammingError message for absent parameter in :mod:sqlite3 contains now the name of the parameter instead of its index when parameters are supplied as a dict.

..

.. bpo: 41662 .. date: 2020-08-29-16-07-36 .. nonce: Mn79zh .. section: Library

Fixed crash when mutate list of parameters during iteration in :mod:sqlite3.

..

.. bpo: 41513 .. date: 2020-08-23-14-23-18 .. nonce: DGqc_I .. section: Library

Improved the accuracy of math.hypot(). Internally, each step is computed with extra precision so that the result is now almost always correctly rounded.

..

.. bpo: 41609 .. date: 2020-08-21-15-51-15 .. nonce: JmiUKG .. section: Library

The pdb whatis command correctly reports instance methods as 'Method' rather than 'Function'.

..

.. bpo: 39994 .. date: 2020-08-15-18-17-21 .. nonce: dOgPOh .. section: Library

Fixed pprint's handling of dict subclasses that override repr.

..

.. bpo: 32751 .. date: 2020-08-15-15-50-12 .. nonce: 85je5X .. section: Library

When cancelling the task due to a timeout, :meth:asyncio.wait_for will now wait until the cancellation is complete also in the case when timeout is <= 0, like it does with positive timeouts.

..

.. bpo: 37658 .. date: 2020-08-15-15-21-40 .. nonce: f9nivB .. section: Library

:meth:asyncio.wait_for now properly handles races between cancellation of itself and the completion of the wrapped awaitable.

..

.. bpo: 40782 .. date: 2020-08-13-08-07-25 .. nonce: aGZqmB .. section: Library

Change the method asyncio.AbstractEventLoop.run_in_executor to not be a coroutine.

..

.. bpo: 41520 .. date: 2020-08-12-13-25-16 .. nonce: BEUWa4 .. section: Library

Fix :mod:codeop regression that prevented turning compile warnings into errors.

..

.. bpo: 41528 .. date: 2020-08-12-07-43-31 .. nonce: bu83oD .. section: Library

turtle uses math module functions to convert degrees to radians and vice versa and to calculate vector norm

..

.. bpo: 41513 .. date: 2020-08-09-18-16-05 .. nonce: e6K6EK .. section: Library

Minor algorithmic improvement to math.hypot() and math.dist() giving small gains in speed and accuracy.

..

.. bpo: 41503 .. date: 2020-08-07-15-18-16 .. nonce: IYftcu .. section: Library

Fixed a race between setTarget and flush in logging.handlers.MemoryHandler.

..

.. bpo: 41497 .. date: 2020-08-07-06-06-29 .. nonce: aBtsWz .. section: Library

Fix potential UnicodeDecodeError in dis module.

..

.. bpo: 41467 .. date: 2020-08-04-00-20-30 .. nonce: Z8DgTL .. section: Library

On Windows, fix asyncio recv_into() return value when the socket/pipe is closed (:exc:BrokenPipeError): return 0 rather than an empty byte string (b'').

..

.. bpo: 41425 .. date: 2020-08-03-01-59-48 .. nonce: KJo6zF .. section: Library

Make tkinter doc example runnable.

..

.. bpo: 41421 .. date: 2020-08-01-00-51-15 .. nonce: dHKRVB .. section: Library

Make an algebraic simplification to random.paretovariate(). It now is slightly less subject to round-off error and is slightly faster. Inputs that used to cause ZeroDivisionError now cause an OverflowError instead.

..

.. bpo: 41440 .. date: 2020-07-30-14-56-58 .. nonce: rju34k .. section: Library

Add :func:os.cpu_count support for VxWorks RTOS.

..

.. bpo: 41316 .. date: 2020-07-28-12-08-58 .. nonce: bSCbK4 .. section: Library

Fix the :mod:tarfile module to write only basename of TAR file to GZIP compression header.

..

.. bpo: 41384 .. date: 2020-07-26-21-18-43 .. nonce: MlzIgV .. section: Library

Raise TclError instead of TypeError when an unknown option is passed to tkinter.OptionMenu.

..

.. bpo: 41317 .. date: 2020-07-23-01-18-34 .. nonce: O17Z6x .. section: Library

Use add_done_callback() in asyncio.loop.sock_accept() to unsubscribe reader early on cancellation.

..

.. bpo: 41364 .. date: 2020-07-21-21-45-55 .. nonce: 5O-k7A .. section: Library

Reduce import overhead of :mod:uuid.

..

.. bpo: 35328 .. date: 2020-07-21-16-20-55 .. nonce: jXovHb .. section: Library

Set the environment variable VIRTUAL_ENV_PROMPT at :mod:venv activation.

..

.. bpo: 41341 .. date: 2020-07-20-19-13-17 .. nonce: wqrj8C .. section: Library

Recursive evaluation of typing.ForwardRef in get_type_hints.

..

.. bpo: 41344 .. date: 2020-07-20-13-27-48 .. nonce: iKipNd .. section: Library

Prevent creating :class:shared_memory.SharedMemory objects with :code:size=0.

..

.. bpo: 41333 .. date: 2020-07-18-18-07-40 .. nonce: upkHIm .. section: Library

:meth:collections.OrderedDict.pop is now 2 times faster.

..

.. bpo: 41288 .. date: 2020-07-13-15-06-35 .. nonce: 8mn5P- .. section: Library

Unpickling invalid NEWOBJ_EX opcode with the C implementation raises now UnpicklingError instead of crashing.

..

.. bpo: 39017 .. date: 2020-07-12-22-16-58 .. nonce: x3Cg-9 .. section: Library

Avoid infinite loop when reading specially crafted TAR files using the tarfile module (:cve:2019-20907).

..

.. bpo: 41273 .. date: 2020-07-11-00-15-01 .. nonce: SVrsJh .. section: Library

Speed up any transport using _ProactorReadPipeTransport by calling recv_into instead of recv, thus not creating a new buffer for each recv call in the transport's read loop.

..

.. bpo: 41235 .. date: 2020-07-07-21-56-26 .. nonce: H2csMU .. section: Library

Fix the error handling in :meth:ssl.SSLContext.load_dh_params.

..

.. bpo: 41207 .. date: 2020-07-06-16-58-53 .. nonce: Emw7Nk .. section: Library

In distutils.spawn, restore expectation that DistutilsExecError is raised when the command is not found.

..

.. bpo: 29727 .. date: 2020-07-05-19-16-02 .. nonce: Q6Z2rg .. section: Library

Register :class:array.array as a :class:~collections.abc.MutableSequence. Patch by Pablo Galindo.

..

.. bpo: 39168 .. date: 2020-07-04-21-56-46 .. nonce: DQWsXj .. section: Library

Remove the __new__ method of :class:typing.Generic.

..

.. bpo: 41194 .. date: 2020-07-03-13-15-08 .. nonce: djrKjs .. section: Library

Fix a crash in the _ast module: it can no longer be loaded more than once. It now uses a global state rather than a module state.

..

.. bpo: 41195 .. date: 2020-07-02-15-03-04 .. nonce: cEnpO3 .. section: Library

Add read-only ssl.SSLContext.security_level attribute to retrieve the context's security level.

..

.. bpo: 41193 .. date: 2020-07-02-11-53-45 .. nonce: 8-Tnql .. section: Library

The write_history() atexit function of the readline completer now ignores any :exc:OSError to ignore error if the filesystem is read-only, instead of only ignoring :exc:FileNotFoundError and :exc:PermissionError.

..

.. bpo: 41182 .. date: 2020-07-01-17-33-50 .. nonce: FPFI0N .. section: Library

selector: use DefaultSelector based upon implementation

..

.. bpo: 41161 .. date: 2020-06-30-20-50-51 .. nonce: QTdJjz .. section: Library

The decimal module now requires libmpdec-2.5.0. Users of --with-system-libmpdec should update their system library.

..

.. bpo: 40874 .. date: 2020-06-28-21-16-51 .. nonce: YImvzA .. section: Library

The decimal module now requires libmpdec-2.5.0.

..

.. bpo: 41138 .. date: 2020-06-27-13-51-36 .. nonce: bIpf7g .. section: Library

Fixed the :mod:trace module CLI for Python source files with non-UTF-8 encoding.

..

.. bpo: 31082 .. date: 2020-06-25-10-11-47 .. nonce: HsgDkx .. section: Library

Use the term "iterable" in the docstring for :func:functools.reduce.

..

.. bpo: 40521 .. date: 2020-06-23-06-09-59 .. nonce: HUfxP7 .. section: Library

Remove freelist from collections.deque().

..

.. bpo: 31938 .. date: 2020-06-22-20-08-40 .. nonce: EVuko9 .. section: Library

Fix default-value signatures of several functions in the :mod:select module - by Anthony Sottile.

..

.. bpo: 41068 .. date: 2020-06-22-10-25-39 .. nonce: _bX2BW .. section: Library

Fixed reading files with non-ASCII names from ZIP archive directly after writing them.

..

.. bpo: 41058 .. date: 2020-06-20-21-03-55 .. nonce: gztdZy .. section: Library

:func:pdb.find_function now correctly determines the source file encoding.

..

.. bpo: 41056 .. date: 2020-06-20-18-37-29 .. nonce: d9v_uL .. section: Library

Invalid file descriptor values are now prevented from being passed to os.fpathconf. (discovered by Coverity)

..

.. bpo: 41056 .. date: 2020-06-20-18-35-43 .. nonce: Garcle .. section: Library

Fix a NULL pointer dereference within the ssl module during a MemoryError in the keylog callback. (discovered by Coverity)

..

.. bpo: 41056 .. date: 2020-06-20-18-33-03 .. nonce: gTH4Bq .. section: Library

Fixed an instance where a MemoryError within the zoneinfo module might not be reported or not reported at its source. (found by Coverity)

..

.. bpo: 41048 .. date: 2020-06-20-10-16-57 .. nonce: hEXB-B .. section: Library

:func:mimetypes.read_mime_types function reads the rule file using UTF-8 encoding, not the locale encoding. Patch by Srinivas Reddy Thatiparthy.

..

.. bpo: 41043 .. date: 2020-06-20-00-19-30 .. nonce: p-Pk-H .. section: Library

Fixed the use of :func:~glob.glob in the stdlib: literal part of the path is now always correctly escaped.

..

.. bpo: 41025 .. date: 2020-06-18-10-34-59 .. nonce: elf_nz .. section: Library

Fixed an issue preventing the C implementation of :class:zoneinfo.ZoneInfo from being subclassed.

..

.. bpo: 35018 .. date: 2020-06-17-23-49-45 .. nonce: NP5_Qk .. section: Library

Add the :class:xml.sax.handler.LexicalHandler class that is present in other SAX XML implementations.

..

.. bpo: 41002 .. date: 2020-06-17-17-26-24 .. nonce: NPBItE .. section: Library

Improve performance of HTTPResponse.read with a given amount. Patch by Bruce Merry.

..

.. bpo: 40448 .. date: 2020-06-15-12-22-53 .. nonce: 1dk8Bu .. section: Library

:mod:ensurepip now disables the use of pip cache when installing the bundled versions of pip and setuptools. Patch by Krzysztof Konopko.

..

.. bpo: 40967 .. date: 2020-06-15-00-13-57 .. nonce: _dx3OO .. section: Library

Removed :meth:!asyncio.Task.current_task and :meth:!asyncio.Task.all_tasks. Patch contributed by Rémi Lapeyre.

..

.. bpo: 40924 .. date: 2020-06-13-12-04-50 .. nonce: SM_luS .. section: Library

Ensure importlib.resources.path returns an extant path for the SourceFileLoader's resource reader. Avoids the regression identified in master while a long-term solution is devised.

..

.. bpo: 40955 .. date: 2020-06-12-11-55-30 .. nonce: huixCg .. section: Library

Fix a minor memory leak in :mod:subprocess module when extra_groups was specified.

..

.. bpo: 40855 .. date: 2020-06-12-10-44-15 .. nonce: jSot83 .. section: Library

The standard deviation and variance functions in the statistics module were ignoring their mu and xbar arguments.

..

.. bpo: 40939 .. date: 2020-06-11-11-07-10 .. nonce: -D5Asl .. section: Library

Use the new PEG parser when generating the stdlib :mod:keyword module.

..

.. bpo: 23427 .. date: 2020-06-08-18-59-16 .. nonce: ilg1Cz .. section: Library

Add :data:sys.orig_argv attribute: the list of the original command line arguments passed to the Python executable.

..

.. bpo: 33689 .. date: 2020-06-06-14-09-55 .. nonce: EFUDH7 .. section: Library

Ignore empty or whitespace-only lines in .pth files. This matches the documentated behavior. Before, empty lines caused the site-packages dir to appear multiple times in sys.path. By Ido Michael, contributors Malcolm Smith and Tal Einat.

..

.. bpo: 40884 .. date: 2020-06-06-02-42-26 .. nonce: n7fOwS .. section: Library

Added a defaults parameter to :class:logging.Formatter, to allow specifying default values for custom fields. Patch by Asaf Alon and Bar Harel.

..

.. bpo: 40876 .. date: 2020-06-05-20-00-18 .. nonce: zDhiZj .. section: Library

Clarify error message in the :mod:csv module.

..

.. bpo: 39791 .. date: 2020-06-05-19-29-10 .. nonce: _CcO3d .. section: Library

Refresh importlib.metadata from importlib_metadata 1.6.1.

..

.. bpo: 40807 .. date: 2020-06-04-16-25-15 .. nonce: yYyLWx .. section: Library

Stop codeop._maybe_compile, used by code.InteractiveInterpreter (and IDLE). from emitting each warning three times.

..

.. bpo: 32604 .. date: 2020-06-02-23-49-07 .. nonce: ZN4V4l .. section: Library

Fix reference leak in the :mod:select module when the module is imported in a subinterpreter.

..

.. bpo: 39791 .. date: 2020-06-02-02-16-02 .. nonce: StCJlA .. section: Library

Built-in loaders (SourceFileLoader and ZipImporter) now supply TraversableResources implementations for ResourceReader, and the fallback function has been removed.

..

.. bpo: 39314 .. date: 2020-06-01-02-16-29 .. nonce: 0T9hlA .. section: Library

:class:rlcompleter.Completer and the standard Python shell now close the parenthesis for functions that take no arguments. Patch contributed by Rémi Lapeyre.

..

.. bpo: 17005 .. date: 2020-05-31-23-32-36 .. nonce: JlRUGB .. section: Library

The topological sort functionality that was introduced initially in the :mod:functools module has been moved to a new :mod:graphlib module to better accommodate the new tools and keep the original scope of the :mod:functools module. Patch by Pablo Galindo

..

.. bpo: 40834 .. date: 2020-05-31-15-52-18 .. nonce: MO9_hb .. section: Library

Fix truncate when sending str object with_xxsubinterpreters.channel_send.

..

.. bpo: 40755 .. date: 2020-05-30-18-48-58 .. nonce: IyOe2J .. section: Library

Add rich comparisons to collections.Counter().

..

.. bpo: 26407 .. date: 2020-05-30-14-19-47 .. nonce: MjWLO1 .. section: Library

Unexpected errors in calling the __iter__ method are no longer masked by TypeError in :func:csv.reader, :func:csv.writer.writerow and :meth:csv.writer.writerows.

..

.. bpo: 39384 .. date: 2020-05-30-12-44-29 .. nonce: Iqxy3q .. section: Library

Fixed email.contentmanager to allow set_content() to set a null string.

..

.. bpo: 40744 .. date: 2020-05-30-08-10-23 .. nonce: jKURVV .. section: Library

The :mod:sqlite3 module uses SQLite API functions that require SQLite v3.7.3 or higher. This patch removes support for older SQLite versions, and explicitly requires SQLite 3.7.3 both at build, compile and runtime. Patch by Sergey Fedoseev and Erlend E. Aasland.

..

.. bpo: 40777 .. date: 2020-05-28-17-32-29 .. nonce: 1kJU6N .. section: Library

Initialize PyDateTime_IsoCalendarDateType.tp_base at run-time to avoid errors on some compilers.

..

.. bpo: 38488 .. date: 2020-05-28-16-51-00 .. nonce: hFQNgA .. section: Library

Update ensurepip to install pip 20.1.1 and setuptools 47.1.0.

..

.. bpo: 40792 .. date: 2020-05-27-22-19-42 .. nonce: 87Yx01 .. section: Library

The result of :func:operator.index now always has exact type :class:int. Previously, the result could have been an instance of a subclass of int.

..

.. bpo: 40767 .. date: 2020-05-27-21-27-01 .. nonce: L5MnVV .. section: Library

:mod:webbrowser now properly finds the default browser in pure Wayland systems by checking the WAYLAND_DISPLAY environment variable. Patch contributed by Jérémy Attali.

..

.. bpo: 40791 .. date: 2020-05-27-18-04-52 .. nonce: IzpNor .. section: Library

:func:hashlib.compare_digest uses OpenSSL's CRYPTO_memcmp() function when OpenSSL is available.

..

.. bpo: 40795 .. date: 2020-05-27-17-00-18 .. nonce: eZSnHA .. section: Library

:mod:ctypes module: If ctypes fails to convert the result of a callback or if a ctypes callback function raises an exception, sys.unraisablehook is now called with an exception set. Previously, the error was logged into stderr by :c:func:PyErr_Print.

..

.. bpo: 16995 .. date: 2020-05-27-00-09-52 .. nonce: 4niOT7 .. section: Library

Add :func:base64.b32hexencode and :func:base64.b32hexdecode to support the Base32 Encoding with Extended Hex Alphabet.

..

.. bpo: 30008 .. date: 2020-05-25-22-18-38 .. nonce: CKC3td .. section: Library

Fix :mod:ssl code to be compatible with OpenSSL 1.1.x builds that use no-deprecated and --api=1.1.0.

..

.. bpo: 30064 .. date: 2020-05-25-11-52-23 .. nonce: 6CICsH .. section: Library

Fix asyncio loop.sock_* race condition issue

..

.. bpo: 40759 .. date: 2020-05-24-23-52-35 .. nonce: DdZdaw .. section: Library

Deprecate the :mod:symbol module.

..

.. bpo: 40756 .. date: 2020-05-24-11-06-37 .. nonce: 7ZH83z .. section: Library

The second argument (extra) of LoggerAdapter.__init__ now defaults to None.

..

.. bpo: 37129 .. date: 2020-05-23-04-18-00 .. nonce: YoYoYo .. section: Library

Add a new :const:os.RWF_APPEND flag for :func:os.pwritev.

..

.. bpo: 40737 .. date: 2020-05-23-00-22-11 .. nonce: iph-CM .. section: Library

Fix possible reference leak for :mod:sqlite3 initialization.

..

.. bpo: 40726 .. date: 2020-05-22-12-45-58 .. nonce: 7oBdMw .. section: Library

Handle cases where the end_lineno is None on :func:ast.increment_lineno.

..

.. bpo: 40698 .. date: 2020-05-20-14-38-04 .. nonce: zwl5Hc .. section: Library

distutils upload creates SHA2-256 and Blake2b-256 digests. MD5 digests is skipped if platform blocks MD5.

..

.. bpo: 40695 .. date: 2020-05-20-13-03-28 .. nonce: lr4aIS .. section: Library

:mod:hashlib no longer falls back to builtin hash implementations when OpenSSL provides a hash digest and the algorithm is blocked by security policy.

..

.. bpo: 9216 .. date: 2020-05-20-12-53-20 .. nonce: ps7Yf1 .. section: Library

:func:hashlib.new passed usedforsecurity to OpenSSL EVP constructor _hashlib.new(). test_hashlib and test_smtplib handle strict security policy better.

..

.. bpo: 40614 .. date: 2020-05-18-22-41-02 .. nonce: 8j3kmq .. section: Library

:func:ast.parse will not parse self documenting expressions in f-strings when passed feature_version is less than (3, 8).

..

.. bpo: 40626 .. date: 2020-05-18-17-29-30 .. nonce: NeZufF .. section: Library

Add h5 file extension as MIME Type application/x-hdf5, as per HDF Group recommendation for HDF5 formatted data files. Patch contributed by Mark Schwab.

..

.. bpo: 25920 .. date: 2020-05-18-15-38-25 .. nonce: PxrLY8 .. section: Library

On macOS, when building Python for macOS 10.4 and older, which wasn't the case for python.org macOS installer, :func:socket.getaddrinfo no longer uses an internal lock to prevent race conditions when calling getaddrinfo() which is thread-safe since macOS 10.5. Python 3.9 requires macOS 10.6 or newer. The internal lock caused random hang on fork when another thread was calling :func:socket.getaddrinfo. The lock was also used on FreeBSD older than 5.3, OpenBSD older than 201311 and NetBSD older than 4.

..

.. bpo: 40671 .. date: 2020-05-18-15-26-31 .. nonce: NeZ9Cy .. section: Library

Prepare _hashlib for :pep:489 and use :c:func:PyModule_AddType.

..

.. bpo: 32309 .. date: 2020-05-17-02-03-09 .. nonce: KM9psl .. section: Library

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.

..

.. bpo: 36543 .. date: 2020-05-15-21-14-45 .. nonce: Jt-eSX .. section: Library

Restored the deprecated :mod:xml.etree.cElementTree module.

..

.. bpo: 40611 .. date: 2020-05-13-16-28-33 .. nonce: ZCk0_c .. section: Library

:const:~mmap.MAP_POPULATE constant has now been added to the list of exported :mod:mmap module flags.

..

.. bpo: 39881 .. date: 2020-05-07-22-00-12 .. nonce: E1xsNv .. section: Library

PEP 554 for use in the test suite. (Patch By Joannah Nanjekye)

..

.. bpo: 13097 .. date: 2020-05-06-02-01-25 .. nonce: Wh5xSK .. section: Library

ctypes now raises an ArgumentError when a callback is invoked with more than 1024 arguments.

..

.. bpo: 39385 .. date: 2020-04-23-18-21-19 .. nonce: MIAyS7 .. section: Library

A new test assertion context-manager, :func:unittest.assertNoLogs will ensure a given block of code emits no log messages using the logging module. Contributed by Kit Yan Choi.

..

.. bpo: 23082 .. date: 2020-04-20-22-08-36 .. nonce: iX90Id .. section: Library

Updated the error message and docs of PurePath.relative_to() to better reflect the function behaviour.

..

.. bpo: 40318 .. date: 2020-04-18-14-16-02 .. nonce: K2UdRx .. section: Library

Use SQLite3 trace v2 API, if it is available.

..

.. bpo: 40105 .. date: 2020-04-03-16-13-59 .. nonce: hfM2c0 .. section: Library

ZipFile truncates files to avoid corruption when a shorter comment is provided in append ("a") mode. Patch by Jan Mazur.

..

.. bpo: 40084 .. date: 2020-03-29-21-32-00 .. nonce: MCYwcv .. section: Library

Fix Enum.__dir__: dir(Enum.member) now includes attributes as well as methods.

..

.. bpo: 31122 .. date: 2020-03-11-07-44-06 .. nonce: zIQ80l .. section: Library

ssl.wrap_socket() now raises ssl.SSLEOFError rather than OSError when peer closes connection during TLS negotiation

..

.. bpo: 39728 .. date: 2020-02-24-10-58-34 .. nonce: kOOaHn .. section: Library

fix default _missing_ so a duplicate ValueError is not set as the __context__ of the original ValueError.

..

.. bpo: 39244 .. date: 2020-02-23-15-09-47 .. nonce: aBK5IM .. section: Library

Fixed :class:multiprocessing.context.get_all_start_methods to properly return the default method first on macOS.

..

.. bpo: 39040 .. date: 2019-12-15-18-47-20 .. nonce: tKa0Qs .. section: Library

Fix parsing of invalid mime headers parameters by collapsing whitespace between encoded words in a bare-quote-string.

..

.. bpo: 38731 .. date: 2019-11-13-07-37-11 .. nonce: 9qmcSx .. section: Library

Add --quiet option to command-line interface of :mod:py_compile. Patch by Gregory Schevchenko.

..

.. bpo: 35714 .. date: 2019-10-25-23-45-49 .. nonce: fw3xb7 .. section: Library

:exc:struct.error is now raised if there is a null character in a :mod:struct format string.

..

.. bpo: 38144 .. date: 2019-09-12-21-34-03 .. nonce: 8uQCdd .. section: Library

Added the root_dir and dir_fd parameters in :func:glob.glob.

..

.. bpo: 26543 .. date: 2019-08-11-16-28-03 .. nonce: X-TJZO .. section: Library

Fix :meth:IMAP4.noop when debug mode is enabled (ex: imaplib.Debug = 3).

..

.. bpo: 12178 .. date: 2019-05-31-23-54-28 .. nonce: N6FLCZ .. section: Library

:func:csv.writer now correctly escapes escapechar when input contains escapechar. Patch by Catalin Iacob, Berker Peksag, and Itay Elbirt.

..

.. bpo: 36290 .. date: 2019-03-17-19-01-53 .. nonce: 7VXo_K .. section: Library

AST nodes are now raising :exc:TypeError on conflicting keyword arguments. Patch contributed by Rémi Lapeyre.

..

.. bpo: 33944 .. date: 2019-03-01-01-56-23 .. nonce: -82Pkt .. section: Library

Added site.py site-packages tracing in verbose mode.

..

.. bpo: 35078 .. date: 2018-10-27-09-37-03 .. nonce: kweA3R .. section: Library

Refactor formatweekday, formatmonthname methods in LocaleHTMLCalendar and LocaleTextCalendar classes in calendar module to call the base class methods.This enables customizable CSS classes for LocaleHTMLCalendar. Patch by Srinivas Reddy Thatiparthy

..

.. bpo: 29620 .. date: 2018-08-21-16-20-33 .. nonce: xxx666 .. section: Library

:func:~unittest.TestCase.assertWarns no longer raises a RuntimeException when accessing a module's __warningregistry__ causes importation of a new module, or when a new module is imported in another thread. Patch by Kernc.

..

.. bpo: 31844 .. date: 2018-07-30-12-48-17 .. nonce: 0_GKsD .. section: Library

Remove ParserBase.error() method from the private and undocumented _markupbase module. :class:html.parser.HTMLParser is the only subclass of ParserBase and its error() implementation was deprecated in Python 3.4 and removed in Python 3.5.

..

.. bpo: 34226 .. date: 2018-07-29-12-14-54 .. nonce: BE7zbu .. section: Library

Fix cgi.parse_multipart without content_length. Patch by Roger Duran

..

.. bpo: 33660 .. date: 2018-06-12-23-30-41 .. nonce: AdDn5Z .. section: Library

Fix pathlib.PosixPath to resolve a relative path located on the root directory properly.

..

.. bpo: 28557 .. date: 2018-06-07-22-04-01 .. nonce: ViNJnK .. section: Library

Improve the error message for a misbehaving rawio.readinto

..

.. bpo: 26680 .. date: 2018-03-15-11-56-48 .. nonce: Udkhn4 .. section: Library

The d.is_integer() method is added to the Decimal type, for compatibility with other number types.

..

.. bpo: 26680 .. date: 2018-03-15-11-55-04 .. nonce: eKAi85 .. section: Library

The x.is_integer() method is incorporated into the abstract types of the numeric tower, Real, Rational and Integral, with appropriate default implementations.

..

.. bpo: 41428 .. date: 2020-10-03-18-20-46 .. nonce: _ju1NE .. section: Documentation

Add documentation for :pep:604 (Allow writing union types as X | Y).

..

.. bpo: 41774 .. date: 2020-09-24-15-35-13 .. nonce: 5IqdGP .. section: Documentation

In Programming FAQ "Sequences (Tuples/Lists)" section, add "How do you remove multiple items from a list".

..

.. bpo: 35293 .. date: 2020-09-12-17-37-13 .. nonce: _cOwPD .. section: Documentation

Fix RemovedInSphinx40Warning when building the documentation. Patch by Donghee Na.

..

.. bpo: 37149 .. date: 2020-09-10-07-48-02 .. nonce: VD0rCv .. section: Documentation

Change Shipman tkinter doc link from archive.org to TkDocs. (The doc has been removed from the NMT server.) The new link responds much faster and includes a short explanatory note.

..

.. bpo: 41726 .. date: 2020-09-08-16-57-09 .. nonce: g0UXrn .. section: Documentation

Update the refcounts info of PyType_FromModuleAndSpec.

..

.. bpo: 41624 .. date: 2020-08-25-15-11-23 .. nonce: ddjJlN .. section: Documentation

Fix the signature of :class:typing.Coroutine.

..

.. bpo: 40204 .. date: 2020-08-12-18-35-40 .. nonce: C8A_pe .. section: Documentation

Enable Sphinx 3.2 c_allow_pre_v3 option and disable c_warn_on_allowed_pre_v3 option to make the documentation compatible with Sphinx 2 and Sphinx 3.

..

.. bpo: 41045 .. date: 2020-07-27-20-46-17 .. nonce: GFF6Ul .. section: Documentation

Add documentation for debug feature of f-strings.

..

.. bpo: 41314 .. date: 2020-07-25-14-20-00 .. nonce: yrjko0 .. section: Documentation

Changed the release when from __future__ import annotations becomes the default from 4.0 to 3.10 (following a change in PEP 563).

..

.. bpo: 40979 .. date: 2020-07-21-15-23-30 .. nonce: pLA8rO .. section: Documentation

Refactored typing.rst, arranging more than 70 classes, functions, and decorators into new sub-sections.

..

.. bpo: 40552 .. date: 2020-05-09-12-10-31 .. nonce: _0uB73 .. section: Documentation

Fix in tutorial section 4.2. Code snippet is now correct.

..

.. bpo: 39883 .. date: 2020-03-07-03-53-39 .. nonce: 1tnb4- .. section: Documentation

Make code, examples, and recipes in the Python documentation be licensed under the more permissive BSD0 license in addition to the existing Python 2.0 license.

..

.. bpo: 37703 .. date: 2019-08-16-20-25-42 .. nonce: Qm_l_H .. section: Documentation

Updated Documentation to comprehensively elaborate on the behaviour of gather.cancel()

..

.. bpo: 41939 .. date: 2020-10-05-09-37-43 .. nonce: P4OlbA .. section: Tests

Fix test_site.test_license_exists_at_url(): call urllib.request.urlcleanup() to reset the global urllib.request._opener. Patch by Victor Stinner.

..

.. bpo: 41731 .. date: 2020-09-11-19-12-31 .. nonce: Ivxh4U .. section: Tests

Make test_cmd_line_script pass with option '-vv'.

..

.. bpo: 41602 .. date: 2020-08-25-19-25-36 .. nonce: Z64s0I .. section: Tests

Add tests for SIGINT handling in the runpy module.

..

.. bpo: 41521 .. date: 2020-08-11-14-59-13 .. nonce: w2UYK7 .. section: Tests

:mod:test.support: Rename blacklist parameter of :func:~test.support.check__all__ to not_exported.

..

.. bpo: 41477 .. date: 2020-08-07-17-28-49 .. nonce: GrFexU .. section: Tests

Make ctypes optional in test_genericalias.

..

.. bpo: 41085 .. date: 2020-06-23-12-02-45 .. nonce: JZKsyz .. section: Tests

Fix integer overflow in the :meth:array.array.index method on 64-bit Windows for index larger than 2**31.

..

.. bpo: 41069 .. date: 2020-06-22-00-21-12 .. nonce: bLZkX- .. section: Tests

:data:test.support.TESTFN and the current directory for tests when run via test.regrtest contain now non-ascii characters if possible.

..

.. bpo: 38377 .. date: 2020-06-17-18-00-21 .. nonce: jfg4TH .. section: Tests

On Linux, skip tests using multiprocessing if the current user cannot create a file in /dev/shm/ directory. Add the :func:~test.support.skip_if_broken_multiprocessing_synchronize function to the :mod:test.support module.

..

.. bpo: 41009 .. date: 2020-06-17-17-27-07 .. nonce: Rvn6OQ .. section: Tests

Fix use of support.require_{linux|mac|freebsd}_version() decorators as class decorator.

..

.. bpo: 41003 .. date: 2020-06-17-15-07-14 .. nonce: tiH_Fy .. section: Tests

Fix test_copyreg when numpy is installed: test.pickletester now saves/restores warnings filters when importing numpy, to ignore filters installed by numpy.

..

.. bpo: 40964 .. date: 2020-06-12-20-46-23 .. nonce: OBzf2c .. section: Tests

Disable remote :mod:imaplib tests, host cyrus.andrew.cmu.edu is blocking incoming connections.

..

.. bpo: 40927 .. date: 2020-06-09-18-48-18 .. nonce: 67ylLg .. section: Tests

Fix test_binhex when run twice: it now uses import_fresh_module() to ensure that it raises DeprecationWarning each time.

..

.. bpo: 17258 .. date: 2020-05-26-07-53-31 .. nonce: X_IKTQ .. section: Tests

Skip some :mod:multiprocessing tests when MD5 hash digest is blocked.

..

.. bpo: 31904 .. date: 2020-04-09-15-40-03 .. nonce: TJ4k3d .. section: Tests

Increase LOOPBACK_TIMEOUT to 10 for VxWorks RTOS.

..

.. bpo: 38169 .. date: 2019-09-14-13-20-27 .. nonce: hurq4B .. section: Tests

Increase code coverage for SharedMemory and ShareableList

..

.. bpo: 34401 .. date: 2018-08-20-09-38-52 .. nonce: eGxMPm .. section: Tests

Make test_gdb properly run on HP-UX. Patch by Michael Osipov.

..

.. bpo: 38249 .. date: 2020-09-28-21-56-51 .. nonce: uzMCaZ .. section: Build

Update :c:macro:Py_UNREACHABLE to use __builtin_unreachable() if only the compiler is able to use it. Patch by Donghee Na.

..

.. bpo: 41617 .. date: 2020-08-24-18-34-01 .. nonce: sKKXz7 .. section: Build

Fix pycore_bitutils.h header file to support old clang versions: __builtin_bswap16() is not available in LLVM clang 3.0.

..

.. bpo: 40204 .. date: 2020-06-25-06-59-13 .. nonce: GpD04D .. section: Build

Pin Sphinx version to 2.3.1 in Doc/Makefile.

..

.. bpo: 36020 .. date: 2020-06-15-22-14-25 .. nonce: wbiv0P .. section: Build

The C99 functions :c:func:snprintf and :c:func:vsnprintf are now required to build Python.

..

.. bpo: 40684 .. date: 2020-06-08-19-57-05 .. nonce: WIY2-i .. section: Build

make install now uses the PLATLIBDIR variable for the destination lib-dynload/ directory when ./configure --with-platlibdir is used.

..

.. bpo: 40683 .. date: 2020-05-19-10-54-08 .. nonce: W8JHrr .. section: Build

Fixed an issue where the :mod:zoneinfo module and its tests were not included when Python is installed with make.

..

.. bpo: 41744 .. date: 2020-09-11-17-59-33 .. nonce: e_ugDQ .. section: Windows

Fixes automatic import of props file when using the Nuget package.

..

.. bpo: 41627 .. date: 2020-09-04-21-35-28 .. nonce: sx2KN1 .. section: Windows

The user site directory for 32-bit now includes a -32 suffix to distinguish it from the 64-bit interpreter's directory.

..

.. bpo: 41526 .. date: 2020-08-13-22-40-58 .. nonce: -i2bwb .. section: Windows

Fixed layout of final page of the installer by removing the special thanks to Mark Hammond (with his permission).

..

.. bpo: 41492 .. date: 2020-08-06-16-59-10 .. nonce: 2FQ9cM .. section: Windows

Fixes the description that appears in UAC prompts.

..

.. bpo: 40948 .. date: 2020-07-28-12-39-32 .. nonce: ISUFO6 .. section: Windows

Improve post-install message to direct people to the "py" command.

..

.. bpo: 41412 .. date: 2020-07-28-11-55-43 .. nonce: ME20KB .. section: Windows

The installer will now fail to install on Windows 7 and Windows 8. Further, the UCRT dependency is now always downloaded on demand.

..

.. bpo: 40741 .. date: 2020-07-20-23-26-26 .. nonce: C9sc_d .. section: Windows

Update Windows release to include SQLite 3.32.3.

..

.. bpo: 41142 .. date: 2020-06-28-12-40-41 .. nonce: jpZzzh .. section: Windows

:mod:!msilib now supports creating CAB files with non-ASCII file path and adding files with non-ASCII file path to them.

..

.. bpo: 41074 .. date: 2020-06-24-21-30-42 .. nonce: gaQc3C .. section: Windows

Fixed support of non-ASCII names in functions :func:!msilib.OpenDatabase and :func:!msilib.init_database and non-ASCII SQL in method :meth:!msilib.Database.OpenView.

..

.. bpo: 41039 .. date: 2020-06-23-03-12-57 .. nonce: 0hgd0s .. section: Windows

Stable ABI redirection DLL (python3.dll) now uses #pragma comment(linker) for re-exporting.

..

.. bpo: 40164 .. date: 2020-06-12-13-13-44 .. nonce: SPrSn5 .. section: Windows

Updates Windows OpenSSL to 1.1.1g

..

.. bpo: 39631 .. date: 2020-05-19-14-43-33 .. nonce: Z5yXam .. section: Windows

Changes the registered MIME type for .py files on Windows to text/x-python instead of text/plain.

..

.. bpo: 40677 .. date: 2020-05-19-04-11-12 .. nonce: qQbLW8 .. section: Windows

Manually define IO_REPARSE_TAG_APPEXECLINK in case some old Windows SDK doesn't have it.

..

.. bpo: 37556 .. date: 2019-07-11-06-11-09 .. nonce: sygMUU .. section: Windows

Extend py.exe help to mention overrides via venv, shebang, environmental variables & ini files.

..

.. bpo: 41557 .. date: 2020-08-26-09-31-37 .. nonce: mcQ75z .. section: macOS

Update macOS installer to use SQLite 3.33.0.

..

.. bpo: 39580 .. date: 2020-06-25-06-09-00 .. nonce: N_vJ9h .. section: macOS

Avoid opening Finder window if running installer from the command line. Patch contributed by Rick Heil.

..

.. bpo: 41100 .. date: 2020-06-24-13-51-57 .. nonce: mcHdc5 .. section: macOS

Fix configure error when building on macOS 11. Note that the current Python release was released shortly after the first developer preview of macOS 11 (Big Sur); there are other known issues with building and running on the developer preview. Big Sur is expected to be fully supported in a future bugfix release of Python 3.8.x and with 3.9.0.

..

.. bpo: 40741 .. date: 2020-06-19-14-19-08 .. nonce: L7yTbm .. section: macOS

Update macOS installer to use SQLite 3.32.3.

..

.. bpo: 41005 .. date: 2020-06-17-13-45-15 .. nonce: zZegdV .. section: macOS

fixed an XDG settings issue not allowing macos to open browser in webbrowser.py

..

.. bpo: 40741 .. date: 2020-06-07-20-10-56 .. nonce: 80A2BW .. section: macOS

Update macOS installer to use SQLite 3.32.2.

..

.. bpo: 41775 .. date: 2020-09-24-14-31-16 .. nonce: sB8Vre .. section: IDLE

Use 'IDLE Shell' as shell title

..

.. bpo: 35764 .. date: 2020-09-22-11-13-45 .. nonce: VoNa8y .. section: IDLE

Rewrite the Calltips doc section.

..

.. bpo: 40181 .. date: 2020-09-22-00-45-40 .. nonce: hhQi3z .. section: IDLE

In calltips, stop reminding that '/' marks the end of positional-only arguments.

..

.. bpo: 41468 .. date: 2020-08-09-13-42-55 .. nonce: zkP0_Y .. section: IDLE

Improve IDLE run crash error message (which users should never see).

..

.. bpo: 41373 .. date: 2020-07-24-17-49-58 .. nonce: YQIPu_ .. section: IDLE

Save files loaded with no line ending, as when blank, or different line endings, by setting its line ending to the system default. Fix regression in 3.8.4 and 3.9.0b4.

..

.. bpo: 41300 .. date: 2020-07-16-17-39-06 .. nonce: wRixNb .. section: IDLE

Save files with non-ascii chars. Fix regression released in 3.9.0b4 and 3.8.4.

..

.. bpo: 37765 .. date: 2020-07-07-18-44-30 .. nonce: umc1o8 .. section: IDLE

Add keywords to module name completion list. Rewrite Completions section of IDLE doc.

..

.. bpo: 41152 .. date: 2020-06-29-14-51-15 .. nonce: d6mV0C .. section: IDLE

The encoding of stdin, stdout and stderr in IDLE is now always UTF-8.

..

.. bpo: 41144 .. date: 2020-06-27-17-02-00 .. nonce: JoFGIX .. section: IDLE

Make Open Module open a special module such as os.path.

..

.. bpo: 39885 .. date: 2020-05-29-18-21-58 .. nonce: zB_-bN .. section: IDLE

Make context menu Cut and Copy work again when right-clicking within a selection.

..

.. bpo: 40723 .. date: 2020-05-24-06-19-43 .. nonce: AJLd4U .. section: IDLE

Make test_idle pass when run after import.

..

.. bpo: 41936 .. date: 2020-10-05-01-25-23 .. nonce: 1gb5ra .. section: C API

Removed undocumented macros Py_ALLOW_RECURSION and Py_END_ALLOW_RECURSION and the recursion_critical field of the :c:type:PyInterpreterState structure.

..

.. bpo: 41692 .. date: 2020-10-02-00-57-34 .. nonce: fDScsF .. section: C API

The PyUnicode_InternImmortal() function is now deprecated and will be removed in Python 3.12: use :c:func:PyUnicode_InternInPlace instead. Patch by Victor Stinner.

..

.. bpo: 41842 .. date: 2020-09-27-20-43-16 .. nonce: bCakAj .. section: C API

Add :c:func:PyCodec_Unregister function to unregister a codec search function.

..

.. bpo: 41834 .. date: 2020-09-22-14-47-12 .. nonce: nrOrDU .. section: C API

Remove the _Py_CheckRecursionLimit variable: it has been replaced by ceval.recursion_limit of the :c:type:PyInterpreterState structure. Patch by Victor Stinner.

..

.. bpo: 41689 .. date: 2020-09-01-23-39-45 .. nonce: zxHbLB .. section: C API

Types created with :c:func:PyType_FromSpec now make any signature in their tp_doc slot accessible from __text_signature__.

..

.. bpo: 41524 .. date: 2020-08-12-17-09-06 .. nonce: u6Xfr2 .. section: C API

Fix bug in :c:func:PyOS_mystrnicmp and :c:func:PyOS_mystricmp that incremented pointers beyond the end of a string.

..

.. bpo: 41324 .. date: 2020-08-10-16-05-08 .. nonce: waZD35 .. section: C API

Add a minimal decimal capsule API. The API supports fast conversions between Decimals up to 38 digits and their triple representation as a C struct.

..

.. bpo: 30155 .. date: 2020-07-26-19-39-45 .. nonce: rHZRJ_ .. section: C API

Add :c:func:PyDateTime_DATE_GET_TZINFO and :c:func:PyDateTime_TIME_GET_TZINFO macros for accessing the tzinfo attributes of :class:datetime.datetime and :class:datetime.time objects.

..

.. bpo: 40170 .. date: 2020-07-08-10-14-52 .. nonce: N6Qx1i .. section: C API

Revert :c:func:PyType_HasFeature change: it reads again directly the :c:member:PyTypeObject.tp_flags member when the limited C API is not used, rather than always calling :c:func:PyType_GetFlags which hides implementation details.

..

.. bpo: 41123 .. date: 2020-06-29-15-49-36 .. nonce: wYY4E1 .. section: C API

Remove PyUnicode_AsUnicodeCopy.

..

.. bpo: 41123 .. date: 2020-06-29-11-33-49 .. nonce: qFevek .. section: C API

Removed PyLong_FromUnicode().

..

.. bpo: 41123 .. date: 2020-06-28-11-39-22 .. nonce: sjJWjQ .. section: C API

Removed PyUnicode_GetMax().

..

.. bpo: 41123 .. date: 2020-06-26-13-29-25 .. nonce: bRa1oy .. section: C API

Removed Py_UNICODE_str* functions manipulating Py_UNICODE* strings.

..

.. bpo: 41103 .. date: 2020-06-24-22-57-07 .. nonce: doojgE .. section: C API

PyObject_AsCharBuffer(), PyObject_AsReadBuffer(), PyObject_CheckReadBuffer(), and PyObject_AsWriteBuffer() are removed. Please migrate to new buffer protocol; :c:func:PyObject_GetBuffer and :c:func:PyBuffer_Release.

..

.. bpo: 36346 .. date: 2020-06-17-20-31-12 .. nonce: mwIyxi .. section: C API

Raises DeprecationWarning for PyUnicode_FromUnicode(NULL, size) and PyUnicode_FromStringAndSize(NULL, size) with size > 0.

..

.. bpo: 36346 .. date: 2020-06-17-11-24-00 .. nonce: fTMr3S .. section: C API

Mark Py_UNICODE_COPY, Py_UNICODE_FILL, PyUnicode_WSTR_LENGTH, PyUnicode_FromUnicode, PyUnicode_AsUnicode, and PyUnicode_AsUnicodeAndSize as deprecated in C. Remove Py_UNICODE_MATCH which was deprecated and broken since Python 3.3.

..

.. bpo: 40989 .. date: 2020-06-15-23-17-51 .. nonce: tlzG3r .. section: C API

The :c:func:PyObject_INIT and :c:func:PyObject_INIT_VAR macros become aliases to, respectively, :c:func:PyObject_Init and :c:func:PyObject_InitVar functions.

..

.. bpo: 36020 .. date: 2020-06-15-16-46-01 .. nonce: djI6jw .. section: C API

On Windows, #include "pyerrors.h" no longer defines snprintf and vsnprintf macros.

..

.. bpo: 40943 .. date: 2020-06-10-18-37-26 .. nonce: i4q7rK .. section: C API

The PY_SSIZE_T_CLEAN macro must now be defined to use :c:func:PyArg_ParseTuple and :c:func:Py_BuildValue formats which use #: es#, et#, s#, u#, y#, z#, U# and Z#. See :ref:Parsing arguments and building values <arg-parsing> and the :pep:353.

..

.. bpo: 40910 .. date: 2020-06-08-15-59-06 .. nonce: L56oI0 .. section: C API

Export explicitly the :c:func:Py_GetArgcArgv function to the C API and document the function. Previously, it was exported implicitly which no longer works since Python is built with -fvisibility=hidden.

..

.. bpo: 40724 .. date: 2020-06-04-08-01-23 .. nonce: qIIdSi .. section: C API

Allow defining buffer slots in type specs.

..

.. bpo: 40679 .. date: 2020-06-03-17-48-13 .. nonce: 3sgWma .. section: C API

Fix a _PyEval_EvalCode() crash if qualname argument is NULL.

..

.. bpo: 40839 .. date: 2020-06-01-20-47-49 .. nonce: bAi52Z .. section: C API

Calling :c:func:PyDict_GetItem without :term:GIL held had been allowed for historical reason. It is no longer allowed.

..

.. bpo: 40826 .. date: 2020-06-01-16-12-37 .. nonce: zQzFoK .. section: C API

:c:func:PyOS_InterruptOccurred now fails with a fatal error if it is called with the GIL released.

..

.. bpo: 40792 .. date: 2020-05-27-11-02-15 .. nonce: pBw2Bb .. section: C API

The result of :c:func:PyNumber_Index now always has exact type :class:int. Previously, the result could have been an instance of a subclass of int.

..

.. bpo: 39573 .. date: 2020-05-26-16-21-47 .. nonce: depAgq .. section: C API

Convert :c:func:Py_REFCNT and :c:func:Py_SIZE macros to static inline functions. They cannot be used as l-value anymore: use :c:func:Py_SET_REFCNT and :c:func:Py_SET_SIZE to set an object reference count and size. This change is backward incompatible on purpose, to prepare the C API for an opaque :c:type:PyObject structure.

..

.. bpo: 40703 .. date: 2020-05-20-19-11-12 .. nonce: qQXfW8 .. section: C API

The PyType_FromSpec*() functions no longer overwrite the type's "module" attribute if it is set via "Py_tp_members" or "Py_tp_getset".

..

.. bpo: 39583 .. date: 2020-02-08-08-01-35 .. nonce: qURKSl .. section: C API

Remove superfluous "extern C" declarations from Include/cpython/*.h.