1.. bpo: 45773 2.. date: 2022-02-01-14-30-56 3.. nonce: Up77LD 4.. release date: 2022-02-03 5.. section: Core and Builtins 6 7Remove two invalid "peephole" optimizations from the bytecode compiler. 8 9.. 10 11.. bpo: 46564 12.. date: 2022-02-01-10-23-21 13.. nonce: 6Xc2_H 14.. section: Core and Builtins 15 16Do not create frame objects when creating :class:`super` object. Patch by 17Kumar Aditya. 18 19.. 20 21.. bpo: 45885 22.. date: 2022-02-01-01-17-28 23.. nonce: CjyNf_ 24.. section: Core and Builtins 25 26Added more fined-grained specialization failure stats regarding the 27``COMPARE_OP`` bytecode. 28 29.. 30 31.. bpo: 44977 32.. date: 2022-01-30-18-23-08 33.. nonce: BQV_zS 34.. section: Core and Builtins 35 36The delegation of :func:`int` to :meth:`__trunc__` is now deprecated. 37Calling ``int(a)`` when ``type(a)`` implements :meth:`__trunc__` but not 38:meth:`__int__` or :meth:`__index__` now raises a :exc:`DeprecationWarning`. 39 40.. 41 42.. bpo: 46458 43.. date: 2022-01-27-10-49-34 44.. nonce: 5Gm3Gv 45.. section: Core and Builtins 46 47Reorder code emitted by the compiler for a :keyword:`try`-:keyword:`except` 48block so that the :keyword:`else` block's code immediately follows the 49:keyword:`try` body (without a jump). This is more optimal for the happy 50path. 51 52.. 53 54.. bpo: 46527 55.. date: 2022-01-25-19-34-55 56.. nonce: mQLNPk 57.. section: Core and Builtins 58 59Allow passing ``iterable`` as a keyword argument to :func:`enumerate` again. 60Patch by Jelle Zijlstra. 61 62.. 63 64.. bpo: 46528 65.. date: 2022-01-25-17-40-07 66.. nonce: 2Qmni9 67.. section: Core and Builtins 68 69Replace several stack manipulation instructions (``DUP_TOP``, 70``DUP_TOP_TWO``, ``ROT_TWO``, ``ROT_THREE``, ``ROT_FOUR``, and ``ROT_N``) 71with new :opcode:`COPY` and :opcode:`SWAP` instructions. 72 73.. 74 75.. bpo: 46329 76.. date: 2022-01-25-11-44-17 77.. nonce: SEhynE 78.. section: Core and Builtins 79 80Use two or three bytecodes to implement most calls. 81 82Calls without named arguments are implemented as a sequence of two 83instructions: ``PRECALL; CALL``. Calls with named arguments are implemented 84as a sequence of three instructions: ``PRECALL; KW_NAMES; CALL``. There are 85two different ``PRECALL`` instructions: ``PRECALL_FUNTION`` and 86``PRECALL_METHOD``. The latter pairs with ``LOAD_METHOD``. 87 88This partition into pre-call and call allows better specialization, and thus 89better performance ultimately. 90 91There is no change in semantics. 92 93.. 94 95.. bpo: 46503 96.. date: 2022-01-24-21-24-41 97.. nonce: 4UrPsE 98.. section: Core and Builtins 99 100Fix an assert when parsing some invalid \N escape sequences in f-strings. 101 102.. 103 104.. bpo: 46431 105.. date: 2022-01-24-16-58-01 106.. nonce: N6mKAx 107.. section: Core and Builtins 108 109Improve error message on invalid calls to 110:meth:`BaseExceptionGroup.__new__`. 111 112.. 113 114.. bpo: 46476 115.. date: 2022-01-24-15-39-34 116.. nonce: cvP1Mr 117.. section: Core and Builtins 118 119Fix memory leak in code objects generated by deepfreeze. Patch by Kumar 120Aditya. 121 122.. 123 124.. bpo: 46481 125.. date: 2022-01-23-06-56-33 126.. nonce: X_FfnB 127.. section: Core and Builtins 128 129Speed up calls to :meth:`weakref.ref.__call__` by using the :pep:`590` 130``vectorcall`` calling convention. Patch by Dong-hee Na. 131 132.. 133 134.. bpo: 46417 135.. date: 2022-01-22-14-39-23 136.. nonce: 3U5SfN 137.. section: Core and Builtins 138 139Fix a race condition on setting a type ``__bases__`` attribute: the internal 140function ``add_subclass()`` now gets the ``PyTypeObject.tp_subclasses`` 141member after calling :c:func:`PyWeakref_NewRef` which can trigger a garbage 142collection which can indirectly modify ``PyTypeObject.tp_subclasses``. Patch 143by Victor Stinner. 144 145.. 146 147.. bpo: 46417 148.. date: 2022-01-21-12-24-14 149.. nonce: i3IqMf 150.. section: Core and Builtins 151 152``python -X showrefcount`` now shows the total reference count after 153clearing and destroyed the main Python interpreter. Previously, it was shown 154before. Patch by Victor Stinner. 155 156.. 157 158.. bpo: 43683 159.. date: 2022-01-20-17-13-49 160.. nonce: BqQ26Z 161.. section: Core and Builtins 162 163Add ASYNC_GEN_WRAP opcode to wrap the value to be yielded in async 164generators. Removes the need to special case async generators in the 165``YIELD_VALUE`` instruction. 166 167.. 168 169.. bpo: 46407 170.. date: 2022-01-17-23-12-01 171.. nonce: 2_5a7R 172.. section: Core and Builtins 173 174Optimize some modulo operations in ``Objects/longobject.c``. Patch by 175Jeremiah Vivian. 176 177.. 178 179.. bpo: 46409 180.. date: 2022-01-17-12-57-27 181.. nonce: HouS6m 182.. section: Core and Builtins 183 184Add new ``RETURN_GENERATOR`` bytecode to make generators. Simplifies calling 185Python functions in the VM, as they no longer any need to special case 186generator functions. 187 188Also add ``JUMP_NO_INTERRUPT`` bytecode that acts like ``JUMP_ABSOLUTE``, 189but does not check for interrupts. 190 191.. 192 193.. bpo: 46406 194.. date: 2022-01-16-15-40-11 195.. nonce: g0mke- 196.. section: Core and Builtins 197 198The integer division ``//`` implementation has been optimized to better let 199the compiler understand its constraints. It can be 20% faster on the amd64 200platform when dividing an int by a value smaller than ``2**30``. 201 202.. 203 204.. bpo: 46383 205.. date: 2022-01-14-20-55-34 206.. nonce: v8MTl4 207.. section: Core and Builtins 208 209Fix invalid signature of ``_zoneinfo``'s ``module_free`` function to resolve 210a crash on wasm32-emscripten platform. 211 212.. 213 214.. bpo: 46361 215.. date: 2022-01-12-17-15-17 216.. nonce: mgI_j_ 217.. section: Core and Builtins 218 219Ensure that "small" integers created by :meth:`int.from_bytes` and 220:class:`decimal.Decimal` are properly cached. 221 222.. 223 224.. bpo: 46161 225.. date: 2021-12-23-12-32-45 226.. nonce: EljBmu 227.. section: Core and Builtins 228 229Fix the class building error when the arguments are constants and 230CALL_FUNCTION_EX is used. 231 232.. 233 234.. bpo: 46028 235.. date: 2021-12-16-15-04-58 236.. nonce: zfWacB 237.. section: Core and Builtins 238 239Fixes calculation of :data:`sys._base_executable` when inside a virtual 240environment that uses symlinks with different binary names than the base 241environment provides. 242 243.. 244 245.. bpo: 46091 246.. date: 2021-12-16-00-24-00 247.. nonce: rJ_e_e 248.. section: Core and Builtins 249 250Correctly calculate indentation levels for lines with whitespace character 251that are ended by line continuation characters. Patch by Pablo Galindo 252 253.. 254 255.. bpo: 30512 256.. date: 2021-12-12-00-49-19 257.. nonce: nU9E9V 258.. section: Core and Builtins 259 260Add CAN Socket support for NetBSD. 261 262.. 263 264.. bpo: 46045 265.. date: 2021-12-11-11-36-48 266.. nonce: sfThay 267.. section: Core and Builtins 268 269Do not use POSIX semaphores on NetBSD 270 271.. 272 273.. bpo: 44024 274.. date: 2021-05-04-21-55-49 275.. nonce: M9m8Qd 276.. section: Core and Builtins 277 278Improve the exc:`TypeError` message for non-string second arguments passed 279to the built-in functions :func:`getattr` and :func:`hasattr`. Patch by Géry 280Ogam. 281 282.. 283 284.. bpo: 46624 285.. date: 2022-02-03-12-07-41 286.. nonce: f_Qqh0 287.. section: Library 288 289Restore support for non-integer arguments of :func:`random.randrange` and 290:func:`random.randint`. 291 292.. 293 294.. bpo: 46591 295.. date: 2022-01-31-15-40-38 296.. nonce: prBD1M 297.. section: Library 298 299Make the IDLE doc URL on the About IDLE dialog clickable. 300 301.. 302 303.. bpo: 46565 304.. date: 2022-01-28-19-48-31 305.. nonce: bpZXO4 306.. section: Library 307 308Remove loop variables that are leaking into modules' namespaces. 309 310.. 311 312.. bpo: 46553 313.. date: 2022-01-28-08-47-53 314.. nonce: f7Uc96 315.. section: Library 316 317In :func:`typing.get_type_hints`, support evaluating bare stringified 318``ClassVar`` annotations. Patch by Gregory Beauregard. 319 320.. 321 322.. bpo: 46544 323.. date: 2022-01-27-13-30-02 324.. nonce: oFDVWj 325.. section: Library 326 327Don't leak ``x`` & ``uspace`` intermediate vars in 328:class:`textwrap.TextWrapper`. 329 330.. 331 332.. bpo: 46487 333.. date: 2022-01-27-12-24-38 334.. nonce: UDkN2z 335.. section: Library 336 337Add the ``get_write_buffer_limits`` method to 338:class:`asyncio.transports.WriteTransport` and to the SSL transport. 339 340.. 341 342.. bpo: 45173 343.. date: 2022-01-27-11-16-59 344.. nonce: wreRF2 345.. section: Library 346 347Note the configparser deprecations will be removed in Python 3.12. 348 349.. 350 351.. bpo: 45162 352.. date: 2022-01-26-23-58-48 353.. nonce: 4Jmg_j 354.. section: Library 355 356The deprecated :mod:`unittest` APIs removed in 3.11a1 have been temporarily 357restored to be removed in 3.12 while cleanups in external projects go in. 358 359.. 360 361.. bpo: 46539 362.. date: 2022-01-26-20-36-30 363.. nonce: 23iW1d 364.. section: Library 365 366In :func:`typing.get_type_hints`, support evaluating stringified 367``ClassVar`` and ``Final`` annotations inside ``Annotated``. Patch by 368Gregory Beauregard. 369 370.. 371 372.. bpo: 46510 373.. date: 2022-01-25-10-59-41 374.. nonce: PM5svI 375.. section: Library 376 377Add missing test for :class:`types.TracebackType` and 378:class:`types.FrameType`. Calculate them directly from the caught exception 379without calling :func:`sys.exc_info`. 380 381.. 382 383.. bpo: 46491 384.. date: 2022-01-24-23-55-30 385.. nonce: jmIKHo 386.. section: Library 387 388Allow :data:`typing.Annotated` to wrap :data:`typing.Final` and 389:data:`typing.ClassVar`. Patch by Gregory Beauregard. 390 391.. 392 393.. bpo: 46483 394.. date: 2022-01-24-13-00-09 395.. nonce: 9XnmKp 396.. section: Library 397 398Remove :meth:`~object.__class_getitem__` from :class:`pathlib.PurePath` as 399this class was not supposed to be generic. 400 401.. 402 403.. bpo: 46436 404.. date: 2022-01-23-19-37-00 405.. nonce: Biz1p9 406.. section: Library 407 408Fix command-line option ``-d``/``--directory`` in module :mod:`http.server` 409which is ignored when combined with command-line option ``--cgi``. Patch by 410Géry Ogam. 411 412.. 413 414.. bpo: 41403 415.. date: 2022-01-23-18-04-45 416.. nonce: SgoHqV 417.. section: Library 418 419Make :meth:`mock.patch` raise a :exc:`TypeError` with a relevant error 420message on invalid arg. Previously it allowed a cryptic 421:exc:`AttributeError` to escape. 422 423.. 424 425.. bpo: 46474 426.. date: 2022-01-22-14-49-10 427.. nonce: eKQhvx 428.. section: Library 429 430In ``importlib.metadata.EntryPoint.pattern``, avoid potential REDoS by 431limiting ambiguity in consecutive whitespace. 432 433.. 434 435.. bpo: 46474 436.. date: 2022-01-22-14-45-46 437.. nonce: 2DUC62 438.. section: Library 439 440Removed private method from ``importlib.metadata.Path``. Sync with 441importlib_metadata 4.10.0. 442 443.. 444 445.. bpo: 46470 446.. date: 2022-01-22-13-17-35 447.. nonce: MnNhgU 448.. section: Library 449 450Remove unused branch from ``typing._remove_dups_flatten`` 451 452.. 453 454.. bpo: 46469 455.. date: 2022-01-22-05-05-08 456.. nonce: plUab5 457.. section: Library 458 459:mod:`asyncio` generic classes now return :class:`types.GenericAlias` in 460``__class_getitem__`` instead of the same class. 461 462.. 463 464.. bpo: 41906 465.. date: 2022-01-21-18-19-45 466.. nonce: YBaquj 467.. section: Library 468 469Support passing filter instances in the ``filters`` values of ``handlers`` 470and ``loggers`` in the dictionary passed to 471:func:`logging.config.dictConfig`. 472 473.. 474 475.. bpo: 46422 476.. date: 2022-01-20-10-35-50 477.. nonce: 1UAEHL 478.. section: Library 479 480Use ``dis.Positions`` in ``dis.Instruction`` instead of a regular ``tuple``. 481 482.. 483 484.. bpo: 46434 485.. date: 2022-01-20-10-35-10 486.. nonce: geS-aP 487.. section: Library 488 489:mod:`pdb` now gracefully handles ``help`` when :attr:`__doc__` is missing, 490for example when run with pregenerated optimized ``.pyc`` files. 491 492.. 493 494.. bpo: 43869 495.. date: 2022-01-18-17-24-21 496.. nonce: NayN12 497.. section: Library 498 499Python uses the same time Epoch on all platforms. Add an explicit unit test 500to ensure that it's the case. Patch by Victor Stinner. 501 502.. 503 504.. bpo: 46414 505.. date: 2022-01-17-10-00-02 506.. nonce: Ld0b_y 507.. section: Library 508 509Add :func:`typing.reveal_type`. Patch by Jelle Zijlstra. 510 511.. 512 513.. bpo: 40280 514.. date: 2022-01-16-14-07-14 515.. nonce: LtFHfF 516.. section: Library 517 518:mod:`subprocess` now imports Windows-specific imports when ``msvcrt`` 519module is available, and POSIX-specific imports on all other platforms. This 520gives a clean exception when ``_posixsubprocess`` is not available (e.g. 521Emscripten browser target). 522 523.. 524 525.. bpo: 40066 526.. date: 2022-01-13-11-41-24 527.. nonce: 1QuVli 528.. section: Library 529 530``IntEnum``, ``IntFlag``, and ``StrEnum`` use the mixed-in type for their 531``str()`` and ``format()`` output. 532 533.. 534 535.. bpo: 46316 536.. date: 2022-01-09-15-04-56 537.. nonce: AMTyd0 538.. section: Library 539 540Optimize :meth:`pathlib.Path.iterdir` by removing an unnecessary check for 541special entries. 542 543.. 544 545.. bpo: 29688 546.. date: 2022-01-05-03-21-21 547.. nonce: W06bSH 548.. section: Library 549 550Document :meth:`pathlib.Path.absolute` (which has always existed). 551 552.. 553 554.. bpo: 43012 555.. date: 2022-01-05-03-09-29 556.. nonce: RVhLIL 557.. section: Library 558 559The pathlib module's obsolete and internal ``_Accessor`` class has been 560removed to prepare the terrain for upcoming enhancements to the module. 561 562.. 563 564.. bpo: 46258 565.. date: 2022-01-04-18-05-25 566.. nonce: DYgwRo 567.. section: Library 568 569Speed up :func:`math.isqrt` for small positive integers by replacing two 570division steps with a lookup table. 571 572.. 573 574.. bpo: 46242 575.. date: 2022-01-03-16-25-06 576.. nonce: f4l_CL 577.. section: Library 578 579Improve error message when creating a new :class:`enum.Enum` type 580subclassing an existing ``Enum`` with ``_member_names_`` using 581:meth:`enum.Enum.__call__`. 582 583.. 584 585.. bpo: 43118 586.. date: 2021-12-29-14-42-09 587.. nonce: BoVi_5 588.. section: Library 589 590Fix a bug in :func:`inspect.signature` that was causing it to fail on some 591subclasses of classes with a ``__text_signature__`` referencing module 592globals. Patch by Weipeng Hong. 593 594.. 595 596.. bpo: 26552 597.. date: 2021-12-29-13-42-55 598.. nonce: 1BqeAn 599.. section: Library 600 601Fixed case where failing :func:`asyncio.ensure_future` did not close the 602coroutine. Patch by Kumar Aditya. 603 604.. 605 606.. bpo: 21987 607.. date: 2021-12-28-11-55-10 608.. nonce: avBK-p 609.. section: Library 610 611Fix an issue with :meth:`tarfile.TarFile.getmember` getting a directory name 612with a trailing slash. 613 614.. 615 616.. bpo: 46124 617.. date: 2021-12-18-18-41-30 618.. nonce: ESPrb7 619.. section: Library 620 621Update :mod:`zoneinfo` to rely on importlib.resources traversable API. 622 623.. 624 625.. bpo: 46103 626.. date: 2021-12-16-23-42-54 627.. nonce: LMnZAN 628.. section: Library 629 630Now :func:`inspect.getmembers` only gets :attr:`__bases__` attribute from 631class type. Patch by Weipeng Hong. 632 633.. 634 635.. bpo: 46080 636.. date: 2021-12-15-06-29-00 637.. nonce: AuQpLt 638.. section: Library 639 640Fix exception in argparse help text generation if a 641:class:`argparse.BooleanOptionalAction` argument's default is 642``argparse.SUPPRESS`` and it has ``help`` specified. Patch by Felix 643Fontein. 644 645.. 646 647.. bpo: 44791 648.. date: 2021-07-31-23-18-50 649.. nonce: 4jFdpO 650.. section: Library 651 652Fix substitution of :class:`~typing.ParamSpec` in 653:data:`~typing.Concatenate` with different parameter expressions. 654Substitution with a list of types returns now a tuple of types. Substitution 655with ``Concatenate`` returns now a ``Concatenate`` with concatenated lists 656of arguments. 657 658.. 659 660.. bpo: 46463 661.. date: 2022-01-21-21-33-48 662.. nonce: fBbdTG 663.. section: Documentation 664 665Fixes :file:`escape4chm.py` script used when building the CHM documentation 666file 667 668.. 669 670.. bpo: 43478 671.. date: 2022-02-03-00-21-32 672.. nonce: 0nfcam 673.. section: Tests 674 675Mocks can no longer be provided as the specs for other Mocks. As a result, 676an already-mocked object cannot be passed to `mock.Mock()`. This can uncover 677bugs in tests since these Mock-derived Mocks will always pass certain tests 678(e.g. isinstance) and builtin assert functions (e.g. 679assert_called_once_with) will unconditionally pass. 680 681.. 682 683.. bpo: 46616 684.. date: 2022-02-02-18-14-38 685.. nonce: URvBtE 686.. section: Tests 687 688Ensures ``test_importlib.test_windows`` cleans up registry keys after 689completion. 690 691.. 692 693.. bpo: 44359 694.. date: 2022-02-02-02-24-04 695.. nonce: kPPSmN 696.. section: Tests 697 698test_ftplib now silently ignores socket errors to prevent logging unhandled 699threading exceptions. Patch by Victor Stinner. 700 701.. 702 703.. bpo: 46600 704.. date: 2022-02-01-17-13-53 705.. nonce: FMCk8Z 706.. section: Tests 707 708Fix test_gdb.test_pycfunction() for Python built with ``clang -Og``. 709Tolerate inlined functions in the gdb traceback. Patch by Victor Stinner. 710 711.. 712 713.. bpo: 46542 714.. date: 2022-01-31-17-34-13 715.. nonce: RTMm1T 716.. section: Tests 717 718Fix a Python crash in test_lib2to3 when using Python built in debug mode: 719limit the recursion limit. Patch by Victor Stinner. 720 721.. 722 723.. bpo: 46576 724.. date: 2022-01-29-12-37-53 725.. nonce: -prRaV 726.. section: Tests 727 728test_peg_generator now disables compiler optimization when testing 729compilation of its own C extensions to significantly speed up the testing on 730non-debug builds of CPython. 731 732.. 733 734.. bpo: 46542 735.. date: 2022-01-28-01-17-10 736.. nonce: xRLTdj 737.. section: Tests 738 739Fix ``test_json`` tests checking for :exc:`RecursionError`: modify these 740tests to use ``support.infinite_recursion()``. Patch by Victor Stinner. 741 742.. 743 744.. bpo: 13886 745.. date: 2022-01-17-13-10-04 746.. nonce: 5mZH4b 747.. section: Tests 748 749Skip test_builtin PTY tests on non-ASCII characters if the readline module 750is loaded. The readline module changes input() behavior, but test_builtin is 751not intented to test the readline module. Patch by Victor Stinner. 752 753.. 754 755.. bpo: 40280 756.. date: 2022-01-16-14-11-57 757.. nonce: fNnFfx 758.. section: Tests 759 760Add :func:`test.support.requires_fork` decorators to mark tests that require 761a working :func:`os.fork`. 762 763.. 764 765.. bpo: 40280 766.. date: 2022-01-14-23-22-41 767.. nonce: nHLWoD 768.. section: Tests 769 770Add :func:`test.support.requires_subprocess` decorator to mark tests which 771require working :mod:`subprocess` module or ``os.spawn*``. The 772wasm32-emscripten platform has no support for processes. 773 774.. 775 776.. bpo: 46126 777.. date: 2021-12-18-22-23-50 778.. nonce: 0LH3Yb 779.. section: Tests 780 781Disable 'descriptions' when running tests internally. 782 783.. 784 785.. bpo: 46602 786.. date: 2022-02-02-02-06-07 787.. nonce: 8GaOZ2 788.. section: Build 789 790Tidied up configure.ac so that conftest.c is truncated rather than appended. 791This assists in the case where the 'rm' of conftest.c fails to happen 792between tests. Downstream issues such as a clobbered SOABI can result. 793 794.. 795 796.. bpo: 46600 797.. date: 2022-02-01-14-07-37 798.. nonce: NNLnfj 799.. section: Build 800 801Fix the test checking if the C compiler supports ``-Og`` option in the 802``./configure`` script to also use ``-Og`` on clang which supports it. Patch 803by Victor Stinner. 804 805.. 806 807.. bpo: 38472 808.. date: 2022-01-26-22-59-12 809.. nonce: RxfLho 810.. section: Build 811 812Fix GCC detection in setup.py when cross-compiling. The C compiler is now 813run with LC_ALL=C. Previously, the detection failed with a German locale. 814 815.. 816 817.. bpo: 46513 818.. date: 2022-01-25-12-32-37 819.. nonce: mPm9B4 820.. section: Build 821 822:program:`configure` no longer uses ``AC_C_CHAR_UNSIGNED`` macro and 823``pyconfig.h`` no longer defines reserved symbol ``__CHAR_UNSIGNED__``. 824 825.. 826 827.. bpo: 46471 828.. date: 2022-01-22-11-06-23 829.. nonce: 03snrE 830.. section: Build 831 832Use global singletons for single byte bytes objects in deepfreeze. 833 834.. 835 836.. bpo: 46443 837.. date: 2022-01-20-05-27-07 838.. nonce: udCVII 839.. section: Build 840 841Deepfreeze now uses cached small integers as it saves some space for common 842small integers. 843 844.. 845 846.. bpo: 46429 847.. date: 2022-01-19-04-36-15 848.. nonce: y0OtVL 849.. section: Build 850 851Merge all deep-frozen files into one for space savings. Patch by Kumar 852Aditya. 853 854.. 855 856.. bpo: 45569 857.. date: 2022-01-09-11-24-54 858.. nonce: zCIENy 859.. section: Build 860 861The build now defaults to using 30-bit digits for Python integers. 862Previously either 15-bit or 30-bit digits would be selected, depending on 863the platform. 15-bit digits may still be selected using the 864``--enable-big-digits=15`` option to the ``configure`` script, or by 865defining ``PYLONG_BITS_IN_DIGIT`` in ``pyconfig.h``. 866 867.. 868 869.. bpo: 45925 870.. date: 2022-01-08-12-43-31 871.. nonce: 38F3NO 872.. section: Build 873 874Update Windows installer to use SQLite 3.37.2. 875 876.. 877 878.. bpo: 43112 879.. date: 2021-02-10-17-54-04 880.. nonce: H5Lat6 881.. section: Build 882 883Detect musl libc as a separate SOABI (tagged as ``linux-musl``). 884 885.. 886 887.. bpo: 33125 888.. date: 2022-01-25-14-48-39 889.. nonce: 5WyY_J 890.. section: Windows 891 892The traditional EXE/MSI based installer for Windows is now available for 893ARM64 894 895.. 896 897.. bpo: 46362 898.. date: 2022-01-13-22-31-09 899.. nonce: f2cuEb 900.. section: Windows 901 902os.path.abspath("C:\CON") is now fixed to return "\\.\CON", not the same 903path. The regression was true of all legacy DOS devices such as COM1, LPT1, 904or NUL. 905 906.. 907 908.. bpo: 44934 909.. date: 2021-09-01-10-48-11 910.. nonce: W1xPATH 911.. section: Windows 912 913The installer now offers a command-line only option to add the installation 914directory to the end of :envvar:`PATH` instead of at the start. 915 916.. 917 918.. bpo: 45925 919.. date: 2022-01-26-12-04-09 920.. nonce: yBSiYO 921.. section: macOS 922 923Update macOS installer to SQLite 3.37.2. 924 925.. 926 927.. bpo: 45296 928.. date: 2022-01-26-19-33-55 929.. nonce: LzZKdU 930.. section: IDLE 931 932Clarify close, quit, and exit in IDLE. In the File menu, 'Close' and 'Exit' 933are now 'Close Window' (the current one) and 'Exit' is now 'Exit IDLE' (by 934closing all windows). In Shell, 'quit()' and 'exit()' mean 'close Shell'. 935If there are no other windows, this also exits IDLE. 936 937.. 938 939.. bpo: 40170 940.. date: 2022-01-27-02-51-22 941.. nonce: uPolek 942.. section: C API 943 944Remove the ``PyHeapType_GET_MEMBERS()`` macro. It was exposed in the public 945C API by mistake, it must only be used by Python internally. Use the 946``PyTypeObject.tp_members`` member instead. Patch by Victor Stinner. 947 948.. 949 950.. bpo: 40170 951.. date: 2022-01-27-02-37-18 952.. nonce: XxQB0i 953.. section: C API 954 955Move _Py_GetAllocatedBlocks() and _PyObject_DebugMallocStats() private 956functions to the internal C API. Patch by Victor Stinner. 957 958.. 959 960.. bpo: 46433 961.. date: 2022-01-19-16-51-54 962.. nonce: Er9ApS 963.. section: C API 964 965The internal function _PyType_GetModuleByDef now correctly handles 966inheritance patterns involving static types. 967 968.. 969 970.. bpo: 45459 971.. date: 2021-10-18-16-54-24 972.. nonce: Y1pEZs 973.. section: C API 974 975:c:type:`Py_buffer` and various ``Py_buffer`` related functions are now part 976of the limited API and stable ABI. 977 978.. 979 980.. bpo: 14916 981.. date: 2020-09-11-02-50-41 982.. nonce: QN1Y03 983.. section: C API 984 985Fixed bug in the tokenizer that prevented ``PyRun_InteractiveOne`` from 986parsing from the provided FD. 987