blob: fb74d3622263d4aafad84295fd022456cf864953 [file] [log] [blame]
Ɓukasz Langafd757082019-11-19 12:17:21 +01001.. bpo: 38722
2.. date: 2019-11-18-16-17-56
3.. nonce: x3mECW
4.. release date: 2019-11-19
5.. section: Security
6
7:mod:`runpy` now uses :meth:`io.open_code` to open code files. Patch by
8Jason Killen.
9
10..
11
12.. bpo: 38622
13.. date: 2019-11-14-16-13-23
14.. nonce: 3DYkfb
15.. section: Security
16
17Add additional audit events for the :mod:`ctypes` module.
18
19..
20
21.. bpo: 38418
22.. date: 2019-10-08-19-29-55
23.. nonce: QL7s0-
24.. section: Security
25
26Fixes audit event for :func:`os.system` to be named ``os.system``.
27
28..
29
30.. bpo: 38243
31.. date: 2019-09-25-13-21-09
32.. nonce: 1pfz24
33.. section: Security
34
35Escape the server title of :class:`xmlrpc.server.DocXMLRPCServer` when
36rendering the document page as HTML. (Contributed by Dong-hee Na in
37:issue:`38243`.)
38
39..
40
41.. bpo: 38174
42.. date: 2019-09-23-21-02-46
43.. nonce: MeWuJd
44.. section: Security
45
46Update vendorized expat library version to 2.2.8, which resolves
47CVE-2019-15903.
48
49..
50
51.. bpo: 37764
52.. date: 2019-08-27-01-13-05
53.. nonce: qv67PQ
54.. section: Security
55
56Fixes email._header_value_parser.get_unstructured going into an infinite
57loop for a specific case in which the email header does not have trailing
58whitespace, and the case in which it contains an invalid encoded word. Patch
59by Ashwin Ramaswami.
60
61..
62
63.. bpo: 37461
64.. date: 2019-07-16-08-11-00
65.. nonce: 1Ahz7O
66.. section: Security
67
68Fix an infinite loop when parsing specially crafted email headers. Patch by
69Abhilash Raj.
70
71..
72
73.. bpo: 37363
74.. date: 2019-07-01-10-31-14
75.. nonce: fSjatj
76.. section: Security
77
78Adds audit events for the range of supported run commands (see
79:ref:`using-on-general`).
80
81..
82
83.. bpo: 37463
84.. date: 2019-07-01-08-46-14
85.. nonce: 1CHwjE
86.. section: Security
87
88ssl.match_hostname() no longer accepts IPv4 addresses with additional text
89after the address and only quad-dotted notation without trailing
90whitespaces. Some inet_aton() implementations ignore whitespace and all data
91after whitespace, e.g. '127.0.0.1 whatever'.
92
93..
94
95.. bpo: 37363
96.. date: 2019-06-21-15-58-59
97.. nonce: diouyl
98.. section: Security
99
100Adds audit events for :mod:`ensurepip`, :mod:`ftplib`, :mod:`glob`,
101:mod:`imaplib`, :mod:`nntplib`, :mod:`pdb`, :mod:`poplib`, :mod:`shutil`,
102:mod:`smtplib`, :mod:`sqlite3`, :mod:`subprocess`, :mod:`telnetlib`,
103:mod:`tempfile` and :mod:`webbrowser`, as well as :func:`os.listdir`,
104:func:`os.scandir` and :func:`breakpoint`.
105
106..
107
108.. bpo: 37364
109.. date: 2019-06-21-14-42-53
110.. nonce: IIRc2s
111.. section: Security
112
113:func:`io.open_code` is now used when reading :file:`.pth` files.
114
115..
116
117.. bpo: 34631
118.. date: 2019-06-17-09-34-25
119.. nonce: DBfM4j
120.. section: Security
121
122Updated OpenSSL to 1.1.1c in Windows installer
123
124..
125
126.. bpo: 34155
127.. date: 2019-05-04-13-33-37
128.. nonce: MJll68
129.. section: Security
130
131Fix parsing of invalid email addresses with more than one ``@`` (e.g.
132a@b@c.com.) to not return the part before 2nd ``@`` as valid email address.
133Patch by maxking & jpic.
134
135..
136
137.. bpo: 38631
138.. date: 2019-11-18-17-10-20
139.. nonce: tRHaAk
140.. section: Core and Builtins
141
142Replace ``Py_FatalError()`` call with a regular :exc:`RuntimeError`
143exception in :meth:`float.__getformat__`.
144
145..
146
147.. bpo: 38639
148.. date: 2019-10-30-11-31-47
149.. nonce: 9-vKtO
150.. section: Core and Builtins
151
152Optimized :func:`math.floor()`, :func:`math.ceil()` and :func:`math.trunc()`
153for floats.
154
155..
156
157.. bpo: 38640
158.. date: 2019-10-30-11-25-25
159.. nonce: 4sAFh5
160.. section: Core and Builtins
161
162Fixed a bug in the compiler that was causing to raise in the presence of
163break statements and continue statements inside always false while loops.
164Patch by Pablo Galindo.
165
166..
167
168.. bpo: 38613
169.. date: 2019-10-29-15-44-24
170.. nonce: V_R3NC
171.. section: Core and Builtins
172
173Optimized some set operations (e.g. ``|``, ``^``, and ``-``) of
174``dict_keys``. ``d.keys() | other`` was slower than ``set(d) | other`` but
175they are almost same performance for now.
176
177..
178
179.. bpo: 28029
180.. date: 2019-10-29-09-38-54
181.. nonce: AmRMEF
182.. section: Core and Builtins
183
184``"".replace("", s, n)`` now returns ``s`` instead of an empty string for
185all non-zero ``n``. There are similar changes for :class:`bytes` and
186:class:`bytearray` objects.
187
188..
189
190.. bpo: 38535
191.. date: 2019-10-20-12-43-48
192.. nonce: ESMkVN
193.. section: Core and Builtins
194
195Fixed line numbers and column offsets for AST nodes for calls without
196arguments in decorators.
197
198..
199
200.. bpo: 38525
201.. date: 2019-10-20-00-36-18
202.. nonce: Vty1cA
203.. section: Core and Builtins
204
205Fix a segmentation fault when using reverse iterators of empty ``dict``
206objects. Patch by Dong-hee Na and Inada Naoki.
207
208..
209
210.. bpo: 38465
211.. date: 2019-10-19-12-44-13
212.. nonce: V1L8c4
213.. section: Core and Builtins
214
215:class:`bytearray`, :class:`~array.array` and :class:`~mmap.mmap` objects
216allow now to export more than 2**31 buffers at a time.
217
218..
219
220.. bpo: 38469
221.. date: 2019-10-13-23-41-38
222.. nonce: 9kmuQj
223.. section: Core and Builtins
224
225Fixed a bug where the scope of named expressions was not being resolved
226correctly in the presence of the *global* keyword. Patch by Pablo Galindo.
227
228..
229
230.. bpo: 38437
231.. date: 2019-10-10-20-42-09
232.. nonce: z_0mZp
233.. section: Core and Builtins
234
235Activate the ``GC_DEBUG`` macro for debug builds of the interpreter (when
236``Py_DEBUG`` is set). Patch by Pablo Galindo.
237
238..
239
240.. bpo: 38379
241.. date: 2019-10-10-01-41-02
242.. nonce: _q4dhn
243.. section: Core and Builtins
244
245When the garbage collector makes a collection in which some objects
246resurrect (they are reachable from outside the isolated cycles after the
247finalizers have been executed), do not block the collection of all objects
248that are still unreachable. Patch by Pablo Galindo and Tim Peters.
249
250..
251
252.. bpo: 38379
253.. date: 2019-10-09-16-50-52
254.. nonce: oz5qZx
255.. section: Core and Builtins
256
257When cyclic garbage collection (gc) runs finalizers that resurrect
258unreachable objects, the current gc run ends, without collecting any cyclic
259trash. However, the statistics reported by ``collect()`` and
260``get_stats()`` claimed that all cyclic trash found was collected, and that
261the resurrected objects were collected. Changed the stats to report that
262none were collected.
263
264..
265
266.. bpo: 38392
267.. date: 2019-10-07-22-51-39
268.. nonce: KaXXps
269.. section: Core and Builtins
270
271In debug mode, :c:func:`PyObject_GC_Track` now calls ``tp_traverse()`` of
272the object type to ensure that the object is valid: test that objects
273visited by ``tp_traverse()`` are valid.
274
275..
276
277.. bpo: 38210
278.. date: 2019-10-06-15-01-57
279.. nonce: Xgc6F_
280.. section: Core and Builtins
281
282Remove unecessary intersection and update set operation in dictview with
283empty set. (Contributed by Dong-hee Na in :issue:`38210`.)
284
285..
286
287.. bpo: 38402
288.. date: 2019-10-05-19-36-16
289.. nonce: EZuzgK
290.. section: Core and Builtins
291
292Check the error from the system's underlying ``crypt`` or ``crypt_r``.
293
294..
295
296.. bpo: 37474
297.. date: 2019-10-01-12-46-30
298.. nonce: cB3se1
299.. section: Core and Builtins
300
301On FreeBSD, Python no longer calls ``fedisableexcept()`` at startup to
302control the floating point control mode. The call became useless since
303FreeBSD 6: it became the default mode.
304
305..
306
307.. bpo: 38006
308.. date: 2019-09-30-09-33-21
309.. nonce: UYlJum
310.. section: Core and Builtins
311
312Fix a bug due to the interaction of weakrefs and the cyclic garbage
313collector. We must clear any weakrefs in garbage in order to prevent their
314callbacks from executing and causing a crash.
315
316..
317
318.. bpo: 38317
319.. date: 2019-09-30-00-56-21
320.. nonce: pmqlIQ
321.. section: Core and Builtins
322
323Fix warnings options priority: ``PyConfig.warnoptions`` has the highest
324priority, as stated in the :pep:`587`.
325
326..
327
328.. bpo: 38310
329.. date: 2019-09-28-22-54-25
330.. nonce: YDTbEo
331.. section: Core and Builtins
332
333Predict ``BUILD_MAP_UNPACK_WITH_CALL`` -> ``CALL_FUNCTION_EX`` opcode pairs
334in the main interpreter loop. Patch by Brandt Bucher.
335
336..
337
338.. bpo: 36871
339.. date: 2019-09-24-18-45-46
340.. nonce: p47knk
341.. section: Core and Builtins
342
343Improve error handling for the assert_has_calls and assert_has_awaits
344methods of mocks. Fixed a bug where any errors encountered while binding the
345expected calls to the mock's spec were silently swallowed, leading to
346misleading error output.
347
348..
349
350.. bpo: 11410
351.. date: 2019-09-24-05-32-27
352.. nonce: vS182p
353.. section: Core and Builtins
354
355Better control over symbol visibility is provided through use of the
356visibility attributes available in gcc >= 4.0, provided in a uniform way
357across POSIX and Windows. The POSIX build files have been updated to compile
358with -fvisibility=hidden, minimising exported symbols.
359
360..
361
362.. bpo: 38219
363.. date: 2019-09-22-13-56-18
364.. nonce: rFl7JD
365.. section: Core and Builtins
366
367Optimized the :class:`dict` constructor and the :meth:`~dict.update` method
368for the case when the argument is a dict.
369
370..
371
372.. bpo: 38236
373.. date: 2019-09-20-19-06-23
374.. nonce: eQ0Tmj
375.. section: Core and Builtins
376
377Python now dumps path configuration if it fails to import the Python codecs
378of the filesystem and stdio encodings.
379
380..
381
382.. bpo: 38013
383.. date: 2019-09-12-19-50-01
384.. nonce: I7btD0
385.. section: Core and Builtins
386
387Allow to call ``async_generator_athrow().throw(...)`` even for non-started
388async generator helper. It fixes annoying warning at the end of
389:func:`asyncio.run` call.
390
391..
392
393.. bpo: 38124
394.. date: 2019-09-12-00-14-01
395.. nonce: n6E0H7
396.. section: Core and Builtins
397
398Fix an off-by-one error in PyState_AddModule that could cause out-of-bounds
399memory access.
400
401..
402
403.. bpo: 38116
404.. date: 2019-09-11-14-49-42
405.. nonce: KDwmwt
406.. section: Core and Builtins
407
408The select module is now PEP-384 compliant and no longer has static state
409
410..
411
412.. bpo: 38113
413.. date: 2019-09-11-14-10-02
414.. nonce: yZXC3P
415.. section: Core and Builtins
416
417ast module updated to PEP-384 and all statics removed
418
419..
420
421.. bpo: 38076
422.. date: 2019-09-09-16-36-37
423.. nonce: C5dVBl
424.. section: Core and Builtins
425
426The struct module is now PEP-384 compatible
427
428..
429
430.. bpo: 38075
431.. date: 2019-09-09-15-59-50
432.. nonce: N8OZKF
433.. section: Core and Builtins
434
435The random module is now PEP-384 compatible
436
437..
438
439.. bpo: 38074
440.. date: 2019-09-09-15-40-57
441.. nonce: MsVbeI
442.. section: Core and Builtins
443
444zlib module made PEP-384 compatible
445
446..
447
448.. bpo: 38073
449.. date: 2019-09-09-15-17-58
450.. nonce: ZoKYOU
451.. section: Core and Builtins
452
453Make pwd extension module PEP-384 compatible
454
455..
456
457.. bpo: 38072
458.. date: 2019-09-09-15-00-42
459.. nonce: Y1xpDO
460.. section: Core and Builtins
461
462grp module made PEP-384 compatible
463
464..
465
466.. bpo: 38069
467.. date: 2019-09-09-14-46-05
468.. nonce: cn8XLv
469.. section: Core and Builtins
470
471Make _posixsubprocess PEP-384 compatible
472
473..
474
475.. bpo: 38071
476.. date: 2019-09-09-14-44-17
477.. nonce: bLwkBJ
478.. section: Core and Builtins
479
480Make termios extension module PEP-384 compatible
481
482..
483
484.. bpo: 38005
485.. date: 2019-09-02-20-00-31
486.. nonce: e7VsTA
487.. section: Core and Builtins
488
489Fixed comparing and creating of InterpreterID and ChannelID.
490
491..
492
493.. bpo: 36946
494.. date: 2019-09-02-16-17-42
495.. nonce: _lAuSR
496.. section: Core and Builtins
497
498Fix possible signed integer overflow when handling slices. Patch by
499hongweipeng.
500
501..
502
503.. bpo: 37994
504.. date: 2019-08-31-11-13-25
505.. nonce: Rj6S4j
506.. section: Core and Builtins
507
508Fixed silencing arbitrary errors if an attribute lookup fails in several
509sites. Only AttributeError should be silenced.
510
511..
512
513.. bpo: 8425
514.. date: 2019-08-29-01-55-38
515.. nonce: FTq4A8
516.. section: Core and Builtins
517
518Optimize set difference_update for the case when the other set is much
519larger than the base set. (Suggested by Evgeny Kapun with code contributed
520by Michele OrrĂč).
521
522..
523
524.. bpo: 37966
525.. date: 2019-08-27-21-21-36
526.. nonce: 5OBLez
527.. section: Core and Builtins
528
529The implementation of :func:`~unicodedata.is_normalized` has been greatly
530sped up on strings that aren't normalized, by implementing the full
531normalization-quick-check algorithm from the Unicode standard.
532
533..
534
535.. bpo: 37947
536.. date: 2019-08-26-04-09-57
537.. nonce: mzAQtB
538.. section: Core and Builtins
539
540Adjust correctly the recursion level in the symtable generation for named
541expressions. Patch by Pablo Galindo.
542
543..
544
545.. bpo: 37812
546.. date: 2019-08-23-22-46-25
547.. nonce: vsWZwS
548.. section: Core and Builtins
549
550The ``CHECK_SMALL_INT`` macro used inside :file:`Object/longobject.c` has
551been replaced with an explicit ``return`` at each call site.
552
553..
554
555.. bpo: 37751
556.. date: 2019-08-20-04-36-37
557.. nonce: CSFzUd
558.. section: Core and Builtins
559
560Fix :func:`codecs.lookup` to normalize the encoding name the same way than
561:func:`encodings.normalize_encoding`, except that :func:`codecs.lookup` also
562converts the name to lower case.
563
564..
565
566.. bpo: 37830
567.. date: 2019-08-17-18-41-59
568.. nonce: fNfMbz
569.. section: Core and Builtins
570
571Fixed compilation of :keyword:`break` and :keyword:`continue` in the
572:keyword:`finally` block when the corresponding :keyword:`try` block
573contains :keyword:`return` with a non-constant value.
574
575..
576
577.. bpo: 20490
578.. date: 2019-08-15-12-48-36
579.. nonce: -hXeEn
580.. section: Core and Builtins
581
582Improve import error message for partially initialized module on circular
583``from`` imports - by Anthony Sottile.
584
585..
586
587.. bpo: 37840
588.. date: 2019-08-13-18-05-20
589.. nonce: elLCci
590.. section: Core and Builtins
591
592Fix handling of negative indices in :c:member:`~PySequenceMethods.sq_item`
593of :class:`bytearray`. Patch by Sergey Fedoseev.
594
595..
596
597.. bpo: 37802
598.. date: 2019-08-09-18-28-57
599.. nonce: pKxcAW
600.. section: Core and Builtins
601
602Slightly improve performance of :c:func:`PyLong_FromUnsignedLong`,
603:c:func:`PyLong_FromUnsignedLongLong` and :c:func:`PyLong_FromSize_t`. Patch
604by Sergey Fedoseev.
605
606..
607
608.. bpo: 37409
609.. date: 2019-08-06-23-39-05
610.. nonce: 1qwzn2
611.. section: Core and Builtins
612
613Ensure explicit relative imports from interactive sessions and scripts
614(having no parent package) always raise ImportError, rather than treating
615the current module as the package. Patch by Ben Lewis.
616
617..
618
619.. bpo: 32912
620.. date: 2019-08-06-14-03-59
621.. nonce: UDwSMJ
622.. section: Core and Builtins
623
624Reverted :issue:`32912`: emitting :exc:`SyntaxWarning` instead of
625:exc:`DeprecationWarning` for invalid escape sequences in string and bytes
626literals.
627
628..
629
630.. bpo: 37757
631.. date: 2019-08-05-14-22-59
632.. nonce: lRv5HX
633.. section: Core and Builtins
634
635:pep:`572`: As described in the PEP, assignment expressions now raise
636:exc:`SyntaxError` when their interaction with comprehension scoping results
637in an ambiguous target scope.
638
639The ``TargetScopeError`` subclass originally proposed by the PEP has been
640removed in favour of just raising regular syntax errors for the disallowed
641cases.
642
643..
644
645.. bpo: 36279
646.. date: 2019-08-04-12-24-18
647.. nonce: 8Zy7jZ
648.. section: Core and Builtins
649
650Fix potential use of uninitialized memory in :func:`os.wait3`.
651
652..
653
654.. bpo: 36311
655.. date: 2019-08-02-15-01-33
656.. nonce: uY5vt-
657.. section: Core and Builtins
658
659Decoding bytes objects larger than 2GiB is faster and no longer fails when a
660multibyte characters spans a chunk boundary.
661
662..
663
664.. bpo: 34880
665.. date: 2019-08-01-10-45-51
666.. nonce: u_x_CG
667.. section: Core and Builtins
668
669The :keyword:`assert` statement now works properly if the
670:exc:`AssertionError` exception is being shadowed. Patch by Zackery Spytz.
671
672..
673
674.. bpo: 37340
675.. date: 2019-07-25-11-06-57
676.. nonce: 5ktLEg
677.. section: Core and Builtins
678
679Removed object cache (``free_list``) for bound method objects. Temporary
680bound method objects are less used than before thanks to the ``LOAD_METHOD``
681opcode and the ``_PyObject_VectorcallMethod`` C API.
682
683..
684
685.. bpo: 37648
686.. date: 2019-07-22-11-05-05
687.. nonce: 6TY2L-
688.. section: Core and Builtins
689
690Fixed minor inconsistency in :meth:`list.__contains__`,
691:meth:`tuple.__contains__` and a few other places. The collection's item is
692now always at the left and the needle is on the right of ``==``.
693
694..
695
696.. bpo: 37444
697.. date: 2019-07-20-22-34-42
698.. nonce: UOd3Xs
699.. section: Core and Builtins
700
701Update differing exception between :meth:`builtins.__import__` and
702:meth:`importlib.__import__`.
703
704..
705
706.. bpo: 37619
707.. date: 2019-07-18-11-50-49
708.. nonce: X6Lulo
709.. section: Core and Builtins
710
711When adding a wrapper descriptor from one class to a different class (for
712example, setting ``__add__ = str.__add__`` on an ``int`` subclass), an
713exception is correctly raised when the operator is called.
714
715..
716
717.. bpo: 37593
718.. date: 2019-07-14-23-57-27
719.. nonce: yHSTwH
720.. section: Core and Builtins
721
722Swap the positions of the *posonlyargs* and *args* parameters in the
723constructor of :class:`ast.parameters` nodes.
724
725..
726
727.. bpo: 37543
728.. date: 2019-07-10-20-33-53
729.. nonce: EvI19D
730.. section: Core and Builtins
731
732Optimized pymalloc for non PGO build.
733
734..
735
736.. bpo: 37537
737.. date: 2019-07-10-09-56-47
738.. nonce: OkB0wd
739.. section: Core and Builtins
740
741Compute allocated pymalloc blocks inside _Py_GetAllocatedBlocks(). This
742slows down _Py_GetAllocatedBlocks() but gives a small speedup to
743_PyObject_Malloc() and _PyObject_Free().
744
745..
746
747.. bpo: 37467
748.. date: 2019-07-01-12-22-44
749.. nonce: u-XyEu
750.. section: Core and Builtins
751
752Fix :func:`sys.excepthook` and :c:func:`PyErr_Display` if a filename is a
753bytes string. For example, for a SyntaxError exception where the filename
754attribute is a bytes string.
755
756..
757
758.. bpo: 37433
759.. date: 2019-06-27-15-01-14
760.. nonce: amNGqr
761.. section: Core and Builtins
762
763Fix ``SyntaxError`` indicator printing too many spaces for multi-line
764strings - by Anthony Sottile.
765
766..
767
768.. bpo: 37417
769.. date: 2019-06-26-18-41-00
770.. nonce: VsZeHL
771.. section: Core and Builtins
772
773:meth:`bytearray.extend` now correctly handles errors that arise during
774iteration. Patch by Brandt Bucher.
775
776..
777
778.. bpo: 37414
779.. date: 2019-06-26-17-27-26
780.. nonce: o6Lnbc
781.. section: Core and Builtins
782
783The undocumented ``sys.callstats()`` function has been removed. Since Python
7843.7, it was deprecated and always returned ``None``. It required a special
785build option ``CALL_PROFILE`` which was already removed in Python 3.7.
786
787..
788
789.. bpo: 37392
790.. date: 2019-06-25-01-45-06
791.. nonce: J3JhIx
792.. section: Core and Builtins
793
794Remove ``sys.getcheckinterval()`` and ``sys.setcheckinterval()`` functions.
795They were deprecated since Python 3.2. Use :func:`sys.getswitchinterval` and
796:func:`sys.setswitchinterval` instead. Remove also ``check_interval`` field
797of the ``PyInterpreterState`` structure.
798
799..
800
801.. bpo: 37388
802.. date: 2019-06-24-21-53-52
803.. nonce: 0XTZmW
804.. section: Core and Builtins
805
806In development mode and in debug build, *encoding* and *errors* arguments
807are now checked on string encoding and decoding operations. Examples:
808:func:`open`, :meth:`str.encode` and :meth:`bytes.decode`.
809
810By default, for best performances, the *errors* argument is only checked at
811the first encoding/decoding error, and the *encoding* argument is sometimes
812ignored for empty strings.
813
814..
815
816.. bpo: 37348
817.. date: 2019-06-23-00-26-30
818.. nonce: pp8P-x
819.. section: Core and Builtins
820
821Optimized decoding short ASCII string with UTF-8 and ascii codecs.
822``b"foo".decode()`` is about 15% faster. Patch by Inada Naoki.
823
824..
825
826.. bpo: 24214
827.. date: 2019-06-22-12-45-20
828.. nonce: hIiHeD
829.. section: Core and Builtins
830
831Improved support of the surrogatepass error handler in the UTF-8 and UTF-16
832incremental decoders.
833
834..
835
836.. bpo: 37330
837.. date: 2019-06-18-17-53-06
838.. nonce: wAvHmz
839.. section: Core and Builtins
840
841:func:`open`, :func:`io.open`, :func:`codecs.open` and
842:class:`fileinput.FileInput` no longer accept ``'U'`` ("universal newline")
843in the file mode. This flag was deprecated since Python 3.3.
844
845..
846
847.. bpo: 35224
848.. date: 2019-06-17-06-03-55
849.. nonce: FHWPGv
850.. section: Core and Builtins
851
852Reverse evaluation order of key: value in dict comprehensions as proposed in
853PEP 572. I.e. in ``{k: v for ...}``, ``k`` will be evaluated before ``v``.
854
855..
856
857.. bpo: 37316
858.. date: 2019-06-17-03-53-16
859.. nonce: LytDX_
860.. section: Core and Builtins
861
862Fix the :c:func:`PySys_Audit` call in :class:`mmap.mmap`.
863
864..
865
866.. bpo: 37300
867.. date: 2019-06-16-02-38-25
868.. nonce: WJkgKV
869.. section: Core and Builtins
870
871Remove an unnecssary Py_XINCREF in classobject.c.
872
873..
874
875.. bpo: 37269
876.. date: 2019-06-14-06-32-33
877.. nonce: SjVVAe
878.. section: Core and Builtins
879
880Fix a bug in the peephole optimizer that was not treating correctly constant
881conditions with binary operators. Patch by Pablo Galindo.
882
883..
884
885.. bpo: 20443
886.. date: 2019-06-13-12-55-38
887.. nonce: bQWAxg
888.. section: Core and Builtins
889
890Python now gets the absolute path of the script filename specified on the
891command line (ex: "python3 script.py"): the __file__ attribute of the
892__main__ module and sys.path[0] become an absolute path, rather than a
893relative path.
894
895..
896
897.. bpo: 37257
898.. date: 2019-06-13-02-27-12
899.. nonce: IMxDvT
900.. section: Core and Builtins
901
902Python's small object allocator (``obmalloc.c``) now allows (no more than)
903one empty arena to remain available for immediate reuse, without returning
904it to the OS. This prevents thrashing in simple loops where an arena could
905be created and destroyed anew on each iteration.
906
907..
908
909.. bpo: 37231
910.. date: 2019-06-12-14-39-16
911.. nonce: LF41Es
912.. section: Core and Builtins
913
914The dispatching of type slots to special methods (for example calling
915``__mul__`` when doing ``x * y``) has been made faster.
916
917..
918
919.. bpo: 36974
920.. date: 2019-06-11-12-59-38
921.. nonce: bVYmSA
922.. section: Core and Builtins
923
924Implemented separate vectorcall functions for every calling convention of
925builtin functions and methods. This improves performance for calls.
926
927..
928
929.. bpo: 37213
930.. date: 2019-06-11-11-15-19
931.. nonce: UPii5K
932.. section: Core and Builtins
933
934Handle correctly negative line offsets in the peephole optimizer. Patch by
935Pablo Galindo.
936
937..
938
939.. bpo: 37219
940.. date: 2019-06-10-23-18-31
941.. nonce: jPSufq
942.. section: Core and Builtins
943
944Remove erroneous optimization for empty set differences.
945
946..
947
948.. bpo: 15913
949.. date: 2019-06-06-20-52-38
950.. nonce: 5Sg5cv
951.. section: Core and Builtins
952
953Implement :c:func:`PyBuffer_SizeFromFormat()` function (previously
954documented but not implemented): call :func:`struct.calcsize`. Patch by
955Joannah Nanjekye.
956
957..
958
959.. bpo: 36922
960.. date: 2019-06-06-13-59-52
961.. nonce: EMZ3TF
962.. section: Core and Builtins
963
964Slot functions optimize any callable with ``Py_TPFLAGS_METHOD_DESCRIPTOR``
965instead of only instances of ``function``.
966
967..
968
969.. bpo: 36974
970.. date: 2019-06-06-11-00-55
971.. nonce: wdzzym
972.. section: Core and Builtins
973
974The slot ``tp_vectorcall_offset`` is inherited unconditionally to support
975``super().__call__()`` when the base class uses vectorcall.
976
977..
978
979.. bpo: 37160
980.. date: 2019-06-05-09-24-17
981.. nonce: O3IAY3
982.. section: Core and Builtins
983
984:func:`threading.get_native_id` now also supports NetBSD.
985
986..
987
988.. bpo: 37077
989.. date: 2019-05-28-11-47-44
990.. nonce: S1h0Fc
991.. section: Core and Builtins
992
993Add :func:`threading.get_native_id` support for AIX. Patch by M. Felt
994
995..
996
997.. bpo: 36781
998.. date: 2019-05-06-09-59-31
999.. nonce: uocWt6
1000.. section: Core and Builtins
1001
1002:func:`sum` has been optimized for boolean values.
1003
1004..
1005
1006.. bpo: 34556
1007.. date: 2019-05-05-18-09-40
1008.. nonce: o9kfpu
1009.. section: Core and Builtins
1010
1011Add ``--upgrade-deps`` to venv module. Patch by Cooper Ry Lees
1012
1013..
1014
1015.. bpo: 20523
1016.. date: 2019-02-15-20-42-36
1017.. nonce: rRLrvr
1018.. section: Core and Builtins
1019
1020``pdb.Pdb`` supports ~/.pdbrc in Windows 7. Patch by Tim Hopper and Dan
1021Lidral-Porter.
1022
1023..
1024
1025.. bpo: 35551
1026.. date: 2019-01-18-16-16-27
1027.. nonce: oF5pbO
1028.. section: Core and Builtins
1029
1030Updated encodings: - Removed the "tis260" encoding, which was an alias for
1031the nonexistent "tactis" codec. - Added "mac_centeuro" as an alias for the
1032mac_latin2 encoding.
1033
1034..
1035
1036.. bpo: 19072
1037.. date: 2018-07-23-13-09-54
1038.. nonce: Gc59GS
1039.. section: Core and Builtins
1040
1041The :class:`classmethod` decorator can now wrap other descriptors such as
1042property objects. Adapted from a patch written by Graham Dumpleton.
1043
1044..
1045
1046.. bpo: 27575
1047.. date: 2018-06-14-13-55-45
1048.. nonce: mMYgzv
1049.. section: Core and Builtins
1050
1051Improve speed of dictview intersection by directly using set intersection
1052logic. Patch by David Su.
1053
1054..
1055
1056.. bpo: 30773
1057.. date: 2018-06-07-01-01-20
1058.. nonce: C31rVE
1059.. section: Core and Builtins
1060
1061Prohibit parallel running of aclose() / asend() / athrow(). Fix ag_running
1062to reflect the actual running status of the AG.
1063
1064..
1065
1066.. bpo: 36589
1067.. date: 2019-11-16-22-56-51
1068.. nonce: 0Io76D
1069.. section: Library
1070
1071The :func:`curses.update_lines_cols` function now returns ``None`` instead
1072of ``1`` on success.
1073
1074..
1075
1076.. bpo: 38807
1077.. date: 2019-11-15-09-30-29
1078.. nonce: PsmRog
1079.. section: Library
1080
1081Update :exc:`TypeError` messages for :meth:`os.path.join` to include
1082:class:`os.PathLike` objects as acceptable input types.
1083
1084..
1085
1086.. bpo: 38724
1087.. date: 2019-11-14-14-13-29
1088.. nonce: T5ySfR
1089.. section: Library
1090
1091Add a repr for ``subprocess.Popen`` objects. Patch by Andrey Doroschenko.
1092
1093..
1094
1095.. bpo: 38786
1096.. date: 2019-11-13-16-49-03
1097.. nonce: gNOwKh
1098.. section: Library
1099
1100pydoc now recognizes and parses HTTPS URLs. Patch by python273.
1101
1102..
1103
1104.. bpo: 38785
1105.. date: 2019-11-13-16-17-43
1106.. nonce: NEOEfk
1107.. section: Library
1108
1109Prevent asyncio from crashing if parent ``__init__`` is not called from a
1110constructor of object derived from ``asyncio.Future``.
1111
1112..
1113
1114.. bpo: 38723
1115.. date: 2019-11-12-15-46-28
1116.. nonce: gcdMFn
1117.. section: Library
1118
1119:mod:`pdb` now uses :meth:`io.open_code` to trigger auditing events.
1120
1121..
1122
1123.. bpo: 27805
1124.. date: 2019-11-11-21-43-06
1125.. nonce: D3zl1_
1126.. section: Library
1127
1128Allow opening pipes and other non-seekable files in append mode with
1129:func:`open`.
1130
1131..
1132
1133.. bpo: 38438
1134.. date: 2019-11-11-06-14-25
1135.. nonce: vSVeHN
1136.. section: Library
1137
1138Simplify the :mod:`argparse` usage message for ``nargs="*"``.
1139
1140..
1141
1142.. bpo: 38761
1143.. date: 2019-11-10-13-40-33
1144.. nonce: P1UUIZ
1145.. section: Library
1146
1147WeakSet is now registered as a collections.abc.MutableSet.
1148
1149..
1150
1151.. bpo: 38716
1152.. date: 2019-11-06-15-58-07
1153.. nonce: R3uMLT
1154.. section: Library
1155
1156logging: change RotatingHandler namer and rotator to class-level attributes.
1157This stops __init__ from setting them to None in the case where a subclass
1158defines them with eponymous methods.
1159
1160..
1161
1162.. bpo: 38713
1163.. date: 2019-11-05-21-22-22
1164.. nonce: bmhquU
1165.. section: Library
1166
1167Add :data:`os.P_PIDFD` constant, which may be passed to :func:`os.waitid` to
1168wait on a Linux process file descriptor.
1169
1170..
1171
1172.. bpo: 38692
1173.. date: 2019-11-05-19-15-57
1174.. nonce: 2DCDA-
1175.. section: Library
1176
1177Add :class:`asyncio.PidfdChildWatcher`, a Linux-specific child watcher
1178implementation that polls process file descriptors.
1179
1180..
1181
1182.. bpo: 38692
1183.. date: 2019-11-05-07-18-24
1184.. nonce: UpatA7
1185.. section: Library
1186
1187Expose the Linux ``pidfd_open`` syscall as :func:`os.pidfd_open`.
1188
1189..
1190
1191.. bpo: 38602
1192.. date: 2019-10-27-22-29-45
1193.. nonce: 7jvYFA
1194.. section: Library
1195
1196Added constants :data:`~fcntl.F_OFD_GETLK`, :data:`~fcntl.F_OFD_SETLK` and
1197:data:`~fcntl.F_OFD_SETLKW` to the :mod:`fcntl` module. Patch by Dong-hee
1198Na.
1199
1200..
1201
1202.. bpo: 38334
1203.. date: 2019-10-27-00-08-49
1204.. nonce: pfLLmc
1205.. section: Library
1206
1207Fixed seeking backward on an encrypted :class:`zipfile.ZipExtFile`.
1208
1209..
1210
1211.. bpo: 38312
1212.. date: 2019-10-26-14-42-20
1213.. nonce: e_FVWh
1214.. section: Library
1215
1216Add :func:`curses.get_escdelay`, :func:`curses.set_escdelay`,
1217:func:`curses.get_tabsize`, and :func:`curses.set_tabsize` functions - by
1218Anthony Sottile.
1219
1220..
1221
1222.. bpo: 38586
1223.. date: 2019-10-24-17-26-39
1224.. nonce: cyq5nr
1225.. section: Library
1226
1227Now :func:`~logging.config.fileConfig` correcty sets the .name of handlers
1228loaded.
1229
1230..
1231
1232.. bpo: 38565
1233.. date: 2019-10-24-08-10-30
1234.. nonce: SWSUst
1235.. section: Library
1236
1237Add new cache_parameters() method for functools.lru_cache() to better
1238support pickling.
1239
1240..
1241
1242.. bpo: 34679
1243.. date: 2019-10-23-16-25-12
1244.. nonce: Bnw8o3
1245.. section: Library
1246
1247asynci.ProactorEventLoop.close() now only calls signal.set_wakeup_fd() in
1248the main thread.
1249
1250..
1251
1252.. bpo: 31202
1253.. date: 2019-10-20-12-04-48
1254.. nonce: NfdIus
1255.. section: Library
1256
1257The case the result of :func:`pathlib.WindowsPath.glob` matches now the case
1258of the pattern for literal parts.
1259
1260..
1261
1262.. bpo: 36321
1263.. date: 2019-10-19-21-41-20
1264.. nonce: CFlxfy
1265.. section: Library
1266
1267Remove misspelled attribute. The 3.8 changelog noted that this would be
1268removed in 3.9.
1269
1270..
1271
1272.. bpo: 38521
1273.. date: 2019-10-18-13-57-31
1274.. nonce: U-7aaM
1275.. section: Library
1276
1277Fixed erroneous equality comparison in statistics.NormalDist().
1278
1279..
1280
1281.. bpo: 38493
1282.. date: 2019-10-16-19-56-51
1283.. nonce: 86ExWB
1284.. section: Library
1285
1286Added :data:`~os.CLD_KILLED` and :data:`~os.CLD_STOPPED` for
1287:attr:`si_code`. Patch by Dong-hee Na.
1288
1289..
1290
1291.. bpo: 38478
1292.. date: 2019-10-15-11-37-57
1293.. nonce: A87OPO
1294.. section: Library
1295
1296Fixed a bug in :meth:`inspect.signature.bind` that was causing it to fail
1297when handling a keyword argument with same name as positional-only
1298parameter. Patch by Pablo Galindo.
1299
1300..
1301
1302.. bpo: 33604
1303.. date: 2019-10-15-09-47-40
1304.. nonce: J12cWT
1305.. section: Library
1306
1307Fixed `hmac.new` and `hmac.HMAC` to raise TypeError instead of ValueError
1308when the digestmod parameter, now required in 3.8, is omitted. Also
1309clarified the hmac module documentation and docstrings.
1310
1311..
1312
1313.. bpo: 38378
1314.. date: 2019-10-13-11-00-03
1315.. nonce: yYNpSm
1316.. section: Library
1317
1318Parameters *out* and *in* of :func:`os.sendfile` was renamed to *out_fd* and
1319*in_fd*.
1320
1321..
1322
1323.. bpo: 38417
1324.. date: 2019-10-12-00-13-47
1325.. nonce: W7x_aS
1326.. section: Library
1327
1328Added support for setting the umask in the child process to the subprocess
1329module on POSIX systems.
1330
1331..
1332
1333.. bpo: 38449
1334.. date: 2019-10-11-18-49-00
1335.. nonce: 9TWMlz
1336.. section: Library
1337
1338Revert GH-15522, which introduces a regression in
1339:meth:`mimetypes.guess_type` due to improper handling of filenames as urls.
1340
1341..
1342
1343.. bpo: 38431
1344.. date: 2019-10-10-16-53-00
1345.. nonce: d5wzNp
1346.. section: Library
1347
1348Fix ``__repr__`` method for :class:`dataclasses.InitVar` to support typing
1349objects, patch by Samuel Colvin.
1350
1351..
1352
1353.. bpo: 38109
1354.. date: 2019-10-10-00-25-28
1355.. nonce: 9w-IGF
1356.. section: Library
1357
1358Add missing :data:`stat.S_IFDOOR`, :data:`stat.S_IFPORT`,
1359:data:`stat.S_IFWHT`, :func:`stat.S_ISDOOR`, :func:`stat.S_ISPORT`, and
1360:func:`stat.S_ISWHT` values to the Python implementation of :mod:`stat`.
1361
1362..
1363
1364.. bpo: 38422
1365.. date: 2019-10-09-18-16-51
1366.. nonce: aiM5bq
1367.. section: Library
1368
1369Clarify docstrings of pathlib suffix(es)
1370
1371..
1372
1373.. bpo: 38405
1374.. date: 2019-10-08-11-18-40
1375.. nonce: 0-7e7s
1376.. section: Library
1377
1378Nested subclasses of :class:`typing.NamedTuple` are now pickleable.
1379
1380..
1381
1382.. bpo: 38332
1383.. date: 2019-10-05-02-07-52
1384.. nonce: hwrPN7
1385.. section: Library
1386
1387Prevent :exc:`KeyError` thrown by :func:`_encoded_words.decode` when given
1388an encoded-word with invalid content-type encoding from propagating all the
1389way to :func:`email.message.get`.
1390
1391..
1392
1393.. bpo: 38371
1394.. date: 2019-10-04-18-39-59
1395.. nonce: S6Klvm
1396.. section: Library
1397
1398Deprecated the ``split()`` method in :class:`_tkinter.TkappType` in favour
1399of the ``splitlist()`` method which has more consistent and predicable
1400behavior.
1401
1402..
1403
1404.. bpo: 38341
1405.. date: 2019-10-01-21-06-18
1406.. nonce: uqwgU_
1407.. section: Library
1408
1409Add :exc:`smtplib.SMTPNotSupportedError` to the :mod:`smtplib` exported
1410names.
1411
1412..
1413
1414.. bpo: 38319
1415.. date: 2019-09-30-22-06-33
1416.. nonce: 5QjiDa
1417.. section: Library
1418
1419sendfile() used in socket and shutil modules was raising OverflowError for
1420files >= 2GiB on 32-bit architectures. (patch by Giampaolo Rodola)
1421
1422..
1423
1424.. bpo: 38242
1425.. date: 2019-09-30-00-15-27
1426.. nonce: uPIyAc
1427.. section: Library
1428
1429Revert the new asyncio Streams API
1430
1431..
1432
1433.. bpo: 13153
1434.. date: 2019-09-29-22-47-37
1435.. nonce: 0mO9qR
1436.. section: Library
1437
1438OS native encoding is now used for converting between Python strings and Tcl
1439objects. This allows to display, copy and paste to clipboard emoji and
1440other non-BMP characters. Converting strings from Tcl to Python and back
1441now never fails (except MemoryError).
1442
1443..
1444
1445.. bpo: 38019
1446.. date: 2019-09-29-13-50-24
1447.. nonce: 6MoOE3
1448.. section: Library
1449
1450Correctly handle pause/resume reading of closed asyncio unix pipe.
1451
1452..
1453
1454.. bpo: 38163
1455.. date: 2019-09-28-20-16-40
1456.. nonce: x51-vK
1457.. section: Library
1458
1459Child mocks will now detect their type as either synchronous or
1460asynchronous, asynchronous child mocks will be AsyncMocks and synchronous
1461child mocks will be either MagicMock or Mock (depending on their parent
1462type).
1463
1464..
1465
1466.. bpo: 38161
1467.. date: 2019-09-27-16-31-28
1468.. nonce: zehai1
1469.. section: Library
1470
1471Removes _AwaitEvent from AsyncMock.
1472
1473..
1474
1475.. bpo: 38216
1476.. date: 2019-09-27-15-24-45
1477.. nonce: -7yvZR
1478.. section: Library
1479
1480Allow the rare code that wants to send invalid http requests from the
1481`http.client` library a way to do so. The fixes for bpo-30458 led to
1482breakage for some projects that were relying on this ability to test their
1483own behavior in the face of bad requests.
1484
1485..
1486
1487.. bpo: 28286
1488.. date: 2019-09-26-12-16-30
1489.. nonce: LdSsrN
1490.. section: Library
1491
1492Deprecate opening :class:`~gzip.GzipFile` for writing implicitly. Always
1493specify the *mode* argument for writing.
1494
1495..
1496
1497.. bpo: 38108
1498.. date: 2019-09-25-21-37-02
1499.. nonce: Jr9HU6
1500.. section: Library
1501
1502Any synchronous magic methods on an AsyncMock now return a MagicMock. Any
1503asynchronous magic methods on a MagicMock now return an AsyncMock.
1504
1505..
1506
1507.. bpo: 38265
1508.. date: 2019-09-25-05-16-19
1509.. nonce: X6-gsT
1510.. section: Library
1511
1512Update the *length* parameter of :func:`os.pread` to accept
1513:c:type:`Py_ssize_t` instead of :c:type:`int`.
1514
1515..
1516
1517.. bpo: 38112
1518.. date: 2019-09-24-10-55-01
1519.. nonce: 2EinX9
1520.. section: Library
1521
1522:mod:`compileall` has a higher default recursion limit and new command-line
1523arguments for path manipulation, symlinks handling, and multiple
1524optimization levels.
1525
1526..
1527
1528.. bpo: 38248
1529.. date: 2019-09-22-13-05-36
1530.. nonce: Yo3N_1
1531.. section: Library
1532
1533asyncio: Fix inconsistent immediate Task cancellation
1534
1535..
1536
1537.. bpo: 38237
1538.. date: 2019-09-20-14-27-17
1539.. nonce: xRUZbx
1540.. section: Library
1541
1542The arguments for the builtin pow function are more descriptive. They can
1543now also be passed in as keywords.
1544
1545..
1546
1547.. bpo: 34002
1548.. date: 2019-09-19-19-58-33
1549.. nonce: KBnaVX
1550.. section: Library
1551
1552Improve efficiency in parts of email package by changing while-pop to a for
1553loop, using isdisjoint instead of set intersections.
1554
1555..
1556
1557.. bpo: 38191
1558.. date: 2019-09-17-12-28-27
1559.. nonce: 1TU0HV
1560.. section: Library
1561
1562Constructors of :class:`~typing.NamedTuple` and :class:`~typing.TypedDict`
1563types now accept arbitrary keyword argument names, including "cls", "self",
1564"typename", "_typename", "fields" and "_fields".
1565
1566..
1567
1568.. bpo: 38155
1569.. date: 2019-09-16-21-47-48
1570.. nonce: d92lRc
1571.. section: Library
1572
1573Add ``__all__`` to :mod:`datetime`. Patch by Tahia Khan.
1574
1575..
1576
1577.. bpo: 38185
1578.. date: 2019-09-16-19-12-57
1579.. nonce: zYWppY
1580.. section: Library
1581
1582Fixed case-insensitive string comparison in :class:`sqlite3.Row` indexing.
1583
1584..
1585
1586.. bpo: 38136
1587.. date: 2019-09-16-09-54-42
1588.. nonce: MdI-Zb
1589.. section: Library
1590
1591Changes AsyncMock call count and await count to be two different counters.
1592Now await count only counts when a coroutine has been awaited, not when it
1593has been called, and vice-versa. Update the documentation around this.
1594
1595..
1596
1597.. bpo: 37828
1598.. date: 2019-09-15-21-31-18
1599.. nonce: gLLDX7
1600.. section: Library
1601
1602Fix default mock name in :meth:`unittest.mock.Mock.assert_called`
1603exceptions. Patch by Abraham Toriz Cruz.
1604
1605..
1606
1607.. bpo: 38175
1608.. date: 2019-09-15-10-30-33
1609.. nonce: 61XlUv
1610.. section: Library
1611
1612Fix a memory leak in comparison of :class:`sqlite3.Row` objects.
1613
1614..
1615
1616.. bpo: 33936
1617.. date: 2019-09-14-10-34-00
1618.. nonce: 8wCI_n
1619.. section: Library
1620
1621_hashlib no longer calls obsolete OpenSSL initialization function with
1622OpenSSL 1.1.0+.
1623
1624..
1625
1626.. bpo: 34706
1627.. date: 2019-09-13-14-54-33
1628.. nonce: HWVpOY
1629.. section: Library
1630
1631Preserve subclassing in inspect.Signature.from_callable.
1632
1633..
1634
1635.. bpo: 38153
1636.. date: 2019-09-13-12-18-51
1637.. nonce: nHAbuJ
1638.. section: Library
1639
1640Names of hashing algorithms frome OpenSSL are now normalized to follow
1641Python's naming conventions. For example OpenSSL uses sha3-512 instead of
1642sha3_512 or blake2b512 instead of blake2b.
1643
1644..
1645
1646.. bpo: 38115
1647.. date: 2019-09-13-09-24-58
1648.. nonce: BOO-Y1
1649.. section: Library
1650
1651Fix a bug in dis.findlinestarts() where it would return invalid bytecode
1652offsets. Document that a code object's co_lnotab can contain invalid
1653bytecode offsets.
1654
1655..
1656
1657.. bpo: 38148
1658.. date: 2019-09-13-08-55-43
1659.. nonce: Lnww6D
1660.. section: Library
1661
1662Add slots to :mod:`asyncio` transport classes, which can reduce memory
1663usage.
1664
1665..
1666
1667.. bpo: 38142
1668.. date: 2019-09-12-18-41-35
1669.. nonce: 1I0Ch0
1670.. section: Library
1671
1672The _hashlib OpenSSL wrapper extension module is now PEP-384 compliant.
1673
1674..
1675
1676.. bpo: 9216
1677.. date: 2019-09-12-14-54-45
1678.. nonce: W7QMpC
1679.. section: Library
1680
1681hashlib constructors now support usedforsecurity flag to signal that a
1682hashing algorithm is not used in a security context.
1683
1684..
1685
1686.. bpo: 36991
1687.. date: 2019-09-12-14-52-38
1688.. nonce: 1OcSm8
1689.. section: Library
1690
1691Fixes a potential incorrect AttributeError exception escaping
1692ZipFile.extract() in some unsupported input error situations.
1693
1694..
1695
1696.. bpo: 38134
1697.. date: 2019-09-12-13-18-55
1698.. nonce: gXJTbP
1699.. section: Library
1700
1701Remove obsolete copy of PBKDF2_HMAC_fast. All supported OpenSSL versions
1702contain a fast implementation.
1703
1704..
1705
1706.. bpo: 38132
1707.. date: 2019-09-12-12-47-35
1708.. nonce: KSFx1F
1709.. section: Library
1710
1711The OpenSSL hashlib wrapper uses a simpler implementation. Several Macros
1712and pointless caches are gone. The hash name now comes from OpenSSL's EVP.
1713The algorithm name stays the same, except it is now always lower case.
1714
1715..
1716
1717.. bpo: 38008
1718.. date: 2019-09-12-10-47-34
1719.. nonce: sH74Iy
1720.. section: Library
1721
1722Fix parent class check in protocols to correctly identify the module that
1723provides a builtin protocol, instead of assuming they all come from the
1724:mod:`collections.abc` module
1725
1726..
1727
1728.. bpo: 34037
1729.. date: 2019-09-11-21-38-41
1730.. nonce: LIAS_3
1731.. section: Library
1732
1733For :mod:`asyncio`, add a new coroutine
1734:meth:`loop.shutdown_default_executor`. The new coroutine provides an API to
1735schedule an executor shutdown that waits on the threadpool to finish
1736closing. Also, :func:`asyncio.run` has been updated to utilize the new
1737coroutine. Patch by Kyle Stanley.
1738
1739..
1740
1741.. bpo: 37405
1742.. date: 2019-09-11-20-27-41
1743.. nonce: MG5xiY
1744.. section: Library
1745
1746Fixed regression bug for socket.getsockname() for non-CAN_ISOTP AF_CAN
1747address family sockets by returning a 1-tuple instead of string.
1748
1749..
1750
1751.. bpo: 38121
1752.. date: 2019-09-11-16-54-57
1753.. nonce: SrSDzB
1754.. section: Library
1755
1756Update parameter names on functions in importlib.metadata matching the
1757changes in the 0.22 release of importlib_metadata.
1758
1759..
1760
1761.. bpo: 38110
1762.. date: 2019-09-11-14-49-20
1763.. nonce: A19Y-q
1764.. section: Library
1765
1766The os.closewalk() implementation now uses the libc fdwalk() API on
1767platforms where it is available.
1768
1769..
1770
1771.. bpo: 38093
1772.. date: 2019-09-11-14-45-30
1773.. nonce: yQ6k7y
1774.. section: Library
1775
1776Fixes AsyncMock so it doesn't crash when used with AsyncContextManagers or
1777AsyncIterators.
1778
1779..
1780
1781.. bpo: 37488
1782.. date: 2019-09-11-11-44-16
1783.. nonce: S8CJUL
1784.. section: Library
1785
1786Add warning to :meth:`datetime.utctimetuple`, :meth:`datetime.utcnow` and
1787:meth:`datetime.utcfromtimestamp` .
1788
1789..
1790
1791.. bpo: 35640
1792.. date: 2019-09-10-15-52-55
1793.. nonce: X0lp5f
1794.. section: Library
1795
1796Allow passing a :term:`path-like object` as ``directory`` argument to the
1797:class:`http.server.SimpleHTTPRequestHandler` class. Patch by GĂ©ry Ogam.
1798
1799..
1800
1801.. bpo: 38086
1802.. date: 2019-09-10-11-42-59
1803.. nonce: w5TlG-
1804.. section: Library
1805
1806Update importlib.metadata with changes from `importlib_metadata 0.21
1807<https://gitlab.com/python-devs/importlib_metadata/blob/0.21/importlib_metadata/docs/changelog.rst>`_.
1808
1809..
1810
1811.. bpo: 37251
1812.. date: 2019-09-10-10-59-50
1813.. nonce: 8zn2o3
1814.. section: Library
1815
1816Remove `__code__` check in AsyncMock that incorrectly evaluated function
1817specs as async objects but failed to evaluate classes with `__await__` but
1818no `__code__` attribute defined as async objects.
1819
1820..
1821
1822.. bpo: 38037
1823.. date: 2019-09-09-18-39-23
1824.. nonce: B0UgFU
1825.. section: Library
1826
1827Fix reference counters in the :mod:`signal` module.
1828
1829..
1830
1831.. bpo: 38066
1832.. date: 2019-09-09-14-39-47
1833.. nonce: l9mWv-
1834.. section: Library
1835
1836Hide internal asyncio.Stream methods: feed_eof(), feed_data(),
1837set_exception() and set_transport().
1838
1839..
1840
1841.. bpo: 38059
1842.. date: 2019-09-08-11-36-50
1843.. nonce: 8SA6co
1844.. section: Library
1845
1846inspect.py now uses sys.exit() instead of exit()
1847
1848..
1849
1850.. bpo: 38049
1851.. date: 2019-09-07-12-32-50
1852.. nonce: xKP4tf
1853.. section: Library
1854
1855Added command-line interface for the :mod:`ast` module.
1856
1857..
1858
1859.. bpo: 37953
1860.. date: 2019-09-06-17-40-34
1861.. nonce: db5FQq
1862.. section: Library
1863
1864In :mod:`typing`, improved the ``__hash__`` and ``__eq__`` methods for
1865:class:`ForwardReferences`.
1866
1867..
1868
1869.. bpo: 38026
1870.. date: 2019-09-04-20-34-14
1871.. nonce: 0LLRX-
1872.. section: Library
1873
1874Fixed :func:`inspect.getattr_static` used ``isinstance`` while it should
1875avoid dynamic lookup.
1876
1877..
1878
1879.. bpo: 35923
1880.. date: 2019-09-03-01-41-35
1881.. nonce: lYpKbY
1882.. section: Library
1883
1884Update :class:`importlib.machinery.BuiltinImporter` to use
1885``loader._ORIGIN`` instead of a hardcoded value. Patch by Dong-hee Na.
1886
1887..
1888
1889.. bpo: 38010
1890.. date: 2019-09-02-14-30-39
1891.. nonce: JOnz9Z
1892.. section: Library
1893
1894In ``importlib.metadata`` sync with ``importlib_metadata`` 0.20, clarifying
1895behavior of ``files()`` and fixing issue where only one requirement was
1896returned for ``requires()`` on ``dist-info`` packages.
1897
1898..
1899
1900.. bpo: 38006
1901.. date: 2019-09-02-13-37-27
1902.. nonce: Y7vA0Q
1903.. section: Library
1904
1905weakref.WeakValueDictionary defines a local remove() function used as
1906callback for weak references. This function was created with a closure.
1907Modify the implementation to avoid the closure.
1908
1909..
1910
1911.. bpo: 37995
1912.. date: 2019-08-31-13-36-09
1913.. nonce: rS8HzT
1914.. section: Library
1915
1916Added the *indent* option to :func:`ast.dump` which allows it to produce a
1917multiline indented output.
1918
1919..
1920
1921.. bpo: 34410
1922.. date: 2019-08-31-01-52-59
1923.. nonce: 7KbWZQ
1924.. section: Library
1925
1926Fixed a crash in the :func:`tee` iterator when re-enter it. RuntimeError is
1927now raised in this case.
1928
1929..
1930
1931.. bpo: 37140
1932.. date: 2019-08-30-11-21-10
1933.. nonce: cFAX-a
1934.. section: Library
1935
1936Fix a ctypes regression of Python 3.8. When a ctypes.Structure is passed by
1937copy to a function, ctypes internals created a temporary object which had
1938the side effect of calling the structure finalizer (__del__) twice. The
1939Python semantics requires a finalizer to be called exactly once. Fix ctypes
1940internals to no longer call the finalizer twice.
1941
1942..
1943
1944.. bpo: 37587
1945.. date: 2019-08-29-18-48-48
1946.. nonce: N7TGTC
1947.. section: Library
1948
1949``_json.scanstring`` is now up to 3x faster when there are many backslash
1950escaped characters in the JSON string.
1951
1952..
1953
1954.. bpo: 37834
1955.. date: 2019-08-29-16-41-36
1956.. nonce: FThnsh
1957.. section: Library
1958
1959Prevent shutil.rmtree exception when built on non-Windows system without fd
1960system call support, like older versions of macOS.
1961
1962..
1963
1964.. bpo: 10978
1965.. date: 2019-08-29-01-19-13
1966.. nonce: J6FQYY
1967.. section: Library
1968
1969Semaphores and BoundedSemaphores can now release more than one waiting
1970thread at a time.
1971
1972..
1973
1974.. bpo: 37972
1975.. date: 2019-08-28-21-40-12
1976.. nonce: kP-n4L
1977.. section: Library
1978
1979Subscripts to the `unittest.mock.call` objects now receive the same chaining
1980mechanism as any other custom attributes, so that the following usage no
1981longer raises a `TypeError`:
1982
1983call().foo().__getitem__('bar')
1984
1985Patch by blhsing
1986
1987..
1988
1989.. bpo: 37965
1990.. date: 2019-08-28-14-04-18
1991.. nonce: 7xGE-C
1992.. section: Library
1993
1994Fix C compiler warning caused by distutils.ccompiler.CCompiler.has_function.
1995
1996..
1997
1998.. bpo: 37964
1999.. date: 2019-08-27-21-19-28
2000.. nonce: SxdnsF
2001.. section: Library
2002
2003Add ``F_GETPATH`` command to :mod:`fcntl`.
2004
2005..
2006
2007.. bpo: 37960
2008.. date: 2019-08-27-10-52-13
2009.. nonce: CTY7Lw
2010.. section: Library
2011
2012``repr()`` of buffered and text streams now silences only expected
2013exceptions when get the value of "name" and "mode" attributes.
2014
2015..
2016
2017.. bpo: 37961
2018.. date: 2019-08-27-10-30-44
2019.. nonce: 4nm0zZ
2020.. section: Library
2021
2022Add a ``total_nframe`` field to the traces collected by the tracemalloc
2023module. This field indicates the original number of frames before it was
2024truncated.
2025
2026..
2027
2028.. bpo: 37951
2029.. date: 2019-08-27-10-03-48
2030.. nonce: MfRQgL
2031.. section: Library
2032
2033Most features of the subprocess module now work again in subinterpreters.
2034Only *preexec_fn* is restricted in subinterpreters.
2035
2036..
2037
2038.. bpo: 36205
2039.. date: 2019-08-27-03-53-26
2040.. nonce: AfkGRl
2041.. section: Library
2042
2043Fix the rusage implementation of time.process_time() to correctly report the
2044sum of the system and user CPU time.
2045
2046..
2047
2048.. bpo: 37950
2049.. date: 2019-08-26-10-45-51
2050.. nonce: -K1IKT
2051.. section: Library
2052
2053Fix :func:`ast.dump` when call with incompletely initialized node.
2054
2055..
2056
2057.. bpo: 34679
2058.. date: 2019-08-25-18-07-48
2059.. nonce: HECzL7
2060.. section: Library
2061
2062Restores instantiation of Windows IOCP event loops from the non-main thread.
2063
2064..
2065
2066.. bpo: 36917
2067.. date: 2019-08-25-14-56-42
2068.. nonce: GBxdw2
2069.. section: Library
2070
2071Add default implementation of the :meth:`ast.NodeVisitor.visit_Constant`
2072method which emits a deprecation warning and calls corresponding methody
2073``visit_Num()``, ``visit_Str()``, etc.
2074
2075..
2076
2077.. bpo: 37798
2078.. date: 2019-08-24-16-54-49
2079.. nonce: 7mRQCk
2080.. section: Library
2081
2082Update test_statistics.py to verify that the statistics module works well
2083for both C and Python implementations. Patch by Dong-hee Na
2084
2085..
2086
2087.. bpo: 26589
2088.. date: 2019-08-23-00-55-19
2089.. nonce: M1xyxG
2090.. section: Library
2091
2092Added a new status code to the http module: 451
2093UNAVAILABLE_FOR_LEGAL_REASONS
2094
2095..
2096
2097.. bpo: 37915
2098.. date: 2019-08-22-16-13-27
2099.. nonce: xyoZI5
2100.. section: Library
2101
2102Fix a segmentation fault that appeared when comparing instances of
2103``datetime.timezone`` and ``datetime.tzinfo`` objects. Patch by Pablo
2104Galindo.
2105
2106..
2107
2108.. bpo: 32554
2109.. date: 2019-08-22-01-49-05
2110.. nonce: 4xiXyM
2111.. section: Library
2112
2113Deprecate having random.seed() call hash on arbitrary types.
2114
2115..
2116
2117.. bpo: 9938
2118.. date: 2019-08-21-16-38-56
2119.. nonce: t3G7N9
2120.. section: Library
2121
2122Add optional keyword argument ``exit_on_error`` for :class:`ArgumentParser`.
2123
2124..
2125
2126.. bpo: 37851
2127.. date: 2019-08-21-13-43-04
2128.. nonce: mIIfD_
2129.. section: Library
2130
2131The :mod:`faulthandler` module no longer allocates its alternative stack at
2132Python startup. Now the stack is only allocated at the first faulthandler
2133usage.
2134
2135..
2136
2137.. bpo: 32793
2138.. date: 2019-08-20-05-17-32
2139.. nonce: cgpXl6
2140.. section: Library
2141
2142Fix a duplicated debug message when :meth:`smtplib.SMTP.connect` is called.
2143
2144..
2145
2146.. bpo: 37885
2147.. date: 2019-08-19-10-31-41
2148.. nonce: 4Nc9sp
2149.. section: Library
2150
2151venv: Don't generate unset variable warning on deactivate.
2152
2153..
2154
2155.. bpo: 37868
2156.. date: 2019-08-17-22-33-54
2157.. nonce: hp64fi
2158.. section: Library
2159
2160Fix dataclasses.is_dataclass when given an instance that never raises
2161AttributeError in __getattr__. That is, an object that returns something
2162for __dataclass_fields__ even if it's not a dataclass.
2163
2164..
2165
2166.. bpo: 37811
2167.. date: 2019-08-14-21-41-07
2168.. nonce: d1xYj7
2169.. section: Library
2170
2171Fix ``socket`` module's ``socket.connect(address)`` function being unable to
2172establish connection in case of interrupted system call. The problem was
2173observed on all OSes which ``poll(2)`` system call can take only
2174non-negative integers and -1 as a timeout value.
2175
2176..
2177
2178.. bpo: 37863
2179.. date: 2019-08-14-20-46-39
2180.. nonce: CkXqgX
2181.. section: Library
2182
2183Optimizations for Fraction.__hash__ suggested by Tim Peters.
2184
2185..
2186
2187.. bpo: 21131
2188.. date: 2019-08-14-15-34-23
2189.. nonce: 0MMQRi
2190.. section: Library
2191
2192Fix ``faulthandler.register(chain=True)`` stack. faulthandler now allocates
2193a dedicated stack of ``SIGSTKSZ*2`` bytes, instead of just ``SIGSTKSZ``
2194bytes. Calling the previous signal handler in faulthandler signal handler
2195uses more than ``SIGSTKSZ`` bytes of stack memory on some platforms.
2196
2197..
2198
2199.. bpo: 37798
2200.. date: 2019-08-14-13-51-24
2201.. nonce: AmXrik
2202.. section: Library
2203
2204Add C fastpath for statistics.NormalDist.inv_cdf() Patch by Dong-hee Na
2205
2206..
2207
2208.. bpo: 37804
2209.. date: 2019-08-12-23-07-47
2210.. nonce: Ene6L-
2211.. section: Library
2212
2213Remove the deprecated method `threading.Thread.isAlive()`. Patch by Dong-hee
2214Na.
2215
2216..
2217
2218.. bpo: 37819
2219.. date: 2019-08-11-10-34-19
2220.. nonce: LVJls-
2221.. section: Library
2222
2223Add Fraction.as_integer_ratio() to match the corresponding methods in bool,
2224int, float, and decimal.
2225
2226..
2227
2228.. bpo: 14465
2229.. date: 2019-08-10-18-50-04
2230.. nonce: qZGC4g
2231.. section: Library
2232
2233Add an xml.etree.ElementTree.indent() function for pretty-printing XML
2234trees. Contributed by Stefan Behnel.
2235
2236..
2237
2238.. bpo: 37810
2239.. date: 2019-08-10-12-33-27
2240.. nonce: d4zbvB
2241.. section: Library
2242
2243Fix :mod:`difflib` ``?`` hint in diff output when dealing with tabs. Patch
2244by Anthony Sottile.
2245
2246..
2247
2248.. bpo: 37772
2249.. date: 2019-08-07-23-48-09
2250.. nonce: hLCvdn
2251.. section: Library
2252
2253In ``zipfile.Path``, when adding implicit dirs, ensure that ancestral
2254directories are added and that duplicates are excluded.
2255
2256..
2257
2258.. bpo: 18578
2259.. date: 2019-08-07-19-34-07
2260.. nonce: xfvdb_
2261.. section: Library
2262
2263Renamed and documented `test.bytecode_helper` as
2264`test.support.bytecode_helper`. Patch by Joannah Nanjekye.
2265
2266..
2267
2268.. bpo: 37785
2269.. date: 2019-08-07-14-49-22
2270.. nonce: y7OlT8
2271.. section: Library
2272
2273Fix xgettext warnings in :mod:`argparse`.
2274
2275..
2276
2277.. bpo: 34488
2278.. date: 2019-08-06-21-30-58
2279.. nonce: OqxVo8
2280.. section: Library
2281
2282:meth:`writelines` method of :class:`io.BytesIO` is now slightly faster when
2283many small lines are passed. Patch by Sergey Fedoseev.
2284
2285..
2286
2287.. bpo: 37449
2288.. date: 2019-08-04-17-22-33
2289.. nonce: ycbL2z
2290.. section: Library
2291
2292`ensurepip` now uses `importlib.resources.read_binary()` to read data
2293instead of `pkgutil.get_data()`. Patch by Joannah Nanjekye.
2294
2295..
2296
2297.. bpo: 28292
2298.. date: 2019-08-04-11-47-58
2299.. nonce: vkihH5
2300.. section: Library
2301
2302Mark calendar.py helper functions as being private. The follows PEP 8
2303guidance to maintain the style conventions in the module and it addresses a
2304known case of user confusion.
2305
2306..
2307
2308.. bpo: 18049
2309.. date: 2019-08-02-16-44-42
2310.. nonce: OA4qBL
2311.. section: Library
2312
2313Add definition of THREAD_STACK_SIZE for AIX in Python/thread_pthread.h The
2314default thread stacksize caused crashes with the default recursion limit
2315Patch by M Felt
2316
2317..
2318
2319.. bpo: 37742
2320.. date: 2019-08-02-14-01-25
2321.. nonce: f4Xn9S
2322.. section: Library
2323
2324The logging.getLogger() API now returns the root logger when passed the name
2325'root', whereas previously it returned a non-root logger named 'root'. This
2326could affect cases where user code explicitly wants a non-root logger named
2327'root', or instantiates a logger using logging.getLogger(__name__) in some
2328top-level module called 'root.py'.
2329
2330..
2331
2332.. bpo: 37738
2333.. date: 2019-08-01-17-11-16
2334.. nonce: A3WWcT
2335.. section: Library
2336
2337Fix the implementation of curses ``addch(str, color_pair)``: pass the color
2338pair to ``setcchar()``, instead of always passing 0 as the color pair.
2339
2340..
2341
2342.. bpo: 37723
2343.. date: 2019-07-31-16-49-01
2344.. nonce: zq6tw8
2345.. section: Library
2346
2347Fix performance regression on regular expression parsing with huge character
2348sets. Patch by Yann Vaginay.
2349
2350..
2351
2352.. bpo: 35943
2353.. date: 2019-07-31-15-52-51
2354.. nonce: -KswoB
2355.. section: Library
2356
2357The function :c:func:`PyImport_GetModule` now ensures any module it returns
2358is fully initialized. Patch by Joannah Nanjekye.
2359
2360..
2361
2362.. bpo: 32178
2363.. date: 2019-07-30-22-41-05
2364.. nonce: X-IFLe
2365.. section: Library
2366
2367Fix IndexError in :mod:`email` package when trying to parse invalid address
2368fields starting with ``:``.
2369
2370..
2371
2372.. bpo: 37268
2373.. date: 2019-07-30-01-27-29
2374.. nonce: QDmA44
2375.. section: Library
2376
2377The :mod:`parser` module is deprecated and will be removed in future
2378versions of Python.
2379
2380..
2381
2382.. bpo: 11953
2383.. date: 2019-07-29-21-39-45
2384.. nonce: 4Hpwf9
2385.. section: Library
2386
2387Completing WSA* error codes in :mod:`socket`.
2388
2389..
2390
2391.. bpo: 37685
2392.. date: 2019-07-28-22-25-25
2393.. nonce: _3bN9f
2394.. section: Library
2395
2396Fixed comparisons of :class:`datetime.timedelta` and
2397:class:`datetime.timezone`.
2398
2399..
2400
2401.. bpo: 37697
2402.. date: 2019-07-28-17-44-21
2403.. nonce: 7UV5d0
2404.. section: Library
2405
2406Syncronize ``importlib.metadata`` with `importlib_metadata 0.19
2407<https://gitlab.com/python-devs/importlib_metadata/-/milestones/20>`_,
2408improving handling of EGG-INFO files and fixing a crash when entry point
2409names contained colons.
2410
2411..
2412
2413.. bpo: 37695
2414.. date: 2019-07-27-20-21-03
2415.. nonce: QANdvg
2416.. section: Library
2417
2418Correct :func:`curses.unget_wch` error message. Patch by Anthony Sottile.
2419
2420..
2421
2422.. bpo: 37689
2423.. date: 2019-07-27-18-00-43
2424.. nonce: glEmZi
2425.. section: Library
2426
2427Add :meth:`is_relative_to` in :class:`PurePath` to determine whether or not
2428one path is relative to another.
2429
2430..
2431
2432.. bpo: 29553
2433.. date: 2019-07-27-10-14-45
2434.. nonce: TVeIDe
2435.. section: Library
2436
2437Fixed :meth:`argparse.ArgumentParser.format_usage` for mutually exclusive
2438groups. Patch by Andrew Nester.
2439
2440..
2441
2442.. bpo: 37691
2443.. date: 2019-07-26-22-30-01
2444.. nonce: 1Li3rx
2445.. section: Library
2446
2447Let math.dist() accept coordinates as sequences (or iterables) rather than
2448just tuples.
2449
2450..
2451
2452.. bpo: 37685
2453.. date: 2019-07-26-00-12-29
2454.. nonce: TqckMZ
2455.. section: Library
2456
2457Fixed ``__eq__``, ``__lt__`` etc implementations in some classes. They now
2458return :data:`NotImplemented` for unsupported type of the other operand.
2459This allows the other operand to play role (for example the equality
2460comparison with :data:`~unittest.mock.ANY` will return ``True``).
2461
2462..
2463
2464.. bpo: 37354
2465.. date: 2019-07-25-10-28-40
2466.. nonce: RT3_3H
2467.. section: Library
2468
2469Make Activate.ps1 Powershell script static to allow for signing it.
2470
2471..
2472
2473.. bpo: 37664
2474.. date: 2019-07-24-18-27-44
2475.. nonce: o-GYZC
2476.. section: Library
2477
2478Update wheels bundled with ensurepip (pip 19.2.3 and setuptools 41.2.0)
2479
2480..
2481
2482.. bpo: 37663
2483.. date: 2019-07-24-14-38-53
2484.. nonce: h4-9-1
2485.. section: Library
2486
2487Bring consistency to venv shell activation scripts by always using
2488__VENV_PROMPT__.
2489
2490..
2491
2492.. bpo: 37642
2493.. date: 2019-07-21-20-59-31
2494.. nonce: L61Bvy
2495.. section: Library
2496
2497Allowed the pure Python implementation of :class:`datetime.timezone` to
2498represent sub-minute offsets close to minimum and maximum boundaries,
2499specifically in the ranges (23:59, 24:00) and (-23:59, 24:00). Patch by
2500Ngalim Siregar
2501
2502..
2503
2504.. bpo: 36161
2505.. date: 2019-07-20-01-17-43
2506.. nonce: Fzf-f9
2507.. section: Library
2508
2509In :mod:`posix`, use ``ttyname_r`` instead of ``ttyname`` for thread safety.
2510
2511..
2512
2513.. bpo: 36324
2514.. date: 2019-07-19-22-44-41
2515.. nonce: 1VjywS
2516.. section: Library
2517
2518Make internal attributes for statistics.NormalDist() private.
2519
2520..
2521
2522.. bpo: 37555
2523.. date: 2019-07-19-20-13-48
2524.. nonce: S5am28
2525.. section: Library
2526
2527Fix `NonCallableMock._call_matcher` returning tuple instead of `_Call`
2528object when `self._spec_signature` exists. Patch by Elizabeth Uselton
2529
2530..
2531
2532.. bpo: 29446
2533.. date: 2019-07-19-16-06-48
2534.. nonce: iXGuoi
2535.. section: Library
2536
2537Make `from tkinter import *` import only the expected objects.
2538
2539..
2540
2541.. bpo: 16970
2542.. date: 2019-07-19-01-46-56
2543.. nonce: GEASf5
2544.. section: Library
2545
2546Adding a value error when an invalid value in passed to nargs Patch by
2547Robert Leenders
2548
2549..
2550
2551.. bpo: 34443
2552.. date: 2019-07-17-11-10-08
2553.. nonce: OFnGqz
2554.. section: Library
2555
2556Exceptions from :mod:`enum` now use the ``__qualname`` of the enum class in
2557the exception message instead of the ``__name__``.
2558
2559..
2560
2561.. bpo: 37491
2562.. date: 2019-07-17-06-54-43
2563.. nonce: op0aMs
2564.. section: Library
2565
2566Fix ``IndexError`` when parsing email headers with unexpectedly ending
2567bare-quoted string value. Patch by Abhilash Raj.
2568
2569..
2570
2571.. bpo: 37587
2572.. date: 2019-07-13-16-02-48
2573.. nonce: fd-1aF
2574.. section: Library
2575
2576Make json.loads faster for long strings. (Patch by Marco Paolini)
2577
2578..
2579
2580.. bpo: 18378
2581.. date: 2019-07-13-13-40-12
2582.. nonce: NHcojp
2583.. section: Library
2584
2585Recognize "UTF-8" as a valid value for LC_CTYPE in locale._parse_localename.
2586
2587..
2588
2589.. bpo: 37579
2590.. date: 2019-07-13-10-59-43
2591.. nonce: B1Tq9i
2592.. section: Library
2593
2594Return :exc:`NotImplemented` in Python implementation of ``__eq__`` for
2595:class:`~datetime.timedelta` and :class:`~datetime.time` when the other
2596object being compared is not of the same type to match C implementation.
2597Patch by Karthikeyan Singaravelan.
2598
2599..
2600
2601.. bpo: 21478
2602.. date: 2019-07-10-23-07-11
2603.. nonce: cCw9rF
2604.. section: Library
2605
2606Record calls to parent when autospecced object is attached to a mock using
2607:func:`unittest.mock.attach_mock`. Patch by Karthikeyan Singaravelan.
2608
2609..
2610
2611.. bpo: 37531
2612.. date: 2019-07-09-19-38-26
2613.. nonce: GX7s8S
2614.. section: Library
2615
2616"python3 -m test -jN --timeout=TIMEOUT" now kills a worker process if it
2617runs longer than *TIMEOUT* seconds.
2618
2619..
2620
2621.. bpo: 37482
2622.. date: 2019-07-09-11-20-21
2623.. nonce: auzvev
2624.. section: Library
2625
2626Fix serialization of display name in originator or destination address
2627fields with both encoded words and special chars.
2628
2629..
2630
2631.. bpo: 36993
2632.. date: 2019-07-09-05-44-39
2633.. nonce: 4javqu
2634.. section: Library
2635
2636Improve error reporting for corrupt zip files with bad zip64 extra data.
2637Patch by Daniel Hillier.
2638
2639..
2640
2641.. bpo: 37502
2642.. date: 2019-07-08-03-15-04
2643.. nonce: qZGC4g
2644.. section: Library
2645
2646pickle.loads() no longer raises TypeError when the buffers argument is set
2647to None
2648
2649..
2650
2651.. bpo: 37520
2652.. date: 2019-07-07-21-09-08
2653.. nonce: Gg0KD6
2654.. section: Library
2655
2656Correct behavior for zipfile.Path.parent when the path object identifies a
2657subdirectory.
2658
2659..
2660
2661.. bpo: 18374
2662.. date: 2019-07-05-21-46-45
2663.. nonce: qgE0H3
2664.. section: Library
2665
2666Fix the ``.col_offset`` attribute of nested :class:`ast.BinOp` instances
2667which had a too large value in some situations.
2668
2669..
2670
2671.. bpo: 37424
2672.. date: 2019-07-04-13-00-20
2673.. nonce: 0i1MR-
2674.. section: Library
2675
2676Fixes a possible hang when using a timeout on `subprocess.run()` while
2677capturing output. If the child process spawned its own children or
2678otherwise connected its stdout or stderr handles with another process, we
2679could hang after the timeout was reached and our child was killed when
2680attempting to read final output from the pipes.
2681
2682..
2683
2684.. bpo: 37421
2685.. date: 2019-07-03-12-47-52
2686.. nonce: gR5hC8
2687.. section: Library
2688
2689Fix :func:`multiprocessing.util.get_temp_dir` finalizer: clear also the
2690'tempdir' configuration of the current process, so next call to
2691``get_temp_dir()`` will create a new temporary directory, rather than
2692reusing the removed temporary directory.
2693
2694..
2695
2696.. bpo: 37481
2697.. date: 2019-07-02-13-08-30
2698.. nonce: hd5k09
2699.. section: Library
2700
2701The distutils ``bdist_wininst`` command is deprecated in Python 3.8, use
2702``bdist_wheel`` (wheel packages) instead.
2703
2704..
2705
2706.. bpo: 37479
2707.. date: 2019-07-02-12-43-57
2708.. nonce: O53a5S
2709.. section: Library
2710
2711When `Enum.__str__` is overridden in a derived class, the override will be
2712used by `Enum.__format__` regardless of whether mixin classes are present.
2713
2714..
2715
2716.. bpo: 37440
2717.. date: 2019-06-28-16-40-17
2718.. nonce: t3wX-N
2719.. section: Library
2720
2721http.client now enables TLS 1.3 post-handshake authentication for default
2722context or if a cert_file is passed to HTTPSConnection.
2723
2724..
2725
2726.. bpo: 37437
2727.. date: 2019-06-27-20-33-50
2728.. nonce: du39_A
2729.. section: Library
2730
2731Update vendorized expat version to 2.2.7.
2732
2733..
2734
2735.. bpo: 37428
2736.. date: 2019-06-27-13-27-02
2737.. nonce: _wcwUd
2738.. section: Library
2739
2740SSLContext.post_handshake_auth = True no longer sets
2741SSL_VERIFY_POST_HANDSHAKE verify flag for client connections. Although the
2742option is documented as ignored for clients, OpenSSL implicitly enables cert
2743chain validation when the flag is set.
2744
2745..
2746
2747.. bpo: 37420
2748.. date: 2019-06-26-22-25-05
2749.. nonce: CxFJ09
2750.. section: Library
2751
2752:func:`os.sched_setaffinity` now correctly handles errors that arise during
2753iteration over its ``mask`` argument. Patch by Brandt Bucher.
2754
2755..
2756
2757.. bpo: 37412
2758.. date: 2019-06-26-16-28-59
2759.. nonce: lx0VjC
2760.. section: Library
2761
2762The :func:`os.getcwdb` function now uses the UTF-8 encoding on Windows,
2763rather than the ANSI code page: see :pep:`529` for the rationale. The
2764function is no longer deprecated on Windows.
2765
2766..
2767
2768.. bpo: 37406
2769.. date: 2019-06-26-03-00-06
2770.. nonce: uovkpq
2771.. section: Library
2772
2773The sqlite3 module now raises TypeError, rather than ValueError, if
2774operation argument type is not str: execute(), executemany() and calling a
2775connection.
2776
2777..
2778
2779.. bpo: 29412
2780.. date: 2019-06-25-19-27-25
2781.. nonce: n4Zqdh
2782.. section: Library
2783
2784Fix IndexError in parsing a header value ending unexpectedly. Patch by
2785Abhilash Raj.
2786
2787..
2788
2789.. bpo: 36546
2790.. date: 2019-06-25-05-07-48
2791.. nonce: RUcxaK
2792.. section: Library
2793
2794The *dist* argument for statistics.quantiles() is now positional only. The
2795current name doesn't reflect that the argument can be either a dataset or a
2796distribution. Marking the parameter as positional avoids confusion and
2797makes it possible to change the name later.
2798
2799..
2800
2801.. bpo: 37394
2802.. date: 2019-06-25-02-10-00
2803.. nonce: srZ1zx
2804.. section: Library
2805
2806Fix a bug that was causing the :mod:`queue` module to fail if the
2807accelerator module was not available. Patch by Pablo Galindo.
2808
2809..
2810
2811.. bpo: 37376
2812.. date: 2019-06-24-11-26-34
2813.. nonce: SwSUQ4
2814.. section: Library
2815
2816:mod:`pprint` now has support for :class:`types.SimpleNamespace`. Patch by
2817Carl Bordum Hansen.
2818
2819..
2820
2821.. bpo: 26967
2822.. date: 2019-06-23-12-46-10
2823.. nonce: xEuem1
2824.. section: Library
2825
2826An :class:`~argparse.ArgumentParser` with ``allow_abbrev=False`` no longer
2827disables grouping of short flags, such as ``-vv``, but only disables
2828abbreviation of long flags as documented. Patch by Zac Hatfield-Dodds.
2829
2830..
2831
2832.. bpo: 37212
2833.. date: 2019-06-22-22-00-35
2834.. nonce: Zhv-tq
2835.. section: Library
2836
2837:func:`unittest.mock.call` now preserves the order of keyword arguments in
2838repr output. Patch by Karthikeyan Singaravelan.
2839
2840..
2841
2842.. bpo: 37372
2843.. date: 2019-06-22-12-30-00
2844.. nonce: kIKqZ6
2845.. section: Library
2846
2847Fix error unpickling datetime.time objects from Python 2 with seconds>=24.
2848Patch by Justin Blanchard.
2849
2850..
2851
2852.. bpo: 37345
2853.. date: 2019-06-22-08-51-44
2854.. nonce: o8XABX
2855.. section: Library
2856
2857Add formal support for UDPLITE sockets. Support was present before, but it
2858is now easier to detect support with ``hasattr(socket, 'IPPROTO_UDPLITE')``
2859and there are constants defined for each of the values needed:
2860:py:obj:`socket.IPPROTO_UDPLITE`, :py:obj:`UDPLITE_SEND_CSCOV`, and
2861:py:obj:`UDPLITE_RECV_CSCOV`. Patch by Gabe Appleton.
2862
2863..
2864
2865.. bpo: 37358
2866.. date: 2019-06-21-14-54-02
2867.. nonce: RsASpn
2868.. section: Library
2869
2870Optimized ``functools.partial`` by using vectorcall.
2871
2872..
2873
2874.. bpo: 37347
2875.. date: 2019-06-20-14-23-48
2876.. nonce: Gf9yYI
2877.. section: Library
2878
2879:meth:`sqlite3.Connection.create_aggregate`,
2880:meth:`sqlite3.Connection.create_function`,
2881:meth:`sqlite3.Connection.set_authorizer`,
2882:meth:`sqlite3.Connection.set_progress_handler`
2883:meth:`sqlite3.Connection.set_trace_callback` methods lead to segfaults if
2884some of these methods are called twice with an equal object but not the
2885same. Now callbacks are stored more carefully. Patch by Aleksandr Balezin.
2886
2887..
2888
2889.. bpo: 37163
2890.. date: 2019-06-19-10-35-53
2891.. nonce: 9pPg2F
2892.. section: Library
2893
2894The *obj* argument of :func:`dataclasses.replace` is positional-only now.
2895
2896..
2897
2898.. bpo: 37085
2899.. date: 2019-06-18-16-29-31
2900.. nonce: GeYaD6
2901.. section: Library
2902
2903Add the optional Linux SocketCAN Broadcast Manager constants, used as flags
2904to configure the BCM behaviour, in the socket module. Patch by Karl Ding.
2905
2906..
2907
2908.. bpo: 37328
2909.. date: 2019-06-18-15-31-33
2910.. nonce: 2PW1-l
2911.. section: Library
2912
2913``HTMLParser.unescape`` is removed. It was undocumented and deprecated
2914since Python 3.4.
2915
2916..
2917
2918.. bpo: 37305
2919.. date: 2019-06-18-13-59-55
2920.. nonce: fGzWlP
2921.. section: Library
2922
2923Add .webmanifest -> application/manifest+json to list of recognized file
2924types and content type headers
2925
2926..
2927
2928.. bpo: 37320
2929.. date: 2019-06-17-22-10-37
2930.. nonce: ffieYa
2931.. section: Library
2932
2933``aifc.openfp()`` alias to ``aifc.open()``, ``sunau.openfp()`` alias to
2934``sunau.open()``, and ``wave.openfp()`` alias to ``wave.open()`` have been
2935removed. They were deprecated since Python 3.7.
2936
2937..
2938
2939.. bpo: 37315
2940.. date: 2019-06-17-11-59-52
2941.. nonce: o1xFC0
2942.. section: Library
2943
2944Deprecated accepting floats with integral value (like ``5.0``) in
2945:func:`math.factorial`.
2946
2947..
2948
2949.. bpo: 37312
2950.. date: 2019-06-17-10-03-52
2951.. nonce: qKvBfF
2952.. section: Library
2953
2954``_dummy_thread`` and ``dummy_threading`` modules have been removed. These
2955modules were deprecated since Python 3.7 which requires threading support.
2956
2957..
2958
2959.. bpo: 33972
2960.. date: 2019-06-15-14-39-50
2961.. nonce: XxnNPw
2962.. section: Library
2963
2964Email with single part but content-type set to ``multipart/*`` doesn't raise
2965AttributeError anymore.
2966
2967..
2968
2969.. bpo: 37280
2970.. date: 2019-06-14-13-30-47
2971.. nonce: Fxur0F
2972.. section: Library
2973
2974Use threadpool for reading from file for sendfile fallback mode.
2975
2976..
2977
2978.. bpo: 37279
2979.. date: 2019-06-14-13-25-56
2980.. nonce: OHlW6l
2981.. section: Library
2982
2983Fix asyncio sendfile support when sendfile sends extra data in fallback
2984mode.
2985
2986..
2987
2988.. bpo: 19865
2989.. date: 2019-06-14-08-30-16
2990.. nonce: FRGH4I
2991.. section: Library
2992
2993:func:`ctypes.create_unicode_buffer()` now also supports non-BMP characters
2994on platforms with 16-bit :c:type:`wchar_t` (for example, Windows and AIX).
2995
2996..
2997
2998.. bpo: 37266
2999.. date: 2019-06-13-11-59-52
3000.. nonce: goLjef
3001.. section: Library
3002
3003In a subinterpreter, spawning a daemon thread now raises an exception.
3004Daemon threads were never supported in subinterpreters. Previously, the
3005subinterpreter finalization crashed with a Pyton fatal error if a daemon
3006thread was still running.
3007
3008..
3009
3010.. bpo: 37210
3011.. date: 2019-06-12-16-10-50
3012.. nonce: r4yMg6
3013.. section: Library
3014
3015Allow pure Python implementation of :mod:`pickle` to work even when the C
3016:mod:`_pickle` module is unavailable.
3017
3018..
3019
3020.. bpo: 21872
3021.. date: 2019-06-12-08-56-22
3022.. nonce: V9QGGN
3023.. section: Library
3024
3025Fix :mod:`lzma`: module decompresses data incompletely. When decompressing a
3026FORMAT_ALONE format file, and it doesn't have the end marker, sometimes the
3027last one to dozens bytes can't be output. Patch by Ma Lin.
3028
3029..
3030
3031.. bpo: 35922
3032.. date: 2019-06-11-19-34-29
3033.. nonce: rxpzWr
3034.. section: Library
3035
3036Fix :meth:`RobotFileParser.crawl_delay` and
3037:meth:`RobotFileParser.request_rate` to return ``None`` rather than raise
3038:exc:`AttributeError` when no relevant rule is defined in the robots.txt
3039file. Patch by RĂ©mi Lapeyre.
3040
3041..
3042
3043.. bpo: 35766
3044.. date: 2019-06-11-16-41-40
3045.. nonce: v1Kj-T
3046.. section: Library
3047
3048Change the format of feature_version to be a (major, minor) tuple.
3049
3050..
3051
3052.. bpo: 36607
3053.. date: 2019-06-11-13-52-04
3054.. nonce: 5_mJkQ
3055.. section: Library
3056
3057Eliminate :exc:`RuntimeError` raised by :func:`asyncio.all_tasks()` if
3058internal tasks weak set is changed by another thread during iteration.
3059
3060..
3061
3062.. bpo: 18748
3063.. date: 2019-06-11-01-54-19
3064.. nonce: ADqCkq
3065.. section: Library
3066
3067:class:`_pyio.IOBase` destructor now does nothing if getting the ``closed``
3068attribute fails to better mimick :class:`_io.IOBase` finalizer.
3069
3070..
3071
3072.. bpo: 36402
3073.. date: 2019-06-11-00-35-02
3074.. nonce: b0IJVp
3075.. section: Library
3076
3077Fix a race condition at Python shutdown when waiting for threads. Wait until
3078the Python thread state of all non-daemon threads get deleted (join all
3079non-daemon threads), rather than just wait until non-daemon Python threads
3080complete.
3081
3082..
3083
3084.. bpo: 37206
3085.. date: 2019-06-09-22-25-03
3086.. nonce: 2WBg4q
3087.. section: Library
3088
3089Default values which cannot be represented as Python objects no longer
3090improperly represented as ``None`` in function signatures.
3091
3092..
3093
3094.. bpo: 37111
3095.. date: 2019-06-09-17-22-33
3096.. nonce: 2I0z2k
3097.. section: Library
3098
3099Added ``encoding`` and ``errors`` keyword parameters to
3100``logging.basicConfig``.
3101
3102..
3103
3104.. bpo: 12144
3105.. date: 2019-06-08-23-26-58
3106.. nonce: Z7mz-q
3107.. section: Library
3108
3109Ensure cookies with ``expires`` attribute are handled in
3110:meth:`CookieJar.make_cookies`.
3111
3112..
3113
3114.. bpo: 34886
3115.. date: 2019-06-08-16-03-19
3116.. nonce: Ov-pc9
3117.. section: Library
3118
3119Fix an unintended ValueError from :func:`subprocess.run` when checking for
3120conflicting `input` and `stdin` or `capture_output` and `stdout` or `stderr`
3121args when they were explicitly provided but with `None` values within a
3122passed in `**kwargs` dict rather than as passed directly by name. Patch
3123contributed by RĂ©mi Lapeyre.
3124
3125..
3126
3127.. bpo: 37173
3128.. date: 2019-06-08-11-33-48
3129.. nonce: 0e_8gS
3130.. section: Library
3131
3132The exception message for ``inspect.getfile()`` now correctly reports the
3133passed class rather than the builtins module.
3134
3135..
3136
3137.. bpo: 37178
3138.. date: 2019-06-07-17-16-09
3139.. nonce: Day_oB
3140.. section: Library
3141
3142Give math.perm() a one argument form that means the same as
3143math.factorial().
3144
3145..
3146
3147.. bpo: 37178
3148.. date: 2019-06-07-17-11-34
3149.. nonce: b1StSv
3150.. section: Library
3151
3152For math.perm(n, k), let k default to n, giving the same result as
3153factorial.
3154
3155..
3156
3157.. bpo: 37165
3158.. date: 2019-06-05-11-48-19
3159.. nonce: V_rwfE
3160.. section: Library
3161
3162Converted _collections._count_elements to use the Argument Clinic.
3163
3164..
3165
3166.. bpo: 34767
3167.. date: 2019-06-04-23-44-52
3168.. nonce: BpDShN
3169.. section: Library
3170
3171Do not always create a :class:`collections.deque` in :class:`asyncio.Lock`.
3172
3173..
3174
3175.. bpo: 37158
3176.. date: 2019-06-04-22-25-38
3177.. nonce: JKm15S
3178.. section: Library
3179
3180Speed-up statistics.fmean() by switching from a function to a generator.
3181
3182..
3183
3184.. bpo: 34282
3185.. date: 2019-06-04-15-39-14
3186.. nonce: aAK54n
3187.. section: Library
3188
3189Remove ``Enum._convert`` method, deprecated in 3.8.
3190
3191..
3192
3193.. bpo: 37150
3194.. date: 2019-06-04-14-44-41
3195.. nonce: TTzHxj
3196.. section: Library
3197
3198`argparse._ActionsContainer.add_argument` now throws error, if someone
3199accidentally pass FileType class object instead of instance of FileType as
3200`type` argument
3201
3202..
3203
3204.. bpo: 28724
3205.. date: 2019-05-30-15-51-42
3206.. nonce: 34TrS8
3207.. section: Library
3208
3209The socket module now has the :func:`socket.send_fds` and
3210:func:`socket.recv.fds` methods. Contributed by Joannah Nanjekye, Shinya
3211Okano and Victor Stinner.
3212
3213..
3214
3215.. bpo: 35621
3216.. date: 2019-05-28-19-03-46
3217.. nonce: Abc1lf
3218.. section: Library
3219
3220Support running asyncio subprocesses when execution event loop in a thread
3221on UNIX.
3222
3223..
3224
3225.. bpo: 36520
3226.. date: 2019-05-28-02-37-00
3227.. nonce: W4tday
3228.. section: Library
3229
3230Lengthy email headers with UTF-8 characters are now properly encoded when
3231they are folded. Patch by Jeffrey Kintscher.
3232
3233..
3234
3235.. bpo: 30835
3236.. date: 2019-05-27-15-29-46
3237.. nonce: 3FoaWH
3238.. section: Library
3239
3240Fixed a bug in email parsing where a message with invalid bytes in
3241content-transfer-encoding of a multipart message can cause an
3242AttributeError. Patch by Andrew Donnellan.
3243
3244..
3245
3246.. bpo: 31163
3247.. date: 2019-05-26-16-34-53
3248.. nonce: 21A802
3249.. section: Library
3250
3251pathlib.Path instance's rename and replace methods now return the new Path
3252instance.
3253
3254..
3255
3256.. bpo: 25068
3257.. date: 2019-05-22-04-52-35
3258.. nonce: vR_rC-
3259.. section: Library
3260
3261:class:`urllib.request.ProxyHandler` now lowercases the keys of the passed
3262dictionary.
3263
3264..
3265
3266.. bpo: 26185
3267.. date: 2019-05-20-14-17-29
3268.. nonce: pQW4mI
3269.. section: Library
3270
3271Fix :func:`repr` on empty :class:`ZipInfo` object. Patch by Mickaël
3272Schoentgen.
3273
3274..
3275
3276.. bpo: 21315
3277.. date: 2019-05-19-10-48-46
3278.. nonce: PgXVqF
3279.. section: Library
3280
3281Email headers containing RFC2047 encoded words are parsed despite the
3282missing whitespace, and a defect registered. Also missing trailing
3283whitespace after encoded words is now registered as a defect.
3284
3285..
3286
3287.. bpo: 31904
3288.. date: 2019-05-17-16-50-02
3289.. nonce: 4a5ggm
3290.. section: Library
3291
3292Port test_datetime to VxWorks: skip zoneinfo tests on VxWorks
3293
3294..
3295
3296.. bpo: 35805
3297.. date: 2019-05-17-15-11-08
3298.. nonce: E4YwYz
3299.. section: Library
3300
3301Add parser for Message-ID header and add it to default HeaderRegistry. This
3302should prevent folding of Message-ID using RFC 2048 encoded words.
3303
3304..
3305
3306.. bpo: 36871
3307.. date: 2019-05-12-12-58-37
3308.. nonce: 6xiEHZ
3309.. section: Library
3310
3311Ensure method signature is used instead of constructor signature of a class
3312while asserting mock object against method calls. Patch by Karthikeyan
3313Singaravelan.
3314
3315..
3316
3317.. bpo: 35070
3318.. date: 2019-05-09-18-50-55
3319.. nonce: 4vaqNL
3320.. section: Library
3321
3322posix.getgrouplist() now works correctly when the user belongs to
3323NGROUPS_MAX supplemental groups. Patch by Jeffrey Kintscher.
3324
3325..
3326
3327.. bpo: 31783
3328.. date: 2019-05-07-19-25-55
3329.. nonce: lgLo69
3330.. section: Library
3331
3332Fix race condition in ThreadPoolExecutor when worker threads are created
3333during interpreter shutdown.
3334
3335..
3336
3337.. bpo: 36582
3338.. date: 2019-05-07-17-42-36
3339.. nonce: L_dxR6
3340.. section: Library
3341
3342Fix ``UserString.encode()`` to correctly return ``bytes`` rather than a
3343``UserString`` instance.
3344
3345..
3346
3347.. bpo: 32424
3348.. date: 2019-04-28-10-34-19
3349.. nonce: eqNPhM
3350.. section: Library
3351
3352Deprecate xml.etree.ElementTree.Element.copy() in favor of copy.copy().
3353
3354Patch by Gordon P. Hemsley
3355
3356..
3357
3358.. bpo: 36564
3359.. date: 2019-04-08-13-00-13
3360.. nonce: _n67m_
3361.. section: Library
3362
3363Fix infinite loop in email header folding logic that would be triggered when
3364an email policy's max_line_length is not long enough to include the required
3365markup and any values in the message. Patch by Paul Ganssle
3366
3367..
3368
3369.. bpo: 36543
3370.. date: 2019-04-06-20-08-12
3371.. nonce: RPjmUz
3372.. section: Library
3373
3374Removed methods Element.getchildren(), Element.getiterator() and
3375ElementTree.getiterator() and the xml.etree.cElementTree module.
3376
3377..
3378
3379.. bpo: 36409
3380.. date: 2019-03-23-16-42-46
3381.. nonce: ZYVKao
3382.. section: Library
3383
3384Remove the old plistlib API deprecated in Python 3.4
3385
3386..
3387
3388.. bpo: 36302
3389.. date: 2019-03-21-19-23-46
3390.. nonce: Yc591g
3391.. section: Library
3392
3393distutils sorts source file lists so that Extension .so files build more
3394reproducibly by default
3395
3396..
3397
3398.. bpo: 36250
3399.. date: 2019-03-09-16-04-12
3400.. nonce: tSK4N1
3401.. section: Library
3402
3403Ignore ``ValueError`` from ``signal`` with ``interaction`` in non-main
3404thread.
3405
3406..
3407
3408.. bpo: 36046
3409.. date: 2019-02-19-17-32-45
3410.. nonce: fX9OPj
3411.. section: Library
3412
3413Added ``user``, ``group`` and ``extra_groups`` parameters to the
3414subprocess.Popen constructor. Patch by Patrick McLean.
3415
3416..
3417
3418.. bpo: 32627
3419.. date: 2019-02-03-19-13-08
3420.. nonce: b68f64
3421.. section: Library
3422
3423Fix compile error when ``_uuid`` headers conflicting included.
3424
3425..
3426
3427.. bpo: 35800
3428.. date: 2019-01-25-17-12-17
3429.. nonce: MCGJdQ
3430.. section: Library
3431
3432Deprecate ``smtpd.MailmanProxy`` ready for future removal.
3433
3434..
3435
3436.. bpo: 35168
3437.. date: 2019-01-22-09-23-20
3438.. nonce: UGv2yW
3439.. section: Library
3440
3441:attr:`shlex.shlex.punctuation_chars` is now a read-only property.
3442
3443..
3444
3445.. bpo: 8538
3446.. date: 2019-01-09-16-18-52
3447.. nonce: PfVZia
3448.. section: Library
3449
3450Add support for boolean actions like ``--foo`` and ``--no-foo`` to argparse.
3451Patch contributed by RĂ©mi Lapeyre.
3452
3453..
3454
3455.. bpo: 20504
3456.. date: 2018-11-21-18-05-50
3457.. nonce: kG0ub5
3458.. section: Library
3459
3460Fixes a bug in :mod:`cgi` module when a multipart/form-data request has no
3461`Content-Length` header.
3462
3463..
3464
3465.. bpo: 25988
3466.. date: 2018-11-19-10-23-58
3467.. nonce: 6o7gGK
3468.. section: Library
3469
3470The abstract base classes in :mod:`collections.abc` no longer are exposed in
3471the regular :mod:`collections` module.
3472
3473..
3474
3475.. bpo: 11122
3476.. date: 2018-11-12-19-08-50
3477.. nonce: Gj7BQn
3478.. section: Library
3479
3480Distutils won't check for rpmbuild in specified paths only.
3481
3482..
3483
3484.. bpo: 34775
3485.. date: 2018-09-23-03-18-52
3486.. nonce: vHeuHk
3487.. section: Library
3488
3489Division handling of PurePath now returns NotImplemented instead of raising
3490a TypeError when passed something other than an instance of str or PurePath.
3491Patch by Roger Aiudi.
3492
3493..
3494
3495.. bpo: 34749
3496.. date: 2018-09-21-13-23-29
3497.. nonce: B0k819
3498.. section: Library
3499
3500:func:`binascii.a2b_base64` is now up to 2 times faster. Patch by Sergey
3501Fedoseev.
3502
3503..
3504
3505.. bpo: 34519
3506.. date: 2018-08-27-15-44-50
3507.. nonce: cPlH1h
3508.. section: Library
3509
3510Add additional aliases for HP Roman 8. Patch by Michael Osipov.
3511
3512..
3513
3514.. bpo: 28009
3515.. date: 2018-08-04-12-26-11
3516.. nonce: 4JcHZb
3517.. section: Library
3518
3519Fix uuid.getnode() on platforms with '.' as MAC Addr delimiter as well fix
3520for MAC Addr format that omits a leading 0 in MAC Addr values. Currently,
3521AIX is the only know platform with these settings. Patch by Michael Felt.
3522
3523..
3524
3525.. bpo: 30618
3526.. date: 2018-07-14-13-48-56
3527.. nonce: T5AUF6
3528.. section: Library
3529
3530Add :meth:`~pathlib.Path.readlink`. Patch by Girts Folkmanis.
3531
3532..
3533
3534.. bpo: 32498
3535.. date: 2018-06-17-21-02-25
3536.. nonce: La3TZz
3537.. section: Library
3538
3539Made :func:`urllib.parse.unquote()` accept bytes in addition to strings.
3540Patch by Stein Karlsen.
3541
3542..
3543
3544.. bpo: 33348
3545.. date: 2018-04-24-13-18-48
3546.. nonce: XaJDei
3547.. section: Library
3548
3549lib2to3 now recognizes expressions after ``*`` and `**` like in ``f(*[] or
3550[])``.
3551
3552..
3553
3554.. bpo: 32689
3555.. date: 2018-02-13-17-58-30
3556.. nonce: a-3SnH
3557.. section: Library
3558
3559Update :func:`shutil.move` function to allow for Path objects to be used as
3560source argument. Patch by Emily Morehouse and Maxwell "5.13b" McKinnon.
3561
3562..
3563
3564.. bpo: 32820
3565.. date: 2018-02-13-12-25-43
3566.. nonce: 0stF0u
3567.. section: Library
3568
3569Added __format__ to IPv4 and IPv6 classes. Always outputs a fully zero-
3570padded string. Supports b/x/n modifiers (bin/hex/native format). Native
3571format for IPv4 is bin, native format for IPv6 is hex. Also supports '#' and
3572'_' modifiers.
3573
3574..
3575
3576.. bpo: 27657
3577.. date: 2017-12-26-14-32-23
3578.. nonce: 6BhyVK
3579.. section: Library
3580
3581Fix urllib.parse.urlparse() with numeric paths. A string like "path:80" is
3582no longer parsed as a path but as a scheme ("path") and a path ("80").
3583
3584..
3585
3586.. bpo: 4963
3587.. date: 2017-08-15-11-24-41
3588.. nonce: LRYres
3589.. section: Library
3590
3591Fixed non-deterministic behavior related to mimetypes extension mapping and
3592module reinitialization.
3593
3594..
3595
3596.. bpo: 21767
3597.. date: 2019-11-17-11-54-57
3598.. nonce: Qq3Dos
3599.. section: Documentation
3600
3601Explicitly mention abc support in functools.singledispatch
3602
3603..
3604
3605.. bpo: 38816
3606.. date: 2019-11-15-11-39-13
3607.. nonce: vUaSVL
3608.. section: Documentation
3609
3610Provides more details about the interaction between :c:func:`fork` and
3611CPython's runtime, focusing just on the C-API. This includes cautions about
3612where :c:func:`fork` should and shouldn't be called.
3613
3614..
3615
3616.. bpo: 38351
3617.. date: 2019-11-15-09-22-28
3618.. nonce: xwhlse
3619.. section: Documentation
3620
3621Modernize :mod:`email` examples from %-formatting to f-strings.
3622
3623..
3624
3625.. bpo: 38778
3626.. date: 2019-11-12-15-31-09
3627.. nonce: PHhTlv
3628.. section: Documentation
3629
3630Document the fact that :exc:`RuntimeError` is raised if :meth:`os.fork` is
3631called in a subinterpreter.
3632
3633..
3634
3635.. bpo: 38592
3636.. date: 2019-10-26-13-19-07
3637.. nonce: Y96BYO
3638.. section: Documentation
3639
3640Add Brazilian Portuguese to the language switcher at Python Documentation
3641website.
3642
3643..
3644
3645.. bpo: 38294
3646.. date: 2019-09-27-23-37-41
3647.. nonce: go_jFf
3648.. section: Documentation
3649
3650Add list of no-longer-escaped chars to re.escape documentation
3651
3652..
3653
3654.. bpo: 38053
3655.. date: 2019-09-07-19-09-01
3656.. nonce: lttibE
3657.. section: Documentation
3658
3659Modernized the plistlib documentation
3660
3661..
3662
3663.. bpo: 26868
3664.. date: 2019-09-07-15-55-46
3665.. nonce: Raw0Gd
3666.. section: Documentation
3667
3668Fix example usage of :c:func:`PyModule_AddObject` to properly handle errors.
3669
3670..
3671
3672.. bpo: 36797
3673.. date: 2019-09-05-14-47-51
3674.. nonce: KN9Ga5
3675.. section: Documentation
3676
3677Fix a dead link in the distutils API Reference.
3678
3679..
3680
3681.. bpo: 37977
3682.. date: 2019-08-29-14-38-01
3683.. nonce: pML-UI
3684.. section: Documentation
3685
3686Warn more strongly and clearly about pickle insecurity
3687
3688..
3689
3690.. bpo: 37979
3691.. date: 2019-08-29-10-40-05
3692.. nonce: TAUx_E
3693.. section: Documentation
3694
3695Added a link to dateutil.parser.isoparse in the datetime.fromisoformat
3696documentation. Patch by Paul Ganssle
3697
3698..
3699
3700.. bpo: 12707
3701.. date: 2019-08-27-01-14-59
3702.. nonce: Yj3_7_
3703.. section: Documentation
3704
3705Deprecate info(), geturl(), getcode() methods in favor of the headers, url,
3706and status properties, respectively, for HTTPResponse and addinfourl. Also
3707deprecate the code attribute of addinfourl in favor of the status attribute.
3708Patch by Ashwin Ramaswami
3709
3710..
3711
3712.. bpo: 37937
3713.. date: 2019-08-24-12-59-06
3714.. nonce: F7fHbt
3715.. section: Documentation
3716
3717Mention ``frame.f_trace`` in :func:`sys.settrace` docs.
3718
3719..
3720
3721.. bpo: 37878
3722.. date: 2019-08-16-20-01-10
3723.. nonce: MvA6rZ
3724.. section: Documentation
3725
3726Make :c:func:`PyThreadState_DeleteCurrent` Internal.
3727
3728..
3729
3730.. bpo: 37759
3731.. date: 2019-08-04-19-20-58
3732.. nonce: EHRF4i
3733.. section: Documentation
3734
3735Beginning edits to Whatsnew 3.8
3736
3737..
3738
3739.. bpo: 37726
3740.. date: 2019-07-31-11-40-06
3741.. nonce: h-3o9a
3742.. section: Documentation
3743
3744Stop recommending getopt in the tutorial for command line argument parsing
3745and promote argparse.
3746
3747..
3748
3749.. bpo: 32910
3750.. date: 2019-07-25-10-30-32
3751.. nonce: caLLAe
3752.. section: Documentation
3753
3754Remove implementation-specific behaviour of how venv's Deactivate works.
3755
3756..
3757
3758.. bpo: 37256
3759.. date: 2019-07-16-14-48-12
3760.. nonce: qJTrBb
3761.. section: Documentation
3762
3763Fix wording of arguments for :class:`Request` in :mod:`urllib.request`
3764
3765..
3766
3767.. bpo: 37284
3768.. date: 2019-07-13-12-58-20
3769.. nonce: rP8WpB
3770.. section: Documentation
3771
3772Add a brief note to indicate that any new ``sys.implementation`` required
3773attributes must go through the PEP process.
3774
3775..
3776
3777.. bpo: 30088
3778.. date: 2019-07-13-12-43-01
3779.. nonce: CIcBjy
3780.. section: Documentation
3781
3782Documented that :class:`mailbox.Maildir` constructor doesn't attempt to
3783verify the maildir folder layout correctness. Patch by Sviatoslav Sydorenko.
3784
3785..
3786
3787.. bpo: 37521
3788.. date: 2019-07-12-15-09-56
3789.. nonce: 7tiFR-
3790.. section: Documentation
3791
3792Fix `importlib` examples to insert any newly created modules via
3793importlib.util.module_from_spec() immediately into sys.modules instead of
3794after calling loader.exec_module().
3795
3796Thanks to Benjamin Mintz for finding the bug.
3797
3798..
3799
3800.. bpo: 37456
3801.. date: 2019-07-06-17-51-36
3802.. nonce: lgAQHn
3803.. section: Documentation
3804
3805Slash ('/') is now part of syntax.
3806
3807..
3808
3809.. bpo: 37487
3810.. date: 2019-07-06-17-19-26
3811.. nonce: QagfZ5
3812.. section: Documentation
3813
3814Fix PyList_GetItem index description to include 0.
3815
3816..
3817
3818.. bpo: 37149
3819.. date: 2019-07-06-02-19-02
3820.. nonce: NumHn3
3821.. section: Documentation
3822
3823Replace the dead link to the Tkinter 8.5 reference by John Shipman, New
3824Mexico Tech, with a link to the archive.org copy.
3825
3826..
3827
3828.. bpo: 37478
3829.. date: 2019-07-06-00-57-27
3830.. nonce: B0ioLw
3831.. section: Documentation
3832
3833Added possible exceptions to the description of os.chdir().
3834
3835..
3836
3837.. bpo: 34903
3838.. date: 2019-06-17-09-36-46
3839.. nonce: r_wGRc
3840.. section: Documentation
3841
3842Documented that in :meth:`datetime.datetime.strptime()`, the leading zero in
3843some two-digit formats is optional. Patch by Mike Gleen.
3844
3845..
3846
3847.. bpo: 36260
3848.. date: 2019-06-04-09-29-00
3849.. nonce: WrGuc-
3850.. section: Documentation
3851
3852Add decompression pitfalls to zipfile module documentation.
3853
3854..
3855
3856.. bpo: 37004
3857.. date: 2019-05-22-04-30-07
3858.. nonce: BRgxrt
3859.. section: Documentation
3860
3861In the documentation for difflib, a note was added explicitly warning that
3862the results of SequenceMatcher's ratio method may depend on the order of the
3863input strings.
3864
3865..
3866
3867.. bpo: 36960
3868.. date: 2019-05-18-16-25-44
3869.. nonce: xEKHXj
3870.. section: Documentation
3871
3872Restructured the :mod:`datetime` docs in the interest of making them more
3873user-friendly and improving readability. Patch by Brad Solomon.
3874
3875..
3876
3877.. bpo: 36487
3878.. date: 2019-04-02-19-23-00
3879.. nonce: Jg6-MG
3880.. section: Documentation
3881
3882Make C-API docs clear about what the "main" interpreter is.
3883
3884..
3885
3886.. bpo: 23460
3887.. date: 2019-02-14-07-12-48
3888.. nonce: Iqiqtm
3889.. section: Documentation
3890
3891The documentation for decimal string formatting using the `:g` specifier has
3892been updated to reflect the correct exponential notation cutoff point.
3893Original patch contributed by Tuomas Suutari.
3894
3895..
3896
3897.. bpo: 35803
3898.. date: 2019-01-21-14-30-59
3899.. nonce: yae6Lq
3900.. section: Documentation
3901
3902Document and test that ``tempfile`` functions may accept a :term:`path-like
3903object` for the ``dir`` argument. Patch by Anthony Sottile.
3904
3905..
3906
3907.. bpo: 33944
3908.. date: 2018-10-26-18-10-29
3909.. nonce: V1YeOA
3910.. section: Documentation
3911
3912Added a note about the intended use of code in .pth files.
3913
3914..
3915
3916.. bpo: 34293
3917.. date: 2018-07-31-15-38-26
3918.. nonce: yHupAL
3919.. section: Documentation
3920
3921Fix the Doc/Makefile regarding PAPER environment variable and PDF builds
3922
3923..
3924
3925.. bpo: 25237
3926.. date: 2018-06-02-12-55-23
3927.. nonce: m8-JMu
3928.. section: Documentation
3929
3930Add documentation for tkinter modules
3931
3932..
3933
3934.. bpo: 38614
3935.. date: 2019-10-30-15-12-32
3936.. nonce: M6UnLB
3937.. section: Tests
3938
3939Fix test_communicate() of test_asyncio.test_subprocess: use
3940``support.LONG_TIMEOUT`` (5 minutes), instead of just 1 minute.
3941
3942..
3943
3944.. bpo: 38614
3945.. date: 2019-10-28-15-56-02
3946.. nonce: aDdDYE
3947.. section: Tests
3948
3949Add timeout constants to :mod:`test.support`:
3950:data:`~test.support.LOOPBACK_TIMEOUT`,
3951:data:`~test.support.INTERNET_TIMEOUT`, :data:`~test.support.SHORT_TIMEOUT`
3952and :data:`~test.support.LONG_TIMEOUT`.
3953
3954..
3955
3956.. bpo: 38502
3957.. date: 2019-10-17-00-49-38
3958.. nonce: vUEic7
3959.. section: Tests
3960
3961test.regrtest now uses process groups in the multiprocessing mode (-jN
3962command line option) if process groups are available: if :func:`os.setsid`
3963and :func:`os.killpg` functions are available.
3964
3965..
3966
3967.. bpo: 35998
3968.. date: 2019-10-16-01-36-15
3969.. nonce: G305Bf
3970.. section: Tests
3971
3972Fix a race condition in test_asyncio.test_start_tls_server_1(). Previously,
3973there was a race condition between the test main() function which replaces
3974the protocol and the test ServerProto protocol which sends ANSWER once it
3975gets HELLO. Now, only the test main() function is responsible to send data,
3976ServerProto no longer sends data.
3977
3978..
3979
3980.. bpo: 38470
3981.. date: 2019-10-14-22-46-35
3982.. nonce: NHtzpy
3983.. section: Tests
3984
3985Fix ``test_compileall.test_compile_dir_maxlevels()`` on Windows without long
3986path support: only create 3 subdirectories instead of between 20 and 100
3987subdirectories.
3988
3989..
3990
3991.. bpo: 37531
3992.. date: 2019-10-08-16-42-05
3993.. nonce: 7v-_Ca
3994.. section: Tests
3995
3996On timeout, regrtest no longer attempts to call ``popen.communicate()``
3997again: it can hang until all child processes using stdout and stderr pipes
3998completes. Kill the worker process and ignores its output. Change also the
3999faulthandler timeout of the main process from 1 minute to 5 minutes, for
4000Python slowest buildbots.
4001
4002..
4003
4004.. bpo: 38239
4005.. date: 2019-09-26-15-48-36
4006.. nonce: MfoVzY
4007.. section: Tests
4008
4009Fix test_gdb for Link Time Optimization (LTO) builds.
4010
4011..
4012
4013.. bpo: 38275
4014.. date: 2019-09-25-14-40-57
4015.. nonce: -kdveI
4016.. section: Tests
4017
4018test_ssl now handles disabled TLS/SSL versions better. OpenSSL's crypto
4019policy and run-time settings are recognized and tests for disabled versions
4020are skipped. Tests also accept more TLS minimum_versions for platforms that
4021override OpenSSL's default with strict settings.
4022
4023..
4024
4025.. bpo: 38271
4026.. date: 2019-09-25-13-11-29
4027.. nonce: iHXNIg
4028.. section: Tests
4029
4030The private keys for test_ssl were encrypted with 3DES in traditional PKCS#5
4031format. 3DES and the digest algorithm of PKCS#5 are blocked by some strict
4032crypto policies. Use PKCS#8 format with AES256 encryption instead.
4033
4034..
4035
4036.. bpo: 38270
4037.. date: 2019-09-25-12-18-31
4038.. nonce: _x-9uH
4039.. section: Tests
4040
4041test.support now has a helper function to check for availibility of a hash
4042digest function. Several tests are refactored avoid MD5 and use SHA256
4043instead. Other tests are marked to use MD5 and skipped when MD5 is disabled.
4044
4045..
4046
4047.. bpo: 37123
4048.. date: 2019-09-24-12-30-55
4049.. nonce: IoutBn
4050.. section: Tests
4051
4052Multiprocessing test test_mymanager() now also expects -SIGTERM, not only
4053exitcode 0. BaseManager._finalize_manager() sends SIGTERM to the manager
4054process if it takes longer than 1 second to stop, which happens on slow
4055buildbots.
4056
4057..
4058
4059.. bpo: 38212
4060.. date: 2019-09-24-12-24-05
4061.. nonce: IWbhWz
4062.. section: Tests
4063
4064Multiprocessing tests: increase test_queue_feeder_donot_stop_onexc() timeout
4065from 1 to 60 seconds.
4066
4067..
4068
4069.. bpo: 38117
4070.. date: 2019-09-11-17-22-32
4071.. nonce: X7LgGY
4072.. section: Tests
4073
4074Test with OpenSSL 1.1.1d
4075
4076..
4077
4078.. bpo: 38018
4079.. date: 2019-09-03-19-33-10
4080.. nonce: zTrMu7
4081.. section: Tests
4082
4083Increase code coverage for multiprocessing.shared_memory.
4084
4085..
4086
4087.. bpo: 37805
4088.. date: 2019-08-25-19-51-46
4089.. nonce: Kl1sti
4090.. section: Tests
4091
4092Add tests for json.dump(..., skipkeys=True). Patch by Dong-hee Na.
4093
4094..
4095
4096.. bpo: 37531
4097.. date: 2019-08-20-19-24-19
4098.. nonce: wRoXfU
4099.. section: Tests
4100
4101Enhance regrtest multiprocess timeout: write a message when killing a worker
4102process, catch popen.kill() and popen.wait() exceptions, put a timeout on
4103the second call to popen.communicate().
4104
4105..
4106
4107.. bpo: 37876
4108.. date: 2019-08-16-16-15-14
4109.. nonce: m3k1w3
4110.. section: Tests
4111
4112Add tests for ROT-13 codec.
4113
4114..
4115
4116.. bpo: 36833
4117.. date: 2019-07-18-14-52-58
4118.. nonce: Zoe9ek
4119.. section: Tests
4120
4121Added tests for PyDateTime_xxx_GET_xxx() macros of the C API of the
4122:mod:`datetime` module. Patch by Joannah Nanjekye.
4123
4124..
4125
4126.. bpo: 37558
4127.. date: 2019-07-11-10-33-56
4128.. nonce: SKHRsL
4129.. section: Tests
4130
4131Fix test_shared_memory_cleaned_after_process_termination name handling
4132
4133..
4134
4135.. bpo: 37526
4136.. date: 2019-07-09-12-33-18
4137.. nonce: vmm5y7
4138.. section: Tests
4139
4140Add :func:`test.support.catch_threading_exception`: context manager catching
4141:class:`threading.Thread` exception using :func:`threading.excepthook`.
4142
4143..
4144
4145.. bpo: 37421
4146.. date: 2019-07-08-10-11-36
4147.. nonce: OY77go
4148.. section: Tests
4149
4150test_concurrent_futures now explicitly stops the ForkServer instance if it's
4151running.
4152
4153..
4154
4155.. bpo: 37421
4156.. date: 2019-07-05-14-47-55
4157.. nonce: n8o2to
4158.. section: Tests
4159
4160multiprocessing tests now stop the ForkServer instance if it's running:
4161close the "alive" file descriptor to ask the server to stop and then remove
4162its UNIX address.
4163
4164..
4165
4166.. bpo: 37421
4167.. date: 2019-07-03-00-05-28
4168.. nonce: ORGRSG
4169.. section: Tests
4170
4171test_distutils.test_build_ext() is now able to remove the temporary
4172directory on Windows: don't import the newly built C extension ("xx") in the
4173current process, but test it in a separated process.
4174
4175..
4176
4177.. bpo: 37421
4178.. date: 2019-07-02-23-29-06
4179.. nonce: WEfc5A
4180.. section: Tests
4181
4182test_concurrent_futures now cleans up multiprocessing to remove immediately
4183temporary directories created by multiprocessing.util.get_temp_dir().
4184
4185..
4186
4187.. bpo: 37421
4188.. date: 2019-07-02-23-20-35
4189.. nonce: HCkKWz
4190.. section: Tests
4191
4192test_winconsoleio doesn't leak a temporary file anymore: use
4193tempfile.TemporaryFile() to remove it when the test completes.
4194
4195..
4196
4197.. bpo: 37421
4198.. date: 2019-07-01-19-57-26
4199.. nonce: NFH1f0
4200.. section: Tests
4201
4202multiprocessing tests now explicitly call ``_run_finalizers()`` to
4203immediately remove temporary directories created by tests.
4204
4205..
4206
4207.. bpo: 37421
4208.. date: 2019-07-01-19-56-17
4209.. nonce: bOe350
4210.. section: Tests
4211
4212urllib.request tests now call :func:`~urllib.request.urlcleanup` to remove
4213temporary files created by ``urlretrieve()`` tests and to clear the
4214``_opener`` global variable set by ``urlopen()`` and functions calling
4215indirectly ``urlopen()``.
4216
4217..
4218
4219.. bpo: 37472
4220.. date: 2019-07-01-17-19-47
4221.. nonce: WzkEAx
4222.. section: Tests
4223
4224Remove ``Lib/test/outstanding_bugs.py``.
4225
4226..
4227
4228.. bpo: 37199
4229.. date: 2019-06-29-23-56-28
4230.. nonce: FHDsLf
4231.. section: Tests
4232
4233Fix test failures when IPv6 is unavailable or disabled.
4234
4235..
4236
4237.. bpo: 19696
4238.. date: 2019-06-29-16-02-21
4239.. nonce: 05ijhN
4240.. section: Tests
4241
4242Replace deprecated method "random.choose" with "random.choice" in
4243"test_pkg_import.py".
4244
4245..
4246
4247.. bpo: 37335
4248.. date: 2019-06-28-16-37-52
4249.. nonce: o5S2hY
4250.. section: Tests
4251
4252Remove no longer necessary code from c locale coercion tests
4253
4254..
4255
4256.. bpo: 37421
4257.. date: 2019-06-27-00-37-59
4258.. nonce: rVJb3x
4259.. section: Tests
4260
4261Fix test_shutil to no longer leak temporary files.
4262
4263..
4264
4265.. bpo: 37411
4266.. date: 2019-06-26-15-28-45
4267.. nonce: 5lGNhM
4268.. section: Tests
4269
4270Fix test_wsgiref.testEnviron() to no longer depend on the environment
4271variables (don't fail if "X" variable is set).
4272
4273..
4274
4275.. bpo: 37400
4276.. date: 2019-06-25-16-02-43
4277.. nonce: cx_EWv
4278.. section: Tests
4279
4280Fix test_os.test_chown(): use os.getgroups() rather than grp.getgrall() to
4281get groups. Rename also the test to test_chown_gid().
4282
4283..
4284
4285.. bpo: 37359
4286.. date: 2019-06-24-10-47-07
4287.. nonce: CkdtyO
4288.. section: Tests
4289
4290Add --cleanup option to python3 -m test to remove ``test_python_*``
4291directories of previous failed jobs. Add "make cleantest" to run ``python3
4292-m test --cleanup``.
4293
4294..
4295
4296.. bpo: 37362
4297.. date: 2019-06-21-15-47-33
4298.. nonce: D3xppx
4299.. section: Tests
4300
4301test_gdb no longer fails if it gets an "unexpected" message on stderr: it
4302now ignores stderr. The purpose of test_gdb is to test that python-gdb.py
4303commands work as expected, not to test gdb.
4304
4305..
4306
4307.. bpo: 35998
4308.. date: 2019-06-14-17-05-49
4309.. nonce: yX82oD
4310.. section: Tests
4311
4312Avoid TimeoutError in test_asyncio: test_start_tls_server_1()
4313
4314..
4315
4316.. bpo: 37278
4317.. date: 2019-06-14-12-21-47
4318.. nonce: z0HUOr
4319.. section: Tests
4320
4321Fix test_asyncio ProactorLoopCtrlC: join the thread to prevent leaking a
4322running thread and leaking a reference.
4323
4324..
4325
4326.. bpo: 37261
4327.. date: 2019-06-13-12-19-56
4328.. nonce: NuKFVo
4329.. section: Tests
4330
4331Fix :func:`test.support.catch_unraisable_exception`: its __exit__() method
4332now ignores unraisable exception raised when clearing its ``unraisable``
4333attribute.
4334
4335..
4336
4337.. bpo: 37069
4338.. date: 2019-06-13-00-46-25
4339.. nonce: wdktFo
4340.. section: Tests
4341
4342regrtest now uses :func:`sys.unraisablehook` to mark a test as "environment
4343altered" (ENV_CHANGED) if it emits an "unraisable exception". Moreover,
4344regrtest logs a warning in this case.
4345
4346Use ``python3 -m test --fail-env-changed`` to catch unraisable exceptions in
4347tests.
4348
4349..
4350
4351.. bpo: 37252
4352.. date: 2019-06-12-14-30-29
4353.. nonce: 4o-uLs
4354.. section: Tests
4355
4356Fix assertions in ``test_close`` and ``test_events_mask_overflow`` devpoll
4357tests.
4358
4359..
4360
4361.. bpo: 37169
4362.. date: 2019-06-07-12-23-15
4363.. nonce: yfXTFg
4364.. section: Tests
4365
4366Rewrite ``_PyObject_IsFreed()`` unit tests.
4367
4368..
4369
4370.. bpo: 37153
4371.. date: 2019-06-04-18-30-39
4372.. nonce: 711INB
4373.. section: Tests
4374
4375``test_venv.test_multiprocessing()`` now explicitly calls
4376``pool.terminate()`` to wait until the pool completes.
4377
4378..
4379
4380.. bpo: 34001
4381.. date: 2019-06-03-20-47-10
4382.. nonce: KvYx9z
4383.. section: Tests
4384
4385Make test_ssl pass with LibreSSL. LibreSSL handles minimum and maximum TLS
4386version differently than OpenSSL.
4387
4388..
4389
4390.. bpo: 36919
4391.. date: 2019-05-28-15-41-34
4392.. nonce: -vGt_m
4393.. section: Tests
4394
4395Make ``test_source_encoding.test_issue2301`` implementation independent. The
4396test will work now for both CPython and IronPython.
4397
4398..
4399
4400.. bpo: 30202
4401.. date: 2019-04-15-19-05-35
4402.. nonce: Wt7INj
4403.. section: Tests
4404
4405Update ``test.test_importlib.test_abc`` to test ``find_spec()``.
4406
4407..
4408
4409.. bpo: 28009
4410.. date: 2019-04-11-07-59-43
4411.. nonce: s85urF
4412.. section: Tests
4413
4414Modify the test_uuid logic to test when a program is available AND can be
4415used to obtain a MACADDR as basis for an UUID. Patch by M. Felt
4416
4417..
4418
4419.. bpo: 34596
4420.. date: 2018-09-07-01-18-27
4421.. nonce: r2-EGd
4422.. section: Tests
4423
4424Fallback to a default reason when :func:`unittest.skip` is uncalled. Patch
4425by Naitree Zhu.
4426
4427..
4428
4429.. bpo: 38809
4430.. date: 2019-11-15-09-25-44
4431.. nonce: 9jwta6
4432.. section: Build
4433
4434On Windows, build scripts will now recognize and use python.exe from an
4435active virtual env.
4436
4437..
4438
4439.. bpo: 38684
4440.. date: 2019-11-04-14-30-37
4441.. nonce: aed593
4442.. section: Build
4443
4444Fix _hashlib build when Blake2 is disabled, but OpenSSL supports it.
4445
4446..
4447
4448.. bpo: 38468
4449.. date: 2019-10-13-16-18-24
4450.. nonce: buCO84
4451.. section: Build
4452
4453Misc/python-config.in now uses `getvar()` for all still existing
4454`sysconfig.get_config_var()` calls. Patch by Joannah Nanjekye.
4455
4456..
4457
4458.. bpo: 37415
4459.. date: 2019-10-11-15-32-58
4460.. nonce: D9RXrq
4461.. section: Build
4462
4463Fix stdatomic.h header check for ICC compiler: the ICC implementation lacks
4464atomic_uintptr_t type which is needed by Python.
4465
4466..
4467
4468.. bpo: 38301
4469.. date: 2019-09-28-02-37-11
4470.. nonce: 123456
4471.. section: Build
4472
4473In Solaris family, we must be sure to use ``-D_REENTRANT``. Patch by JesĂșs
4474Cea AviĂłn.
4475
4476..
4477
4478.. bpo: 36002
4479.. date: 2019-09-13-14-12-36
4480.. nonce: Bcl4oe
4481.. section: Build
4482
4483Locate ``llvm-profdata`` and ``llvm-ar`` binaries using ``AC_PATH_TOOL``
4484rather than ``AC_PATH_TARGET_TOOL``.
4485
4486..
4487
4488.. bpo: 37936
4489.. date: 2019-09-10-00-54-48
4490.. nonce: E7XEwu
4491.. section: Build
4492
4493The :file:`.gitignore` file systematically keeps "rooted", with a
4494non-trailing slash, all the rules that are meant to apply to files in a
4495specific place in the repo. Previously, when the intended file to ignore
4496happened to be at the root of the repo, we'd most often accidentally also
4497ignore files and directories with the same name anywhere in the tree.
4498
4499..
4500
4501.. bpo: 37760
4502.. date: 2019-08-24-17-39-09
4503.. nonce: f3jXuH
4504.. section: Build
4505
4506The :file:`Tools/unicode/makeunicodedata.py` script, which is used for
4507converting information from the Unicode Character Database into generated
4508code and data used by the methods of :class:`str` and by the
4509:mod:`unicodedata` module, now handles each character's data as a
4510``dataclass`` with named attributes, rather than a length-18 list of
4511different fields.
4512
4513..
4514
4515.. bpo: 37936
4516.. date: 2019-08-24-00-29-40
4517.. nonce: QrORqA
4518.. section: Build
4519
4520The :file:`.gitignore` file no longer applies to any files that are in fact
4521tracked in the Git repository. Patch by Greg Price.
4522
4523..
4524
4525.. bpo: 37725
4526.. date: 2019-07-30-16-26-11
4527.. nonce: MkG1TT
4528.. section: Build
4529
4530Change "clean" makefile target to also clean the program guided optimization
4531(PGO) data. Previously you would have to use "make clean" and "make
4532profile-removal", or "make clobber".
4533
4534..
4535
4536.. bpo: 37707
4537.. date: 2019-07-29-11-36-16
4538.. nonce: Sm-dGk
4539.. section: Build
4540
4541Mark some individual tests to skip when --pgo is used. The tests marked
4542increase the PGO task time significantly and likely don't help improve
4543optimization of the final executable.
4544
4545..
4546
4547.. bpo: 36044
4548.. date: 2019-07-11-01-28-24
4549.. nonce: gIgfiJ
4550.. section: Build
4551
4552Reduce the number of unit tests run for the PGO generation task. This
4553speeds up the task by a factor of about 15x. Running the full unit test
4554suite is slow. This change may result in a slightly less optimized build
4555since not as many code branches will be executed. If you are willing to
4556wait for the much slower build, the old behavior can be restored using
4557'./configure [..] PROFILE_TASK="-m test --pgo-extended"'. We make no
4558guarantees as to which PGO task set produces a faster build. Users who care
4559should run their own relevant benchmarks as results can depend on the
4560environment, workload, and compiler tool chain.
4561
4562..
4563
4564.. bpo: 37468
4565.. date: 2019-07-01-14-39-40
4566.. nonce: trbQ-_
4567.. section: Build
4568
4569``make install`` no longer installs ``wininst-*.exe`` files used by
4570distutils bdist_wininst: bdist_wininst only works on Windows.
4571
4572..
4573
4574.. bpo: 37189
4575.. date: 2019-06-17-09-40-59
4576.. nonce: j5ebdT
4577.. section: Build
4578
4579Many ``PyRun_XXX()`` functions like :c:func:`PyRun_String` were no longer
4580exported in ``libpython38.dll`` by mistake. Export them again to fix the ABI
4581compatibility.
4582
4583..
4584
4585.. bpo: 25361
4586.. date: 2019-03-19-22-07-37
4587.. nonce: XO9Bfr
4588.. section: Build
4589
4590Enables use of SSE2 instructions in Windows 32-bit build.
4591
4592..
4593
4594.. bpo: 36210
4595.. date: 2019-03-06-18-55-10
4596.. nonce: fup9H2
4597.. section: Build
4598
4599Update optional extension module detection for AIX. ossaudiodev and spwd are
4600not applicable for AIX, and are no longer reported as missing. 3rd-party
4601packaging of ncurses (with ASIS support) conflicts with officially supported
4602AIX curses library, so configure AIX to use libcurses.a. However, skip
4603trying to build _curses_panel.
4604
4605patch by M Felt
4606
4607..
4608
4609.. bpo: 38589
4610.. date: 2019-10-28-10-48-16
4611.. nonce: V69Q1a
4612.. section: Windows
4613
4614Fixes HTML Help shortcut when Windows is not installed to C drive
4615
4616..
4617
4618.. bpo: 38453
4619.. date: 2019-10-28-10-32-43
4620.. nonce: NwwatW
4621.. section: Windows
4622
4623Ensure ntpath.realpath() correctly resolves relative paths.
4624
4625..
4626
4627.. bpo: 38519
4628.. date: 2019-10-28-05-01-29
4629.. nonce: dCkY66
4630.. section: Windows
4631
4632Restores the internal C headers that were missing from the nuget.org and
4633Microsoft Store packages.
4634
4635..
4636
4637.. bpo: 38492
4638.. date: 2019-10-16-09-49-09
4639.. nonce: Te1LxC
4640.. section: Windows
4641
4642Remove ``pythonw.exe`` dependency on the Microsoft C++ runtime.
4643
4644..
4645
4646.. bpo: 38344
4647.. date: 2019-10-05-05-50-58
4648.. nonce: scr2LO
4649.. section: Windows
4650
4651Fix error message in activate.bat
4652
4653..
4654
4655.. bpo: 38359
4656.. date: 2019-10-03-08-04-14
4657.. nonce: wzwsl_
4658.. section: Windows
4659
4660Ensures ``pyw.exe`` launcher reads correct registry key.
4661
4662..
4663
4664.. bpo: 38355
4665.. date: 2019-10-02-15-38-49
4666.. nonce: n3AWX6
4667.. section: Windows
4668
4669Fixes ``ntpath.realpath`` failing on ``sys.executable``.
4670
4671..
4672
4673.. bpo: 38117
4674.. date: 2019-09-16-14-07-11
4675.. nonce: hJVf0C
4676.. section: Windows
4677
4678Update bundled OpenSSL to 1.1.1d
4679
4680..
4681
4682.. bpo: 38092
4683.. date: 2019-09-13-14-11-42
4684.. nonce: x31ehI
4685.. section: Windows
4686
4687Reduce overhead when using multiprocessing in a Windows virtual environment.
4688
4689..
4690
4691.. bpo: 38133
4692.. date: 2019-09-12-12-05-55
4693.. nonce: yFeRGS
4694.. section: Windows
4695
4696Allow py.exe launcher to locate installations from the Microsoft Store and
4697improve display of active virtual environments.
4698
4699..
4700
4701.. bpo: 38114
4702.. date: 2019-09-11-15-24-04
4703.. nonce: cc0E5E
4704.. section: Windows
4705
4706The ``pip.ini`` is no longer included in the Nuget package.
4707
4708..
4709
4710.. bpo: 32592
4711.. date: 2019-09-11-14-51-56
4712.. nonce: jvQMD9
4713.. section: Windows
4714
4715Set Windows 8 as the minimum required version for API support
4716
4717..
4718
4719.. bpo: 36634
4720.. date: 2019-09-11-14-42-04
4721.. nonce: 8Un8ih
4722.. section: Windows
4723
4724:func:`os.cpu_count` now returns active processors rather than maximum
4725processors.
4726
4727..
4728
4729.. bpo: 36634
4730.. date: 2019-09-11-12-34-31
4731.. nonce: xLaGgb
4732.. section: Windows
4733
4734venv activate.bat now works when the existing variables contain double quote
4735characters.
4736
4737..
4738
4739.. bpo: 38081
4740.. date: 2019-09-11-10-22-01
4741.. nonce: 8JhzjD
4742.. section: Windows
4743
4744Prevent error calling :func:`os.path.realpath` on ``'NUL'``.
4745
4746..
4747
4748.. bpo: 38087
4749.. date: 2019-09-10-14-21-40
4750.. nonce: --eIib
4751.. section: Windows
4752
4753Fix case sensitivity in test_pathlib and test_ntpath.
4754
4755..
4756
4757.. bpo: 38088
4758.. date: 2019-09-10-14-17-25
4759.. nonce: FOvWSM
4760.. section: Windows
4761
4762Fixes distutils not finding vcruntime140.dll with only the v142 toolset
4763installed.
4764
4765..
4766
4767.. bpo: 37283
4768.. date: 2019-09-09-12-22-23
4769.. nonce: 8NvOkU
4770.. section: Windows
4771
4772Ensure command-line and unattend.xml setting override previously detected
4773states in Windows installer.
4774
4775..
4776
4777.. bpo: 38030
4778.. date: 2019-09-04-14-01-08
4779.. nonce: _USdtk
4780.. section: Windows
4781
4782Fixes :func:`os.stat` failing for block devices on Windows
4783
4784..
4785
4786.. bpo: 38020
4787.. date: 2019-09-03-11-47-37
4788.. nonce: xFZ2j0
4789.. section: Windows
4790
4791Fixes potential crash when calling :func:`os.readlink` (or indirectly
4792through :func:`~os.path.realpath`) on a file that is not a supported link.
4793
4794..
4795
4796.. bpo: 37705
4797.. date: 2019-08-30-15-15-22
4798.. nonce: 2o4NWW
4799.. section: Windows
4800
4801Improve the implementation of ``winerror_to_errno()``.
4802
4803..
4804
4805.. bpo: 37549
4806.. date: 2019-08-22-09-04-44
4807.. nonce: TpKI3M
4808.. section: Windows
4809
4810:func:`os.dup` no longer fails for standard streams on Windows 7.
4811
4812..
4813
4814.. bpo: 1311
4815.. date: 2019-08-21-12-58-18
4816.. nonce: BoW1wU
4817.. section: Windows
4818
4819The ``nul`` file on Windows now returns True from :func:`~os.path.exists`
4820and a valid result from :func:`os.stat` with ``S_IFCHR`` set.
4821
4822..
4823
4824.. bpo: 9949
4825.. date: 2019-08-14-13-40-15
4826.. nonce: zW45Ks
4827.. section: Windows
4828
4829Enable support for following symlinks in :func:`os.realpath`.
4830
4831..
4832
4833.. bpo: 37834
4834.. date: 2019-08-12-12-00-24
4835.. nonce: VB2QVj
4836.. section: Windows
4837
4838Treat all name surrogate reparse points on Windows in :func:`os.lstat` and
4839other reparse points as regular files in :func:`os.stat`.
4840
4841..
4842
4843.. bpo: 36266
4844.. date: 2019-08-08-18-05-27
4845.. nonce: x4eZU3
4846.. section: Windows
4847
4848Add the module name in the formatted error message when DLL load fail
4849happens during module import in ``_PyImport_FindSharedFuncptrWindows()``.
4850Patch by Srinivas Nyayapati.
4851
4852..
4853
4854.. bpo: 25172
4855.. date: 2019-08-06-18-09-18
4856.. nonce: Akreij
4857.. section: Windows
4858
4859Trying to import the :mod:`crypt` module on Windows will result in an
4860:exc:`ImportError` with a message explaining that the module isn't supported
4861on Windows. On other platforms, if the underlying ``_crypt`` module is not
4862available, the ImportError will include a message explaining the problem.
4863
4864..
4865
4866.. bpo: 37778
4867.. date: 2019-08-06-13-54-12
4868.. nonce: AY1XhH
4869.. section: Windows
4870
4871Fixes the icons used for file associations to the Microsoft Store package.
4872
4873..
4874
4875.. bpo: 37734
4876.. date: 2019-08-06-09-35-12
4877.. nonce: EoJ9Nh
4878.. section: Windows
4879
4880Fix use of registry values to launch Python from Microsoft Store app.
4881
4882..
4883
4884.. bpo: 37702
4885.. date: 2019-07-29-16-49-31
4886.. nonce: Lj2f5e
4887.. section: Windows
4888
4889Fix memory leak on Windows in creating an SSLContext object or running
4890urllib.request.urlopen('https://...').
4891
4892..
4893
4894.. bpo: 37672
4895.. date: 2019-07-24-14-36-28
4896.. nonce: uKEVHN
4897.. section: Windows
4898
4899Switch Windows Store package's pip to use bundled :file:`pip.ini` instead of
4900:envvar:`PIP_USER` variable.
4901
4902..
4903
4904.. bpo: 10945
4905.. date: 2019-07-01-12-38-48
4906.. nonce: s0YBHG
4907.. section: Windows
4908
4909Officially drop support for creating bdist_wininst installers on non-Windows
4910systems.
4911
4912..
4913
4914.. bpo: 37445
4915.. date: 2019-06-28-18-10-29
4916.. nonce: LsdYO6
4917.. section: Windows
4918
4919Include the ``FORMAT_MESSAGE_IGNORE_INSERTS`` flag in ``FormatMessageW()``
4920calls.
4921
4922..
4923
4924.. bpo: 37369
4925.. date: 2019-06-28-09-44-08
4926.. nonce: 1iVpxq
4927.. section: Windows
4928
4929Fixes path for :data:`sys.executable` when running from the Microsoft Store.
4930
4931..
4932
4933.. bpo: 37380
4934.. date: 2019-06-25-04-15-22
4935.. nonce: tPxjuz
4936.. section: Windows
4937
4938Don't collect unfinished processes with ``subprocess._active`` on Windows to
4939cleanup later. Patch by Ruslan Kuprieiev.
4940
4941..
4942
4943.. bpo: 37351
4944.. date: 2019-06-20-12-50-32
4945.. nonce: asTnVW
4946.. section: Windows
4947
4948Removes libpython38.a from standard Windows distribution.
4949
4950..
4951
4952.. bpo: 35360
4953.. date: 2019-06-18-09-05-08
4954.. nonce: tdqSmo
4955.. section: Windows
4956
4957Update Windows builds to use SQLite 3.28.0.
4958
4959..
4960
4961.. bpo: 37267
4962.. date: 2019-06-13-04-15-51
4963.. nonce: Ygo5ef
4964.. section: Windows
4965
4966On Windows, :func:`os.dup` no longer creates an inheritable fd when handling
4967a character file.
4968
4969..
4970
4971.. bpo: 36779
4972.. date: 2019-06-11-15-41-34
4973.. nonce: 0TMw6f
4974.. section: Windows
4975
4976Ensure ``time.tzname`` is correct on Windows when the active code page is
4977set to CP_UTF7 or CP_UTF8.
4978
4979..
4980
4981.. bpo: 32587
4982.. date: 2019-05-10-15-25-44
4983.. nonce: -0g2O3
4984.. section: Windows
4985
4986Make :data:`winreg.REG_MULTI_SZ` support zero-length strings.
4987
4988..
4989
4990.. bpo: 28269
4991.. date: 2019-05-05-05-23-34
4992.. nonce: -MOHI7
4993.. section: Windows
4994
4995Replace use of :c:func:`strcasecmp` for the system function
4996:c:func:`_stricmp`. Patch by Minmin Gong.
4997
4998..
4999
5000.. bpo: 36590
5001.. date: 2019-04-10-21-13-26
5002.. nonce: ZTaKcu
5003.. section: Windows
5004
5005Add native Bluetooth RFCOMM support to socket module.
5006
5007..
5008
5009.. bpo: 38117
5010.. date: 2019-09-15-21-29-13
5011.. nonce: ZLsoAZ
5012.. section: macOS
5013
5014Updated OpenSSL to 1.1.1d in macOS installer.
5015
5016..
5017
5018.. bpo: 38089
5019.. date: 2019-09-10-14-24-35
5020.. nonce: eedgyD
5021.. section: macOS
5022
5023Move Azure Pipelines to latest VM versions and make macOS tests optional
5024
5025..
5026
5027.. bpo: 18049
5028.. date: 2019-07-13-15-58-18
5029.. nonce: MklhQQ
5030.. section: macOS
5031
5032Increase the default stack size of threads from 5MB to 16MB on macOS, to
5033match the stack size of the main thread. This avoids crashes on deep
5034recursion in threads.
5035
5036..
5037
5038.. bpo: 34602
5039.. date: 2019-07-02-01-06-47
5040.. nonce: 10d4wl
5041.. section: macOS
5042
5043Avoid test suite failures on macOS by no longer calling resource.setrlimit
5044to increase the process stack size limit at runtime. The runtime change is
5045no longer needed since the interpreter is being built with a larger default
5046stack size.
5047
5048..
5049
5050.. bpo: 35360
5051.. date: 2019-06-18-08-58-30
5052.. nonce: -CWbfy
5053.. section: macOS
5054
5055Update macOS installer to use SQLite 3.28.0.
5056
5057..
5058
5059.. bpo: 34631
5060.. date: 2019-06-18-00-30-40
5061.. nonce: vSifcv
5062.. section: macOS
5063
5064Updated OpenSSL to 1.1.1c in macOS installer.
5065
5066..
5067
5068.. bpo: 26353
5069.. date: 2019-11-09-23-55-59
5070.. nonce: duYZiF
5071.. section: IDLE
5072
5073Stop adding newline when saving an IDLE shell window.
5074
5075..
5076
5077.. bpo: 4630
5078.. date: 2019-10-28-04-48-03
5079.. nonce: upgjiV
5080.. section: IDLE
5081
5082Add an option to toggle IDLE's cursor blink for shell, editor, and output
5083windows. See Settings, General, Window Preferences, Cursor Blink. Patch by
5084Zachary Spytz.
5085
5086..
5087
5088.. bpo: 38598
5089.. date: 2019-10-26-18-16-24
5090.. nonce: 6kH9FY
5091.. section: IDLE
5092
5093Do not try to compile IDLE shell or output windows
5094
5095..
5096
5097.. bpo: 36698
5098.. date: 2019-10-04-18-03-09
5099.. nonce: BKcmom
5100.. section: IDLE
5101
5102IDLE no longer fails when write non-encodable characters to stderr. It now
5103escapes them with a backslash, as the regular Python interpreter. Added the
5104``errors`` field to the standard streams.
5105
5106..
5107
5108.. bpo: 35379
5109.. date: 2019-09-17-01-28-56
5110.. nonce: yAECDr
5111.. section: IDLE
5112
5113When exiting IDLE, catch any AttributeError. One happens when
5114EditorWindow.close is called twice. Printing a traceback, when IDLE is run
5115from a terminal, is useless and annoying.
5116
5117..
5118
5119.. bpo: 38183
5120.. date: 2019-09-16-15-04-29
5121.. nonce: eudCN1
5122.. section: IDLE
5123
5124To avoid problems, test_idle ignores the user config directory. It no longer
5125tries to create or access .idlerc or any files within. Users must run IDLE
5126to discover problems with saving settings.
5127
5128..
5129
5130.. bpo: 38077
5131.. date: 2019-09-09-22-08-36
5132.. nonce: Mzpfe2
5133.. section: IDLE
5134
5135IDLE no longer adds 'argv' to the user namespace when initializing it. This
5136bug only affected 3.7.4 and 3.8.0b2 to 3.8.0b4.
5137
5138..
5139
5140.. bpo: 38041
5141.. date: 2019-09-05-23-12-13
5142.. nonce: nxmGGK
5143.. section: IDLE
5144
5145Shell restart lines now fill the window width, always start with '=', and
5146avoid wrapping unnecessarily. The line will still wrap if the included file
5147name is long relative to the width.
5148
5149..
5150
5151.. bpo: 35771
5152.. date: 2019-09-01-10-22-55
5153.. nonce: tdbmbP
5154.. section: IDLE
5155
5156To avoid occasional spurious test_idle failures on slower machines, increase
5157the ``hover_delay`` in test_tooltip.
5158
5159..
5160
5161.. bpo: 37824
5162.. date: 2019-08-26-00-41-53
5163.. nonce: YY5jAI
5164.. section: IDLE
5165
5166Properly handle user input warnings in IDLE shell. Cease turning
5167SyntaxWarnings into SyntaxErrors.
5168
5169..
5170
5171.. bpo: 37929
5172.. date: 2019-08-24-22-00-33
5173.. nonce: jb7523
5174.. section: IDLE
5175
5176IDLE Settings dialog now closes properly when there is no shell window.
5177
5178..
5179
5180.. bpo: 37902
5181.. date: 2019-08-21-16-02-49
5182.. nonce: _R_adE
5183.. section: IDLE
5184
5185Add mousewheel scrolling for IDLE module, path, and stack browsers. Patch by
5186George Zhang.
5187
5188..
5189
5190.. bpo: 37849
5191.. date: 2019-08-14-09-43-15
5192.. nonce: -bcYF3
5193.. section: IDLE
5194
5195Fixed completions list appearing too high or low when shown above the
5196current line.
5197
5198..
5199
5200.. bpo: 36419
5201.. date: 2019-08-04-17-10-01
5202.. nonce: TJZqOc
5203.. section: IDLE
5204
5205Refactor IDLE autocomplete and improve testing.
5206
5207..
5208
5209.. bpo: 37748
5210.. date: 2019-08-04-15-27-50
5211.. nonce: 0vf6pg
5212.. section: IDLE
5213
5214Reorder the Run menu. Put the most common choice, Run Module, at the top.
5215
5216..
5217
5218.. bpo: 37692
5219.. date: 2019-07-27-15-14-20
5220.. nonce: TRHGjD
5221.. section: IDLE
5222
5223Improve highlight config sample with example shell interaction and better
5224labels for shell elements.
5225
5226..
5227
5228.. bpo: 37628
5229.. date: 2019-07-26-17-51-13
5230.. nonce: kX4AUF
5231.. section: IDLE
5232
5233Settings dialog no longer expands with font size.
5234
5235..
5236
5237.. bpo: 37627
5238.. date: 2019-07-20-23-33-53
5239.. nonce: dQhUNB
5240.. section: IDLE
5241
5242Initialize the Customize Run dialog with the command line arguments most
5243recently entered before. The user can optionally edit before submitting
5244them.
5245
5246..
5247
5248.. bpo: 33610
5249.. date: 2019-07-18-10-11-36
5250.. nonce: xYqMLg
5251.. section: IDLE
5252
5253Fix code context not showing the correct context when first toggled on.
5254
5255..
5256
5257.. bpo: 37530
5258.. date: 2019-07-11-00-05-31
5259.. nonce: AuyCyD
5260.. section: IDLE
5261
5262Optimize code context to reduce unneeded background activity. Font and
5263highlight changes now occur along with text changes instead of after a
5264random delay.
5265
5266..
5267
5268.. bpo: 27452
5269.. date: 2019-07-03-22-47-44
5270.. nonce: nePPLi
5271.. section: IDLE
5272
5273Cleanup ``config.py`` by inlining ``RemoveFile`` and simplifying the
5274handling of ``file`` in ``CreateConfigHandlers``.
5275
5276..
5277
5278.. bpo: 37325
5279.. date: 2019-06-18-16-40-05
5280.. nonce: GssOf1
5281.. section: IDLE
5282
5283Fix tab focus traversal order for help source and custom run dialogs.
5284
5285..
5286
5287.. bpo: 37321
5288.. date: 2019-06-17-16-35-30
5289.. nonce: zVTTGS
5290.. section: IDLE
5291
5292Both subprocess connection error messages now refer to the 'Startup failure'
5293section of the IDLE doc.
5294
5295..
5296
5297.. bpo: 17535
5298.. date: 2019-06-13-01-07-20
5299.. nonce: K8i2St
5300.. section: IDLE
5301
5302Add optional line numbers for IDLE editor windows. Windows open without
5303line numbers unless set otherwise in the General tab of the configuration
5304dialog.
5305
5306..
5307
5308.. bpo: 26806
5309.. date: 2019-06-10-22-48-50
5310.. nonce: Zltkum
5311.. section: IDLE
5312
5313To compensate for stack frames added by IDLE and avoid possible problems
5314with low recursion limits, add 30 to limits in the user code execution
5315process. Subtract 30 when reporting recursion limits to make this addition
5316mostly transparent.
5317
5318..
5319
5320.. bpo: 37177
5321.. date: 2019-06-07-00-17-41
5322.. nonce: voU6pQ
5323.. section: IDLE
5324
5325Properly 'attach' search dialogs to their main window so that they behave
5326like other dialogs and do not get hidden behind their main window.
5327
5328..
5329
5330.. bpo: 37039
5331.. date: 2019-06-04-23-27-33
5332.. nonce: FN_fBf
5333.. section: IDLE
5334
5335Adjust "Zoom Height" to individual screens by momentarily maximizing the
5336window on first use with a particular screen. Changing screen settings may
5337invalidate the saved height. While a window is maximized, "Zoom Height" has
5338no effect.
5339
5340..
5341
5342.. bpo: 35763
5343.. date: 2019-06-04-20-36-24
5344.. nonce: 7XdoWz
5345.. section: IDLE
5346
5347Make calltip reminder about '/' meaning positional-only less obtrusive by
5348only adding it when there is room on the first line.
5349
5350..
5351
5352.. bpo: 5680
5353.. date: 2019-06-03-00-39-29
5354.. nonce: VCQfOO
5355.. section: IDLE
5356
5357Add 'Run... Customized' to the Run menu to run a module with customized
5358settings. Any 'command line arguments' entered are added to sys.argv. One
5359can suppress the normal Shell main module restart.
5360
5361..
5362
5363.. bpo: 36390
5364.. date: 2019-03-21-08-35-00
5365.. nonce: OdDCGk
5366.. section: IDLE
5367
5368Gather Format menu functions into format.py. Combine paragraph.py,
5369rstrip.py, and format methods from editor.py.
5370
5371..
5372
5373.. bpo: 38118
5374.. date: 2019-10-08-15-07-52
5375.. nonce: pIZD6H
5376.. section: Tools/Demos
5377
5378Update Valgrind suppression file to ignore a false alarm in
5379:c:func:`PyUnicode_Decode` when using GCC builtin strcmp().
5380
5381..
5382
5383.. bpo: 38347
5384.. date: 2019-10-02-09-48-42
5385.. nonce: 2Tq5D1
5386.. section: Tools/Demos
5387
5388pathfix.py: Assume all files that end on '.py' are Python scripts when
5389working recursively.
5390
5391..
5392
5393.. bpo: 37803
5394.. date: 2019-09-12-16-15-55
5395.. nonce: chEizy
5396.. section: Tools/Demos
5397
5398pdb's ``--help`` and ``--version`` long options now work.
5399
5400..
5401
5402.. bpo: 37942
5403.. date: 2019-08-24-12-11-30
5404.. nonce: 7H8N9a
5405.. section: Tools/Demos
5406
5407Improve ArgumentClinic converter for floats.
5408
5409..
5410
5411.. bpo: 37704
5412.. date: 2019-07-29-13-59-19
5413.. nonce: xxGUz_
5414.. section: Tools/Demos
5415
5416Remove ``Tools/scripts/h2py.py``: use cffi to access a C API in Python.
5417
5418..
5419
5420.. bpo: 37675
5421.. date: 2019-07-24-16-20-54
5422.. nonce: 951Cvf
5423.. section: Tools/Demos
5424
54252to3 now works when run from a zipped standard library.
5426
5427..
5428
5429.. bpo: 37034
5430.. date: 2019-05-27-16-13-08
5431.. nonce: zbTgy8
5432.. section: Tools/Demos
5433
5434Argument Clinic now uses the argument name on errors with keyword-only
5435argument instead of their position. Patch contributed by RĂ©mi Lapeyre.
5436
5437..
5438
5439.. bpo: 37064
5440.. date: 2019-05-27-15-26-12
5441.. nonce: k_SPW2
5442.. section: Tools/Demos
5443
5444Add option -k to pathscript.py script: preserve shebang flags. Add option -a
5445to pathscript.py script: add flags.
5446
5447..
5448
5449.. bpo: 37633
5450.. date: 2019-11-04-21-10-47
5451.. nonce: oOGVdo
5452.. section: C API
5453
Pablo Galindo680068c2019-12-10 16:09:58 +00005454Re-export some function compatibility wrappers for macros in ``pythonrun.h``.
Ɓukasz Langafd757082019-11-19 12:17:21 +01005455
5456..
5457
5458.. bpo: 38644
5459.. date: 2019-11-04-17-59-46
5460.. nonce: euO_RR
5461.. section: C API
5462
5463Provide :c:func:`Py_EnterRecursiveCall` and :c:func:`Py_LeaveRecursiveCall`
5464as regular functions for the limited API. Previously, there were defined as
5465macros, but these macros didn't work with the limited API which cannot
5466access ``PyThreadState.recursion_depth`` field. Remove
5467``_Py_CheckRecursionLimit`` from the stable ABI.
5468
5469..
5470
5471.. bpo: 38650
5472.. date: 2019-10-30-22-03-03
5473.. nonce: 0pi8zt
5474.. section: C API
5475
5476The global variable :c:data:`PyStructSequence_UnnamedField` is now a
5477constant and refers to a constant string.
5478
5479..
5480
5481.. bpo: 38540
5482.. date: 2019-10-21-09-24-03
5483.. nonce: 314N_T
5484.. section: C API
5485
5486Fixed possible leak in :c:func:`PyArg_Parse` and similar functions for
5487format units ``"es#"`` and ``"et#"`` when the macro
5488:c:macro:`PY_SSIZE_T_CLEAN` is not defined.
5489
5490..
5491
5492.. bpo: 38395
5493.. date: 2019-10-08-01-23-24
5494.. nonce: MJ6Ey9
5495.. section: C API
5496
5497Fix a crash in :class:`weakref.proxy` objects due to incorrect lifetime
5498management when calling some associated methods that may delete the last
5499reference to object being referenced by the proxy. Patch by Pablo Galindo.
5500
5501..
5502
5503.. bpo: 36389
5504.. date: 2019-10-07-17-15-09
5505.. nonce: hFX_jD
5506.. section: C API
5507
5508The ``_PyObject_CheckConsistency()`` function is now also available in
5509release mode. For example, it can be used to debug a crash in the
5510``visit_decref()`` function of the GC.
5511
5512..
5513
5514.. bpo: 38266
5515.. date: 2019-10-03-12-53-53
5516.. nonce: 0FIC1q
5517.. section: C API
5518
5519Revert the removal of PyThreadState_DeleteCurrent() with documentation.
5520
5521..
5522
5523.. bpo: 38303
5524.. date: 2019-09-30-16-53-30
5525.. nonce: YoIs0M
5526.. section: C API
5527
5528Update audioop extension module to use the stable ABI (PEP-384). Patch by
5529Tyler Kieft.
5530
5531..
5532
5533.. bpo: 38234
5534.. date: 2019-09-24-17-09-48
5535.. nonce: d0bhEA
5536.. section: C API
5537
5538:c:func:`Py_SetPath` now sets :data:`sys.executable` to the program full
5539path (:c:func:`Py_GetProgramFullPath`) rather than to the program name
5540(:c:func:`Py_GetProgramName`).
5541
5542..
5543
5544.. bpo: 38234
5545.. date: 2019-09-20-17-22-41
5546.. nonce: ZbquVK
5547.. section: C API
5548
5549Python ignored arguments passed to :c:func:`Py_SetPath`,
5550:c:func:`Py_SetPythonHome` and :c:func:`Py_SetProgramName`: fix Python
5551initialization to use specified arguments.
5552
5553..
5554
5555.. bpo: 38205
5556.. date: 2019-09-19-18-26-29
5557.. nonce: Db1OJL
5558.. section: C API
5559
5560The :c:func:`Py_UNREACHABLE` macro now calls :c:func:`Py_FatalError`.
5561
5562..
5563
5564.. bpo: 38140
5565.. date: 2019-09-13-01-24-47
5566.. nonce: y59qaO
5567.. section: C API
5568
5569Make dict and weakref offsets opaque for C heap types by passing the offsets
5570through PyMemberDef
5571
5572..
5573
5574.. bpo: 15088
5575.. date: 2019-09-05-14-17-21
5576.. nonce: plt8Em
5577.. section: C API
5578
5579The C function ``PyGen_NeedsFinalizing`` has been removed. It was not
5580documented, tested or used anywhere within CPython after the implementation
5581of :pep:`442`. Patch by Joannah Nanjekye. (Patch by Joannah Nanjekye)
5582
5583..
5584
5585.. bpo: 36763
5586.. date: 2019-08-23-18-45-11
5587.. nonce: q3Kh8Z
5588.. section: C API
5589
5590Options added by ``PySys_AddXOption()`` are now handled the same way than
5591``PyConfig.xoptions`` and command line ``-X`` options.
5592
5593..
5594
5595.. bpo: 37926
5596.. date: 2019-08-23-11-35-55
5597.. nonce: hnI5IQ
5598.. section: C API
5599
5600Fix a crash in ``PySys_SetArgvEx(0, NULL, 0)``.
5601
5602..
5603
5604.. bpo: 37879
5605.. date: 2019-08-17-13-50-21
5606.. nonce: CZeUem
5607.. section: C API
5608
5609Fix subtype_dealloc to suppress the type decref when the base type is a C
5610heap type
5611
5612..
5613
5614.. bpo: 37645
5615.. date: 2019-07-21-21-08-47
5616.. nonce: 4DcUaI
5617.. section: C API
5618
5619Add :c:func:`_PyObject_FunctionStr` to get a user-friendly string
5620representation of a function-like object. Patch by Jeroen Demeyer.
5621
5622..
5623
5624.. bpo: 29548
5625.. date: 2019-07-17-09-50-50
5626.. nonce: 5wIptQ
5627.. section: C API
5628
5629The functions ``PyEval_CallObject``, ``PyEval_CallFunction``,
5630``PyEval_CallMethod`` and ``PyEval_CallObjectWithKeywords`` are deprecated.
5631Use :c:func:`PyObject_Call` and its variants instead.
5632
5633..
5634
5635.. bpo: 37151
5636.. date: 2019-07-16-11-02-00
5637.. nonce: YKfuNA
5638.. section: C API
5639
5640``PyCFunction_Call`` is now a deprecated alias of :c:func:`PyObject_Call`.
5641
5642..
5643
5644.. bpo: 37540
5645.. date: 2019-07-10-12-27-28
5646.. nonce: E8Z773
5647.. section: C API
5648
5649The vectorcall protocol now requires that the caller passes only strings as
5650keyword names.
5651
5652..
5653
5654.. bpo: 37207
5655.. date: 2019-07-07-10-37-07
5656.. nonce: SlVNky
5657.. section: C API
5658
5659The vectorcall protocol is now enabled for ``type`` objects: set
5660``tp_vectorcall`` to a vectorcall function to be used instead of ``tp_new``
5661and ``tp_init`` when calling the class itself.
5662
5663..
5664
5665.. bpo: 21120
5666.. date: 2019-07-06-23-56-47
5667.. nonce: lXHqlT
5668.. section: C API
5669
5670Exclude Python-ast.h, ast.h and asdl.h from the limited API.
5671
5672..
5673
5674.. bpo: 37483
5675.. date: 2019-07-02-15-42-37
5676.. nonce: vftT4f
5677.. section: C API
5678
5679Add new function ``_PyObject_CallOneArg`` for calling an object with one
5680positional argument.
5681
5682..
5683
5684.. bpo: 36763
5685.. date: 2019-06-28-15-49-16
5686.. nonce: zrmgki
5687.. section: C API
5688
5689Add :func:`PyConfig_SetWideStringList` function.
5690
5691..
5692
5693.. bpo: 37337
5694.. date: 2019-06-19-12-06-31
5695.. nonce: gXIGyU
5696.. section: C API
5697
5698Add fast functions for calling methods:
5699:c:func:`_PyObject_VectorcallMethod`, :c:func:`_PyObject_CallMethodNoArgs`
5700and :c:func:`_PyObject_CallMethodOneArg`.
5701
5702..
5703
5704.. bpo: 28805
5705.. date: 2019-06-14-14-03-51
5706.. nonce: qZC0N_
5707.. section: C API
5708
5709The :const:`METH_FASTCALL` calling convention has been documented.
5710
5711..
5712
5713.. bpo: 37221
5714.. date: 2019-06-11-02-50-38
5715.. nonce: 4tClQT
5716.. section: C API
5717
5718The new function :c:func:`PyCode_NewWithPosOnlyArgs` allows to create code
5719objects like :c:func:`PyCode_New`, but with an extra *posonlyargcount*
5720parameter for indicating the number of positonal-only arguments.
5721
5722..
5723
5724.. bpo: 37215
5725.. date: 2019-06-10-15-32-34
5726.. nonce: yzoNyU
5727.. section: C API
5728
5729Fix dtrace issue introduce by bpo-36842
5730
5731..
5732
5733.. bpo: 37194
5734.. date: 2019-06-07-14-03-52
5735.. nonce: uck7MD
5736.. section: C API
5737
5738Add a new public :c:func:`PyObject_CallNoArgs` function to the C API: call a
5739callable Python object without any arguments. It is the most efficient way
5740to call a callback without any argument. On x86-64, for example,
5741``PyObject_CallFunctionObjArgs(func, NULL)`` allocates 960 bytes on the
5742stack per call, whereas ``PyObject_CallNoArgs(func)`` only allocates 624
5743bytes per call.
5744
5745..
5746
5747.. bpo: 37170
5748.. date: 2019-06-06-08-47-04
5749.. nonce: hO_fpM
5750.. section: C API
5751
5752Fix the cast on error in :c:func:`PyLong_AsUnsignedLongLongMask()`.
5753
5754..
5755
5756.. bpo: 35381
5757.. date: 2019-01-18-17-05-26
5758.. nonce: 9CbeW3
5759.. section: C API
5760
5761Convert posixmodule.c statically allocated types ``DirEntryType`` and
5762``ScandirIteratorType`` to heap-allocated types.
5763
5764..
5765
5766.. bpo: 34331
5767.. date: 2018-08-04-00-59-44
5768.. nonce: iaUkmU
5769.. section: C API
5770
5771Use singular/plural noun in error message when instantiating an abstract
5772class with non-overriden abstract method(s).