• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.. date: 2024-04-04-13-42-59
2.. gh-issue: 117494
3.. nonce: GPQH64
4.. release date: 2024-04-09
5.. section: Core and Builtins
6
7Refactored the instruction sequence data structure out of compile.c into
8instruction_sequence.c.
9
10..
11
12.. date: 2024-04-03-13-44-04
13.. gh-issue: 116968
14.. nonce: zgcdG2
15.. section: Core and Builtins
16
17Introduce a unified 16-bit backoff counter type (``_Py_BackoffCounter``),
18shared between the Tier 1 adaptive specializer and the Tier 2 optimizer. The
19API used for adaptive specialization counters is changed but the behavior is
20(supposed to be) identical.
21
22The behavior of the Tier 2 counters is changed:
23
24* There are no longer dynamic thresholds (we never varied these).
25* All counters now use the same exponential backoff.
26* The counter for ``JUMP_BACKWARD`` starts counting down from 16.
27* The ``temperature`` in side exits starts counting down from 64.
28
29..
30
31.. date: 2024-04-03-09-49-15
32.. gh-issue: 117431
33.. nonce: WAqRgc
34.. section: Core and Builtins
35
36Improve the performance of the following :class:`bytes` and
37:class:`bytearray` methods by adapting them to the :c:macro:`METH_FASTCALL`
38calling convention:
39
40* :meth:`!endswith`
41* :meth:`!startswith`
42
43..
44
45.. date: 2024-04-02-17-37-35
46.. gh-issue: 117431
47.. nonce: vDKAOn
48.. section: Core and Builtins
49
50Improve the performance of the following :class:`str` methods by adapting
51them to the :c:macro:`METH_FASTCALL` calling convention:
52
53* :meth:`~str.count`
54* :meth:`~str.endswith`
55* :meth:`~str.find`
56* :meth:`~str.index`
57* :meth:`~str.rfind`
58* :meth:`~str.rindex`
59* :meth:`~str.startswith`
60
61..
62
63.. date: 2024-04-02-10-04-57
64.. gh-issue: 117411
65.. nonce: YdyVmG
66.. section: Core and Builtins
67
68Move ``PyFutureFeatures`` to an internal header and make it private.
69
70..
71
72.. date: 2024-04-02-06-16-49
73.. gh-issue: 109120
74.. nonce: X485oN
75.. section: Core and Builtins
76
77Added handle of incorrect star expressions, e.g ``f(3, *)``. Patch by
78Grigoryev Semyon
79
80..
81
82.. date: 2024-03-26-17-22-38
83.. gh-issue: 117266
84.. nonce: Kwh79O
85.. section: Core and Builtins
86
87Fix crashes for certain user-created subclasses of :class:`ast.AST`. Such
88classes are now expected to set the ``_field_types`` attribute.
89
90..
91
92.. date: 2024-03-25-17-04-54
93.. gh-issue: 99108
94.. nonce: 8bjdO6
95.. section: Core and Builtins
96
97Updated the :mod:`hashlib` built-in `HACL\* project`_ C code from upstream
98that we use for many implementations when they are not present via OpenSSL
99in a given build.  This also avoids the rare potential for a C symbol name
100one definition rule linking issue.
101
102.. _HACL\* project: https://github.com/hacl-star/hacl-star
103
104..
105
106.. date: 2024-03-25-12-51-12
107.. gh-issue: 117108
108.. nonce: tNqDEo
109.. section: Core and Builtins
110
111Change the old space bit of objects in the young generation from 0 to
112gcstate->visited, so that any objects created during GC will have the old
113bit set correctly if they get moved into the old generation.
114
115..
116
117.. date: 2024-03-21-12-10-11
118.. gh-issue: 117108
119.. nonce: _6jIrB
120.. section: Core and Builtins
121
122The cycle GC now chooses the size of increments based on the total heap
123size, instead of the rate of object creation. This ensures that it can keep
124up with growing heaps.
125
126..
127
128.. date: 2024-03-13-16-55-25
129.. gh-issue: 116735
130.. nonce: o3w6y8
131.. section: Core and Builtins
132
133For ``INSTRUMENTED_CALL_FUNCTION_EX``, set ``arg0`` to
134``sys.monitoring.MISSING`` instead of ``None`` for :monitoring-event:`CALL`
135event.
136
137..
138
139.. date: 2024-03-12-20-31-57
140.. gh-issue: 113964
141.. nonce: bJppzg
142.. section: Core and Builtins
143
144Starting new threads and process creation through :func:`os.fork` are now
145only prevented once all non-daemon threads exit.
146
147..
148
149.. date: 2024-03-11-22-05-56
150.. gh-issue: 116626
151.. nonce: GsyczB
152.. section: Core and Builtins
153
154Ensure ``INSTRUMENTED_CALL_FUNCTION_EX`` always emits
155:monitoring-event:`CALL`
156
157..
158
159.. date: 2024-03-11-00-45-39
160.. gh-issue: 116554
161.. nonce: gYumG5
162.. section: Core and Builtins
163
164``list.sort()`` now exploits more cases of partial ordering, particularly
165those with long descending runs with sub-runs of equal values. Those are
166recognized as single runs now (previously, each block of repeated values
167caused a new run to be created).
168
169..
170
171.. date: 2024-03-07-16-12-39
172.. gh-issue: 114099
173.. nonce: ujdjn2
174.. section: Core and Builtins
175
176Added a Loader that can discover extension modules in an iOS-style
177Frameworks folder.
178
179..
180
181.. date: 2024-02-25-14-17-25
182.. gh-issue: 115775
183.. nonce: CNbGbJ
184.. section: Core and Builtins
185
186Compiler populates the new ``__static_attributes__`` field on a class with
187the names of attributes of this class which are accessed through self.X from
188any function in its body.
189
190..
191
192.. date: 2024-02-24-03-39-09
193.. gh-issue: 115776
194.. nonce: THJXqg
195.. section: Core and Builtins
196
197The array of values, the ``PyDictValues`` struct is now embedded in the
198object during allocation. This provides better performance in the common
199case, and does not degrade as much when the object's ``__dict__`` is
200materialized.
201
202..
203
204.. date: 2024-01-07-04-22-51
205.. gh-issue: 108362
206.. nonce: oB9Gcf
207.. section: Core and Builtins
208
209Implement an incremental cyclic garbage collector. By collecting the old
210generation in increments, there is no need for a full heap scan. This can
211hugely reduce maximum pause time for programs with large heaps.
212
213Reduce the number of generations from three to two. The old generation is
214split into two spaces, "visited" and "pending".
215
216Collection happens in two steps:: * An increment is formed from the young
217generation and a small part of the pending space. * This increment is
218scanned and the survivors moved to the end of the visited space.
219
220When the collecting space becomes empty, the two spaces are swapped.
221
222..
223
224.. date: 2023-10-14-00-05-17
225.. gh-issue: 109870
226.. nonce: oKpJ3P
227.. section: Core and Builtins
228
229Dataclasses now calls :func:`exec` once per dataclass, instead of once per
230method being added.  This can speed up dataclass creation by up to 20%.
231
232..
233
234.. date: 2022-10-05-09-33-48
235.. gh-issue: 97901
236.. nonce: BOLluU
237.. section: Core and Builtins
238
239Mime type ``text/rtf`` is now supported by :mod:`mimetypes`.
240
241..
242
243.. bpo: 24612
244.. date: 2021-09-04-22-33-01
245.. nonce: SsTuUX
246.. section: Core and Builtins
247
248Improve the :exc:`SyntaxError` that happens when 'not' appears after an
249operator. Patch by Pablo Galindo
250
251..
252
253.. date: 2024-04-08-20-26-15
254.. gh-issue: 117648
255.. nonce: NzVEa7
256.. section: Library
257
258Improve performance of :func:`os.path.join` and :func:`os.path.expanduser`.
259
260..
261
262.. date: 2024-04-06-16-42-34
263.. gh-issue: 117584
264.. nonce: hqk9Hn
265.. section: Library
266
267Raise :exc:`TypeError` for non-paths in :func:`posixpath.relpath`.
268
269..
270
271.. date: 2024-04-03-18-36-53
272.. gh-issue: 117467
273.. nonce: l6rWlj
274.. section: Library
275
276Preserve mailbox ownership when rewriting in :func:`mailbox.mbox.flush`.
277Patch by Tony Mountifield.
278
279..
280
281.. date: 2024-04-02-20-30-12
282.. gh-issue: 114848
283.. nonce: YX4pEc
284.. section: Library
285
286Raise :exc:`FileNotFoundError` when ``getcwd()`` returns '(unreachable)',
287which can happen on Linux >= 2.6.36 with glibc < 2.27.
288
289..
290
291.. date: 2024-04-02-13-13-46
292.. gh-issue: 117459
293.. nonce: jiIZmH
294.. section: Library
295
296:meth:`asyncio.asyncio.run_coroutine_threadsafe` now keeps the traceback of
297:class:`CancelledError`, :class:`TimeoutError` and
298:class:`InvalidStateError` which are raised in the coroutine.
299
300..
301
302.. date: 2024-03-29-21-43-19
303.. gh-issue: 117381
304.. nonce: fT0JFM
305.. section: Library
306
307Fix error message for :func:`ntpath.commonpath`.
308
309..
310
311.. date: 2024-03-29-15-58-01
312.. gh-issue: 117337
313.. nonce: 7w3Qwp
314.. section: Library
315
316Deprecate undocumented :func:`!glob.glob0` and :func:`!glob.glob1`
317functions. Use :func:`glob.glob` and pass a directory to its *root_dir*
318argument instead.
319
320..
321
322.. date: 2024-03-29-15-04-13
323.. gh-issue: 117349
324.. nonce: OB9kQQ
325.. section: Library
326
327Optimise several functions in :mod:`os.path`.
328
329..
330
331.. date: 2024-03-29-12-07-26
332.. gh-issue: 117348
333.. nonce: WjCYvK
334.. section: Library
335
336Refactored :meth:`configparser.RawConfigParser._read` to reduce cyclometric
337complexity and improve comprehensibility.
338
339..
340
341.. date: 2024-03-28-19-13-20
342.. gh-issue: 117335
343.. nonce: d6uKJu
344.. section: Library
345
346Raise TypeError for non-sequences for :func:`ntpath.commonpath`.
347
348..
349
350.. date: 2024-03-28-17-55-22
351.. gh-issue: 66449
352.. nonce: 4jhuEV
353.. section: Library
354
355:class:`configparser.ConfigParser` now accepts unnamed sections before named
356ones, if configured to do so.
357
358..
359
360.. date: 2024-03-28-13-54-20
361.. gh-issue: 88014
362.. nonce: zJz31I
363.. section: Library
364
365In documentation of :class:`gzip.GzipFile` in module gzip, explain data type
366of optional constructor argument *mtime*, and recommend ``mtime = 0`` for
367generating deterministic streams.
368
369..
370
371.. date: 2024-03-27-21-05-52
372.. gh-issue: 117310
373.. nonce: Bt2wox
374.. section: Library
375
376Fixed an unlikely early & extra ``Py_DECREF`` triggered crash in :mod:`ssl`
377when creating a new ``_ssl._SSLContext`` if CPython was built implausibly
378such that the default cipher list is empty **or** the SSL library it was
379linked against reports a failure from its C ``SSL_CTX_set_cipher_list()``
380API.
381
382..
383
384.. date: 2024-03-27-16-43-42
385.. gh-issue: 117294
386.. nonce: wbXNFv
387.. section: Library
388
389A ``DocTestCase`` now reports as skipped if all examples in the doctest are
390skipped.
391
392..
393
394.. date: 2024-03-26-11-48-39
395.. gh-issue: 98966
396.. nonce: SayV9y
397.. section: Library
398
399In :mod:`subprocess`, raise a more informative message when
400``stdout=STDOUT``.
401
402..
403
404.. date: 2024-03-25-21-15-56
405.. gh-issue: 117225
406.. nonce: oOaZXb
407.. section: Library
408
409doctest: only print "and X failed" when non-zero, don't pluralise "1 items".
410Patch by Hugo van Kemenade.
411
412..
413
414.. date: 2024-03-25-00-20-16
415.. gh-issue: 117205
416.. nonce: yV7xGb
417.. section: Library
418
419Speed up :func:`compileall.compile_dir` by 20% when using multiprocessing by
420increasing ``chunksize``.
421
422..
423
424.. date: 2024-03-23-14-26-18
425.. gh-issue: 117178
426.. nonce: vTisTG
427.. section: Library
428
429Fix regression in lazy loading of self-referential modules, introduced in
430gh-114781.
431
432..
433
434.. date: 2024-03-23-13-40-13
435.. gh-issue: 112383
436.. nonce: XuHf3G
437.. section: Library
438
439Fix :mod:`dis` module's handling of ``ENTER_EXECUTOR`` instructions.
440
441..
442
443.. date: 2024-03-23-12-28-05
444.. gh-issue: 117182
445.. nonce: a0KANW
446.. section: Library
447
448Lazy-loading of modules that modify their own ``__class__`` no longer
449reverts the ``__class__`` to :class:`types.ModuleType`.
450
451..
452
453.. date: 2024-03-21-17-07-38
454.. gh-issue: 117084
455.. nonce: w1mTpT
456.. section: Library
457
458Fix :mod:`zipfile` extraction for directory entries with the name containing
459backslashes on Windows.
460
461..
462
463.. date: 2024-03-21-09-57-57
464.. gh-issue: 117114
465.. nonce: Qu-p55
466.. section: Library
467
468Make :func:`os.path.isdevdrive` available on all platforms. For those that
469do not offer Dev Drives, it will always return ``False``.
470
471..
472
473.. date: 2024-03-21-07-27-36
474.. gh-issue: 117110
475.. nonce: 9K1InX
476.. section: Library
477
478Fix a bug that prevents subclasses of :class:`typing.Any` to be instantiated
479with arguments. Patch by Chris Fu.
480
481..
482
483.. date: 2024-03-20-23-07-58
484.. gh-issue: 109653
485.. nonce: uu3lrX
486.. section: Library
487
488Deferred select imports in importlib.metadata and importlib.resources for a
48914% speedup.
490
491..
492
493.. date: 2024-03-20-16-10-29
494.. gh-issue: 70647
495.. nonce: FpD6Ar
496.. section: Library
497
498Start the deprecation period for the current behavior of
499:func:`datetime.datetime.strptime` and :func:`time.strptime` which always
500fails to parse a date string with a :exc:`ValueError` involving a day of
501month such as ``strptime("02-29", "%m-%d")`` when a year is **not**
502specified and the date happen to be February 29th.  This should help avoid
503users finding new bugs every four years due to a natural mistaken assumption
504about the API when parsing partial date values.
505
506..
507
508.. date: 2024-03-19-19-42-25
509.. gh-issue: 116987
510.. nonce: ZVKUH1
511.. section: Library
512
513Fixed :func:`inspect.findsource` for class code objects.
514
515..
516
517.. date: 2024-03-19-14-35-57
518.. gh-issue: 114099
519.. nonce: siNSpK
520.. section: Library
521
522Modify standard library to allow for iOS platform differences.
523
524..
525
526.. date: 2024-03-19-11-08-26
527.. gh-issue: 90872
528.. nonce: ghys95
529.. section: Library
530
531On Windows, :meth:`subprocess.Popen.wait` no longer calls
532``WaitForSingleObject()`` with a negative timeout: pass ``0`` ms if the
533timeout is negative. Patch by Victor Stinner.
534
535..
536
537.. date: 2024-03-18-14-36-50
538.. gh-issue: 116957
539.. nonce: dTCs4f
540.. section: Library
541
542configparser: Don't leave ConfigParser values in an invalid state (stored as
543a list instead of a str) after an earlier read raised DuplicateSectionError
544or DuplicateOptionError.
545
546..
547
548.. date: 2024-03-17-18-12-39
549.. gh-issue: 115538
550.. nonce: PBiRQB
551.. section: Library
552
553:class:`!_io.WindowsConsoleIO` now emit a warning if a boolean value is
554passed as a filedescriptor argument.
555
556..
557
558.. date: 2024-03-14-20-59-28
559.. gh-issue: 90095
560.. nonce: 7UaJ1U
561.. section: Library
562
563Ignore empty lines and comments in ``.pdbrc``
564
565..
566
567.. date: 2024-03-14-17-24-59
568.. gh-issue: 106531
569.. nonce: 9ehywi
570.. section: Library
571
572Refreshed zipfile._path from `zipp 3.18
573<https://zipp.readthedocs.io/en/latest/history.html#v3-18-0>`_, providing
574better compatibility for PyPy, better glob performance for deeply nested
575zipfiles, and providing internal access to ``CompleteDirs.inject`` for use
576in other tests (like importlib.resources).
577
578..
579
580.. date: 2024-03-14-17-21-25
581.. gh-issue: 63207
582.. nonce: LV16SL
583.. section: Library
584
585On Windows, :func:`time.time` now uses the
586``GetSystemTimePreciseAsFileTime()`` clock to have a resolution better than
5871 us, instead of the ``GetSystemTimeAsFileTime()`` clock which has a
588resolution of 15.6 ms. Patch by Victor Stinner.
589
590..
591
592.. date: 2024-03-14-14-01-46
593.. gh-issue: 116764
594.. nonce: moB3Lc
595.. section: Library
596
597Restore support of ``None`` and other false values in :mod:`urllib.parse`
598functions :func:`~urllib.parse.parse_qs` and
599:func:`~urllib.parse.parse_qsl`. Also, they now raise a TypeError for
600non-zero integers and non-empty sequences.
601
602..
603
604.. date: 2024-03-14-10-01-23
605.. gh-issue: 116811
606.. nonce: _h5iKP
607.. section: Library
608
609In ``PathFinder.invalidate_caches``, delegate to
610``MetadataPathFinder.invalidate_caches``.
611
612..
613
614.. date: 2024-03-14-09-38-51
615.. gh-issue: 116647
616.. nonce: h0d_zj
617.. section: Library
618
619Fix recursive child in dataclasses
620
621..
622
623.. date: 2024-03-14-01-38-44
624.. gh-issue: 113171
625.. nonce: VFnObz
626.. section: Library
627
628Fixed various false positives and false negatives in
629
630* :attr:`ipaddress.IPv4Address.is_private` (see these docs for details)
631* :attr:`ipaddress.IPv4Address.is_global`
632* :attr:`ipaddress.IPv6Address.is_private`
633* :attr:`ipaddress.IPv6Address.is_global`
634
635Also in the corresponding :class:`ipaddress.IPv4Network` and
636:class:`ipaddress.IPv6Network` attributes.
637
638..
639
640.. date: 2024-03-13-15-45-54
641.. gh-issue: 63283
642.. nonce: OToJnG
643.. section: Library
644
645In :mod:`encodings.idna`, any capitalization of the ACE prefix
646(``xn--``) is now acceptable. Patch by Pepijn de Vos and Zackery Spytz.
647
648..
649
650.. date: 2024-03-12-19-32-17
651.. gh-issue: 71042
652.. nonce: oI0Ron
653.. section: Library
654
655Add :func:`platform.android_ver`, which provides device and OS information
656on Android.
657
658..
659
660.. date: 2024-03-12-17-53-14
661.. gh-issue: 73468
662.. nonce: z4ZzvJ
663.. section: Library
664
665Added new :func:`math.fma` function, wrapping C99's ``fma()`` operation:
666fused multiply-add function. Patch by Mark Dickinson and Victor Stinner.
667
668..
669
670.. date: 2024-03-11-17-04-55
671.. gh-issue: 116608
672.. nonce: 30f58-
673.. section: Library
674
675The :mod:`importlib.resources` functions
676:func:`~importlib.resources.is_resource`,
677:func:`~importlib.resources.open_binary`,
678:func:`~importlib.resources.open_text`,
679:func:`~importlib.resources.path`,
680:func:`~importlib.resources.read_binary`, and
681:func:`~importlib.resources.read_text` are un-deprecated, and support
682subdirectories via multiple positional arguments. The
683:func:`~importlib.resources.contents` function also allows subdirectories,
684but remains deprecated.
685
686..
687
688.. date: 2024-03-08-11-31-49
689.. gh-issue: 116484
690.. nonce: VMAsU7
691.. section: Library
692
693Change automatically generated :class:`tkinter.Checkbutton` widget names to
694avoid collisions with automatically generated
695:class:`tkinter.ttk.Checkbutton` widget names within the same parent widget.
696
697..
698
699.. date: 2024-03-07-11-10-27
700.. gh-issue: 114314
701.. nonce: iEhAMH
702.. section: Library
703
704In :mod:`ctypes`, ctype data is now stored in type objects directly rather
705than in a dict subclass. This is an internal change that should not affect
706usage.
707
708..
709
710.. date: 2024-03-06-18-30-37
711.. gh-issue: 116401
712.. nonce: 3Wcda2
713.. section: Library
714
715Fix blocking :func:`os.fwalk` and :func:`shutil.rmtree` on opening named
716pipe.
717
718..
719
720.. date: 2024-03-05-19-56-29
721.. gh-issue: 71052
722.. nonce: PMDK--
723.. section: Library
724
725Implement :func:`ctypes.util.find_library` on Android.
726
727..
728
729.. date: 2024-03-01-20-23-57
730.. gh-issue: 90535
731.. nonce: wXm-jC
732.. section: Library
733
734Fix support of *interval* values > 1 in
735:class:`logging.TimedRotatingFileHandler` for ``when='MIDNIGHT'`` and
736``when='Wx'``.
737
738..
739
740.. date: 2024-02-26-10-06-50
741.. gh-issue: 113308
742.. nonce: MbvOFt
743.. section: Library
744
745Remove some internal protected parts from :mod:`uuid`:
746``_has_uuid_generate_time_safe``, ``_netbios_getnode``,
747``_ipconfig_getnode``, and ``_load_system_functions``. They were unused.
748
749..
750
751.. date: 2024-02-18-09-50-31
752.. gh-issue: 115627
753.. nonce: HGchj0
754.. section: Library
755
756Fix the :mod:`ssl` module error handling of connection terminate by peer. It
757now throws an OSError with the appropriate error code instead of an
758EOFError.
759
760..
761
762.. date: 2024-02-01-08-09-20
763.. gh-issue: 114847
764.. nonce: -JrWrR
765.. section: Library
766
767Speed up :func:`os.path.realpath` on non-Windows platforms.
768
769..
770
771.. date: 2024-02-01-03-09-38
772.. gh-issue: 114271
773.. nonce: raCkt5
774.. section: Library
775
776Fix a race in ``threading.Thread.join()``.
777
778``threading._MainThread`` now always represents the main thread of the main
779interpreter.
780
781``PyThreadState.on_delete`` and ``PyThreadState.on_delete_data`` have been
782removed.
783
784..
785
786.. date: 2024-01-22-15-50-58
787.. gh-issue: 113538
788.. nonce: v2wrwg
789.. section: Library
790
791Add :meth:`asyncio.Server.close_clients` and
792:meth:`asyncio.Server.abort_clients` methods which allow to more forcefully
793close an asyncio server.
794
795..
796
797.. date: 2024-01-02-22-47-12
798.. gh-issue: 85287
799.. nonce: ZC5DLj
800.. section: Library
801
802Changes Unicode codecs to return UnicodeEncodeError or UnicodeDecodeError,
803rather than just UnicodeError.
804
805..
806
807.. date: 2023-12-28-22-52-45
808.. gh-issue: 113548
809.. nonce: j6TJ7O
810.. section: Library
811
812:mod:`pdb` now allows CLI arguments to ``pdb -m``.
813
814..
815
816.. date: 2023-12-11-00-51-51
817.. gh-issue: 112948
818.. nonce: k-OKp5
819.. section: Library
820
821Make completion of :mod:`pdb` similar to Python REPL
822
823..
824
825.. date: 2023-06-16-19-17-06
826.. gh-issue: 105866
827.. nonce: 0NBveV
828.. section: Library
829
830Fixed ``_get_slots`` bug which caused error when defining dataclasses with
831slots and a weakref_slot.
832
833..
834
835.. date: 2023-05-06-05-00-42
836.. gh-issue: 96471
837.. nonce: S3X5I-
838.. section: Library
839
840Add :py:class:`asyncio.Queue` termination with
841:py:meth:`~asyncio.Queue.shutdown` method.
842
843..
844
845.. date: 2022-06-22-14-45-32
846.. gh-issue: 89739
847.. nonce: CqZcRL
848.. section: Library
849
850The :mod:`zipimport` module can now read ZIP64 files.
851
852..
853
854.. bpo: 33533
855.. date: 2020-10-02-17-35-19
856.. nonce: GLIhM5
857.. section: Library
858
859:func:`asyncio.as_completed` now returns an object that is both an
860asynchronous iterator and plain iterator. The new asynchronous iteration
861pattern allows for easier correlation between prior tasks and their
862completed results. This is a closer match to
863:func:`concurrent.futures.as_completed`'s iteration pattern. Patch by Justin
864Arthur.
865
866..
867
868.. bpo: 27578
869.. date: 2020-06-11-16-20-33
870.. nonce: CIA-fu
871.. section: Library
872
873:func:`inspect.getsource` (and related functions) work with empty module
874files, returning ``'\n'`` (or reasonable equivalent) instead of raising
875``OSError``. Patch by Kernc.
876
877..
878
879.. bpo: 37141
880.. date: 2019-09-26-17-52-52
881.. nonce: onYY2-
882.. section: Library
883
884Accept an iterable of separators in :meth:`asyncio.StreamReader.readuntil`,
885stopping when one of them is encountered.
886
887..
888
889.. date: 2019-08-27-01-03-26
890.. gh-issue: 66543
891.. nonce: _TRpYr
892.. section: Library
893
894Make :func:`mimetypes.guess_type` properly parsing of URLs with only a host
895name, URLs containing fragment or query, and filenames with only a UNC
896sharepoint on Windows. Based on patch by Dong-hee Na.
897
898..
899
900.. bpo: 15010
901.. date: 2019-08-12-19-08-06
902.. nonce: 3bY2CF
903.. section: Library
904
905:meth:`unittest.TestLoader.discover` now saves the original value of
906``unittest.TestLoader._top_level_dir`` and restores it at the end of the
907call.
908
909..
910
911.. date: 2024-03-20-15-12-37
912.. gh-issue: 115977
913.. nonce: IMLi6K
914.. section: Documentation
915
916Remove compatibility references to Emscripten.
917
918..
919
920.. date: 2024-03-20-12-41-47
921.. gh-issue: 114099
922.. nonce: ad_Ck9
923.. section: Documentation
924
925Add an iOS platform guide, and flag modules not available on iOS.
926
927..
928
929.. date: 2022-04-15-13-15-23
930.. gh-issue: 91565
931.. nonce: OznXwC
932.. section: Documentation
933
934Changes to documentation files and config outputs to reflect the new
935location for reporting bugs - i.e. GitHub rather than bugs.python.org.
936
937..
938
939.. date: 2024-03-25-21-31-49
940.. gh-issue: 83434
941.. nonce: U7Z8cY
942.. section: Tests
943
944Disable JUnit XML output (``--junit-xml=FILE`` command line option) in
945regrtest when hunting for reference leaks (``-R`` option). Patch by Victor
946Stinner.
947
948..
949
950.. date: 2024-03-24-23-49-25
951.. gh-issue: 117187
952.. nonce: eMLT5n
953.. section: Tests
954
955Fix XML tests for vanilla Expat <2.6.0.
956
957..
958
959.. date: 2024-03-21-11-32-29
960.. gh-issue: 116333
961.. nonce: F-9Ram
962.. section: Tests
963
964Tests of TLS related things (error codes, etc) were updated to be more
965lenient about specific error message strings and behaviors as seen in the
966BoringSSL and AWS-LC forks of OpenSSL.
967
968..
969
970.. date: 2024-03-20-14-19-32
971.. gh-issue: 117089
972.. nonce: WwR1Z1
973.. section: Tests
974
975Consolidated tests for importlib.metadata in their own ``metadata`` package.
976
977..
978
979.. date: 2024-03-13-12-06-49
980.. gh-issue: 115979
981.. nonce: zsNpQD
982.. section: Tests
983
984Update test_importlib so that it passes under WASI SDK 21.
985
986..
987
988.. date: 2024-03-11-23-20-28
989.. gh-issue: 112536
990.. nonce: Qv1RrX
991.. section: Tests
992
993Add --tsan to test.regrtest for running TSAN tests in reasonable execution
994times. Patch by Donghee Na.
995
996..
997
998.. date: 2024-03-06-11-00-36
999.. gh-issue: 116307
1000.. nonce: Uij0t_
1001.. section: Tests
1002
1003Added import helper ``isolated_modules`` as ``CleanImport`` does not remove
1004modules imported during the context. Use it in importlib.resources tests to
1005avoid leaving ``mod`` around to impede importlib.metadata tests.
1006
1007..
1008
1009.. date: 2024-03-13-16-16-43
1010.. gh-issue: 114736
1011.. nonce: ZhmauG
1012.. section: Build
1013
1014Have WASI builds use WASI SDK 21.
1015
1016..
1017
1018.. date: 2024-03-08-17-05-15
1019.. gh-issue: 115983
1020.. nonce: ZQqk0Q
1021.. section: Build
1022
1023Skip building test modules that must be built as shared under WASI.
1024
1025..
1026
1027.. date: 2024-03-06-17-26-55
1028.. gh-issue: 71052
1029.. nonce: vLbu9u
1030.. section: Build
1031
1032Add Android build script and instructions.
1033
1034..
1035
1036.. date: 2024-03-28-22-12-00
1037.. gh-issue: 117267
1038.. nonce: K_tki1
1039.. section: Windows
1040
1041Ensure ``DirEntry.stat().st_ctime`` behaves consistently with
1042:func:`os.stat` during the deprecation period of ``st_ctime`` by containing
1043the same value as ``st_birthtime``. After the deprecation period,
1044``st_ctime`` will be the metadata change time (or unavailable through
1045``DirEntry``), and only ``st_birthtime`` will contain the creation time.
1046
1047..
1048
1049.. date: 2024-03-14-20-46-23
1050.. gh-issue: 116195
1051.. nonce: Cu_rYs
1052.. section: Windows
1053
1054Improves performance of :func:`os.getppid` by using an alternate system API
1055when available. Contributed by vxiiduu.
1056
1057..
1058
1059.. date: 2024-03-14-09-14-21
1060.. gh-issue: 88494
1061.. nonce: Bwfmp7
1062.. section: Windows
1063
1064On Windows, :func:`time.monotonic` now uses the
1065``QueryPerformanceCounter()`` clock to have a resolution better than 1 us,
1066instead of the ``GetTickCount64()`` clock which has a resolution of 15.6 ms.
1067Patch by Victor Stinner.
1068
1069..
1070
1071.. date: 2024-03-14-01-58-22
1072.. gh-issue: 116773
1073.. nonce: H2UldY
1074.. section: Windows
1075
1076Fix instances of ``<_overlapped.Overlapped object at 0xXXX> still has
1077pending operation at deallocation, the process may crash``.
1078
1079..
1080
1081.. date: 2024-02-24-23-03-43
1082.. gh-issue: 91227
1083.. nonce: sL4zWC
1084.. section: Windows
1085
1086Fix the asyncio ProactorEventLoop implementation so that sending a datagram
1087to an address that is not listening does not prevent receiving any more
1088datagrams.
1089
1090..
1091
1092.. date: 2024-02-08-14-48-15
1093.. gh-issue: 115119
1094.. nonce: qMt32O
1095.. section: Windows
1096
1097Switched from vendored ``libmpdecimal`` code to a separately-hosted external
1098package in the ``cpython-source-deps`` repository when building the
1099``_decimal`` module.
1100
1101..
1102
1103.. date: 2024-04-08-18-53-33
1104.. gh-issue: 117642
1105.. nonce: _-tYH_
1106.. section: C API
1107
1108Fix :pep:`737` implementation for ``%#T`` and ``%#N``.
1109
1110..
1111
1112.. date: 2024-03-22-19-29-24
1113.. gh-issue: 87193
1114.. nonce: u7O-jY
1115.. section: C API
1116
1117:c:func:`_PyBytes_Resize` can now be called for bytes objects with reference
1118count > 1, including 1-byte bytes objects. It creates a new bytes object and
1119destroys the old one if it has reference count > 1.
1120
1121..
1122
1123.. date: 2024-03-20-13-13-22
1124.. gh-issue: 117021
1125.. nonce: 0Q5jBx
1126.. section: C API
1127
1128Fix integer overflow in :c:func:`PyLong_AsPid` on non-Windows 64-bit
1129platforms.
1130
1131..
1132
1133.. date: 2024-03-19-09-49-04
1134.. gh-issue: 115756
1135.. nonce: 4Ls_Tl
1136.. section: C API
1137
1138:c:func:`!PyCode_GetFirstFree` is an ustable API now and has been renamed to
1139:c:func:`PyUnstable_Code_GetFirstFree`. (Contributed by Bogdan Romanyuk in
1140:gh:`115781`)
1141
1142..
1143
1144.. date: 2024-03-18-10-58-47
1145.. gh-issue: 116869
1146.. nonce: lN0GBl
1147.. section: C API
1148
1149Add ``test_cext`` test: build a C extension to check if the Python C API
1150emits C compiler warnings. Patch by Victor Stinner.
1151
1152..
1153
1154.. date: 2024-03-18-09-58-46
1155.. gh-issue: 116869
1156.. nonce: LFDVKM
1157.. section: C API
1158
1159Make the C API compatible with ``-Werror=declaration-after-statement``
1160compiler flag again. Patch by Victor Stinner.
1161
1162..
1163
1164.. date: 2024-03-17-22-42-21
1165.. gh-issue: 116936
1166.. nonce: tNrzfm
1167.. section: C API
1168
1169Add :c:func:`PyType_GetModuleByDef` to the limited C API. Patch by Victor
1170Stinner.
1171
1172..
1173
1174.. date: 2024-03-16-12-21-00
1175.. gh-issue: 116809
1176.. nonce: JL786L
1177.. section: C API
1178
1179Restore removed private ``_PyErr_ChainExceptions1()`` function. Patch by
1180Victor Stinner.
1181
1182..
1183
1184.. date: 2024-03-15-23-57-33
1185.. gh-issue: 115754
1186.. nonce: zLdv82
1187.. section: C API
1188
1189In the limited C API version 3.13, getting ``Py_None``, ``Py_False``,
1190``Py_True``, ``Py_Ellipsis`` and ``Py_NotImplemented`` singletons is now
1191implemented as function calls at the stable ABI level to hide implementation
1192details. Getting these constants still return borrowed references. Patch by
1193Victor Stinner.
1194
1195..
1196
1197.. date: 2024-03-15-23-55-24
1198.. gh-issue: 115754
1199.. nonce: xnzc__
1200.. section: C API
1201
1202Add :c:func:`Py_GetConstant` and :c:func:`Py_GetConstantBorrowed` functions
1203to get constants. For example, ``Py_GetConstant(Py_CONSTANT_ZERO)`` returns
1204a :term:`strong reference` to the constant zero. Patch by Victor Stinner.
1205
1206..
1207
1208.. date: 2024-03-14-22-30-07
1209.. gh-issue: 111696
1210.. nonce: 76UMKi
1211.. section: C API
1212
1213Add support for ``%T``, ``%T#``, ``%N`` and ``%N#`` formats to
1214:c:func:`PyUnicode_FromFormat`: format the fully qualified name of an object
1215type and of a type: call :c:func:`PyType_GetModuleName`. See :pep:`737` for
1216more information. Patch by Victor Stinner.
1217
1218..
1219
1220.. date: 2024-03-14-18-00-32
1221.. gh-issue: 111696
1222.. nonce: L6oIPq
1223.. section: C API
1224
1225Add :c:func:`PyType_GetModuleName` function to get the type's module name.
1226Equivalent to getting the ``type.__module__`` attribute. Patch by Eric Snow
1227and Victor Stinner.
1228
1229..
1230
1231.. date: 2024-03-14-15-17-11
1232.. gh-issue: 111696
1233.. nonce: YmnvAi
1234.. section: C API
1235
1236Add :c:func:`PyType_GetFullyQualifiedName` function to get the type's fully
1237qualified name. Equivalent to ``f"{type.__module__}.{type.__qualname__}"``,
1238or ``type.__qualname__`` if ``type.__module__`` is not a string or is equal
1239to ``"builtins"``. Patch by Victor Stinner.
1240
1241..
1242
1243.. date: 2024-03-14-10-33-58
1244.. gh-issue: 85283
1245.. nonce: LOgmdU
1246.. section: C API
1247
1248The ``fcntl``, ``grp``, ``pwd``, ``termios``, ``_statistics`` and
1249``_testconsole`` C extensions are now built with the :ref:`limited C API
1250<limited-c-api>`. Patch by Victor Stinner.
1251
1252..
1253
1254.. date: 2024-02-28-15-50-01
1255.. gh-issue: 111140
1256.. nonce: mpwcUg
1257.. section: C API
1258
1259Add additional flags to :c:func:`PyLong_AsNativeBytes` and
1260:c:func:`PyLong_FromNativeBytes` to allow the caller to determine how to
1261handle edge cases around values that fill the entire buffer.
1262
1263..
1264
1265.. date: 2023-12-12-19-48-31
1266.. gh-issue: 113024
1267.. nonce: rXcQs7
1268.. section: C API
1269
1270Add :c:func:`PyObject_GenericHash` function.
1271