1.. bpo: 32997
2.. date: 2018-03-05-10-14-42
3.. nonce: hp2s8n
4.. release date: 2018-04-14
5.. section: Security
6
7A regex in fpformat was vulnerable to catastrophic backtracking. This regex
8was a potential DOS vector (REDOS). Based on typical uses of fpformat the
9risk seems low. The regex has been refactored and is now safe. Patch by
10Jamie Davis.
11
12..
13
14.. bpo: 32981
15.. date: 2018-03-02-10-24-52
16.. nonce: O_qDyj
17.. section: Security
18
19Regexes in difflib and poplib were vulnerable to catastrophic backtracking.
20These regexes formed potential DOS vectors (REDOS). They have been
21refactored. This resolves CVE-2018-1060 and CVE-2018-1061. Patch by Jamie
22Davis.
23
24..
25
26.. bpo: 31339
27.. date: 2017-09-04-21-24-51
28.. nonce: YSczZN
29.. section: Security
30
31Rewrite time.asctime() and time.ctime(). Backport and adapt the _asctime()
32function from the master branch to not depend on the implementation of
33asctime() and ctime() from the external C library. This change fixes a bug
34when Python is run using the musl C library.
35
36..
37
38.. bpo: 30730
39.. date: 060
40.. nonce: rJsyTH
41.. original section: Library
42.. section: Security
43
44Prevent environment variables injection in subprocess on Windows.  Prevent
45passing other environment variables and command arguments.
46
47..
48
49.. bpo: 30694
50.. date: 059
51.. nonce: WkMWM_
52.. original section: Library
53.. section: Security
54
55Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security
56vulnerabilities including: CVE-2017-9233 (External entity infinite loop
57DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix
58regression bugs from 2.2.0's fix to CVE-2016-0718) and CVE-2012-0876
59(Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use
60os-specific entropy sources like getrandom) doesn't impact Python, since Python
61already gets entropy from the OS to set the expat secret using
62``XML_SetHashSalt()``.
63
64..
65
66.. bpo: 30500
67.. date: 058
68.. nonce: j5KrEp
69.. original section: Library
70.. section: Security
71
72Fix urllib.splithost() to correctly parse fragments. For example,
73``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the
74``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an
75authentification (``login@host``).
76
77..
78
79.. bpo: 29591
80.. date: 057
81.. nonce: ExKblw
82.. original section: Library
83.. section: Security
84
85Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and
86CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more
87information.
88
89..
90
91.. bpo: 33026
92.. date: 2018-03-08-09-48-38
93.. nonce: QZA3Ba
94.. section: Core and Builtins
95
96Fixed jumping out of "with" block by setting f_lineno.
97
98..
99
100.. bpo: 17288
101.. date: 2018-02-27-13-36-21
102.. nonce: Gdj24S
103.. section: Core and Builtins
104
105Prevent jumps from 'return' and 'exception' trace events.
106
107..
108
109.. bpo: 18533
110.. date: 2017-12-13-16-46-23
111.. nonce: Dlk8d7
112.. section: Core and Builtins
113
114``repr()`` on a dict containing its own ``viewvalues()`` or ``viewitems()``
115no longer raises ``RuntimeError``.  Instead, use ``...``, as for other
116recursive structures.  Patch by Ben North.
117
118..
119
120.. bpo: 10544
121.. date: 2017-11-27-08-37-34
122.. nonce: 07nioT
123.. section: Core and Builtins
124
125Yield expressions are now deprecated in comprehensions and generator
126expressions when checking Python 3 compatibility. They are still permitted
127in the definition of the outermost iterable, as that is evaluated directly
128in the enclosing scope.
129
130..
131
132.. bpo: 32137
133.. date: 2017-11-26-14-36-30
134.. nonce: Stj5nL
135.. section: Core and Builtins
136
137The repr of deeply nested dict now raises a RecursionError instead of
138crashing due to a stack overflow.
139
140..
141
142.. bpo: 20047
143.. date: 2017-10-28-19-11-05
144.. nonce: GuNAto
145.. section: Core and Builtins
146
147Bytearray methods partition() and rpartition() now accept only bytes-like
148objects as separator, as documented.  In particular they now raise TypeError
149rather of returning a bogus result when an integer is passed as a separator.
150
151..
152
153.. bpo: 31733
154.. date: 2017-10-09-15-46-37
155.. nonce: pIf17N
156.. section: Core and Builtins
157
158Add a new PYTHONSHOWREFCOUNT environment variable. In debug mode, Python now
159only print the total reference count if PYTHONSHOWREFCOUNT is set.
160
161..
162
163.. bpo: 31692
164.. date: 2017-10-09-11-03-13
165.. nonce: 5-bpdk
166.. section: Core and Builtins
167
168Add a new PYTHONSHOWALLOCCOUNT environment variable. When Python is compiled
169with COUNT_ALLOCS, PYTHONSHOWALLOCCOUNT now has to be set to dump allocation
170counts into stderr on shutdown. Moreover, allocations statistics are now
171dumped into stderr rather than stdout.
172
173..
174
175.. bpo: 31478
176.. date: 2017-10-01-18-59-40
177.. nonce: owtqoO
178.. section: Core and Builtins
179
180Prevent unwanted behavior in `_random.Random.seed()` in case the argument
181has a bad ``__abs__()`` method. Patch by Oren Milman.
182
183..
184
185.. bpo: 31530
186.. date: 2017-09-20-18-28-09
187.. nonce: CdLOM7
188.. section: Core and Builtins
189
190Fixed crashes when iterating over a file on multiple threads.
191
192..
193
194.. bpo: 31490
195.. date: 2017-09-16-13-32-35
196.. nonce: r7m2sj
197.. section: Core and Builtins
198
199Fix an assertion failure in `ctypes` class definition, in case the class has
200an attribute whose name is specified in ``_anonymous_`` but not in
201``_fields_``. Patch by Oren Milman.
202
203..
204
205.. bpo: 31411
206.. date: 2017-09-11-08-50-41
207.. nonce: HZz82I
208.. section: Core and Builtins
209
210Raise a TypeError instead of SystemError in case warnings.onceregistry is
211not a dictionary. Patch by Oren Milman.
212
213..
214
215.. bpo: 31343
216.. date: 2017-09-04-14-57-27
217.. nonce: Kl_fS5
218.. section: Core and Builtins
219
220Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C libray
221plans to remove the functions from sys/types.h.
222
223..
224
225.. bpo: 31311
226.. date: 2017-08-31-17-52-56
227.. nonce: bNE2l-
228.. section: Core and Builtins
229
230Fix a crash in the ``__setstate__()`` method of `ctypes._CData`, in case of
231a bad ``__dict__``. Patch by Oren Milman.
232
233..
234
235.. bpo: 31243
236.. date: 2017-08-29-14-24-34
237.. nonce: tr0E4V
238.. section: Core and Builtins
239
240Fix a crash in some methods of `io.TextIOWrapper`, when the decoder's state
241is invalid. Patch by Oren Milman.
242
243..
244
245.. bpo: 31095
246.. date: 2017-08-01-18-48-30
247.. nonce: bXWZDb
248.. section: Core and Builtins
249
250Fix potential crash during GC caused by ``tp_dealloc`` which doesn't call
251``PyObject_GC_UnTrack()``.
252
253..
254
255.. bpo: 30657
256.. date: 073
257.. nonce: Q_r7JJ
258.. section: Core and Builtins
259
260Fixed possible integer overflow in PyString_DecodeEscape. Patch by Jay
261Bosamiya.
262
263..
264
265.. bpo: 27945
266.. date: 072
267.. nonce: p29r3O
268.. section: Core and Builtins
269
270Fixed various segfaults with dict when input collections are mutated during
271searching, inserting or comparing.  Based on patches by Duane Griffin and
272Tim Mitchell.
273
274..
275
276.. bpo: 25794
277.. date: 071
278.. nonce: j0nJ5x
279.. section: Core and Builtins
280
281Fixed type.__setattr__() and type.__delattr__() for non-interned or unicode
282attribute names.  Based on patch by Eryk Sun.
283
284..
285
286.. bpo: 29935
287.. date: 070
288.. nonce: 2ZTSxR
289.. section: Core and Builtins
290
291Fixed error messages in the index() method of tuple and list when pass
292indices of wrong type.
293
294..
295
296.. bpo: 28598
297.. date: 069
298.. nonce: QxbzQn
299.. section: Core and Builtins
300
301Support __rmod__ for subclasses of str being called before str.__mod__.
302Patch by Martijn Pieters.
303
304..
305
306.. bpo: 29602
307.. date: 068
308.. nonce: qyyskC
309.. section: Core and Builtins
310
311Fix incorrect handling of signed zeros in complex constructor for complex
312subclasses and for inputs having a __complex__ method. Patch by Serhiy
313Storchaka.
314
315..
316
317.. bpo: 29347
318.. date: 067
319.. nonce: 1RPPGN
320.. section: Core and Builtins
321
322Fixed possibly dereferencing undefined pointers when creating weakref
323objects.
324
325..
326
327.. bpo: 14376
328.. date: 066
329.. nonce: xrKNqX
330.. section: Core and Builtins
331
332Allow sys.exit to accept longs as well as ints. Patch by Gareth Rees.
333
334..
335
336.. bpo: 29028
337.. date: 065
338.. nonce: BxGcd9
339.. section: Core and Builtins
340
341Fixed possible use-after-free bugs in the subscription of the buffer object
342with custom index object.
343
344..
345
346.. bpo: 29145
347.. date: 064
348.. nonce: 2x5NOb
349.. section: Core and Builtins
350
351Fix overflow checks in string, bytearray and unicode. Patch by jan matejek
352and Xiang Zhang.
353
354..
355
356.. bpo: 28932
357.. date: 063
358.. nonce: QnLx8A
359.. section: Core and Builtins
360
361Do not include <sys/random.h> if it does not exist.
362
363..
364
365.. bpo: 33096
366.. date: 2018-03-25-13-18-16
367.. nonce: ofdbe7
368.. section: Library
369
370Allow ttk.Treeview.insert to insert iid that has a false boolean value. Note
371iid=0 and iid=False would be same. Patch by Garvit Khatri.
372
373..
374
375.. bpo: 33127
376.. date: 2018-03-24-15-08-24
377.. nonce: olJmHv
378.. section: Library
379
380The ssl module now compiles with LibreSSL 2.7.1.
381
382..
383
384.. bpo: 30622
385.. date: 2018-02-24-21-40-42
386.. nonce: dQjxSe
387.. section: Library
388
389The ssl module now detects missing NPN support in LibreSSL.
390
391..
392
393.. bpo: 21060
394.. date: 2018-02-17-19-20-19
395.. nonce: S1Z-x6
396.. section: Library
397
398Rewrite confusing message from setup.py upload from "No dist file created in
399earlier command" to the more helpful "Must create and upload files in one
400command".
401
402..
403
404.. bpo: 30157
405.. date: 2018-02-09-14-44-43
406.. nonce: lEiiAK
407.. section: Library
408
409Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last
410field is quoted.  Patch by Jake Davis.
411
412..
413
414.. bpo: 32647
415.. date: 2018-02-05-13-31-42
416.. nonce: ktmfR_
417.. section: Library
418
419The ctypes module used to depend on indirect linking for dlopen. The shared
420extension is now explicitly linked against libdl on platforms with dl.
421
422..
423
424.. bpo: 32304
425.. date: 2018-01-21-16-33-53
426.. nonce: TItrNv
427.. section: Library
428
429distutils' upload command no longer corrupts tar files ending with a CR
430byte, and no longer tries to convert CR to CRLF in any of the upload text
431fields.
432
433..
434
435.. bpo: 31848
436.. date: 2018-01-18-23-34-17
437.. nonce: M2cldy
438.. section: Library
439
440Fix the error handling in Aifc_read.initfp() when the SSND chunk is not
441found. Patch by Zackery Spytz.
442
443..
444
445.. bpo: 32521
446.. date: 2018-01-15-12-53-13
447.. nonce: IxX4Ba
448.. section: Library
449
450The nis module is now compatible with new libnsl and headers location.
451
452..
453
454.. bpo: 32539
455.. date: 2018-01-12-09-20-22
456.. nonce: D7AbdE
457.. section: Library
458
459Fix ``OSError`` for ``os.listdir`` with deep paths (starting with ``\\?\``)
460on windows.  Patch by Anthony Sottile.
461
462..
463
464.. bpo: 32521
465.. date: 2018-01-08-18-02-33
466.. nonce: Kh-KoN
467.. section: Library
468
469glibc has removed Sun RPC. Use replacement libtirpc headers and library in
470nis module.
471
472..
473
474.. bpo: 18035
475.. date: 2017-12-29-15-16-56
476.. nonce: c6rdCt
477.. section: Library
478
479``telnetlib``: ``select.error`` doesn't have an ``errno`` attribute. Patch
480by Segev Finer.
481
482..
483
484.. bpo: 32185
485.. date: 2017-12-20-09-25-10
486.. nonce: IL0cMt
487.. section: Library
488
489The SSL module no longer sends IP addresses in SNI TLS extension on
490platforms with OpenSSL 1.0.2+ or inet_pton.
491
492..
493
494.. bpo: 32186
495.. date: 2017-11-30-20-33-22
496.. nonce: O42bVe
497.. section: Library
498
499Creating io.FileIO() and builtin file() objects now release the GIL when
500checking the file descriptor. io.FileIO.readall(), io.FileIO.read(), and
501file.read() now release the GIL when getting the file size.  Fixed hang of
502all threads with inaccessible NFS server.  Patch by Nir Soffer.
503
504..
505
506.. bpo: 32110
507.. date: 2017-11-22-09-44-15
508.. nonce: VJa9bo
509.. section: Library
510
511``codecs.StreamReader.read(n)`` now returns not more than *n*
512characters/bytes for non-negative *n*. This makes it compatible with
513``read()`` methods of other file-like objects.
514
515..
516
517.. bpo: 21149
518.. date: 2017-11-10-17-19-24
519.. nonce: 8UVfeT
520.. section: Library
521
522Silence a `'NoneType' object is not callable` in `_removeHandlerRef` error
523that could happen when a logging Handler is destroyed as part of cyclic
524garbage collection during process shutdown.
525
526..
527
528.. bpo: 31764
529.. date: 2017-11-08-11-02-01
530.. nonce: gtlhKj
531.. section: Library
532
533Prevent a crash in ``sqlite3.Cursor.close()`` in case the ``Cursor`` object
534is uninitialized. Patch by Oren Milman.
535
536..
537
538.. bpo: 31955
539.. date: 2017-11-07-19-12-25
540.. nonce: 1DWu-S
541.. section: Library
542
543Fix CCompiler.set_executable() of distutils to handle properly Unicode
544strings.
545
546..
547
548.. bpo: 9678
549.. date: 2017-11-03-22-05-47
550.. nonce: oD51q6
551.. section: Library
552
553Fixed determining the MAC address in the uuid module:
554
555* Using ifconfig on NetBSD and OpenBSD.
556* Using arp on Linux, FreeBSD, NetBSD and OpenBSD.
557
558Based on patch by Takayuki Shimizukawa.
559
560..
561
562.. bpo: 30057
563.. date: 2017-11-03-19-11-43
564.. nonce: NCaijI
565.. section: Library
566
567Fix potential missed signal in signal.signal().
568
569..
570
571.. bpo: 31927
572.. date: 2017-11-02-18-26-40
573.. nonce: 40K6kp
574.. section: Library
575
576Fixed reading arbitrary data when parse a AF_BLUETOOTH address on NetBSD and
577DragonFly BSD.
578
579..
580
581.. bpo: 27666
582.. date: 2017-11-01-18-13-42
583.. nonce: j2zRnF
584.. section: Library
585
586Fixed stack corruption in curses.box() and curses.ungetmouse() when the size
587of types chtype or mmask_t is less than the size of C long.  curses.box()
588now accepts characters as arguments.  Based on patch by Steve Fink.
589
590..
591
592.. bpo: 25720
593.. date: 2017-10-29-17-52-40
594.. nonce: vSvb5h
595.. section: Library
596
597Fix the method for checking pad state of curses WINDOW. Patch by Masayuki
598Yamamoto.
599
600..
601
602.. bpo: 31893
603.. date: 2017-10-29-13-51-01
604.. nonce: 8LZKEz
605.. section: Library
606
607Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed
608the comparison of the kqueue_event objects.
609
610..
611
612.. bpo: 31891
613.. date: 2017-10-29-11-23-24
614.. nonce: 9kAPha
615.. section: Library
616
617Fixed building the curses module on NetBSD.
618
619..
620
621.. bpo: 30058
622.. date: 2017-10-12-19-00-53
623.. nonce: cENtry
624.. section: Library
625
626Fixed buffer overflow in select.kqueue.control().
627
628..
629
630.. bpo: 31770
631.. date: 2017-10-12-18-45-38
632.. nonce: GV3MPx
633.. section: Library
634
635Prevent a crash when calling the ``__init__()`` method of a
636``sqlite3.Cursor`` object more than once. Patch by Oren Milman.
637
638..
639
640.. bpo: 31728
641.. date: 2017-10-11-13-05-19
642.. nonce: XrVMME
643.. section: Library
644
645Prevent crashes in `_elementtree` due to unsafe cleanup of `Element.text`
646and `Element.tail`. Patch by Oren Milman.
647
648..
649
650.. bpo: 31752
651.. date: 2017-10-11-00-45-01
652.. nonce: DhWevN
653.. section: Library
654
655Fix possible crash in timedelta constructor called with custom integers.
656
657..
658
659.. bpo: 31681
660.. date: 2017-10-03-15-41-08
661.. nonce: sOJMKV
662.. section: Library
663
664Fix pkgutil.get_data to avoid leaking open files.
665
666..
667
668.. bpo: 31675
669.. date: 2017-10-03-15-06-24
670.. nonce: Nh7jJ3
671.. section: Library
672
673Fixed memory leaks in Tkinter's methods splitlist() and split() when pass a
674string larger than 2 GiB.
675
676..
677
678.. bpo: 30806
679.. date: 2017-09-29
680.. nonce: lP5GrH
681.. section: Library
682
683Fix the string representation of a netrc object.
684
685..
686
687.. bpo: 30347
688.. date: 2017-09-25-14-04-30
689.. nonce: B4--_D
690.. section: Library
691
692Stop crashes when concurrently iterate over itertools.groupby() iterators.
693
694..
695
696.. bpo: 25732
697.. date: 2017-09-25-13-10-08
698.. nonce: RWWgzg
699.. section: Library
700
701`functools.total_ordering()` now implements the `__ne__` method.
702
703..
704
705.. bpo: 31351
706.. date: 2017-09-17-15-24-25
707.. nonce: yQdKv-
708.. section: Library
709
710python -m ensurepip now exits with non-zero exit code if pip bootstrapping
711has failed.
712
713..
714
715.. bpo: 31544
716.. date: 2017-09-13-19-55-35
717.. nonce: beTh6t
718.. section: Library
719
720The C accelerator module of ElementTree ignored exceptions raised when
721looking up TreeBuilder target methods in XMLParser().
722
723..
724
725.. bpo: 31455
726.. date: 2017-09-13-19-55-35
727.. nonce: beTh6t
728.. section: Library
729
730The C accelerator module of ElementTree ignored exceptions raised when
731looking up TreeBuilder target methods in XMLParser().
732
733..
734
735.. bpo: 25404
736.. date: 2017-09-08-11-04-10
737.. nonce: pXetCl
738.. section: Library
739
740SSLContext.load_dh_params() now supports non-ASCII path.
741
742..
743
744.. bpo: 28958
745.. date: 2017-09-06-19-41-01
746.. nonce: x4-K5F
747.. section: Library
748
749ssl.SSLContext() now uses OpenSSL error information when a context cannot be
750instantiated.
751
752..
753
754.. bpo: 27448
755.. date: 2017-09-05-10-55-50
756.. nonce: QdAqzZ
757.. section: Library
758
759Work around a `gc.disable()` race condition in the `subprocess` module that
760could leave garbage collection disabled when multiple threads are spawning
761subprocesses at once.  Users are *strongly encouraged* to use the
762`subprocess32` module from PyPI on Python 2.7 instead, it is much more
763reliable.
764
765..
766
767.. bpo: 31170
768.. date: 2017-09-04-23-41-35
769.. nonce: QGmJ1t
770.. section: Library
771
772expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of partial
773characters for UTF-8 input (libexpat bug 115):
774https://github.com/libexpat/libexpat/issues/115
775
776..
777
778.. bpo: 29136
779.. date: 2017-09-04-16-39-49
780.. nonce: vSn1oR
781.. section: Library
782
783Add TLS 1.3 cipher suites and OP_NO_TLSv1_3.
784
785..
786
787.. bpo: 31334
788.. date: 2017-09-04-00-22-31
789.. nonce: 9WYRfi
790.. section: Library
791
792Fix ``poll.poll([timeout])`` in the ``select`` module for arbitrary negative
793timeouts on all OSes where it can only be a non-negative integer or -1.
794Patch by Riccardo Coccioli.
795
796..
797
798.. bpo: 10746
799.. date: 2017-08-28-13-01-05
800.. nonce: nmAvfu
801.. section: Library
802
803Fix ctypes producing wrong PEP 3118 type codes for integer types.
804
805..
806
807.. bpo: 30102
808.. date: 2017-08-16-21-14-31
809.. nonce: 1sPqmc
810.. section: Library
811
812The ssl and hashlib modules now call OPENSSL_add_all_algorithms_noconf() on
813OpenSSL < 1.1.0. The function detects CPU features and enables optimizations
814on some CPU architectures such as POWER8. Patch is based on research from
815Gustavo Serra Scalet.
816
817..
818
819.. bpo: 30502
820.. date: 2017-07-27-11-33-58
821.. nonce: GJlfU8
822.. section: Library
823
824Fix handling of long oids in ssl.  Based on patch by Christian Heimes.
825
826..
827
828.. bpo: 25684
829.. date: 2017-07-17-11-35-00
830.. nonce: usELVx
831.. section: Library
832
833Change ``ttk.OptionMenu`` radiobuttons to be unique across instances of
834``OptionMenu``.
835
836..
837
838.. bpo: 29169
839.. date: 062
840.. nonce: 8ypApm
841.. section: Library
842
843Update zlib to 1.2.11.
844
845..
846
847.. bpo: 30746
848.. date: 061
849.. nonce: 7drQI0
850.. section: Library
851
852Prohibited the '=' character in environment variable names in
853``os.putenv()`` and ``os.spawn*()``.
854
855..
856
857.. bpo: 30418
858.. date: 055
859.. nonce: EwISQm
860.. section: Library
861
862On Windows, subprocess.Popen.communicate() now also ignore EINVAL on
863stdin.write() if the child process is still running but closed the pipe.
864
865..
866
867.. bpo: 30378
868.. date: 054
869.. nonce: R_19_5
870.. section: Library
871
872Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6
873addresses.
874
875..
876
877.. bpo: 29960
878.. date: 053
879.. nonce: g0wr3r
880.. section: Library
881
882Preserve generator state when _random.Random.setstate() raises an exception.
883Patch by Bryan Olson.
884
885..
886
887.. bpo: 30310
888.. date: 052
889.. nonce: SAkE6e
890.. section: Library
891
892tkFont now supports unicode options (e.g. font family).
893
894..
895
896.. bpo: 30414
897.. date: 051
898.. nonce: jGl1Lb
899.. section: Library
900
901multiprocessing.Queue._feed background running thread do not break from main
902loop on exception.
903
904..
905
906.. bpo: 30003
907.. date: 050
908.. nonce: BOl9HE
909.. section: Library
910
911Fix handling escape characters in HZ codec.  Based on patch by Ma Lin.
912
913..
914
915.. bpo: 30375
916.. date: 049
917.. nonce: 9c8qM7
918.. section: Library
919
920Warnings emitted when compile a regular expression now always point to the
921line in the user code.  Previously they could point into inners of the re
922module if emitted from inside of groups or conditionals.
923
924..
925
926.. bpo: 30363
927.. date: 048
928.. nonce: l6J41Y
929.. section: Library
930
931Running Python with the -3 option now warns about regular expression syntax
932that is invalid or has different semantic in Python 3 or will change the
933behavior in future Python versions.
934
935..
936
937.. bpo: 30365
938.. date: 047
939.. nonce: eDwdmC
940.. section: Library
941
942Running Python with the -3 option now emits deprecation warnings for
943getchildren() and getiterator() methods of the Element class in the
944xml.etree.cElementTree module and when pass the html argument to
945xml.etree.ElementTree.XMLParser().
946
947..
948
949.. bpo: 30365
950.. date: 046
951.. nonce: XVP7_M
952.. section: Library
953
954Fixed a deprecation warning about the doctype() method of the
955xml.etree.ElementTree.XMLParser class.  Now it is emitted only when define
956the doctype() method in the subclass of XMLParser.
957
958..
959
960.. bpo: 30329
961.. date: 045
962.. nonce: Yb1MTr
963.. section: Library
964
965imaplib now catchs the Windows socket WSAEINVAL error (code 10022) on
966shutdown(SHUT_RDWR): An invalid operation was attempted. This error occurs
967sometimes on SSL connections.
968
969..
970
971.. bpo: 30342
972.. date: 044
973.. nonce: 87Qgur
974.. section: Library
975
976Fix sysconfig.is_python_build() if Python is built with Visual Studio 2008
977(VS 9.0).
978
979..
980
981.. bpo: 29990
982.. date: 043
983.. nonce: HWV6KE
984.. section: Library
985
986Fix range checking in GB18030 decoder.  Original patch by Ma Lin.
987
988..
989
990.. bpo: 30243
991.. date: 042
992.. nonce: RHQt0v
993.. section: Library
994
995Removed the __init__ methods of _json's scanner and encoder. Misusing them
996could cause memory leaks or crashes.  Now scanner and encoder objects are
997completely initialized in the __new__ methods.
998
999..
1000
1001.. bpo: 26293
1002.. date: 041
1003.. nonce: wig0YG
1004.. section: Library
1005
1006Change resulted because of zipfile breakage. (See also: bpo-29094)
1007
1008..
1009
1010.. bpo: 30070
1011.. date: 040
1012.. nonce: XM_B41
1013.. section: Library
1014
1015Fixed leaks and crashes in errors handling in the parser module.
1016
1017..
1018
1019.. bpo: 30061
1020.. date: 039
1021.. nonce: ilxNPt
1022.. section: Library
1023
1024Fixed crashes in IOBase methods next() and readlines() when readline() or
1025next() respectively return non-sizeable object. Fixed possible other errors
1026caused by not checking results of PyObject_Size(), PySequence_Size(), or
1027PyMapping_Size().
1028
1029..
1030
1031.. bpo: 30011
1032.. date: 038
1033.. nonce: 2MLfQj
1034.. section: Library
1035
1036Fixed race condition in HTMLParser.unescape().
1037
1038..
1039
1040.. bpo: 30068
1041.. date: 037
1042.. nonce: n4q47r
1043.. section: Library
1044
1045_io._IOBase.readlines will check if it's closed first when hint is present.
1046
1047..
1048
1049.. bpo: 27863
1050.. date: 036
1051.. nonce: pPYHHI
1052.. section: Library
1053
1054Fixed multiple crashes in ElementTree caused by race conditions and wrong
1055types.
1056
1057..
1058
1059.. bpo: 29942
1060.. date: 035
1061.. nonce: CsGNuT
1062.. section: Library
1063
1064Fix a crash in itertools.chain.from_iterable when encountering long runs of
1065empty iterables.
1066
1067..
1068
1069.. bpo: 29861
1070.. date: 034
1071.. nonce: t2ZoRK
1072.. section: Library
1073
1074Release references to tasks, their arguments and their results as soon as
1075they are finished in multiprocessing.Pool.
1076
1077..
1078
1079.. bpo: 27880
1080.. date: 033
1081.. nonce: elFFAF
1082.. section: Library
1083
1084Fixed integer overflow in cPickle when pickle large strings or too many
1085objects.
1086
1087..
1088
1089.. bpo: 29110
1090.. date: 032
1091.. nonce: IBWuZ2
1092.. section: Library
1093
1094Fix file object leak in aifc.open() when file is given as a filesystem path
1095and is not in valid AIFF format. Original patch by Anthony Zhang.
1096
1097..
1098
1099.. bpo: 29354
1100.. date: 031
1101.. nonce: TH2vMX
1102.. section: Library
1103
1104Fixed inspect.getargs() for parameters which are cell variables.
1105
1106..
1107
1108.. bpo: 29335
1109.. date: 030
1110.. nonce: _KC7IK
1111.. section: Library
1112
1113Fix subprocess.Popen.wait() when the child process has exited to a stopped
1114instead of terminated state (ex: when under ptrace).
1115
1116..
1117
1118.. bpo: 29219
1119.. date: 029
1120.. nonce: kxui7t
1121.. section: Library
1122
1123Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances.
1124
1125..
1126
1127.. bpo: 29082
1128.. date: 028
1129.. nonce: D5Xs7F
1130.. section: Library
1131
1132Fixed loading libraries in ctypes by unicode names on Windows. Original
1133patch by Chi Hsuan Yen.
1134
1135..
1136
1137.. bpo: 29188
1138.. date: 027
1139.. nonce: RI3v1Q
1140.. section: Library
1141
1142Support glibc 2.24 on Linux: don't use getentropy() function but read from
1143/dev/urandom to get random bytes, for example in os.urandom(). On Linux,
1144getentropy() is implemented which getrandom() is blocking mode, whereas
1145os.urandom() should not block.
1146
1147..
1148
1149.. bpo: 29142
1150.. date: 026
1151.. nonce: _FTyvm
1152.. section: Library
1153
1154In urllib, suffixes in no_proxy environment variable with leading dots could
1155match related hostnames again (e.g. .b.c matches a.b.c). Patch by Milan
1156Oberkirch.
1157
1158..
1159
1160.. bpo: 13051
1161.. date: 025
1162.. nonce: YzC1Te
1163.. section: Library
1164
1165Fixed recursion errors in large or resized curses.textpad.Textbox.  Based on
1166patch by Tycho Andersen.
1167
1168..
1169
1170.. bpo: 9770
1171.. date: 024
1172.. nonce: WJJnwP
1173.. section: Library
1174
1175curses.ascii predicates now work correctly with negative integers.
1176
1177..
1178
1179.. bpo: 28427
1180.. date: 023
1181.. nonce: vUd-va
1182.. section: Library
1183
1184old keys should not remove new values from WeakValueDictionary when
1185collecting from another thread.
1186
1187..
1188
1189.. bpo: 28998
1190.. date: 022
1191.. nonce: NfBgmb
1192.. section: Library
1193
1194More APIs now support longs as well as ints.
1195
1196..
1197
1198.. bpo: 28923
1199.. date: 021
1200.. nonce: _hrXiL
1201.. section: Library
1202
1203Remove editor artifacts from Tix.py, including encoding not recognized by
1204codecs.lookup.
1205
1206..
1207
1208.. bpo: 29019
1209.. date: 020
1210.. nonce: MO2AeR
1211.. section: Library
1212
1213Fix dict.fromkeys(x) overallocates when x is sparce dict. Original patch by
1214Rasmus Villemoes.
1215
1216..
1217
1218.. bpo: 19542
1219.. date: 019
1220.. nonce: 5tCkaK
1221.. section: Library
1222
1223Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop()
1224when a GC collection happens in another thread.
1225
1226..
1227
1228.. bpo: 28925
1229.. date: 018
1230.. nonce: 9zLygi
1231.. section: Library
1232
1233cPickle now correctly propagates errors when unpickle instances of old-style
1234classes.
1235
1236..
1237
1238.. bpo: 27212
1239.. date: 2018-03-22-19-23-04
1240.. nonce: wrE5KR
1241.. section: Documentation
1242
1243Modify documentation for the :func:`islice` recipe to consume initial values
1244up to the start index.
1245
1246..
1247
1248.. bpo: 32800
1249.. date: 2018-02-10-15-16-04
1250.. nonce: FyrqCk
1251.. section: Documentation
1252
1253Update link to w3c doc for xml default namespaces.
1254
1255..
1256
1257.. bpo: 17799
1258.. date: 2018-01-22-21-13-46
1259.. nonce: rdZ-Vk
1260.. section: Documentation
1261
1262Explain real behaviour of sys.settrace and sys.setprofile and their C-API
1263counterparts regarding which type of events are received in each function.
1264Patch by Pablo Galindo Salgado.
1265
1266..
1267
1268.. bpo: 8243
1269.. date: 2018-01-13-20-30-53
1270.. nonce: s98r28
1271.. section: Documentation
1272
1273Add a note about curses.addch and curses.addstr exception behavior when
1274writing outside a window, or pad.
1275
1276..
1277
1278.. bpo: 21649
1279.. date: 2017-09-06-10-11-57
1280.. nonce: EUvqA9
1281.. section: Documentation
1282
1283Add RFC 7525 and Mozilla server side TLS links to SSL documentation.
1284
1285..
1286
1287.. bpo: 30176
1288.. date: 017
1289.. nonce: VivmCg
1290.. section: Documentation
1291
1292Add missing attribute related constants in curses documentation.
1293
1294..
1295
1296.. bpo: 28929
1297.. date: 016
1298.. nonce: Md7kb0
1299.. section: Documentation
1300
1301Link the documentation to its source file on GitHub.
1302
1303..
1304
1305.. bpo: 26355
1306.. date: 015
1307.. nonce: SDq_8Y
1308.. section: Documentation
1309
1310Add canonical header link on each page to corresponding major version of the
1311documentation. Patch by Matthias Bussonnier.
1312
1313..
1314
1315.. bpo: 12067
1316.. date: 014
1317.. nonce: 8RbyOz
1318.. section: Documentation
1319
1320Rewrite Comparisons section in the Expressions chapter of the language
1321reference. Some of the details of comparing mixed types were incorrect or
1322ambiguous. Added default behaviour and consistency suggestions for
1323user-defined classes. Based on patch from Andy Maier.
1324
1325..
1326
1327.. bpo: 31719
1328.. date: 2017-10-06-22-37-38
1329.. nonce: gHyrV3
1330.. section: Tests
1331
1332Fix test_regrtest.test_crashed() on s390x. Add a new _testcapi._read_null()
1333function to crash Python in a reliable way on s390x. On s390x,
1334ctypes.string_at(0) returns an empty string rather than crashing.
1335
1336..
1337
1338.. bpo: 31518
1339.. date: 2017-09-19-20-48-50
1340.. nonce: KwTMMz
1341.. section: Tests
1342
1343Debian Unstable has disabled TLS 1.0 and 1.1 for SSLv23_METHOD(). Change
1344TLS/SSL protocol of some tests to PROTOCOL_TLS or PROTOCOL_TLSv1_2 to make
1345them pass on Debian.
1346
1347..
1348
1349.. bpo: 25674
1350.. date: 2017-09-04-13-03-55
1351.. nonce: whVTXh
1352.. section: Tests
1353
1354Remove sha256.tbs-internet.com ssl test
1355
1356..
1357
1358.. bpo: 11790
1359.. date: 007
1360.. nonce: 0actZf
1361.. section: Tests
1362
1363Fix sporadic failures in test_multiprocessing.WithProcessesTestCondition.
1364
1365..
1366
1367.. bpo: 30236
1368.. date: 006
1369.. nonce: vOYTDq
1370.. section: Tests
1371
1372Backported test.regrtest options -m/--match and -G/--failfast from Python 3.
1373
1374..
1375
1376.. bpo: 30223
1377.. date: 005
1378.. nonce: TYC9rA
1379.. section: Tests
1380
1381To unify running tests in Python 2.7 and Python 3, the test package can be
1382run as a script.  This is equivalent to running the test.regrtest module as
1383a script.
1384
1385..
1386
1387.. bpo: 30207
1388.. date: 004
1389.. nonce: EiRhGi
1390.. section: Tests
1391
1392To simplify backports from Python 3, the test.test_support module was
1393converted into a package and renamed to test.support.  The
1394test.script_helper module was moved into the test.support package. Names
1395test.test_support and test.script_helper are left as aliases to test.support
1396and test.support.script_helper.
1397
1398..
1399
1400.. bpo: 30197
1401.. date: 003
1402.. nonce: hajYvd
1403.. section: Tests
1404
1405Enhanced function swap_attr() in the test.test_support module. It now works
1406when delete replaced attribute inside the with statement.  The old value of
1407the attribute (or None if it doesn't exist) now will be assigned to the
1408target of the "as" clause, if there is one. Also backported function
1409swap_item().
1410
1411..
1412
1413.. bpo: 28087
1414.. date: 002
1415.. nonce: m8dc4R
1416.. section: Tests
1417
1418Skip test_asyncore and test_eintr poll failures on macOS. Skip some tests of
1419select.poll when running on macOS due to unresolved issues with the
1420underlying system poll function on some macOS versions.
1421
1422..
1423
1424.. bpo: 15083
1425.. date: 001
1426.. nonce: Tz3ZZm
1427.. section: Tests
1428
1429Convert ElementTree doctests to unittests.
1430
1431..
1432
1433.. bpo: 33163
1434.. date: 2018-03-28-04-15-03
1435.. nonce: hfpWuU
1436.. section: Build
1437
1438Upgrade pip to 9.0.3 and setuptools to v39.0.1.
1439
1440..
1441
1442.. bpo: 32616
1443.. date: 2018-02-07-11-24-38
1444.. nonce: o7mFJ3
1445.. section: Build
1446
1447Disable computed gotos by default for clang < 5.0. It caused significant
1448performance regression.
1449
1450..
1451
1452.. bpo: 32635
1453.. date: 2018-01-23-15-33-40
1454.. nonce: qHwIZy
1455.. section: Build
1456
1457Fix segfault of the crypt module when libxcrypt is provided instead of
1458libcrypt at the system.
1459
1460..
1461
1462.. bpo: 31934
1463.. date: 2017-11-03-15-17-50
1464.. nonce: 8bUlpv
1465.. section: Build
1466
1467Abort the build when building out of a not clean source tree.
1468
1469..
1470
1471.. bpo: 31474
1472.. date: 2017-09-14-19-38-19
1473.. nonce: 0s_mpD
1474.. section: Build
1475
1476Fix -Wint-in-bool-context warnings in PyMem_MALLOC and PyMem_REALLOC macros
1477
1478..
1479
1480.. bpo: 29243
1481.. date: 013
1482.. nonce: WDK4hT
1483.. section: Build
1484
1485Prevent unnecessary rebuilding of Python during ``make test``, ``make
1486install`` and some other make targets when configured with
1487``--enable-optimizations``.
1488
1489..
1490
1491.. bpo: 23404
1492.. date: 012
1493.. nonce: PdYVWg
1494.. section: Build
1495
1496Don't regenerate generated files based on file modification time anymore:
1497the action is now explicit. Replace ``make touch`` with ``make regen-all``.
1498
1499..
1500
1501.. bpo: 27593
1502.. date: 011
1503.. nonce: v87xEr
1504.. section: Build
1505
1506sys.version and the platform module python_build(), python_branch(), and
1507python_revision() functions now use git information rather than hg when
1508building from a repo.
1509
1510..
1511
1512.. bpo: 29643
1513.. date: 010
1514.. nonce: 4DrjEB
1515.. section: Build
1516
1517Fix ``--enable-optimization`` configure option didn't work.
1518
1519..
1520
1521.. bpo: 29572
1522.. date: 009
1523.. nonce: iZ1XKK
1524.. section: Build
1525
1526Update Windows build and OS X installers to use OpenSSL 1.0.2k.
1527
1528..
1529
1530.. bpo: 28768
1531.. date: 008
1532.. nonce: b9_a6E
1533.. section: Build
1534
1535Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto
1536
1537..
1538
1539.. bpo: 33184
1540.. date: 2018-04-14-14-50-01
1541.. nonce: to0tIj
1542.. section: Windows
1543
1544Update Windows build to use OpenSSL 1.0.2o.
1545
1546..
1547
1548.. bpo: 32903
1549.. date: 2018-02-28-11-03-24
1550.. nonce: 1SXY4t
1551.. section: Windows
1552
1553Fix a memory leak in os.chdir() on Windows if the current directory is set
1554to a UNC path.
1555
1556..
1557
1558.. bpo: 30855
1559.. date: 2017-11-24-18-18-31
1560.. nonce: Sowf7j
1561.. section: Windows
1562
1563Bump Tcl/Tk to 8.5.19.
1564
1565..
1566
1567.. bpo: 30450
1568.. date: 2017-09-04-14-00-37
1569.. nonce: YwitaJ
1570.. section: Windows
1571
1572Pull build dependencies from GitHub rather than svn.python.org.
1573
1574..
1575
1576.. bpo: 32726
1577.. date: 2018-04-14-08-56-20
1578.. nonce: Mticyn
1579.. section: macOS
1580
1581Provide an additional, more modern macOS installer variant that supports
1582macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied third-party
1583libraries to OpenSSL 1.0.2n and SQLite 3.22.0. The 10.9+ installer now
1584supplies its own private copy of Tcl/Tk 8.6.8.
1585
1586..
1587
1588.. bpo: 24414
1589.. date: 2018-04-14-08-55-36
1590.. nonce: Z5A1cS
1591.. section: macOS
1592
1593Default macOS deployment target is now set by ``configure`` to the build
1594system's OS version (as is done by Python 3), not ``10.4``; override with,
1595for example, ``./configure MACOSX_DEPLOYMENT_TARGET=10.4``.
1596
1597..
1598
1599.. bpo: 17128
1600.. date: 2018-04-14-08-54-31
1601.. nonce: mRkb0w
1602.. section: macOS
1603
1604All 2.7 macOS installer variants now supply their own version of ``OpenSSL
16051.0.2``; the Apple-supplied SSL libraries and root certificates are not
1606longer used.  The ``Installer Certificate`` command in
1607``/Applications/Python 2.7`` may be used to download and install a default
1608set of root certificates from the third-party ``certifi`` package.
1609
1610..
1611
1612.. bpo: 11485
1613.. date: 2018-04-14-08-49-40
1614.. nonce: oALntE
1615.. section: macOS
1616
1617python.org macOS Pythons no longer supply a default SDK value (e.g.
1618``-isysroot /``) or specific compiler version default (e.g. ``gcc-4.2``)
1619when building extension modules.  Use ``CC``, ``SDKROOT``, and
1620``DEVELOPER_DIR`` environment variables to override compilers or to use an
1621SDK.  See Apple's ``xcrun`` man page for more info.
1622
1623..
1624
1625.. bpo: 33184
1626.. date: 2018-04-07-00-58-50
1627.. nonce: rMTiqu
1628.. section: macOS
1629
1630Update macOS installer build to use OpenSSL 1.0.2o.
1631
1632..
1633
1634.. bpo: 31920
1635.. date: 2018-03-26-18-54-24
1636.. nonce: u_WKsT
1637.. section: Tools/Demos
1638
1639Fixed handling directories as arguments in the ``pygettext`` script. Based
1640on patch by Oleg Krasnikov.
1641
1642..
1643
1644.. bpo: 30109
1645.. date: 2018-02-12-14-27-01
1646.. nonce: lIYlaf
1647.. section: Tools/Demos
1648
1649Fixed Tools/scripts/reindent.py for non-ASCII files. It now processes files
1650as binary streams. This also fixes "make reindent".
1651
1652..
1653
1654.. bpo: 24960
1655.. date: 2017-12-22-09-25-51
1656.. nonce: TGdAgO
1657.. section: Tools/Demos
1658
16592to3 and lib2to3 can now read pickled grammar files using pkgutil.get_data()
1660rather than probing the filesystem. This lets 2to3 and lib2to3 work when run
1661from a zipfile.
1662
1663..
1664
1665.. bpo: 20891
1666.. date: 2017-11-30-18-13-45
1667.. nonce: wBnMdF
1668.. section: C API
1669
1670Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in a non-Python
1671thread before PyEval_InitThreads(), only call PyEval_InitThreads() after
1672calling PyThreadState_New() to fix a crash.
1673
1674..
1675
1676.. bpo: 31626
1677.. date: 2017-11-07-11-59-44
1678.. nonce: LP-CoD
1679.. section: C API
1680
1681When Python is built in debug mode, the memory debug hooks now fail with a
1682fatal error if realloc() fails to shrink a memory block, because the debug
1683hook just erased freed bytes without keeping a copy of them.
1684