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