1.. bpo: 40121
2.. date: 2020-03-30-23-16-25
3.. nonce: p2LIio
4.. release date: 2020-04-27
5.. section: Security
6
7Fixes audit events raised on creating a new socket.
8
9..
10
11.. bpo: 39073
12.. date: 2020-03-15-01-28-36
13.. nonce: 6Szd3i
14.. section: Security
15
16Disallow CR or LF in email.headerregistry.Address arguments to guard against
17header injection attacks.
18
19..
20
21.. bpo: 39503
22.. date: 2020-01-30-16-15-29
23.. nonce: B299Yq
24.. section: Security
25
26CVE-2020-8492: The :class:`~urllib.request.AbstractBasicAuthHandler` class
27of the :mod:`urllib.request` module uses an inefficient regular expression
28which can be exploited by an attacker to cause a denial of service. Fix the
29regex to prevent the catastrophic backtracking. Vulnerability reported by
30Ben Caller and Matt Schwager.
31
32..
33
34.. bpo: 40313
35.. date: 2020-04-20-23-58-35
36.. nonce: USVRW8
37.. section: Core and Builtins
38
39Improve the performance of bytes.hex().
40
41..
42
43.. bpo: 40334
44.. date: 2020-04-20-14-06-19
45.. nonce: CTLGEp
46.. section: Core and Builtins
47
48Switch to a new parser, based on PEG.  For more details see PEP 617. To
49temporarily switch back to the old parser, use ``-X oldparser`` or
50``PYTHONOLDPARSER=1``.  In Python 3.10 we will remove the old parser
51completely, including the ``parser`` module (already deprecated) and
52anything that depends on it.
53
54..
55
56.. bpo: 40267
57.. date: 2020-04-14-18-54-50
58.. nonce: Q2N6Bw
59.. section: Core and Builtins
60
61Fix the tokenizer to display the correct error message, when there is a
62SyntaxError on the last input character and no newline follows. It used to
63be `unexpected EOF while parsing`, while it should be `invalid syntax`.
64
65..
66
67.. bpo: 39522
68.. date: 2020-04-14-18-47-00
69.. nonce: uVeIV_
70.. section: Core and Builtins
71
72Correctly unparse explicit ``u`` prefix for strings when postponed
73evaluation for annotations activated. Patch by Batuhan Taskaya.
74
75..
76
77.. bpo: 40246
78.. date: 2020-04-11-17-52-03
79.. nonce: vXPze5
80.. section: Core and Builtins
81
82Report a specialized error message, `invalid string prefix`, when the
83tokenizer encounters a string with an invalid prefix.
84
85..
86
87.. bpo: 40082
88.. date: 2020-04-08-22-33-24
89.. nonce: WI3-lu
90.. section: Core and Builtins
91
92Fix the signal handler: it now always uses the main interpreter, rather than
93trying to get the current Python thread state.
94
95..
96
97.. bpo: 37388
98.. date: 2020-04-07-15-44-29
99.. nonce: stlxBq
100.. section: Core and Builtins
101
102str.encode() and str.decode() no longer check the encoding and errors in
103development mode or in debug mode during Python finalization. The codecs
104machinery can no longer work on very late calls to str.encode() and
105str.decode().
106
107..
108
109.. bpo: 40077
110.. date: 2020-04-04-12-43-19
111.. nonce: m15TTX
112.. section: Core and Builtins
113
114Fix possible refleaks in :mod:`_json`, memo of PyScannerObject should be
115traversed.
116
117..
118
119.. bpo: 37207
120.. date: 2020-04-02-00-25-19
121.. nonce: ZTPmKJ
122.. section: Core and Builtins
123
124Speed up calls to ``dict()`` by using the :pep:`590` ``vectorcall`` calling
125convention.
126
127..
128
129.. bpo: 40141
130.. date: 2020-04-01-21-50-37
131.. nonce: 8fCRVj
132.. section: Core and Builtins
133
134Add column and line information to ``ast.keyword`` nodes. Patch by Pablo
135Galindo.
136
137..
138
139.. bpo: 1635741
140.. date: 2020-04-01-00-08-18
141.. nonce: bhGWam
142.. section: Core and Builtins
143
144Port :mod:`resource` to multiphase initialization (:pep:`489`).
145
146..
147
148.. bpo: 1635741
149.. date: 2020-03-31-22-15-04
150.. nonce: 8Ir1a0
151.. section: Core and Builtins
152
153Port :mod:`math` to multiphase initialization (:pep:`489`).
154
155..
156
157.. bpo: 1635741
158.. date: 2020-03-31-21-12-27
159.. nonce: S2nkF3
160.. section: Core and Builtins
161
162Port _uuid module to multiphase initialization (:pep:`489`).
163
164..
165
166.. bpo: 40077
167.. date: 2020-03-27-01-11-08
168.. nonce: wT002V
169.. section: Core and Builtins
170
171Convert json module to use :c:func:`PyType_FromSpec`.
172
173..
174
175.. bpo: 40067
176.. date: 2020-03-25-20-34-01
177.. nonce: 0bFda2
178.. section: Core and Builtins
179
180Improve the error message for multiple star expressions in an assignment.
181Patch by Furkan Onder
182
183..
184
185.. bpo: 1635741
186.. date: 2020-03-24-22-26-26
187.. nonce: AB38ot
188.. section: Core and Builtins
189
190Port _functools module to multiphase initialization (PEP 489). Patch by
191Paulo Henrique Silva.
192
193..
194
195.. bpo: 1635741
196.. date: 2020-03-24-22-17-12
197.. nonce: jWaMRV
198.. section: Core and Builtins
199
200Port operator module to multiphase initialization (PEP 489). Patch by Paulo
201Henrique Silva.
202
203..
204
205.. bpo: 20526
206.. date: 2020-03-23-18-08-34
207.. nonce: NHNZIv
208.. section: Core and Builtins
209
210Fix :c:func:`PyThreadState_Clear()`. ``PyThreadState.frame`` is a borrowed
211reference, not a strong reference: ``PyThreadState_Clear()`` must not call
212``Py_CLEAR(tstate->frame)``.
213
214..
215
216.. bpo: 1635741
217.. date: 2020-03-22-01-01-41
218.. nonce: gR7Igp
219.. section: Core and Builtins
220
221Port time module to multiphase initialization (:pep:`489`). Patch by Paulo
222Henrique Silva.
223
224..
225
226.. bpo: 1635741
227.. date: 2020-03-20-13-42-35
228.. nonce: bhIu5M
229.. section: Core and Builtins
230
231Port _weakref extension module to multiphase initialization (:pep:`489`).
232
233..
234
235.. bpo: 40020
236.. date: 2020-03-19-21-53-41
237.. nonce: n-26G7
238.. section: Core and Builtins
239
240Fix a leak and subsequent crash in parsetok.c caused by realloc misuse on a
241rare codepath.
242
243..
244
245.. bpo: 39939
246.. date: 2020-03-11-19-17-36
247.. nonce: NwCnAM
248.. section: Core and Builtins
249
250Added str.removeprefix and str.removesuffix methods and corresponding bytes,
251bytearray, and collections.UserString methods to remove affixes from a
252string if present. See :pep:`616` for a full description. Patch by Dennis
253Sweeney.
254
255..
256
257.. bpo: 39481
258.. date: 2020-01-28-17-19-18
259.. nonce: rqSeGl
260.. section: Core and Builtins
261
262Implement PEP 585. This supports list[int], tuple[str, ...] etc.
263
264..
265
266.. bpo: 32894
267.. date: 2019-12-01-21-36-49
268.. nonce: 5g_UQr
269.. section: Core and Builtins
270
271Support unparsing of infinity numbers in postponed annotations. Patch by
272Batuhan Taşkaya.
273
274..
275
276.. bpo: 37207
277.. date: 2019-06-09-10-54-31
278.. nonce: bLjgLS
279.. section: Core and Builtins
280
281Speed up calls to ``list()`` by using the :pep:`590` ``vectorcall`` calling
282convention. Patch by Mark Shannon.
283
284..
285
286.. bpo: 40398
287.. date: 2020-04-26-22-25-36
288.. nonce: OdXnR3
289.. section: Library
290
291:func:`typing.get_args` now always returns an empty tuple for special
292generic aliases.
293
294..
295
296.. bpo: 40396
297.. date: 2020-04-26-19-07-40
298.. nonce: Fn-is1
299.. section: Library
300
301Functions :func:`typing.get_origin`, :func:`typing.get_args` and
302:func:`typing.get_type_hints` support now generic aliases like
303``list[int]``.
304
305..
306
307.. bpo: 38061
308.. date: 2020-04-24-01-55-00
309.. nonce: XmULB3
310.. section: Library
311
312Optimize the :mod:`subprocess` module on FreeBSD using ``closefrom()``. A
313single ``close(fd)`` syscall is cheap, but when ``sysconf(_SC_OPEN_MAX)`` is
314high, the loop calling ``close(fd)`` on each file descriptor can take
315several milliseconds.
316
317The workaround on FreeBSD to improve performance was to load and mount the
318fdescfs kernel module, but this is not enabled by default.
319
320Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans)
321and Kubilay Kocak (koobs):
322https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274
323
324..
325
326.. bpo: 38061
327.. date: 2020-04-24-01-27-08
328.. nonce: cdlkMz
329.. section: Library
330
331On FreeBSD, ``os.closerange(fd_low, fd_high)`` now calls
332``closefrom(fd_low)`` if *fd_high* is greater than or equal to
333``sysconf(_SC_OPEN_MAX)``.
334
335Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans)
336and Kubilay Kocak (koobs):
337https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274
338
339..
340
341.. bpo: 40360
342.. date: 2020-04-22-20-55-17
343.. nonce: Er8sv-
344.. section: Library
345
346The :mod:`lib2to3` module is pending deprecation due to :pep:`617`.
347
348..
349
350.. bpo: 40138
351.. date: 2020-04-22-00-05-10
352.. nonce: i_oGqa
353.. section: Library
354
355Fix the Windows implementation of :func:`os.waitpid` for exit code larger
356than ``INT_MAX >> 8``. The exit status is now interpreted as an unsigned
357number.
358
359..
360
361.. bpo: 39942
362.. date: 2020-04-20-20-16-02
363.. nonce: NvGnTc
364.. section: Library
365
366Set "__main__" as the default module name when "__name__" is missing in
367:class:`typing.TypeVar`. Patch by Weipeng Hong.
368
369..
370
371.. bpo: 40275
372.. date: 2020-04-20-19-06-55
373.. nonce: 9UcN2g
374.. section: Library
375
376The :mod:`logging` package is now imported lazily in :mod:`unittest` only
377when the :meth:`~unittest.TestCase.assertLogs` assertion is used.
378
379..
380
381.. bpo: 40275
382.. date: 2020-04-20-18-50-25
383.. nonce: Ofk6J8
384.. section: Library
385
386The :mod:`asyncio` package is now imported lazily in :mod:`unittest` only
387when the :class:`~unittest.IsolatedAsyncioTestCase` class is used.
388
389..
390
391.. bpo: 40330
392.. date: 2020-04-19-17-31-29
393.. nonce: DGjoIS
394.. section: Library
395
396In :meth:`ShareableList.__setitem__`, check the size of a new string item
397after encoding it to utf-8, not before.
398
399..
400
401.. bpo: 40148
402.. date: 2020-04-19-14-16-43
403.. nonce: pDZR6V
404.. section: Library
405
406Added :meth:`pathlib.Path.with_stem()` to create a new Path with the stem
407replaced.
408
409..
410
411.. bpo: 40325
412.. date: 2020-04-18-19-40-00
413.. nonce: KWSvix
414.. section: Library
415
416Deprecated support for set objects in random.sample().
417
418..
419
420.. bpo: 40257
421.. date: 2020-04-18-10-52-15
422.. nonce: lv4WTq
423.. section: Library
424
425Improved help for the :mod:`typing` module. Docstrings are now shown for all
426special forms and special generic aliases (like ``Union`` and ``List``).
427Using ``help()`` with generic alias like ``List[int]`` will show the help
428for the correspondent concrete type (``list`` in this case).
429
430..
431
432.. bpo: 40257
433.. date: 2020-04-15-19-34-11
434.. nonce: ux8FUr
435.. section: Library
436
437func:`inspect.getdoc` no longer returns docstring inherited from the type of
438the object or from parent class if it is a class if it is not defined in the
439object itself. In :mod:`pydoc` the documentation string is now shown not
440only for class, function, method etc, but for any object that has its own
441``__doc__`` attribute.
442
443..
444
445.. bpo: 40287
446.. date: 2020-04-15-17-21-48
447.. nonce: -mkEJH
448.. section: Library
449
450Fixed ``SpooledTemporaryFile.seek()`` to return the position.
451
452..
453
454.. bpo: 40290
455.. date: 2020-04-15-16-43-48
456.. nonce: eqCMGJ
457.. section: Library
458
459Added zscore() to statistics.NormalDist().
460
461..
462
463.. bpo: 40282
464.. date: 2020-04-15-10-23-52
465.. nonce: rIYJmu
466.. section: Library
467
468Allow ``random.getrandbits(0)`` to succeed and to return 0.
469
470..
471
472.. bpo: 40286
473.. date: 2020-04-15-00-39-25
474.. nonce: ai80FA
475.. section: Library
476
477Add :func:`random.randbytes` function and :meth:`random.Random.randbytes`
478method to generate random bytes.
479
480..
481
482.. bpo: 40277
483.. date: 2020-04-14-21-53-18
484.. nonce: NknSaf
485.. section: Library
486
487:func:`collections.namedtuple` now provides a human-readable repr for its
488field accessors.
489
490..
491
492.. bpo: 40270
493.. date: 2020-04-14-16-18-49
494.. nonce: XVJzeG
495.. section: Library
496
497The included copy of sqlite3 on Windows is now compiled with the json
498extension. This allows the use of functions such as ``json_object``.
499
500..
501
502.. bpo: 29255
503.. date: 2020-04-14-11-31-07
504.. nonce: 4EcyIN
505.. section: Library
506
507Wait in `KqueueSelector.select` when no fds are registered
508
509..
510
511.. bpo: 40260
512.. date: 2020-04-12-21-18-56
513.. nonce: F6VWaE
514.. section: Library
515
516Ensure :mod:`modulefinder` uses :func:`io.open_code` and respects coding
517comments.
518
519..
520
521.. bpo: 40234
522.. date: 2020-04-10-16-13-47
523.. nonce: tar4d_
524.. section: Library
525
526Allow again to spawn daemon threads in subinterpreters (revert change which
527denied them).
528
529..
530
531.. bpo: 39207
532.. date: 2020-04-10-01-24-58
533.. nonce: 2dE5Ox
534.. section: Library
535
536Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned
537on demand, only when there are no available idle workers to reuse. This
538optimizes startup overhead and reduces the amount of lost CPU time to idle
539workers. Patch by Kyle Stanley.
540
541..
542
543.. bpo: 40091
544.. date: 2020-04-07-23-26-25
545.. nonce: 5M9AW5
546.. section: Library
547
548Fix a hang at fork in the logging module: the new private _at_fork_reinit()
549method is now used to reinitialize locks at fork in the child process.
550
551..
552
553.. bpo: 40149
554.. date: 2020-04-07-18-06-38
555.. nonce: mMU2iu
556.. section: Library
557
558Implement traverse and clear slots in _abc._abc_data type.
559
560..
561
562.. bpo: 40208
563.. date: 2020-04-06-20-09-33
564.. nonce: 3rO_q7
565.. section: Library
566
567Remove deprecated :meth:`symtable.SymbolTable.has_exec`.
568
569..
570
571.. bpo: 40196
572.. date: 2020-04-06-11-05-13
573.. nonce: Jqowse
574.. section: Library
575
576Fix a bug in the :mod:`symtable` module that was causing incorrectly report
577global variables as local. Patch by Pablo Galindo.
578
579..
580
581.. bpo: 40190
582.. date: 2020-04-05-02-58-17
583.. nonce: HF3OWo
584.. section: Library
585
586Add support for ``_SC_AIX_REALMEM`` to :func:`posix.sysconf`.
587
588..
589
590.. bpo: 40182
591.. date: 2020-04-04-23-44-09
592.. nonce: Bf_kFN
593.. section: Library
594
595Removed the ``_field_types`` attribute of the :class:`typing.NamedTuple`
596class.
597
598..
599
600.. bpo: 36517
601.. date: 2020-04-04-17-49-39
602.. nonce: Ilj1IJ
603.. section: Library
604
605Multiple inheritance with :class:`typing.NamedTuple` now raises an error
606instead of silently ignoring other types.
607
608..
609
610.. bpo: 40126
611.. date: 2020-04-04-00-47-40
612.. nonce: Y-bTNP
613.. section: Library
614
615Fixed reverting multiple patches in unittest.mock. Patcher's ``__exit__()``
616is now never called if its ``__enter__()`` is failed. Returning true from
617``__exit__()`` silences now the exception.
618
619..
620
621.. bpo: 40094
622.. date: 2020-04-02-01-13-28
623.. nonce: AeZ34K
624.. section: Library
625
626CGIHTTPRequestHandler of http.server now logs the CGI script exit code,
627rather than the CGI script exit status of os.waitpid(). For example, if the
628script is killed by signal 11, it now logs: "CGI script exit code -11."
629
630..
631
632.. bpo: 40108
633.. date: 2020-03-31-01-11-20
634.. nonce: EGDVQ_
635.. section: Library
636
637Improve the error message when triying to import a module using :mod:`runpy`
638and incorrently use the ".py" extension at the end of the module name. Patch
639by Pablo Galindo.
640
641..
642
643.. bpo: 40094
644.. date: 2020-03-28-18-25-49
645.. nonce: v-wQIU
646.. section: Library
647
648Add :func:`os.waitstatus_to_exitcode` function: convert a wait status to an
649exit code.
650
651..
652
653.. bpo: 40089
654.. date: 2020-03-27-17-22-34
655.. nonce: -lFsD0
656.. section: Library
657
658Fix threading._after_fork(): if fork was not called by a thread spawned by
659threading.Thread, threading._after_fork() now creates a _MainThread instance
660for _main_thread, instead of a _DummyThread instance.
661
662..
663
664.. bpo: 40089
665.. date: 2020-03-27-16-54-29
666.. nonce: VTq_8s
667.. section: Library
668
669Add a private ``_at_fork_reinit()`` method to :class:`_thread.Lock`,
670:class:`_thread.RLock`, :class:`threading.RLock` and
671:class:`threading.Condition` classes: reinitialize the lock at fork in the
672child process, reset the lock to the unlocked state. Rename also the private
673``_reset_internal_locks()`` method of :class:`threading.Event` to
674``_at_fork_reinit()``.
675
676..
677
678.. bpo: 25780
679.. date: 2020-03-27-08-57-46
680.. nonce: kIjVge
681.. section: Library
682
683Expose :data:`~socket.CAN_RAW_JOIN_FILTERS` in the :mod:`socket` module.
684
685..
686
687.. bpo: 39503
688.. date: 2020-03-25-16-02-16
689.. nonce: YmMbYn
690.. section: Library
691
692:class:`~urllib.request.AbstractBasicAuthHandler` of :mod:`urllib.request`
693now parses all WWW-Authenticate HTTP headers and accepts multiple challenges
694per header: use the realm of the first Basic challenge.
695
696..
697
698.. bpo: 39812
699.. date: 2020-03-25-00-35-48
700.. nonce: rIKnms
701.. section: Library
702
703Removed daemon threads from :mod:`concurrent.futures` by adding an internal
704`threading._register_atexit()`, which calls registered functions prior to
705joining all non-daemon threads. This allows for compatibility with
706subinterpreters, which don't support daemon threads.
707
708..
709
710.. bpo: 40050
711.. date: 2020-03-24-16-17-20
712.. nonce: 6GrOlz
713.. section: Library
714
715Fix ``importlib._bootstrap_external``: avoid creating a new ``winreg``
716builtin module if it's already available in :data:`sys.modules`, and remove
717redundant imports.
718
719..
720
721.. bpo: 40014
722.. date: 2020-03-23-17-52-00
723.. nonce: Ya70VG
724.. section: Library
725
726Fix ``os.getgrouplist()``: if ``getgrouplist()`` function fails because the
727group list is too small, retry with a larger group list. On failure, the
728glibc implementation of ``getgrouplist()`` sets ``ngroups`` to the total
729number of groups. For other implementations, double the group list size.
730
731..
732
733.. bpo: 40017
734.. date: 2020-03-21-00-46-18
735.. nonce: HFpHZS
736.. section: Library
737
738Add :data:`time.CLOCK_TAI` constant if the operating system support it.
739
740..
741
742.. bpo: 40016
743.. date: 2020-03-19-19-40-27
744.. nonce: JWtxqJ
745.. section: Library
746
747In re docstring, clarify the relationship between inline and argument
748compile flags.
749
750..
751
752.. bpo: 39953
753.. date: 2020-03-19-16-33-03
754.. nonce: yy5lC_
755.. section: Library
756
757Update internal table of OpenSSL error codes in the ``ssl`` module.
758
759..
760
761.. bpo: 36144
762.. date: 2020-03-18-14-51-41
763.. nonce: lQm_RK
764.. section: Library
765
766Added :pep:`584` operators to :class:`weakref.WeakValueDictionary`.
767
768..
769
770.. bpo: 36144
771.. date: 2020-03-18-14-02-58
772.. nonce: ooyn6Z
773.. section: Library
774
775Added :pep:`584` operators to :class:`weakref.WeakKeyDictionary`.
776
777..
778
779.. bpo: 38891
780.. date: 2020-03-15-08-06-05
781.. nonce: 56Yokh
782.. section: Library
783
784Fix linear runtime behaviour of the `__getitem__` and `__setitem__` methods
785in :class:`multiprocessing.shared_memory.ShareableList`. This avoids
786quadratic performance when iterating a `ShareableList`. Patch by Thomas
787Krennwallner.
788
789..
790
791.. bpo: 39682
792.. date: 2020-03-08-11-00-01
793.. nonce: AxXZNz
794.. section: Library
795
796Remove undocumented support for *closing* a `pathlib.Path` object via its
797context manager. The context manager magic methods remain, but they are now
798a no-op, making `Path` objects immutable.
799
800..
801
802.. bpo: 36144
803.. date: 2020-03-07-11-26-08
804.. nonce: FG9jqy
805.. section: Library
806
807Added :pep:`584` operators (``|`` and ``|=``) to
808:class:`collections.ChainMap`.
809
810..
811
812.. bpo: 39011
813.. date: 2020-02-12-01-48-51
814.. nonce: hGve_t
815.. section: Library
816
817Normalization of line endings in ElementTree attributes was removed, as line
818endings which were replaced by entity numbers should be preserved in
819original form.
820
821..
822
823.. bpo: 38410
824.. date: 2019-10-09-08-14-25
825.. nonce: _YyoMV
826.. section: Library
827
828Properly handle :func:`sys.audit` failures in
829:func:`sys.set_asyncgen_hooks`.
830
831..
832
833.. bpo: 36541
834.. date: 2019-06-18-19-38-27
835.. nonce: XI8mi1
836.. section: Library
837
838lib2to3 now recognizes named assignment expressions (the walrus operator,
839``:=``)
840
841..
842
843.. bpo: 35967
844.. date: 2019-04-14-14-11-07
845.. nonce: KUMT9E
846.. section: Library
847
848In platform, delay the invocation of 'uname -p' until the processor
849attribute is requested.
850
851..
852
853.. bpo: 35113
854.. date: 2018-11-03-16-18-20
855.. nonce: vwvWKG
856.. section: Library
857
858:meth:`inspect.getsource` now returns correct source code for inner class
859with same name as module level class. Decorators are also returned as part
860of source of the class. Patch by Karthikeyan Singaravelan.
861
862..
863
864.. bpo: 33262
865.. date: 2018-04-17-13-23-29
866.. nonce: vHC7YQ
867.. section: Library
868
869Deprecate passing None as an argument for :func:`shlex.split()`'s ``s``
870parameter.  Patch by Zackery Spytz.
871
872..
873
874.. bpo: 31758
875.. date: 2017-10-14-21-02-40
876.. nonce: 563ZZb
877.. section: Library
878
879Prevent crashes when using an uninitialized ``_elementtree.XMLParser``
880object. Patch by Oren Milman.
881
882..
883
884.. bpo: 27635
885.. date: 2020-04-01-00-27-03
886.. nonce: VwxUty
887.. section: Documentation
888
889The pickle documentation incorrectly claimed that ``__new__`` isn't called
890by default when unpickling.
891
892..
893
894.. bpo: 39879
895.. date: 2020-03-16-18-12-02
896.. nonce: CnQ7Cv
897.. section: Documentation
898
899Updated :ref:`datamodel` docs to include :func:`dict` insertion order
900preservation. Patch by Furkan Onder and Samy Lahfa.
901
902..
903
904.. bpo: 38387
905.. date: 2019-10-06-23-44-15
906.. nonce: fZoq0S
907.. section: Documentation
908
909Document :c:macro:`PyDoc_STRVAR` macro in the C-API reference.
910
911..
912
913.. bpo: 13743
914.. date: 2019-09-25-23-20-55
915.. nonce: 5ToLDy
916.. section: Documentation
917
918Some methods within xml.dom.minidom.Element class are now better documented.
919
920..
921
922.. bpo: 31904
923.. date: 2020-04-09-16-29-18
924.. nonce: ej348T
925.. section: Tests
926
927Set expected default encoding in test_c_locale_coercion.py for VxWorks RTOS.
928
929..
930
931.. bpo: 40162
932.. date: 2020-04-03-02-40-16
933.. nonce: v3pQW_
934.. section: Tests
935
936Update Travis CI configuration to OpenSSL 1.1.1f.
937
938..
939
940.. bpo: 40146
941.. date: 2020-04-02-02-14-37
942.. nonce: J-Yo9G
943.. section: Tests
944
945Update OpenSSL to 1.1.1f in Azure Pipelines.
946
947..
948
949.. bpo: 40094
950.. date: 2020-03-31-18-57-52
951.. nonce: m3fTJe
952.. section: Tests
953
954Add :func:`test.support.wait_process` function.
955
956..
957
958.. bpo: 40003
959.. date: 2020-03-31-16-07-15
960.. nonce: SOruLY
961.. section: Tests
962
963``test.bisect_cmd`` now copies Python command line options like ``-O`` or
964``-W``. Moreover, emit a warning if ``test.bisect_cmd`` is used with
965``-w``/``--verbose2`` option.
966
967..
968
969.. bpo: 39380
970.. date: 2020-03-22-20-00-04
971.. nonce: ZXlRQU
972.. section: Tests
973
974Add the encoding in :class:`ftplib.FTP` and :class:`ftplib.FTP_TLS` to the
975constructor as keyword-only and change the default from ``latin-1`` to
976``utf-8`` to follow :rfc:`2640`.
977
978..
979
980.. bpo: 39793
981.. date: 2020-02-29-12-58-17
982.. nonce: Og2SUN
983.. section: Tests
984
985Use the same domain when testing ``make_msgid``. Patch by Batuhan Taskaya.
986
987..
988
989.. bpo: 1812
990.. date: 2019-11-25-21-46-47
991.. nonce: sAbTbY
992.. section: Tests
993
994Fix newline handling in doctest.testfile when loading from a package whose
995loader has a get_data method. Patch by Peter Donis.
996
997..
998
999.. bpo: 38360
1000.. date: 2020-04-22-02-33-54
1001.. nonce: 74C68u
1002.. section: Build
1003
1004Support single-argument form of macOS -isysroot flag.
1005
1006..
1007
1008.. bpo: 40158
1009.. date: 2020-04-03-17-54-33
1010.. nonce: MWUTs4
1011.. section: Build
1012
1013Fix CPython MSBuild Properties in NuGet Package (build/native/python.props)
1014
1015..
1016
1017.. bpo: 38527
1018.. date: 2020-03-28-10-43-09
1019.. nonce: fqCRgD
1020.. section: Build
1021
1022Fix configure check on Solaris for "float word ordering": sometimes, the
1023correct "grep" command was not being used. Patch by Arnon Yaari.
1024
1025..
1026
1027.. bpo: 40164
1028.. date: 2020-04-04-13-13-44
1029.. nonce: SPrSn5
1030.. section: Windows
1031
1032Updates Windows to OpenSSL 1.1.1f
1033
1034..
1035
1036.. bpo: 8901
1037.. date: 2020-01-24-09-15-41
1038.. nonce: hVnhGO
1039.. section: Windows
1040
1041Ignore the Windows registry when the ``-E`` option is used.
1042
1043..
1044
1045.. bpo: 38329
1046.. date: 2020-04-22-03-39-22
1047.. nonce: H0a8JV
1048.. section: macOS
1049
1050python.org macOS installers now update the Current version symlink of
1051/Library/Frameworks/Python.framework/Versions for 3.9 installs. Previously,
1052Current was only updated for Python 2.x installs. This should make it easier
1053to embed Python 3 into other macOS applications.
1054
1055..
1056
1057.. bpo: 40164
1058.. date: 2020-04-21-19-46-35
1059.. nonce: 6HA6IC
1060.. section: macOS
1061
1062Update macOS installer builds to use OpenSSL 1.1.1g.
1063
1064..
1065
1066.. bpo: 38439
1067.. date: 2019-12-05-14-20-53
1068.. nonce: j_L2PI
1069.. section: IDLE
1070
1071Add a 256×256 pixel IDLE icon to support more modern environments. Created
1072by Andrew Clover. Delete the unused macOS idle.icns icon file.
1073
1074..
1075
1076.. bpo: 38689
1077.. date: 2019-11-14-12-59-19
1078.. nonce: Lgfxva
1079.. section: IDLE
1080
1081IDLE will no longer freeze when inspect.signature fails when fetching a
1082calltip.
1083
1084..
1085
1086.. bpo: 40385
1087.. date: 2020-04-24-21-08-19
1088.. nonce: nWIQdq
1089.. section: Tools/Demos
1090
1091Removed the checkpyc.py tool. Please see compileall without force mode as a
1092potential alternative.
1093
1094..
1095
1096.. bpo: 40179
1097.. date: 2020-04-04-19-35-22
1098.. nonce: u9FH10
1099.. section: Tools/Demos
1100
1101Fixed translation of ``#elif`` in Argument Clinic.
1102
1103..
1104
1105.. bpo: 40094
1106.. date: 2020-04-02-01-22-21
1107.. nonce: 1XQQF6
1108.. section: Tools/Demos
1109
1110Fix ``which.py`` script exit code: it now uses
1111:func:`os.waitstatus_to_exitcode` to convert :func:`os.system` exit status
1112into an exit code.
1113
1114..
1115
1116.. bpo: 40241
1117.. date: 2020-04-13-02-56-24
1118.. nonce: _FOf7E
1119.. section: C API
1120
1121Move the :c:type:`PyGC_Head` structure to the internal C API.
1122
1123..
1124
1125.. bpo: 40170
1126.. date: 2020-04-11-06-12-44
1127.. nonce: cmM9oK
1128.. section: C API
1129
1130Convert :c:func:`PyObject_IS_GC` macro to a function to hide implementation
1131details.
1132
1133..
1134
1135.. bpo: 40241
1136.. date: 2020-04-10-19-43-04
1137.. nonce: Xm3w-1
1138.. section: C API
1139
1140Add the functions :c:func:`PyObject_GC_IsTracked` and
1141:c:func:`PyObject_GC_IsFinalized` to the public API to allow to query if
1142Python objects are being currently tracked or have been already finalized by
1143the garbage collector respectively. Patch by Pablo Galindo.
1144
1145..
1146
1147.. bpo: 40170
1148.. date: 2020-04-05-00-37-34
1149.. nonce: Seuh3D
1150.. section: C API
1151
1152The :c:func:`PyObject_NEW` macro becomes an alias to the
1153:c:func:`PyObject_New` macro, and the :c:func:`PyObject_NEW_VAR` macro
1154becomes an alias to the :c:func:`PyObject_NewVar` macro, to hide
1155implementation details. They no longer access directly the
1156:c:member:`PyTypeObject.tp_basicsize` member.
1157
1158..
1159
1160.. bpo: 40170
1161.. date: 2020-04-05-00-21-38
1162.. nonce: Tx0vy6
1163.. section: C API
1164
1165:c:func:`PyType_HasFeature` now always calls :c:func:`PyType_GetFlags` to
1166hide implementation details. Previously, it accessed directly the
1167:c:member:`PyTypeObject.tp_flags` member when the limited C API was not
1168used.
1169
1170..
1171
1172.. bpo: 40170
1173.. date: 2020-04-05-00-10-45
1174.. nonce: 6nFYbY
1175.. section: C API
1176
1177Convert the :c:func:`PyObject_GET_WEAKREFS_LISTPTR` macro to a function to
1178hide implementation details: the macro accessed directly to the
1179:c:member:`PyTypeObject.tp_weaklistoffset` member.
1180
1181..
1182
1183.. bpo: 40170
1184.. date: 2020-04-05-00-02-13
1185.. nonce: IFsGZ-
1186.. section: C API
1187
1188Convert :c:func:`PyObject_CheckBuffer` macro to a function to hide
1189implementation details: the macro accessed directly the
1190:c:member:`PyTypeObject.tp_as_buffer` member.
1191
1192..
1193
1194.. bpo: 40170
1195.. date: 2020-04-04-23-51-59
1196.. nonce: uXQ701
1197.. section: C API
1198
1199Always declare :c:func:`PyIndex_Check` as an opaque function to hide
1200implementation details: remove ``PyIndex_Check()`` macro. The macro accessed
1201directly the :c:member:`PyTypeObject.tp_as_number` member.
1202
1203..
1204
1205.. bpo: 39947
1206.. date: 2020-03-25-19-44-55
1207.. nonce: 2OxvPt
1208.. section: C API
1209
1210Add :c:func:`PyThreadState_GetID` function: get the unique identifier of a
1211Python thread state.
1212