1.. date: 2022-11-08-12-06-52 2.. gh-issue: 99108 3.. nonce: 4Wrsuh 4.. release date: 2023-02-07 5.. section: Security 6 7Replace the builtin :mod:`hashlib` implementations of SHA2-224 and SHA2-256 8originally from LibTomCrypt with formally verified, side-channel resistant 9code from the `HACL* <https://github.com/hacl-star/hacl-star/>`_ project. 10The builtins remain a fallback only used when OpenSSL does not provide them. 11 12.. 13 14.. date: 2023-02-06-20-13-36 15.. gh-issue: 92173 16.. nonce: RQE0mk 17.. section: Core and Builtins 18 19Fix the ``defs`` and ``kwdefs`` arguments to :c:func:`PyEval_EvalCodeEx` and 20a reference leak in that function. 21 22.. 23 24.. date: 2023-01-30-11-56-09 25.. gh-issue: 59956 26.. nonce: 7xqnC_ 27.. section: Core and Builtins 28 29The GILState API is now partially compatible with subinterpreters. 30Previously, ``PyThreadState_GET()`` and ``PyGILState_GetThisThreadState()`` 31would get out of sync, causing inconsistent behavior and crashes. 32 33.. 34 35.. date: 2023-01-30-08-59-47 36.. gh-issue: 101400 37.. nonce: Di_ZFm 38.. section: Core and Builtins 39 40Fix wrong lineno in exception message on :keyword:`continue` or 41:keyword:`break` which are not in a loop. Patch by Donghee Na. 42 43.. 44 45.. date: 2023-01-28-20-31-42 46.. gh-issue: 101372 47.. nonce: 8BcpCC 48.. section: Core and Builtins 49 50Fix :func:`~unicodedata.is_normalized` to properly handle the UCD 3.2.0 51cases. Patch by Donghee Na. 52 53.. 54 55.. date: 2023-01-28-13-11-52 56.. gh-issue: 101266 57.. nonce: AxV3OF 58.. section: Core and Builtins 59 60Fix :func:`sys.getsizeof` reporting for :class:`int` subclasses. 61 62.. 63 64.. date: 2023-01-24-17-13-32 65.. gh-issue: 101291 66.. nonce: Yr6u_c 67.. section: Core and Builtins 68 69Refactor the ``PyLongObject`` struct into a normal Python object header and 70a ``PyLongValue`` struct. 71 72.. 73 74.. date: 2023-01-15-03-26-04 75.. gh-issue: 101046 76.. nonce: g2CM4S 77.. section: Core and Builtins 78 79Fix a possible memory leak in the parser when raising :exc:`MemoryError`. 80Patch by Pablo Galindo 81 82.. 83 84.. date: 2023-01-14-17-03-08 85.. gh-issue: 101037 86.. nonce: 9ATNuf 87.. section: Core and Builtins 88 89Fix potential memory underallocation issue for instances of :class:`int` 90subclasses with value zero. 91 92.. 93 94.. date: 2023-01-13-12-56-20 95.. gh-issue: 100762 96.. nonce: YvHaQJ 97.. section: Core and Builtins 98 99Record the (virtual) exception block depth in the oparg of 100:opcode:`YIELD_VALUE`. Use this to avoid the expensive ``throw()`` when 101closing generators (and coroutines) that can be closed trivially. 102 103.. 104 105.. date: 2023-01-12-13-46-49 106.. gh-issue: 100982 107.. nonce: mJ234s 108.. section: Core and Builtins 109 110Adds a new :opcode:`COMPARE_AND_BRANCH` instruction. This is a bit more 111efficient when performing a comparison immediately followed by a branch, and 112restores the design intent of PEP 659 that specializations are local to a 113single instruction. 114 115.. 116 117.. date: 2023-01-11-22-52-19 118.. gh-issue: 100942 119.. nonce: ontOy_ 120.. section: Core and Builtins 121 122Fixed segfault in property.getter/setter/deleter that occurred when a 123property subclass overrode the ``__new__`` method to return a non-property 124instance. 125 126.. 127 128.. date: 2023-01-10-16-59-33 129.. gh-issue: 100923 130.. nonce: ypJAX- 131.. section: Core and Builtins 132 133Remove the ``mask`` cache entry for the :opcode:`COMPARE_OP` instruction and 134embed the mask into the oparg. 135 136.. 137 138.. date: 2023-01-10-14-11-17 139.. gh-issue: 100892 140.. nonce: qfBVYI 141.. section: Core and Builtins 142 143Fix race while iterating over thread states in clearing 144:class:`threading.local`. Patch by Kumar Aditya. 145 146.. 147 148.. date: 2023-01-06-09-22-21 149.. gh-issue: 91351 150.. nonce: iq2vZ_ 151.. section: Core and Builtins 152 153Fix a case where re-entrant imports could corrupt the import deadlock 154detection code and cause a :exc:`KeyError` to be raised out of 155:mod:`importlib/_bootstrap`. In addition to the straightforward cases, this 156could also happen when garbage collection leads to a warning being emitted 157-- as happens when it collects an open socket or file) 158 159.. 160 161.. date: 2023-01-03-20-59-20 162.. gh-issue: 100726 163.. nonce: W9huFl 164.. section: Core and Builtins 165 166Optimize construction of ``range`` object for medium size integers. 167 168.. 169 170.. date: 2023-01-03-14-33-23 171.. gh-issue: 100712 172.. nonce: po6xyB 173.. section: Core and Builtins 174 175Added option to build cpython with specialization disabled, by setting 176``ENABLE_SPECIALIZATION=False`` in :mod:`opcode`, followed by ``make 177regen-all``. 178 179.. 180 181.. bpo: 32780 182.. date: 2018-02-05-21-54-46 183.. nonce: Dtiz8z 184.. section: Core and Builtins 185 186Inter-field padding is now inserted into the PEP3118 format strings obtained 187from :class:`ctypes.Structure` objects, reflecting their true representation 188in memory. 189 190.. 191 192.. date: 2023-02-05-14-39-49 193.. gh-issue: 101541 194.. nonce: Mo3ppp 195.. section: Library 196 197[Enum] - fix psuedo-flag creation 198 199.. 200 201.. date: 2023-02-04-21-01-49 202.. gh-issue: 101570 203.. nonce: lbtUsD 204.. section: Library 205 206Upgrade pip wheel bundled with ensurepip (pip 23.0) 207 208.. 209 210.. date: 2023-01-26-06-44-35 211.. gh-issue: 101323 212.. nonce: h8Hk11 213.. section: Library 214 215Fix a bug where errors where not thrown by zlib._ZlibDecompressor if 216encountered during decompressing. 217 218.. 219 220.. date: 2023-01-26-01-25-56 221.. gh-issue: 101317 222.. nonce: vWaS1x 223.. section: Library 224 225Add *ssl_shutdown_timeout* parameter for 226:meth:`asyncio.StreamWriter.start_tls`. 227 228.. 229 230.. date: 2023-01-25-18-07-20 231.. gh-issue: 101326 232.. nonce: KL4SFv 233.. section: Library 234 235Fix regression when passing ``None`` as second or third argument to 236``FutureIter.throw``. 237 238.. 239 240.. date: 2023-01-24-12-53-59 241.. gh-issue: 92123 242.. nonce: jf6TO5 243.. section: Library 244 245Adapt the ``_elementtree`` extension module to multi-phase init 246(:pep:`489`). Patches by Erlend E. Aasland. 247 248.. 249 250.. date: 2023-01-21-16-50-22 251.. gh-issue: 100795 252.. nonce: NPMZf7 253.. section: Library 254 255Avoid potential unexpected ``freeaddrinfo`` call (double free) in 256:mod:`socket` when when a libc ``getaddrinfo()`` implementation leaves 257garbage in an output pointer when returning an error. Original patch by 258Sergey G. Brester. 259 260.. 261 262.. date: 2023-01-20-10-46-59 263.. gh-issue: 101143 264.. nonce: hJo8hu 265.. section: Library 266 267Remove unused references to :class:`~asyncio.TimerHandle` in 268``asyncio.base_events.BaseEventLoop._add_callback``. 269 270.. 271 272.. date: 2023-01-18-17-58-50 273.. gh-issue: 101144 274.. nonce: FHd8Un 275.. section: Library 276 277Make :func:`zipfile.Path.open` and :func:`zipfile.Path.read_text` also 278accept ``encoding`` as a positional argument. This was the behavior in 279Python 3.9 and earlier. 3.10 introduced a regression where supplying it as 280a positional argument would lead to a :exc:`TypeError`. 281 282.. 283 284.. date: 2023-01-15-09-11-30 285.. gh-issue: 94518 286.. nonce: jvxtxm 287.. section: Library 288 289Group-related variables of ``_posixsubprocess`` module are renamed to stress 290that supplementary group affinity is added to a fork, not replace the 291inherited ones. Patch by Oleg Iarygin. 292 293.. 294 295.. date: 2023-01-14-12-58-21 296.. gh-issue: 101015 297.. nonce: stWFid 298.. section: Library 299 300Fix :func:`typing.get_type_hints` on ``'*tuple[...]'`` and ``*tuple[...]``. 301It must not drop the ``Unpack`` part. 302 303.. 304 305.. date: 2023-01-12-21-22-20 306.. gh-issue: 101000 307.. nonce: wz4Xgc 308.. section: Library 309 310Add :func:`os.path.splitroot`, which splits a path into a 3-item tuple 311``(drive, root, tail)``. This new function is used by :mod:`pathlib` to 312improve the performance of path construction by up to a third. 313 314.. 315 316.. date: 2023-01-12-01-18-13 317.. gh-issue: 100573 318.. nonce: KDskqo 319.. section: Library 320 321Fix a Windows :mod:`asyncio` bug with named pipes where a client doing 322``os.stat()`` on the pipe would cause an error in the server that disabled 323serving future requests. 324 325.. 326 327.. date: 2023-01-08-00-12-44 328.. gh-issue: 39615 329.. nonce: gn4PhB 330.. section: Library 331 332:func:`warnings.warn` now has the ability to skip stack frames based on code 333filename prefix rather than only a numeric ``stacklevel`` via the new 334``skip_file_prefixes`` keyword argument. 335 336.. 337 338.. date: 2023-01-04-14-42-59 339.. gh-issue: 100750 340.. nonce: iFJs5Y 341.. section: Library 342 343pass encoding kwarg to subprocess in platform 344 345.. 346 347.. date: 2022-12-21-17-49-50 348.. gh-issue: 100160 349.. nonce: N0NHRj 350.. section: Library 351 352Emit a deprecation warning in 353:meth:`asyncio.DefaultEventLoopPolicy.get_event_loop` if there is no current 354event loop set and it decides to create one. 355 356.. 357 358.. date: 2022-12-19-23-19-26 359.. gh-issue: 96290 360.. nonce: qFjsi6 361.. section: Library 362 363Fix handling of partial and invalid UNC drives in ``ntpath.splitdrive()``, 364and in ``ntpath.normpath()`` on non-Windows systems. Paths such as 365'\\server' and '\\' are now considered by ``splitdrive()`` to contain only a 366drive, and consequently are not modified by ``normpath()`` on non-Windows 367systems. The behaviour of ``normpath()`` on Windows systems is unaffected, 368as native OS APIs are used. Patch by Eryk Sun, with contributions by Barney 369Gale. 370 371.. 372 373.. date: 2022-12-11-14-38-59 374.. gh-issue: 99952 375.. nonce: IYGLzr 376.. section: Library 377 378Fix a reference undercounting issue in :class:`ctypes.Structure` with 379``from_param()`` results larger than a C pointer. 380 381.. 382 383.. date: 2022-12-10-15-30-17 384.. gh-issue: 67790 385.. nonce: P9YUZM 386.. section: Library 387 388Add float-style formatting support for :class:`fractions.Fraction` 389instances. 390 391.. 392 393.. date: 2022-11-24-21-52-31 394.. gh-issue: 99266 395.. nonce: 88GcV9 396.. section: Library 397 398Preserve more detailed error messages in :mod:`ctypes`. 399 400.. 401 402.. date: 2022-11-15-23-30-39 403.. gh-issue: 86682 404.. nonce: gK9i1N 405.. section: Library 406 407Ensure runtime-created collections have the correct module name using the 408newly added (internal) :func:`sys._getframemodulename`. 409 410.. 411 412.. date: 2022-11-14-03-06-03 413.. gh-issue: 88597 414.. nonce: EYJA-Q 415.. section: Library 416 417:mod:`uuid` now has a command line interface. Try ``python -m uuid -h``. 418 419.. 420 421.. date: 2022-09-26-21-18-47 422.. gh-issue: 60580 423.. nonce: 0hBgde 424.. section: Library 425 426:data:`ctypes.wintypes.BYTE` definition changed from :data:`~ctypes.c_byte` 427to :data:`~ctypes.c_ubyte` to match Windows SDK. Patch by Anatoly Techtonik 428and Oleg Iarygin. 429 430.. 431 432.. date: 2022-07-22-13-38-37 433.. gh-issue: 94518 434.. nonce: _ZP0cz 435.. section: Library 436 437``_posixsubprocess`` now initializes all UID and GID variables using a 438reserved ``-1`` value instead of a separate flag. Patch by Oleg Iarygin. 439 440.. 441 442.. bpo: 38941 443.. date: 2022-02-05-12-01-58 444.. nonce: 8IhvyG 445.. section: Library 446 447The :mod:`xml.etree.ElementTree` module now emits :exc:`DeprecationWarning` 448when testing the truth value of an :class:`xml.etree.ElementTree.Element`. 449Before, the Python implementation emitted :exc:`FutureWarning`, and the C 450implementation emitted nothing. 451 452.. 453 454.. bpo: 40077 455.. date: 2020-11-20-21-06-08 456.. nonce: M-iZq3 457.. section: Library 458 459Convert :mod:`elementtree` types to heap types. Patch by Erlend E. Aasland. 460 461.. 462 463.. bpo: 29847 464.. date: 2020-04-18-17-45-03 465.. nonce: Uxtbq0 466.. section: Library 467 468Fix a bug where :class:`pathlib.Path` accepted and ignored keyword 469arguments. Patch provided by Yurii Karabas. 470 471.. 472 473.. date: 2018-05-21-17-18-00 474.. gh-issue: 77772 475.. nonce: Fhg84L 476.. section: Library 477 478:class:`ctypes.CDLL`, :class:`ctypes.OleDLL`, :class:`ctypes.WinDLL`, and 479:class:`ctypes.PyDLL` now accept :term:`path-like objects <path-like 480object>` as their ``name`` argument. Patch by Robert Hoelzl. 481 482.. 483 484.. date: 2022-06-19-22-04-47 485.. gh-issue: 88324 486.. nonce: GHhSQ1 487.. section: Documentation 488 489Reword :mod:`subprocess` to emphasize default behavior of *stdin*, *stdout*, 490and *stderr* arguments. Remove inaccurate statement about child file handle 491inheritance. 492 493.. 494 495.. date: 2023-02-04-17-24-33 496.. gh-issue: 101334 497.. nonce: _yOqwg 498.. section: Tests 499 500``test_tarfile`` has been updated to pass when run as a high UID. 501 502.. 503 504.. date: 2023-02-04-06-59-07 505.. gh-issue: 101282 506.. nonce: 7sQz5l 507.. section: Build 508 509Update BOLT configuration not to use deprecated usage of ``--split 510functions``. Patch by Donghee Na. 511 512.. 513 514.. date: 2023-02-02-23-43-46 515.. gh-issue: 101522 516.. nonce: lnUDta 517.. section: Build 518 519Allow overriding Windows dependencies versions and paths using MSBuild 520properties. 521 522.. 523 524.. date: 2023-01-26-19-02-11 525.. gh-issue: 77532 526.. nonce: cXD8bg 527.. section: Build 528 529Minor fixes to allow building with ``PlatformToolset=ClangCL`` on Windows. 530 531.. 532 533.. date: 2023-01-21-10-31-35 534.. gh-issue: 101152 535.. nonce: xvM8pL 536.. section: Build 537 538In accordance with :PEP:`699`, the ``ma_version_tag`` field in 539:c:type:`PyDictObject` is deprecated for extension modules. Accessing this 540field will generate a compiler warning at compile time. This field will be 541removed in Python 3.14. 542 543.. 544 545.. date: 2023-01-17-21-32-51 546.. gh-issue: 100340 547.. nonce: i9zRGM 548.. section: Build 549 550Allows -Wno-int-conversion for wasm-sdk 17 and onwards, thus enables 551building WASI builds once against the latest sdk. 552 553.. 554 555.. date: 2023-01-15-11-22-15 556.. gh-issue: 101060 557.. nonce: 0mYk9E 558.. section: Build 559 560Conditionally add ``-fno-reorder-blocks-and-partition`` in configure. 561Effectively fixes ``--enable-bolt`` when using Clang, as this appears to be 562a GCC-only flag. 563 564.. 565 566.. date: 2022-10-27-09-57-12 567.. gh-issue: 98705 568.. nonce: H11XmR 569.. section: Build 570 571``__bool__`` is defined in AIX system header files which breaks the build in 572AIX, so undefine it. 573 574.. 575 576.. date: 2022-10-25-11-53-55 577.. gh-issue: 98636 578.. nonce: e0RPAr 579.. section: Build 580 581Fix a regression in detecting ``gdbm_compat`` library for the ``_gdbm`` 582module build. 583 584.. 585 586.. date: 2022-08-30-10-16-31 587.. gh-issue: 96305 588.. nonce: 274i8B 589.. section: Build 590 591``_aix_support`` now uses a simple code to get platform details rather than 592the now non-existent ``_bootsubprocess`` during bootstrap. 593 594.. 595 596.. date: 2023-02-03-17-53-06 597.. gh-issue: 101543 598.. nonce: cORAT4 599.. section: Windows 600 601Ensure the install path in the registry is only used when the standard 602library hasn't been located in any other way. 603 604.. 605 606.. date: 2023-01-31-16-50-07 607.. gh-issue: 101467 608.. nonce: ye9t-L 609.. section: Windows 610 611The ``py.exe`` launcher now correctly filters when only a single runtime is 612installed. It also correctly handles prefix matches on tags so that ``-3.1`` 613does not match ``3.11``, but would still match ``3.1-32``. 614 615.. 616 617.. date: 2023-01-25-00-23-31 618.. gh-issue: 99834 619.. nonce: WN41lc 620.. section: Windows 621 622Updates bundled copy of Tcl/Tk to 8.6.13.0 623 624.. 625 626.. date: 2023-01-18-18-25-18 627.. gh-issue: 101135 628.. nonce: HF9VlG 629.. section: Windows 630 631Restore ability to launch older 32-bit versions from the :file:`py.exe` 632launcher when both 32-bit and 64-bit installs of the same version are 633available. 634 635.. 636 637.. date: 2023-01-17-18-17-58 638.. gh-issue: 82052 639.. nonce: mWyysT 640.. section: Windows 641 642Fixed an issue where writing more than 32K of Unicode output to the console 643screen in one go can result in mojibake. 644 645.. 646 647.. date: 2023-01-11-16-28-09 648.. gh-issue: 100320 649.. nonce: 2DU2it 650.. section: Windows 651 652Ensures the ``PythonPath`` registry key from an install is used when 653launching from a different copy of Python that relies on an existing install 654to provide a copy of its modules and standard library. 655 656.. 657 658.. date: 2023-01-11-14-42-11 659.. gh-issue: 100247 660.. nonce: YfEmSz 661.. section: Windows 662 663Restores support for the :file:`py.exe` launcher finding shebang commands in 664its configuration file using the full command name. 665