Back to Cpython

3.11.0a2

Misc/NEWS.d/3.11.0a2.rst

3.15.0a829.1 KB
Original Source

.. bpo: 45716 .. date: 2021-11-04-20-19-07 .. nonce: 5C0pA1 .. release date: 2021-11-05 .. section: Core and Builtins

Improve the :exc:SyntaxError message when using True, None or False as keywords in a function call. Patch by Pablo Galindo.

..

.. bpo: 45688 .. date: 2021-11-02-09-27-46 .. nonce: v5Der1 .. section: Core and Builtins

:data:sys.stdlib_module_names now contains the macOS-specific module :mod:!_scproxy.

..

.. bpo: 45379 .. date: 2021-10-23-13-49-00 .. nonce: ZF7G3n .. section: Core and Builtins

Clarify :exc:ImportError message when we try to explicitly import a frozen module but frozen modules are disabled.

..

.. bpo: 44525 .. date: 2021-10-20-11-57-31 .. nonce: veL4lJ .. section: Core and Builtins

Specialize simple calls to Python functions (no starargs, keyword dict, or closure)

..

.. bpo: 45530 .. date: 2021-10-20-01-28-26 .. nonce: 5r7n4m .. section: Core and Builtins

Cases of sorting using tuples as keys may now be significantly faster in some cases. Patch by Tim Peters.

The order of the result may differ from earlier releases if the tuple elements don't define a total ordering (see :ref:expressions-value-comparisons for information on total ordering). It's generally true that the result of sorting simply isn't well-defined in the absence of a total ordering on list elements.

..

.. bpo: 45526 .. date: 2021-10-19-10-29-47 .. nonce: WQnvW9 .. section: Core and Builtins

In obmalloc, set ADDRESS_BITS to not ignore any bits (ignored 16 before). That is safer in the case that the kernel gives user-space virtual addresses that span a range greater than 48 bits.

..

.. bpo: 30570 .. date: 2021-10-19-01-04-08 .. nonce: _G30Ms .. section: Core and Builtins

Fixed a crash in issubclass() from infinite recursion when searching pathological __bases__ tuples.

..

.. bpo: 45521 .. date: 2021-10-18-22-40-33 .. nonce: GdMiuW .. section: Core and Builtins

Fix a bug in the obmalloc radix tree code. On 64-bit machines, the bug causes the tree to hold 46-bits of virtual addresses, rather than the intended 48-bits.

..

.. bpo: 45494 .. date: 2021-10-16-17-27-48 .. nonce: vMt1g4 .. section: Core and Builtins

Fix parser crash when reporting errors involving invalid continuation characters. Patch by Pablo Galindo.

..

.. bpo: 45445 .. date: 2021-10-12-14-41-39 .. nonce: _F5cMf .. section: Core and Builtins

Python now fails to initialize if it finds an invalid :option:-X option in the command line. Patch by Pablo Galindo.

..

.. bpo: 45340 .. date: 2021-10-08-09-47-38 .. nonce: ukHgDb .. section: Core and Builtins

Object attributes are held in an array instead of a dictionary. An object's dictionary are created lazily, only when needed. Reduces the memory consumption of a typical Python object by about 30%. Patch by Mark Shannon.

..

.. bpo: 45408 .. date: 2021-10-07-21-26-44 .. nonce: qUqzcd .. section: Core and Builtins

Fix a crash in the parser when reporting tokenizer errors that occur at the same time unclosed parentheses are detected. Patch by Pablo Galindo.

..

.. bpo: 29410 .. date: 2021-10-07-19-09-12 .. nonce: bg5SYp .. section: Core and Builtins

Add SipHash13 for string hash algorithm and use it by default.

..

.. bpo: 45385 .. date: 2021-10-06-21-20-11 .. nonce: CTUT8s .. section: Core and Builtins

Fix reference leak from descr_check. Patch by Donghee Na.

..

.. bpo: 45367 .. date: 2021-10-05-03-49-07 .. nonce: _astoU .. section: Core and Builtins

Specialized the BINARY_MULTIPLY opcode to BINARY_MULTIPLY_INT and BINARY_MULTIPLY_FLOAT using the PEP 659 machinery.

..

.. bpo: 21736 .. date: 2021-10-01-09-21-02 .. nonce: RI47BU .. section: Core and Builtins

Frozen stdlib modules now have __file__ to the .py file they would otherwise be loaded from, if possible. For packages, __path__ now has the correct entry instead of being an empty list, which allows unfrozen submodules to be imported. These are set only if the stdlib directory is known when the runtime is initialized. Note that the file at __file__ is not guaranteed to exist. None of this affects non-stdlib frozen modules nor, for now, frozen modules imported using PyImport_ImportFrozenModule(). Also, at the moment co_filename is not updated for the module.

..

.. bpo: 45020 .. date: 2021-10-01-09-06-54 .. nonce: Cj5VQN .. section: Core and Builtins

For frozen stdlib modules, record the original module name as module.__spec__.loader_state.origname. If the value is different than module.__spec__.name then the module was defined as an alias in Tools/scripts/freeze_modules.py. If it is None then the module comes from a source file outside the stdlib.

..

.. bpo: 45324 .. date: 2021-09-29-12-02-39 .. nonce: BTQElX .. section: Core and Builtins

In FrozenImporter.find_spec(), we now preserve the information needed in exec_module() to load the module. This change mostly impacts internal details, rather than changing the importer's behavior.

..

.. bpo: 45292 .. date: 2021-09-26-18-18-50 .. nonce: aX5HVr .. section: Core and Builtins

Implement :pep:654. Add :class:ExceptionGroup and :class:BaseExceptionGroup. Update traceback display code.

..

.. bpo: 40116 .. date: 2021-09-23-14-00-05 .. nonce: KaoeFs .. section: Core and Builtins

Change to the implementation of split dictionaries. Classes where the instances differ either in the exact set of attributes, or in the order in which those attributes are set, can still share keys. This should have no observable effect on users of Python or the C-API. Patch by Mark Shannon.

..

.. bpo: 44050 .. date: 2021-09-08-00-30-09 .. nonce: mFI15u .. section: Core and Builtins

Extensions that indicate they use global state (by setting m_size to -1) can again be used in multiple interpreters. This reverts to behavior of Python 3.8.

..

.. bpo: 44525 .. date: 2021-06-28-22-23-59 .. nonce: sSvUKG .. section: Core and Builtins

Setup initial specialization infrastructure for the CALL_FUNCTION opcode. Implemented initial specializations for C function calls:

  • CALL_FUNCTION_BUILTIN_O for METH_O flag.

  • CALL_FUNCTION_BUILTIN_FAST for METH_FASTCALL flag without keywords.

  • CALL_FUNCTION_LEN for len(o).

  • CALL_FUNCTION_ISINSTANCE for isinstance(o, t).

..

.. bpo: 44511 .. date: 2021-06-26-16-55-08 .. nonce: k8sMvV .. section: Core and Builtins

Improve the generated bytecode for class and mapping patterns.

..

.. bpo: 43706 .. date: 2021-04-03-02-44-15 .. nonce: jjsXlT .. section: Core and Builtins

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

..

.. bpo: 45679 .. date: 2021-10-30-21-11-37 .. nonce: Dq8Cpu .. section: Library

Fix caching of multi-value :data:typing.Literal. Literal[True, 2] is no longer equal to Literal[1, 2].

..

.. bpo: 42064 .. date: 2021-10-27-13-28-52 .. nonce: UK4jgV .. section: Library

Convert :mod:sqlite3 to multi-phase initialisation (PEP 489). Patches by Erlend E. Aasland.

..

.. bpo: 45438 .. date: 2021-10-27-10-05-39 .. nonce: Xz5lGU .. section: Library

Fix typing.Signature string representation for generic builtin types.

..

.. bpo: 45613 .. date: 2021-10-26-14-29-54 .. nonce: 55Ie3c .. section: Library

:mod:sqlite3 now sets :attr:sqlite3.threadsafety based on the default threading mode the underlying SQLite library has been compiled with. Patch by Erlend E. Aasland.

..

.. bpo: 45574 .. date: 2021-10-22-23-06-33 .. nonce: svqA84 .. section: Library

Fix warning about print_escape being unused.

..

.. bpo: 45581 .. date: 2021-10-22-21-57-02 .. nonce: rlH6ay .. section: Library

:meth:sqlite3.connect now correctly raises :exc:MemoryError if the underlying SQLite API signals memory error. Patch by Erlend E. Aasland.

..

.. bpo: 45557 .. date: 2021-10-21-16-18-51 .. nonce: 4MQt4r .. section: Library

:func:pprint.pprint now handles underscore_numbers correctly. Previously it was always setting it to False.

..

.. bpo: 44019 .. date: 2021-10-21-10-14-22 .. nonce: Xk4Ncr .. section: Library

Add :func:operator.call to operator.__all__. Patch by Kreusada.

..

.. bpo: 42174 .. date: 2021-10-19-01-30-57 .. nonce: O2w9bi .. section: Library

:meth:shutil.get_terminal_size now falls back to sane values if the column or line count are 0.

..

.. bpo: 35673 .. date: 2021-10-18-18-12-47 .. nonce: KOkHWe .. section: Library

Improve the introspectability of the __loader__ attribute for namespace packages. :class:importlib.machinery.NamespaceLoader is now public, and implements the :class:importlib.abc.InspectLoader interface. _NamespaceLoader is kept for backward compatibility.

..

.. bpo: 45515 .. date: 2021-10-18-14-52-48 .. nonce: aXdvm_ .. section: Library

Add references to :mod:zoneinfo in the :mod:datetime documentation, mostly replacing outdated references to dateutil.tz. Change by Paul Ganssle.

..

.. bpo: 45475 .. date: 2021-10-18-10-46-47 .. nonce: sb9KDF .. section: Library

Reverted optimization of iterating :class:gzip.GzipFile, :class:bz2.BZ2File, and :class:lzma.LZMAFile (see bpo-43787) because it caused regression when user iterate them without having reference of them. Patch by Inada Naoki.

..

.. bpo: 45489 .. date: 2021-10-16-23-46-39 .. nonce: QB0rhG .. section: Library

Update :class:~typing.ForwardRef to support | operator. Patch by Donghee Na.

..

.. bpo: 42222 .. date: 2021-10-15-11-30-11 .. nonce: hdHyac .. section: Library

Removed deprecated support for float arguments in randrange().

..

.. bpo: 45428 .. date: 2021-10-14-18-04-17 .. nonce: mM2War .. section: Library

Fix a regression in py_compile when reading filenames from standard input.

..

.. bpo: 45467 .. date: 2021-10-14-13-31-19 .. nonce: Q7Ma6A .. section: Library

Fix incremental decoder and stream reader in the "raw-unicode-escape" codec. Previously they failed if the escape sequence was split.

..

.. bpo: 45461 .. date: 2021-10-14-00-19-02 .. nonce: 4LB_tJ .. section: Library

Fix incremental decoder and stream reader in the "unicode-escape" codec. Previously they failed if the escape sequence was split.

..

.. bpo: 45239 .. date: 2021-10-13-17-52-48 .. nonce: 7li1_0 .. section: Library

Fixed :func:email.utils.parsedate_tz crashing with :exc:UnboundLocalError on certain invalid input instead of returning None. Patch by Ben Hoyt.

..

.. bpo: 45417 .. date: 2021-10-12-20-35-06 .. nonce: gQM-O7 .. section: Library

Fix quadratic behaviour in the enum module: Creation of enum classes with a lot of entries was quadratic.

..

.. bpo: 45249 .. date: 2021-10-10-16-14-33 .. nonce: xqLliz .. section: Library

Fix the behaviour of :func:traceback.print_exc when displaying the caret when the end_offset in the exception is set to 0. Patch by Pablo Galindo

..

.. bpo: 45416 .. date: 2021-10-10-09-42-34 .. nonce: n35O0_ .. section: Library

Fix use of :class:asyncio.Condition with explicit :class:asyncio.Lock objects, which was a regression due to removal of explicit loop arguments. Patch by Joongi Kim.

..

.. bpo: 20028 .. date: 2021-10-10-00-25-36 .. nonce: bPx4Z8 .. section: Library

Empty escapechar/quotechar is not allowed when initializing :class:csv.Dialect. Patch by Vajrasky Kok and Donghee Na.

..

.. bpo: 44904 .. date: 2021-10-09-18-42-27 .. nonce: RlW5h8 .. section: Library

Fix bug in the :mod:doctest module that caused it to fail if a docstring included an example with a classmethod property. Patch by Alex Waygood.

..

.. bpo: 45406 .. date: 2021-10-08-19-24-48 .. nonce: Qh_Mz4 .. section: Library

Make :func:inspect.getmodule catch FileNotFoundError raised by :func:inspect.getabsfile, and return None to indicate that the module could not be determined.

..

.. bpo: 45411 .. date: 2021-10-08-11-29-29 .. nonce: 4jR--U .. section: Library

Add extensions for files containing subtitles - .srt & .vtt - to the mimetypes.py module.

..

.. bpo: 10716 .. date: 2021-10-08-04-11-55 .. nonce: QSRVK2 .. section: Library

Migrated pydoc to HTML5 (without changing the look of it). Side effect is to update xmlrpc's ServerHTMLDoc which now uses the CSS too. cgitb now relies less on pydoc (as it can't use the CSS file).

..

.. bpo: 27580 .. date: 2021-10-07-21-11-48 .. nonce: tGcBTH .. section: Library

Add support of null characters in :mod:csv.

..

.. bpo: 45262 .. date: 2021-10-07-14-04-10 .. nonce: HqF71Z .. section: Library

Prevent use-after-free in asyncio. Make sure the cached running loop holder gets cleared on dealloc to prevent use-after-free in get_running_loop

..

.. bpo: 45386 .. date: 2021-10-07-00-05-05 .. nonce: q9ORpA .. section: Library

Make :mod:xmlrpc.client more robust to C runtimes where the underlying C strftime function results in a ValueError when testing for year formatting options.

..

.. bpo: 20028 .. date: 2021-10-03-21-14-37 .. nonce: zBA4RK .. section: Library

Improve error message of :class:csv.Dialect when initializing. Patch by Vajrasky Kok and Donghee Na.

..

.. bpo: 45343 .. date: 2021-10-01-23-07-02 .. nonce: ixmctD .. section: Library

Update bundled pip to 21.2.4 and setuptools to 58.1.0

..

.. bpo: 45328 .. date: 2021-09-30-08-22-44 .. nonce: 8Z-Q0B .. section: Library

Fixed :class:http.client.HTTPConnection to work properly in OSs that don't support the TCP_NODELAY socket option.

..

.. bpo: 45243 .. date: 2021-09-20-01-25-09 .. nonce: 0pJf0U .. section: Library

Add :meth:~sqlite3.Connection.setlimit and :meth:~sqlite3.Connection.getlimit to :class:sqlite3.Connection for setting and getting SQLite limits by connection basis. Patch by Erlend E. Aasland.

..

.. bpo: 45320 .. date: 2021-09-15-10-21-10 .. nonce: 4qaf5x .. section: Library

Removed from the :mod:inspect module:

  • the getargspec function, deprecated since Python 3.0; use :func:inspect.signature or :func:inspect.getfullargspec instead.

  • the formatargspec function, deprecated since Python 3.5; use the :func:inspect.signature function and :class:Signature object directly.

  • the undocumented Signature.from_builtin and Signature.from_function functions, deprecated since Python 3.5; use the :meth:Signature.from_callable() <inspect.Signature.from_callable> method instead.

Patch by Hugo van Kemenade.

..

.. bpo: 45192 .. date: 2021-09-14-15-52-47 .. nonce: DjA-BI .. section: Library

Fix the tempfile._infer_return_type function so that the dir argument of the :mod:tempfile functions accepts an object implementing the os.PathLike protocol.

Patch by Kyungmin Lee.

..

.. bpo: 45160 .. date: 2021-09-11-14-47-05 .. nonce: VzMXbW .. section: Library

When tracing a tkinter variable used by a ttk OptionMenu, callbacks are no longer made twice.

..

.. bpo: 25625 .. date: 2021-09-10-12-53-28 .. nonce: SzcBCw .. section: Library

Added non parallel-safe :func:~contextlib.chdir context manager to change the current working directory and then restore it on exit. Simple wrapper around :func:~os.chdir.

..

.. bpo: 24139 .. date: 2021-08-30-23-10-48 .. nonce: e38czf .. section: Library

Add support for SQLite extended result codes in :exc:sqlite3.Error. Patch by Erlend E. Aasland.

..

.. bpo: 24444 .. date: 2021-08-30-00-19-23 .. nonce: Ki4bgz .. section: Library

Fixed an error raised in :mod:argparse help display when help for an option is set to 1+ blank spaces or when choices arg is an empty container.

..

.. bpo: 44547 .. date: 2021-08-20-10-52-40 .. nonce: eu0iJq .. section: Library

Implement Fraction.__int__, so that a :class:fractions.Fraction instance f passes an isinstance(f, typing.SupportsInt) check.

..

.. bpo: 40321 .. date: 2021-07-22-21-25-56 .. nonce: gBlFmw .. section: Library

Adds support for HTTP 308 redirects to :mod:urllib. See :rfc:7538 for details. Patch by Jochem Schulenklopper.

..

.. bpo: 41374 .. date: 2020-07-27-19-21-05 .. nonce: cd-kFL .. section: Library

Ensure that socket.TCP_* constants are exposed on Cygwin 3.1.6 and greater.

..

.. bpo: 35970 .. date: 2019-02-11-19-06-10 .. nonce: ZRvh51 .. section: Library

Add help flag to the base64 module's command line interface. Patch contributed by Robert Kuska.

..

.. bpo: 45726 .. date: 2021-11-05-12-15-24 .. nonce: GwRr7e .. section: Documentation

Improve documentation for :func:functools.singledispatch and :class:functools.singledispatchmethod.

..

.. bpo: 45680 .. date: 2021-11-03-14-51-03 .. nonce: 9_NTFU .. section: Documentation

Amend the docs on GenericAlias objects to clarify that non-container classes can also implement __class_getitem__. Patch contributed by Alex Waygood.

..

.. bpo: 45618 .. date: 2021-10-31-20-35-06 .. nonce: RTcNXF .. section: Documentation

Update Sphinx version used to build the documentation to 4.2.0. Patch by Maciej Olko.

..

.. bpo: 45655 .. date: 2021-10-28-19-22-55 .. nonce: aPYGaS .. section: Documentation

Add a new "relevant PEPs" section to the top of the documentation for the typing module. Patch by Alex Waygood.

..

.. bpo: 45604 .. date: 2021-10-26-10-00-45 .. nonce: Dm-YhV .. section: Documentation

Add level argument to multiprocessing.log_to_stderr function docs.

..

.. bpo: 45516 .. date: 2021-10-22-21-57-42 .. nonce: 7_RMEX .. section: Documentation

Add protocol description to the :class:importlib.abc.TraversableResources documentation.

..

.. bpo: 45464 .. date: 2021-10-20-16-26-53 .. nonce: mOISBs .. section: Documentation

Mention in the documentation of :ref:Built-in Exceptions <bltin-exceptions> that inheriting from multiple exception types in a single subclass is not recommended due to possible memory layout incompatibility.

..

.. bpo: 45449 .. date: 2021-10-19-01-41-40 .. nonce: fjHZJc .. section: Documentation

Add note about :pep:585 in :mod:collections.abc.

..

.. bpo: 45516 .. date: 2021-10-18-20-12-18 .. nonce: EJh4K8 .. section: Documentation

Add protocol description to the :class:importlib.abc.Traversable documentation.

..

.. bpo: 20692 .. date: 2021-10-13-00-42-54 .. nonce: K5rGtP .. section: Documentation

Add Programming FAQ entry explaining that int literal attribute access requires either a space after or parentheses around the literal.

..

.. bpo: 45678 .. date: 2021-11-04-20-03-32 .. nonce: 1xNMjN .. section: Tests

Add tests for scenarios in which :class:functools.singledispatchmethod is stacked on top of a method that has already been wrapped by two other decorators. Patch by Alex Waygood.

..

.. bpo: 45578 .. date: 2021-10-30-19-00-25 .. nonce: bvu6X2 .. section: Tests

Add tests for :func:dis.distb

..

.. bpo: 45678 .. date: 2021-10-30-13-12-20 .. nonce: bKrYeS .. section: Tests

Add tests to ensure that functools.singledispatchmethod correctly wraps the attributes of the target function.

..

.. bpo: 45668 .. date: 2021-10-29-17-18-56 .. nonce: MfAw4i .. section: Tests

PGO tests now pass when Python is built without test extension modules.

..

.. bpo: 45577 .. date: 2021-10-22-19-44-13 .. nonce: dSaNvK .. section: Tests

Add subtests for all pickle protocols in test_zoneinfo.

..

.. bpo: 45566 .. date: 2021-10-22-12-05-21 .. nonce: 2gQ3ZB .. section: Tests

Fix test_frozen_pickle in test_dataclasses to check all pickle versions.

..

.. bpo: 43592 .. date: 2021-10-21-17-22-26 .. nonce: kHRsra .. section: Tests

:mod:test.libregrtest now raises the soft resource limit for the maximum number of file descriptors when the default is too low for our test suite as was often the case on macOS.

..

.. bpo: 39679 .. date: 2021-10-18-16-18-41 .. nonce: F18qcE .. section: Tests

Add more test cases for @functools.singledispatchmethod when combined with @classmethod or @staticmethod.

..

.. bpo: 45410 .. date: 2021-10-08-14-03-20 .. nonce: Ex9xe2 .. section: Tests

When libregrtest spawns a worker process, stderr is now written into stdout to keep messages order. Use a single pipe for stdout and stderr, rather than two pipes. Previously, messages were out of order which made analysis of buildbot logs harder Patch by Victor Stinner.

..

.. bpo: 45402 .. date: 2021-10-07-13-43-01 .. nonce: jlQvep .. section: Tests

Fix test_tools.test_sundry() when Python is built out of tree: fix how the freeze_modules.py tool locates the _freeze_module program. Patch by Victor Stinner.

..

.. bpo: 45403 .. date: 2021-10-07-13-27-12 .. nonce: 7QiDvw .. section: Tests

Fix test_sys.test_stdlib_dir() when Python is built outside the source tree: compare normalized paths. Patch by Victor Stinner.

..

.. bpo: 45400 .. date: 2021-10-07-13-11-45 .. nonce: h3iT7V .. section: Tests

Fix test_name_error_suggestions_do_not_trigger_for_too_many_locals() of test_exceptions if a directory name contains "a1" (like "Python-3.11.0a1"): use a stricter regular expression. Patch by Victor Stinner.

..

.. bpo: 10572 .. date: 2021-01-07-01-25-38 .. nonce: gEEZ9z .. section: Tests

Rename :mod:sqlite3 tests from test_sqlite to test_sqlite3, and relocate them to Lib/test/test_sqlite3. Patch by Erlend E. Aasland.

..

.. bpo: 43158 .. date: 2021-11-01-12-51-46 .. nonce: fghS6w .. section: Build

setup.py now uses values from configure script to build the _uuid extension module. Configure now detects util-linux's libuuid, too.

..

.. bpo: 45666 .. date: 2021-10-29-12-54-53 .. nonce: w2G63u .. section: Build

Fix warning of swprintf and %s usage in _testembed.c

..

.. bpo: 45548 .. date: 2021-10-28-14-47-22 .. nonce: mdCBxB .. section: Build

Modules/Setup and Modules/makesetup have been improved. The Setup file now contains working rules for all extensions. Outdated comments have been removed. Rules defined by makesetup track dependencies correctly.

..

.. bpo: 45548 .. date: 2021-10-24-21-49-49 .. nonce: UWx0UC .. section: Build

The :mod:math and :mod:cmath implementation now require a C99 compatible libm and no longer ship with workarounds for missing acosh, asinh, atanh, expm1, and log1p functions.

..

.. bpo: 45595 .. date: 2021-10-24-11-02-43 .. nonce: WI_5YU .. section: Build

setup.py and makesetup now track build dependencies on all Python header files and module specific header files.

..

.. bpo: 45571 .. date: 2021-10-22-15-28-29 .. nonce: yY8NsJ .. section: Build

Modules/Setup now use PY_CFLAGS_NODIST instead of PY_CFLAGS to compile shared modules.

..

.. bpo: 45570 .. date: 2021-10-22-14-45-40 .. nonce: 61gM2A .. section: Build

:mod:pyexpat and :mod:!_elementtree no longer define obsolete macros HAVE_EXPAT_CONFIG_H and USE_PYEXPAT_CAPI. XML_POOR_ENTROPY is now defined in expat_config.h.

..

.. bpo: 43974 .. date: 2021-10-22-14-00-44 .. nonce: HHZtbx .. section: Build

setup.py no longer defines Py_BUILD_CORE_MODULE. Instead every module, that uses the internal API, defines the macro.

..

.. bpo: 45548 .. date: 2021-10-20-17-02-56 .. nonce: BoggEf .. section: Build

Fill in missing entries in Modules/Setup.

..

.. bpo: 45532 .. date: 2021-10-20-16-07-39 .. nonce: kyhvis .. section: Build

Update :data:sys.version to use main as fallback information. Patch by Jeong YunWon.

..

.. bpo: 45536 .. date: 2021-10-20-12-42-39 .. nonce: oQNYHB .. section: Build

The configure script now checks whether OpenSSL headers and libraries provide required APIs. Most common APIs are verified. The check detects outdated or missing OpenSSL. Failures do not stop configure.

..

.. bpo: 45221 .. date: 2021-10-18-10-25-56 .. nonce: rnulhf .. section: Build

Fixed regression in handling of LDFLAGS and CPPFLAGS options where :meth:argparse.parse_known_args could interpret an option as one of the built-in command line argument, for example -h for help.

..

.. bpo: 45440 .. date: 2021-10-12-02-13-08 .. nonce: -zYgDb .. section: Build

Building Python now requires a C99 <math.h> header file providing the following functions: copysign(), hypot(), isfinite(), isinf(), isnan(), round(). Patch by Victor Stinner.

..

.. bpo: 45405 .. date: 2021-10-11-16-27-38 .. nonce: iSfdW5 .. section: Build

Prevent internal configure error when running configure with recent versions of non-Apple clang. Patch by David Bohman.

..

.. bpo: 45433 .. date: 2021-10-11-16-08-37 .. nonce: pVDkMV .. section: Build

Avoid linking libpython with libcrypt.

..

.. bpo: 43652 .. date: 2021-11-04-00-41-50 .. nonce: RnqV7I .. section: Windows

Update Tcl/Tk to 8.6.11, actually this time. The previous update incorrectly included 8.6.10.

..

.. bpo: 45337 .. date: 2021-09-30-23-17-27 .. nonce: qg7U_h .. section: Windows

venv now warns when the created environment may need to be accessed at a different path, due to redirections, links or junctions. It also now correctly installs or upgrades components when the alternate path is required.

..

.. bpo: 43851 .. date: 2021-04-15-01-23-10 .. nonce: qgU0gy .. section: Windows

Build SQLite SQLITE_OMIT_AUTOINIT on Windows. Patch by Erlend E. Aasland.

..

.. bpo: 44828 .. date: 2021-10-25-02-02-21 .. nonce: XBdXlJ .. section: macOS

Avoid tkinter file dialog failure on macOS 12 Monterey when using the Tk 8.6.11 provided by python.org macOS installers. Patch by Marc Culler of the Tk project.

..

.. bpo: 45495 .. date: 2021-10-16-17-20-32 .. nonce: ST8RFt .. section: IDLE

Add context keywords 'case' and 'match' to completions list.

..

.. bpo: 29103 .. date: 2021-10-20-18-41-17 .. nonce: CMRLyq .. section: C API

:c:func:PyType_FromSpec* <PyType_FromModuleAndSpec> now copies the class name from the spec to a buffer owned by the class, so the original can be safely deallocated. Patch by Petr Viktorin.

..

.. bpo: 45522 .. date: 2021-10-19-13-07-46 .. nonce: kGAwmZ .. section: C API

The internal freelists for frame, float, list, dict, async generators, and context objects can now be disabled.

..

.. bpo: 35134 .. date: 2021-10-19-00-20-40 .. nonce: Z0Zk_m .. section: C API

Exclude :c:func:!PyWeakref_GET_OBJECT from the limited C API. It never worked since the :c:type:!PyWeakReference structure is opaque in the limited C API.

..

.. bpo: 35081 .. date: 2021-10-15-09-29-59 .. nonce: 2teFD3 .. section: C API

Move the interpreteridobject.h header file from Include/ to Include/internal/. It only provides private functions. Patch by Victor Stinner.

..

.. bpo: 35134 .. date: 2021-10-15-00-11-51 .. nonce: eX4zqy .. section: C API

The non-limited API files cellobject.h, classobject.h, context.h, funcobject.h, genobject.h and longintrepr.h have been moved to the Include/cpython directory. Moreover, the eval.h header file was removed. These files must not be included directly, as they are already included in Python.h: :ref:Include Files <api-includes>. If they have been included directly, consider including Python.h instead. Patch by Victor Stinner.

..

.. bpo: 45474 .. date: 2021-10-14-22-16-56 .. nonce: 1OkJQh .. section: C API

The following items are no longer available when Py_LIMITED_API is defined:

  • :c:func:PyMarshal_WriteLongToFile
  • :c:func:PyMarshal_WriteObjectToFile
  • :c:func:PyMarshal_ReadObjectFromString
  • :c:func:PyMarshal_WriteObjectToString
  • the Py_MARSHAL_VERSION macro

These are not part of the :ref:limited API <limited-api-list>.

Patch by Victor Stinner.

..

.. bpo: 45434 .. date: 2021-10-13-14-42-46 .. nonce: INNEEt .. section: C API

Remove the pystrhex.h header file. It only contains private functions. C extensions should only include the main <Python.h> header file. Patch by Victor Stinner.

..

.. bpo: 45440 .. date: 2021-10-12-02-13-41 .. nonce: Gf94rE .. section: C API

Remove the Py_FORCE_DOUBLE() macro. It was used by the Py_IS_INFINITY() macro. Patch by Victor Stinner.

..

.. bpo: 45434 .. date: 2021-10-11-23-03-49 .. nonce: tsS8I_ .. section: C API

<Python.h> no longer includes the header files <stdlib.h>, <stdio.h>, <errno.h> and <string.h> when the Py_LIMITED_API macro is set to 0x030b0000 (Python 3.11) or higher. C extensions should explicitly include the header files after #include <Python.h>. Patch by Victor Stinner.

..

.. bpo: 41123 .. date: 2021-10-11-22-58-33 .. nonce: myrlIp .. section: C API

Remove Py_UNICODE_COPY() and Py_UNICODE_FILL() macros, deprecated since Python 3.3. Use PyUnicode_CopyCharacters() or memcpy() (wchar_t* string), and PyUnicode_Fill() functions instead. Patch by Victor Stinner.

..

.. bpo: 45412 .. date: 2021-10-08-15-54-07 .. nonce: KHyJCT .. section: C API

Remove the following math macros using the errno variable:

  • Py_ADJUST_ERANGE1()
  • Py_ADJUST_ERANGE2()
  • Py_OVERFLOWED()
  • Py_SET_ERANGE_IF_OVERFLOW()
  • Py_SET_ERRNO_ON_MATH_ERROR()

Patch by Victor Stinner.

..

.. bpo: 45395 .. date: 2021-10-06-15-54-40 .. nonce: yVhdAl .. section: C API

Custom frozen modules (the array set to PyImport_FrozenModules) are now treated as additions, rather than replacing all the default frozen modules. Frozen stdlib modules can still be disabled by setting the "code" field of the custom array entry to NULL.

..

.. bpo: 43760 .. date: 2021-09-24-11-12-21 .. nonce: Bfxd1- .. section: C API

Add new :c:func:PyThreadState_EnterTracing, and :c:func:PyThreadState_LeaveTracing functions to the limited C API to suspend and resume tracing and profiling. Patch by Victor Stinner.

..

.. bpo: 44220 .. date: 2021-05-24-22-12-40 .. nonce: H9CUGl .. section: C API

:c:var:PyStructSequence_UnnamedField is added to the Stable ABI.