1.. bpo: 29781
2.. date: 2017-09-05-15-26-30
3.. nonce: LwYtBP
4.. release date: 2017-09-19
5.. section: Security
6
7SSLObject.version() now correctly returns None when handshake over BIO has
8not been performed yet.
9
10..
11
12.. bpo: 29505
13.. date: 2017-08-23-17-02-55
14.. nonce: BL6Yt8
15.. section: Security
16
17Add fuzz tests for float(str), int(str), unicode(str); for oss-fuzz.
18
19..
20
21.. bpo: 30947
22.. date: 2017-08-16-16-35-59
23.. nonce: iNMmm4
24.. section: Security
25
26Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 to get security
27fixes.
28
29..
30
31.. bpo: 30730
32.. date: 0347
33.. nonce: rJsyTH
34.. original section: Library
35.. section: Security
36
37Prevent environment variables injection in subprocess on Windows.  Prevent
38passing other environment variables and command arguments.
39
40..
41
42.. bpo: 30694
43.. date: 0344
44.. nonce: WkMWM_
45.. original section: Library
46.. section: Security
47
48Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security
49vulnerabilities including: CVE-2017-9233 (External entity infinite loop
50DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix
51regression bugs from 2.2.0's fix to CVE-2016-0718) and CVE-2012-0876
52(Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use
53os-specific entropy sources like getrandom) doesn't impact Python, since Python
54already gets entropy from the OS to set the expat secret using
55``XML_SetHashSalt()``.
56
57..
58
59.. bpo: 30500
60.. date: 0342
61.. nonce: 1VG7R-
62.. original section: Library
63.. section: Security
64
65Fix urllib.parse.splithost() to correctly parse fragments. For example,
66``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the
67``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an
68authentication (``login@host``).
69
70..
71
72.. bpo: 29591
73.. date: 0338
74.. nonce: ExKblw
75.. original section: Library
76.. section: Security
77
78Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and
79CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more
80information.
81
82..
83
84.. bpo: 31490
85.. date: 2017-09-16-13-32-35
86.. nonce: r7m2sj
87.. section: Core and Builtins
88
89Fix an assertion failure in `ctypes` class definition, in case the class has
90an attribute whose name is specified in ``_anonymous_`` but not in
91``_fields_``. Patch by Oren Milman.
92
93..
94
95.. bpo: 31471
96.. date: 2017-09-14-19-47-57
97.. nonce: 0yiA5Q
98.. section: Core and Builtins
99
100Fix an assertion failure in `subprocess.Popen()` on Windows, in case the env
101argument has a bad keys() method. Patch by Oren Milman.
102
103..
104
105.. bpo: 31418
106.. date: 2017-09-13-13-03-52
107.. nonce: rS-FlC
108.. section: Core and Builtins
109
110Fix an assertion failure in `PyErr_WriteUnraisable()` in case of an
111exception with a bad ``__module__`` attribute. Patch by Oren Milman.
112
113..
114
115.. bpo: 31416
116.. date: 2017-09-11-12-54-35
117.. nonce: 2hlQFd
118.. section: Core and Builtins
119
120Fix assertion failures in case of a bad warnings.filters or
121warnings.defaultaction. Patch by Oren Milman.
122
123..
124
125.. bpo: 28411
126.. date: 2017-09-11-09-24-21
127.. nonce: 12SpAm
128.. section: Core and Builtins
129
130Change direct usage of PyInterpreterState.modules to
131PyImport_GetModuleDict(). Also introduce more uniformity in other code that
132deals with sys.modules. This helps reduce complications when working on
133sys.modules.
134
135..
136
137.. bpo: 28411
138.. date: 2017-09-11-09-11-20
139.. nonce: Ax91lz
140.. section: Core and Builtins
141
142Switch to the abstract API when dealing with ``PyInterpreterState.modules``.
143This allows later support for all dict subclasses and other Mapping
144implementations.  Also add a ``PyImport_GetModule()`` function to reduce a
145bunch of duplicated code.
146
147..
148
149.. bpo: 31411
150.. date: 2017-09-11-08-50-41
151.. nonce: HZz82I
152.. section: Core and Builtins
153
154Raise a TypeError instead of SystemError in case warnings.onceregistry is
155not a dictionary. Patch by Oren Milman.
156
157..
158
159.. bpo: 31344
160.. date: 2017-09-06-20-25-47
161.. nonce: XpFs-q
162.. section: Core and Builtins
163
164For finer control of tracing behaviour when testing the interpreter, two new
165frame attributes have been added to control the emission of particular trace
166events: ``f_trace_lines`` (``True`` by default) to turn off per-line trace
167events; and ``f_trace_opcodes`` (``False`` by default) to turn on per-opcode
168trace events.
169
170..
171
172.. bpo: 31373
173.. date: 2017-09-06-15-25-59
174.. nonce: dC4jd4
175.. section: Core and Builtins
176
177Fix several possible instances of undefined behavior due to floating-point
178demotions.
179
180..
181
182.. bpo: 30465
183.. date: 2017-09-06-10-47-29
184.. nonce: oe-3GD
185.. section: Core and Builtins
186
187Location information (``lineno`` and ``col_offset``) in f-strings is now
188(mostly) correct.  This fixes tools like flake8 from showing warnings on the
189wrong line (typically the first line of the file).
190
191..
192
193.. bpo: 30860
194.. date: 2017-09-05-13-47-49
195.. nonce: MROpZw
196.. section: Core and Builtins
197
198Consolidate CPython's global runtime state under a single struct.  This
199improves discoverability of the runtime state.
200
201..
202
203.. bpo: 31347
204.. date: 2017-09-04-16-35-06
205.. nonce: KDuf2w
206.. section: Core and Builtins
207
208Fix possible undefined behavior in _PyObject_FastCall_Prepend.
209
210..
211
212.. bpo: 31343
213.. date: 2017-09-04-14-57-27
214.. nonce: Kl_fS5
215.. section: Core and Builtins
216
217Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C libray
218plans to remove the functions from sys/types.h.
219
220..
221
222.. bpo: 31291
223.. date: 2017-08-28-11-51-29
224.. nonce: t8QggK
225.. section: Core and Builtins
226
227Fix an assertion failure in `zipimport.zipimporter.get_data` on Windows,
228when the return value of ``pathname.replace('/','\\')`` isn't a string.
229Patch by Oren Milman.
230
231..
232
233.. bpo: 31271
234.. date: 2017-08-25-20-43-22
235.. nonce: YMduKF
236.. section: Core and Builtins
237
238Fix an assertion failure in the write() method of `io.TextIOWrapper`, when
239the encoder doesn't return a bytes object. Patch by Oren Milman.
240
241..
242
243.. bpo: 31243
244.. date: 2017-08-24-13-34-49
245.. nonce: dRJzqR
246.. section: Core and Builtins
247
248Fix a crash in some methods of `io.TextIOWrapper`, when the decoder's state
249is invalid. Patch by Oren Milman.
250
251..
252
253.. bpo: 30721
254.. date: 2017-08-18-15-15-20
255.. nonce: Hmc56z
256.. section: Core and Builtins
257
258``print`` now shows correct usage hint for using Python 2 redirection
259syntax.  Patch by Sanyam Khurana.
260
261..
262
263.. bpo: 31070
264.. date: 2017-08-09-09-40-54
265.. nonce: oDyLiI
266.. section: Core and Builtins
267
268Fix a race condition in importlib _get_module_lock().
269
270..
271
272.. bpo: 30747
273.. date: 2017-08-08-12-00-29
274.. nonce: g2kZRT
275.. section: Core and Builtins
276
277Add a non-dummy implementation of _Py_atomic_store and _Py_atomic_load on
278MSVC.
279
280..
281
282.. bpo: 31095
283.. date: 2017-08-01-18-48-30
284.. nonce: bXWZDb
285.. section: Core and Builtins
286
287Fix potential crash during GC caused by ``tp_dealloc`` which doesn't call
288``PyObject_GC_UnTrack()``.
289
290..
291
292.. bpo: 31071
293.. date: 2017-07-31-13-28-53
294.. nonce: P9UBDy
295.. section: Core and Builtins
296
297Avoid masking original TypeError in call with * unpacking when other
298arguments are passed.
299
300..
301
302.. bpo: 30978
303.. date: 2017-07-21-07-39-05
304.. nonce: f0jODc
305.. section: Core and Builtins
306
307str.format_map() now passes key lookup exceptions through. Previously any
308exception was replaced with a KeyError exception.
309
310..
311
312.. bpo: 30808
313.. date: 2017-07-17-12-12-59
314.. nonce: bA3zOv
315.. section: Core and Builtins
316
317Use _Py_atomic API for concurrency-sensitive signal state.
318
319..
320
321.. bpo: 30876
322.. date: 2017-07-11-06-31-32
323.. nonce: x35jZX
324.. section: Core and Builtins
325
326Relative import from unloaded package now reimports the package instead of
327failing with SystemError.  Relative import from non-package now fails with
328ImportError rather than SystemError.
329
330..
331
332.. bpo: 30703
333.. date: 2017-06-28-21-07-32
334.. nonce: ULCdFp
335.. section: Core and Builtins
336
337Improve signal delivery.
338
339Avoid using Py_AddPendingCall from signal handler, to avoid calling
340signal-unsafe functions. The tests I'm adding here fail without the rest of the
341patch, on Linux and OS X. This means our signal delivery logic had defects
342(some signals could be lost).
343
344..
345
346.. bpo: 30765
347.. date: 2017-06-26-14-29-50
348.. nonce: Q5iBmf
349.. section: Core and Builtins
350
351Avoid blocking in pthread_mutex_lock() when PyThread_acquire_lock() is asked
352not to block.
353
354..
355
356.. bpo: 31161
357.. date: 0470
358.. nonce: FcUAA0
359.. section: Core and Builtins
360
361Make sure the 'Missing parentheses' syntax error message is only applied to
362SyntaxError, not to subclasses. Patch by Martijn Pieters.
363
364..
365
366.. bpo: 30814
367.. date: 0469
368.. nonce: HcYsfM
369.. section: Core and Builtins
370
371Fixed a race condition when import a submodule from a package.
372
373..
374
375.. bpo: 30736
376.. date: 0468
377.. nonce: kA4J9v
378.. section: Core and Builtins
379
380The internal unicodedata database has been upgraded to Unicode 10.0.
381
382..
383
384.. bpo: 30604
385.. date: 0467
386.. nonce: zGPGoX
387.. section: Core and Builtins
388
389Move co_extra_freefuncs from per-thread to per-interpreter to avoid crashes.
390
391..
392
393.. bpo: 30597
394.. date: 0466
395.. nonce: 7erHiP
396.. section: Core and Builtins
397
398``print`` now shows expected input in custom error message when used as a
399Python 2 statement. Patch by Sanyam Khurana.
400
401..
402
403.. bpo: 30682
404.. date: 0465
405.. nonce: zZm88E
406.. section: Core and Builtins
407
408Removed a too-strict assertion that failed for certain f-strings, such as
409eval("f'\\\n'") and eval("f'\\\r'").
410
411..
412
413.. bpo: 30501
414.. date: 0464
415.. nonce: BWJByG
416.. section: Core and Builtins
417
418The compiler now produces more optimal code for complex condition
419expressions in the "if", "while" and "assert" statement, the "if"
420expression, and generator expressions and comprehensions.
421
422..
423
424.. bpo: 28180
425.. date: 0463
426.. nonce: f_IHor
427.. section: Core and Builtins
428
429Implement PEP 538 (legacy C locale coercion). This means that when a
430suitable coercion target locale is available, both the core interpreter and
431locale-aware C extensions will assume the use of UTF-8 as the default text
432encoding, rather than ASCII.
433
434..
435
436.. bpo: 30486
437.. date: 0462
438.. nonce: KZi3nB
439.. section: Core and Builtins
440
441Allows setting cell values for __closure__. Patch by Lisa Roach.
442
443..
444
445.. bpo: 30537
446.. date: 0461
447.. nonce: sGC27r
448.. section: Core and Builtins
449
450itertools.islice now accepts integer-like objects (having an __index__
451method) as start, stop, and slice arguments
452
453..
454
455.. bpo: 25324
456.. date: 0460
457.. nonce: l12VjO
458.. section: Core and Builtins
459
460Tokens needed for parsing in Python moved to C. ``COMMENT``, ``NL`` and
461``ENCODING``. This way the tokens and tok_names in the token module don't
462get changed when you import the tokenize module.
463
464..
465
466.. bpo: 29104
467.. date: 0459
468.. nonce: u26yCx
469.. section: Core and Builtins
470
471Fixed parsing backslashes in f-strings.
472
473..
474
475.. bpo: 27945
476.. date: 0458
477.. nonce: p29r3O
478.. section: Core and Builtins
479
480Fixed various segfaults with dict when input collections are mutated during
481searching, inserting or comparing.  Based on patches by Duane Griffin and
482Tim Mitchell.
483
484..
485
486.. bpo: 25794
487.. date: 0457
488.. nonce: xfPwqm
489.. section: Core and Builtins
490
491Fixed type.__setattr__() and type.__delattr__() for non-interned attribute
492names.  Based on patch by Eryk Sun.
493
494..
495
496.. bpo: 30039
497.. date: 0456
498.. nonce: e0u4DG
499.. section: Core and Builtins
500
501If a KeyboardInterrupt happens when the interpreter is in the middle of
502resuming a chain of nested 'yield from' or 'await' calls, it's now correctly
503delivered to the innermost frame.
504
505..
506
507.. bpo: 28974
508.. date: 0455
509.. nonce: jVewS0
510.. section: Core and Builtins
511
512``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than
513``format(str(self), '')``.
514
515..
516
517.. bpo: 30024
518.. date: 0454
519.. nonce: kSOlED
520.. section: Core and Builtins
521
522Circular imports involving absolute imports with binding a submodule to a
523name are now supported.
524
525..
526
527.. bpo: 12414
528.. date: 0453
529.. nonce: T9ix8O
530.. section: Core and Builtins
531
532sys.getsizeof() on a code object now returns the sizes which includes the
533code struct and sizes of objects which it references. Patch by Dong-hee Na.
534
535..
536
537.. bpo: 29839
538.. date: 0452
539.. nonce: rUmfay
540.. section: Core and Builtins
541
542len() now raises ValueError rather than OverflowError if __len__() returned
543a large negative integer.
544
545..
546
547.. bpo: 11913
548.. date: 0451
549.. nonce: 5uiMX9
550.. section: Core and Builtins
551
552README.rst is now included in the list of distutils standard READMEs and
553therefore included in source distributions.
554
555..
556
557.. bpo: 29914
558.. date: 0450
559.. nonce: nqFSRR
560.. section: Core and Builtins
561
562Fixed default implementations of __reduce__ and __reduce_ex__().
563object.__reduce__() no longer takes arguments, object.__reduce_ex__() now
564requires one argument.
565
566..
567
568.. bpo: 29949
569.. date: 0449
570.. nonce: DevGPS
571.. section: Core and Builtins
572
573Fix memory usage regression of set and frozenset object.
574
575..
576
577.. bpo: 29935
578.. date: 0448
579.. nonce: vgjdJo
580.. section: Core and Builtins
581
582Fixed error messages in the index() method of tuple, list and deque when
583pass indices of wrong type.
584
585..
586
587.. bpo: 29816
588.. date: 0447
589.. nonce: 0H75Nl
590.. section: Core and Builtins
591
592Shift operation now has less opportunity to raise OverflowError. ValueError
593always is raised rather than OverflowError for negative counts. Shifting
594zero with non-negative count always returns zero.
595
596..
597
598.. bpo: 24821
599.. date: 0446
600.. nonce: 4DINGV
601.. section: Core and Builtins
602
603Fixed the slowing down to 25 times in the searching of some unlucky Unicode
604characters.
605
606..
607
608.. bpo: 29102
609.. date: 0445
610.. nonce: AW4YPj
611.. section: Core and Builtins
612
613Add a unique ID to PyInterpreterState.  This makes it easier to identify
614each subinterpreter.
615
616..
617
618.. bpo: 29894
619.. date: 0444
620.. nonce: Vev6t-
621.. section: Core and Builtins
622
623The deprecation warning is emitted if __complex__ returns an instance of a
624strict subclass of complex.  In a future versions of Python this can be an
625error.
626
627..
628
629.. bpo: 29859
630.. date: 0443
631.. nonce: Z1MLcA
632.. section: Core and Builtins
633
634Show correct error messages when any of the pthread_* calls in
635thread_pthread.h fails.
636
637..
638
639.. bpo: 29849
640.. date: 0442
641.. nonce: hafvBD
642.. section: Core and Builtins
643
644Fix a memory leak when an ImportError is raised during from import.
645
646..
647
648.. bpo: 28856
649.. date: 0441
650.. nonce: AFRmo4
651.. section: Core and Builtins
652
653Fix an oversight that %b format for bytes should support objects follow the
654buffer protocol.
655
656..
657
658.. bpo: 29723
659.. date: 0440
660.. nonce: M5omgP
661.. section: Core and Builtins
662
663The ``sys.path[0]`` initialization change for bpo-29139 caused a regression
664by revealing an inconsistency in how sys.path is initialized when executing
665``__main__`` from a zipfile, directory, or other import location. The
666interpreter now consistently avoids ever adding the import location's parent
667directory to ``sys.path``, and ensures no other ``sys.path`` entries are
668inadvertently modified when inserting the import location named on the
669command line.
670
671..
672
673.. bpo: 29568
674.. date: 0439
675.. nonce: 3EtOC-
676.. section: Core and Builtins
677
678Escaped percent "%%" in the format string for classic string formatting no
679longer allows any characters between two percents.
680
681..
682
683.. bpo: 29714
684.. date: 0438
685.. nonce: z-BhVd
686.. section: Core and Builtins
687
688Fix a regression that bytes format may fail when containing zero bytes
689inside.
690
691..
692
693.. bpo: 29695
694.. date: 0437
695.. nonce: z75xXa
696.. section: Core and Builtins
697
698bool(), float(), list() and tuple() no longer take keyword arguments. The
699first argument of int() can now be passes only as positional argument.
700
701..
702
703.. bpo: 28893
704.. date: 0436
705.. nonce: WTKnpj
706.. section: Core and Builtins
707
708Set correct __cause__ for errors about invalid awaitables returned from
709__aiter__ and __anext__.
710
711..
712
713.. bpo: 28876
714.. date: 0435
715.. nonce: cU-sGT
716.. section: Core and Builtins
717
718``bool(range)`` works even if ``len(range)`` raises :exc:`OverflowError`.
719
720..
721
722.. bpo: 29683
723.. date: 0434
724.. nonce: G5iS-P
725.. section: Core and Builtins
726
727Fixes to memory allocation in _PyCode_SetExtra.  Patch by Brian Coleman.
728
729..
730
731.. bpo: 29684
732.. date: 0433
733.. nonce: wTgEoh
734.. section: Core and Builtins
735
736Fix minor regression of PyEval_CallObjectWithKeywords. It should raise
737TypeError when kwargs is not a dict.  But it might cause segv when args=NULL
738and kwargs is not a dict.
739
740..
741
742.. bpo: 28598
743.. date: 0432
744.. nonce: QxbzQn
745.. section: Core and Builtins
746
747Support __rmod__ for subclasses of str being called before str.__mod__.
748Patch by Martijn Pieters.
749
750..
751
752.. bpo: 29607
753.. date: 0431
754.. nonce: 7NvBA1
755.. section: Core and Builtins
756
757Fix stack_effect computation for CALL_FUNCTION_EX. Patch by Matthieu
758Dartiailh.
759
760..
761
762.. bpo: 29602
763.. date: 0430
764.. nonce: qyyskC
765.. section: Core and Builtins
766
767Fix incorrect handling of signed zeros in complex constructor for complex
768subclasses and for inputs having a __complex__ method. Patch by Serhiy
769Storchaka.
770
771..
772
773.. bpo: 29347
774.. date: 0429
775.. nonce: 1RPPGN
776.. section: Core and Builtins
777
778Fixed possibly dereferencing undefined pointers when creating weakref
779objects.
780
781..
782
783.. bpo: 29463
784.. date: 0428
785.. nonce: h2bg8A
786.. section: Core and Builtins
787
788Add ``docstring`` field to Module, ClassDef, FunctionDef, and
789AsyncFunctionDef ast nodes.  docstring is not first stmt in their body
790anymore.  It affects ``co_firstlineno`` and ``co_lnotab`` of code object for
791module and class. (Reverted in :issue:`32911`.)
792
793..
794
795.. bpo: 29438
796.. date: 0427
797.. nonce: IKxD6I
798.. section: Core and Builtins
799
800Fixed use-after-free problem in key sharing dict.
801
802..
803
804.. bpo: 29546
805.. date: 0426
806.. nonce: PS1I1T
807.. section: Core and Builtins
808
809Set the 'path' and 'name' attribute on ImportError for ``from ... import
810...``.
811
812..
813
814.. bpo: 29546
815.. date: 0425
816.. nonce: O1rmG_
817.. section: Core and Builtins
818
819Improve from-import error message with location
820
821..
822
823.. bpo: 29478
824.. date: 0424
825.. nonce: rTQ-qy
826.. section: Core and Builtins
827
828If max_line_length=None is specified while using the Compat32 policy, it is
829no longer ignored.  Patch by Mircea Cosbuc.
830
831..
832
833.. bpo: 29319
834.. date: 0423
835.. nonce: KLDUZf
836.. section: Core and Builtins
837
838Prevent RunMainFromImporter overwriting sys.path[0].
839
840..
841
842.. bpo: 29337
843.. date: 0422
844.. nonce: bjX8AE
845.. section: Core and Builtins
846
847Fixed possible BytesWarning when compare the code objects. Warnings could be
848emitted at compile time.
849
850..
851
852.. bpo: 29327
853.. date: 0421
854.. nonce: XXQarW
855.. section: Core and Builtins
856
857Fixed a crash when pass the iterable keyword argument to sorted().
858
859..
860
861.. bpo: 29034
862.. date: 0420
863.. nonce: 7-uEDT
864.. section: Core and Builtins
865
866Fix memory leak and use-after-free in os module (path_converter).
867
868..
869
870.. bpo: 29159
871.. date: 0419
872.. nonce: gEn_kP
873.. section: Core and Builtins
874
875Fix regression in bytes(x) when x.__index__() raises Exception.
876
877..
878
879.. bpo: 29049
880.. date: 0418
881.. nonce: KpVXBw
882.. section: Core and Builtins
883
884Call _PyObject_GC_TRACK() lazily when calling Python function. Calling
885function is up to 5% faster.
886
887..
888
889.. bpo: 28927
890.. date: 0417
891.. nonce: 9fxf6y
892.. section: Core and Builtins
893
894bytes.fromhex() and bytearray.fromhex() now ignore all ASCII whitespace, not
895only spaces.  Patch by Robert Xiao.
896
897..
898
899.. bpo: 28932
900.. date: 0416
901.. nonce: QnLx8A
902.. section: Core and Builtins
903
904Do not include <sys/random.h> if it does not exist.
905
906..
907
908.. bpo: 25677
909.. date: 0415
910.. nonce: RWhZrb
911.. section: Core and Builtins
912
913Correct the positioning of the syntax error caret for indented blocks. Based
914on patch by Michael Layzell.
915
916..
917
918.. bpo: 29000
919.. date: 0414
920.. nonce: K6wQ-3
921.. section: Core and Builtins
922
923Fixed bytes formatting of octals with zero padding in alternate form.
924
925..
926
927.. bpo: 18896
928.. date: 0413
929.. nonce: Pqe0bg
930.. section: Core and Builtins
931
932Python function can now have more than 255 parameters.
933collections.namedtuple() now supports tuples with more than 255 elements.
934
935..
936
937.. bpo: 28596
938.. date: 0412
939.. nonce: snIJRd
940.. section: Core and Builtins
941
942The preferred encoding is UTF-8 on Android. Patch written by Chi Hsuan Yen.
943
944..
945
946.. bpo: 22257
947.. date: 0411
948.. nonce: 2a8zxB
949.. section: Core and Builtins
950
951Clean up interpreter startup (see PEP 432).
952
953..
954
955.. bpo: 26919
956.. date: 0410
957.. nonce: Cm7MSa
958.. section: Core and Builtins
959
960On Android, operating system data is now always encoded/decoded to/from
961UTF-8, instead of the locale encoding to avoid inconsistencies with
962os.fsencode() and os.fsdecode() which are already using UTF-8.
963
964..
965
966.. bpo: 28991
967.. date: 0409
968.. nonce: lGA0FK
969.. section: Core and Builtins
970
971functools.lru_cache() was susceptible to an obscure reentrancy bug
972triggerable by a monkey-patched len() function.
973
974..
975
976.. bpo: 28147
977.. date: 0408
978.. nonce: CnK_xf
979.. section: Core and Builtins
980
981Fix a memory leak in split-table dictionaries: setattr() must not convert
982combined table into split table. Patch written by INADA Naoki.
983
984..
985
986.. bpo: 28739
987.. date: 0407
988.. nonce: w1fvhk
989.. section: Core and Builtins
990
991f-string expressions are no longer accepted as docstrings and by
992ast.literal_eval() even if they do not include expressions.
993
994..
995
996.. bpo: 28512
997.. date: 0406
998.. nonce: i-pv6d
999.. section: Core and Builtins
1000
1001Fixed setting the offset attribute of SyntaxError by
1002PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().
1003
1004..
1005
1006.. bpo: 28918
1007.. date: 0405
1008.. nonce: SFVuPz
1009.. section: Core and Builtins
1010
1011Fix the cross compilation of xxlimited when Python has been built with
1012Py_DEBUG defined.
1013
1014..
1015
1016.. bpo: 23722
1017.. date: 0404
1018.. nonce: e8BH5h
1019.. section: Core and Builtins
1020
1021Rather than silently producing a class that doesn't support zero-argument
1022``super()`` in methods, failing to pass the new ``__classcell__`` namespace
1023entry up to ``type.__new__`` now results in a ``DeprecationWarning`` and a
1024class that supports zero-argument ``super()``.
1025
1026..
1027
1028.. bpo: 28797
1029.. date: 0403
1030.. nonce: _A0_Z5
1031.. section: Core and Builtins
1032
1033Modifying the class __dict__ inside the __set_name__ method of a descriptor
1034that is used inside that class no longer prevents calling the __set_name__
1035method of other descriptors.
1036
1037..
1038
1039.. bpo: 28799
1040.. date: 0402
1041.. nonce: cP6V1N
1042.. section: Core and Builtins
1043
1044Remove the ``PyEval_GetCallStats()`` function and deprecate the untested and
1045undocumented ``sys.callstats()`` function. Remove the ``CALL_PROFILE``
1046special build: use the :func:`sys.setprofile` function, :mod:`cProfile` or
1047:mod:`profile` to profile function calls.
1048
1049..
1050
1051.. bpo: 12844
1052.. date: 0401
1053.. nonce: pdr3gY
1054.. section: Core and Builtins
1055
1056More than 255 arguments can now be passed to a function.
1057
1058..
1059
1060.. bpo: 28782
1061.. date: 0400
1062.. nonce: foJV_E
1063.. section: Core and Builtins
1064
1065Fix a bug in the implementation ``yield from`` when checking if the next
1066instruction is YIELD_FROM. Regression introduced by WORDCODE (issue #26647).
1067
1068..
1069
1070.. bpo: 28774
1071.. date: 0399
1072.. nonce: cEehAr
1073.. section: Core and Builtins
1074
1075Fix error position of the unicode error in ASCII and Latin1 encoders when a
1076string returned by the error handler contains multiple non-encodable
1077characters (non-ASCII for the ASCII codec, characters out of the
1078U+0000-U+00FF range for Latin1).
1079
1080..
1081
1082.. bpo: 28731
1083.. date: 0398
1084.. nonce: oNF59u
1085.. section: Core and Builtins
1086
1087Optimize _PyDict_NewPresized() to create correct size dict. Improve speed of
1088dict literal with constant keys up to 30%.
1089
1090..
1091
1092.. bpo: 28532
1093.. date: 0397
1094.. nonce: KEYJny
1095.. section: Core and Builtins
1096
1097Show sys.version when -V option is supplied twice.
1098
1099..
1100
1101.. bpo: 27100
1102.. date: 0396
1103.. nonce: poVjXq
1104.. section: Core and Builtins
1105
1106The with-statement now checks for __enter__ before it checks for __exit__.
1107This gives less confusing error messages when both methods are missing.
1108Patch by Jonathan Ellington.
1109
1110..
1111
1112.. bpo: 28746
1113.. date: 0395
1114.. nonce: r5MXdB
1115.. section: Core and Builtins
1116
1117Fix the set_inheritable() file descriptor method on platforms that do not
1118have the ioctl FIOCLEX and FIONCLEX commands.
1119
1120..
1121
1122.. bpo: 26920
1123.. date: 0394
1124.. nonce: 1URwGb
1125.. section: Core and Builtins
1126
1127Fix not getting the locale's charset upon initializing the interpreter, on
1128platforms that do not have langinfo.
1129
1130..
1131
1132.. bpo: 28648
1133.. date: 0393
1134.. nonce: z7B52W
1135.. section: Core and Builtins
1136
1137Fixed crash in Py_DecodeLocale() in debug build on Mac OS X when decode
1138astral characters.  Patch by Xiang Zhang.
1139
1140..
1141
1142.. bpo: 28665
1143.. date: 0392
1144.. nonce: v4nx86
1145.. section: Core and Builtins
1146
1147Improve speed of the STORE_DEREF opcode by 40%.
1148
1149..
1150
1151.. bpo: 19398
1152.. date: 0391
1153.. nonce: RYbEGH
1154.. section: Core and Builtins
1155
1156Extra slash no longer added to sys.path components in case of empty
1157compile-time PYTHONPATH components.
1158
1159..
1160
1161.. bpo: 28621
1162.. date: 0390
1163.. nonce: eCD7n-
1164.. section: Core and Builtins
1165
1166Sped up converting int to float by reusing faster bits counting
1167implementation.  Patch by Adrian Wielgosik.
1168
1169..
1170
1171.. bpo: 28580
1172.. date: 0389
1173.. nonce: 8bqBmG
1174.. section: Core and Builtins
1175
1176Optimize iterating split table values. Patch by Xiang Zhang.
1177
1178..
1179
1180.. bpo: 28583
1181.. date: 0388
1182.. nonce: F-QAx1
1183.. section: Core and Builtins
1184
1185PyDict_SetDefault didn't combine split table when needed. Patch by Xiang
1186Zhang.
1187
1188..
1189
1190.. bpo: 28128
1191.. date: 0387
1192.. nonce: Lc2sFu
1193.. section: Core and Builtins
1194
1195Deprecation warning for invalid str and byte escape sequences now prints
1196better information about where the error occurs. Patch by Serhiy Storchaka
1197and Eric Smith.
1198
1199..
1200
1201.. bpo: 28509
1202.. date: 0386
1203.. nonce: _Fa4Uq
1204.. section: Core and Builtins
1205
1206dict.update() no longer allocate unnecessary large memory.
1207
1208..
1209
1210.. bpo: 28426
1211.. date: 0385
1212.. nonce: E_quyK
1213.. section: Core and Builtins
1214
1215Fixed potential crash in PyUnicode_AsDecodedObject() in debug build.
1216
1217..
1218
1219.. bpo: 28517
1220.. date: 0384
1221.. nonce: ExPkm9
1222.. section: Core and Builtins
1223
1224Fixed of-by-one error in the peephole optimizer that caused keeping
1225unreachable code.
1226
1227..
1228
1229.. bpo: 28214
1230.. date: 0383
1231.. nonce: 6ECJox
1232.. section: Core and Builtins
1233
1234Improved exception reporting for problematic __set_name__ attributes.
1235
1236..
1237
1238.. bpo: 23782
1239.. date: 0382
1240.. nonce: lonDzj
1241.. section: Core and Builtins
1242
1243Fixed possible memory leak in _PyTraceback_Add() and exception loss in
1244PyTraceBack_Here().
1245
1246..
1247
1248.. bpo: 28183
1249.. date: 0381
1250.. nonce: MJZeNd
1251.. section: Core and Builtins
1252
1253Optimize and cleanup dict iteration.
1254
1255..
1256
1257.. bpo: 26081
1258.. date: 0380
1259.. nonce: _x5vjl
1260.. section: Core and Builtins
1261
1262Added C implementation of asyncio.Future. Original patch by Yury Selivanov.
1263
1264..
1265
1266.. bpo: 28379
1267.. date: 0379
1268.. nonce: DuXlco
1269.. section: Core and Builtins
1270
1271Added sanity checks and tests for PyUnicode_CopyCharacters(). Patch by Xiang
1272Zhang.
1273
1274..
1275
1276.. bpo: 28376
1277.. date: 0378
1278.. nonce: oPD-5D
1279.. section: Core and Builtins
1280
1281The type of long range iterator is now registered as Iterator. Patch by Oren
1282Milman.
1283
1284..
1285
1286.. bpo: 28376
1287.. date: 0377
1288.. nonce: yTEhEo
1289.. section: Core and Builtins
1290
1291Creating instances of range_iterator by calling range_iterator type now is
1292disallowed.  Calling iter() on range instance is the only way. Patch by Oren
1293Milman.
1294
1295..
1296
1297.. bpo: 26906
1298.. date: 0376
1299.. nonce: YBjcwI
1300.. section: Core and Builtins
1301
1302Resolving special methods of uninitialized type now causes implicit
1303initialization of the type instead of a fail.
1304
1305..
1306
1307.. bpo: 18287
1308.. date: 0375
1309.. nonce: k6jffS
1310.. section: Core and Builtins
1311
1312PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas
1313Koep.
1314
1315..
1316
1317.. bpo: 24098
1318.. date: 0374
1319.. nonce: XqlP_1
1320.. section: Core and Builtins
1321
1322Fixed possible crash when AST is changed in process of compiling it.
1323
1324..
1325
1326.. bpo: 28201
1327.. date: 0373
1328.. nonce: GWUxAy
1329.. section: Core and Builtins
1330
1331Dict reduces possibility of 2nd conflict in hash table when hashes have same
1332lower bits.
1333
1334..
1335
1336.. bpo: 28350
1337.. date: 0372
1338.. nonce: 8M5Eg9
1339.. section: Core and Builtins
1340
1341String constants with null character no longer interned.
1342
1343..
1344
1345.. bpo: 26617
1346.. date: 0371
1347.. nonce: Gh5LvN
1348.. section: Core and Builtins
1349
1350Fix crash when GC runs during weakref callbacks.
1351
1352..
1353
1354.. bpo: 27942
1355.. date: 0370
1356.. nonce: ZGuhns
1357.. section: Core and Builtins
1358
1359String constants now interned recursively in tuples and frozensets.
1360
1361..
1362
1363.. bpo: 28289
1364.. date: 0369
1365.. nonce: l1kHlV
1366.. section: Core and Builtins
1367
1368ImportError.__init__ now resets not specified attributes.
1369
1370..
1371
1372.. bpo: 21578
1373.. date: 0368
1374.. nonce: GI1bhj
1375.. section: Core and Builtins
1376
1377Fixed misleading error message when ImportError called with invalid keyword
1378args.
1379
1380..
1381
1382.. bpo: 28203
1383.. date: 0367
1384.. nonce: LRn5vp
1385.. section: Core and Builtins
1386
1387Fix incorrect type in complex(1.0, {2:3}) error message. Patch by Soumya
1388Sharma.
1389
1390..
1391
1392.. bpo: 28086
1393.. date: 0366
1394.. nonce: JsQPMQ
1395.. section: Core and Builtins
1396
1397Single var-positional argument of tuple subtype was passed unscathed to the
1398C-defined function.  Now it is converted to exact tuple.
1399
1400..
1401
1402.. bpo: 28214
1403.. date: 0365
1404.. nonce: zQF8Em
1405.. section: Core and Builtins
1406
1407Now __set_name__ is looked up on the class instead of the instance.
1408
1409..
1410
1411.. bpo: 27955
1412.. date: 0364
1413.. nonce: HC4pZ4
1414.. section: Core and Builtins
1415
1416Fallback on reading /dev/urandom device when the getrandom() syscall fails
1417with EPERM, for example when blocked by SECCOMP.
1418
1419..
1420
1421.. bpo: 28192
1422.. date: 0363
1423.. nonce: eR6stU
1424.. section: Core and Builtins
1425
1426Don't import readline in isolated mode.
1427
1428..
1429
1430.. bpo: 27441
1431.. date: 0362
1432.. nonce: scPKax
1433.. section: Core and Builtins
1434
1435Remove some redundant assignments to ob_size in longobject.c. Thanks Oren
1436Milman.
1437
1438..
1439
1440.. bpo: 27222
1441.. date: 0361
1442.. nonce: 74PvFk
1443.. section: Core and Builtins
1444
1445Clean up redundant code in long_rshift function. Thanks Oren Milman.
1446
1447..
1448
1449.. bpo: 0
1450.. date: 0360
1451.. nonce: 9EbOiD
1452.. section: Core and Builtins
1453
1454Upgrade internal unicode databases to Unicode version 9.0.0.
1455
1456..
1457
1458.. bpo: 28131
1459.. date: 0359
1460.. nonce: owq0wW
1461.. section: Core and Builtins
1462
1463Fix a regression in zipimport's compile_source().  zipimport should use the
1464same optimization level as the interpreter.
1465
1466..
1467
1468.. bpo: 28126
1469.. date: 0358
1470.. nonce: Qf6-uQ
1471.. section: Core and Builtins
1472
1473Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize
1474memcpy().
1475
1476..
1477
1478.. bpo: 28120
1479.. date: 0357
1480.. nonce: e5xc1i
1481.. section: Core and Builtins
1482
1483Fix dict.pop() for splitted dictionary when trying to remove a "pending key"
1484(Not yet inserted in split-table). Patch by Xiang Zhang.
1485
1486..
1487
1488.. bpo: 26182
1489.. date: 0356
1490.. nonce: jYlqTO
1491.. section: Core and Builtins
1492
1493Raise DeprecationWarning when async and await keywords are used as
1494variable/attribute/class/function name.
1495
1496..
1497
1498.. bpo: 26182
1499.. date: 0355
1500.. nonce: a8JXK2
1501.. section: Core and Builtins
1502
1503Fix a refleak in code that raises DeprecationWarning.
1504
1505..
1506
1507.. bpo: 28721
1508.. date: 0354
1509.. nonce: BO9BUF
1510.. section: Core and Builtins
1511
1512Fix asynchronous generators aclose() and athrow() to handle
1513StopAsyncIteration propagation properly.
1514
1515..
1516
1517.. bpo: 26110
1518.. date: 0353
1519.. nonce: KRaID6
1520.. section: Core and Builtins
1521
1522Speed-up method calls: add LOAD_METHOD and CALL_METHOD opcodes.
1523
1524..
1525
1526.. bpo: 31499
1527.. date: 2017-09-18-10-57-04
1528.. nonce: BydYhf
1529.. section: Library
1530
1531xml.etree: Fix a crash when a parser is part of a reference cycle.
1532
1533..
1534
1535.. bpo: 31482
1536.. date: 2017-09-16-01-53-11
1537.. nonce: 39s5dS
1538.. section: Library
1539
1540``random.seed()`` now works with bytes in version=1
1541
1542..
1543
1544.. bpo: 28556
1545.. date: 2017-09-14-11-02-56
1546.. nonce: EUOiYs
1547.. section: Library
1548
1549typing.get_type_hints now finds the right globalns for classes and modules
1550by default (when no ``globalns`` was specified by the caller).
1551
1552..
1553
1554.. bpo: 28556
1555.. date: 2017-09-13-23-27-39
1556.. nonce: UmTQvv
1557.. section: Library
1558
1559Speed improvements to the ``typing`` module.  Original PRs by Ivan
1560Levkivskyi and Mitar.
1561
1562..
1563
1564.. bpo: 31544
1565.. date: 2017-09-13-19-55-35
1566.. nonce: beTh6t
1567.. section: Library
1568
1569The C accelerator module of ElementTree ignored exceptions raised when
1570looking up TreeBuilder target methods in XMLParser().
1571
1572..
1573
1574.. bpo: 31234
1575.. date: 2017-09-13-18-05-56
1576.. nonce: lGkcPg
1577.. section: Library
1578
1579socket.create_connection() now fixes manually a reference cycle: clear the
1580variable storing the last exception on success.
1581
1582..
1583
1584.. bpo: 31457
1585.. date: 2017-09-13-13-33-39
1586.. nonce: bIVBtI
1587.. section: Library
1588
1589LoggerAdapter objects can now be nested.
1590
1591..
1592
1593.. bpo: 31431
1594.. date: 2017-09-13-07-37-20
1595.. nonce: dj994R
1596.. section: Library
1597
1598SSLContext.check_hostname now automatically sets SSLContext.verify_mode to
1599ssl.CERT_REQUIRED instead of failing with a ValueError.
1600
1601..
1602
1603.. bpo: 31233
1604.. date: 2017-09-13-02-17-11
1605.. nonce: r-IPIu
1606.. section: Library
1607
1608socketserver.ThreadingMixIn now keeps a list of non-daemonic threads to wait
1609until all these threads complete in server_close().
1610
1611..
1612
1613.. bpo: 28638
1614.. date: 2017-09-08-14-31-15
1615.. nonce: lfbVyH
1616.. section: Library
1617
1618Changed the implementation strategy for collections.namedtuple() to
1619substantially reduce the use of exec() in favor of precomputed methods. As a
1620result, the *verbose* parameter and *_source* attribute are no longer
1621supported.  The benefits include 1) having a smaller memory footprint for
1622applications using multiple named tuples, 2) faster creation of the named
1623tuple class (approx 4x to 6x depending on how it is measured), and 3) minor
1624speed-ups for instance creation using __new__, _make, and _replace.  (The
1625primary patch contributor is Jelle Zijlstra with further improvements by
1626INADA Naoki, Serhiy Storchaka, and Raymond Hettinger.)
1627
1628..
1629
1630.. bpo: 31400
1631.. date: 2017-09-08-14-19-57
1632.. nonce: YOTPKi
1633.. section: Library
1634
1635Improves SSL error handling to avoid losing error numbers.
1636
1637..
1638
1639.. bpo: 27629
1640.. date: 2017-09-07-12-15-56
1641.. nonce: 7xJXEy
1642.. section: Library
1643
1644Make return types of SSLContext.wrap_bio() and SSLContext.wrap_socket()
1645customizable.
1646
1647..
1648
1649.. bpo: 28958
1650.. date: 2017-09-06-19-41-01
1651.. nonce: x4-K5F
1652.. section: Library
1653
1654ssl.SSLContext() now uses OpenSSL error information when a context cannot be
1655instantiated.
1656
1657..
1658
1659.. bpo: 28182
1660.. date: 2017-09-06-18-49-16
1661.. nonce: hRP8Bk
1662.. section: Library
1663
1664The SSL module now raises SSLCertVerificationError when OpenSSL fails to
1665verify the peer's certificate. The exception contains more information about
1666the error.
1667
1668..
1669
1670.. bpo: 27340
1671.. date: 2017-09-06-06-50-41
1672.. nonce: GgekV5
1673.. section: Library
1674
1675SSLSocket.sendall() now uses memoryview to create slices of data. This fixes
1676support for all bytes-like object. It is also more efficient and avoids
1677costly copies.
1678
1679..
1680
1681.. bpo: 14191
1682.. date: 2017-09-05-17-43-00
1683.. nonce: vhh2xx
1684.. section: Library
1685
1686A new function ``argparse.ArgumentParser.parse_intermixed_args`` provides
1687the ability to parse command lines where there user intermixes options and
1688positional arguments.
1689
1690..
1691
1692.. bpo: 31178
1693.. date: 2017-09-05-14-55-28
1694.. nonce: JrSFo7
1695.. section: Library
1696
1697Fix string concatenation bug in rare error path in the subprocess module
1698
1699..
1700
1701.. bpo: 31350
1702.. date: 2017-09-05-10-30-48
1703.. nonce: dXJ-7N
1704.. section: Library
1705
1706Micro-optimize :func:`asyncio._get_running_loop` to become up to 10% faster.
1707
1708..
1709
1710.. bpo: 31170
1711.. date: 2017-09-04-23-41-35
1712.. nonce: QGmJ1t
1713.. section: Library
1714
1715expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of partial
1716characters for UTF-8 input (libexpat bug 115):
1717https://github.com/libexpat/libexpat/issues/115
1718
1719..
1720
1721.. bpo: 29136
1722.. date: 2017-09-04-16-39-49
1723.. nonce: vSn1oR
1724.. section: Library
1725
1726Add TLS 1.3 cipher suites and OP_NO_TLSv1_3.
1727
1728..
1729
1730.. bpo: 1198569
1731.. date: 2017-09-04-10-53-06
1732.. nonce: vhh2nY
1733.. section: Library
1734
1735``string.Template`` subclasses can optionally define ``braceidpattern`` if
1736they want to specify different placeholder patterns inside and outside the
1737braces.  If None (the default) it falls back to ``idpattern``.
1738
1739..
1740
1741.. bpo: 31326
1742.. date: 2017-09-01-18-48-06
1743.. nonce: TB05tV
1744.. section: Library
1745
1746concurrent.futures.ProcessPoolExecutor.shutdown() now explicitly closes the
1747call queue. Moreover, shutdown(wait=True) now also join the call queue
1748thread, to prevent leaking a dangling thread.
1749
1750..
1751
1752.. bpo: 27144
1753.. date: 2017-08-30-11-26-14
1754.. nonce: PEDJsE
1755.. section: Library
1756
1757The ``map()`` and ``as_completed()`` iterators in ``concurrent.futures`` now
1758avoid keeping a reference to yielded objects.
1759
1760..
1761
1762.. bpo: 31281
1763.. date: 2017-08-29-07-14-14
1764.. nonce: DcFyNs
1765.. section: Library
1766
1767Fix ``fileinput.FileInput(files, inplace=True)`` when ``files`` contain
1768``pathlib.Path`` objects.
1769
1770..
1771
1772.. bpo: 10746
1773.. date: 2017-08-28-13-01-05
1774.. nonce: nmAvfu
1775.. section: Library
1776
1777Fix ctypes producing wrong PEP 3118 type codes for integer types.
1778
1779..
1780
1781.. bpo: 27584
1782.. date: 2017-08-24-14-03-14
1783.. nonce: r11JHZ
1784.. section: Library
1785
1786``AF_VSOCK`` has been added to the socket interface which allows
1787communication between virtual machines and their host.
1788
1789..
1790
1791.. bpo: 22536
1792.. date: 2017-08-23
1793.. nonce: _narf_
1794.. section: Library
1795
1796The subprocess module now sets the filename when FileNotFoundError is raised
1797on POSIX systems due to the executable or cwd not being found.
1798
1799..
1800
1801.. bpo: 29741
1802.. date: 2017-08-23-00-31-32
1803.. nonce: EBn_DM
1804.. section: Library
1805
1806Update some methods in the _pyio module to also accept integer types. Patch
1807by Oren Milman.
1808
1809..
1810
1811.. bpo: 31249
1812.. date: 2017-08-22-12-44-48
1813.. nonce: STPbb9
1814.. section: Library
1815
1816concurrent.futures: WorkItem.run() used by ThreadPoolExecutor now breaks a
1817reference cycle between an exception object and the WorkItem object.
1818
1819..
1820
1821.. bpo: 31247
1822.. date: 2017-08-21-17-50-27
1823.. nonce: 8S3zJp
1824.. section: Library
1825
1826xmlrpc.server now explicitly breaks reference cycles when using
1827sys.exc_info() in code handling exceptions.
1828
1829..
1830
1831.. bpo: 23835
1832.. date: 2017-08-21-16-06-19
1833.. nonce: da_4Kz
1834.. section: Library
1835
1836configparser: reading defaults in the ``ConfigParser()`` constructor is now
1837using ``read_dict()``, making its behavior consistent with the rest of the
1838parser.  Non-string keys and values in the defaults dictionary are now being
1839implicitly converted to strings.  Patch by James Tocknell.
1840
1841..
1842
1843.. bpo: 31238
1844.. date: 2017-08-21-12-31-53
1845.. nonce: Gg0LRH
1846.. section: Library
1847
1848pydoc: the stop() method of the private ServerThread class now waits until
1849DocServer.serve_until_quit() completes and then explicitly sets its
1850docserver attribute to None to break a reference cycle.
1851
1852..
1853
1854.. bpo: 5001
1855.. date: 2017-08-18-17-16-38
1856.. nonce: gwnthq
1857.. section: Library
1858
1859Many asserts in `multiprocessing` are now more informative, and some error
1860types have been changed to more specific ones.
1861
1862..
1863
1864.. bpo: 31109
1865.. date: 2017-08-17-20-29-45
1866.. nonce: 7qtC64
1867.. section: Library
1868
1869Convert zipimport to use Argument Clinic.
1870
1871..
1872
1873.. bpo: 30102
1874.. date: 2017-08-16-21-14-31
1875.. nonce: 1sPqmc
1876.. section: Library
1877
1878The ssl and hashlib modules now call OPENSSL_add_all_algorithms_noconf() on
1879OpenSSL < 1.1.0. The function detects CPU features and enables optimizations
1880on some CPU architectures such as POWER8. Patch is based on research from
1881Gustavo Serra Scalet.
1882
1883..
1884
1885.. bpo: 18966
1886.. date: 2017-08-16-20-28-06
1887.. nonce: mjHWk2
1888.. section: Library
1889
1890Non-daemonic threads created by a multiprocessing.Process are now joined on
1891child exit.
1892
1893..
1894
1895.. bpo: 31183
1896.. date: 2017-08-13-09-17-01
1897.. nonce: -2_YGj
1898.. section: Library
1899
1900`dis` now works with asynchronous generator and coroutine objects. Patch by
1901George Collins based on diagnosis by Luciano Ramalho.
1902
1903..
1904
1905.. bpo: 5001
1906.. date: 2017-08-12-09-25-55
1907.. nonce: huQi2Y
1908.. section: Library
1909
1910There are a number of uninformative asserts in the `multiprocessing` module,
1911as noted in issue 5001. This change fixes two of the most potentially
1912problematic ones, since they are in error-reporting code, in the
1913`multiprocessing.managers.convert_to_error` function. (It also makes more
1914informative a ValueError message.) The only potentially problematic change
1915is that the AssertionError is now a TypeError; however, this should also
1916help distinguish it from an AssertionError being *reported* by the
1917function/its caller (such as in issue 31169). - Patch by Allen W. Smith
1918(drallensmith on github).
1919
1920..
1921
1922.. bpo: 31185
1923.. date: 2017-08-11-19-30-00
1924.. nonce: i6TPgL
1925.. section: Library
1926
1927Fixed miscellaneous errors in asyncio speedup module.
1928
1929..
1930
1931.. bpo: 31151
1932.. date: 2017-08-10-13-20-02
1933.. nonce: 730VBI
1934.. section: Library
1935
1936socketserver.ForkingMixIn.server_close() now waits until all child processes
1937completed to prevent leaking zombie processes.
1938
1939..
1940
1941.. bpo: 31072
1942.. date: 2017-08-09-13-45-23
1943.. nonce: NLXDPV
1944.. section: Library
1945
1946Add an ``include_file`` parameter to ``zipapp.create_archive()``
1947
1948..
1949
1950.. bpo: 24700
1951.. date: 2017-08-08-15-14-34
1952.. nonce: 44mvNV
1953.. section: Library
1954
1955Optimize array.array comparison. It is now from 10x up to 70x faster when
1956comparing arrays holding values of the same integer type.
1957
1958..
1959
1960.. bpo: 31135
1961.. date: 2017-08-08-14-44-37
1962.. nonce: HH94xR
1963.. section: Library
1964
1965ttk: fix the destroy() method of LabeledScale and OptionMenu classes. Call
1966the parent destroy() method even if the used attribute doesn't exist. The
1967LabeledScale.destroy() method now also explicitly clears label and scale
1968attributes to help the garbage collector to destroy all widgets.
1969
1970..
1971
1972.. bpo: 31107
1973.. date: 2017-08-02-12-48-15
1974.. nonce: 1t2hn5
1975.. section: Library
1976
1977Fix `copyreg._slotnames()` mangled attribute calculation for classes whose
1978name begins with an underscore. Patch by Shane Harvey.
1979
1980..
1981
1982.. bpo: 31080
1983.. date: 2017-08-01-18-26-55
1984.. nonce: 2CFVCO
1985.. section: Library
1986
1987Allow `logging.config.fileConfig` to accept kwargs and/or args.
1988
1989..
1990
1991.. bpo: 30897
1992.. date: 2017-08-01-15-56-50
1993.. nonce: OuT1-Y
1994.. section: Library
1995
1996``pathlib.Path`` objects now include an ``is_mount()`` method (only
1997implemented on POSIX).  This is similar to ``os.path.ismount(p)``. Patch by
1998Cooper Ry Lees.
1999
2000..
2001
2002.. bpo: 31061
2003.. date: 2017-08-01-09-32-58
2004.. nonce: husAYX
2005.. section: Library
2006
2007Fixed a crash when using asyncio and threads.
2008
2009..
2010
2011.. bpo: 30987
2012.. date: 2017-07-30-22-00-12
2013.. nonce: 228rW0
2014.. section: Library
2015
2016Added support for CAN ISO-TP protocol in the socket module.
2017
2018..
2019
2020.. bpo: 30522
2021.. date: 2017-07-30-10-07-58
2022.. nonce: gAX1N-
2023.. section: Library
2024
2025Added a ``setStream`` method to ``logging.StreamHandler`` to allow the
2026stream to be set after creation.
2027
2028..
2029
2030.. bpo: 30502
2031.. date: 2017-07-27-11-33-58
2032.. nonce: GJlfU8
2033.. section: Library
2034
2035Fix handling of long oids in ssl.  Based on patch by Christian Heimes.
2036
2037..
2038
2039.. bpo: 5288
2040.. date: 2017-07-26-13-18-29
2041.. nonce: o_xEGj
2042.. section: Library
2043
2044Support tzinfo objects with sub-minute offsets.
2045
2046..
2047
2048.. bpo: 30919
2049.. date: 2017-07-23-11-33-10
2050.. nonce: 5dYRru
2051.. section: Library
2052
2053Fix shared memory performance regression in multiprocessing in 3.x.
2054
2055Shared memory used anonymous memory mappings in 2.x, while 3.x mmaps actual
2056files. Try to be careful to do as little disk I/O as possible.
2057
2058..
2059
2060.. bpo: 26732
2061.. date: 2017-07-22-12-12-42
2062.. nonce: lYLWBH
2063.. section: Library
2064
2065Fix too many fds in processes started with the "forkserver" method.
2066
2067A child process would inherit as many fds as the number of still-running
2068children.
2069
2070..
2071
2072.. bpo: 29403
2073.. date: 2017-07-20-02-29-49
2074.. nonce: 3RinCV
2075.. section: Library
2076
2077Fix ``unittest.mock``'s autospec to not fail on method-bound builtin
2078functions.  Patch by Aaron Gallagher.
2079
2080..
2081
2082.. bpo: 30961
2083.. date: 2017-07-18-23-47-51
2084.. nonce: 064jz0
2085.. section: Library
2086
2087Fix decrementing a borrowed reference in tracemalloc.
2088
2089..
2090
2091.. bpo: 19896
2092.. date: 2017-07-18-13-24-50
2093.. nonce: -S0IWu
2094.. section: Library
2095
2096Fix multiprocessing.sharedctypes to recognize typecodes ``'q'`` and ``'Q'``.
2097
2098..
2099
2100.. bpo: 30946
2101.. date: 2017-07-17-12-32-47
2102.. nonce: DUo-uA
2103.. section: Library
2104
2105Remove obsolete code in readline module for platforms where GNU readline is
2106older than 2.1 or where select() is not available.
2107
2108..
2109
2110.. bpo: 25684
2111.. date: 2017-07-17-11-35-00
2112.. nonce: usELVx
2113.. section: Library
2114
2115Change ``ttk.OptionMenu`` radiobuttons to be unique across instances of
2116``OptionMenu``.
2117
2118..
2119
2120.. bpo: 30886
2121.. date: 2017-07-10-12-14-22
2122.. nonce: nqQj34
2123.. section: Library
2124
2125Fix multiprocessing.Queue.join_thread(): it now waits until the thread
2126completes, even if the thread was started by the same process which created
2127the queue.
2128
2129..
2130
2131.. bpo: 29854
2132.. date: 2017-07-07-02-18-57
2133.. nonce: J8wKb_
2134.. section: Library
2135
2136Fix segfault in readline when using readline's history-size option.  Patch
2137by Nir Soffer.
2138
2139..
2140
2141.. bpo: 30794
2142.. date: 2017-07-04-22-00-20
2143.. nonce: qFwozm
2144.. section: Library
2145
2146Added multiprocessing.Process.kill method to terminate using the SIGKILL
2147signal on Unix.
2148
2149..
2150
2151.. bpo: 30319
2152.. date: 2017-07-04-13-48-21
2153.. nonce: hg_3TX
2154.. section: Library
2155
2156socket.close() now ignores ECONNRESET error.
2157
2158..
2159
2160.. bpo: 30828
2161.. date: 2017-07-04-13-10-52
2162.. nonce: CLvEvV
2163.. section: Library
2164
2165Fix out of bounds write in `asyncio.CFuture.remove_done_callback()`.
2166
2167..
2168
2169.. bpo: 30302
2170.. date: 2017-06-30-23-05-47
2171.. nonce: itwK_k
2172.. section: Library
2173
2174Use keywords in the ``repr`` of ``datetime.timedelta``.
2175
2176..
2177
2178.. bpo: 30807
2179.. date: 2017-06-29-22-04-44
2180.. nonce: sLtjY-
2181.. section: Library
2182
2183signal.setitimer() may disable the timer when passed a tiny value.
2184
2185Tiny values (such as 1e-6) are valid non-zero values for setitimer(), which
2186is specified as taking microsecond-resolution intervals. However, on some
2187platform, our conversion routine could convert 1e-6 into a zero interval,
2188therefore disabling the timer instead of (re-)scheduling it.
2189
2190..
2191
2192.. bpo: 30441
2193.. date: 2017-06-29-14-25-14
2194.. nonce: 3Wh9kc
2195.. section: Library
2196
2197Fix bug when modifying os.environ while iterating over it
2198
2199..
2200
2201.. bpo: 29585
2202.. date: 2017-06-29-00-17-38
2203.. nonce: x2V0my
2204.. section: Library
2205
2206Avoid importing ``sysconfig`` from ``site`` to improve startup speed. Python
2207startup is about 5% faster on Linux and 30% faster on macOS.
2208
2209..
2210
2211.. bpo: 29293
2212.. date: 2017-06-29-00-07-22
2213.. nonce: Z6WZjD
2214.. section: Library
2215
2216Add missing parameter "n" on multiprocessing.Condition.notify().
2217
2218The doc claims multiprocessing.Condition behaves like threading.Condition,
2219but its notify() method lacked the optional "n" argument (to specify the
2220number of sleepers to wake up) that threading.Condition.notify() accepts.
2221
2222..
2223
2224.. bpo: 30532
2225.. date: 2017-06-26-11-01-59
2226.. nonce: qTeL1o
2227.. section: Library
2228
2229Fix email header value parser dropping folding white space in certain cases.
2230
2231..
2232
2233.. bpo: 30596
2234.. date: 2017-06-24-18-55-58
2235.. nonce: VhB8iG
2236.. section: Library
2237
2238Add a ``close()`` method to ``multiprocessing.Process``.
2239
2240..
2241
2242.. bpo: 9146
2243.. date: 2017-05-24-00-00-00
2244.. nonce: pinky_
2245.. section: Library
2246
2247Fix a segmentation fault in _hashopenssl when standard hash functions such
2248as md5 are not available in the linked OpenSSL library.  As in some special
2249FIPS-140 build environments.
2250
2251..
2252
2253.. bpo: 29169
2254.. date: 0352
2255.. nonce: 8ypApm
2256.. section: Library
2257
2258Update zlib to 1.2.11.
2259
2260..
2261
2262.. bpo: 30119
2263.. date: 0351
2264.. nonce: 4UMLNh
2265.. section: Library
2266
2267ftplib.FTP.putline() now throws ValueError on commands that contains CR or
2268LF. Patch by Dong-hee Na.
2269
2270..
2271
2272.. bpo: 30879
2273.. date: 0350
2274.. nonce: N3KI-o
2275.. section: Library
2276
2277os.listdir() and os.scandir() now emit bytes names when called with
2278bytes-like argument.
2279
2280..
2281
2282.. bpo: 30746
2283.. date: 0349
2284.. nonce: 7drQI0
2285.. section: Library
2286
2287Prohibited the '=' character in environment variable names in
2288``os.putenv()`` and ``os.spawn*()``.
2289
2290..
2291
2292.. bpo: 30664
2293.. date: 0348
2294.. nonce: oyqiUl
2295.. section: Library
2296
2297The description of a unittest subtest now preserves the order of keyword
2298arguments of TestCase.subTest().
2299
2300..
2301
2302.. bpo: 21071
2303.. date: 0346
2304.. nonce: Sw37rs
2305.. section: Library
2306
2307struct.Struct.format type is now :class:`str` instead of :class:`bytes`.
2308
2309..
2310
2311.. bpo: 29212
2312.. date: 0345
2313.. nonce: HmTdef
2314.. section: Library
2315
2316Fix concurrent.futures.thread.ThreadPoolExecutor threads to have a non
2317repr() based thread name by default when no thread_name_prefix is supplied.
2318They will now identify themselves as "ThreadPoolExecutor-y_n".
2319
2320..
2321
2322.. bpo: 29755
2323.. date: 0343
2324.. nonce: diQcY_
2325.. section: Library
2326
2327Fixed the lgettext() family of functions in the gettext module. They now
2328always return bytes.
2329
2330..
2331
2332.. bpo: 30616
2333.. date: 0341
2334.. nonce: I2mDTz
2335.. section: Library
2336
2337Functional API of enum allows to create empty enums. Patched by Dong-hee Na
2338
2339..
2340
2341.. bpo: 30038
2342.. date: 0340
2343.. nonce: vb4DWk
2344.. section: Library
2345
2346Fix race condition between signal delivery and wakeup file descriptor. Patch
2347by Nathaniel Smith.
2348
2349..
2350
2351.. bpo: 23894
2352.. date: 0339
2353.. nonce: k2pADV
2354.. section: Library
2355
2356lib2to3 now recognizes ``rb'...'`` and ``f'...'`` strings.
2357
2358..
2359
2360.. bpo: 24744
2361.. date: 0337
2362.. nonce: NKxUj3
2363.. section: Library
2364
2365pkgutil.walk_packages function now raises ValueError if *path* is a string.
2366Patch by Sanyam Khurana.
2367
2368..
2369
2370.. bpo: 24484
2371.. date: 0336
2372.. nonce: vFem8K
2373.. section: Library
2374
2375Avoid race condition in multiprocessing cleanup.
2376
2377..
2378
2379.. bpo: 30589
2380.. date: 0335
2381.. nonce: xyZGM0
2382.. section: Library
2383
2384Fix multiprocessing.Process.exitcode to return the opposite of the signal
2385number when the process is killed by a signal (instead of 255) when using
2386the "forkserver" method.
2387
2388..
2389
2390.. bpo: 28994
2391.. date: 0334
2392.. nonce: 9vzun1
2393.. section: Library
2394
2395The traceback no longer displayed for SystemExit raised in a callback
2396registered by atexit.
2397
2398..
2399
2400.. bpo: 30508
2401.. date: 0333
2402.. nonce: wNWRS2
2403.. section: Library
2404
2405Don't log exceptions if Task/Future "cancel()" method was called.
2406
2407..
2408
2409.. bpo: 30645
2410.. date: 0332
2411.. nonce: xihJ4Y
2412.. section: Library
2413
2414Fix path calculation in `imp.load_package()`, fixing it for cases when a
2415package is only shipped with bytecodes. Patch by Alexandru Ardelean.
2416
2417..
2418
2419.. bpo: 11822
2420.. date: 0331
2421.. nonce: GQmKw3
2422.. section: Library
2423
2424The dis.dis() function now is able to disassemble nested code objects.
2425
2426..
2427
2428.. bpo: 30624
2429.. date: 0330
2430.. nonce: g5oVSn
2431.. section: Library
2432
2433selectors does not take KeyboardInterrupt and SystemExit into account,
2434leaving a fd in a bad state in case of error. Patch by Giampaolo Rodola'.
2435
2436..
2437
2438.. bpo: 30595
2439.. date: 0329
2440.. nonce: d0nRRA
2441.. section: Library
2442
2443multiprocessing.Queue.get() with a timeout now polls its reader in
2444non-blocking mode if it succeeded to acquire the lock but the acquire took
2445longer than the timeout.
2446
2447..
2448
2449.. bpo: 28556
2450.. date: 0328
2451.. nonce: mESP7G
2452.. section: Library
2453
2454Updates to typing module: Add generic AsyncContextManager, add support for
2455ContextManager on all versions. Original PRs by Jelle Zijlstra and Ivan
2456Levkivskyi
2457
2458..
2459
2460.. bpo: 30605
2461.. date: 0327
2462.. nonce: XqGz1r
2463.. section: Library
2464
2465re.compile() no longer raises a BytesWarning when compiling a bytes instance
2466with misplaced inline modifier.  Patch by Roy Williams.
2467
2468..
2469
2470.. bpo: 29870
2471.. date: 0326
2472.. nonce: p960Ih
2473.. section: Library
2474
2475Fix ssl sockets leaks when connection is aborted in asyncio/ssl
2476implementation. Patch by Michaël Sghaïer.
2477
2478..
2479
2480.. bpo: 29743
2481.. date: 0325
2482.. nonce: en2P4s
2483.. section: Library
2484
2485Closing transport during handshake process leaks open socket. Patch by
2486Nikolay Kim
2487
2488..
2489
2490.. bpo: 27585
2491.. date: 0324
2492.. nonce: 0Ugqqu
2493.. section: Library
2494
2495Fix waiter cancellation in asyncio.Lock. Patch by Mathieu Sornay.
2496
2497..
2498
2499.. bpo: 30014
2500.. date: 0323
2501.. nonce: x7Yx6o
2502.. section: Library
2503
2504modify() method of poll(), epoll() and devpoll() based classes of selectors
2505module is around 10% faster.  Patch by Giampaolo Rodola'.
2506
2507..
2508
2509.. bpo: 30418
2510.. date: 0322
2511.. nonce: EwISQm
2512.. section: Library
2513
2514On Windows, subprocess.Popen.communicate() now also ignore EINVAL on
2515stdin.write() if the child process is still running but closed the pipe.
2516
2517..
2518
2519.. bpo: 30463
2520.. date: 0321
2521.. nonce: CdOuSl
2522.. section: Library
2523
2524Addded empty __slots__ to abc.ABC.  This allows subclassers to deny __dict__
2525and __weakref__ creation.  Patch by Aaron Hall.
2526
2527..
2528
2529.. bpo: 30520
2530.. date: 0320
2531.. nonce: VYzaSn
2532.. section: Library
2533
2534Loggers are now pickleable.
2535
2536..
2537
2538.. bpo: 30557
2539.. date: 0319
2540.. nonce: uykrLf
2541.. section: Library
2542
2543faulthandler now correctly filters and displays exception codes on Windows
2544
2545..
2546
2547.. bpo: 30526
2548.. date: 0318
2549.. nonce: 7zTG30
2550.. section: Library
2551
2552Add TextIOWrapper.reconfigure() and a TextIOWrapper.write_through attribute.
2553
2554..
2555
2556.. bpo: 30245
2557.. date: 0317
2558.. nonce: Xoa_8Y
2559.. section: Library
2560
2561Fix possible overflow when organize struct.pack_into error message.  Patch
2562by Yuan Liu.
2563
2564..
2565
2566.. bpo: 30378
2567.. date: 0316
2568.. nonce: R_19_5
2569.. section: Library
2570
2571Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6
2572addresses.
2573
2574..
2575
2576.. bpo: 16500
2577.. date: 0315
2578.. nonce: 9ypo9k
2579.. section: Library
2580
2581Allow registering at-fork handlers.
2582
2583..
2584
2585.. bpo: 30470
2586.. date: 0314
2587.. nonce: wAYhUc
2588.. section: Library
2589
2590Deprecate invalid ctypes call protection on Windows.  Patch by Mariatta
2591Wijaya.
2592
2593..
2594
2595.. bpo: 30414
2596.. date: 0313
2597.. nonce: jGl1Lb
2598.. section: Library
2599
2600multiprocessing.Queue._feed background running thread do not break from main
2601loop on exception.
2602
2603..
2604
2605.. bpo: 30003
2606.. date: 0312
2607.. nonce: BOl9HE
2608.. section: Library
2609
2610Fix handling escape characters in HZ codec.  Based on patch by Ma Lin.
2611
2612..
2613
2614.. bpo: 30149
2615.. date: 0311
2616.. nonce: hE649r
2617.. section: Library
2618
2619inspect.signature() now supports callables with variable-argument parameters
2620wrapped with partialmethod. Patch by Dong-hee Na.
2621
2622..
2623
2624.. bpo: 30436
2625.. date: 0310
2626.. nonce: b3zqE7
2627.. section: Library
2628
2629importlib.find_spec() raises ModuleNotFoundError instead of AttributeError
2630if the specified parent module is not a package (i.e. lacks a __path__
2631attribute).
2632
2633..
2634
2635.. bpo: 30301
2636.. date: 0309
2637.. nonce: ywOkjN
2638.. section: Library
2639
2640Fix AttributeError when using SimpleQueue.empty() under *spawn* and
2641*forkserver* start methods.
2642
2643..
2644
2645.. bpo: 30375
2646.. date: 0308
2647.. nonce: 9c8qM7
2648.. section: Library
2649
2650Warnings emitted when compile a regular expression now always point to the
2651line in the user code.  Previously they could point into inners of the re
2652module if emitted from inside of groups or conditionals.
2653
2654..
2655
2656.. bpo: 30329
2657.. date: 0307
2658.. nonce: EuT36N
2659.. section: Library
2660
2661imaplib and poplib now catch the Windows socket WSAEINVAL error (code 10022)
2662on shutdown(SHUT_RDWR): An invalid operation was attempted. This error
2663occurs sometimes on SSL connections.
2664
2665..
2666
2667.. bpo: 29196
2668.. date: 0306
2669.. nonce: qBq9eB
2670.. section: Library
2671
2672Removed previously deprecated in Python 2.4 classes Plist, Dict and
2673_InternalDict in the plistlib module.  Dict values in the result of
2674functions readPlist() and readPlistFromBytes() are now normal dicts.  You no
2675longer can use attribute access to access items of these dictionaries.
2676
2677..
2678
2679.. bpo: 9850
2680.. date: 0305
2681.. nonce: c6SMxt
2682.. section: Library
2683
2684The :mod:`macpath` is now deprecated and will be removed in Python 3.8.
2685
2686..
2687
2688.. bpo: 30299
2689.. date: 0304
2690.. nonce: O-5d4A
2691.. section: Library
2692
2693Compiling regular expression in debug mode on CPython now displays the
2694compiled bytecode in human readable form.
2695
2696..
2697
2698.. bpo: 30048
2699.. date: 0303
2700.. nonce: ELRx8R
2701.. section: Library
2702
2703Fixed ``Task.cancel()`` can be ignored when the task is running coroutine
2704and the coroutine returned without any more ``await``.
2705
2706..
2707
2708.. bpo: 30266
2709.. date: 0302
2710.. nonce: YJzHAH
2711.. section: Library
2712
2713contextlib.AbstractContextManager now supports anti-registration by setting
2714__enter__ = None or __exit__ = None, following the pattern introduced in
2715bpo-25958. Patch by Jelle Zijlstra.
2716
2717..
2718
2719.. bpo: 30340
2720.. date: 0301
2721.. nonce: kvtGm-
2722.. section: Library
2723
2724Enhanced regular expressions optimization. This increased the performance of
2725matching some patterns up to 25 times.
2726
2727..
2728
2729.. bpo: 30298
2730.. date: 0300
2731.. nonce: ZN-bWo
2732.. section: Library
2733
2734Weaken the condition of deprecation warnings for inline modifiers. Now
2735allowed several subsequential inline modifiers at the start of the pattern
2736(e.g. ``'(?i)(?s)...'``).  In verbose mode whitespaces and comments now are
2737allowed before and between inline modifiers (e.g. ``'(?x) (?i) (?s)...'``).
2738
2739..
2740
2741.. bpo: 30285
2742.. date: 0299
2743.. nonce: s1vpsO
2744.. section: Library
2745
2746Optimized case-insensitive matching and searching of regular expressions.
2747
2748..
2749
2750.. bpo: 29990
2751.. date: 0298
2752.. nonce: HWV6KE
2753.. section: Library
2754
2755Fix range checking in GB18030 decoder.  Original patch by Ma Lin.
2756
2757..
2758
2759.. bpo: 29979
2760.. date: 0297
2761.. nonce: jGBMyE
2762.. section: Library
2763
2764rewrite cgi.parse_multipart, reusing the FieldStorage class and making its
2765results consistent with those of FieldStorage for multipart/form-data
2766requests. Patch by Pierre Quentel.
2767
2768..
2769
2770.. bpo: 30243
2771.. date: 0296
2772.. nonce: RHQt0v
2773.. section: Library
2774
2775Removed the __init__ methods of _json's scanner and encoder. Misusing them
2776could cause memory leaks or crashes.  Now scanner and encoder objects are
2777completely initialized in the __new__ methods.
2778
2779..
2780
2781.. bpo: 30215
2782.. date: 0295
2783.. nonce: SY8738
2784.. section: Library
2785
2786Compiled regular expression objects with the re.LOCALE flag no longer depend
2787on the locale at compile time.  Only the locale at matching time affects the
2788result of matching.
2789
2790..
2791
2792.. bpo: 30185
2793.. date: 0294
2794.. nonce: Tiu1n8
2795.. section: Library
2796
2797Avoid KeyboardInterrupt tracebacks in forkserver helper process when Ctrl-C
2798is received.
2799
2800..
2801
2802.. bpo: 30103
2803.. date: 0293
2804.. nonce: mmPjf5
2805.. section: Library
2806
2807binascii.b2a_uu() and uu.encode() now support using ``'`'`` as zero instead
2808of space.
2809
2810..
2811
2812.. bpo: 28556
2813.. date: 0292
2814.. nonce: 51gjbP
2815.. section: Library
2816
2817Various updates to typing module: add typing.NoReturn type, use
2818WrapperDescriptorType, minor bug-fixes.  Original PRs by Jim
2819Fasarakis-Hilliard and Ivan Levkivskyi.
2820
2821..
2822
2823.. bpo: 30205
2824.. date: 0291
2825.. nonce: BsxO34
2826.. section: Library
2827
2828Fix getsockname() for unbound AF_UNIX sockets on Linux.
2829
2830..
2831
2832.. bpo: 30228
2833.. date: 0290
2834.. nonce: nF8Ov4
2835.. section: Library
2836
2837The seek() and tell() methods of io.FileIO now set the internal seekable
2838attribute to avoid one syscall on open() (in buffered or text mode).
2839
2840..
2841
2842.. bpo: 30190
2843.. date: 0289
2844.. nonce: 5E7Hyb
2845.. section: Library
2846
2847unittest's assertAlmostEqual and assertNotAlmostEqual provide a better
2848message in case of failure which includes the difference between left and
2849right arguments.  (patch by Giampaolo Rodola')
2850
2851..
2852
2853.. bpo: 30101
2854.. date: 0288
2855.. nonce: hxUqSL
2856.. section: Library
2857
2858Add support for curses.A_ITALIC.
2859
2860..
2861
2862.. bpo: 29822
2863.. date: 0287
2864.. nonce: G7dX13
2865.. section: Library
2866
2867inspect.isabstract() now works during __init_subclass__.  Patch by Nate
2868Soares.
2869
2870..
2871
2872.. bpo: 29960
2873.. date: 0286
2874.. nonce: g0wr3r
2875.. section: Library
2876
2877Preserve generator state when _random.Random.setstate() raises an exception.
2878Patch by Bryan Olson.
2879
2880..
2881
2882.. bpo: 30070
2883.. date: 0285
2884.. nonce: XM_B41
2885.. section: Library
2886
2887Fixed leaks and crashes in errors handling in the parser module.
2888
2889..
2890
2891.. bpo: 22352
2892.. date: 0284
2893.. nonce: gIQ5qC
2894.. section: Library
2895
2896Column widths in the output of dis.dis() are now adjusted for large line
2897numbers and instruction offsets.
2898
2899..
2900
2901.. bpo: 30061
2902.. date: 0283
2903.. nonce: 2w_dX9
2904.. section: Library
2905
2906Fixed crashes in IOBase methods __next__() and readlines() when readline()
2907or __next__() respectively return non-sizeable object. Fixed possible other
2908errors caused by not checking results of PyObject_Size(), PySequence_Size(),
2909or PyMapping_Size().
2910
2911..
2912
2913.. bpo: 30218
2914.. date: 0282
2915.. nonce: ab5oIg
2916.. section: Library
2917
2918Fix PathLike support for shutil.unpack_archive. Patch by Jelle Zijlstra.
2919
2920..
2921
2922.. bpo: 10076
2923.. date: 0281
2924.. nonce: qCnwly
2925.. section: Library
2926
2927Compiled regular expression and match objects in the re module now support
2928copy.copy() and copy.deepcopy() (they are considered atomic).
2929
2930..
2931
2932.. bpo: 30068
2933.. date: 0280
2934.. nonce: n4q47r
2935.. section: Library
2936
2937_io._IOBase.readlines will check if it's closed first when hint is present.
2938
2939..
2940
2941.. bpo: 29694
2942.. date: 0279
2943.. nonce: LWKxb1
2944.. section: Library
2945
2946Fixed race condition in pathlib mkdir with flags parents=True.  Patch by
2947Armin Rigo.
2948
2949..
2950
2951.. bpo: 29692
2952.. date: 0278
2953.. nonce: oyWrAE
2954.. section: Library
2955
2956Fixed arbitrary unchaining of RuntimeError exceptions in
2957contextlib.contextmanager.  Patch by Siddharth Velankar.
2958
2959..
2960
2961.. bpo: 26187
2962.. date: 0277
2963.. nonce: aViyiR
2964.. section: Library
2965
2966Test that sqlite3 trace callback is not called multiple times when schema is
2967changing.  Indirectly fixed by switching to use sqlite3_prepare_v2() in
2968bpo-9303.  Patch by Aviv Palivoda.
2969
2970..
2971
2972.. bpo: 30017
2973.. date: 0276
2974.. nonce: cKBuhU
2975.. section: Library
2976
2977Allowed calling the close() method of the zip entry writer object multiple
2978times.  Writing to a closed writer now always produces a ValueError.
2979
2980..
2981
2982.. bpo: 29998
2983.. date: 0275
2984.. nonce: poeIKD
2985.. section: Library
2986
2987Pickling and copying ImportError now preserves name and path attributes.
2988
2989..
2990
2991.. bpo: 29995
2992.. date: 0274
2993.. nonce: b3mOqx
2994.. section: Library
2995
2996re.escape() now escapes only regex special characters.
2997
2998..
2999
3000.. bpo: 29962
3001.. date: 0273
3002.. nonce: r-ibsN
3003.. section: Library
3004
3005Add math.remainder operation, implementing remainder as specified in IEEE
3006754.
3007
3008..
3009
3010.. bpo: 29649
3011.. date: 0272
3012.. nonce: 2eIxQ8
3013.. section: Library
3014
3015Improve struct.pack_into() exception messages for problems with the buffer
3016size and offset.  Patch by Andrew Nester.
3017
3018..
3019
3020.. bpo: 29654
3021.. date: 0271
3022.. nonce: xRFPge
3023.. section: Library
3024
3025Support If-Modified-Since HTTP header (browser cache).  Patch by Pierre
3026Quentel.
3027
3028..
3029
3030.. bpo: 29931
3031.. date: 0270
3032.. nonce: tfcTwK
3033.. section: Library
3034
3035Fixed comparison check for ipaddress.ip_interface objects. Patch by Sanjay
3036Sundaresan.
3037
3038..
3039
3040.. bpo: 29953
3041.. date: 0269
3042.. nonce: Q1hSt-
3043.. section: Library
3044
3045Fixed memory leaks in the replace() method of datetime and time objects when
3046pass out of bound fold argument.
3047
3048..
3049
3050.. bpo: 29942
3051.. date: 0268
3052.. nonce: CsGNuT
3053.. section: Library
3054
3055Fix a crash in itertools.chain.from_iterable when encountering long runs of
3056empty iterables.
3057
3058..
3059
3060.. bpo: 10030
3061.. date: 0267
3062.. nonce: ZdhU3k
3063.. section: Library
3064
3065Sped up reading encrypted ZIP files by 2 times.
3066
3067..
3068
3069.. bpo: 29204
3070.. date: 0266
3071.. nonce: 8Hbqn2
3072.. section: Library
3073
3074Element.getiterator() and the html parameter of XMLParser() were deprecated
3075only in the documentation (since Python 3.2 and 3.4 correspondintly). Now
3076using them emits a deprecation warning.
3077
3078..
3079
3080.. bpo: 27863
3081.. date: 0265
3082.. nonce: pPYHHI
3083.. section: Library
3084
3085Fixed multiple crashes in ElementTree caused by race conditions and wrong
3086types.
3087
3088..
3089
3090.. bpo: 25996
3091.. date: 0264
3092.. nonce: L2_giP
3093.. section: Library
3094
3095Added support of file descriptors in os.scandir() on Unix. os.fwalk() is
3096sped up by 2 times by using os.scandir().
3097
3098..
3099
3100.. bpo: 28699
3101.. date: 0263
3102.. nonce: wZztZP
3103.. section: Library
3104
3105Fixed a bug in pools in multiprocessing.pool that raising an exception at
3106the very first of an iterable may swallow the exception or make the program
3107hang. Patch by Davin Potts and Xiang Zhang.
3108
3109..
3110
3111.. bpo: 23890
3112.. date: 0262
3113.. nonce: GCFAAZ
3114.. section: Library
3115
3116unittest.TestCase.assertRaises() now manually breaks a reference cycle to
3117not keep objects alive longer than expected.
3118
3119..
3120
3121.. bpo: 29901
3122.. date: 0261
3123.. nonce: QdgMvW
3124.. section: Library
3125
3126The zipapp module now supports general path-like objects, not just
3127pathlib.Path.
3128
3129..
3130
3131.. bpo: 25803
3132.. date: 0260
3133.. nonce: CPDR0W
3134.. section: Library
3135
3136Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when the OS gives
3137priority to errors such as EACCES over EEXIST.
3138
3139..
3140
3141.. bpo: 29861
3142.. date: 0259
3143.. nonce: t2ZoRK
3144.. section: Library
3145
3146Release references to tasks, their arguments and their results as soon as
3147they are finished in multiprocessing.Pool.
3148
3149..
3150
3151.. bpo: 19930
3152.. date: 0258
3153.. nonce: QCjO6A
3154.. section: Library
3155
3156The mode argument of os.makedirs() no longer affects the file permission
3157bits of newly-created intermediate-level directories.
3158
3159..
3160
3161.. bpo: 29884
3162.. date: 0257
3163.. nonce: kWXR8W
3164.. section: Library
3165
3166faulthandler: Restore the old sigaltstack during teardown. Patch by
3167Christophe Zeitouny.
3168
3169..
3170
3171.. bpo: 25455
3172.. date: 0256
3173.. nonce: ZsahHN
3174.. section: Library
3175
3176Fixed crashes in repr of recursive buffered file-like objects.
3177
3178..
3179
3180.. bpo: 29800
3181.. date: 0255
3182.. nonce: d2xASa
3183.. section: Library
3184
3185Fix crashes in partial.__repr__ if the keys of partial.keywords are not
3186strings.  Patch by Michael Seifert.
3187
3188..
3189
3190.. bpo: 8256
3191.. date: 0254
3192.. nonce: jAwGQH
3193.. section: Library
3194
3195Fixed possible failing or crashing input() if attributes "encoding" or
3196"errors" of sys.stdin or sys.stdout are not set or are not strings.
3197
3198..
3199
3200.. bpo: 28692
3201.. date: 0253
3202.. nonce: CDt-Gb
3203.. section: Library
3204
3205Using non-integer value for selecting a plural form in gettext is now
3206deprecated.
3207
3208..
3209
3210.. bpo: 26121
3211.. date: 0252
3212.. nonce: LX-pQA
3213.. section: Library
3214
3215Use C library implementation for math functions erf() and erfc().
3216
3217..
3218
3219.. bpo: 29619
3220.. date: 0251
3221.. nonce: WIGVxO
3222.. section: Library
3223
3224os.stat() and os.DirEntry.inode() now convert inode (st_ino) using unsigned
3225integers.
3226
3227..
3228
3229.. bpo: 28298
3230.. date: 0250
3231.. nonce: PNOPsT
3232.. section: Library
3233
3234Fix a bug that prevented array 'Q', 'L' and 'I' from accepting big intables
3235(objects that have __int__) as elements.
3236
3237..
3238
3239.. bpo: 29645
3240.. date: 0249
3241.. nonce: XCxTHM
3242.. section: Library
3243
3244Speed up importing the webbrowser module.  webbrowser.register() is now
3245thread-safe.
3246
3247..
3248
3249.. bpo: 28231
3250.. date: 0248
3251.. nonce: MG1X09
3252.. section: Library
3253
3254The zipfile module now accepts path-like objects for external paths.
3255
3256..
3257
3258.. bpo: 26915
3259.. date: 0247
3260.. nonce: qShJZO
3261.. section: Library
3262
3263index() and count() methods of collections.abc.Sequence now check identity
3264before checking equality when do comparisons.
3265
3266..
3267
3268.. bpo: 28682
3269.. date: 0246
3270.. nonce: hUxdej
3271.. section: Library
3272
3273Added support for bytes paths in os.fwalk().
3274
3275..
3276
3277.. bpo: 29728
3278.. date: 0245
3279.. nonce: 37jMwb
3280.. section: Library
3281
3282Add new :data:`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constant. Patch by
3283Nathaniel J. Smith.
3284
3285..
3286
3287.. bpo: 29623
3288.. date: 0244
3289.. nonce: D3-NP2
3290.. section: Library
3291
3292Allow use of path-like object as a single argument in ConfigParser.read().
3293Patch by David Ellis.
3294
3295..
3296
3297.. bpo: 9303
3298.. date: 0243
3299.. nonce: kDZRSd
3300.. section: Library
3301
3302Migrate sqlite3 module to _v2 API.  Patch by Aviv Palivoda.
3303
3304..
3305
3306.. bpo: 28963
3307.. date: 0242
3308.. nonce: tPl8dq
3309.. section: Library
3310
3311Fix out of bound iteration in asyncio.Future.remove_done_callback
3312implemented in C.
3313
3314..
3315
3316.. bpo: 29704
3317.. date: 0241
3318.. nonce: WHbx27
3319.. section: Library
3320
3321asyncio.subprocess.SubprocessStreamProtocol no longer closes before all
3322pipes are closed.
3323
3324..
3325
3326.. bpo: 29271
3327.. date: 0240
3328.. nonce: y8Vj2v
3329.. section: Library
3330
3331Fix Task.current_task and Task.all_tasks implemented in C to accept None
3332argument as their pure Python implementation.
3333
3334..
3335
3336.. bpo: 29703
3337.. date: 0239
3338.. nonce: ZdsPCR
3339.. section: Library
3340
3341Fix asyncio to support instantiation of new event loops in child processes.
3342
3343..
3344
3345.. bpo: 29615
3346.. date: 0238
3347.. nonce: OpFKzg
3348.. section: Library
3349
3350SimpleXMLRPCDispatcher no longer chains KeyError (or any other exception) to
3351exception(s) raised in the dispatched methods. Patch by Petr Motejlek.
3352
3353..
3354
3355.. bpo: 7769
3356.. date: 0237
3357.. nonce: xGRJWh
3358.. section: Library
3359
3360Method register_function() of xmlrpc.server.SimpleXMLRPCDispatcher and its
3361subclasses can now be used as a decorator.
3362
3363..
3364
3365.. bpo: 29376
3366.. date: 0236
3367.. nonce: rrJhJy
3368.. section: Library
3369
3370Fix assertion error in threading._DummyThread.is_alive().
3371
3372..
3373
3374.. bpo: 28624
3375.. date: 0235
3376.. nonce: 43TJib
3377.. section: Library
3378
3379Add a test that checks that cwd parameter of Popen() accepts PathLike
3380objects.  Patch by Sayan Chowdhury.
3381
3382..
3383
3384.. bpo: 28518
3385.. date: 0234
3386.. nonce: o-Q2Nw
3387.. section: Library
3388
3389Start a transaction implicitly before a DML statement. Patch by Aviv
3390Palivoda.
3391
3392..
3393
3394.. bpo: 29742
3395.. date: 0233
3396.. nonce: 8hqfEO
3397.. section: Library
3398
3399get_extra_info() raises exception if get called on closed ssl transport.
3400Patch by Nikolay Kim.
3401
3402..
3403
3404.. bpo: 16285
3405.. date: 0232
3406.. nonce: 4f5gbp
3407.. section: Library
3408
3409urllib.parse.quote is now based on RFC 3986 and hence includes '~' in the
3410set of characters that is not quoted by default. Patch by Christian Theune
3411and Ratnadeep Debnath.
3412
3413..
3414
3415.. bpo: 29532
3416.. date: 0231
3417.. nonce: YCwVQn
3418.. section: Library
3419
3420Altering a kwarg dictionary passed to functools.partial() no longer affects
3421a partial object after creation.
3422
3423..
3424
3425.. bpo: 29110
3426.. date: 0230
3427.. nonce: wmE-_T
3428.. section: Library
3429
3430Fix file object leak in aifc.open() when file is given as a filesystem path
3431and is not in valid AIFF format. Patch by Anthony Zhang.
3432
3433..
3434
3435.. bpo: 22807
3436.. date: 0229
3437.. nonce: VmoSkZ
3438.. section: Library
3439
3440Add uuid.SafeUUID and uuid.UUID.is_safe to relay information from the
3441platform about whether generated UUIDs are generated with a multiprocessing
3442safe method.
3443
3444..
3445
3446.. bpo: 29576
3447.. date: 0228
3448.. nonce: F-b8_5
3449.. section: Library
3450
3451Improve some deprecations in importlib. Some deprecated methods now emit
3452DeprecationWarnings and have better descriptive messages.
3453
3454..
3455
3456.. bpo: 29534
3457.. date: 0227
3458.. nonce: Ug3HPU
3459.. section: Library
3460
3461Fixed different behaviour of Decimal.from_float() for _decimal and
3462_pydecimal. Thanks Andrew Nester.
3463
3464..
3465
3466.. bpo: 10379
3467.. date: 0226
3468.. nonce: mRlZsT
3469.. section: Library
3470
3471locale.format_string now supports the 'monetary' keyword argument, and
3472locale.format is deprecated.
3473
3474..
3475
3476.. bpo: 29851
3477.. date: 0225
3478.. nonce: jqs_5s
3479.. section: Library
3480
3481importlib.reload() now raises ModuleNotFoundError if the module lacks a
3482spec.
3483
3484..
3485
3486.. bpo: 28556
3487.. date: 0224
3488.. nonce: p6967e
3489.. section: Library
3490
3491Various updates to typing module: typing.Counter, typing.ChainMap, improved
3492ABC caching, etc. Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel
3493Krebber, and Łukasz Langa.
3494
3495..
3496
3497.. bpo: 29100
3498.. date: 0223
3499.. nonce: LAAERS
3500.. section: Library
3501
3502Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check
3503minimum and maximum years.
3504
3505..
3506
3507.. bpo: 29416
3508.. date: 0222
3509.. nonce: KJGyI_
3510.. section: Library
3511
3512Prevent infinite loop in pathlib.Path.mkdir
3513
3514..
3515
3516.. bpo: 29444
3517.. date: 0221
3518.. nonce: cEwgmk
3519.. section: Library
3520
3521Fixed out-of-bounds buffer access in the group() method of the match object.
3522Based on patch by WGH.
3523
3524..
3525
3526.. bpo: 29377
3527.. date: 0220
3528.. nonce: 4AvSrC
3529.. section: Library
3530
3531Add WrapperDescriptorType, MethodWrapperType, and MethodDescriptorType
3532built-in types to types module. Original patch by Manuel Krebber.
3533
3534..
3535
3536.. bpo: 29218
3537.. date: 0219
3538.. nonce: -Qoti0
3539.. section: Library
3540
3541Unused install_misc command is now removed.  It has been documented as
3542unused since 2000.  Patch by Eric N. Vander Weele.
3543
3544..
3545
3546.. bpo: 29368
3547.. date: 0218
3548.. nonce: nTtA_V
3549.. section: Library
3550
3551The extend() method is now called instead of the append() method when
3552unpickle collections.deque and other list-like objects. This can speed up
3553unpickling to 2 times.
3554
3555..
3556
3557.. bpo: 29338
3558.. date: 0217
3559.. nonce: EpvQJl
3560.. section: Library
3561
3562The help of a builtin or extension class now includes the constructor
3563signature if __text_signature__ is provided for the class.
3564
3565..
3566
3567.. bpo: 29335
3568.. date: 0216
3569.. nonce: _KC7IK
3570.. section: Library
3571
3572Fix subprocess.Popen.wait() when the child process has exited to a stopped
3573instead of terminated state (ex: when under ptrace).
3574
3575..
3576
3577.. bpo: 29290
3578.. date: 0215
3579.. nonce: XBqptF
3580.. section: Library
3581
3582Fix a regression in argparse that help messages would wrap at non-breaking
3583spaces.
3584
3585..
3586
3587.. bpo: 28735
3588.. date: 0214
3589.. nonce: admHLO
3590.. section: Library
3591
3592Fixed the comparison of mock.MagickMock with mock.ANY.
3593
3594..
3595
3596.. bpo: 29197
3597.. date: 0213
3598.. nonce: sZssFZ
3599.. section: Library
3600
3601Removed deprecated function ntpath.splitunc().
3602
3603..
3604
3605.. bpo: 29210
3606.. date: 0212
3607.. nonce: y1UHWf
3608.. section: Library
3609
3610Removed support of deprecated argument "exclude" in tarfile.TarFile.add().
3611
3612..
3613
3614.. bpo: 29219
3615.. date: 0211
3616.. nonce: kxui7t
3617.. section: Library
3618
3619Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances.
3620
3621..
3622
3623.. bpo: 29192
3624.. date: 0210
3625.. nonce: mY31H8
3626.. section: Library
3627
3628Removed deprecated features in the http.cookies module.
3629
3630..
3631
3632.. bpo: 29193
3633.. date: 0209
3634.. nonce: CgcjEx
3635.. section: Library
3636
3637A format string argument for string.Formatter.format() is now
3638positional-only.
3639
3640..
3641
3642.. bpo: 29195
3643.. date: 0208
3644.. nonce: vK5LjU
3645.. section: Library
3646
3647Removed support of deprecated undocumented keyword arguments in methods of
3648regular expression objects.
3649
3650..
3651
3652.. bpo: 28969
3653.. date: 0207
3654.. nonce: j3HJYO
3655.. section: Library
3656
3657Fixed race condition in C implementation of functools.lru_cache. KeyError
3658could be raised when cached function with full cache was simultaneously
3659called from differen threads with the same uncached arguments.
3660
3661..
3662
3663.. bpo: 20804
3664.. date: 0206
3665.. nonce: XyZhvi
3666.. section: Library
3667
3668The unittest.mock.sentinel attributes now preserve their identity when they
3669are copied or pickled.
3670
3671..
3672
3673.. bpo: 29142
3674.. date: 0205
3675.. nonce: xo6kAv
3676.. section: Library
3677
3678In urllib.request, suffixes in no_proxy environment variable with leading
3679dots could match related hostnames again (e.g. .b.c matches a.b.c). Patch by
3680Milan Oberkirch.
3681
3682..
3683
3684.. bpo: 28961
3685.. date: 0204
3686.. nonce: Rt93vg
3687.. section: Library
3688
3689Fix unittest.mock._Call helper: don't ignore the name parameter anymore.
3690Patch written by Jiajun Huang.
3691
3692..
3693
3694.. bpo: 15812
3695.. date: 0203
3696.. nonce: R1U-Ec
3697.. section: Library
3698
3699inspect.getframeinfo() now correctly shows the first line of a context.
3700Patch by Sam Breese.
3701
3702..
3703
3704.. bpo: 28985
3705.. date: 0202
3706.. nonce: TMWJFg
3707.. section: Library
3708
3709Update authorizer constants in sqlite3 module. Patch by Dingyuan Wang.
3710
3711..
3712
3713.. bpo: 29079
3714.. date: 0201
3715.. nonce: g4YLix
3716.. section: Library
3717
3718Prevent infinite loop in pathlib.resolve() on Windows
3719
3720..
3721
3722.. bpo: 13051
3723.. date: 0200
3724.. nonce: YzC1Te
3725.. section: Library
3726
3727Fixed recursion errors in large or resized curses.textpad.Textbox.  Based on
3728patch by Tycho Andersen.
3729
3730..
3731
3732.. bpo: 9770
3733.. date: 0199
3734.. nonce: WJJnwP
3735.. section: Library
3736
3737curses.ascii predicates now work correctly with negative integers.
3738
3739..
3740
3741.. bpo: 28427
3742.. date: 0198
3743.. nonce: vUd-va
3744.. section: Library
3745
3746old keys should not remove new values from WeakValueDictionary when
3747collecting from another thread.
3748
3749..
3750
3751.. bpo: 28923
3752.. date: 0197
3753.. nonce: naVULD
3754.. section: Library
3755
3756Remove editor artifacts from Tix.py.
3757
3758..
3759
3760.. bpo: 28871
3761.. date: 0196
3762.. nonce: cPMXCJ
3763.. section: Library
3764
3765Fixed a crash when deallocate deep ElementTree.
3766
3767..
3768
3769.. bpo: 19542
3770.. date: 0195
3771.. nonce: 5tCkaK
3772.. section: Library
3773
3774Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop()
3775when a GC collection happens in another thread.
3776
3777..
3778
3779.. bpo: 20191
3780.. date: 0194
3781.. nonce: Q7uZCS
3782.. section: Library
3783
3784Fixed a crash in resource.prlimit() when passing a sequence that doesn't own
3785its elements as limits.
3786
3787..
3788
3789.. bpo: 16255
3790.. date: 0193
3791.. nonce: p2YA85
3792.. section: Library
3793
3794subprocess.Popen uses /system/bin/sh on Android as the shell, instead of
3795/bin/sh.
3796
3797..
3798
3799.. bpo: 28779
3800.. date: 0192
3801.. nonce: t-mjED
3802.. section: Library
3803
3804multiprocessing.set_forkserver_preload() would crash the forkserver process
3805if a preloaded module instantiated some multiprocessing objects such as
3806locks.
3807
3808..
3809
3810.. bpo: 26937
3811.. date: 0191
3812.. nonce: c9kgiA
3813.. section: Library
3814
3815The chown() method of the tarfile.TarFile class does not fail now when the
3816grp module cannot be imported, as for example on Android platforms.
3817
3818..
3819
3820.. bpo: 28847
3821.. date: 0190
3822.. nonce: GiWd9w
3823.. section: Library
3824
3825dbm.dumb now supports reading read-only files and no longer writes the index
3826file when it is not changed.  A deprecation warning is now emitted if the
3827index file is missed and recreated in the 'r' and 'w' modes (will be an
3828error in future Python releases).
3829
3830..
3831
3832.. bpo: 27030
3833.. date: 0189
3834.. nonce: GoGlFH
3835.. section: Library
3836
3837Unknown escapes consisting of ``'\'`` and an ASCII letter in re.sub()
3838replacement templates regular expressions now are errors.
3839
3840..
3841
3842.. bpo: 28835
3843.. date: 0188
3844.. nonce: iWBYH7
3845.. section: Library
3846
3847Fix a regression introduced in warnings.catch_warnings(): call
3848warnings.showwarning() if it was overridden inside the context manager.
3849
3850..
3851
3852.. bpo: 27172
3853.. date: 0187
3854.. nonce: mVKfLT
3855.. section: Library
3856
3857To assist with upgrades from 2.7, the previously documented deprecation of
3858``inspect.getfullargspec()`` has been reversed. This decision may be
3859revisited again after the Python 2.7 branch is no longer officially
3860supported.
3861
3862..
3863
3864.. bpo: 28740
3865.. date: 0186
3866.. nonce: rY8kz-
3867.. section: Library
3868
3869Add sys.getandroidapilevel(): return the build time API version of Android
3870as an integer. Function only available on Android.
3871
3872..
3873
3874.. bpo: 26273
3875.. date: 0185
3876.. nonce: ilNIWN
3877.. section: Library
3878
3879Add new :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and
3880:data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) constants. Patch written by
3881Omar Sandoval.
3882
3883..
3884
3885.. bpo: 28752
3886.. date: 0184
3887.. nonce: Q-4oRE
3888.. section: Library
3889
3890Restored the __reduce__() methods of datetime objects.
3891
3892..
3893
3894.. bpo: 28727
3895.. date: 0183
3896.. nonce: ubZP_b
3897.. section: Library
3898
3899Regular expression patterns, _sre.SRE_Pattern objects created by
3900re.compile(), become comparable (only x==y and x!=y operators). This change
3901should fix the issue #18383: don't duplicate warning filters when the
3902warnings module is reloaded (thing usually only done in unit tests).
3903
3904..
3905
3906.. bpo: 20572
3907.. date: 0182
3908.. nonce: NCRmvz
3909.. section: Library
3910
3911Remove the subprocess.Popen.wait endtime parameter.  It was deprecated in
39123.4 and undocumented prior to that.
3913
3914..
3915
3916.. bpo: 25659
3917.. date: 0181
3918.. nonce: lE2IlT
3919.. section: Library
3920
3921In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy()
3922methods on abstract classes like Array.
3923
3924..
3925
3926.. bpo: 28548
3927.. date: 0180
3928.. nonce: IeNrnG
3929.. section: Library
3930
3931In the "http.server" module, parse the protocol version if possible, to
3932avoid using HTTP 0.9 in some error responses.
3933
3934..
3935
3936.. bpo: 19717
3937.. date: 0179
3938.. nonce: HXCAIz
3939.. section: Library
3940
3941Makes Path.resolve() succeed on paths that do not exist. Patch by Vajrasky
3942Kok
3943
3944..
3945
3946.. bpo: 28563
3947.. date: 0178
3948.. nonce: iweEiw
3949.. section: Library
3950
3951Fixed possible DoS and arbitrary code execution when handle plural form
3952selections in the gettext module.  The expression parser now supports exact
3953syntax supported by GNU gettext.
3954
3955..
3956
3957.. bpo: 28387
3958.. date: 0177
3959.. nonce: 1clJu7
3960.. section: Library
3961
3962Fixed possible crash in _io.TextIOWrapper deallocator when the garbage
3963collector is invoked in other thread.  Based on patch by Sebastian Cufre.
3964
3965..
3966
3967.. bpo: 27517
3968.. date: 0176
3969.. nonce: 1CYM8A
3970.. section: Library
3971
3972LZMA compressor and decompressor no longer raise exceptions if given empty
3973data twice.  Patch by Benjamin Fogle.
3974
3975..
3976
3977.. bpo: 28549
3978.. date: 0175
3979.. nonce: ShnM2y
3980.. section: Library
3981
3982Fixed segfault in curses's addch() with ncurses6.
3983
3984..
3985
3986.. bpo: 28449
3987.. date: 0174
3988.. nonce: 5JK6ES
3989.. section: Library
3990
3991tarfile.open() with mode "r" or "r:" now tries to open a tar file with
3992compression before trying to open it without compression.  Otherwise it had
399350% chance failed with ignore_zeros=True.
3994
3995..
3996
3997.. bpo: 23262
3998.. date: 0173
3999.. nonce: 6EVB7N
4000.. section: Library
4001
4002The webbrowser module now supports Firefox 36+ and derived browsers.  Based
4003on patch by Oleg Broytman.
4004
4005..
4006
4007.. bpo: 24241
4008.. date: 0172
4009.. nonce: y7N12p
4010.. section: Library
4011
4012The webbrowser in an X environment now prefers using the default browser
4013directly. Also, the webbrowser register() function now has a documented
4014'preferred' argument, to specify browsers to be returned by get() with no
4015arguments. Patch by David Steele
4016
4017..
4018
4019.. bpo: 27939
4020.. date: 0171
4021.. nonce: mTfADV
4022.. section: Library
4023
4024Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused by
4025representing the scale as float value internally in Tk.  tkinter.IntVar now
4026works if float value is set to underlying Tk variable.
4027
4028..
4029
4030.. bpo: 28255
4031.. date: 0170
4032.. nonce: G3iOPm
4033.. section: Library
4034
4035calendar.TextCalendar.prweek() no longer prints a space after a weeks's
4036calendar.  calendar.TextCalendar.pryear() no longer prints redundant newline
4037after a year's calendar.  Based on patch by Xiang Zhang.
4038
4039..
4040
4041.. bpo: 28255
4042.. date: 0169
4043.. nonce: fHNZu0
4044.. section: Library
4045
4046calendar.TextCalendar.prmonth() no longer prints a space at the start of new
4047line after printing a month's calendar.  Patch by Xiang Zhang.
4048
4049..
4050
4051.. bpo: 20491
4052.. date: 0168
4053.. nonce: ObgnQ2
4054.. section: Library
4055
4056The textwrap.TextWrapper class now honors non-breaking spaces. Based on
4057patch by Kaarle Ritvanen.
4058
4059..
4060
4061.. bpo: 28353
4062.. date: 0167
4063.. nonce: sKGbLL
4064.. section: Library
4065
4066os.fwalk() no longer fails on broken links.
4067
4068..
4069
4070.. bpo: 28430
4071.. date: 0166
4072.. nonce: 4MiEYT
4073.. section: Library
4074
4075Fix iterator of C implemented asyncio.Future doesn't accept non-None value
4076is passed to it.send(val).
4077
4078..
4079
4080.. bpo: 27025
4081.. date: 0165
4082.. nonce: foAViS
4083.. section: Library
4084
4085Generated names for Tkinter widgets now start by the "!" prefix for
4086readability.
4087
4088..
4089
4090.. bpo: 25464
4091.. date: 0164
4092.. nonce: HDUTCu
4093.. section: Library
4094
4095Fixed HList.header_exists() in tkinter.tix module by addin a workaround to
4096Tix library bug.
4097
4098..
4099
4100.. bpo: 28488
4101.. date: 0163
4102.. nonce: TgO112
4103.. section: Library
4104
4105shutil.make_archive() no longer adds entry "./" to ZIP archive.
4106
4107..
4108
4109.. bpo: 25953
4110.. date: 0162
4111.. nonce: EKKJAQ
4112.. section: Library
4113
4114re.sub() now raises an error for invalid numerical group reference in
4115replacement template even if the pattern is not found in the string.  Error
4116message for invalid group reference now includes the group index and the
4117position of the reference. Based on patch by SilentGhost.
4118
4119..
4120
4121.. bpo: 28469
4122.. date: 0161
4123.. nonce: QZW1Np
4124.. section: Library
4125
4126timeit now uses the sequence 1, 2, 5, 10, 20, 50,... instead of 1, 10,
4127100,... for autoranging.
4128
4129..
4130
4131.. bpo: 28115
4132.. date: 0160
4133.. nonce: 4FIjIE
4134.. section: Library
4135
4136Command-line interface of the zipfile module now uses argparse. Added
4137support of long options.
4138
4139..
4140
4141.. bpo: 18219
4142.. date: 0159
4143.. nonce: 1ANQN1
4144.. section: Library
4145
4146Optimize csv.DictWriter for large number of columns. Patch by Mariatta
4147Wijaya.
4148
4149..
4150
4151.. bpo: 28448
4152.. date: 0158
4153.. nonce: 5bduWe
4154.. section: Library
4155
4156Fix C implemented asyncio.Future didn't work on Windows.
4157
4158..
4159
4160.. bpo: 23214
4161.. date: 0157
4162.. nonce: -4Q5Z7
4163.. section: Library
4164
4165In the "io" module, the argument to BufferedReader and BytesIO's read1()
4166methods is now optional and can be -1, matching the BufferedIOBase
4167specification.
4168
4169..
4170
4171.. bpo: 28480
4172.. date: 0156
4173.. nonce: 9lHw6m
4174.. section: Library
4175
4176Fix error building socket module when multithreading is disabled.
4177
4178..
4179
4180.. bpo: 28240
4181.. date: 0155
4182.. nonce: hqzQvS
4183.. section: Library
4184
4185timeit: remove ``-c/--clock`` and ``-t/--time`` command line options which
4186were deprecated since Python 3.3.
4187
4188..
4189
4190.. bpo: 28240
4191.. date: 0154
4192.. nonce: IwQMgd
4193.. section: Library
4194
4195timeit now repeats the benchmarks 5 times instead of only 3 to make
4196benchmarks more reliable.
4197
4198..
4199
4200.. bpo: 28240
4201.. date: 0153
4202.. nonce: cXljq-
4203.. section: Library
4204
4205timeit autorange now uses a single loop iteration if the benchmark takes
4206less than 10 seconds, instead of 10 iterations. "python3 -m timeit -s
4207'import time' 'time.sleep(1)'" now takes 4 seconds instead of 40 seconds.
4208
4209..
4210
4211.. bpo: 0
4212.. date: 0152
4213.. nonce: 5Y0ngw
4214.. section: Library
4215
4216Distutils.sdist now looks for README and setup.py files with case
4217sensitivity. This behavior matches that found in Setuptools 6.0 and later.
4218See `setuptools 100 <https://github.com/pypa/setuptools/issues/100>`_ for
4219rationale.
4220
4221..
4222
4223.. bpo: 24452
4224.. date: 0151
4225.. nonce: pVsjt0
4226.. section: Library
4227
4228Make webbrowser support Chrome on Mac OS X. Patch by Ned Batchelder.
4229
4230..
4231
4232.. bpo: 20766
4233.. date: 0150
4234.. nonce: 4kvCzx
4235.. section: Library
4236
4237Fix references leaked by pdb in the handling of SIGINT handlers.
4238
4239..
4240
4241.. bpo: 27998
4242.. date: 0149
4243.. nonce: CPhy4H
4244.. section: Library
4245
4246Fixed bytes path support in os.scandir() on Windows. Patch by Eryk Sun.
4247
4248..
4249
4250.. bpo: 28317
4251.. date: 0148
4252.. nonce: LgHleA
4253.. section: Library
4254
4255The disassembler now decodes FORMAT_VALUE argument.
4256
4257..
4258
4259.. bpo: 28380
4260.. date: 0147
4261.. nonce: jKPMzH
4262.. section: Library
4263
4264unittest.mock Mock autospec functions now properly support assert_called,
4265assert_not_called, and assert_called_once.
4266
4267..
4268
4269.. bpo: 28229
4270.. date: 0146
4271.. nonce: BKAxcS
4272.. section: Library
4273
4274lzma module now supports pathlib.
4275
4276..
4277
4278.. bpo: 28321
4279.. date: 0145
4280.. nonce: bQ-IIX
4281.. section: Library
4282
4283Fixed writing non-BMP characters with binary format in plistlib.
4284
4285..
4286
4287.. bpo: 28225
4288.. date: 0144
4289.. nonce: 6N28nu
4290.. section: Library
4291
4292bz2 module now supports pathlib.  Initial patch by Ethan Furman.
4293
4294..
4295
4296.. bpo: 28227
4297.. date: 0143
4298.. nonce: 7lUz8i
4299.. section: Library
4300
4301gzip now supports pathlib.  Patch by Ethan Furman.
4302
4303..
4304
4305.. bpo: 28332
4306.. date: 0142
4307.. nonce: Ed8fNk
4308.. section: Library
4309
4310Deprecated silent truncations in socket.htons and socket.ntohs. Original
4311patch by Oren Milman.
4312
4313..
4314
4315.. bpo: 27358
4316.. date: 0141
4317.. nonce: t288Iv
4318.. section: Library
4319
4320Optimized merging var-keyword arguments and improved error message when
4321passing a non-mapping as a var-keyword argument.
4322
4323..
4324
4325.. bpo: 28257
4326.. date: 0140
4327.. nonce: SVD_IH
4328.. section: Library
4329
4330Improved error message when passing a non-iterable as a var-positional
4331argument.  Added opcode BUILD_TUPLE_UNPACK_WITH_CALL.
4332
4333..
4334
4335.. bpo: 28322
4336.. date: 0139
4337.. nonce: l9hzap
4338.. section: Library
4339
4340Fixed possible crashes when unpickle itertools objects from incorrect pickle
4341data.  Based on patch by John Leitch.
4342
4343..
4344
4345.. bpo: 28228
4346.. date: 0138
4347.. nonce: 1qBwdM
4348.. section: Library
4349
4350imghdr now supports pathlib.
4351
4352..
4353
4354.. bpo: 28226
4355.. date: 0137
4356.. nonce: nMXiwU
4357.. section: Library
4358
4359compileall now supports pathlib.
4360
4361..
4362
4363.. bpo: 28314
4364.. date: 0136
4365.. nonce: N7YrkN
4366.. section: Library
4367
4368Fix function declaration (C flags) for the getiterator() method of
4369xml.etree.ElementTree.Element.
4370
4371..
4372
4373.. bpo: 28148
4374.. date: 0135
4375.. nonce: Flzndx
4376.. section: Library
4377
4378Stop using localtime() and gmtime() in the time module.
4379
4380Introduced platform independent _PyTime_localtime API that is similar to
4381POSIX localtime_r, but available on all platforms.  Patch by Ed Schouten.
4382
4383..
4384
4385.. bpo: 28253
4386.. date: 0134
4387.. nonce: aLfmhe
4388.. section: Library
4389
4390Fixed calendar functions for extreme months: 0001-01 and 9999-12.
4391
4392Methods itermonthdays() and itermonthdays2() are reimplemented so that they
4393don't call itermonthdates() which can cause datetime.date under/overflow.
4394
4395..
4396
4397.. bpo: 28275
4398.. date: 0133
4399.. nonce: EhWIsz
4400.. section: Library
4401
4402Fixed possible use after free in the decompress() methods of the
4403LZMADecompressor and BZ2Decompressor classes. Original patch by John Leitch.
4404
4405..
4406
4407.. bpo: 27897
4408.. date: 0132
4409.. nonce: I0Ppmx
4410.. section: Library
4411
4412Fixed possible crash in sqlite3.Connection.create_collation() if pass
4413invalid string-like object as a name.  Patch by Xiang Zhang.
4414
4415..
4416
4417.. bpo: 18844
4418.. date: 0131
4419.. nonce: fQsEdn
4420.. section: Library
4421
4422random.choices() now has k as a keyword-only argument to improve the
4423readability of common cases and come into line with the signature used in
4424other languages.
4425
4426..
4427
4428.. bpo: 18893
4429.. date: 0130
4430.. nonce: osiX5c
4431.. section: Library
4432
4433Fix invalid exception handling in Lib/ctypes/macholib/dyld.py. Patch by
4434Madison May.
4435
4436..
4437
4438.. bpo: 27611
4439.. date: 0129
4440.. nonce: A_ArH_
4441.. section: Library
4442
4443Fixed support of default root window in the tkinter.tix module. Added the
4444master parameter in the DisplayStyle constructor.
4445
4446..
4447
4448.. bpo: 27348
4449.. date: 0128
4450.. nonce: tDx7Vw
4451.. section: Library
4452
4453In the traceback module, restore the formatting of exception messages like
4454"Exception: None".  This fixes a regression introduced in 3.5a2.
4455
4456..
4457
4458.. bpo: 25651
4459.. date: 0127
4460.. nonce: 3UhyPo
4461.. section: Library
4462
4463Allow falsy values to be used for msg parameter of subTest().
4464
4465..
4466
4467.. bpo: 27778
4468.. date: 0126
4469.. nonce: Yyo1aP
4470.. section: Library
4471
4472Fix a memory leak in os.getrandom() when the getrandom() is interrupted by a
4473signal and a signal handler raises a Python exception.
4474
4475..
4476
4477.. bpo: 28200
4478.. date: 0125
4479.. nonce: 4IEbr7
4480.. section: Library
4481
4482Fix memory leak on Windows in the os module (fix path_converter() function).
4483
4484..
4485
4486.. bpo: 25400
4487.. date: 0124
4488.. nonce: d9Qn0E
4489.. section: Library
4490
4491RobotFileParser now correctly returns default values for crawl_delay and
4492request_rate.  Initial patch by Peter Wirtz.
4493
4494..
4495
4496.. bpo: 27932
4497.. date: 0123
4498.. nonce: mtgl-6
4499.. section: Library
4500
4501Prevent memory leak in win32_ver().
4502
4503..
4504
4505.. bpo: 0
4506.. date: 0122
4507.. nonce: iPpjqX
4508.. section: Library
4509
4510Fix UnboundLocalError in socket._sendfile_use_sendfile.
4511
4512..
4513
4514.. bpo: 28075
4515.. date: 0121
4516.. nonce: aLiUs9
4517.. section: Library
4518
4519Check for ERROR_ACCESS_DENIED in Windows implementation of os.stat().  Patch
4520by Eryk Sun.
4521
4522..
4523
4524.. bpo: 22493
4525.. date: 0120
4526.. nonce: Mv_hZf
4527.. section: Library
4528
4529Warning message emitted by using inline flags in the middle of regular
4530expression now contains a (truncated) regex pattern. Patch by Tim Graham.
4531
4532..
4533
4534.. bpo: 25270
4535.. date: 0119
4536.. nonce: jrZruM
4537.. section: Library
4538
4539Prevent codecs.escape_encode() from raising SystemError when an empty
4540bytestring is passed.
4541
4542..
4543
4544.. bpo: 28181
4545.. date: 0118
4546.. nonce: NGc4Yv
4547.. section: Library
4548
4549Get antigravity over HTTPS. Patch by Kaartic Sivaraam.
4550
4551..
4552
4553.. bpo: 25895
4554.. date: 0117
4555.. nonce: j92qoQ
4556.. section: Library
4557
4558Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by Gergely Imreh
4559and Markus Holtermann.
4560
4561..
4562
4563.. bpo: 28114
4564.. date: 0116
4565.. nonce: gmFXsA
4566.. section: Library
4567
4568Fix a crash in parse_envlist() when env contains byte strings. Patch by Eryk
4569Sun.
4570
4571..
4572
4573.. bpo: 27599
4574.. date: 0115
4575.. nonce: itvm8T
4576.. section: Library
4577
4578Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp().
4579
4580..
4581
4582.. bpo: 27906
4583.. date: 0114
4584.. nonce: TBBXrv
4585.. section: Library
4586
4587Fix socket accept exhaustion during high TCP traffic. Patch by Kevin Conway.
4588
4589..
4590
4591.. bpo: 28174
4592.. date: 0113
4593.. nonce: CV1UdI
4594.. section: Library
4595
4596Handle when SO_REUSEPORT isn't properly supported. Patch by Seth Michael
4597Larson.
4598
4599..
4600
4601.. bpo: 26654
4602.. date: 0112
4603.. nonce: XtzTE9
4604.. section: Library
4605
4606Inspect functools.partial in asyncio.Handle.__repr__. Patch by iceboy.
4607
4608..
4609
4610.. bpo: 26909
4611.. date: 0111
4612.. nonce: ASiakT
4613.. section: Library
4614
4615Fix slow pipes IO in asyncio. Patch by INADA Naoki.
4616
4617..
4618
4619.. bpo: 28176
4620.. date: 0110
4621.. nonce: sU8R6L
4622.. section: Library
4623
4624Fix callbacks race in asyncio.SelectorLoop.sock_connect.
4625
4626..
4627
4628.. bpo: 27759
4629.. date: 0109
4630.. nonce: qpMDGq
4631.. section: Library
4632
4633Fix selectors incorrectly retain invalid file descriptors. Patch by Mark
4634Williams.
4635
4636..
4637
4638.. bpo: 28325
4639.. date: 0108
4640.. nonce: wAHmnK
4641.. section: Library
4642
4643Remove vestigial MacOS 9 macurl2path module and its tests.
4644
4645..
4646
4647.. bpo: 28368
4648.. date: 0107
4649.. nonce: n594X4
4650.. section: Library
4651
4652Refuse monitoring processes if the child watcher has no loop attached. Patch
4653by Vincent Michel.
4654
4655..
4656
4657.. bpo: 28369
4658.. date: 0106
4659.. nonce: 8DTANe
4660.. section: Library
4661
4662Raise RuntimeError when transport's FD is used with add_reader, add_writer,
4663etc.
4664
4665..
4666
4667.. bpo: 28370
4668.. date: 0105
4669.. nonce: 18jBuZ
4670.. section: Library
4671
4672Speedup asyncio.StreamReader.readexactly. Patch by Коренберг Марк.
4673
4674..
4675
4676.. bpo: 28371
4677.. date: 0104
4678.. nonce: U9Zqdk
4679.. section: Library
4680
4681Deprecate passing asyncio.Handles to run_in_executor.
4682
4683..
4684
4685.. bpo: 28372
4686.. date: 0103
4687.. nonce: njcIPk
4688.. section: Library
4689
4690Fix asyncio to support formatting of non-python coroutines.
4691
4692..
4693
4694.. bpo: 28399
4695.. date: 0102
4696.. nonce: QKIqRX
4697.. section: Library
4698
4699Remove UNIX socket from FS before binding. Patch by Коренберг Марк.
4700
4701..
4702
4703.. bpo: 27972
4704.. date: 0101
4705.. nonce: ZK-GFm
4706.. section: Library
4707
4708Prohibit Tasks to await on themselves.
4709
4710..
4711
4712.. bpo: 24142
4713.. date: 0100
4714.. nonce: IrZnFs
4715.. section: Library
4716
4717Reading a corrupt config file left configparser in an invalid state.
4718Original patch by Florian Höch.
4719
4720..
4721
4722.. bpo: 29581
4723.. date: 0099
4724.. nonce: gHCrxP
4725.. section: Library
4726
4727ABCMeta.__new__ now accepts ``**kwargs``, allowing abstract base classes to
4728use keyword parameters in __init_subclass__. Patch by Nate Soares.
4729
4730..
4731
4732.. bpo: 25532
4733.. date: 0098
4734.. nonce: ey4Yez
4735.. section: Library
4736
4737inspect.unwrap() will now only try to unwrap an object
4738sys.getrecursionlimit() times, to protect against objects which create a new
4739object on every attribute access.
4740
4741..
4742
4743.. bpo: 30177
4744.. date: 0097
4745.. nonce: JGIJNL
4746.. section: Library
4747
4748path.resolve(strict=False) no longer cuts the path after the first element
4749not present in the filesystem.  Patch by Antoine Pietri.
4750
4751..
4752
4753.. bpo: 31294
4754.. date: 2017-09-07-20-49-09
4755.. nonce: WgI18w
4756.. section: Documentation
4757
4758Fix incomplete code snippet in the ZeroMQSocketListener and
4759ZeroMQSocketHandler examples and adapt them to Python 3.
4760
4761..
4762
4763.. bpo: 21649
4764.. date: 2017-09-06-10-11-57
4765.. nonce: EUvqA9
4766.. section: Documentation
4767
4768Add RFC 7525 and Mozilla server side TLS links to SSL documentation.
4769
4770..
4771
4772.. bpo: 31128
4773.. date: 2017-08-31
4774.. nonce: uoa3cr
4775.. section: Documentation
4776
4777Allow the pydoc server to bind to arbitrary hostnames.
4778
4779..
4780
4781.. bpo: 30803
4782.. date: 2017-07-29-14-55-50
4783.. nonce: 6hutqQ
4784.. section: Documentation
4785
4786Clarify doc on truth value testing. Original patch by Peter Thomassen.
4787
4788..
4789
4790.. bpo: 30176
4791.. date: 0060
4792.. nonce: VivmCg
4793.. section: Documentation
4794
4795Add missing attribute related constants in curses documentation.
4796
4797..
4798
4799.. bpo: 30052
4800.. date: 0059
4801.. nonce: TpmpaF
4802.. section: Documentation
4803
4804the link targets for :func:`bytes` and :func:`bytearray` are now their
4805respective type definitions, rather than the corresponding builtin function
4806entries. Use :ref:`bytes <func-bytes>` and :ref:`bytearray <func-bytearray>`
4807to reference the latter.
4808
4809In order to ensure this and future cross-reference updates are applied
4810automatically, the daily documentation builds now disable the default output
4811caching features in Sphinx.
4812
4813..
4814
4815.. bpo: 26985
4816.. date: 0058
4817.. nonce: NB5_9S
4818.. section: Documentation
4819
4820Add missing info of code object in inspect documentation.
4821
4822..
4823
4824.. bpo: 19824
4825.. date: 0057
4826.. nonce: We9an6
4827.. section: Documentation
4828
4829Improve the documentation for, and links to, template strings by emphasizing
4830their utility for internationalization, and by clarifying some usage
4831constraints. (See also: bpo-20314, bpo-12518)
4832
4833..
4834
4835.. bpo: 28929
4836.. date: 0056
4837.. nonce: Md7kb0
4838.. section: Documentation
4839
4840Link the documentation to its source file on GitHub.
4841
4842..
4843
4844.. bpo: 25008
4845.. date: 0055
4846.. nonce: CeIzyU
4847.. section: Documentation
4848
4849Document smtpd.py as effectively deprecated and add a pointer to aiosmtpd, a
4850third-party asyncio-based replacement.
4851
4852..
4853
4854.. bpo: 26355
4855.. date: 0054
4856.. nonce: SDq_8Y
4857.. section: Documentation
4858
4859Add canonical header link on each page to corresponding major version of the
4860documentation. Patch by Matthias Bussonnier.
4861
4862..
4863
4864.. bpo: 29349
4865.. date: 0053
4866.. nonce: PjSo-t
4867.. section: Documentation
4868
4869Fix Python 2 syntax in code for building the documentation.
4870
4871..
4872
4873.. bpo: 23722
4874.. date: 0052
4875.. nonce: nFjY3C
4876.. section: Documentation
4877
4878The data model reference and the porting section in the 3.6 What's New guide
4879now cover the additional ``__classcell__`` handling needed for custom
4880metaclasses to fully support PEP 487 and zero-argument ``super()``.
4881
4882..
4883
4884.. bpo: 28513
4885.. date: 0051
4886.. nonce: L3joAz
4887.. section: Documentation
4888
4889Documented command-line interface of zipfile.
4890
4891..
4892
4893.. bpo: 29639
4894.. date: 2017-09-08-15-59-07
4895.. nonce: yIZecp
4896.. section: Tests
4897
4898test.support.HOST is now "localhost", a new HOSTv4 constant has been added
4899for your ``127.0.0.1`` needs, similar to the existing HOSTv6 constant.
4900
4901..
4902
4903.. bpo: 31320
4904.. date: 2017-09-05-14-23-35
4905.. nonce: JRDHx7
4906.. section: Tests
4907
4908Silence traceback in test_ssl
4909
4910..
4911
4912.. bpo: 31346
4913.. date: 2017-09-04-16-21-18
4914.. nonce: xni1VR
4915.. section: Tests
4916
4917Prefer PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER protocols for SSLContext.
4918
4919..
4920
4921.. bpo: 25674
4922.. date: 2017-09-04-13-03-55
4923.. nonce: whVTXh
4924.. section: Tests
4925
4926Remove sha256.tbs-internet.com ssl test
4927
4928..
4929
4930.. bpo: 30715
4931.. date: 2017-07-25-15-27-44
4932.. nonce: Sp7bTF
4933.. section: Tests
4934
4935Address ALPN callback changes for OpenSSL 1.1.0f. The latest version behaves
4936like OpenSSL 1.0.2 and no longer aborts handshake.
4937
4938..
4939
4940.. bpo: 30822
4941.. date: 2017-07-20-14-29-54
4942.. nonce: X0wREo
4943.. section: Tests
4944
4945regrtest: Exclude tzdata from regrtest --all. When running the test suite
4946using --use=all / -u all, exclude tzdata since it makes test_datetime too
4947slow (15-20 min on some buildbots) which then times out on some buildbots.
4948Fix also regrtest command line parser to allow passing -u extralargefile to
4949run test_zipfile64.
4950
4951..
4952
4953.. bpo: 30695
4954.. date: 2017-06-30-11-20-20
4955.. nonce: lo7FQX
4956.. section: Tests
4957
4958Add the `set_nomemory(start, stop)` and `remove_mem_hooks()` functions to
4959the _testcapi module.
4960
4961..
4962
4963.. bpo: 30357
4964.. date: 0012
4965.. nonce: n4CPEa
4966.. section: Tests
4967
4968test_thread: setUp() now uses support.threading_setup() and
4969support.threading_cleanup() to wait until threads complete to avoid random
4970side effects on following tests. Initial patch written by Grzegorz Grzywacz.
4971
4972..
4973
4974.. bpo: 30197
4975.. date: 0011
4976.. nonce: c5wRfu
4977.. section: Tests
4978
4979Enhanced functions swap_attr() and swap_item() in the test.support module.
4980They now work when delete replaced attribute or item inside the with
4981statement.  The old value of the attribute or item (or None if it doesn't
4982exist) now will be assigned to the target of the "as" clause, if there is
4983one.
4984
4985..
4986
4987.. bpo: 24932
4988.. date: 0010
4989.. nonce: XLTzvR
4990.. section: Tests
4991
4992Use proper command line parsing in _testembed
4993
4994..
4995
4996.. bpo: 28950
4997.. date: 0009
4998.. nonce: 1W8Glo
4999.. section: Tests
5000
5001Disallow -j0 to be combined with -T/-l in regrtest command line arguments.
5002
5003..
5004
5005.. bpo: 28683
5006.. date: 0008
5007.. nonce: Fp-Hdq
5008.. section: Tests
5009
5010Fix the tests that bind() a unix socket and raise PermissionError on Android
5011for a non-root user.
5012
5013..
5014
5015.. bpo: 26936
5016.. date: 0007
5017.. nonce: XSZSVS
5018.. section: Tests
5019
5020Fix the test_socket failures on Android - getservbyname(),  getservbyport()
5021and getaddrinfo() are broken on some Android API levels.
5022
5023..
5024
5025.. bpo: 28666
5026.. date: 0006
5027.. nonce: RtTk-4
5028.. section: Tests
5029
5030Now test.support.rmtree is able to remove unwritable or unreadable
5031directories.
5032
5033..
5034
5035.. bpo: 23839
5036.. date: 0005
5037.. nonce: zsT_L9
5038.. section: Tests
5039
5040Various caches now are cleared before running every test file.
5041
5042..
5043
5044.. bpo: 26944
5045.. date: 0004
5046.. nonce: ChZ_BO
5047.. section: Tests
5048
5049Fix test_posix for Android where 'id -G' is entirely wrong or missing the
5050effective gid.
5051
5052..
5053
5054.. bpo: 28409
5055.. date: 0003
5056.. nonce: Q2IlxJ
5057.. section: Tests
5058
5059regrtest: fix the parser of command line arguments.
5060
5061..
5062
5063.. bpo: 28217
5064.. date: 0002
5065.. nonce: Y37OKV
5066.. section: Tests
5067
5068Adds _testconsole module to test console input.
5069
5070..
5071
5072.. bpo: 26939
5073.. date: 0001
5074.. nonce: 7j_W5R
5075.. section: Tests
5076
5077Add the support.setswitchinterval() function to fix test_functools hanging
5078on the Android armv7 qemu emulator.
5079
5080..
5081
5082.. bpo: 31354
5083.. date: 2017-09-08-11-48-11
5084.. nonce: 4f-VJK
5085.. section: Build
5086
5087Allow --with-lto to be used on all builds, not just `make profile-opt`.
5088
5089..
5090
5091.. bpo: 31370
5092.. date: 2017-09-06-23-14-08
5093.. nonce: -j4kN4
5094.. section: Build
5095
5096Remove support for building --without-threads.
5097
5098This option is not really useful anymore in the 21st century. Removing lots
5099of conditional paths allows us to simplify the code base, including in
5100difficult to maintain low-level internal code.
5101
5102..
5103
5104.. bpo: 31341
5105.. date: 2017-09-04-14-43-46
5106.. nonce: XLuZFk
5107.. section: Build
5108
5109Per PEP 11, support for the IRIX operating system was removed.
5110
5111..
5112
5113.. bpo: 30854
5114.. date: 2017-07-05-16-54-59
5115.. nonce: sPADRI
5116.. section: Build
5117
5118Fix compile error when compiling --without-threads. Patch by Masayuki
5119Yamamoto.
5120
5121..
5122
5123.. bpo: 30687
5124.. date: 0050
5125.. nonce: 8mqHnu
5126.. section: Build
5127
5128Locate msbuild.exe on Windows when building rather than vcvarsall.bat
5129
5130..
5131
5132.. bpo: 20210
5133.. date: 0049
5134.. nonce: MN_n-r
5135.. section: Build
5136
5137Support the *disabled* marker in Setup files. Extension modules listed after
5138this marker are not built at all, neither by the Makefile nor by setup.py.
5139
5140..
5141
5142.. bpo: 29941
5143.. date: 0048
5144.. nonce: ylh45A
5145.. section: Build
5146
5147Add ``--with-assertions`` configure flag to explicitly enable C ``assert()``
5148checks. Defaults to off. ``--with-pydebug`` implies ``--with-assertions``.
5149
5150..
5151
5152.. bpo: 28787
5153.. date: 0047
5154.. nonce: vhH_6a
5155.. section: Build
5156
5157Fix out-of-tree builds of Python when configured with ``--with--dtrace``.
5158
5159..
5160
5161.. bpo: 29243
5162.. date: 0046
5163.. nonce: WDK4hT
5164.. section: Build
5165
5166Prevent unnecessary rebuilding of Python during ``make test``, ``make
5167install`` and some other make targets when configured with
5168``--enable-optimizations``.
5169
5170..
5171
5172.. bpo: 23404
5173.. date: 0045
5174.. nonce: PdYVWg
5175.. section: Build
5176
5177Don't regenerate generated files based on file modification time anymore:
5178the action is now explicit. Replace ``make touch`` with ``make regen-all``.
5179
5180..
5181
5182.. bpo: 29643
5183.. date: 0044
5184.. nonce: 4WLIJQ
5185.. section: Build
5186
5187Fix ``--enable-optimization`` didn't work.
5188
5189..
5190
5191.. bpo: 27593
5192.. date: 0043
5193.. nonce: v87xEr
5194.. section: Build
5195
5196sys.version and the platform module python_build(), python_branch(), and
5197python_revision() functions now use git information rather than hg when
5198building from a repo.
5199
5200..
5201
5202.. bpo: 29572
5203.. date: 0042
5204.. nonce: iZ1XKK
5205.. section: Build
5206
5207Update Windows build and OS X installers to use OpenSSL 1.0.2k.
5208
5209..
5210
5211.. bpo: 27659
5212.. date: 0041
5213.. nonce: i8UzRC
5214.. section: Build
5215
5216Prohibit implicit C function declarations: use
5217``-Werror=implicit-function-declaration`` when possible (GCC and Clang,
5218but it depends on the compiler version). Patch written by Chi Hsuan Yen.
5219
5220..
5221
5222.. bpo: 29384
5223.. date: 0040
5224.. nonce: v3IqBE
5225.. section: Build
5226
5227Remove old Be OS helper scripts.
5228
5229..
5230
5231.. bpo: 26851
5232.. date: 0039
5233.. nonce: R5243g
5234.. section: Build
5235
5236Set Android compilation and link flags.
5237
5238..
5239
5240.. bpo: 28768
5241.. date: 0038
5242.. nonce: b9_a6E
5243.. section: Build
5244
5245Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto
5246
5247..
5248
5249.. bpo: 29080
5250.. date: 0037
5251.. nonce: b3qLQT
5252.. section: Build
5253
5254Removes hard dependency on hg.exe from PCBuild/build.bat
5255
5256..
5257
5258.. bpo: 23903
5259.. date: 0036
5260.. nonce: JXJ889
5261.. section: Build
5262
5263Added missed names to PC/python3.def.
5264
5265..
5266
5267.. bpo: 28762
5268.. date: 0035
5269.. nonce: Ru0YN_
5270.. section: Build
5271
5272lockf() is available on Android API level 24, but the F_LOCK macro is not
5273defined in android-ndk-r13.
5274
5275..
5276
5277.. bpo: 28538
5278.. date: 0034
5279.. nonce: FqtN7v
5280.. section: Build
5281
5282Fix the compilation error that occurs because if_nameindex() is available on
5283Android API level 24, but the if_nameindex structure is not defined.
5284
5285..
5286
5287.. bpo: 20211
5288.. date: 0033
5289.. nonce: gpNptI
5290.. section: Build
5291
5292Do not add the directory for installing C header files and the directory for
5293installing object code libraries to the cross compilation search paths.
5294Original patch by Thomas Petazzoni.
5295
5296..
5297
5298.. bpo: 28849
5299.. date: 0032
5300.. nonce: AzRRF5
5301.. section: Build
5302
5303Do not define sys.implementation._multiarch on Android.
5304
5305..
5306
5307.. bpo: 10656
5308.. date: 0031
5309.. nonce: pR8FFU
5310.. section: Build
5311
5312Fix out-of-tree building on AIX.  Patch by Tristan Carel and Michael
5313Haubenwallner.
5314
5315..
5316
5317.. bpo: 26359
5318.. date: 0030
5319.. nonce: CLz6qy
5320.. section: Build
5321
5322Rename --with-optimiations to --enable-optimizations.
5323
5324..
5325
5326.. bpo: 28444
5327.. date: 0029
5328.. nonce: zkc9nT
5329.. section: Build
5330
5331Fix missing extensions modules when cross compiling.
5332
5333..
5334
5335.. bpo: 28208
5336.. date: 0028
5337.. nonce: DtoP1i
5338.. section: Build
5339
5340Update Windows build and OS X installers to use SQLite 3.14.2.
5341
5342..
5343
5344.. bpo: 28248
5345.. date: 0027
5346.. nonce: KY_-en
5347.. section: Build
5348
5349Update Windows build and OS X installers to use OpenSSL 1.0.2j.
5350
5351..
5352
5353.. bpo: 21124
5354.. date: 0026
5355.. nonce: 1bbArU
5356.. section: Build
5357
5358Fix building the _struct module on Cygwin by passing ``NULL`` instead of
5359``&PyType_Type`` to PyVarObject_HEAD_INIT.  Patch by Masayuki Yamamoto.
5360
5361..
5362
5363.. bpo: 13756
5364.. date: 0025
5365.. nonce: sslhpC
5366.. section: Build
5367
5368Fix building extensions modules on Cygwin.  Patch by Roumen Petrov, based on
5369original patch by Jason Tishler.
5370
5371..
5372
5373.. bpo: 21085
5374.. date: 0024
5375.. nonce: 2VvyUF
5376.. section: Build
5377
5378Add configure check for siginfo_t.si_band, which Cygwin does not provide.
5379Patch by Masayuki Yamamoto with review and rebase by Erik Bray.
5380
5381..
5382
5383.. bpo: 28258
5384.. date: 0023
5385.. nonce: iKtAHd
5386.. section: Build
5387
5388Fixed build with Estonian locale (python-config and distclean targets in
5389Makefile).  Patch by Arfrever Frehtes Taifersar Arahesis.
5390
5391..
5392
5393.. bpo: 26661
5394.. date: 0022
5395.. nonce: Z_HNbs
5396.. section: Build
5397
5398setup.py now detects system libffi with multiarch wrapper.
5399
5400..
5401
5402.. bpo: 27979
5403.. date: 0021
5404.. nonce: fR0KgM
5405.. section: Build
5406
5407A full copy of libffi is no longer bundled for use when building _ctypes on
5408non-OSX UNIX platforms.  An installed copy of libffi is now required when
5409building _ctypes on such platforms.
5410
5411..
5412
5413.. bpo: 15819
5414.. date: 0020
5415.. nonce: QVDr3E
5416.. section: Build
5417
5418Remove redundant include search directory option for building outside the
5419source tree.
5420
5421..
5422
5423.. bpo: 28676
5424.. date: 0019
5425.. nonce: Wxf6Ds
5426.. section: Build
5427
5428Prevent missing 'getentropy' declaration warning on macOS. Patch by Gareth
5429Rees.
5430
5431..
5432
5433.. bpo: 31392
5434.. date: 2017-09-07-20-09-04
5435.. nonce: h92bWF
5436.. section: Windows
5437
5438Update Windows build to use OpenSSL 1.1.0f
5439
5440..
5441
5442.. bpo: 30389
5443.. date: 2017-09-06-17-14-54
5444.. nonce: 9Dizrx
5445.. section: Windows
5446
5447Adds detection of Visual Studio 2017 to distutils on Windows.
5448
5449..
5450
5451.. bpo: 31358
5452.. date: 2017-09-05-19-46-52
5453.. nonce: n1Fjxc
5454.. section: Windows
5455
5456zlib is no longer bundled in the CPython source, instead it is downloaded on
5457demand just like bz2, lzma, OpenSSL, Tcl/Tk, and SQLite.
5458
5459..
5460
5461.. bpo: 31340
5462.. date: 2017-09-04-13-19-05
5463.. nonce: MbkzLi
5464.. section: Windows
5465
5466Change to building with MSVC v141 (included with Visual Studio 2017)
5467
5468..
5469
5470.. bpo: 30581
5471.. date: 2017-08-04-10-05-19
5472.. nonce: OQhR7l
5473.. section: Windows
5474
5475os.cpu_count() now returns the correct number of processors on Windows when
5476the number of logical processors is greater than 64.
5477
5478..
5479
5480.. bpo: 30916
5481.. date: 2017-07-15-00-40-12
5482.. nonce: BpCrro
5483.. section: Windows
5484
5485Pre-build OpenSSL, Tcl and Tk and include the binaries in the build.
5486
5487..
5488
5489.. bpo: 30731
5490.. date: 2017-07-13-11-22-53
5491.. nonce: nmMDwI
5492.. section: Windows
5493
5494Add a missing xmlns to python.manifest so that it matches the schema.
5495
5496..
5497
5498.. bpo: 30291
5499.. date: 2017-06-28-03-20-48
5500.. nonce: zBpOl6
5501.. section: Windows
5502
5503Allow requiring 64-bit interpreters from py.exe using -64 suffix.
5504Contributed by Steve (Gadget) Barnes.
5505
5506..
5507
5508.. bpo: 30362
5509.. date: 2017-06-28-03-08-22
5510.. nonce: XxeVMB
5511.. section: Windows
5512
5513Adds list options (-0, -0p) to py.exe launcher. Contributed by Steve Barnes.
5514
5515..
5516
5517.. bpo: 23451
5518.. date: 2017-06-27-07-04-06
5519.. nonce: bl_QOB
5520.. section: Windows
5521
5522Fix socket deprecation warnings in socketmodule.c. Patch by Segev Finer.
5523
5524..
5525
5526.. bpo: 30450
5527.. date: 0088
5528.. nonce: qsaK8y
5529.. section: Windows
5530
5531The build process on Windows no longer depends on Subversion, instead
5532pulling external code from GitHub via a Python script.  If Python 3.6 is not
5533found on the system (via ``py -3.6``), NuGet is used to download a copy of
553432-bit Python.
5535
5536..
5537
5538.. bpo: 29579
5539.. date: 0087
5540.. nonce: 07B-FQ
5541.. section: Windows
5542
5543Removes readme.txt from the installer.
5544
5545..
5546
5547.. bpo: 25778
5548.. date: 0086
5549.. nonce: 8uKJ82
5550.. section: Windows
5551
5552winreg does not truncate string correctly (Patch by Eryk Sun)
5553
5554..
5555
5556.. bpo: 28896
5557.. date: 0085
5558.. nonce: qOcBBL
5559.. section: Windows
5560
5561Deprecate WindowsRegistryFinder and disable it by default
5562
5563..
5564
5565.. bpo: 28522
5566.. date: 0084
5567.. nonce: XHMQa7
5568.. section: Windows
5569
5570Fixes mishandled buffer reallocation in getpathp.c
5571
5572..
5573
5574.. bpo: 28402
5575.. date: 0083
5576.. nonce: v9zETJ
5577.. section: Windows
5578
5579Adds signed catalog files for stdlib on Windows.
5580
5581..
5582
5583.. bpo: 28333
5584.. date: 0082
5585.. nonce: KnpeO4
5586.. section: Windows
5587
5588Enables Unicode for ps1/ps2 and input() prompts. (Patch by Eryk Sun)
5589
5590..
5591
5592.. bpo: 28251
5593.. date: 0081
5594.. nonce: tR_AFs
5595.. section: Windows
5596
5597Improvements to help manuals on Windows.
5598
5599..
5600
5601.. bpo: 28110
5602.. date: 0080
5603.. nonce: cnkP5F
5604.. section: Windows
5605
5606launcher.msi has different product codes between 32-bit and 64-bit
5607
5608..
5609
5610.. bpo: 28161
5611.. date: 0079
5612.. nonce: hF91LI
5613.. section: Windows
5614
5615Opening CON for write access fails
5616
5617..
5618
5619.. bpo: 28162
5620.. date: 0078
5621.. nonce: 3FHPVD
5622.. section: Windows
5623
5624WindowsConsoleIO readall() fails if first line starts with Ctrl+Z
5625
5626..
5627
5628.. bpo: 28163
5629.. date: 0077
5630.. nonce: -DUgJw
5631.. section: Windows
5632
5633WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle
5634
5635..
5636
5637.. bpo: 28164
5638.. date: 0076
5639.. nonce: 5MfN0J
5640.. section: Windows
5641
5642_PyIO_get_console_type fails for various paths
5643
5644..
5645
5646.. bpo: 28137
5647.. date: 0075
5648.. nonce: C1uvzY
5649.. section: Windows
5650
5651Renames Windows path file to ._pth
5652
5653..
5654
5655.. bpo: 28138
5656.. date: 0074
5657.. nonce: pNdv64
5658.. section: Windows
5659
5660Windows ._pth file should allow import site
5661
5662..
5663
5664.. bpo: 31493
5665.. date: 2017-09-16-23-43-39
5666.. nonce: nmHMCR
5667.. section: IDLE
5668
5669IDLE code context -- fix code update and font update timers.
5670
5671Canceling timers prevents a warning message when test_idle completes.
5672
5673..
5674
5675.. bpo: 31488
5676.. date: 2017-09-16-01-21-20
5677.. nonce: 0rtXIT
5678.. section: IDLE
5679
5680IDLE - Update non-key options in former extension classes. When applying
5681configdialog changes, call .reload for each feature class. Change ParenMatch
5682so updated options affect existing instances attached to existing editor
5683windows.
5684
5685..
5686
5687.. bpo: 31477
5688.. date: 2017-09-15-12-38-47
5689.. nonce: n__6sa
5690.. section: IDLE
5691
5692IDLE - Improve rstrip entry in doc. Strip trailing whitespace strips more
5693than blank spaces.  Multiline string literals are not skipped.
5694
5695..
5696
5697.. bpo: 31480
5698.. date: 2017-09-14-17-53-53
5699.. nonce: 4WJ0pl
5700.. section: IDLE
5701
5702IDLE - make tests pass with zzdummy extension disabled by default.
5703
5704..
5705
5706.. bpo: 31421
5707.. date: 2017-09-12-08-38-27
5708.. nonce: mYfQNq
5709.. section: IDLE
5710
5711Document how IDLE runs tkinter programs. IDLE calls tcl/tk update in the
5712background in order to make live
5713
5714interaction and experimentation with tkinter applications much easier.
5715
5716..
5717
5718.. bpo: 31414
5719.. date: 2017-09-11-15-46-05
5720.. nonce: wiepgK
5721.. section: IDLE
5722
5723IDLE -- fix tk entry box tests by deleting first. Adding to an int entry is
5724not the same as deleting and inserting because int('') will fail.
5725
5726..
5727
5728.. bpo: 31051
5729.. date: 2017-08-30-00-06-58
5730.. nonce: 50Jp_Q
5731.. section: IDLE
5732
5733Rearrange IDLE configdialog GenPage into Window, Editor, and Help sections.
5734
5735..
5736
5737.. bpo: 30617
5738.. date: 2017-08-27-16-49-36
5739.. nonce: UHnswr
5740.. section: IDLE
5741
5742IDLE - Add docstrings and tests for outwin subclass of editor.
5743
5744Move some data and functions from the class to module level. Patch by Cheryl
5745Sabella.
5746
5747..
5748
5749.. bpo: 31287
5750.. date: 2017-08-27-15-31-33
5751.. nonce: aZERfI
5752.. section: IDLE
5753
5754IDLE - Do not modify tkinter.message in test_configdialog.
5755
5756..
5757
5758.. bpo: 27099
5759.. date: 2017-08-24-13-48-16
5760.. nonce: rENefC
5761.. section: IDLE
5762
5763Convert IDLE's built-in 'extensions' to regular features.
5764
5765About 10 IDLE features were implemented as supposedly optional extensions.
5766Their different behavior could be confusing or worse for users and not good
5767for maintenance.  Hence the conversion.
5768
5769The main difference for users is that user configurable key bindings for
5770builtin features are now handled uniformly.  Now, editing a binding in a
5771keyset only affects its value in the keyset.  All bindings are defined
5772together in the system-specific default keysets in config-extensions.def.
5773All custom keysets are saved as a whole in config-extension.cfg.  All take
5774effect as soon as one clicks Apply or Ok.
5775
5776The affected events are '<<force-open-completions>>', '<<expand-word>>',
5777'<<force-open-calltip>>', '<<flash-paren>>', '<<format-paragraph>>',
5778'<<run-module>>', '<<check-module>>', and '<<zoom-height>>'.  Any (global)
5779customizations made before 3.6.3 will not affect their keyset-specific
5780customization after 3.6.3. and vice versa.
5781
5782Initial patch by Charles Wohlganger.
5783
5784..
5785
5786.. bpo: 31206
5787.. date: 2017-08-18-14-13-42
5788.. nonce: F1-tKK
5789.. section: IDLE
5790
5791IDLE: Factor HighPage(Frame) class from ConfigDialog. Patch by Cheryl
5792Sabella.
5793
5794..
5795
5796.. bpo: 31001
5797.. date: 2017-08-17-15-00-20
5798.. nonce: KLxYHC
5799.. section: IDLE
5800
5801Add tests for configdialog highlight tab.  Patch by Cheryl Sabella.
5802
5803..
5804
5805.. bpo: 31205
5806.. date: 2017-08-15-12-58-23
5807.. nonce: iuziZ5
5808.. section: IDLE
5809
5810IDLE: Factor KeysPage(Frame) class from ConfigDialog.  The slightly modified
5811tests continue to pass.  Patch by Cheryl Sabella.
5812
5813..
5814
5815.. bpo: 31130
5816.. date: 2017-08-07-14-02-56
5817.. nonce: FbsC7f
5818.. section: IDLE
5819
5820IDLE -- stop leaks in test_configdialog. Initial patch by Victor Stinner.
5821
5822..
5823
5824.. bpo: 31002
5825.. date: 2017-08-03-17-54-02
5826.. nonce: kUSgTE
5827.. section: IDLE
5828
5829Add tests for configdialog keys tab. Patch by Cheryl Sabella.
5830
5831..
5832
5833.. bpo: 19903
5834.. date: 2017-08-03-14-08-42
5835.. nonce: sqE1FS
5836.. section: IDLE
5837
5838IDLE: Calltips use `inspect.signature` instead of `inspect.getfullargspec`.
5839This improves calltips for builtins converted to use Argument Clinic. Patch
5840by Louie Lu.
5841
5842..
5843
5844.. bpo: 31083
5845.. date: 2017-07-31-23-20-51
5846.. nonce: 991FXm
5847.. section: IDLE
5848
5849IDLE - Add an outline of a TabPage class in configdialog. Update existing
5850classes to match outline. Initial patch by Cheryl Sabella.
5851
5852..
5853
5854.. bpo: 31050
5855.. date: 2017-07-30-17-39-59
5856.. nonce: AXR3kP
5857.. section: IDLE
5858
5859Factor GenPage(Frame) class from ConfigDialog. The slightly modified tests
5860continue to pass. Patch by Cheryl Sabella.
5861
5862..
5863
5864.. bpo: 31004
5865.. date: 2017-07-30-01-00-58
5866.. nonce: m8cc1t
5867.. section: IDLE
5868
5869IDLE - Factor FontPage(Frame) class from ConfigDialog.
5870
5871Slightly modified tests continue to pass. Fix General tests. Patch mostly by
5872Cheryl Sabella.
5873
5874..
5875
5876.. bpo: 30781
5877.. date: 2017-07-28-18-59-06
5878.. nonce: ud5m18
5879.. section: IDLE
5880
5881IDLE - Use ttk widgets in ConfigDialog. Patches by Terry Jan Reedy and
5882Cheryl Sabella.
5883
5884..
5885
5886.. bpo: 31060
5887.. date: 2017-07-27-14-48-42
5888.. nonce: GdY_VY
5889.. section: IDLE
5890
5891IDLE - Finish rearranging methods of ConfigDialog Grouping methods
5892pertaining to each tab and the buttons will aid writing tests and improving
5893the tabs and will enable splitting the groups into classes.
5894
5895..
5896
5897.. bpo: 30853
5898.. date: 2017-07-27-10-01-14
5899.. nonce: enPvvc
5900.. section: IDLE
5901
5902IDLE -- Factor a VarTrace class out of ConfigDialog.
5903
5904Instance tracers manages pairs consisting of a tk variable and a callback
5905function.  When tracing is turned on, setting the variable calls the
5906function.  Test coverage for the new class is 100%.
5907
5908..
5909
5910.. bpo: 31003
5911.. date: 2017-07-25-01-28-35
5912.. nonce: bYINVH
5913.. section: IDLE
5914
5915IDLE: Add more tests for General tab.
5916
5917..
5918
5919.. bpo: 30993
5920.. date: 2017-07-22-18-08-41
5921.. nonce: 34vJkB
5922.. section: IDLE
5923
5924IDLE - Improve configdialog font page and tests.
5925
5926In configdialog: Document causal pathways in create_font_tab docstring.
5927Simplify some attribute names. Move set_samples calls to var_changed_font
5928(idea from Cheryl Sabella).  Move related functions to positions after the
5929create widgets function.
5930
5931In test_configdialog: Fix test_font_set so not order dependent.  Fix renamed
5932test_indent_scale so it tests the widget.  Adjust tests for movement of
5933set_samples call.  Add tests for load functions.  Put all font tests in one
5934class and tab indent tests in another.  Except for two lines, these tests
5935completely cover the related functions.
5936
5937..
5938
5939.. bpo: 30981
5940.. date: 2017-07-21-01-55-14
5941.. nonce: ZFvQPt
5942.. section: IDLE
5943
5944IDLE -- Add more configdialog font page tests.
5945
5946..
5947
5948.. bpo: 28523
5949.. date: 2017-07-21-00-54-52
5950.. nonce: OPcqYJ
5951.. section: IDLE
5952
5953IDLE: replace 'colour' with 'color' in configdialog.
5954
5955..
5956
5957.. bpo: 30917
5958.. date: 2017-07-17-23-35-57
5959.. nonce: hSiuuO
5960.. section: IDLE
5961
5962Add tests for idlelib.config.IdleConf. Increase coverage from 46% to 96%.
5963Patch by Louie Lu.
5964
5965..
5966
5967.. bpo: 30934
5968.. date: 2017-07-15-22-26-57
5969.. nonce: BanuSB
5970.. section: IDLE
5971
5972Document coverage details for idlelib tests.
5973
5974* Add section to idlelib/idle-test/README.txt.
5975
5976* Include check that branches are taken both ways.
5977
5978* Exclude IDLE-specific code that does not run during unit tests.
5979
5980..
5981
5982.. bpo: 30913
5983.. date: 2017-07-13-23-07-33
5984.. nonce: aezn_e
5985.. section: IDLE
5986
5987IDLE: Document ConfigDialog tk Vars, methods, and widgets in docstrings This
5988will facilitate improving the dialog and splitting up the class. Original
5989patch by Cheryl Sabella.
5990
5991..
5992
5993.. bpo: 30899
5994.. date: 2017-07-11-02-26-17
5995.. nonce: SQmVO8
5996.. section: IDLE
5997
5998IDLE: Add tests for ConfigParser subclasses in config. Patch by Louie Lu.
5999
6000..
6001
6002.. bpo: 30881
6003.. date: 2017-07-11-02-21-42
6004.. nonce: 4KAq_9
6005.. section: IDLE
6006
6007IDLE: Add docstrings to browser.py. Patch by Cheryl Sabella.
6008
6009..
6010
6011.. bpo: 30851
6012.. date: 2017-07-09-23-53-00
6013.. nonce: AHXBYa
6014.. section: IDLE
6015
6016IDLE: Remove unused variables in configdialog.  One is a duplicate, one is
6017set but cannot be altered by users. Patch by Cheryl Sabella.
6018
6019..
6020
6021.. bpo: 30870
6022.. date: 2017-07-08-17-57-04
6023.. nonce: IcR2pf
6024.. section: IDLE
6025
6026IDLE: In Settings dialog, select font with Up, Down keys as well as mouse.
6027Initial patch by Louie Lu.
6028
6029..
6030
6031.. bpo: 8231
6032.. date: 2017-07-07-21-10-55
6033.. nonce: yEge3L
6034.. section: IDLE
6035
6036IDLE: call config.IdleConf.GetUserCfgDir only once.
6037
6038..
6039
6040.. bpo: 30779
6041.. date: 2017-07-07-20-26-37
6042.. nonce: 8KXEXN
6043.. section: IDLE
6044
6045IDLE: Factor ConfigChanges class from configdialog, put in config; test. *
6046In config, put dump test code in a function; run it and unittest in   'if
6047__name__ == '__main__'. * Add class config.ConfigChanges based on
6048changes_class_v4.py on bpo issue. * Add class test_config.ChangesTest,
6049partly using configdialog_tests_v1.py. * Revise configdialog to use
6050ConfigChanges; see tracker msg297804. * Revise test_configdialog to match
6051configdialog changes. * Remove configdialog functions unused or moved to
6052ConfigChanges. Cheryl Sabella contributed parts of the patch.
6053
6054..
6055
6056.. bpo: 30777
6057.. date: 2017-07-04-22-45-46
6058.. nonce: uxzlMB
6059.. section: IDLE
6060
6061IDLE: configdialog - Add docstrings and fix comments. Patch by Cheryl
6062Sabella.
6063
6064..
6065
6066.. bpo: 30495
6067.. date: 2017-06-29-18-23-06
6068.. nonce: qIWgc4
6069.. section: IDLE
6070
6071IDLE: Improve textview with docstrings, PEP8 names, and more tests. Patch by
6072Cheryl Sabella.
6073
6074..
6075
6076.. bpo: 30723
6077.. date: 2017-06-27-19-05-40
6078.. nonce: rQh06y
6079.. section: IDLE
6080
6081IDLE: Make several improvements to parenmatch. Add 'parens' style to
6082highlight both opener and closer. Make 'default' style, which is not
6083default, a synonym for 'opener'. Make time-delay work the same with all
6084styles. Add help for config dialog extensions tab, including help for
6085parenmatch. Add new tests.  Original patch by Charles Wohlganger.
6086
6087..
6088
6089.. bpo: 30674
6090.. date: 2017-06-27-01-40-34
6091.. nonce: ppK_q8
6092.. section: IDLE
6093
6094IDLE: add docstrings to grep module. Patch by Cheryl Sabella
6095
6096..
6097
6098.. bpo: 21519
6099.. date: 2017-06-27-00-29-56
6100.. nonce: fTj9T0
6101.. section: IDLE
6102
6103IDLE's basic custom key entry dialog now detects duplicates properly.
6104Original patch by Saimadhav Heblikar.
6105
6106..
6107
6108.. bpo: 29910
6109.. date: 2017-06-26-22-45-27
6110.. nonce: mqHh7u
6111.. section: IDLE
6112
6113IDLE no longer deletes a character after commenting out a region by a key
6114shortcut.  Add ``return 'break'`` for this and other potential conflicts
6115between IDLE and default key bindings.
6116
6117..
6118
6119.. bpo: 30728
6120.. date: 2017-06-26-15-47-13
6121.. nonce: qH4TGL
6122.. section: IDLE
6123
6124Review and change idlelib.configdialog names. Lowercase method and attribute
6125names. Replace 'colour' with 'color', expand overly cryptic names, delete
6126unneeded underscores. Replace ``import *`` with specific imports. Patches by
6127Cheryl Sabella.
6128
6129..
6130
6131.. bpo: 6739
6132.. date: 2017-06-26-00-28-59
6133.. nonce: x5MfhB
6134.. section: IDLE
6135
6136IDLE: Verify user-entered key sequences by trying to bind them with tk. Add
6137tests for all 3 validation functions. Original patch by G Polo.  Tests added
6138by Cheryl Sabella.
6139
6140..
6141
6142.. bpo: 15786
6143.. date: 0096
6144.. nonce: _XRbaR
6145.. section: IDLE
6146
6147Fix several problems with IDLE's autocompletion box. The following should
6148now work: clicking on selection box items; using the scrollbar; selecting an
6149item by hitting Return. Hangs on MacOSX should no longer happen. Patch by
6150Louie Lu.
6151
6152..
6153
6154.. bpo: 25514
6155.. date: 0095
6156.. nonce: 882pXa
6157.. section: IDLE
6158
6159Add doc subsubsection about IDLE failure to start. Popup no-connection
6160message directs users to this section.
6161
6162..
6163
6164.. bpo: 30642
6165.. date: 0094
6166.. nonce: 3Zujzt
6167.. section: IDLE
6168
6169Fix reference leaks in IDLE tests. Patches by Louie Lu and Terry Jan Reedy.
6170
6171..
6172
6173.. bpo: 30495
6174.. date: 0093
6175.. nonce: I3i5vL
6176.. section: IDLE
6177
6178Add docstrings for textview.py and use PEP8 names. Patches by Cheryl Sabella
6179and Terry Jan Reedy.
6180
6181..
6182
6183.. bpo: 30290
6184.. date: 0092
6185.. nonce: fZ3kod
6186.. section: IDLE
6187
6188Help-about: use pep8 names and add tests. Increase coverage to 100%. Patches
6189by Louie Lu, Cheryl Sabella, and Terry Jan Reedy.
6190
6191..
6192
6193.. bpo: 30303
6194.. date: 0091
6195.. nonce: 2L2F-4
6196.. section: IDLE
6197
6198Add _utest option to textview; add new tests. Increase coverage to 100%.
6199Patches by Louie Lu and Terry Jan Reedy.
6200
6201..
6202
6203.. bpo: 29071
6204.. date: 0090
6205.. nonce: FCOpJn
6206.. section: IDLE
6207
6208IDLE colors f-string prefixes (but not invalid ur prefixes).
6209
6210..
6211
6212.. bpo: 28572
6213.. date: 0089
6214.. nonce: 1_duKY
6215.. section: IDLE
6216
6217Add 10% to coverage of IDLE's test_configdialog. Update and augment
6218description of the configuration system.
6219
6220..
6221
6222.. bpo: 30983
6223.. date: 2017-08-18-17-19-23
6224.. nonce: ggGz9z
6225.. section: Tools/Demos
6226
6227gdb integration commands (py-bt, etc.) work on optimized shared builds now,
6228too.  PEP 523 introduced _PyEval_EvalFrameDefault which inlines
6229PyEval_EvalFrameEx on non-debug shared builds.  This broke the ability to
6230use py-bt, py-up, and a few other Python-specific gdb integrations. The
6231problem is fixed by only looking for _PyEval_EvalFrameDefault frames in
6232python-gdb.py.  Original patch by Bruno "Polaco" Penteado.
6233
6234..
6235
6236.. bpo: 29748
6237.. date: 0018
6238.. nonce: 6pV6s9
6239.. section: Tools/Demos
6240
6241Added the slice index converter in Argument Clinic.
6242
6243..
6244
6245.. bpo: 24037
6246.. date: 0017
6247.. nonce: KPFC7o
6248.. section: Tools/Demos
6249
6250Argument Clinic now uses the converter `bool(accept={int})` rather than
6251`int` for semantical booleans.  This avoids repeating the default value for
6252Python and C and will help in converting to `bool` in future.
6253
6254..
6255
6256.. bpo: 29367
6257.. date: 0016
6258.. nonce: 4dOKL0
6259.. section: Tools/Demos
6260
6261python-gdb.py now supports also ``method-wrapper`` (``wrapperobject``)
6262objects.
6263
6264..
6265
6266.. bpo: 28023
6267.. date: 0015
6268.. nonce: 4gzSGp
6269.. section: Tools/Demos
6270
6271Fix python-gdb.py didn't support new dict implementation.
6272
6273..
6274
6275.. bpo: 15369
6276.. date: 0014
6277.. nonce: bdZ3n-
6278.. section: Tools/Demos
6279
6280The pybench and pystone microbenchmark have been removed from Tools. Please
6281use the new Python benchmark suite https://github.com/python/performance
6282which is more reliable and includes a portable version of pybench working on
6283Python 2 and Python 3.
6284
6285..
6286
6287.. bpo: 28102
6288.. date: 0013
6289.. nonce: 5fKaek
6290.. section: Tools/Demos
6291
6292The zipfile module CLI now prints usage to stderr. Patch by Stephen J.
6293Turnbull.
6294
6295..
6296
6297.. bpo: 31338
6298.. date: 2017-09-05-17-51-12
6299.. nonce: LjA43Y
6300.. section: C API
6301
6302Added the ``Py_UNREACHABLE()`` macro for code paths which are never expected
6303to be reached.  This and a few other useful macros are now documented in the
6304C API manual.
6305
6306..
6307
6308.. bpo: 30832
6309.. date: 2017-07-03-17-25-40
6310.. nonce: PcTAEP
6311.. section: C API
6312
6313Remove own implementation for thread-local storage.
6314
6315CPython has provided the own implementation for thread-local storage (TLS)
6316on Python/thread.c, it's used in the case which a platform has not supplied
6317native TLS.  However, currently all supported platforms (Windows and
6318pthreads) have provided native TLS and defined the Py_HAVE_NATIVE_TLS macro
6319with unconditional in any case.
6320
6321..
6322
6323.. bpo: 30708
6324.. date: 0073
6325.. nonce: np-l1j
6326.. section: C API
6327
6328PyUnicode_AsWideCharString() now raises a ValueError if the second argument
6329is NULL and the wchar_t\* string contains null characters.
6330
6331..
6332
6333.. bpo: 16500
6334.. date: 0072
6335.. nonce: lRpooa
6336.. section: C API
6337
6338Deprecate PyOS_AfterFork() and add PyOS_BeforeFork(),
6339PyOS_AfterFork_Parent() and PyOS_AfterFork_Child().
6340
6341..
6342
6343.. bpo: 6532
6344.. date: 0071
6345.. nonce: qcH6k1
6346.. section: C API
6347
6348The type of results of PyThread_start_new_thread() and
6349PyThread_get_thread_ident(), and the id parameter of
6350PyThreadState_SetAsyncExc() changed from "long" to "unsigned long".
6351
6352..
6353
6354.. bpo: 27867
6355.. date: 0070
6356.. nonce: J-8CGo
6357.. section: C API
6358
6359Function PySlice_GetIndicesEx() is deprecated and replaced with a macro if
6360Py_LIMITED_API is not set or set to the value between 0x03050400 and
63610x03060000 (not including) or 0x03060100 or higher.  Added functions
6362PySlice_Unpack() and PySlice_AdjustIndices().
6363
6364..
6365
6366.. bpo: 29083
6367.. date: 0069
6368.. nonce: tGTjr_
6369.. section: C API
6370
6371Fixed the declaration of some public API functions. PyArg_VaParse() and
6372PyArg_VaParseTupleAndKeywords() were not available in limited API.
6373PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue()
6374were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is
6375defined.
6376
6377..
6378
6379.. bpo: 28769
6380.. date: 0068
6381.. nonce: Ecmtn8
6382.. section: C API
6383
6384The result of PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8() is now of
6385type ``const char *`` rather of ``char *``.
6386
6387..
6388
6389.. bpo: 29058
6390.. date: 0067
6391.. nonce: 0wNVP8
6392.. section: C API
6393
6394All stable API extensions added after Python 3.2 are now available only when
6395Py_LIMITED_API is set to the PY_VERSION_HEX value of the minimum Python
6396version supporting this API.
6397
6398..
6399
6400.. bpo: 28822
6401.. date: 0066
6402.. nonce: gMqwvb
6403.. section: C API
6404
6405The index parameters *start* and *end* of PyUnicode_FindChar() are now
6406adjusted to behave like ``str[start:end]``.
6407
6408..
6409
6410.. bpo: 28808
6411.. date: 0065
6412.. nonce: A03X6r
6413.. section: C API
6414
6415PyUnicode_CompareWithASCIIString() now never raises exceptions.
6416
6417..
6418
6419.. bpo: 28761
6420.. date: 0064
6421.. nonce: iOgCoX
6422.. section: C API
6423
6424The fields name and doc of structures PyMemberDef, PyGetSetDef,
6425PyStructSequence_Field, PyStructSequence_Desc, and wrapperbase are now of
6426type ``const char *`` rather of ``char *``.
6427
6428..
6429
6430.. bpo: 28748
6431.. date: 0063
6432.. nonce: AMgb_G
6433.. section: C API
6434
6435Private variable _Py_PackageContext is now of type ``const char *`` rather
6436of ``char *``.
6437
6438..
6439
6440.. bpo: 19569
6441.. date: 0062
6442.. nonce: IPke0J
6443.. section: C API
6444
6445Compiler warnings are now emitted if use most of deprecated functions.
6446
6447..
6448
6449.. bpo: 28426
6450.. date: 0061
6451.. nonce: zPwvbI
6452.. section: C API
6453
6454Deprecated undocumented functions PyUnicode_AsEncodedObject(),
6455PyUnicode_AsDecodedObject(), PyUnicode_AsDecodedUnicode() and
6456PyUnicode_AsEncodedUnicode().
6457