1.. bpo: 46070 2.. date: 2022-01-13-17-58-56 3.. nonce: q8IGth 4.. release date: 2022-01-13 5.. section: Core and Builtins 6 7:c:func:`Py_EndInterpreter` now explicitly untracks all objects currently 8tracked by the GC. Previously, if an object was used later by another 9interpreter, calling :c:func:`PyObject_GC_UnTrack` on the object crashed if 10the previous or the next object of the :c:type:`PyGC_Head` structure became 11a dangling pointer. Patch by Victor Stinner. 12 13.. 14 15.. bpo: 46347 16.. date: 2022-01-11-13-57-00 17.. nonce: Gd8M-S 18.. section: Core and Builtins 19 20Fix memory leak in PyEval_EvalCodeEx. 21 22.. 23 24.. bpo: 46339 25.. date: 2022-01-11-11-50-19 26.. nonce: OVumDZ 27.. section: Core and Builtins 28 29Fix a crash in the parser when retrieving the error text for multi-line 30f-strings expressions that do not start in the first line of the string. 31Patch by Pablo Galindo 32 33.. 34 35.. bpo: 46331 36.. date: 2022-01-10-16-21-54 37.. nonce: h1AC-i 38.. section: Core and Builtins 39 40Do not set line number of instruction storing doc-string. Fixes regression 41introduced in 3.11 alpha. 42 43.. 44 45.. bpo: 46314 46.. date: 2022-01-10-12-34-17 47.. nonce: jId9Ky 48.. section: Core and Builtins 49 50Remove spurious "call" event when creating a lambda function that was 51accidentally introduced in 3.11a4. 52 53.. 54 55.. bpo: 46289 56.. date: 2022-01-07-23-32-03 57.. nonce: NnjpVc 58.. section: Core and Builtins 59 60ASDL declaration of ``FormattedValue`` has changed to reflect ``conversion`` 61field is not optional. 62 63.. 64 65.. bpo: 46297 66.. date: 2022-01-07-22-13-59 67.. nonce: 83ThTl 68.. section: Core and Builtins 69 70Fixed an interpreter crash on bootup with multiple PythonPaths set in the 71Windows registry. Patch by Derzsi Dániel. 72 73.. 74 75.. bpo: 46237 76.. date: 2022-01-07-19-33-05 77.. nonce: 9A6Hpq 78.. section: Core and Builtins 79 80Fix the line number of tokenizer errors inside f-strings. Patch by Pablo 81Galindo. 82 83.. 84 85.. bpo: 46263 86.. date: 2022-01-06-10-54-07 87.. nonce: 60dRZb 88.. section: Core and Builtins 89 90We always expect the "use_frozen_modules" config to be set, now that 91getpath.c was rewritten in pure Python and the logic improved. 92 93.. 94 95.. bpo: 46006 96.. date: 2022-01-05-17-13-47 97.. nonce: hdH5Vn 98.. section: Core and Builtins 99 100Fix a regression when a type method like ``__init__()`` is modified in a 101subinterpreter. Fix a regression in ``_PyUnicode_EqualToASCIIId()`` and type 102``update_slot()``. Revert the change which made the Unicode dictionary of 103interned strings compatible with subinterpreters: the internal interned 104dictionary is shared again by all interpreters. Patch by Victor Stinner. 105 106.. 107 108.. bpo: 45923 109.. date: 2022-01-04-14-08-10 110.. nonce: rBp7r1 111.. section: Core and Builtins 112 113Add RESUME opcode. This is a logical no-op. It is emitted by the compiler 114anywhere a Python function can be entered. It is used by the interpreter to 115perform tracing and optimizer checks. 116 117.. 118 119.. bpo: 46208 120.. date: 2022-01-04-01-53-35 121.. nonce: i00Vz5 122.. section: Core and Builtins 123 124Fix the regression of os.path.normpath("A/../../B") not returning expected 125"../B" but "B". 126 127.. 128 129.. bpo: 46240 130.. date: 2022-01-03-23-31-25 131.. nonce: 8lGjeK 132.. section: Core and Builtins 133 134Correct the error message for unclosed parentheses when the tokenizer 135doesn't reach the end of the source when the error is reported. Patch by 136Pablo Galindo 137 138.. 139 140.. bpo: 46009 141.. date: 2022-01-03-11-36-34 142.. nonce: QZGrov 143.. section: Core and Builtins 144 145Remove the ``GEN_START`` opcode. 146 147.. 148 149.. bpo: 46235 150.. date: 2022-01-02-23-55-13 151.. nonce: gUjp2v 152.. section: Core and Builtins 153 154Certain sequence multiplication operations like ``[0] * 1_000`` are now 155faster due to reference-counting optimizations. Patch by Dennis Sweeney. 156 157.. 158 159.. bpo: 46221 160.. date: 2022-01-01-14-23-57 161.. nonce: 7oGp-I 162.. section: Core and Builtins 163 164:opcode:`PREP_RERAISE_STAR` no longer pushes ``lasti`` to the stack. 165 166.. 167 168.. bpo: 46202 169.. date: 2021-12-30-11-06-27 170.. nonce: IKx4v6 171.. section: Core and Builtins 172 173Remove :opcode:`POP_EXCEPT_AND_RERAISE` and replace it by an equivalent 174sequence of other opcodes. 175 176.. 177 178.. bpo: 46085 179.. date: 2021-12-30-00-23-41 180.. nonce: bDuJqu 181.. section: Core and Builtins 182 183Fix iterator cache mechanism of :class:`OrderedDict`. 184 185.. 186 187.. bpo: 46055 188.. date: 2021-12-24-20-21-45 189.. nonce: R0QMVQ 190.. section: Core and Builtins 191 192Speed up shifting operation involving integers less than 193:c:macro:`PyLong_BASE`. Patch by Xinhang Xu. 194 195.. 196 197.. bpo: 46110 198.. date: 2021-12-18-02-37-07 199.. nonce: B6hAfu 200.. section: Core and Builtins 201 202Add a maximum recursion check to the PEG parser to avoid stack overflow. 203Patch by Pablo Galindo 204 205.. 206 207.. bpo: 46107 208.. date: 2021-12-16-23-27-05 209.. nonce: 7q5an0 210.. section: Core and Builtins 211 212Fix bug where :meth:`ExceptionGroup.split` and 213:meth:`ExceptionGroup.subgroup` did not copy the exception group's 214``__note__`` field to the parts. 215 216.. 217 218.. bpo: 45711 219.. date: 2021-12-15-15-17-04 220.. nonce: QK4QrB 221.. section: Core and Builtins 222 223The interpreter state's representation of handled exceptions (a.k.a 224exc_info, or _PyErr_StackItem) now has only the ``exc_value`` field, 225``exc_type`` and ``exc_traceback`` have been removed as their values can be 226derived from ``exc_value``. 227 228.. 229 230.. bpo: 44525 231.. date: 2021-12-13-17-12-16 232.. nonce: 4-FiSf 233.. section: Core and Builtins 234 235Replace the four call bytecode instructions which one pre-call instruction 236and two call instructions. 237 238Removes ``CALL_FUNCTION``, ``CALL_FUNCTION_KW``, ``CALL_METHOD`` and 239``CALL_METHOD_KW``. 240 241Adds ``CALL_NO_KW`` and ``CALL_KW`` call instructions, and 242``PRECALL_METHOD`` prefix for pairing with ``LOAD_METHOD``. 243 244.. 245 246.. bpo: 46039 247.. date: 2021-12-13-17-01-13 248.. nonce: TrCBbF 249.. section: Core and Builtins 250 251Remove the ``YIELD_FROM`` instruction and replace it with the ``SEND`` 252instruction which performs the same operation, but without the loop. 253 254.. 255 256.. bpo: 45635 257.. date: 2021-12-12-15-52-41 258.. nonce: ADVaPT 259.. section: Core and Builtins 260 261The code called from :c:func:`_PyErr_Display` was refactored to improve 262error handling. It now exits immediately upon an unrecoverable error. 263 264.. 265 266.. bpo: 46054 267.. date: 2021-12-12-05-30-21 268.. nonce: 2P-foG 269.. section: Core and Builtins 270 271Fix parser error when parsing non-utf8 characters in source files. Patch by 272Pablo Galindo. 273 274.. 275 276.. bpo: 46042 277.. date: 2021-12-11-17-40-34 278.. nonce: aqYxku 279.. section: Core and Builtins 280 281Improve the location of the caret in :exc:`SyntaxError` exceptions emitted 282by the symbol table. Patch by Pablo Galindo. 283 284.. 285 286.. bpo: 46049 287.. date: 2021-12-11-13-49-19 288.. nonce: 9dNto2 289.. section: Core and Builtins 290 291Ensure :file:`._pth` files work as intended on platforms other than Windows. 292 293.. 294 295.. bpo: 46048 296.. date: 2021-12-11-13-14-42 297.. nonce: _-OGD9 298.. section: Core and Builtins 299 300Fixes parsing of :file:`._pth` files on startup so that single-character 301paths are correctly read. 302 303.. 304 305.. bpo: 37971 306.. date: 2021-12-10-13-42-17 307.. nonce: 6BC1Tx 308.. section: Core and Builtins 309 310Fix a bug where the line numbers given in a traceback when a decorator 311application raised an exception were wrong. 312 313.. 314 315.. bpo: 46031 316.. date: 2021-12-10-09-10-32 317.. nonce: rM7JOX 318.. section: Core and Builtins 319 320Add :opcode:`POP_JUMP_IF_NOT_NONE` and :opcode:`POP_JUMP_IF_NONE` opcodes to 321speed up conditional jumps. 322 323.. 324 325.. bpo: 45654 326.. date: 2021-12-09-11-57-43 327.. nonce: MZc7ei 328.. section: Core and Builtins 329 330Deepfreeze :mod:`runpy`, patch by Kumar Aditya. 331 332.. 333 334.. bpo: 46025 335.. date: 2021-12-09-11-41-35 336.. nonce: pkEvW9 337.. section: Core and Builtins 338 339Fix a crash in the :mod:`atexit` module involving functions that unregister 340themselves before raising exceptions. Patch by Pablo Galindo. 341 342.. 343 344.. bpo: 46000 345.. date: 2021-12-07-11-42-44 346.. nonce: v_ru3k 347.. section: Core and Builtins 348 349Improve compatibility of the :mod:`curses` module with NetBSD curses. 350 351.. 352 353.. bpo: 44525 354.. date: 2021-12-07-11-04-21 355.. nonce: 6OWCgr 356.. section: Core and Builtins 357 358Specialize the CALL_FUNCTION instruction for calls to builtin types with a 359single argument. Speeds up ``range(x)``, ``list(x)``, and specifically 360``type(obj)``. 361 362.. 363 364.. bpo: 42918 365.. date: 2021-12-06-15-32-12 366.. nonce: Czpgtg 367.. section: Core and Builtins 368 369Fix bug where the built-in :func:`compile` function did not always raise a 370:exc:`SyntaxError` when passed multiple statements in 'single' mode. Patch 371by Weipeng Hong. 372 373.. 374 375.. bpo: 45953 376.. date: 2021-12-01-11-54-27 377.. nonce: 2znR0E 378.. section: Core and Builtins 379 380The main interpreter in _PyRuntimeState.interpreters is now statically 381allocated (as part of _PyRuntime). Likewise for the initial thread state of 382each interpreter. This means less allocation during runtime init, as well 383as better memory locality for these key state objects. 384 385.. 386 387.. bpo: 45292 388.. date: 2021-11-22-13-05-32 389.. nonce: pfEouJ 390.. section: Core and Builtins 391 392Complete the :pep:`654` implementation: add ``except*``. 393 394.. 395 396.. bpo: 43413 397.. date: 2021-05-30-16-37-47 398.. nonce: vYFPPC1 399.. section: Core and Builtins 400 401Revert changes in ``set.__init__``. Subclass of :class:`set` needs to define 402a ``__init__()`` method if it defines a ``__new__()`` method with additional 403keyword parameters. 404 405.. 406 407.. bpo: 43931 408.. date: 2021-04-24-15-39-23 409.. nonce: zpChDi 410.. section: Core and Builtins 411 412Added the :c:data:`Py_Version` constant which bears the same value as 413:c:macro:`PY_VERSION_HEX`. Patch by Gabriele N. Tornetta. 414 415.. 416 417.. bpo: 46342 418.. date: 2022-01-11-04-28-09 419.. nonce: 5QVEH1 420.. section: Library 421 422The ``@typing.final`` decorator now sets the ``__final__`` attribute on the 423decorated object to allow runtime introspection. Patch by Jelle Zijlstra. 424 425.. 426 427.. bpo: 46328 428.. date: 2022-01-10-11-53-15 429.. nonce: 6i9Wvq 430.. section: Library 431 432Added the :meth:`sys.exception` method which returns the active exception 433instance. 434 435.. 436 437.. bpo: 46307 438.. date: 2022-01-10-07-51-43 439.. nonce: SKvOIY 440.. section: Library 441 442Add :meth:`string.Template.is_valid` and 443:meth:`string.Template.get_identifiers` methods. 444 445.. 446 447.. bpo: 46306 448.. date: 2022-01-08-13-53-25 449.. nonce: 1_es8z 450.. section: Library 451 452Assume that :class:`types.CodeType` always has 453:attr:`types.CodeType.co_firstlineno` in :mod:`doctest`. 454 455.. 456 457.. bpo: 40479 458.. date: 2022-01-07-15-20-19 459.. nonce: EKfr3F 460.. section: Library 461 462Fix :mod:`hashlib` *usedforsecurity* option to work correctly with OpenSSL 4633.0.0 in FIPS mode. 464 465.. 466 467.. bpo: 46070 468.. date: 2022-01-07-13-51-22 469.. nonce: -axLUW 470.. section: Library 471 472Fix possible segfault when importing the :mod:`asyncio` module from 473different sub-interpreters in parallel. Patch by Erlend E. Aasland. 474 475.. 476 477.. bpo: 46244 478.. date: 2022-01-06-21-31-14 479.. nonce: hjyfJj 480.. section: Library 481 482Removed ``__slots__`` from :class:`typing.ParamSpec` and 483:class:`typing.TypeVar`. They served no purpose. Patch by Arie Bovenberg. 484 485.. 486 487.. bpo: 46278 488.. date: 2022-01-06-13-38-00 489.. nonce: wILA80 490.. section: Library 491 492Reflect ``context`` argument in ``AbstractEventLoop.call_*()`` methods. Loop 493implementations already support it. 494 495.. 496 497.. bpo: 46269 498.. date: 2022-01-05-18-16-13 499.. nonce: K16Z1S 500.. section: Library 501 502Remove special-casing of ``__new__`` in :meth:`enum.Enum.__dir__`. 503 504.. 505 506.. bpo: 46266 507.. date: 2022-01-05-12-48-18 508.. nonce: ACQCgX 509.. section: Library 510 511Improve day constants in :mod:`calendar`. 512 513Now all constants (`MONDAY` ... `SUNDAY`) are documented, tested, and added 514to ``__all__``. 515 516.. 517 518.. bpo: 46257 519.. date: 2022-01-04-11-04-20 520.. nonce: _o2ADe 521.. section: Library 522 523Optimized the mean, variance, and stdev functions in the statistics module. 524If the input is an iterator, it is consumed in a single pass rather than 525eating memory by conversion to a list. The single pass algorithm is about 526twice as fast as the previous two pass code. 527 528.. 529 530.. bpo: 41011 531.. date: 2022-01-03-21-03-50 532.. nonce: uULmGi 533.. section: Library 534 535Added two new variables to *pyvenv.cfg* which is generated by :mod:`venv` 536module: *executable* for the executable and *command* for the command line 537used to create the environment. 538 539.. 540 541.. bpo: 46239 542.. date: 2022-01-03-12-59-20 543.. nonce: ySVSEy 544.. section: Library 545 546Improve error message when importing :mod:`asyncio.windows_events` on 547non-Windows. 548 549.. 550 551.. bpo: 46238 552.. date: 2022-01-03-12-19-10 553.. nonce: lANhCi 554.. section: Library 555 556Reuse ``_winapi`` constants in ``asyncio.windows_events``. 557 558.. 559 560.. bpo: 46222 561.. date: 2022-01-01-17-34-32 562.. nonce: s2fzZU 563.. section: Library 564 565Adding ``SF_NOCACHE`` sendfile constant for FreeBSD for the posixmodule. 566 567.. 568 569.. bpo: 37295 570.. date: 2021-12-27-15-52-28 571.. nonce: s3LPo0 572.. section: Library 573 574Add fast path for ``0 <= k <= n <= 67`` for :func:`math.comb`. 575 576.. 577 578.. bpo: 46176 579.. date: 2021-12-25-11-11-21 580.. nonce: EOY9wd 581.. section: Library 582 583Adding the ``MAP_STACK`` constant for the mmap module. 584 585.. 586 587.. bpo: 43424 588.. date: 2021-12-23-14-36-58 589.. nonce: d9x2JZ 590.. section: Library 591 592Deprecate :attr:`webbrowser.MacOSXOSAScript._name` and use ``name`` instead. 593 594.. 595 596.. bpo: 45321 597.. date: 2021-12-19-00-00-48 598.. nonce: OyuhaY 599.. section: Library 600 601Added missing error codes to module ``xml.parsers.expat.errors``. 602 603.. 604 605.. bpo: 46125 606.. date: 2021-12-18-18-29-07 607.. nonce: LLmcox 608.. section: Library 609 610Refactor tests to test traversable API directly. Includes changes from 611importlib 5.4.0. 612 613.. 614 615.. bpo: 46118 616.. date: 2021-12-17-16-27-44 617.. nonce: euAy0E 618.. section: Library 619 620Moved importlib.resources and its related functionality to a package. 621 622.. 623 624.. bpo: 37578 625.. date: 2021-12-17-13-22-37 626.. nonce: _tluuR 627.. section: Library 628 629Add *include_hidden* parameter to :func:`~glob.glob` and :func:`~glob.iglob` 630to match hidden files and directories when using special characters like 631``*``, ``**``, ``?`` and ``[]``. 632 633.. 634 635.. bpo: 20369 636.. date: 2021-12-17-12-06-40 637.. nonce: zzLuBz 638.. section: Library 639 640:func:`concurrent.futures.wait` no longer blocks forever when given 641duplicate Futures. Patch by Kumar Aditya. 642 643.. 644 645.. bpo: 46105 646.. date: 2021-12-16-14-30-36 647.. nonce: pprB1K 648.. section: Library 649 650Honor spec when generating requirement specs with urls and extras 651(importlib_metadata 4.8.3). 652 653.. 654 655.. bpo: 44893 656.. date: 2021-12-16-13-54-55 657.. nonce: I7aLiW 658.. section: Library 659 660EntryPoint objects are no longer tuples. Recommended means to access is by 661attribute ('.name', '.group') or accessor ('.load()'). Access by index is 662deprecated and will raise deprecation warning. 663 664.. 665 666.. bpo: 22815 667.. date: 2021-12-16-12-54-21 668.. nonce: 0NRH8s 669.. section: Library 670 671Print unexpected successes together with failures and errors in summary in 672:class:`unittest.TextTestResult`. 673 674.. 675 676.. bpo: 22047 677.. date: 2021-12-15-19-24-54 678.. nonce: gBV4vT 679.. section: Library 680 681Calling :meth:`add_argument_group` on an argument group is deprecated. 682Calling :meth:`add_argument_group` or :meth:`add_mutually_exclusive_group` 683on a mutually exclusive group is deprecated. 684 685These features were never supported and do not always work correctly. The 686functions exist on the API by accident through inheritance and will be 687removed in the future. 688 689.. 690 691.. bpo: 26952 692.. date: 2021-12-14-13-18-45 693.. nonce: hjhISq 694.. section: Library 695 696:mod:`argparse` raises :exc:`ValueError` with clear message when trying to 697render usage for an empty mutually exclusive group. Previously it raised a 698cryptic :exc:`IndexError`. 699 700.. 701 702.. bpo: 45615 703.. date: 2021-12-13-15-51-16 704.. nonce: hVx83Q 705.. section: Library 706 707Functions in the :mod:`traceback` module raise :exc:`TypeError` rather than 708:exc:`AttributeError` when an exception argument is not of type 709:exc:`BaseException`. 710 711.. 712 713.. bpo: 16594 714.. date: 2021-12-12-13-41-47 715.. nonce: yfC7L4 716.. section: Library 717 718Add allow allow_reuse_port flag in socketserver. 719 720.. 721 722.. bpo: 27718 723.. date: 2021-12-11-22-51-30 724.. nonce: MgQiGl 725.. section: Library 726 727Fix help for the :mod:`signal` module. Some functions (e.g. ``signal()`` and 728``getsignal()``) were omitted. 729 730.. 731 732.. bpo: 46032 733.. date: 2021-12-11-15-45-07 734.. nonce: HmciLT 735.. section: Library 736 737The ``registry()`` method of :func:`functools.singledispatch` functions 738checks now the first argument or the first parameter annotation and raises a 739TypeError if it is not supported. Previously unsupported "types" were 740ignored (e.g. ``typing.List[int]``) or caused an error at calling time (e.g. 741``list[int]``). 742 743.. 744 745.. bpo: 46014 746.. date: 2021-12-10-03-13-57 747.. nonce: 3xYdST 748.. section: Library 749 750Add ability to use ``typing.Union`` and ``types.UnionType`` as dispatch 751argument to ``functools.singledispatch``. Patch provided by Yurii Karabas. 752 753.. 754 755.. bpo: 27062 756.. date: 2021-12-09-11-50-32 757.. nonce: R5vii6 758.. section: Library 759 760Add :attr:`__all__` to :mod:`inspect`, patch by Kumar Aditya. 761 762.. 763 764.. bpo: 46018 765.. date: 2021-12-09-00-44-42 766.. nonce: hkTI7v 767.. section: Library 768 769Ensure that :func:`math.expm1` does not raise on underflow. 770 771.. 772 773.. bpo: 46016 774.. date: 2021-12-08-19-15-03 775.. nonce: s9PuyF 776.. section: Library 777 778Adding :attr:`F_DUP2FD` and :attr:`F_DUP2FD_CLOEXEC` constants from FreeBSD 779into the fcntl module. 780 781.. 782 783.. bpo: 45755 784.. date: 2021-12-07-21-55-22 785.. nonce: bRqKGa 786.. section: Library 787 788:mod:`typing` generic aliases now reveal the class attributes of the 789original generic class when passed to ``dir()``. This was the behavior up to 790Python 3.6, but was changed in 3.7-3.9. 791 792.. 793 794.. bpo: 45874 795.. date: 2021-12-02-11-55-45 796.. nonce: dtJIsN 797.. section: Library 798 799The empty query string, consisting of no query arguments, is now handled 800correctly in ``urllib.parse.parse_qsl``. This caused problems before when 801strict parsing was enabled. 802 803.. 804 805.. bpo: 44674 806.. date: 2021-11-29-19-37-20 807.. nonce: NijWLt 808.. section: Library 809 810Change how dataclasses disallows mutable default values. It used to use a 811list of known types (list, dict, set). Now it disallows unhashable objects 812to be defaults. It's using unhashability as a proxy for mutability. Patch 813by Eric V. Smith, idea by Raymond Hettinger. 814 815.. 816 817.. bpo: 23882 818.. date: 2021-11-24-19-09-14 819.. nonce: _tctCv 820.. section: Library 821 822Remove namespace package (PEP 420) support from unittest discovery. It was 823introduced in Python 3.4 but has been broken since Python 3.7. 824 825.. 826 827.. bpo: 25066 828.. date: 2021-11-24-12-25-42 829.. nonce: YIcIkn 830.. section: Library 831 832Added a :meth:`__repr__` method to :class:`multiprocessing.Event` objects, 833patch by Kumar Aditya. 834 835.. 836 837.. bpo: 45643 838.. date: 2021-10-28-11-40-59 839.. nonce: jeiPiX 840.. section: Library 841 842Added :data:`signal.SIGSTKFLT` on platforms where this signal is defined. 843 844.. 845 846.. bpo: 44092 847.. date: 2021-05-19-12-35-49 848.. nonce: hiSlI5 849.. section: Library 850 851Fetch across rollback no longer raises :exc:`~sqlite3.InterfaceError`. 852Instead we leave it to the SQLite library to handle these cases. Patch by 853Erlend E. Aasland. 854 855.. 856 857.. bpo: 42413 858.. date: 2020-11-26-10-23-46 859.. nonce: HFikOl 860.. section: Library 861 862Replace ``concurrent.futures.TimeoutError`` and ``asyncio.TimeoutError`` 863with builtin :exc:`TimeoutError`, keep these names as deprecated aliases. 864 865.. 866 867.. bpo: 46196 868.. date: 2021-12-30-19-12-24 869.. nonce: UvQ8Sq 870.. section: Documentation 871 872Document method :meth:`cmd.Cmd.columnize`. 873 874.. 875 876.. bpo: 46120 877.. date: 2021-12-21-12-45-57 878.. nonce: PE0DmJ 879.. section: Documentation 880 881State that ``|`` is preferred for readability over ``Union`` in the 882:mod:`typing` docs. 883 884.. 885 886.. bpo: 46109 887.. date: 2021-12-16-21-13-55 888.. nonce: 0-RNzu 889.. section: Documentation 890 891Extracted ``importlib.resources`` and ``importlib.resources.abc`` 892documentation into separate files. 893 894.. 895 896.. bpo: 19737 897.. date: 2021-11-28-22-43-21 898.. nonce: cOOubB 899.. section: Documentation 900 901Update the documentation for the :func:`globals` function. 902 903.. 904 905.. bpo: 46296 906.. date: 2022-01-08-00-00-38 907.. nonce: vqxgTm 908.. section: Tests 909 910Add a test case for :mod:`enum` with ``_use_args_ == True`` and 911``_member_type_ == object``. 912 913.. 914 915.. bpo: 46205 916.. date: 2022-01-07-14-06-12 917.. nonce: dnc2OC 918.. section: Tests 919 920Fix hang in runtest_mp due to race condition 921 922.. 923 924.. bpo: 46263 925.. date: 2022-01-06-15-45-34 926.. nonce: bJXek6 927.. section: Tests 928 929Fix test_capi on FreeBSD 14-dev: instruct jemalloc to not fill freed memory 930with junk byte. 931 932.. 933 934.. bpo: 46262 935.. date: 2022-01-05-01-38-45 936.. nonce: MhiLWP 937.. section: Tests 938 939Cover ``ValueError`` path in tests for :meth:`enum.Flag._missing_`. 940 941.. 942 943.. bpo: 46150 944.. date: 2021-12-23-13-42-15 945.. nonce: RhtADs 946.. section: Tests 947 948Now ``fakename`` in ``test_pathlib.PosixPathTest.test_expanduser`` is 949checked to be non-existent. 950 951.. 952 953.. bpo: 46129 954.. date: 2021-12-19-12-20-57 955.. nonce: I3MunH 956.. section: Tests 957 958Rewrite ``asyncio.locks`` tests with 959:class:`unittest.IsolatedAsyncioTestCase` usage. 960 961.. 962 963.. bpo: 23819 964.. date: 2021-12-19-08-44-32 965.. nonce: 9ueiII 966.. section: Tests 967 968Fixed :mod:`asyncio` tests in python optimized mode. Patch by Kumar Aditya. 969 970.. 971 972.. bpo: 46114 973.. date: 2021-12-17-14-46-19 974.. nonce: 9iyZ_9 975.. section: Tests 976 977Fix test case for OpenSSL 3.0.1 version. OpenSSL 3.0 uses ``0xMNN00PP0L``. 978 979.. 980 981.. bpo: 44133 982.. date: 2022-01-12-13-42-16 983.. nonce: NgyNAh 984.. section: Build 985 986When Python is configured with :option:`--without-static-libpython`, the 987Python static library (libpython.a) is no longer built. Patch by Victor 988Stinner. 989 990.. 991 992.. bpo: 44133 993.. date: 2022-01-12-13-34-52 994.. nonce: HYCNXb 995.. section: Build 996 997When Python is built without :option:`--enable-shared`, the ``python`` 998program is now linked to object files, rather than being linked to the 999Python static library (libpython.a), to make sure that all symbols are 1000exported. Previously, the linker omitted some symbols like the 1001:c:func:`Py_FrozenMain` function. Patch by Victor Stinner. 1002 1003.. 1004 1005.. bpo: 40280 1006.. date: 2022-01-12-10-22-23 1007.. nonce: 5maBz8 1008.. section: Build 1009 1010The ``configure`` script has a new option ``--with-emscripten-target`` to 1011select browser or node as Emscripten build target. 1012 1013.. 1014 1015.. bpo: 46315 1016.. date: 2022-01-09-15-48-49 1017.. nonce: NdCRLu 1018.. section: Build 1019 1020Added and fixed ``#ifdef HAVE_FEATURE`` checks for functionality that is not 1021available on WASI platform. 1022 1023.. 1024 1025.. bpo: 45723 1026.. date: 2022-01-07-08-33-45 1027.. nonce: uq2nBU 1028.. section: Build 1029 1030Fixed a regression in ``configure`` check for :func:`select.epoll`. 1031 1032.. 1033 1034.. bpo: 46263 1035.. date: 2022-01-05-02-58-10 1036.. nonce: xiv8NU 1037.. section: Build 1038 1039``configure`` no longer sets ``MULTIARCH`` on FreeBSD platforms. 1040 1041.. 1042 1043.. bpo: 46106 1044.. date: 2021-12-20-07-10-41 1045.. nonce: 5qcv3L 1046.. section: Build 1047 1048Updated OpenSSL to 1.1.1m in Windows builds, macOS installer builds, and CI. 1049Patch by Kumar Aditya. 1050 1051.. 1052 1053.. bpo: 46088 1054.. date: 2021-12-16-14-18-07 1055.. nonce: 8UUuAd 1056.. section: Build 1057 1058Automatically detect or install bootstrap Python runtime when building from 1059Visual Studio. 1060 1061.. 1062 1063.. bpo: 46072 1064.. date: 2021-12-15-10-37-44 1065.. nonce: GgeAU3 1066.. section: Build 1067 1068Add a --with-pystats configure option to turn on internal statistics 1069gathering. 1070 1071.. 1072 1073.. bpo: 40280 1074.. date: 2021-12-13-21-03-52 1075.. nonce: b7NG4Y 1076.. section: Build 1077 1078A new directory ``Tools/wasm`` contains WebAssembly-related helpers like 1079``config.site`` override for wasm32-emscripten, wasm assets generator to 1080bundle the stdlib, and a README. 1081 1082.. 1083 1084.. bpo: 46023 1085.. date: 2021-12-09-10-25-11 1086.. nonce: PLpNB6 1087.. section: Build 1088 1089:program:`makesetup` no longer builds extensions that have been marked as 1090*disabled*. This allows users to disable modules in ``Modules/Setup.local``. 1091 1092.. 1093 1094.. bpo: 45949 1095.. date: 2021-12-02-23-21-18 1096.. nonce: OTSo9X 1097.. section: Build 1098 1099Use pure Python ``freeze_module`` for all but importlib bootstrap files. 1100``--with-freeze-module`` :program:`configure` option is no longer needed for 1101cross builds. 1102 1103.. 1104 1105.. bpo: 46217 1106.. date: 2022-01-07-22-55-11 1107.. nonce: tgJEsB 1108.. section: Windows 1109 1110Removed parameter that is unsupported on Windows 8.1 and early Windows 10 1111and may have caused build or runtime failures. 1112 1113.. 1114 1115.. bpo: 40477 1116.. date: 2022-01-02-21-56-53 1117.. nonce: W3nnM6 1118.. section: macOS 1119 1120The Python Launcher app for macOS now properly launches scripts and, if 1121necessary, the Terminal app when running on recent macOS releases. 1122 1123.. 1124 1125.. bpo: 46236 1126.. date: 2022-01-05-10-16-16 1127.. nonce: pcmVQw 1128.. section: C API 1129 1130Fix a bug in :c:func:`PyFunction_GetAnnotations` that caused it to return a 1131``tuple`` instead of a ``dict``. 1132 1133.. 1134 1135.. bpo: 46140 1136.. date: 2021-12-21-22-56-36 1137.. nonce: dvXkYK 1138.. section: C API 1139 1140:c:func:`PyBuffer_GetPointer`, :c:func:`PyBuffer_FromContiguous`, 1141:c:func:`PyBuffer_ToContiguous` and :c:func:`PyMemoryView_FromBuffer` now 1142take buffer info by ``const Py_buffer *`` instead of ``Py_buffer *``, as 1143they do not need mutability. :c:func:`PyBuffer_FromContiguous` also now 1144takes the source buffer as ``const void *``, and similarly 1145:c:func:`PyBuffer_GetPointer` takes the strides as ``const Py_ssize_t *``. 1146 1147.. 1148 1149.. bpo: 45855 1150.. date: 2021-12-12-10-09-02 1151.. nonce: MVsTDj 1152.. section: C API 1153 1154Document that the *no_block* argument to :c:func:`PyCapsule_Import` is a 1155no-op now. 1156 1157.. 1158 1159.. bpo: 45855 1160.. date: 2021-12-11-08-41-36 1161.. nonce: Lq2_gR 1162.. section: C API 1163 1164Replaced deprecated usage of :c:func:`PyImport_ImportModuleNoBlock` with 1165:c:func:`PyImport_ImportModule` in stdlib modules. Patch by Kumar Aditya. 1166 1167.. 1168 1169.. bpo: 46007 1170.. date: 2021-12-08-12-41-51 1171.. nonce: sMgDLz 1172.. section: C API 1173 1174The :c:func:`PyUnicode_CHECK_INTERNED` macro has been excluded from the 1175limited C API. It was never usable there, because it used internal 1176structures which are not available in the limited C API. Patch by Victor 1177Stinner. 1178