blob: e91135deb6654a6b77b4fafd8e13de735ccca850 [file] [log] [blame]
Ɓukasz Langa6e026912020-02-25 13:21:47 +01001.. bpo: 39184
2.. date: 2020-02-07-23-54-18
3.. nonce: v-ue-v
4.. release date: 2020-02-25
5.. section: Security
6
7Add audit events to functions in `fcntl`, `msvcrt`, `os`, `resource`,
8`shutil`, `signal` and `syslog`.
9
10..
11
12.. bpo: 39401
13.. date: 2020-01-28-20-54-09
14.. nonce: he7h_A
15.. section: Security
16
17Avoid unsafe DLL load at startup on Windows 7 and earlier.
18
19..
20
21.. bpo: 39184
22.. date: 2020-01-07-00-42-08
23.. nonce: fe7NgK
24.. section: Security
25
26Add audit events to command execution functions in os and pty modules.
27
28..
29
30.. bpo: 39382
31.. date: 2020-02-18-01-40-13
32.. nonce: OLSJu9
33.. section: Core and Builtins
34
35Fix a use-after-free in the single inheritance path of ``issubclass()``,
36when the ``__bases__`` of an object has a single reference, and so does its
37first item. Patch by Yonatan Goldschmidt.
38
39..
40
41.. bpo: 39573
42.. date: 2020-02-14-10-08-53
43.. nonce: BIIX2M
44.. section: Core and Builtins
45
46Update clinic tool to use :c:func:`Py_IS_TYPE`. Patch by Dong-hee Na.
47
48..
49
50.. bpo: 39619
51.. date: 2020-02-13-07-35-00
52.. nonce: inb_master_chroot
53.. section: Core and Builtins
54
55Enable use of :func:`os.chroot` on HP-UX systems.
56
57..
58
59.. bpo: 39573
60.. date: 2020-02-13-01-30-22
61.. nonce: uTFj1m
62.. section: Core and Builtins
63
64Add :c:func:`Py_IS_TYPE` static inline function to check whether the object
65*o* type is *type*.
66
67..
68
69.. bpo: 39606
70.. date: 2020-02-11-23-59-07
71.. nonce: a72Sxc
72.. section: Core and Builtins
73
74Fix regression caused by fix for bpo-39386, that prevented calling
75``aclose`` on an async generator that had already been closed or exhausted.
76
77..
78
79.. bpo: 39579
80.. date: 2020-02-07-15-18-35
81.. nonce: itNmC0
82.. section: Core and Builtins
83
84Change the ending column offset of `Attribute` nodes constructed in
85`ast_for_dotted_name` to point at the end of the current node and not at the
86end of the last `NAME` node.
87
88..
89
90.. bpo: 1635741
91.. date: 2020-02-07-12-57-40
92.. nonce: ySW6gq
93.. section: Core and Builtins
94
95Port _crypt extension module to multiphase initialization (:pep:`489`).
96
97..
98
99.. bpo: 1635741
100.. date: 2020-02-06-09-00-35
101.. nonce: oaxe1j
102.. section: Core and Builtins
103
104Port _contextvars extension module to multiphase initialization
105(:pep:`489`).
106
107..
108
109.. bpo: 39510
110.. date: 2020-02-04-10-27-41
111.. nonce: PMIh-f
112.. section: Core and Builtins
113
114Fix segfault in ``readinto()`` method on closed BufferedReader.
115
116..
117
118.. bpo: 39502
119.. date: 2020-01-30-14-36-31
120.. nonce: IJu0rl
121.. section: Core and Builtins
122
123Fix :func:`time.localtime` on 64-bit AIX to support years before 1902 and
124after 2038. Patch by M Felt.
125
126..
127
128.. bpo: 39492
129.. date: 2020-01-30-01-14-42
130.. nonce: eTuy0F
131.. section: Core and Builtins
132
133Fix a reference cycle in the C Pickler that was preventing the garbage
134collection of deleted, pickled objects.
135
136..
137
138.. bpo: 39453
139.. date: 2020-01-25-23-51-17
140.. nonce: xCOkYk
141.. section: Core and Builtins
142
143Fixed a possible crash in :meth:`list.__contains__` when a list is changed
144during comparing items. Patch by Dong-hee Na.
145
146..
147
148.. bpo: 39434
149.. date: 2020-01-24-01-07-04
150.. nonce: S5ehj9
151.. section: Core and Builtins
152
153:term:`floor division` of float operation now has a better performance. Also
154the message of :exc:`ZeroDivisionError` for this operation is updated. Patch
155by Dong-hee Na.
156
157..
158
159.. bpo: 1635741
160.. date: 2020-01-19-11-06-30
161.. nonce: 0mjsfm
162.. section: Core and Builtins
163
164Port _codecs extension module to multiphase initialization (:pep:`489`).
165
166..
167
168.. bpo: 1635741
169.. date: 2020-01-18-11-06-28
170.. nonce: OKROOt
171.. section: Core and Builtins
172
173Port _bz2 extension module to multiphase initialization (:pep:`489`).
174
175..
176
177.. bpo: 1635741
178.. date: 2020-01-16-12-00-04
179.. nonce: fuqoBG
180.. section: Core and Builtins
181
182Port _abc extension module to multiphase initialization (:pep:`489`).
183
184..
185
186.. bpo: 39320
187.. date: 2020-01-15-15-50-22
188.. nonce: oWARyk
189.. section: Core and Builtins
190
191Replace two complex bytecodes for building dicts with two simpler ones. The
192new bytecodes ``DICT_MERGE`` and ``DICT_UPDATE`` have been added The old
193bytecodes ``BUILD_MAP_UNPACK`` and ``BUILD_MAP_UNPACK_WITH_CALL`` have been
194removed.
195
196..
197
198.. bpo: 39219
199.. date: 2020-01-05-13-36-08
200.. nonce: uHtKd4
201.. section: Core and Builtins
202
203Syntax errors raised in the tokenizer now always set correct "text" and
204"offset" attributes.
205
206..
207
208.. bpo: 36051
209.. date: 2019-12-30-15-56-07
210.. nonce: imaVlq
211.. section: Core and Builtins
212
213Drop the GIL during large ``bytes.join`` operations. Patch by Bruce Merry.
214
215..
216
217.. bpo: 38960
218.. date: 2019-12-03-16-41-22
219.. nonce: kvoFM0
220.. section: Core and Builtins
221
222Fix DTrace build issues on FreeBSD. Patch by David Carlier.
223
224..
225
226.. bpo: 37207
227.. date: 2019-06-09-10-54-31
228.. nonce: bLjgLR
229.. section: Core and Builtins
230
231Speed up calls to ``range()`` by about 30%, by using the PEP 590
232``vectorcall`` calling convention. Patch by Mark Shannon.
233
234..
235
236.. bpo: 36144
237.. date: 2019-03-02-23-03-34
238.. nonce: LRl4LS
239.. section: Core and Builtins
240
241:class:`dict` (and :class:`collections.UserDict`) objects now support PEP
242584's merge (``|``) and update (``|=``) operators. Patch by Brandt Bucher.
243
244..
245
246.. bpo: 32856
247.. date: 2018-02-16-10-44-24
248.. nonce: UjR8SD
249.. section: Core and Builtins
250
251Optimized the idiom for assignment a temporary variable in comprehensions.
252Now ``for y in [expr]`` in comprehensions is as fast as a simple assignment
253``y = expr``.
254
255..
256
257.. bpo: 30566
258.. date: 2020-02-24-03-45-28
259.. nonce: qROxty
260.. section: Library
261
262Fix :exc:`IndexError` when trying to decode an invalid string with punycode
263codec.
264
265..
266
267.. bpo: 39649
268.. date: 2020-02-23-21-27-10
269.. nonce: qiubSp
270.. section: Library
271
272Remove obsolete check for `__args__` in bdb.Bdb.format_stack_entry.
273
274..
275
276.. bpo: 39648
277.. date: 2020-02-22-12-49-04
278.. nonce: Y-9N7F
279.. section: Library
280
281Expanded :func:`math.gcd` and :func:`math.lcm` to handle multiple arguments.
282
283..
284
285.. bpo: 39681
286.. date: 2020-02-21-13-58-40
287.. nonce: zN8hf0
288.. section: Library
289
290Fix a regression where the C pickle module wouldn't allow unpickling from a
291file-like object that doesn't expose a readinto() method.
292
293..
294
295.. bpo: 35950
296.. date: 2020-02-21-02-42-41
297.. nonce: 9G3-wl
298.. section: Library
299
300Raise :exc:`io.UnsupportedOperation` in :meth:`io.BufferedReader.truncate`
301when it is called on a read-only :class:`io.BufferedReader` instance.
302
303..
304
305.. bpo: 39479
306.. date: 2020-02-18-12-37-16
307.. nonce: j3UcCq
308.. section: Library
309
310Add :func:`math.lcm` function: least common multiple.
311
312..
313
314.. bpo: 39674
315.. date: 2020-02-18-12-31-24
316.. nonce: S_zqVM
317.. section: Library
318
319Revert "Do not expose abstract collection classes in the collections module"
320change (bpo-25988). Aliases to ABC like collections.Mapping are kept in
321Python 3.9 to ease transition from Python 2.7, but will be removed in Python
3223.10.
323
324..
325
326.. bpo: 39104
327.. date: 2020-02-16-18-49-16
328.. nonce: cI5MJY
329.. section: Library
330
331Fix hanging ProcessPoolExcutor on ``shutdown(wait=False)`` when a task has
332failed pickling.
333
334..
335
336.. bpo: 39627
337.. date: 2020-02-13-18-14-15
338.. nonce: Q0scyQ
339.. section: Library
340
341Fixed TypedDict totality check for inherited keys.
342
343..
344
345.. bpo: 39474
346.. date: 2020-02-12-12-01-26
347.. nonce: RZMEUH
348.. section: Library
349
350Fixed starting position of AST for expressions like ``(a)(b)``, ``(a)[b]``
351and ``(a).b``.
352
353..
354
355.. bpo: 21016
356.. date: 2020-02-12-10-04-39
357.. nonce: bFXPH7
358.. section: Library
359
360The :mod:`pydoc` and :mod:`trace` modules now use the :mod:`sysconfig`
361module to get the path to the Python standard library, to support uncommon
362installation path like ``/usr/lib64/python3.9/`` on Fedora. Patch by Jan
363Matějek.
364
365..
366
367.. bpo: 39590
368.. date: 2020-02-09-05-51-05
369.. nonce: rf98GU
370.. section: Library
371
372Collections.deque now holds strong references during deque.__contains__ and
373deque.count, fixing crashes.
374
375..
376
377.. bpo: 39586
378.. date: 2020-02-08-13-37-00
379.. nonce: nfTPxX
380.. section: Library
381
382The distutils ``bdist_msi`` command is deprecated in Python 3.9, use
383``bdist_wheel`` (wheel packages) instead.
384
385..
386
387.. bpo: 39595
388.. date: 2020-02-07-23-14-14
389.. nonce: DHwddE
390.. section: Library
391
392Improved performance of zipfile.Path for files with a large number of
393entries. Also improved performance and fixed minor issue as published with
394`importlib_metadata 1.5
395<https://importlib-metadata.readthedocs.io/en/latest/changelog%20(links).html#v1-5-0>`_.
396
397..
398
399.. bpo: 39350
400.. date: 2020-02-06-13-34-52
401.. nonce: wRwup1
402.. section: Library
403
404Fix regression in :class:`fractions.Fraction` if the numerator and/or the
405denominator is an :class:`int` subclass. The :func:`math.gcd` function is
406now used to normalize the *numerator* and *denominator*. :func:`math.gcd`
407always return a :class:`int` type. Previously, the GCD type depended on
408*numerator* and *denominator*.
409
410..
411
412.. bpo: 39567
413.. date: 2020-02-06-10-23-32
414.. nonce: VpFBxt
415.. section: Library
416
417Added audit for :func:`os.walk`, :func:`os.fwalk`, :meth:`pathlib.Path.glob`
418and :meth:`pathlib.Path.rglob`.
419
420..
421
422.. bpo: 39559
423.. date: 2020-02-05-18-29-14
424.. nonce: L8i5YB
425.. section: Library
426
427Remove unused, undocumented argument ``getters`` from :func:`uuid.getnode`
428
429..
430
431.. bpo: 38149
432.. date: 2020-02-05-11-24-16
433.. nonce: GWsjHE
434.. section: Library
435
436:func:`sys.audit` is now called only once per call of :func:`glob.glob` and
437:func:`glob.iglob`.
438
439..
440
441.. bpo: 39546
442.. date: 2020-02-03-15-12-51
443.. nonce: _Kj0Pn
444.. section: Library
445
446Fix a regression in :class:`~argparse.ArgumentParser` where
447``allow_abbrev=False`` was ignored for long options that used a prefix
448character other than "-".
449
450..
451
452.. bpo: 39450
453.. date: 2020-02-02-14-46-34
454.. nonce: 48R274
455.. section: Library
456
457Striped whitespace from docstring before returning it from
458:func:`unittest.case.shortDescription`.
459
460..
461
462.. bpo: 12915
463.. date: 2020-02-02-10-08-25
464.. nonce: d6r50-
465.. section: Library
466
467A new function ``resolve_name`` has been added to the ``pkgutil`` module.
468This resolves a string of the form ``'a.b.c.d'`` or ``'a.b:c.d'`` to an
469object. In the example, ``a.b`` is a package/module and ``c.d`` is an object
470within that package/module reached via recursive attribute access.
471
472..
473
474.. bpo: 39353
475.. date: 2020-01-30-09-07-16
476.. nonce: wTl9hc
477.. section: Library
478
479The :func:`binascii.crc_hqx` function is no longer deprecated.
480
481..
482
483.. bpo: 39493
484.. date: 2020-01-30-01-13-19
485.. nonce: CbFRi7
486.. section: Library
487
488Mark ``typing.IO.closed`` as a property
489
490..
491
492.. bpo: 39491
493.. date: 2020-01-29-22-47-12
494.. nonce: tdl17b
495.. section: Library
496
497Add :data:`typing.Annotated` and ``include_extras`` parameter to
498:func:`typing.get_type_hints` as part of :pep:`593`. Patch by Till
499Varoquaux, documentation by Till Varoquaux and Konstantin Kashin.
500
501..
502
503.. bpo: 39485
504.. date: 2020-01-29-14-58-27
505.. nonce: Zy3ot6
506.. section: Library
507
508Fix a bug in :func:`unittest.mock.create_autospec` that would complain about
509the wrong number of arguments for custom descriptors defined in an extension
510module returning functions.
511
512..
513
514.. bpo: 38932
515.. date: 2020-01-25-13-41-27
516.. nonce: 1pu_8I
517.. section: Library
518
519Mock fully resets child objects on reset_mock(). Patch by Vegard Stikbakke
520
521..
522
523.. bpo: 39082
524.. date: 2020-01-24-13-24-35
525.. nonce: qKgrq_
526.. section: Library
527
528Allow AsyncMock to correctly patch static/class methods
529
530..
531
532.. bpo: 39432
533.. date: 2020-01-23-16-08-58
534.. nonce: Cee6mi
535.. section: Library
536
537Implement PEP-489 algorithm for non-ascii "PyInit\_..." symbol names in
538distutils to make it export the correct init symbol also on Windows.
539
540..
541
542.. bpo: 18819
543.. date: 2020-01-20-10-06-19
544.. nonce: H4qsoS
545.. section: Library
546
547Omit ``devmajor`` and ``devminor`` fields for non-device files in
548:mod:`tarfile` archives, enabling bit-for-bit compatibility with GNU
549``tar(1)``.
550
551..
552
553.. bpo: 39349
554.. date: 2020-01-19-04-12-34
555.. nonce: 7CV-LC
556.. section: Library
557
558Added a new *cancel_futures* parameter to
559:meth:`concurrent.futures.Executor.shutdown` that cancels all pending
560futures which have not started running, instead of waiting for them to
561complete before shutting down the executor.
562
563..
564
565.. bpo: 39274
566.. date: 2020-01-15-23-13-03
567.. nonce: lpc0-n
568.. section: Library
569
570``bool(fraction.Fraction)`` now returns a boolean even if (numerator != 0)
571does not return a boolean (ex: numpy number).
572
573..
574
575.. bpo: 34793
576.. date: 2019-12-09-17-24-29
577.. nonce: D82Dyu
578.. section: Library
579
580Remove support for ``with (await asyncio.lock):`` and ``with (yield from
581asyncio.lock):``. The same is correct for ``asyncio.Condition`` and
582``asyncio.Semaphore``.
583
584..
585
586.. bpo: 25597
587.. date: 2019-09-12-12-11-05
588.. nonce: mPMzVx
589.. section: Library
590
591Ensure, if ``wraps`` is supplied to :class:`unittest.mock.MagicMock`, it is
592used to calculate return values for the magic methods instead of using the
593default return values. Patch by Karthikeyan Singaravelan.
594
595..
596
597.. bpo: 36350
598.. date: 2019-03-18-16-17-59
599.. nonce: udRSWE
600.. section: Library
601
602`inspect.Signature.parameters` and `inspect.BoundArguments.arguments` are
603now dicts instead of OrderedDicts. Patch contributed by RĂ©mi Lapeyre.
604
605..
606
607.. bpo: 35727
608.. date: 2019-01-12-20-39-34
609.. nonce: FWrbHn
610.. section: Library
611
612Fix sys.exit() and sys.exit(None) exit code propagation when used in
613multiprocessing.Process.
614
615..
616
617.. bpo: 32173
618.. date: 2017-12-04-10-14-23
619.. nonce: e0C5dF
620.. section: Library
621
622* Add `lazycache` function to `__all__`.
623* Use `dict.clear` to clear the cache.
624* Refactoring `getline` function and `checkcache` function.
625
626..
627
628.. bpo: 17422
629.. date: 2020-02-19-11-13-47
630.. nonce: g7_9zz
631.. section: Documentation
632
633The language reference now specifies restrictions on class namespaces.
634Adapted from a patch by Ethan Furman.
635
636..
637
638.. bpo: 39572
639.. date: 2020-02-18-18-37-07
640.. nonce: CCtzy1
641.. section: Documentation
642
643Updated documentation of ``total`` flag of TypeDict.
644
645..
646
647.. bpo: 39654
648.. date: 2020-02-18-07-42-20
649.. nonce: MoT1jI
650.. section: Documentation
651
652In pyclbr doc, update 'class' to 'module' where appropriate and add
653readmodule comment. Patch by Hakan Çelik.
654
655..
656
657.. bpo: 39153
658.. date: 2020-01-27-22-24-51
659.. nonce: Pjl8jV
660.. section: Documentation
661
662Clarify refcounting semantics for the following functions: -
663PyObject_SetItem - PyMapping_SetItemString - PyDict_SetItem -
664PyDict_SetItemString
665
666..
667
668.. bpo: 39392
669.. date: 2020-01-27-18-18-42
670.. nonce: oiqcLO
671.. section: Documentation
672
673Explain that when filling with turtle, overlap regions may be left unfilled.
674
675..
676
677.. bpo: 39369
678.. date: 2020-01-17-13-59-21
679.. nonce: Bx5yE3
680.. section: Documentation
681
682Update mmap readline method description. The fact that the readline method
683does update the file position should not be ignored since this might give
684the impression for the programmer that it doesn't update it.
685
686..
687
688.. bpo: 9056
689.. date: 2018-09-28-18-13-08
690.. nonce: -sFOwU
691.. section: Documentation
692
693Include subsection in TOC for PDF version of docs.
694
695..
696
697.. bpo: 38325
698.. date: 2020-02-11-00-38-32
699.. nonce: HgmfoE
700.. section: Tests
701
702Skip tests on non-BMP characters of test_winconsoleio.
703
704..
705
706.. bpo: 39502
707.. date: 2020-01-30-15-04-54
708.. nonce: chbpII
709.. section: Tests
710
711Skip test_zipfile.test_add_file_after_2107() if :func:`time.localtime` fails
712with :exc:`OverflowError`. It is the case on AIX 6.1 for example.
713
714..
715
716.. bpo: 39489
717.. date: 2020-01-29-19-17-02
718.. nonce: HKPzv-
719.. section: Build
720
721Remove ``COUNT_ALLOCS`` special build.
722
723..
724
725.. bpo: 39553
726.. date: 2020-02-04-19-50-53
727.. nonce: _EnweA
728.. section: Windows
729
730Delete unused code related to SxS manifests.
731
732..
733
734.. bpo: 39439
735.. date: 2020-01-24-03-15-05
736.. nonce: sFxGfR
737.. section: Windows
738
739Honor the Python path when a virtualenv is active on Windows.
740
741..
742
743.. bpo: 39393
744.. date: 2020-01-20-23-42-53
745.. nonce: gWlJDG
746.. section: Windows
747
748Improve the error message when attempting to load a DLL with unresolved
749dependencies.
750
751..
752
753.. bpo: 38883
754.. date: 2020-01-11-22-53-55
755.. nonce: X7FRaN
756.. section: Windows
757
758:meth:`~pathlib.Path.home()` and :meth:`~pathlib.Path.expanduser()` on
759Windows now prefer :envvar:`USERPROFILE` and no longer use :envvar:`HOME`,
760which is not normally set for regular user accounts. This makes them again
761behave like :func:`os.path.expanduser`, which was changed to ignore
762:envvar:`HOME` in 3.8, see :issue:`36264`.
763
764..
765
766.. bpo: 39185
767.. date: 2020-01-02-01-11-53
768.. nonce: T4herN
769.. section: Windows
770
771The build.bat script has additional options for very-quiet output (-q) and
772very-verbose output (-vv)
773
774..
775
776.. bpo: 39663
777.. date: 2020-02-17-21-09-03
778.. nonce: wexcsH
779.. section: IDLE
780
781Add tests for pyparse find_good_parse_start().
782
783..
784
785.. bpo: 39600
786.. date: 2020-02-10-17-09-48
787.. nonce: X6NsyM
788.. section: IDLE
789
790In the font configuration window, remove duplicated font names.
791
792..
793
794.. bpo: 30780
795.. date: 2020-01-27-16-44-29
796.. nonce: nR80qu
797.. section: IDLE
798
799Add remaining configdialog tests for buttons and highlights and keys tabs.
800
801..
802
803.. bpo: 39388
804.. date: 2020-01-25-02-26-45
805.. nonce: x4TQNh
806.. section: IDLE
807
808IDLE Settings Cancel button now cancels pending changes
809
810..
811
812.. bpo: 38792
813.. date: 2019-11-13-23-51-39
814.. nonce: xhTC5a
815.. section: IDLE
816
817Close an IDLE shell calltip if a :exc:`KeyboardInterrupt` or shell restart
818occurs. Patch by Zackery Spytz.
819
820..
821
822.. bpo: 35081
823.. date: 2020-02-12-21-38-49
824.. nonce: 5tj1yC
825.. section: C API
826
827Move the ``bytes_methods.h`` header file to the internal C API as
828``pycore_bytes_methods.h``: it only contains private symbols (prefixed by
829``_Py``), except of the ``PyDoc_STRVAR_shared()`` macro.
830
831..
832
833.. bpo: 35081
834.. date: 2020-02-12-21-24-02
835.. nonce: at7BjN
836.. section: C API
837
838Move the ``dtoa.h`` header file to the internal C API as ``pycore_dtoa.h``:
839it only contains private functions (prefixed by ``_Py``). The :mod:`math`
840and :mod:`cmath` modules must now be compiled with the ``Py_BUILD_CORE``
841macro defined.
842
843..
844
845.. bpo: 39573
846.. date: 2020-02-07-10-41-53
847.. nonce: EG9VDI
848.. section: C API
849
850Add :c:func:`Py_SET_SIZE` function to set the size of an object.
851
852..
853
854.. bpo: 39500
855.. date: 2020-02-07-09-35-43
856.. nonce: xRAEgX
857.. section: C API
858
859:c:func:`PyUnicode_IsIdentifier` does not call :c:func:`Py_FatalError`
860anymore if the string is not ready.
861
862..
863
864.. bpo: 39573
865.. date: 2020-02-07-03-39-03
866.. nonce: Oa8cL1
867.. section: C API
868
869Add :c:func:`Py_SET_TYPE` function to set the type of an object.
870
871..
872
873.. bpo: 39573
874.. date: 2020-02-07-00-23-44
875.. nonce: nRD1q7
876.. section: C API
877
878Add a :c:func:`Py_SET_REFCNT` function to set the reference counter of an
879object.
880
881..
882
883.. bpo: 39542
884.. date: 2020-02-05-13-14-20
885.. nonce: 5mleGX
886.. section: C API
887
888Convert :c:func:`PyType_HasFeature`, :c:func:`PyType_Check` and
889:c:func:`PyType_CheckExact` macros to static inline functions.
890
891..
892
893.. bpo: 39542
894.. date: 2020-02-05-12-40-51
895.. nonce: si-_Zq
896.. section: C API
897
898In the limited C API, ``PyObject_INIT()`` and ``PyObject_INIT_VAR()`` are
899now defined as aliases to :c:func:`PyObject_Init` and
900:c:func:`PyObject_InitVar` to make their implementation opaque. It avoids to
901leak implementation details in the limited C API. Exclude the following
902functions from the limited C API: ``_Py_NewReference()``,
903``_Py_ForgetReference()``, ``_PyTraceMalloc_NewReference()`` and
904``_Py_GetRefTotal()``.
905
906..
907
908.. bpo: 39542
909.. date: 2020-02-05-12-00-18
910.. nonce: RJCUKR
911.. section: C API
912
913Exclude trashcan mechanism from the limited C API: it requires access to
914PyTypeObject and PyThreadState structure fields, whereas these structures
915are opaque in the limited C API.
916
917..
918
919.. bpo: 39511
920.. date: 2020-01-31-16-35-21
921.. nonce: nv9yEn
922.. section: C API
923
924The :c:func:`PyThreadState_Clear` function now calls the
925:c:member:`PyThreadState.on_delete` callback. Previously, that happened in
926:c:func:`PyThreadState_Delete`.
927
928..
929
930.. bpo: 38076
931.. date: 2020-01-17-11-37-05
932.. nonce: cxfw2x
933.. section: C API
934
935Fix to clear the interpreter state only after clearing module globals to
936guarantee module state access from C Extensions during runtime destruction
937
938..
939
940.. bpo: 39245
941.. date: 2020-01-07-13-46-40
942.. nonce: G7wog6
943.. section: C API
944
945The Vectorcall API (PEP 590) was made public, adding the functions
946``PyObject_Vectorcall``, ``PyObject_VectorcallMethod``,
947``PyVectorcall_Function``, ``PyObject_CallOneArg``,
948``PyObject_CallMethodNoArgs``, ``PyObject_CallMethodOneArg``,
949``PyObject_FastCallDict``, and the flag ``Py_TPFLAGS_HAVE_VECTORCALL``.