1.. date: 2024-03-27-13-50-02 2.. gh-issue: 116741 3.. nonce: ZoGryG 4.. release date: 2024-05-08 5.. section: Security 6 7Update bundled libexpat to 2.6.2 8 9.. 10 11.. date: 2024-03-25-21-25-28 12.. gh-issue: 117233 13.. nonce: E4CyI_ 14.. section: Security 15 16Detect BLAKE2, SHA3, Shake, & truncated SHA512 support in the OpenSSL-ish 17libcrypto library at build time. This allows :mod:`hashlib` to be used with 18libraries that do not to support every algorithm that upstream OpenSSL does. 19 20.. 21 22.. date: 2024-05-07-01-39-24 23.. gh-issue: 118414 24.. nonce: G5GG7l 25.. section: Core and Builtins 26 27Add instrumented opcodes to YIELD_VALUE assertion for tracing cases. 28 29.. 30 31.. date: 2024-05-06-10-57-54 32.. gh-issue: 117953 33.. nonce: DqCzIs 34.. section: Core and Builtins 35 36When a builtin or extension module is imported for the first time, while a 37subinterpreter is active, the module's init function is now run by the main 38interpreter first before import continues in the subinterpreter. 39Consequently, single-phase init modules now fail in an isolated 40subinterpreter without the init function running under that interpreter, 41whereas before it would run under the subinterpreter *before* failing, 42potentially leaving behind global state and callbacks and otherwise leaving 43the module in an inconsistent state. 44 45.. 46 47.. date: 2024-05-05-12-04-02 48.. gh-issue: 117549 49.. nonce: kITawD 50.. section: Core and Builtins 51 52Don't use designated initializer syntax in inline functions in internal 53headers. They cause problems for C++ or MSVC users who aren't yet using the 54latest C++ standard (C++20). While internal, pycore_backoff.h, is included 55(indirectly, via pycore_code.h) by some key 3rd party software that does so 56for speed. 57 58.. 59 60.. date: 2024-05-03-18-01-26 61.. gh-issue: 95382 62.. nonce: 73FSEv 63.. section: Core and Builtins 64 65Improve performance of :func:`json.dumps` and :func:`json.dump` when using 66the argument *indent*. Depending on the data the encoding using 67:func:`json.dumps` with *indent* can be up to 2 to 3 times faster. 68 69.. 70 71.. date: 2024-05-03-17-49-37 72.. gh-issue: 116322 73.. nonce: Gy6M4j 74.. section: Core and Builtins 75 76In ``--disable-gil`` builds, the GIL will be enabled while loading C 77extension modules. If the module indicates that it supports running without 78the GIL, the GIL will be disabled once loading is complete. Otherwise, the 79GIL will remain enabled for the remainder of the interpreter's lifetime. 80This behavior does not apply if the GIL has been explicitly enabled or 81disabled with ``PYTHON_GIL`` or ``-Xgil``. 82 83.. 84 85.. date: 2024-05-02-21-19-35 86.. gh-issue: 118513 87.. nonce: qHODjb 88.. section: Core and Builtins 89 90Fix incorrect :exc:`UnboundLocalError` when two comprehensions in the same 91function both reference the same name, and in one comprehension the name is 92bound while in the other it's an implicit global. 93 94.. 95 96.. date: 2024-05-02-20-32-42 97.. gh-issue: 118518 98.. nonce: m-JbTi 99.. section: Core and Builtins 100 101Allow the Linux perf support to work without frame pointers using perf's 102advanced JIT support. The feature is activated when using the 103``PYTHON_PERF_JIT_SUPPORT`` environment variable or when running Python with 104``-Xperf_jit``. Patch by Pablo Galindo. 105 106.. 107 108.. date: 2024-05-02-16-04-51 109.. gh-issue: 117514 110.. nonce: CJiuC0 111.. section: Core and Builtins 112 113Add ``sys._is_gil_enabled()`` function that returns whether the GIL is 114currently enabled. In the default build it always returns ``True`` because 115the GIL is always enabled. In the free-threaded build, it may return 116``True`` or ``False``. 117 118.. 119 120.. date: 2024-05-02-15-57-07 121.. gh-issue: 118164 122.. nonce: AF6kwI 123.. section: Core and Builtins 124 125Break a loop between the Python implementation of the :mod:`decimal` module 126and the Python code for integer to string conversion. Also optimize integer 127to string conversion for values in the range from 9_000 to 135_000 decimal 128digits. 129 130.. 131 132.. date: 2024-05-01-22-43-54 133.. gh-issue: 118473 134.. nonce: QIvq9R 135.. section: Core and Builtins 136 137Fix :func:`sys.set_asyncgen_hooks` not to be partially set when raising 138:exc:`TypeError`. 139 140.. 141 142.. date: 2024-05-01-17-12-36 143.. gh-issue: 118465 144.. nonce: g3Q8iE 145.. section: Core and Builtins 146 147Compiler populates the new ``__firstlineno__`` field on a class with the 148line number of the first line of the class definition. 149 150.. 151 152.. date: 2024-05-01-14-20-28 153.. gh-issue: 118492 154.. nonce: VUsSfn 155.. section: Core and Builtins 156 157Fix an issue where the type cache can expose a previously accessed attribute 158when a finalizer is run. 159 160.. 161 162.. date: 2024-05-01-07-06-48 163.. gh-issue: 117714 164.. nonce: Ip_dm5 165.. section: Core and Builtins 166 167update ``async_generator.athrow().close()`` and 168``async_generator.asend().close()`` to close their section of the underlying 169async generator 170 171.. 172 173.. date: 2024-04-28-00-41-17 174.. gh-issue: 111201 175.. nonce: cQsh5U 176.. section: Core and Builtins 177 178The :term:`interactive` interpreter is now implemented in Python, which 179allows for a number of new features like colors, multiline input, history 180viewing, and paste mode. Contributed by Pablo Galindo, Łukasz Langa and 181Lysandros Nikolaou based on code from the PyPy project. 182 183.. 184 185.. date: 2024-04-27-21-44-40 186.. gh-issue: 74929 187.. nonce: C2nESp 188.. section: Core and Builtins 189 190Implement PEP 667: converted :attr:`FrameType.f_locals <frame.f_locals>` and 191:c:func:`PyFrame_GetLocals` to return a write-through proxy object when the 192frame refers to a function or comprehension. 193 194.. 195 196.. date: 2024-04-27-16-23-29 197.. gh-issue: 116767 198.. nonce: z9UFpr 199.. section: Core and Builtins 200 201Fix crash in compiler on 'async with' that has many context managers. 202 203.. 204 205.. date: 2024-04-26-14-06-18 206.. gh-issue: 118335 207.. nonce: SRFsxO 208.. section: Core and Builtins 209 210Change how to use the tier 2 interpreter. Instead of running Python with 211``-X uops`` or setting the environment variable ``PYTHON_UOPS=1``, this 212choice is now made at build time by configuring with 213``--enable-experimental-jit=interpreter``. 214 215**Beware!** This changes the environment variable to enable or disable 216micro-ops to ``PYTHON_JIT``. The old ``PYTHON_UOPS`` is no longer used. 217 218.. 219 220.. date: 2024-04-26-05-38-18 221.. gh-issue: 118306 222.. nonce: vRUEOU 223.. section: Core and Builtins 224 225Update JIT compilation to use LLVM 18 226 227.. 228 229.. date: 2024-04-25-21-18-19 230.. gh-issue: 118160 231.. nonce: GH5SMc 232.. section: Core and Builtins 233 234:ref:`Annotation scopes <annotation-scopes>` within classes can now contain 235comprehensions. However, such comprehensions are not inlined into their 236parent scope at runtime. Patch by Jelle Zijlstra. 237 238.. 239 240.. date: 2024-04-25-12-55-47 241.. gh-issue: 118272 242.. nonce: 5ptjk_ 243.. section: Core and Builtins 244 245Fix bug where ``generator.close`` does not free the generator frame's 246locals. 247 248.. 249 250.. date: 2024-04-25-11-48-28 251.. gh-issue: 118216 252.. nonce: SVg700 253.. section: Core and Builtins 254 255Don't consider :mod:`__future__` imports with dots before the module name. 256 257.. 258 259.. date: 2024-04-22-08-34-28 260.. gh-issue: 118074 261.. nonce: 5_JnIa 262.. section: Core and Builtins 263 264Make sure that the Executor objects in the COLD_EXITS array aren't assumed 265to be GC-able (which would access bytes outside the object). 266 267.. 268 269.. date: 2024-04-20-20-30-15 270.. gh-issue: 107674 271.. nonce: GZPOP7 272.. section: Core and Builtins 273 274Lazy load frame line number to improve performance of tracing 275 276.. 277 278.. date: 2024-04-19-11-59-57 279.. gh-issue: 118082 280.. nonce: _FLuOT 281.. section: Core and Builtins 282 283Improve :exc:`SyntaxError` message for imports without names, like in ``from 284x import`` and ``import`` cases. It now points out to users that 285:keyword:`import` expects at least one name after it. 286 287.. 288 289.. date: 2024-04-19-11-57-46 290.. gh-issue: 118090 291.. nonce: eGAQ0B 292.. section: Core and Builtins 293 294Improve :exc:`SyntaxError` message for empty type param brackets. 295 296.. 297 298.. date: 2024-04-18-03-49-41 299.. gh-issue: 117958 300.. nonce: -EsfUs 301.. section: Core and Builtins 302 303Added a ``get_jit_code()`` method to access JIT compiled machine code from 304the UOp Executor when the experimental JIT is enabled. Patch by Anthony 305Shaw. 306 307.. 308 309.. date: 2024-04-17-22-53-52 310.. gh-issue: 117901 311.. nonce: SsEcVJ 312.. section: Core and Builtins 313 314Add option for compiler's codegen to save nested instruction sequences for 315introspection. 316 317.. 318 319.. date: 2024-04-17-22-49-15 320.. gh-issue: 116622 321.. nonce: tthNUF 322.. section: Core and Builtins 323 324Redirect stdout and stderr to system log when embedded in an Android app. 325 326.. 327 328.. date: 2024-04-17-17-52-32 329.. gh-issue: 109118 330.. nonce: q9iPEI 331.. section: Core and Builtins 332 333:ref:`annotation scope <annotation-scopes>` within class scopes can now 334contain lambdas. 335 336.. 337 338.. date: 2024-04-15-13-53-59 339.. gh-issue: 117894 340.. nonce: 8LpZ6m 341.. section: Core and Builtins 342 343Prevent ``agen.aclose()`` objects being re-used after ``.throw()``. 344 345.. 346 347.. date: 2024-04-15-07-37-09 348.. gh-issue: 117881 349.. nonce: 07H0wI 350.. section: Core and Builtins 351 352prevent concurrent access to an async generator via athrow().throw() or 353asend().throw() 354 355.. 356 357.. date: 2024-04-13-16-55-53 358.. gh-issue: 117536 359.. nonce: xkVbfv 360.. section: Core and Builtins 361 362Fix a :exc:`RuntimeWarning` when calling ``agen.aclose().throw(Exception)``. 363 364.. 365 366.. date: 2024-04-12-12-28-49 367.. gh-issue: 117755 368.. nonce: 6ct8kU 369.. section: Core and Builtins 370 371Fix mimalloc allocator for huge memory allocation (around 8,589,934,592 GiB) 372on s390x. Patch by Victor Stinner. 373 374.. 375 376.. date: 2024-04-12-11-19-18 377.. gh-issue: 117750 378.. nonce: YttK6h 379.. section: Core and Builtins 380 381Fix issue where an object's dict would get out of sync with the object's 382internal values when being cleared. ``obj.__dict__.clear()`` now clears the 383internal values, but leaves the dict attached to the object. 384 385.. 386 387.. date: 2024-04-12-09-09-11 388.. gh-issue: 117431 389.. nonce: lxFEeJ 390.. section: Core and Builtins 391 392Improve the performance of the following :class:`bytes` and 393:class:`bytearray` methods by adapting them to the :c:macro:`METH_FASTCALL` 394calling convention: 395 396* :meth:`!count` 397* :meth:`!find` 398* :meth:`!index` 399* :meth:`!rfind` 400* :meth:`!rindex` 401 402.. 403 404.. date: 2024-04-10-22-16-18 405.. gh-issue: 117709 406.. nonce: -_1YL0 407.. section: Core and Builtins 408 409Speed up calls to :func:`str` with positional-only argument, by using the 410:pep:`590` ``vectorcall`` calling convention. Patch by Erlend Aasland. 411 412.. 413 414.. date: 2024-04-09-16-07-00 415.. gh-issue: 117680 416.. nonce: MRZ78K 417.. section: Core and Builtins 418 419Give ``_PyInstructionSequence`` a Python interface and use it in tests. 420 421.. 422 423.. date: 2024-04-09-11-31-25 424.. gh-issue: 115776 425.. nonce: 5Nthd0 426.. section: Core and Builtins 427 428Statically allocated objects are, by definition, immortal so must be marked 429as such regardless of whether they are in extension modules or not. 430 431.. 432 433.. date: 2024-03-30-00-37-53 434.. gh-issue: 117385 435.. nonce: h0OJti 436.. section: Core and Builtins 437 438Remove unhandled ``PY_MONITORING_EVENT_BRANCH`` and 439``PY_MONITORING_EVENT_EXCEPTION_HANDLED`` events from :func:`sys.settrace`. 440 441.. 442 443.. date: 2024-03-12-13-51-09 444.. gh-issue: 116322 445.. nonce: q8TcDQ 446.. section: Core and Builtins 447 448Extension modules may indicate to the runtime that they can run without the 449GIL. Multi-phase init modules do so by calling providing 450``Py_MOD_GIL_NOT_USED`` for the ``Py_mod_gil`` slot, while single-phase init 451modules call ``PyUnstable_Module_SetGIL(mod, Py_MOD_GIL_NOT_USED)`` from 452their init function. 453 454.. 455 456.. date: 2024-02-29-18-55-45 457.. gh-issue: 116129 458.. nonce: wsFnIq 459.. section: Core and Builtins 460 461Implement :pep:`696`, adding support for defaults on type parameters. Patch 462by Jelle Zijlstra. 463 464.. 465 466.. date: 2024-02-26-13-14-52 467.. gh-issue: 93502 468.. nonce: JMWRvA 469.. section: Core and Builtins 470 471Add two new functions to the C-API, :c:func:`PyRefTracer_SetTracer` and 472:c:func:`PyRefTracer_GetTracer`, that allows to track object creation and 473destruction the same way the :mod:`tracemalloc` module does. Patch by Pablo 474Galindo 475 476.. 477 478.. date: 2024-02-04-07-45-29 479.. gh-issue: 107674 480.. nonce: q8mCmi 481.. section: Core and Builtins 482 483Improved the performance of :func:`sys.settrace` significantly 484 485.. 486 487.. date: 2024-01-07-03-38-34 488.. gh-issue: 95754 489.. nonce: aPjEBG 490.. section: Core and Builtins 491 492Improve the error message when a script shadowing a module from the standard 493library causes :exc:`AttributeError` to be raised. Similarly, improve the 494error message when a script shadowing a third party module attempts to 495access an attribute from that third party module while still initialising. 496 497.. 498 499.. date: 2023-12-03-18-21-59 500.. gh-issue: 99180 501.. nonce: 5m0V0q 502.. section: Core and Builtins 503 504Elide uninformative traceback indicators in ``return`` and simple 505``assignment`` statements. Patch by Pablo Galindo. 506 507.. 508 509.. date: 2023-06-18-00-27-57 510.. gh-issue: 105879 511.. nonce: dPw78k 512.. section: Core and Builtins 513 514Allow the *globals* and *locals* arguments to :func:`exec` and :func:`eval` 515to be passed as keywords. 516 517.. 518 519.. date: 2024-05-07-11-23-11 520.. gh-issue: 118418 521.. nonce: QPMdJm 522.. section: Library 523 524A :exc:`DeprecationWarning` is now emitted if you fail to pass a value to 525the new *type_params* parameter of ``typing._eval_type()`` or 526``typing.ForwardRef._evaluate()``. (Using either of these private and 527undocumented functions is discouraged to begin with, but failing to pass a 528value to the ``type_params`` parameter may lead to incorrect behaviour on 529Python 3.12 or newer.) 530 531.. 532 533.. date: 2024-05-06-18-13-02 534.. gh-issue: 118660 535.. nonce: n01Vb7 536.. section: Library 537 538Add an optional second type parameter to :class:`typing.ContextManager` and 539:class:`typing.AsyncContextManager`, representing the return types of 540:meth:`~object.__exit__` and :meth:`~object.__aexit__` respectively. This 541parameter defaults to ``bool | None``. 542 543.. 544 545.. date: 2024-05-06-16-52-40 546.. gh-issue: 118650 547.. nonce: qKz5lp 548.. section: Library 549 550The ``enum`` module allows method named ``_repr_*`` to be defined on 551``Enum`` types. 552 553.. 554 555.. date: 2024-05-06-08-23-01 556.. gh-issue: 118648 557.. nonce: OVA3jJ 558.. section: Library 559 560Add type parameter defaults to :class:`typing.Generator` and 561:class:`typing.AsyncGenerator`. 562 563.. 564 565.. date: 2024-05-05-16-08-03 566.. gh-issue: 101137 567.. nonce: 71ECXu 568.. section: Library 569 570Mime type ``text/x-rst`` is now supported by :mod:`mimetypes`. 571 572.. 573 574.. date: 2024-05-04-20-22-59 575.. gh-issue: 118164 576.. nonce: 9D02MQ 577.. section: Library 578 579The Python implementation of the ``decimal`` module could appear to hang in 580relatively small power cases (like ``2**117``) if context precision was set 581to a very high value. A different method to check for exactly representable 582results is used now that doesn't rely on computing ``10**precision`` (which 583could be effectively too large to compute). 584 585.. 586 587.. date: 2024-05-04-18-40-43 588.. gh-issue: 111744 589.. nonce: nuCtwN 590.. section: Library 591 592``breakpoint()`` and ``pdb.set_trace()`` now enter the debugger immediately 593after the call rather than before the next line is executed. 594 595.. 596 597.. date: 2024-05-02-04-27-12 598.. gh-issue: 118500 599.. nonce: pBGGtQ 600.. section: Library 601 602Add :mod:`pdb` support for zipapps 603 604.. 605 606.. date: 2024-04-30-15-18-19 607.. gh-issue: 118406 608.. nonce: y-GnMo 609.. section: Library 610 611Add signature for :class:`sqlite3.Connection` objects. 612 613.. 614 615.. date: 2024-04-30-12-59-04 616.. gh-issue: 101732 617.. nonce: 29zUDu 618.. section: Library 619 620Use a Y2038 compatible openssl time function when available. 621 622.. 623 624.. date: 2024-04-29-22-11-54 625.. gh-issue: 118404 626.. nonce: GYfMaD 627.. section: Library 628 629Fix :func:`inspect.signature` for non-comparable callables. 630 631.. 632 633.. date: 2024-04-29-21-51-28 634.. gh-issue: 118402 635.. nonce: Z_06Th 636.. section: Library 637 638Fix :func:`inspect.signature` for the result of the 639:func:`functools.cmp_to_key` call. 640 641.. 642 643.. date: 2024-04-27-20-34-56 644.. gh-issue: 116622 645.. nonce: YlQgXv 646.. section: Library 647 648On Android, :any:`sysconfig.get_platform` now returns the format specified 649by :pep:`738`. 650 651.. 652 653.. date: 2024-04-26-14-53-28 654.. gh-issue: 118285 655.. nonce: A0_pte 656.. section: Library 657 658Allow to specify the signature of custom callable instances of extension 659type by the ``__text_signature__`` attribute. Specify signatures of 660:class:`operator.attrgetter`, :class:`operator.itemgetter`, and 661:class:`operator.methodcaller` instances. 662 663.. 664 665.. date: 2024-04-26-12-42-29 666.. gh-issue: 118314 667.. nonce: Z7reGc 668.. section: Library 669 670Fix an edge case in :func:`binascii.a2b_base64` strict mode, where excessive 671padding is not detected when no padding is necessary. 672 673.. 674 675.. date: 2024-04-25-11-49-11 676.. gh-issue: 118271 677.. nonce: 5N2Xcy 678.. section: Library 679 680Add the :class:`!PhotoImage` methods :meth:`!read` to 681read an image from a file and :meth:`!data` to get the 682image data. Add *background* and *grayscale* parameters to 683:class:`!PhotoImage` method :meth:`!write`. 684 685.. 686 687.. date: 2024-04-24-16-07-26 688.. gh-issue: 118225 689.. nonce: KdrcgL 690.. section: Library 691 692Add the :class:`!PhotoImage` method :meth:`!copy_replace` to copy a region 693from one image to other image, possibly with pixel zooming and/or 694subsampling. Add *from_coords* parameter to :class:`!PhotoImage` methods 695:meth:`!copy`, :meth:`!zoom` and :meth:`!subsample`. Add *zoom* and 696*subsample* parameters to :class:`!PhotoImage` method :meth:`!copy`. 697 698.. 699 700.. date: 2024-04-24-12-29-33 701.. gh-issue: 118221 702.. nonce: 2k_bac 703.. section: Library 704 705Fix a bug where :meth:`sqlite3.Connection.iterdump` could fail if a custom 706:attr:`row factory <sqlite3.Connection.row_factory>` was used. Patch by 707Erlend Aasland. 708 709.. 710 711.. date: 2024-04-24-12-20-48 712.. gh-issue: 118013 713.. nonce: TKn_kZ 714.. section: Library 715 716Fix regression introduced in gh-103193 that meant that calling 717:func:`inspect.getattr_static` on an instance would cause a strong reference 718to that instance's class to persist in an internal cache in the 719:mod:`inspect` module. This caused unexpected memory consumption if the 720class was dynamically created, the class held strong references to other 721objects which took up a significant amount of memory, and the cache 722contained the sole strong reference to the class. The fix for the regression 723leads to a slowdown in :func:`!getattr_static`, but the function should 724still be significantly faster than it was in Python 3.11. Patch by Alex 725Waygood. 726 727.. 728 729.. date: 2024-04-24-07-45-08 730.. gh-issue: 118218 731.. nonce: m1OHbN 732.. section: Library 733 734Speed up :func:`itertools.pairwise` in the common case by up to 1.8x. 735 736.. 737 738.. date: 2024-04-23-21-17-00 739.. gh-issue: 117486 740.. nonce: ea3KYD 741.. section: Library 742 743Improve the behavior of user-defined subclasses of :class:`ast.AST`. Such 744classes will now require no changes in the usual case to conform with the 745behavior changes of the :mod:`ast` module in Python 3.13. Patch by Jelle 746Zijlstra. 747 748.. 749 750.. date: 2024-04-22-21-54-12 751.. gh-issue: 90848 752.. nonce: 5jHEEc 753.. section: Library 754 755Fixed :func:`unittest.mock.create_autospec` to configure parent mock with 756keyword arguments. 757 758.. 759 760.. date: 2024-04-22-20-42-29 761.. gh-issue: 118168 762.. nonce: Igni7h 763.. section: Library 764 765Fix incorrect argument substitution when :data:`typing.Unpack` is used with 766the builtin :class:`tuple`. :data:`!typing.Unpack` now raises 767:exc:`TypeError` when used with certain invalid types. Patch by Jelle 768Zijlstra. 769 770.. 771 772.. date: 2024-04-21-18-55-42 773.. gh-issue: 118131 774.. nonce: eAT0is 775.. section: Library 776 777Add command-line interface for the :mod:`random` module. Patch by Hugo van 778Kemenade. 779 780.. 781 782.. date: 2024-04-19-09-28-43 783.. gh-issue: 118107 784.. nonce: Mdsr1J 785.. section: Library 786 787Fix :mod:`zipimport` reading of ZIP64 files with file entries that are too 788big or offset too far. 789 790.. 791 792.. date: 2024-04-19-08-50-48 793.. gh-issue: 102511 794.. nonce: qDEB66 795.. section: Library 796 797Fix :func:`os.path.normpath` for UNC paths on Windows. 798Speed up :func:`os.path.splitroot` with a native implementation. 799 800.. 801 802.. date: 2024-04-18-00-35-11 803.. gh-issue: 117535 804.. nonce: 0m6SIM 805.. section: Library 806 807Change the unknown filename of :mod:`warnings` from ``sys`` to ``<sys>`` to 808clarify that it's not a real filename. 809 810.. 811 812.. date: 2024-04-17-22-00-15 813.. gh-issue: 114053 814.. nonce: _JBV4D 815.. section: Library 816 817Fix erroneous :exc:`NameError` when calling :func:`typing.get_type_hints` on 818a class that made use of :pep:`695` type parameters in a module that had 819``from __future__ import annotations`` at the top of the file. Patch by Alex 820Waygood. 821 822.. 823 824.. date: 2024-04-17-21-28-24 825.. gh-issue: 116931 826.. nonce: _AS09h 827.. section: Library 828 829Add parameter *fileobj* check for :func:`tarfile.TarFile.addfile` 830 831.. 832 833.. date: 2024-04-17-19-41-59 834.. gh-issue: 117995 835.. nonce: Vt76Rv 836.. section: Library 837 838Don't raise :exc:`DeprecationWarning` when a :term:`sequence` of parameters 839is used to bind indexed, nameless placeholders. See also :gh:`100668`. 840 841.. 842 843.. date: 2024-04-17-18-00-30 844.. gh-issue: 80361 845.. nonce: RstWg- 846.. section: Library 847 848Fix TypeError in :func:`email.message.Message.get_payload` when the charset is 849:rfc:`2231` encoded. 850 851.. 852 853.. date: 2024-04-16-18-34-11 854.. gh-issue: 86650 855.. nonce: Zeydyg 856.. section: Library 857 858Fix IndexError when parse some emails with invalid Message-ID (including 859one-off addresses generated by Microsoft Outlook). 860 861.. 862 863.. date: 2024-04-14-15-59-28 864.. gh-issue: 117691 865.. nonce: 1mtREE 866.. section: Library 867 868Improve the error messages emitted by :mod:`tarfile` deprecation warnings 869relating to PEP 706. If a ``filter`` argument is not provided to 870``extract()`` or ``extractall``, the deprecation warning now points to the 871line in the user's code where the relevant function was called. Patch by 872Alex Waygood. 873 874.. 875 876.. date: 2024-04-13-18-59-25 877.. gh-issue: 115874 878.. nonce: c3xG-E 879.. section: Library 880 881Fixed a possible segfault during garbage collection of 882``_asyncio.FutureIter`` objects. Patch by Savannah Ostrowski. 883 884.. 885 886.. date: 2024-04-13-01-45-15 887.. gh-issue: 115060 888.. nonce: IxoM03 889.. section: Library 890 891Speed up :meth:`pathlib.Path.glob` by omitting an initial 892:meth:`~pathlib.Path.is_dir` call. As a result of this change, 893:meth:`~pathlib.Path.glob` can no longer raise :exc:`OSError`. 894 895.. 896 897.. date: 2024-04-12-17-37-11 898.. gh-issue: 77102 899.. nonce: Mk6X_E 900.. section: Library 901 902:mod:`site` module now parses ``.pth`` file with UTF-8 first, and 903:term:`locale encoding` if ``UnicodeDecodeError`` happened. It supported 904only locale encoding before. 905 906.. 907 908.. date: 2024-04-11-18-11-37 909.. gh-issue: 76785 910.. nonce: BWNkhC 911.. section: Library 912 913We've exposed the low-level :mod:`!_interpreters` module for the sake of the 914PyPI implementation of :pep:`734`. It was sometimes available as the 915:mod:`!_xxsubinterpreters` module and was formerly used only for testing. 916For the most part, it should be considered an internal module, like 917:mod:`!_thread` and :mod:`!_imp`. See 918https://discuss.python.org/t/pep-734-multiple-interpreters-in-the-stdlib/41147/26. 919 920.. 921 922.. date: 2024-04-10-22-35-24 923.. gh-issue: 115060 924.. nonce: XEVuOb 925.. section: Library 926 927Speed up :meth:`pathlib.Path.glob` by not scanning directories for 928non-wildcard pattern segments. 929 930.. 931 932.. date: 2024-04-10-21-30-37 933.. gh-issue: 117727 934.. nonce: uAYNVS 935.. section: Library 936 937Speed up :meth:`pathlib.Path.iterdir` by using :func:`os.scandir` 938internally. 939 940.. 941 942.. date: 2024-04-10-21-08-32 943.. gh-issue: 117586 944.. nonce: UCL__1 945.. section: Library 946 947Speed up :meth:`pathlib.Path.walk` by working with strings internally. 948 949.. 950 951.. date: 2024-04-10-20-59-10 952.. gh-issue: 117722 953.. nonce: oxIUEI 954.. section: Library 955 956Change the new multi-separator support in :meth:`asyncio.StreamReader.readuntil` 957to only accept tuples of separators rather than arbitrary iterables. 958 959.. 960 961.. date: 2024-04-09-23-22-21 962.. gh-issue: 117692 963.. nonce: EciInD 964.. section: Library 965 966Fixes a bug when :class:`doctest.DocTestFinder` was failing on wrapped 967``builtin_function_or_method``. 968 969.. 970 971.. date: 2024-04-09-20-14-44 972.. gh-issue: 117348 973.. nonce: A2NAAz 974.. section: Library 975 976Largely restored import time performance of configparser by avoiding 977dataclasses. 978 979.. 980 981.. date: 2024-04-08-19-30-38 982.. gh-issue: 117641 983.. nonce: oaBGSJ 984.. section: Library 985 986Speedup :func:`os.path.commonpath` on Unix. 987 988.. 989 990.. date: 2024-04-08-19-12-26 991.. gh-issue: 117663 992.. nonce: CPfc_p 993.. section: Library 994 995Fix ``_simple_enum`` to detect aliases when multiple arguments are present 996but only one is the member value. 997 998.. 999 1000.. date: 2024-04-08-14-33-38 1001.. gh-issue: 117636 1002.. nonce: exnRKd 1003.. section: Library 1004 1005Speedup :func:`os.path.join`. 1006 1007.. 1008 1009.. date: 2024-04-08-03-23-22 1010.. gh-issue: 117618 1011.. nonce: -4DCUw 1012.. section: Library 1013 1014Support ``package.module`` as ``filename`` for ``break`` command of 1015:mod:`pdb` 1016 1017.. 1018 1019.. date: 2024-04-07-19-39-20 1020.. gh-issue: 102247 1021.. nonce: h8rqiX 1022.. section: Library 1023 1024the status codes enum with constants in http.HTTPStatus are updated to 1025include the names from RFC9110. This RFC includes some HTTP statuses 1026previously only used for WEBDAV and assigns more generic names to them. 1027 1028The old constants are preserved for backwards compatibility. 1029 1030.. 1031 1032.. date: 2024-04-07-18-42-09 1033.. gh-issue: 117607 1034.. nonce: C978BD 1035.. section: Library 1036 1037Speedup :func:`os.path.relpath`. 1038 1039.. 1040 1041.. date: 2024-04-06-20-31-09 1042.. gh-issue: 117586 1043.. nonce: UgWdRK 1044.. section: Library 1045 1046Speed up :meth:`pathlib.Path.glob` by working with strings internally. 1047 1048.. 1049 1050.. date: 2024-04-06-18-41-36 1051.. gh-issue: 117225 1052.. nonce: tJh1Hw 1053.. section: Library 1054 1055Add colour to doctest output. Patch by Hugo van Kemenade. 1056 1057.. 1058 1059.. date: 2024-04-05-15-51-01 1060.. gh-issue: 117566 1061.. nonce: 54nABf 1062.. section: Library 1063 1064:meth:`ipaddress.IPv6Address.is_loopback` will now return ``True`` for 1065IPv4-mapped loopback addresses, i.e. addresses in the 1066``::ffff:127.0.0.0/104`` address space. 1067 1068.. 1069 1070.. date: 2024-04-05-13-38-53 1071.. gh-issue: 117546 1072.. nonce: lWjhHE 1073.. section: Library 1074 1075Fix issue where :func:`os.path.realpath` stopped resolving symlinks after 1076encountering a symlink loop on POSIX. 1077 1078.. 1079 1080.. date: 2024-04-04-15-28-12 1081.. gh-issue: 116720 1082.. nonce: aGhXns 1083.. section: Library 1084 1085Improved behavior of :class:`asyncio.TaskGroup` when an external 1086cancellation collides with an internal cancellation. For example, when two 1087task groups are nested and both experience an exception in a child task 1088simultaneously, it was possible that the outer task group would misbehave, 1089because its internal cancellation was swallowed by the inner task group. 1090 1091In the case where a task group is cancelled externally and also must raise 1092an :exc:`ExceptionGroup`, it will now call the parent task's 1093:meth:`~asyncio.Task.cancel` method. This ensures that a 1094:exc:`asyncio.CancelledError` will be raised at the next :keyword:`await`, 1095so the cancellation is not lost. 1096 1097An added benefit of these changes is that task groups now preserve the 1098cancellation count (:meth:`asyncio.Task.cancelling`). 1099 1100In order to handle some corner cases, :meth:`asyncio.Task.uncancel` may now 1101reset the undocumented ``_must_cancel`` flag when the cancellation count 1102reaches zero. 1103 1104.. 1105 1106.. date: 2024-04-03-16-01-31 1107.. gh-issue: 117516 1108.. nonce: 7DlHje 1109.. section: Library 1110 1111Add :data:`typing.TypeIs`, implementing :pep:`742`. Patch by Jelle Zijlstra. 1112 1113.. 1114 1115.. date: 2024-04-03-15-04-23 1116.. gh-issue: 117503 1117.. nonce: NMfwup 1118.. section: Library 1119 1120Fix support of non-ASCII user names in bytes paths in 1121:func:`os.path.expanduser` on Posix. 1122 1123.. 1124 1125.. date: 2024-04-02-11-17-44 1126.. gh-issue: 117394 1127.. nonce: 2aoSlb 1128.. section: Library 1129 1130:func:`os.path.ismount` is now 2-3 times faster if the user has permissions. 1131 1132.. 1133 1134.. date: 2024-03-29-15-14-51 1135.. gh-issue: 117313 1136.. nonce: ks_ONu 1137.. section: Library 1138 1139Only treat ``'\n'``, ``'\r'`` and ``'\r\n'`` as line separators in 1140re-folding the :mod:`email` messages. Preserve control characters ``'\v'``, 1141``'\f'``, ``'\x1c'``, ``'\x1d'`` and ``'\x1e'`` and Unicode line separators 1142``'\x85'``, ``'\u2028'`` and ``'\u2029'`` as is. 1143 1144.. 1145 1146.. date: 2024-03-29-12-21-40 1147.. gh-issue: 117142 1148.. nonce: U0agfh 1149.. section: Library 1150 1151Convert :mod:`!_ctypes` to multi-phase initialisation (:pep:`489`). 1152 1153.. 1154 1155.. date: 2024-03-26-15-29-39 1156.. gh-issue: 66543 1157.. nonce: OZBhU5 1158.. section: Library 1159 1160Add the :func:`mimetypes.guess_file_type` function which works with file 1161path. Passing file path instead of URL in :func:`~mimetypes.guess_type` is 1162:term:`soft deprecated`. 1163 1164.. 1165 1166.. date: 2024-03-20-00-11-39 1167.. gh-issue: 68583 1168.. nonce: mIlxxb 1169.. section: Library 1170 1171webbrowser CLI: replace getopt with argparse, add long options. Patch by 1172Hugo van Kemenade. 1173 1174.. 1175 1176.. date: 2024-03-17-18-24-23 1177.. gh-issue: 116871 1178.. nonce: 9uSl8M 1179.. section: Library 1180 1181Name suggestions for :exc:`AttributeError` and :exc:`ImportError` now only 1182include underscored names if the original name was underscored. 1183 1184.. 1185 1186.. date: 2024-02-28-11-51-51 1187.. gh-issue: 116023 1188.. nonce: CGYhFh 1189.. section: Library 1190 1191Don't show empty fields (value ``None`` or ``[]``) in :func:`ast.dump` by 1192default. Add ``show_empty=False`` parameter to optionally show them. 1193 1194.. 1195 1196.. date: 2024-02-28-10-41-24 1197.. gh-issue: 115961 1198.. nonce: P-_DU0 1199.. section: Library 1200 1201Added :attr:`!name` and :attr:`!mode` attributes for compressed and archived 1202file-like objects in modules :mod:`bz2`, :mod:`lzma`, :mod:`tarfile` and 1203:mod:`zipfile`. The value of the :attr:`!mode` attribute of 1204:class:`gzip.GzipFile` was changed from integer (``1`` or ``2``) to string 1205(``'rb'`` or ``'wb'``). The value of the :attr:`!mode` attribute of the 1206readable file-like object returned by :meth:`zipfile.ZipFile.open` was 1207changed from ``'r'`` to ``'rb'``. 1208 1209.. 1210 1211.. date: 2024-02-11-07-31-43 1212.. gh-issue: 82062 1213.. nonce: eeS6w7 1214.. section: Library 1215 1216Fix :func:`inspect.signature` to correctly handle parameter defaults on 1217methods in extension modules that use names defined in the module namespace. 1218 1219.. 1220 1221.. date: 2024-01-19-05-40-46 1222.. gh-issue: 83856 1223.. nonce: jN5M80 1224.. section: Library 1225 1226Honor :mod:`atexit` for all :mod:`multiprocessing` start methods 1227 1228.. 1229 1230.. date: 2023-12-14-02-51-38 1231.. gh-issue: 113081 1232.. nonce: S-9Qyn 1233.. section: Library 1234 1235Print colorized exception just like built-in traceback in :mod:`pdb` 1236 1237.. 1238 1239.. date: 2023-12-07-20-05-54 1240.. gh-issue: 112855 1241.. nonce: ph4ehh 1242.. section: Library 1243 1244Speed up pickling of :class:`pathlib.PurePath` objects. Patch by Barney 1245Gale. 1246 1247.. 1248 1249.. date: 2023-11-07-22-41-42 1250.. gh-issue: 111744 1251.. nonce: TbLxF0 1252.. section: Library 1253 1254Support opcode events in :mod:`bdb` 1255 1256.. 1257 1258.. date: 2023-10-24-12-39-04 1259.. gh-issue: 109617 1260.. nonce: YoI8TV 1261.. section: Library 1262 1263:mod:`!ncurses`: fixed a crash that could occur on macOS 13 or earlier when 1264Python was built with Apple Xcode 15's SDK. 1265 1266.. 1267 1268.. date: 2023-10-20-03-50-17 1269.. gh-issue: 83151 1270.. nonce: bcsD40 1271.. section: Library 1272 1273Enabled arbitrary statements and evaluations in :mod:`pdb` shell to access 1274the local variables of the current frame, which made it possible for 1275multi-scope code like generators or nested function to work. 1276 1277.. 1278 1279.. date: 2023-10-02-10-35-58 1280.. gh-issue: 110209 1281.. nonce: b5zfIz 1282.. section: Library 1283 1284Add :meth:`~object.__class_getitem__` to :class:`types.GeneratorType` and 1285:class:`types.CoroutineType` for type hinting purposes. Patch by James 1286Hilton-Balfe. 1287 1288.. 1289 1290.. date: 2023-08-21-10-34-43 1291.. gh-issue: 108191 1292.. nonce: GZM3mv 1293.. section: Library 1294 1295The :class:`types.SimpleNamespace` now accepts an optional positional 1296argument which specifies initial values of attributes as a dict or an 1297iterable of key-value pairs. 1298 1299.. 1300 1301.. date: 2023-05-28-11-25-18 1302.. gh-issue: 62090 1303.. nonce: opAhDn 1304.. section: Library 1305 1306Fix assertion errors caused by whitespace in metavars or ``SUPPRESS``-ed 1307groups in :mod:`argparse` by simplifying usage formatting. Patch by Ali 1308Hamdan. 1309 1310.. 1311 1312.. date: 2023-03-03-21-13-08 1313.. gh-issue: 102402 1314.. nonce: fpkRO1 1315.. section: Library 1316 1317Adjust ``logging.LogRecord`` to use ``time.time_ns()`` and fix minor bug 1318related to floating-point math. 1319 1320.. 1321 1322.. date: 2022-12-14-15-53-38 1323.. gh-issue: 100242 1324.. nonce: Ny7VUO 1325.. section: Library 1326 1327Bring pure Python implementation ``functools.partial.__new__`` more in line 1328with the C-implementation by not just always checking for the presence of 1329the attribute ``'func'`` on the first argument of ``partial``. Instead, both 1330the Python version and the C version perform an ``isinstance(func, 1331partial)`` check on the first argument of ``partial``. 1332 1333.. 1334 1335.. date: 2022-11-23-17-16-31 1336.. gh-issue: 99730 1337.. nonce: bDQdaX 1338.. section: Library 1339 1340HEAD requests are no longer upgraded to GET request during redirects in 1341urllib. 1342 1343.. 1344 1345.. date: 2022-10-24-12-05-19 1346.. gh-issue: 66410 1347.. nonce: du4UKW 1348.. section: Library 1349 1350Setting the :mod:`!tkinter` module global :data:`!wantobjects` to ``2`` 1351before creating the :class:`~tkinter.Tk` object or call the 1352:meth:`!wantobjects` method of the :class:`!Tk` object with argument 1353``2`` makes now arguments to callbacks registered in the :mod:`tkinter` module 1354to be passed as various Python objects (``int``, ``float``, ``bytes``, ``tuple``), 1355depending on their internal representation in Tcl, instead of always ``str``. 1356:data:`!tkinter.wantobjects` is now set to ``2`` by default. 1357 1358.. 1359 1360.. bpo: 40943 1361.. date: 2020-06-10-19-24-17 1362.. nonce: vjiiN_ 1363.. section: Library 1364 1365Fix several IndexError when parse emails with truncated Message-ID, address, 1366routes, etc, e.g. ``example@``. 1367 1368.. 1369 1370.. bpo: 39324 1371.. date: 2020-01-14-09-46-51 1372.. nonce: qUcDrM 1373.. section: Library 1374 1375Add mime type mapping for .md <-> text/markdown 1376 1377.. 1378 1379.. bpo: 18108 1380.. date: 2019-09-09-18-18-34 1381.. nonce: ajPLAO 1382.. section: Library 1383 1384:func:`shutil.chown` now supports *dir_fd* and *follow_symlinks* keyword 1385arguments. 1386 1387.. 1388 1389.. bpo: 30988 1390.. date: 2019-08-29-20-26-08 1391.. nonce: b-_h5O 1392.. section: Library 1393 1394Fix parsing of emails with invalid address headers having a leading or 1395trailing dot. Patch by tsufeki. 1396 1397.. 1398 1399.. bpo: 32839 1400.. date: 2018-02-13-10-02-54 1401.. nonce: McbVz3 1402.. section: Library 1403 1404Add the :meth:`!after_info` method for Tkinter widgets. 1405 1406.. 1407 1408.. date: 2024-04-25-22-12-20 1409.. gh-issue: 117928 1410.. nonce: LKdTno 1411.. section: Documentation 1412 1413The minimum Sphinx version required for the documentation is now 6.2.1. 1414 1415.. 1416 1417.. date: 2024-05-07-21-15-47 1418.. gh-issue: 118734 1419.. nonce: --GHiS 1420.. section: Build 1421 1422Fixes Windows build when invoked directly (not through the :file:`build.bat` 1423script) without specifying a value for ``UseTIER2``. 1424 1425.. 1426 1427.. date: 2024-05-06-00-39-06 1428.. gh-issue: 115119 1429.. nonce: LT27pF 1430.. section: Build 1431 1432The :file:`configure` option :option:`--with-system-libmpdec` now defaults 1433to ``yes``. The bundled copy of ``libmpdecimal`` will be removed in Python 14343.15. 1435 1436.. 1437 1438.. date: 2024-04-15-08-35-06 1439.. gh-issue: 117845 1440.. nonce: IowzyW 1441.. section: Build 1442 1443Fix building against recent libedit versions by detecting readline hook 1444signatures in :program:`configure`. 1445 1446.. 1447 1448.. date: 2024-04-14-19-35-35 1449.. gh-issue: 116622 1450.. nonce: 8lpX-7 1451.. section: Build 1452 1453A testbed project was added to run the test suite on Android. 1454 1455.. 1456 1457.. date: 2024-04-09-12-59-06 1458.. gh-issue: 117645 1459.. nonce: 0oEVAa 1460.. section: Build 1461 1462Increase WASI stack size from 512 KiB to 8 MiB and the initial memory from 146310 MiB to 20 MiB. Patch by Victor Stinner. 1464 1465.. 1466 1467.. date: 2024-02-13-15-31-28 1468.. gh-issue: 115119 1469.. nonce: FnQzAW 1470.. section: Build 1471 1472:program:`configure` now uses :program:`pkg-config` to detect :mod:`decimal` 1473dependencies if the :option:`--with-system-libmpdec` option is given. 1474 1475.. 1476 1477.. date: 2024-05-02-09-28-04 1478.. gh-issue: 115119 1479.. nonce: cUKMXo 1480.. section: Windows 1481 1482Update Windows installer to use libmpdecimal 4.0.0. 1483 1484.. 1485 1486.. date: 2024-05-01-20-57-09 1487.. gh-issue: 118486 1488.. nonce: K44KJG 1489.. section: Windows 1490 1491:func:`os.mkdir` now accepts *mode* of ``0o700`` to restrict the new 1492directory to the current user. 1493 1494.. 1495 1496.. date: 2024-04-29-13-53-25 1497.. gh-issue: 118347 1498.. nonce: U5ZRm_ 1499.. section: Windows 1500 1501Fixes launcher updates not being installed. 1502 1503.. 1504 1505.. date: 2024-04-26-14-23-07 1506.. gh-issue: 118293 1507.. nonce: ohhPtW 1508.. section: Windows 1509 1510The ``multiprocessing`` module now passes the ``STARTF_FORCEOFFFEEDBACK`` 1511flag when spawning processes to tell Windows not to change the mouse cursor. 1512 1513.. 1514 1515.. date: 2024-04-15-21-23-34 1516.. gh-issue: 115009 1517.. nonce: uhisHP 1518.. section: Windows 1519 1520Update Windows installer to use SQLite 3.45.3. 1521 1522.. 1523 1524.. date: 2024-04-12-14-02-58 1525.. gh-issue: 90329 1526.. nonce: YpEeaO 1527.. section: Windows 1528 1529Suppress the warning displayed on virtual environment creation when the 1530requested and created paths differ only by a short (8.3 style) name. 1531Warnings will continue to be shown if a junction or symlink in the path 1532caused the venv to be created in a different location than originally 1533requested. 1534 1535.. 1536 1537.. date: 2024-04-12-13-18-42 1538.. gh-issue: 117786 1539.. nonce: LpI01s 1540.. section: Windows 1541 1542Fixes virtual environments not correctly launching when created from a Store 1543install. 1544 1545.. 1546 1547.. date: 2024-05-03-12-13-27 1548.. gh-issue: 115119 1549.. nonce: ltDtoR 1550.. section: macOS 1551 1552Update macOS installer to use libmpdecimal 4.0.0. 1553 1554.. 1555 1556.. date: 2024-04-19-08-40-00 1557.. gh-issue: 114099 1558.. nonce: _iDfrQ 1559.. section: macOS 1560 1561iOS preprocessor symbol usage was made compatible with older macOS SDKs. 1562 1563.. 1564 1565.. date: 2024-04-15-21-19-39 1566.. gh-issue: 115009 1567.. nonce: IdxH9N 1568.. section: macOS 1569 1570Update macOS installer to use SQLite 3.45.3. 1571 1572.. 1573 1574.. date: 2022-04-17-01-07-42 1575.. gh-issue: 91629 1576.. nonce: YBGAAt 1577.. section: macOS 1578 1579Use :file:`~/.config/fish/conf.d` configs and :program:`fish_add_path` to 1580set :envvar:`PATH` when installing for the Fish shell. 1581 1582.. 1583 1584.. bpo: 34774 1585.. date: 2018-09-23-01-36-39 1586.. nonce: VeM-X- 1587.. section: IDLE 1588 1589Use user-selected color theme for Help => IDLE Doc. 1590 1591.. 1592 1593.. date: 2024-04-29-17-44-15 1594.. gh-issue: 118124 1595.. nonce: czQQ9G 1596.. section: C API 1597 1598Fix :c:macro:`Py_BUILD_ASSERT` and :c:macro:`Py_BUILD_ASSERT_EXPR` for 1599non-constant expressions: use ``static_assert()`` on C11 and newer. Patch by 1600Victor Stinner. 1601 1602.. 1603 1604.. date: 2024-04-29-17-19-07 1605.. gh-issue: 110850 1606.. nonce: vcpLn1 1607.. section: C API 1608 1609Add "Raw" variant of PyTime functions 1610 1611* :c:func:`PyTime_MonotonicRaw` 1612* :c:func:`PyTime_PerfCounterRaw` 1613* :c:func:`PyTime_TimeRaw` 1614 1615Patch by Victor Stinner. 1616 1617.. 1618 1619.. date: 2024-04-17-16-48-17 1620.. gh-issue: 117987 1621.. nonce: zsvNL1 1622.. section: C API 1623 1624Restore functions removed in Python 3.13 alpha 1: 1625 1626* :c:func:`Py_SetPythonHome` 1627* :c:func:`Py_SetProgramName` 1628* :c:func:`PySys_SetArgvEx` 1629* :c:func:`PySys_SetArgv` 1630 1631Patch by Victor Stinner. 1632 1633.. 1634 1635.. date: 2024-04-16-13-34-01 1636.. gh-issue: 117929 1637.. nonce: HSr419 1638.. section: C API 1639 1640Restore removed :c:func:`PyEval_InitThreads` function. Patch by Victor 1641Stinner. 1642 1643.. 1644 1645.. date: 2024-04-08-09-44-29 1646.. gh-issue: 117534 1647.. nonce: 54ZE_n 1648.. section: C API 1649 1650Improve validation logic in the C implementation of 1651:meth:`datetime.datetime.fromisoformat` to better handle invalid years. 1652Patch by Vlad Efanov. 1653 1654.. 1655 1656.. date: 2024-03-18-17-29-52 1657.. gh-issue: 68114 1658.. nonce: W7R_lI 1659.. section: C API 1660 1661Fixed skipitem()'s handling of the old 'w' and 'w#' formatters. These are 1662no longer supported and now raise an exception if used. 1663 1664.. 1665 1666.. date: 2024-03-13-17-48-24 1667.. gh-issue: 111997 1668.. nonce: 8ZbHlA 1669.. section: C API 1670 1671Add a C-API for firing monitoring events. 1672