| .. bpo: 46009 |
| .. date: 2021-12-08-11-06-53 |
| .. nonce: cL8pH0 |
| .. release date: 2021-12-08 |
| .. section: Core and Builtins |
| |
| Restore behavior from 3.9 and earlier when sending non-None to newly started |
| generator. In 3.9 this did not affect the state of the generator. In 3.10.0 |
| and 3.10.1 ``gen_func().send(0)`` is equivalent to |
| ``gen_func().throw(TypeError(...)`` which exhausts the generator. In 3.10.2 |
| onward, the behavior has been reverted to that of 3.9. |
| |
| .. |
| |
| .. bpo: 46004 |
| .. date: 2021-12-07-11-24-24 |
| .. nonce: TTEU1p |
| .. section: Core and Builtins |
| |
| Fix the :exc:`SyntaxError` location for errors involving for loops with |
| invalid targets. Patch by Pablo Galindo |
| |
| .. |
| |
| .. bpo: 45711 |
| .. date: 2021-12-05-17-36-08 |
| .. nonce: 3TmTSw |
| .. section: Core and Builtins |
| |
| :c:func:`_PyErr_ChainStackItem` no longer normalizes ``exc_info`` (including |
| setting the traceback on the exception instance) because ``exc_info`` is |
| always normalized. |
| |
| .. |
| |
| .. bpo: 45607 |
| .. date: 2021-12-01-15-38-04 |
| .. nonce: JhuF8b |
| .. section: Core and Builtins |
| |
| The ``__note__`` field was added to :exc:`BaseException`. It is ``None`` by |
| default but can be set to a string which is added to the exception's |
| traceback. |
| |
| .. |
| |
| .. bpo: 45947 |
| .. date: 2021-12-01-14-06-36 |
| .. nonce: 1XPPm_ |
| .. section: Core and Builtins |
| |
| Place pointers to dict and values immediately before GC header. This reduces |
| number of dependent memory loads to access either dict or values from 3 to |
| 1. |
| |
| .. |
| |
| .. bpo: 45915 |
| .. date: 2021-11-28-11-25-08 |
| .. nonce: TSGcLF |
| .. section: Core and Builtins |
| |
| ``is_valid_fd`` now uses faster ``fcntl(fd, F_GETFD)`` on Linux, macOS, and |
| Windows. |
| |
| .. |
| |
| .. bpo: 44530 |
| .. date: 2021-11-26-23-26-25 |
| .. nonce: EZ0gel |
| .. section: Core and Builtins |
| |
| Reverts a change to the ``code.__new__`` :ref:`audit event <audit-events>` |
| from an earlier prerelease. |
| |
| .. |
| |
| .. bpo: 42268 |
| .. date: 2021-11-26-22-31-22 |
| .. nonce: 3wl-09 |
| .. section: Core and Builtins |
| |
| Fail the configure step if the selected compiler doesn't support memory |
| sanitizer. Patch by Pablo Galindo |
| |
| .. |
| |
| .. bpo: 45711 |
| .. date: 2021-11-25-17-51-29 |
| .. nonce: D2igmz |
| .. section: Core and Builtins |
| |
| The three values of ``exc_info`` are now always consistent with each other. |
| In particular, the ``type`` and ``traceback`` fields are now derived from |
| the exception instance. This impacts the return values of |
| :func:`sys.exc_info` and :c:func:`PyErr_GetExcInfo()` if the exception |
| instance is modified while the exception is handled, as well as |
| :c:func:`PyErr_SetExcInfo()`, which now ignores the ``type`` and |
| ``traceback`` arguments provided to it. |
| |
| .. |
| |
| .. bpo: 45727 |
| .. date: 2021-11-24-18-24-49 |
| .. nonce: _xVbbo |
| .. section: Core and Builtins |
| |
| Refine the custom syntax error that suggests that a comma may be missing to |
| trigger only when the expressions are detected between parentheses or |
| brackets. Patch by Pablo Galindo |
| |
| .. |
| |
| .. bpo: 45885 |
| .. date: 2021-11-23-21-01-56 |
| .. nonce: 3IxeCX |
| .. section: Core and Builtins |
| |
| Specialized the ``COMPARE_OP`` opcode using the PEP 659 machinery. |
| |
| .. |
| |
| .. bpo: 45786 |
| .. date: 2021-11-23-15-25-00 |
| .. nonce: UdEciD |
| .. section: Core and Builtins |
| |
| Allocate space for the interpreter frame in the frame object, to avoid an |
| additional allocation when the frame object outlives the frame activation. |
| |
| .. |
| |
| .. bpo: 45614 |
| .. date: 2021-11-23-12-06-41 |
| .. nonce: fIekgI |
| .. section: Core and Builtins |
| |
| Fix :mod:`traceback` display for exceptions with invalid module name. |
| |
| .. |
| |
| .. bpo: 45813 |
| .. date: 2021-11-22-11-28-13 |
| .. nonce: ZMaWE2 |
| .. section: Core and Builtins |
| |
| Fix crash when calling coro.cr_frame.clear() after coroutine has been freed. |
| |
| .. |
| |
| .. bpo: 45811 |
| .. date: 2021-11-20-02-25-06 |
| .. nonce: B-1Gsr |
| .. section: Core and Builtins |
| |
| Improve the tokenizer errors when encountering invisible control characters |
| in the parser. Patch by Pablo Galindo |
| |
| .. |
| |
| .. bpo: 45848 |
| .. date: 2021-11-19-22-57-42 |
| .. nonce: HgVBJ5 |
| .. section: Core and Builtins |
| |
| Allow the parser to obtain error lines directly from encoded files. Patch by |
| Pablo Galindo |
| |
| .. |
| |
| .. bpo: 45709 |
| .. date: 2021-11-19-13-17-47 |
| .. nonce: H_t7ut |
| .. section: Core and Builtins |
| |
| Restore behavior from 3.10 when tracing an exception raised within a with |
| statement. |
| |
| .. |
| |
| .. bpo: 44525 |
| .. date: 2021-11-18-10-02-02 |
| .. nonce: M4xwn_ |
| .. section: Core and Builtins |
| |
| Adds new :opcode:`COPY_FREE_VARS` opcode, to make copying of free variables |
| from function to frame explicit. Helps optimization of calls to Python |
| function. |
| |
| .. |
| |
| .. bpo: 45829 |
| .. date: 2021-11-17-10-14-35 |
| .. nonce: 5Cf6fY |
| .. section: Core and Builtins |
| |
| Specialize :opcode:`BINARY_SUBSCR` for classes with a ``__getitem__`` method |
| implemented in Python |
| |
| .. |
| |
| .. bpo: 45826 |
| .. date: 2021-11-17-08-05-27 |
| .. nonce: OERoTm |
| .. section: Core and Builtins |
| |
| Fixed a crash when calling ``.with_traceback(None)`` on ``NameError``. This |
| occurs internally in ``unittest.TestCase.assertRaises()``. |
| |
| .. |
| |
| .. bpo: 45822 |
| .. date: 2021-11-16-19-41-04 |
| .. nonce: OT6ueS |
| .. section: Core and Builtins |
| |
| Fixed a bug in the parser that was causing it to not respect :pep:`263` |
| coding cookies when no flags are provided. Patch by Pablo Galindo |
| |
| .. |
| |
| .. bpo: 45820 |
| .. date: 2021-11-16-19-00-27 |
| .. nonce: 2X6Psr |
| .. section: Core and Builtins |
| |
| Fix a segfault when the parser fails without reading any input. Patch by |
| Pablo Galindo |
| |
| .. |
| |
| .. bpo: 45636 |
| .. date: 2021-11-15-13-32-54 |
| .. nonce: RDlTdL |
| .. section: Core and Builtins |
| |
| Simplify the implementation of :opcode:`BINARY_OP` by indexing into an array |
| of function pointers (rather than switching on the oparg). |
| |
| .. |
| |
| .. bpo: 42540 |
| .. date: 2021-11-15-12-08-27 |
| .. nonce: V2w107 |
| .. section: Core and Builtins |
| |
| Fix crash when :func:`os.fork` is called with an active non-default memory |
| allocator. |
| |
| .. |
| |
| .. bpo: 45738 |
| .. date: 2021-11-14-00-14-45 |
| .. nonce: e0cgKd |
| .. section: Core and Builtins |
| |
| Fix computation of error location for invalid continuation characters in the |
| parser. Patch by Pablo Galindo. |
| |
| .. |
| |
| .. bpo: 45636 |
| .. date: 2021-11-11-19-11-57 |
| .. nonce: 2fyIVm |
| .. section: Core and Builtins |
| |
| Remove an existing "fast path" for old-style string formatting, since it no |
| longer appears to have any measurable impact. |
| |
| .. |
| |
| .. bpo: 45753 |
| .. date: 2021-11-11-17-14-21 |
| .. nonce: nEBFcC |
| .. section: Core and Builtins |
| |
| Make recursion checks a bit more efficient by tracking amount of calls left |
| before overflow. |
| |
| .. |
| |
| .. bpo: 45773 |
| .. date: 2021-11-09-13-01-35 |
| .. nonce: POU8A4 |
| .. section: Core and Builtins |
| |
| Fix a compiler hang when attempting to optimize certain jump patterns. |
| |
| .. |
| |
| .. bpo: 45764 |
| .. date: 2021-11-09-12-19-22 |
| .. nonce: 8RLhWL |
| .. section: Core and Builtins |
| |
| The parser now gives a better error message when leaving out the opening |
| parenthesis ``(`` after a ``def``-statement:: |
| |
| >>> def f: |
| File "<stdin>", line 1 |
| def f: |
| ^ |
| SyntaxError: expected '(' |
| |
| .. |
| |
| .. bpo: 45609 |
| .. date: 2021-10-27-21-00-49 |
| .. nonce: L1GKPX |
| .. section: Core and Builtins |
| |
| Specialized the ``STORE_SUBSCR`` opcode using the PEP 659 machinery. |
| |
| .. |
| |
| .. bpo: 45636 |
| .. date: 2021-10-27-15-14-31 |
| .. nonce: K2X7QS |
| .. section: Core and Builtins |
| |
| Replace all numeric ``BINARY_*`` and ``INPLACE_*`` instructions with a |
| single :opcode:`BINARY_OP` implementation. |
| |
| .. |
| |
| .. bpo: 45582 |
| .. date: 2021-10-23-00-39-31 |
| .. nonce: YONPuo |
| .. section: Core and Builtins |
| |
| Path calculation (known as ``getpath``) has been reimplemented as a frozen |
| Python module. This should have no visible impact, but may affect |
| calculation of all paths referenced in :mod:`sys` and :mod:`sysconfig`. |
| |
| .. |
| |
| .. bpo: 45450 |
| .. date: 2021-10-12-18-22-44 |
| .. nonce: d9a-bX |
| .. section: Core and Builtins |
| |
| Improve the syntax error message for parenthesized arguments. Patch by Pablo |
| Galindo. |
| |
| .. |
| |
| .. bpo: 27946 |
| .. date: 2021-12-04-20-08-42 |
| .. nonce: -Vuarf |
| .. section: Library |
| |
| Fix possible crash when getting an attribute of |
| class:`xml.etree.ElementTree.Element` simultaneously with replacing the |
| ``attrib`` dict. |
| |
| .. |
| |
| .. bpo: 45711 |
| .. date: 2021-12-02-17-22-06 |
| .. nonce: D6jsdv |
| .. section: Library |
| |
| Make :mod:`asyncio` normalize exceptions as soon as they are captured with |
| :c:func:`PyErr_Fetch`, and before they are stored as an exc_info triplet. |
| This brings :mod:`asyncio` in line with the rest of the codebase, where an |
| exc_info triplet is always normalized. |
| |
| .. |
| |
| .. bpo: 23819 |
| .. date: 2021-12-02-14-37-30 |
| .. nonce: An6vkT |
| .. section: Library |
| |
| Replaced asserts with exceptions in asyncio, patch by Kumar Aditya. |
| |
| .. |
| |
| .. bpo: 13236 |
| .. date: 2021-11-30-13-52-02 |
| .. nonce: FmJIkO |
| .. section: Library |
| |
| :class:`unittest.TextTestResult` and :class:`unittest.TextTestRunner` flush |
| now the output stream more often. |
| |
| .. |
| |
| .. bpo: 45917 |
| .. date: 2021-11-28-17-24-11 |
| .. nonce: J5TIrd |
| .. section: Library |
| |
| Added :func:`math.exp2`:, which returns 2 raised to the power of x. |
| |
| .. |
| |
| .. bpo: 37658 |
| .. date: 2021-11-28-15-30-34 |
| .. nonce: 8Hno7d |
| .. section: Library |
| |
| Fix issue when on certain conditions ``asyncio.wait_for()`` may allow a |
| coroutine to complete successfully, but fail to return the result, |
| potentially causing memory leaks or other issues. |
| |
| .. |
| |
| .. bpo: 45876 |
| .. date: 2021-11-23-15-36-56 |
| .. nonce: NO8Yaj |
| .. section: Library |
| |
| Improve the accuracy of stdev() and pstdev() in the statistics module. When |
| the inputs are floats or fractions, the output is a correctly rounded float |
| |
| .. |
| |
| .. bpo: 44649 |
| .. date: 2021-11-21-20-50-42 |
| .. nonce: E8M936 |
| .. section: Library |
| |
| Handle dataclass(slots=True) with a field that has default a default value, |
| but for which init=False. |
| |
| .. |
| |
| .. bpo: 45803 |
| .. date: 2021-11-20-17-04-25 |
| .. nonce: wSgFOy |
| .. section: Library |
| |
| Added missing kw_only parameter to dataclasses.make_dataclass(). |
| |
| .. |
| |
| .. bpo: 45837 |
| .. date: 2021-11-18-13-13-19 |
| .. nonce: aGyr1I |
| .. section: Library |
| |
| The :meth:`turtle.RawTurtle.settiltangle` is deprecated since Python 3.1, it |
| now emits a deprecation warning and will be removed in Python 3.13. |
| |
| Use :meth:`turtle.RawTurtle.tiltangle` instead. |
| |
| :meth:`turtle.RawTurtle.tiltangle` was earlier incorrectly marked as |
| deprecated, its docstring has been corrected. |
| |
| Patch by Hugo van Kemenade. |
| |
| .. |
| |
| .. bpo: 45831 |
| .. date: 2021-11-17-19-25-37 |
| .. nonce: 9-TojK |
| .. section: Library |
| |
| :mod:`faulthandler` can now write ASCII-only strings (like filenames and |
| function names) with a single write() syscall when dumping a traceback. It |
| reduces the risk of getting an unreadable dump when two threads or two |
| processes dump a traceback to the same file (like stderr) at the same time. |
| Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 45828 |
| .. date: 2021-11-17-11-40-21 |
| .. nonce: kQU35U |
| .. section: Library |
| |
| :mod:`sqlite` C callbacks now use unraisable exceptions if callback |
| tracebacks are enabled. Patch by Erlend E. Aasland. |
| |
| .. |
| |
| .. bpo: 41735 |
| .. date: 2021-11-16-18-13-49 |
| .. nonce: D72UY1 |
| .. section: Library |
| |
| Fix thread lock in ``zlib.Decompress.flush()`` method before |
| ``PyObject_GetBuffer``. |
| |
| .. |
| |
| .. bpo: 45235 |
| .. date: 2021-11-11-13-03-17 |
| .. nonce: 8ZbkHa |
| .. section: Library |
| |
| Reverted an argparse bugfix that caused regression in the handling of |
| default arguments for subparsers. This prevented leaf level arguments from |
| taking precedence over root level arguments. |
| |
| .. |
| |
| .. bpo: 45754 |
| .. date: 2021-11-09-15-48-38 |
| .. nonce: c-JDto |
| .. section: Library |
| |
| Fix a regression in Python 3.11a1 and 3.11a2 where :mod:`sqlite3` |
| incorrectly would use ``SQLITE_LIMIT_LENGTH`` when checking SQL statement |
| lengths. Now, ``SQLITE_LIMIT_SQL_LENGTH`` is used. Patch by Erlend E. |
| Aasland. |
| |
| .. |
| |
| .. bpo: 45766 |
| .. date: 2021-11-09-09-18-06 |
| .. nonce: dvbcMf |
| .. section: Library |
| |
| Added *proportional* option to :meth:`statistics.linear_regression`. |
| |
| .. |
| |
| .. bpo: 45765 |
| .. date: 2021-11-09-09-04-19 |
| .. nonce: JVobxK |
| .. section: Library |
| |
| In importlib.metadata, fix distribution discovery for an empty path. |
| |
| .. |
| |
| .. bpo: 45757 |
| .. date: 2021-11-08-23-22-14 |
| .. nonce: MHZHt3 |
| .. section: Library |
| |
| Fix bug where :mod:`dis` produced an incorrect oparg when |
| :opcode:`EXTENDED_ARG` is followed by an opcode that does not use its |
| argument. |
| |
| .. |
| |
| .. bpo: 45644 |
| .. date: 2021-11-06-17-47-46 |
| .. nonce: ZMqHD_ |
| .. section: Library |
| |
| In-place JSON file formatting using ``python3 -m json.tool infile infile`` |
| now works correctly, previously it left the file empty. Patch by Chris |
| Wesseling. |
| |
| .. |
| |
| .. bpo: 45703 |
| .. date: 2021-11-03-13-41-49 |
| .. nonce: 35AagL |
| .. section: Library |
| |
| When a namespace package is imported before another module from the same |
| namespace is created/installed in a different :data:`sys.path` location |
| while the program is running, calling the |
| :func:`importlib.invalidate_caches` function will now also guarantee the new |
| module is noticed. |
| |
| .. |
| |
| .. bpo: 45535 |
| .. date: 2021-10-29-16-28-06 |
| .. nonce: n8NiOE |
| .. section: Library |
| |
| Improve output of ``dir()`` with Enums. |
| |
| .. |
| |
| .. bpo: 45664 |
| .. date: 2021-10-28-23-40-54 |
| .. nonce: 7dqtxQ |
| .. section: Library |
| |
| Fix :func:`types.resolve_bases` and :func:`types.new_class` for |
| :class:`types.GenericAlias` instance as a base. |
| |
| .. |
| |
| .. bpo: 45663 |
| .. date: 2021-10-28-23-11-59 |
| .. nonce: J90N5R |
| .. section: Library |
| |
| Fix :func:`dataclasses.is_dataclass` for dataclasses which are subclasses of |
| :class:`types.GenericAlias`. |
| |
| .. |
| |
| .. bpo: 45662 |
| .. date: 2021-10-28-22-58-14 |
| .. nonce: sJd7Ir |
| .. section: Library |
| |
| Fix the repr of :data:`dataclasses.InitVar` with a type alias to the |
| built-in class, e.g. ``InitVar[list[int]]``. |
| |
| .. |
| |
| .. bpo: 43137 |
| .. date: 2021-10-25-12-51-02 |
| .. nonce: apo7jY |
| .. section: Library |
| |
| Launch GNOME web browsers via gio tool instead of obsolete gvfs-open |
| |
| .. |
| |
| .. bpo: 45429 |
| .. date: 2021-10-25-01-22-49 |
| .. nonce: VaEyN9 |
| .. section: Library |
| |
| On Windows, :func:`time.sleep` now uses a waitable timer which supports |
| high-resolution timers. Patch by Dong-hee Na and Eryk Sun. |
| |
| .. |
| |
| .. bpo: 37295 |
| .. date: 2021-10-18-16-08-55 |
| .. nonce: wBEWH2 |
| .. section: Library |
| |
| Optimize :func:`math.comb` and :func:`math.perm`. |
| |
| .. |
| |
| .. bpo: 45514 |
| .. date: 2021-10-18-14-25-35 |
| .. nonce: YmlzIl |
| .. section: Library |
| |
| Deprecated legacy functions in :mod:`importlib.resources`. |
| |
| .. |
| |
| .. bpo: 45507 |
| .. date: 2021-10-18-14-00-01 |
| .. nonce: lDotNV |
| .. section: Library |
| |
| Add tests for truncated/missing trailers in gzip.decompress implementation. |
| |
| .. |
| |
| .. bpo: 45359 |
| .. date: 2021-10-03-22-27-35 |
| .. nonce: LX_uxe |
| .. section: Library |
| |
| Implement :pep:`585` for :class:`graphlib.TopologicalSorter`. |
| |
| .. |
| |
| .. bpo: 44733 |
| .. date: 2021-07-26-13-33-37 |
| .. nonce: 88LrP1 |
| .. section: Library |
| |
| Add ``max_tasks_per_child`` to |
| :class:`concurrent.futures.ProcessPoolExecutor`. This allows users to |
| specify the maximum number of tasks a single process should execute before |
| the process needs to be restarted. |
| |
| .. |
| |
| .. bpo: 28806 |
| .. date: 2021-05-24-13-48-34 |
| .. nonce: PkNw5D |
| .. section: Library |
| |
| Improve netrc library. netrc file no longer needs to contain all tokens. And |
| if the login name is anonymous, security check is no longer need. |
| |
| .. |
| |
| .. bpo: 43498 |
| .. date: 2021-04-20-14-14-16 |
| .. nonce: L_Hq-8 |
| .. section: Library |
| |
| Avoid a possible *"RuntimeError: dictionary changed size during iteration"* |
| when adjusting the process count of :class:`ProcessPoolExecutor`. |
| |
| .. |
| |
| .. bpo: 42158 |
| .. date: 2020-11-10-17-46-12 |
| .. nonce: OhxAiH |
| .. section: Library |
| |
| Add MIME types for N-quads, N-triples, Notation3 and TriG to ``mimetypes``. |
| |
| .. |
| |
| .. bpo: 30533 |
| .. date: 2020-06-16-18-00-56 |
| .. nonce: StL57t |
| .. section: Library |
| |
| Add :func:`inspect.getmembers_static` , it return all members without |
| triggering dynamic lookup via the descriptor protocol. Patch by Weipeng |
| Hong. |
| |
| .. |
| |
| .. bpo: 42238 |
| .. date: 2021-11-20-02-46-39 |
| .. nonce: hlfMIc |
| .. section: Documentation |
| |
| ``make -C Doc suspicious`` will be removed soon in favor of ``make -C Doc |
| check``, mark it as deprecated. |
| |
| .. |
| |
| .. bpo: 45840 |
| .. date: 2021-11-19-02-02-32 |
| .. nonce: A51B2S |
| .. section: Documentation |
| |
| Improve cross-references in the documentation for the data model. |
| |
| .. |
| |
| .. bpo: 45640 |
| .. date: 2021-11-18-16-44-12 |
| .. nonce: lSpc2A |
| .. section: Documentation |
| |
| Properly marked-up grammar tokens in the documentation are now clickable and |
| take you to the definition of a given piece of grammar. Patch by Arthur |
| Milchior. |
| |
| .. |
| |
| .. bpo: 45788 |
| .. date: 2021-11-18-00-07-40 |
| .. nonce: qibUoB |
| .. section: Documentation |
| |
| Link doc for sys.prefix to sysconfig doc on installation paths. |
| |
| .. |
| |
| .. bpo: 45772 |
| .. date: 2021-11-09-13-10-55 |
| .. nonce: EdrM3t |
| .. section: Documentation |
| |
| ``socket.socket`` documentation is corrected to a class from a function. |
| |
| .. |
| |
| .. bpo: 45392 |
| .. date: 2021-11-06-10-54-17 |
| .. nonce: JZnVOz |
| .. section: Documentation |
| |
| Update the docstring of the :class:`type` built-in to remove a redundant |
| line and to mention keyword arguments for the constructor. |
| |
| .. |
| |
| .. bpo: 45250 |
| .. date: 2021-10-22-12-09-18 |
| .. nonce: Iit5-Y |
| .. section: Documentation |
| |
| Update the documentation to note that CPython does not consistently require |
| iterators to define ``__iter__``. |
| |
| .. |
| |
| .. bpo: 25381 |
| .. date: 2021-06-21-17-51-51 |
| .. nonce: 7Kn-_H |
| .. section: Documentation |
| |
| In the extending chapter of the extending doc, update a paragraph about the |
| global variables containing exception information. |
| |
| .. |
| |
| .. bpo: 43905 |
| .. date: 2021-05-24-05-00-12 |
| .. nonce: tBIndE |
| .. section: Documentation |
| |
| Expanded :func:`~dataclasses.astuple` and :func:`~dataclasses.asdict` docs, |
| warning about deepcopy being applied and providing a workaround. |
| |
| .. |
| |
| .. bpo: 45695 |
| .. date: 2021-12-03-14-19-16 |
| .. nonce: QKBn2E |
| .. section: Tests |
| |
| Out-of-tree builds with a read-only source directory are now tested by CI. |
| |
| .. |
| |
| .. bpo: 19460 |
| .. date: 2021-11-28-15-25-02 |
| .. nonce: lr0aWs |
| .. section: Tests |
| |
| Add new Test for ``Lib/email/mime/nonmultipart.py::MIMENonMultipart``. |
| |
| .. |
| |
| .. bpo: 45835 |
| .. date: 2021-11-17-14-28-08 |
| .. nonce: Mgyhjx |
| .. section: Tests |
| |
| Fix race condition in test_queue tests with multiple "feeder" threads. |
| |
| .. |
| |
| .. bpo: 45783 |
| .. date: 2021-11-11-13-56-00 |
| .. nonce: 8k1Rng |
| .. section: Tests |
| |
| The test for the freeze tool now handles file moves and deletions. |
| |
| .. |
| |
| .. bpo: 45745 |
| .. date: 2021-11-10-12-01-28 |
| .. nonce: wX5B3K |
| .. section: Tests |
| |
| Remove the ``--findleaks`` command line option of regrtest: use the |
| ``--fail-env-changed`` option instead. Since Python 3.7, it was a deprecated |
| alias to the ``--fail-env-changed`` option. |
| |
| .. |
| |
| .. bpo: 45701 |
| .. date: 2021-10-31-10-58-45 |
| .. nonce: r0LAUL |
| .. section: Tests |
| |
| Add tests with ``tuple`` type with :func:`functools.lru_cache` to |
| ``test_functools``. |
| |
| .. |
| |
| .. bpo: 44035 |
| .. date: 2021-12-06-09-31-27 |
| .. nonce: BiO4XC |
| .. section: Build |
| |
| CI now verifies that autoconf files have been regenerated with a current and |
| unpatched autoconf package. |
| |
| .. |
| |
| .. bpo: 45950 |
| .. date: 2021-12-01-17-28-39 |
| .. nonce: eEVLoz |
| .. section: Build |
| |
| The build system now uses a :program:`_bootstrap_python` interpreter for |
| freezing and deepfreezing again. To speed up build process the build tools |
| :program:`_bootstrap_python` and :program:`_freeze_module` are no longer |
| build with LTO. |
| |
| .. |
| |
| .. bpo: 45881 |
| .. date: 2021-11-29-16-32-55 |
| .. nonce: 7597J6 |
| .. section: Build |
| |
| The :program:`configure` script now accepts ``--with-build-python`` and |
| ``--with-freeze-module`` options to make cross compiling easier. |
| |
| .. |
| |
| .. bpo: 40280 |
| .. date: 2021-11-29-14-37-29 |
| .. nonce: UlTMR8 |
| .. section: Build |
| |
| Emscripten platform now uses ``.wasm`` suffix by default. |
| |
| .. |
| |
| .. bpo: 40280 |
| .. date: 2021-11-29-11-24-45 |
| .. nonce: Knx7d7 |
| .. section: Build |
| |
| Disable unusable core extension modules on WASM/Emscripten targets. |
| |
| .. |
| |
| .. bpo: 40280 |
| .. date: 2021-11-26-14-09-04 |
| .. nonce: ZLpwQf |
| .. section: Build |
| |
| ``configure`` now checks for socket ``shutdown`` function. The check makes |
| it possible to disable ``SYS_shutdown`` with ``ac_cv_func_shutdown=no`` in |
| CONFIG_SITE. |
| |
| .. |
| |
| .. bpo: 40280 |
| .. date: 2021-11-26-09-10-19 |
| .. nonce: xmiMJl |
| .. section: Build |
| |
| ``configure`` now checks for functions ``fork1, getegid, geteuid, getgid, |
| getppid, getuid, opendir, pipe, system, wait, ttyname``. |
| |
| .. |
| |
| .. bpo: 33393 |
| .. date: 2021-11-25-20-26-06 |
| .. nonce: 24YNtM |
| .. section: Build |
| |
| Update ``config.guess`` to 2021-06-03 and ``config.sub`` to 2021-08-14. |
| ``Makefile`` now has an ``update-config`` target to make updating more |
| convenient. |
| |
| .. |
| |
| .. bpo: 45866 |
| .. date: 2021-11-25-13-53-36 |
| .. nonce: ZH1W8N |
| .. section: Build |
| |
| ``make regen-all`` now produces the same output when run from a directory |
| other than the source tree: when building Python out of the source tree. |
| pegen now strips directory of the "generated by pygen from <FILENAME>" |
| header Patch by Victor Stinner. |
| |
| .. |
| |
| .. bpo: 40280 |
| .. date: 2021-11-25-10-55-03 |
| .. nonce: E9-gsQ |
| .. section: Build |
| |
| ``configure`` now accepts machine ``wasm32`` or ``wasm64`` and OS ``wasi`` |
| or ``emscripten`` for cross building, e.g. ``wasm32-unknown-emscripten``, |
| ``wasm32-wasi``, or ``wasm32-unknown-wasi``. |
| |
| .. |
| |
| .. bpo: 41498 |
| .. date: 2021-11-25-09-15-04 |
| .. nonce: qAk5eo |
| .. section: Build |
| |
| Python now compiles on platforms without ``sigset_t``. Several functions in |
| :mod:`signal` are not available when ``sigset_t`` is missing. |
| |
| Based on patch by Roman Yurchak for pyodide. |
| |
| .. |
| |
| .. bpo: 45881 |
| .. date: 2021-11-24-17-14-06 |
| .. nonce: GTXXLk |
| .. section: Build |
| |
| ``setup.py`` now uses ``CC`` from environment first to discover multiarch |
| and cross compile paths. |
| |
| .. |
| |
| .. bpo: 45886 |
| .. date: 2021-11-23-23-37-49 |
| .. nonce: _Ulnh- |
| .. section: Build |
| |
| The ``_freeze_module`` program path can now be overridden on the command |
| line, e.g. ``make FREEZE_MODULE=../x86_64/Program/_freeze_module``. |
| |
| .. |
| |
| .. bpo: 45873 |
| .. date: 2021-11-23-04-28-40 |
| .. nonce: 9dldZ4 |
| .. section: Build |
| |
| Get rid of the ``_bootstrap_python`` build step. The deepfreeze.py script is |
| now run using ``$(PYTHON_FOR_REGEN)`` which can be Python 3.7 or newer (on |
| Windows, 3.8 or newer). |
| |
| .. |
| |
| .. bpo: 45847 |
| .. date: 2021-11-19-17-57-57 |
| .. nonce: 9phcpd |
| .. section: Build |
| |
| Port builtin hashlib extensions to ``PY_STDLIB_MOD`` macro and ``addext()``. |
| |
| .. |
| |
| .. bpo: 45723 |
| .. date: 2021-11-19-15-42-27 |
| .. nonce: vwIJWI |
| .. section: Build |
| |
| Add ``autoconf`` helpers for saving and restoring environment variables: |
| |
| * ``SAVE_ENV``: Save ``$CFLAGS``, ``$LDFLAGS``, ``$LIBS``, and |
| ``$CPPFLAGS``. |
| * ``RESTORE_ENV``: Restore ``$CFLAGS``, ``$LDFLAGS``, ``$LIBS``, and |
| ``$CPPFLAGS``. |
| * ``WITH_SAVE_ENV([SCRIPT])``: Run ``SCRIPT`` wrapped with ``SAVE_ENV`` and |
| ``RESTORE_ENV``. |
| |
| Patch by Erlend E. Aasland. |
| |
| .. |
| |
| .. bpo: 45573 |
| .. date: 2021-11-18-13-31-02 |
| .. nonce: LCjGB8 |
| .. section: Build |
| |
| Mandatory core modules, that are required to bootstrap Python, are now in |
| ``Modules/Setup.bootstrap``. |
| |
| .. |
| |
| .. bpo: 45573 |
| .. date: 2021-11-18-12-18-43 |
| .. nonce: xsMZzn |
| .. section: Build |
| |
| ``configure`` now creates ``Modules/Setup.stdlib`` with conditionally |
| enabled/disabled extension module lines. The file is not used, yet. |
| |
| .. |
| |
| .. bpo: 45573 |
| .. date: 2021-11-17-19-02-51 |
| .. nonce: GMNdun |
| .. section: Build |
| |
| ``configure`` now uses a unified format to set state, compiler flags, and |
| linker flags in Makefile. The new macro ``PY_STDLIB_MOD`` sets three |
| variables that are consumed by ``Modules/Setup`` and ``setup.py``. |
| |
| .. |
| |
| .. bpo: 45816 |
| .. date: 2021-11-16-14-44-06 |
| .. nonce: nbdmVK |
| .. section: Build |
| |
| Python now supports building with Visual Studio 2022 (MSVC v143, VS Version |
| 17.0). Patch by Jeremiah Vivian. |
| |
| .. |
| |
| .. bpo: 45800 |
| .. date: 2021-11-13-16-40-05 |
| .. nonce: 5Hz6nr |
| .. section: Build |
| |
| Settings for :mod:`pyexpat` C extension are now detected by ``configure``. |
| The bundled ``expat`` library is built in ``Makefile``. |
| |
| .. |
| |
| .. bpo: 45798 |
| .. date: 2021-11-13-10-18-22 |
| .. nonce: IraaTs |
| .. section: Build |
| |
| Settings for :mod:`decimal` internal C extension are now detected by |
| ``configure``. The bundled ``libmpdec`` library is built in ``Makefile``. |
| |
| .. |
| |
| .. bpo: 45723 |
| .. date: 2021-11-10-16-13-02 |
| .. nonce: B5gCB1 |
| .. section: Build |
| |
| :program:`configure` has a new option ``--with-pkg-config`` to disable or |
| require pkg-config. |
| |
| .. |
| |
| .. bpo: 45774 |
| .. date: 2021-11-09-23-30-12 |
| .. nonce: Mwm3ZR |
| .. section: Build |
| |
| The build dependencies for :mod:`sqlite3` are now detected by ``configure`` |
| and ``pkg-config``. Patch by Erlend E. Aasland. |
| |
| .. |
| |
| .. bpo: 45763 |
| .. date: 2021-11-09-10-15-33 |
| .. nonce: gP-vrX |
| .. section: Build |
| |
| The build dependencies for :mod:`zlib`, :mod:`bz2`, and :mod:`lzma` are now |
| detected by ``configure``. |
| |
| .. |
| |
| .. bpo: 45747 |
| .. date: 2021-11-08-11-31-48 |
| .. nonce: AODmk_ |
| .. section: Build |
| |
| gdbm and dbm build dependencies are now detected by ``configure``. |
| |
| .. |
| |
| .. bpo: 45743 |
| .. date: 2021-11-08-08-58-06 |
| .. nonce: fZ8CTi |
| .. section: Build |
| |
| On macOS, the build system no longer passes ``search_paths_first`` to the |
| linker. The flag has been the default since Xcode 4 / macOS 10.6. |
| |
| .. |
| |
| .. bpo: 45723 |
| .. date: 2021-11-07-10-45-40 |
| .. nonce: AreusF |
| .. section: Build |
| |
| ``configure.ac`` is now compatible with autoconf 2.71. Deprecated checks |
| ``STDC_HEADERS`` and ``AC_HEADER_TIME`` have been removed. |
| |
| .. |
| |
| .. bpo: 45723 |
| .. date: 2021-11-07-10-36-12 |
| .. nonce: JNwKSG |
| .. section: Build |
| |
| ``configure`` now prints a warning when pkg-config is missing. |
| |
| .. |
| |
| .. bpo: 45731 |
| .. date: 2021-11-05-20-56-29 |
| .. nonce: 9SDnDf |
| .. section: Build |
| |
| ``configure --enable-loadable-sqlite-extensions`` is now handled by new |
| ``PY_SQLITE_ENABLE_LOAD_EXTENSION`` macro instead of logic in setup.py. |
| |
| .. |
| |
| .. bpo: 45723 |
| .. date: 2021-11-05-15-09-49 |
| .. nonce: gfSxur |
| .. section: Build |
| |
| configure.ac now uses custom helper macros and ``AC_CACHE_CHECK`` to |
| simplify and speed up configure runs. |
| |
| .. |
| |
| .. bpo: 45696 |
| .. date: 2021-11-03-00-19-50 |
| .. nonce: eKs46f |
| .. section: Build |
| |
| Skip the marshal step for frozen modules by generating C code that produces |
| a set of ready-to-use code objects. This speeds up startup time by another |
| 10% or more. |
| |
| .. |
| |
| .. bpo: 45561 |
| .. date: 2021-10-21-14-38-30 |
| .. nonce: PVqhZE |
| .. section: Build |
| |
| Run smelly.py tool from $(srcdir). |
| |
| .. |
| |
| .. bpo: 46105 |
| .. date: 2021-12-08-16-36-20 |
| .. nonce: t1mJ6Q |
| .. section: Windows |
| |
| Fixed calculation of :data:`sys.path` in a venv on Windows. |
| |
| .. |
| |
| .. bpo: 45901 |
| .. date: 2021-11-26-18-17-41 |
| .. nonce: c5IBqM |
| .. section: Windows |
| |
| When installed through the Microsoft Store and set as the default app for |
| :file:`*.py` files, command line arguments will now be passed to Python when |
| invoking a script without explicitly launching Python (that is, ``script.py |
| args`` rather than ``python script.py args``). |
| |
| .. |
| |
| .. bpo: 45616 |
| .. date: 2021-11-23-11-44-42 |
| .. nonce: K52PLZ |
| .. section: Windows |
| |
| Fix Python Launcher's ability to distinguish between versions 3.1 and 3.10 |
| when either one is explicitly requested. Previously, 3.1 would be used if |
| 3.10 was requested but not installed, and 3.10 would be used if 3.1 was |
| requested but 3.10 was installed. |
| |
| .. |
| |
| .. bpo: 45850 |
| .. date: 2021-11-20-00-06-59 |
| .. nonce: q9lofz |
| .. section: Windows |
| |
| Implement changes to build with deep-frozen modules on Windows. Note that we |
| now require Python 3.10 as the "bootstrap" or "host" Python. |
| |
| .. |
| |
| .. bpo: 45732 |
| .. date: 2021-11-08-21-53-11 |
| .. nonce: idl5kx |
| .. section: Windows |
| |
| Updates bundled Tcl/Tk to 8.6.12. |
| |
| .. |
| |
| .. bpo: 45720 |
| .. date: 2021-11-05-01-05-46 |
| .. nonce: 47Nc5I |
| .. section: Windows |
| |
| Internal reference to :file:`shlwapi.dll` was dropped to help improve |
| startup time. This DLL will no longer be loaded at the start of every Python |
| process. |
| |
| .. |
| |
| .. bpo: 45732 |
| .. date: 2021-12-05-23-52-03 |
| .. nonce: -BWrnh |
| .. section: macOS |
| |
| Update python.org macOS installer to use Tcl/Tk 8.6.12. |
| |
| .. |
| |
| .. bpo: 39026 |
| .. date: 2021-11-09-15-42-11 |
| .. nonce: sUnYWn |
| .. section: C API |
| |
| Fix Python.h to build C extensions with Xcode: remove a relative include |
| from ``Include/cpython/pystate.h``. |