.. date: 2025-02-10-22-08-37 .. gh-issue: 91132 .. nonce: 00x1MI .. release date: 2025-02-11 .. section: macOS Update macOS installer to use ncurses 6.5. .. .. date: 2025-01-24-14-49-40 .. gh-issue: 129248 .. nonce: JAapG2 .. section: Tools/Demos The iOS test runner now strips the log prefix from each line output by the test suite. .. .. date: 2023-05-11-23-32-25 .. gh-issue: 104400 .. nonce: 23vxm7 .. section: Tools/Demos Fix several bugs in extraction by switching to an AST parser in :program:`pygettext`. .. .. date: 2025-01-30-13-09-27 .. gh-issue: 129386 .. nonce: iNtbEi .. section: Tests Add ``test.support.reset_code``, which can be used to reset various bytecode-level optimizations and local instrumentation for a function. .. .. date: 2025-01-04-02-41-41 .. gh-issue: 128474 .. nonce: 0b-tl4 .. section: Tests Disable ``test_embed`` test cases that segfault on BOLT instrument binaries. The tests are only disabled when BOLT is enabled. .. .. date: 2024-12-16-19-15-10 .. gh-issue: 128003 .. nonce: GVBrfa .. section: Tests Add an option ``--parallel-threads=N`` to the regression test runner that runs individual tests in multiple threads in parallel in order to find concurrency bugs. Note that most of the test suite is not yet reviewed for thread-safety or annotated with ``@thread_unsafe`` when necessary. .. .. date: 2025-01-28-14-08-03 .. gh-issue: 105704 .. nonce: EnhHxu .. section: Security When using :func:`urllib.parse.urlsplit` and :func:`urllib.parse.urlparse` host parsing would not reject domain names containing square brackets (``[`` and ``]``). Square brackets are only valid for IPv6 and IPvFuture hosts according to `RFC 3986 Section 3.2.2 `__. .. .. date: 2024-10-29-09-15-10 .. gh-issue: 126108 .. nonce: eTIjHY .. section: Security Fix a possible ``NULL`` pointer dereference in :c:func:`!PySys_AddWarnOptionUnicode`. .. .. date: 2024-08-06-11-43-08 .. gh-issue: 80222 .. nonce: wfR4BU .. section: Security Fix bug in the folding of quoted strings when flattening an email message using a modern email policy. Previously when a quoted string was folded so that it spanned more than one line, the surrounding quotes and internal escapes would be omitted. This could theoretically be used to spoof header lines using a carefully constructed quoted string if the resulting rendered email was transmitted or re-parsed. .. .. date: 2024-05-24-21-00-52 .. gh-issue: 119511 .. nonce: jKrXQ8 .. section: Security Fix a potential denial of service in the :mod:`imaplib` module. When connecting to a malicious server, it could cause an arbitrary amount of memory to be allocated. On many systems this is harmless as unused virtual memory is only a mapping, but if this hit a virtual address size limit it could lead to a :exc:`MemoryError` or other process crash. On unusual systems or builds where all allocated memory is touched and backed by actual ram or storage it could've consumed resources doing so until similarly crashing. .. .. date: 2025-02-10-14-34-34 .. gh-issue: 129939 .. nonce: B08L4e .. section: Library Comparison pages with highlighted changes generated by the :class:`difflib.HtmlDiff` class now support dark mode. .. .. date: 2025-02-10-08-44-11 .. gh-issue: 129928 .. nonce: QuiZEz .. section: Library Raise :exc:`sqlite3.ProgrammingError` if a user-defined SQL function with invalid number of parameters is created. Patch by Erlend Aasland. .. .. date: 2025-02-09-17-47-01 .. gh-issue: 129583 .. nonce: -130Ys .. section: Library Update bundled pip to 25.0.1 .. .. date: 2025-02-07-10-34-09 .. gh-issue: 129766 .. nonce: 6n5fQZ .. section: Library Fix crash in :mod:`warnings`, when calling ``_release_lock()`` with no existing lock. .. .. date: 2025-02-05-13-19-15 .. gh-issue: 129005 .. nonce: Sb69L_ .. section: Library ``_pyio.FileIO.readall()`` now allocates, resizes, and fills a data buffer using the same algorithm ``_io.FileIO.readall()`` uses. .. .. date: 2025-02-04-15-16-33 .. gh-issue: 129646 .. nonce: sapk1F .. section: Library Update the locale alias mapping in the :mod:`locale` module to match the latest X Org locale alias mapping and support new locales in Glibc 2.41. .. .. date: 2025-02-03-22-31-43 .. gh-issue: 128317 .. nonce: n2Swnh .. section: Library Put CLI calendar highlighting in private class, removing ``highlight_day`` from public :class:`calendar.TextCalendar` API. Patch by Hugo van Kemenade. .. .. date: 2025-02-03-01-43-16 .. gh-issue: 129603 .. nonce: xge9Tx .. section: Library Fix bugs where :class:`sqlite3.Row` objects could segfault if their inherited :attr:`~sqlite3.Cursor.description` was set to ``None``. Patch by Erlend Aasland. .. .. date: 2025-02-01-14-55-33 .. gh-issue: 129559 .. nonce: hQCeAz .. section: Library Add :meth:`bytearray.resize` method so :class:`bytearray` can be efficiently resized in place. .. .. date: 2025-01-31-11-14-05 .. gh-issue: 129502 .. nonce: j_ArNo .. section: Library Unlikely errors in preparing arguments for :mod:`ctypes` callback are now handled in the same way as errors raised in the callback of in converting the result of the callback -- using :func:`sys.unraisablehook` instead of :func:`sys.excepthook` and not setting :data:`sys.last_exc` and other variables. .. .. date: 2025-01-29-17-10-00 .. gh-issue: 129403 .. nonce: 314159 .. section: Library Corrected :exc:`ValueError` message for :class:`asyncio.Barrier` and :class:`threading.Barrier`. .. .. date: 2025-01-29-14-30-54 .. gh-issue: 129409 .. nonce: JZbOE6 .. section: Library Fix an integer overflow in the :mod:`csv` module when writing a data field larger than 2GB. .. .. date: 2025-01-29-13-37-18 .. gh-issue: 126400 .. nonce: DaBaR3 .. section: Library Add a socket *timeout* keyword argument to :class:`logging.handlers.SysLogHandler`. .. .. date: 2025-01-29-11-14-20 .. gh-issue: 118761 .. nonce: gMZwE1 .. section: Library Always lazy import ``warnings`` in :mod:`threading`. Patch by Taneli Hukkinen. .. .. date: 2025-01-29-10-53-32 .. gh-issue: 118761 .. nonce: i8wjpV .. section: Library Improve import time of :mod:`subprocess` by lazy importing ``locale`` and ``signal``. Patch by Taneli Hukkinen. .. .. date: 2025-01-27-14-05-19 .. gh-issue: 129346 .. nonce: gZRd3g .. section: Library In :mod:`sqlite3`, handle out-of-memory when creating user-defined SQL functions. .. .. date: 2025-01-26-10-01-21 .. gh-issue: 129005 .. nonce: ncpLvw .. section: Library Optimize ``_pyio.FileIO.readinto`` by avoiding unnecessary objects and copies using :func:`os.readinto`. .. .. date: 2025-01-24-10-48-32 .. gh-issue: 129195 .. nonce: 89d5NU .. section: Library Support reporting call graph information from :func:`!asyncio.staggered.staggered_race`. .. .. date: 2025-01-22-16-54-25 .. gh-issue: 129205 .. nonce: FMqrUt .. section: Library Add :func:`os.readinto` to read into a :ref:`buffer object ` from a file descriptor. .. .. date: 2025-01-22-13-29-06 .. gh-issue: 128772 .. nonce: 6YrxYM .. section: Library Fix :mod:`pydoc` for methods with the ``__module__`` attribute equal to ``None``. .. .. date: 2025-01-21-18-52-32 .. gh-issue: 129061 .. nonce: 4idD_B .. section: Library Fix FORCE_COLOR and NO_COLOR when empty strings. Patch by Hugo van Kemenade. .. .. date: 2025-01-20-20-59-26 .. gh-issue: 92897 .. nonce: G0xH8o .. section: Library Scheduled the deprecation of the ``check_home`` argument of :func:`sysconfig.is_python_build` to Python 3.15. .. .. date: 2025-01-20-16-02-38 .. gh-issue: 129064 .. nonce: JXasgJ .. section: Library Deprecate :func:`!sysconfig.expand_makefile_vars`, in favor of using :func:`sysconfig.get_paths` with the ``vars`` argument. .. .. date: 2025-01-20-13-12-39 .. gh-issue: 128550 .. nonce: AJ5TOL .. section: Library Removed an incorrect optimization relating to eager tasks in :class:`asyncio.TaskGroup` that resulted in cancellations being missed. .. .. date: 2025-01-18-16-58-10 .. gh-issue: 128991 .. nonce: EzJit9 .. section: Library Release the enter frame reference within :mod:`bdb` callback .. .. date: 2025-01-18-11-24-02 .. gh-issue: 118761 .. nonce: G8MmxY .. section: Library Reduce import time of :mod:`pstats` and :mod:`zipfile` by up to 20%, by removing unnecessary imports to :mod:`typing`. Patch by Bénédikt Tran. .. .. date: 2025-01-18-11-04-44 .. gh-issue: 128978 .. nonce: hwg7-w .. section: Library Fix a :exc:`NameError` in :func:`!sysconfig.expand_makefile_vars`. Patch by Bénédikt Tran. .. .. date: 2025-01-17-21-33-11 .. gh-issue: 128961 .. nonce: XwvyIZ .. section: Library Fix a crash when setting state on an exhausted :class:`array.array` iterator. .. .. date: 2025-01-17-17-20-51 .. gh-issue: 128894 .. nonce: gX1-8J .. section: Library Fix ``traceback.TracebackException._format_syntax_error`` not to fail on exceptions with custom metadata. .. .. date: 2025-01-17-11-46-16 .. gh-issue: 128916 .. nonce: GEePbO .. section: Library Do not attempt to set ``SO_REUSEPORT`` on sockets of address families other than ``AF_INET`` and ``AF_INET6``, as it is meaningless with these address families, and the call with fail with Linux kernel 6.12.9 and newer. .. .. date: 2025-01-16-10-06-40 .. gh-issue: 118761 .. nonce: z100LC .. section: Library Improve import time of :mod:`tomllib` by removing ``typing``, ``string``, and ``tomllib._types`` imports. Patch by Taneli Hukkinen. .. .. date: 2025-01-15-21-41-51 .. gh-issue: 128679 .. nonce: tq10F2 .. section: Library :mod:`tracemalloc`: Fix race conditions when :func:`tracemalloc.stop` is called by a thread, while other threads are tracing memory allocations. Patch by Victor Stinner. .. .. date: 2025-01-15-19-32-23 .. gh-issue: 128891 .. nonce: ojUxKo .. section: Library Add specialized opcodes to ``opcode.opname``. .. .. date: 2025-01-15-19-16-50 .. gh-issue: 118761 .. nonce: cbW2ZL .. section: Library Reduce import time of :mod:`gettext` by up to ten times, by importing :mod:`re` on demand. In particular, ``re`` is no longer implicitly exposed as ``gettext.re``. Patch by Eli Schwartz. .. .. date: 2025-01-15-18-54-48 .. gh-issue: 118761 .. nonce: G1dv6E .. section: Library Reduce the import time of :mod:`optparse` when no help text is printed. Patch by Eli Schwartz. .. .. date: 2025-01-15-15-45-21 .. gh-issue: 128657 .. nonce: P5LNQA .. section: Library Fix possible extra reference when using objects returned by :func:`hashlib.sha256` under :term:`free threading`. .. .. date: 2025-01-15-09-45-43 .. gh-issue: 118761 .. nonce: TvAC8E .. section: Library Reduce the import time of :mod:`csv` by up to five times, by importing :mod:`re` on demand. In particular, ``re`` is no more implicitly exposed as ``csv.re``. Patch by Bénédikt Tran. .. .. date: 2025-01-13-07-54-32 .. gh-issue: 128308 .. nonce: kYSDRF .. section: Library Support the *name* keyword argument for eager tasks in :func:`asyncio.loop.create_task`, :func:`asyncio.create_task` and :func:`asyncio.TaskGroup.create_task`, by passing on all *kwargs* to the task factory set by :func:`asyncio.loop.set_task_factory`. .. .. date: 2025-01-10-13-06-54 .. gh-issue: 118761 .. nonce: f8oADD .. section: Library Improve the performance of :func:`base64.b16decode` by up to ten times by more efficiently checking the byte-string for hexadecimal digits. Reduce the import time of :mod:`base64` by up to six times, by no longer importing :mod:`re`. Patch by Bénédikt Tran, Chris Markiewicz, and Adam Turner. .. .. date: 2025-01-09-16-20-34 .. gh-issue: 128156 .. nonce: GfObBq .. section: Library When using macOS system ``libffi``, support for complex types in :mod:`ctypes` is now checked at runtime (macOS 10.15 or newer). The types must also be available at build time. .. .. date: 2025-01-08-22-30-38 .. gh-issue: 128636 .. nonce: jQfWXj .. section: Library Fix PyREPL failure when :data:`os.environ` is overwritten with an invalid value. .. .. date: 2025-01-07-21-48-32 .. gh-issue: 128498 .. nonce: n6jtlW .. section: Library Default to stdout isatty for color detection instead of stderr. Patch by Hugo van Kemenade. .. .. date: 2025-01-06-10-37-27 .. gh-issue: 128384 .. nonce: V0xzwH .. section: Library Add locking to :mod:`warnings` to avoid some data races when free-threading is used. Change ``_warnings_runtime_state.mutex`` to be a recursive mutex and expose it to :mod:`warnings`, via the :func:`!_acquire_lock` and :func:`!_release_lock` functions. The lock is held when ``filters`` and ``_filters_version`` are updated. .. .. date: 2025-01-04-20-51-48 .. gh-issue: 128509 .. nonce: 3gr_-O .. section: Library Add :func:`sys._is_immortal` for identifying :term:`immortal` objects at runtime. .. .. date: 2025-01-04-11-10-04 .. gh-issue: 128479 .. nonce: jvOrF- .. section: Library Fix :func:`!asyncio.staggered.staggered_race` leaking tasks and issuing an unhandled exception. .. .. date: 2025-01-02-20-34-04 .. gh-issue: 128427 .. nonce: onPoQZ .. section: Library :const:`uuid.NIL` and :const:`uuid.MAX` are now available to represent the Nil and Max UUID formats as defined by :rfc:`9562`. .. .. date: 2024-12-30-19-53-14 .. gh-issue: 91279 .. nonce: EeOJk1 .. section: Library :meth:`zipfile.ZipFile.writestr` now respect ``SOURCE_DATE_EPOCH`` that distributions can set centrally and have build tools consume this in order to produce reproducible output. .. .. date: 2024-12-26-11-00-03 .. gh-issue: 112064 .. nonce: mCcw3B .. section: Library Fix incorrect handling of negative read sizes in :meth:`HTTPResponse.read `. Patch by Yury Manushkin. .. .. date: 2024-12-23-02-09-44 .. gh-issue: 58956 .. nonce: 4OdMdT .. section: Library Fixed a frame reference leak in :mod:`bdb`. .. .. date: 2024-12-21-03-20-12 .. gh-issue: 128131 .. nonce: QpPmNt .. section: Library Completely support random access of uncompressed unencrypted read-only zip files obtained by :meth:`ZipFile.open `. .. .. date: 2024-12-20-08-44-12 .. gh-issue: 127975 .. nonce: 8HJwu9 .. section: Library Avoid reusing quote types in :func:`ast.unparse` if not needed. .. .. date: 2024-12-17-16-48-02 .. gh-issue: 115514 .. nonce: 1yOJ7T .. section: Library Fix exceptions and incomplete writes after :class:`!asyncio._SelectorTransport` is closed before writes are completed. .. .. date: 2024-12-16-22-20-38 .. gh-issue: 121604 .. nonce: m3Xn4G .. section: Library Add missing Deprecation warnings for :const:`importlib.machinery.DEBUG_BYTECODE_SUFFIXES`, :const:`importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES`, :class:`importlib.machinery.WindowsRegistryFinder`, :class:`importlib.abc.ResourceLoader`, :meth:`importlib.abc.SourceLoader.path_mtime`. .. .. date: 2024-12-12-18-25-50 .. gh-issue: 127873 .. nonce: WJRwfz .. section: Library When ``-E`` is set, only ignore ``PYTHON_COLORS`` and not ``FORCE_COLOR``/``NO_COLOR``/``TERM`` when colourising output. Patch by Hugo van Kemenade. .. .. date: 2024-12-10-19-39-35 .. gh-issue: 125413 .. nonce: wOb4yr .. section: Library Add :attr:`pathlib.Path.info` attribute, which stores an object implementing the :class:`pathlib.types.PathInfo` protocol (also new). The object supports querying the file type and internally caching :func:`~os.stat` results. Path objects generated by :meth:`~pathlib.Path.iterdir` are initialized with file type information gleaned from scanning the parent directory. .. .. date: 2024-12-07-20-33-43 .. gh-issue: 127712 .. nonce: Uzsij4 .. section: Library Fix handling of the ``secure`` argument of :class:`logging.handlers.SMTPHandler`. .. .. date: 2024-11-24-22-06-42 .. gh-issue: 127096 .. nonce: R7LLpQ .. section: Library Do not recreate unnamed section on every read in :class:`configparser.ConfigParser`. Patch by Andrey Efremov. .. .. date: 2024-11-23-21-17-28 .. gh-issue: 124369 .. nonce: Z0hQFQ .. section: Library Deprecate ``pdb.Pdb.curframe_locals`` .. .. date: 2024-11-10-19-45-01 .. gh-issue: 126332 .. nonce: WCCKoH .. section: Library Fix _pyrepl crash when entering a double CTRL-Z on an overflowing line. .. .. date: 2024-10-26-16-59-02 .. gh-issue: 125553 .. nonce: 4pDLzt .. section: Library Fix round-trip invariance for backslash continuations in :func:`tokenize.untokenize`. .. .. date: 2024-10-02-11-17-23 .. gh-issue: 91048 .. nonce: QWY-b1 .. section: Library Add :func:`asyncio.capture_call_graph` and :func:`asyncio.print_call_graph` functions. .. .. date: 2024-09-27-19-21-53 .. gh-issue: 124703 .. nonce: lYTLEv .. section: Library Quitting :mod:`pdb` in ``inline`` mode will emit a confirmation prompt and exit gracefully now, instead of printing an exception traceback. .. .. date: 2024-09-12-14-24-25 .. gh-issue: 123987 .. nonce: 7_OD1p .. section: Library Fixed issue in NamespaceReader where a non-path item in a namespace path, such as a sentinel added by an editable installer, would break resource loading. .. .. date: 2024-08-12-11-58-15 .. gh-issue: 119349 .. nonce: -xTnHl .. section: Library Add the :func:`ctypes.util.dllist` function to list the loaded shared libraries for the current process. .. .. date: 2024-08-01-01-00-00 .. gh-issue: 55454 .. nonce: wy0vGw .. section: Library Add IMAP4 ``IDLE`` support to the :mod:`imaplib` module. Patch by Forest. .. .. date: 2024-07-14-23-19-20 .. gh-issue: 119257 .. nonce: 9OEzcN .. section: Library Show tab completions menu below the current line, which results in less janky behaviour, and fixes a cursor movement bug. Patch by Daniel Hollas .. .. date: 2023-02-01-16-41-31 .. gh-issue: 101410 .. nonce: Dt2aQE .. section: Library Support custom messages for domain errors in the :mod:`math` module (:func:`math.sqrt`, :func:`math.log` and :func:`math.atanh` were modified as examples). Patch by Charlie Zhao and Sergey B Kirpichev. .. .. date: 2022-05-23-21-23-29 .. gh-issue: 81340 .. nonce: D11RkZ .. section: Library Use :func:`os.copy_file_range` in :func:`shutil.copy`, :func:`shutil.copy2`, and :func:`shutil.copyfile` functions by default. An underlying Linux system call gives filesystems an opportunity to implement the use of copy-on-write (in case of btrfs and XFS) or server-side copy (in the case of NFS.) Patch by Illia Volochii. .. .. bpo: 27307 .. date: 2020-08-07-16-55-57 .. nonce: Xqzzda .. section: Library Add attribute and item access support to :class:`string.Formatter` in auto-numbering mode, which allows format strings like '{.name}' and '{[1]}'. .. .. date: 2025-02-08-23-42-24 .. gh-issue: 129873 .. nonce: -gofkd .. section: IDLE Simplify displaying the IDLE doc by only copying the text section of idle.html to idlelib/help.html. Patch by Stan Ulbrych. .. .. date: 2025-01-16-18-59-11 .. gh-issue: 125722 .. nonce: eHHRga .. section: Documentation Require Sphinx 8.1.3 or later to build the Python documentation. Patch by Adam Turner. .. .. date: 2025-01-14-11-06-41 .. gh-issue: 67206 .. nonce: LYKmi5 .. section: Documentation Document that :const:`string.printable` is not printable in the POSIX sense. In particular, :meth:`string.printable.isprintable() ` returns :const:`False`. Patch by Bénédikt Tran. .. .. date: 2025-02-07-17-06-39 .. gh-issue: 100239 .. nonce: WvBTPL .. section: Core and Builtins Replace the opcode BINARY_SUBSCR and its family by BINARY_OP with oparg NB_SUBSCR. .. .. date: 2025-02-06-17-57-33 .. gh-issue: 129732 .. nonce: yl97oq .. section: Core and Builtins Fixed a race in ``_Py_qsbr_reserve`` in the free threading build. .. .. date: 2025-02-06-17-05-09 .. gh-issue: 129763 .. nonce: 6ZxQ8W .. section: Core and Builtins Remove the internal ``LLTRACE`` macro (use :c:macro:`Py_DEBUG` instead). .. .. date: 2025-02-05-22-58-18 .. gh-issue: 129715 .. nonce: mLlpIO .. section: Core and Builtins Improve JIT performance for generators. .. .. date: 2025-02-05-11-29-52 .. gh-issue: 129643 .. nonce: 4mGzvg .. section: Core and Builtins Fix thread safety of :c:func:`PyList_Insert` in free-threading builds. .. .. date: 2025-02-04-21-26-05 .. gh-issue: 129668 .. nonce: zDanyM .. section: Core and Builtins Fix race condition when raising :exc:`MemoryError` in the free threaded build. .. .. date: 2025-02-04-12-42-40 .. gh-issue: 129643 .. nonce: K24Zow .. section: Core and Builtins Fix thread safety of :c:func:`PyList_SetItem` in free-threading builds. Patch by Kumar Aditya. .. .. date: 2025-01-28-11-13-41 .. gh-issue: 128563 .. nonce: xElppE .. section: Core and Builtins Fix an issue where the "lltrace" debug feature could have been incorrectly enabled for some frames. .. .. date: 2025-01-28-10-26-04 .. gh-issue: 129393 .. nonce: 0eICq6 .. section: Core and Builtins On FreeBSD, :data:`sys.platform` doesn't contain the major version anymore. It is always ``'freebsd'``, instead of ``'freebsd13'`` or ``'freebsd14'``. .. .. date: 2025-01-28-06-23-59 .. gh-issue: 129345 .. nonce: uOjkML .. section: Library Fix null pointer dereference in :func:`syslog.openlog` when an audit hook raises an exception. .. .. date: 2025-01-24-11-37-22 .. gh-issue: 129231 .. nonce: ZsAP9v .. section: Core and Builtins Improve memory layout of JIT traces. Patch by Diego Russo .. .. date: 2025-01-22-14-24-44 .. gh-issue: 129149 .. nonce: wAYu43 .. section: Core and Builtins Add fast path for medium-size integers in :c:func:`PyLong_FromUnsignedLong`, :c:func:`PyLong_FromUnsignedLongLong` and :c:func:`PyLong_FromSize_t`. .. .. date: 2025-01-22-14-22-34 .. gh-issue: 129201 .. nonce: wiZzEb .. section: Core and Builtins The free-threaded version of the cyclic garbage collector has been optimized to conditionally use CPU prefetch instructions during the collection. This can reduce collection times by making it more likely that data is in the CPU cache when it is needed. The prefetch instructions are enabled if the number of long-lived objects (objects surviving a full collection) exceeds a threshold. .. .. date: 2025-01-21-23-35-41 .. gh-issue: 129093 .. nonce: 0rvETC .. section: Core and Builtins Fix f-strings such as ``f'{expr=}'`` sometimes not displaying the full expression when the expression contains ``!=``. .. .. date: 2025-01-21-19-48-30 .. gh-issue: 124363 .. nonce: vOFhHW .. section: Core and Builtins Treat debug expressions in f-string as raw strings. Patch by Pablo Galindo .. .. date: 2025-01-19-09-07-44 .. gh-issue: 128714 .. nonce: m1fyCB .. section: Core and Builtins Fix the potential races in get/set dunder methods ``__annotations__``, ``__annotate__`` and ``__type_params__`` for function object, and add related tests. .. .. date: 2025-01-18-01-06-58 .. gh-issue: 128799 .. nonce: vSNagk .. section: Core and Builtins Add frame of ``except*`` to traceback when it wraps a naked exception. .. .. date: 2025-01-17-13-16-14 .. gh-issue: 128842 .. nonce: OMs5X6 .. section: Core and Builtins Collect JIT memory stats using pystats. Patch by Diego Russo. .. .. date: 2025-01-16-22-54-12 .. gh-issue: 100239 .. nonce: 7_HpBU .. section: Core and Builtins Specialize ``BINARY_OP`` for bitwise logical operations on compact ints. .. .. date: 2025-01-16-18-16-18 .. gh-issue: 128910 .. nonce: 9pqfab .. section: Core and Builtins Undocumented and unused private C-API functions ``_PyTrash_begin`` and ``_PyTrash_end`` are removed. .. .. date: 2025-01-13-17-03-49 .. gh-issue: 128807 .. nonce: BGGBxD .. section: Core and Builtins Add a marking phase to the free-threaded GC. This is similar to what was done in GH-126491. Since the free-threaded GC does not have generations and is not incremental, the marking phase looks for all objects reachable from known roots. The roots are objects known to not be garbage, like the module dictionary for :mod:`sys`. For most programs, this marking phase should make the GC a bit faster since typically less work is done per object. .. .. date: 2025-01-10-23-54-16 .. gh-issue: 100239 .. nonce: ijOOUs .. section: Core and Builtins Add opcode ``BINARY_OP_EXTEND`` which executes a pair of functions (guard and specialization functions) accessed from the inline cache. .. .. date: 2025-01-10-18-56-20 .. gh-issue: 128563 .. nonce: baDvls .. section: Core and Builtins A new type of interpreter has been added to CPython. This interpreter uses tail calls for its instruction handlers. Preliminary benchmark results suggest 7-11% geometric mean faster on pyperformance (depending on platform), and up to 30% faster on Python-intensive workloads. This interpreter currently only works on newer compilers, such as ``clang-19``. Other compilers will continue using the old interpreter. Patch by Ken Jin, with ideas on how to implement this in CPython by Mark Shannon, Garret Gu, Haoran Xu, and Josh Haberman. .. .. date: 2025-01-07-19-26-40 .. gh-issue: 126703 .. nonce: 9i-S5t .. section: Core and Builtins Improve performance of iterating over lists and tuples by using a freelist for the iterator objects. .. .. date: 2024-12-30-15-49-31 .. gh-issue: 127953 .. nonce: B4_6L9 .. section: Core and Builtins The time to handle a ``LINE`` event in sys.monitoring (and sys.settrace) is now independent of the number of lines in the code object. .. .. date: 2024-12-29-15-09-21 .. gh-issue: 128330 .. nonce: IaYL7G .. section: Core and Builtins Restore terminal control characters on REPL exit. .. .. date: 2024-12-17-09-28-17 .. gh-issue: 128016 .. nonce: DPqhah .. section: Core and Builtins Improved the ``SyntaxWarning`` message for invalid escape sequences to clarify that such sequences will raise a ``SyntaxError`` in future Python releases. The new message also suggests a potential fix, i.e., ``Did you mean "\\e"?``. .. .. date: 2024-12-06-11-32-58 .. gh-issue: 126004 .. nonce: CYAwTB .. section: Core and Builtins Fix handling of :attr:`UnicodeError.start` and :attr:`UnicodeError.end` values in the :func:`codecs.replace_errors` error handler. Patch by Bénédikt Tran. .. .. date: 2024-12-06-11-30-58 .. gh-issue: 126004 .. nonce: -p8MAS .. section: Core and Builtins Fix handling of :attr:`UnicodeError.start` and :attr:`UnicodeError.end` values in the :func:`codecs.backslashreplace_errors` error handler. Patch by Bénédikt Tran. .. .. date: 2024-12-06-11-17-46 .. gh-issue: 126004 .. nonce: -p8MAS .. section: Core and Builtins Fix handling of :attr:`UnicodeError.start` and :attr:`UnicodeError.end` values in the :func:`codecs.xmlcharrefreplace_errors` error handler. Patch by Bénédikt Tran. .. .. date: 2024-12-04-22-14-40 .. gh-issue: 127119 .. nonce: _hpyFE .. section: Core and Builtins Slightly optimize the :class:`int` deallocator. .. .. date: 2024-11-30-16-13-31 .. gh-issue: 127349 .. nonce: ssYd6n .. section: Core and Builtins Fixed the error when resizing terminal in Python REPL. Patch by Semyon Moroz. .. .. date: 2024-11-18-12-17-45 .. gh-issue: 125723 .. nonce: tW_hFG .. section: Core and Builtins Fix crash with ``gi_frame.f_locals`` when generator frames outlive their generator. Patch by Mikhail Efimov. .. .. date: 2024-11-03-06-05-16 .. gh-issue: 126349 .. nonce: 7YwWsI .. section: Library Add :func:`turtle.fill`, :func:`turtle.poly` and :func:`turtle.no_animation` context managers. Patch by Marie Roald and Yngve Mardal Moe. .. .. date: 2024-02-29-16-55-52 .. gh-issue: 115911 .. nonce: Vnkue_ .. section: Core and Builtins If the current working directory cannot be determined due to permissions, then import will no longer raise :exc:`PermissionError`. Patch by Alex Willmer. .. .. date: 2023-12-04-15-53-25 .. gh-issue: 112713 .. nonce: Zrhv77 .. section: Library Added support for the ``Partitioned`` cookie flag in :mod:`http.cookies`. .. .. date: 2025-02-02-12-58-21 .. gh-issue: 129533 .. nonce: dFfqkT .. section: C API Update :c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()` to use atomic operation for thread-safety at free-threading build. Patch by Donghee Na. .. .. date: 2025-01-29-11-58-38 .. gh-issue: 89188 .. nonce: BsfLr3 .. section: C API Implement :c:func:`PyUnicode_KIND` and :c:func:`PyUnicode_DATA` as function, in addition to the macros with the same names. The macros rely on C bit fields which have compiler-specific layout. Patch by Victor Stinner. .. .. date: 2025-01-28-13-21-17 .. gh-issue: 91417 .. nonce: AfiR0t .. section: C API Remove :c:func:`PySequence_Fast` from the limited C API, since this function has to be used with :c:macro:`PySequence_Fast_GET_ITEM` which never worked in the limited C API. Patch by Victor Stinner. .. .. date: 2025-01-22-09-28-04 .. gh-issue: 128509 .. nonce: gqQ36L .. section: C API Add :c:func:`PyUnstable_IsImmortal` for determining whether an object is :term:`immortal`. .. .. date: 2025-01-20-10-40-11 .. gh-issue: 129033 .. nonce: d1jltB .. section: C API Remove ``_PyInterpreterState_GetConfigCopy()`` and ``_PyInterpreterState_SetConfig()`` private functions. Use instead :c:func:`PyConfig_Get` and :c:func:`PyConfig_Set`, public C API added by :pep:`741` "Python Configuration C API". Patch by Victor Stinner. .. .. date: 2025-01-19-23-17-58 .. gh-issue: 129033 .. nonce: cpRivP .. section: C API Remove the private ``_Py_InitializeMain()`` function. It was a :term:`provisional API` added to Python 3.8 by :pep:`587`. Patch by Victor Stinner. .. .. date: 2025-01-16-21-56-49 .. gh-issue: 128844 .. nonce: ZPiJuo .. section: C API Add :c:func:`PyUnstable_TryIncRef` and :c:func:`PyUnstable_EnableTryIncRef` unstable APIs. These are helpers for dealing with unowned references in a thread-safe way, particularly in the free threading build. .. .. date: 2025-01-16-12-47-01 .. gh-issue: 128911 .. nonce: mHVJ4x .. section: C API Add :c:func:`PyImport_ImportModuleAttr` and :c:func:`PyImport_ImportModuleAttrString` helper functions to import a module and get an attribute of the module. Patch by Victor Stinner. .. .. date: 2025-01-15-11-42-07 .. gh-issue: 128863 .. nonce: C9MkB_ .. section: C API The following private functions are deprecated and planned for removal in Python 3.18: * :c:func:`!_PyBytes_Join`: use :c:func:`PyBytes_Join`. * :c:func:`!_PyDict_GetItemStringWithError`: use :c:func:`PyDict_GetItemStringRef`. * :c:func:`!_PyDict_Pop()`: use :c:func:`PyDict_Pop`. * :c:func:`!_PyLong_Sign()`: use :c:func:`PyLong_GetSign`. * :c:func:`!_PyLong_FromDigits` and :c:func:`!_PyLong_New`: use :c:func:`PyLongWriter_Create`. * :c:func:`!_PyThreadState_UncheckedGet`: use :c:func:`PyThreadState_GetUnchecked`. * :c:func:`!_PyUnicode_AsString`: use :c:func:`PyUnicode_AsUTF8`. * :c:func:`!_Py_HashPointer`: use :c:func:`Py_HashPointer`. * :c:func:`!_Py_fopen_obj`: use :c:func:`Py_fopen`. The `pythoncapi-compat project `__ can be used to get these new public functions on Python 3.13 and older. Patch by Victor Stinner. .. .. date: 2025-01-01-03-25-38 .. gh-issue: 126599 .. nonce: MRCYlH .. section: C API Remove some internal test APIs for the experimental JIT compiler. .. .. date: 2024-12-14-03-40-15 .. gh-issue: 127925 .. nonce: FF7aov .. section: C API Convert the :mod:`decimal` module to use :pep:`757` C API (export-import integers), offering some speed-up if the integer part of the :class:`~decimal.Decimal` instance is small. Patch by Sergey B Kirpichev. .. .. date: 2025-02-04-12-30-43 .. gh-issue: 129660 .. nonce: SitXa7 .. section: Build Drop ``test_embed`` from PGO training, whose contribution in recent versions is considered to be ignorable. .. .. date: 2025-01-16-03-35-37 .. gh-issue: 128902 .. nonce: Dt7xtV .. section: Build Fix compile errors with Clang 9 and older due to lack of ``__attribute__((fallthrough))`` support.