blob: d1beec9cdcc33aedbf50d838330b6df75443c842 [file] [log] [blame]
Ned Deily6e41cd92018-01-30 18:48:26 -05001.. bpo: 32703
2.. date: 2018-01-29-01-15-17
3.. nonce: mwrF4-
4.. release date: 2018-01-30
5.. section: Core and Builtins
6
7Fix coroutine's ResourceWarning when there's an active error set when it's
8being finalized.
9
10..
11
12.. bpo: 32650
13.. date: 2018-01-28-23-01-39
14.. nonce: Bbi7ek
15.. section: Core and Builtins
16
17Pdb and other debuggers dependent on bdb.py will correctly step over (next
18command) native coroutines. Patch by Pablo Galindo.
19
20..
21
22.. bpo: 28685
23.. date: 2018-01-28-15-09-33
24.. nonce: cHThLM
25.. section: Core and Builtins
26
27Optimize list.sort() and sorted() by using type specialized comparisons when
28possible.
29
30..
31
32.. bpo: 32685
33.. date: 2018-01-28-12-25-06
34.. nonce: nGctze
35.. section: Core and Builtins
36
37Improve suggestion when the Python 2 form of print statement is either
38present on the same line as the header of a compound statement or else
39terminated by a semi-colon instead of a newline. Patch by Nitish Chandra.
40
41..
42
43.. bpo: 32697
44.. date: 2018-01-28-09-52-12
45.. nonce: RHlu6k
46.. section: Core and Builtins
47
48Python now explicitly preserves the definition order of keyword-only
49parameters. It's always preserved their order, but this behavior was never
50guaranteed before; this behavior is now guaranteed and tested.
51
52..
53
54.. bpo: 32690
55.. date: 2018-01-28-09-26-07
56.. nonce: 8i9g5P
57.. section: Core and Builtins
58
59The locals() dictionary now displays in the lexical order that variables
60were defined. Previously, the order was reversed.
61
62..
63
64.. bpo: 32677
65.. date: 2018-01-26-20-11-09
66.. nonce: xTGfCq
67.. section: Core and Builtins
68
69Add ``.isascii()`` method to ``str``, ``bytes`` and ``bytearray``. It can be
70used to test that string contains only ASCII characters.
71
72..
73
74.. bpo: 32670
75.. date: 2018-01-25-17-03-46
76.. nonce: YsqJUC
77.. section: Core and Builtins
78
79Enforce :pep:`479` for all code.
Ned Deily6e41cd92018-01-30 18:48:26 -050080This means that manually raising a StopIteration exception from a generator
81is prohibited for all code, regardless of whether 'from __future__ import
82generator_stop' was used or not.
83
84..
85
86.. bpo: 32591
87.. date: 2018-01-20-00-50-33
88.. nonce: 666kl6
89.. section: Core and Builtins
90
91Added built-in support for tracking the origin of coroutine objects; see
92sys.set_coroutine_origin_tracking_depth and CoroutineType.cr_origin. This
93replaces the asyncio debug mode's use of coroutine wrapping for native
94coroutine objects.
95
96..
97
98.. bpo: 31368
99.. date: 2018-01-19-01-54-22
100.. nonce: kzKqUR
101.. section: Core and Builtins
102
103Expose preadv and pwritev system calls in the os module. Patch by Pablo
104Galindo
105
106..
107
108.. bpo: 32544
109.. date: 2018-01-16-18-51-58
110.. nonce: ga-cFE
111.. section: Core and Builtins
112
113``hasattr(obj, name)`` and ``getattr(obj, name, default)`` are about 4 times
114faster than before when ``name`` is not found and ``obj`` doesn't override
115``__getattr__`` or ``__getattribute__``.
116
117..
118
119.. bpo: 26163
120.. date: 2018-01-14-20-32-47
121.. nonce: xv9Iuv
122.. section: Core and Builtins
123
124Improved frozenset() hash to create more distinct hash values when faced
125with datasets containing many similar values.
126
127..
128
129.. bpo: 32550
130.. date: 2018-01-14-12-42-17
131.. nonce: k0EK-4
132.. section: Core and Builtins
133
134Remove the STORE_ANNOTATION bytecode.
135
136..
137
138.. bpo: 20104
139.. date: 2018-01-06-01-14-53
140.. nonce: 9DkKb8
141.. section: Core and Builtins
142
143Expose posix_spawn as a low level API in the os module.
Ned Deilye76ac9d2018-06-28 04:18:35 -0400144(removed before 3.7.0rc1)
Ned Deily6e41cd92018-01-30 18:48:26 -0500145
146..
147
148.. bpo: 24340
149.. date: 2018-01-01-21-59-31
150.. nonce: hmKBvg
151.. section: Core and Builtins
152
153Fixed estimation of the code stack size.
154
155..
156
157.. bpo: 32436
158.. date: 2017-12-28-00-20-42
159.. nonce: H159Jv
160.. section: Core and Builtins
161
162Implement :pep:`567` Context Variables.
163
164..
165
166.. bpo: 18533
167.. date: 2017-12-13-16-46-23
168.. nonce: Dlk8d7
169.. section: Core and Builtins
170
171``repr()`` on a dict containing its own ``values()`` or ``items()`` no
172longer raises ``RecursionError``; OrderedDict similarly. Instead, use
173``...``, as for other recursive structures. Patch by Ben North.
174
175..
176
177.. bpo: 20891
178.. date: 2017-12-04-18-34-11
179.. nonce: C2TsfR
180.. section: Core and Builtins
181
182Py_Initialize() now creates the GIL. The GIL is no longer created "on
Serhiy Storchakaaef639f2018-05-21 02:36:05 +0300183demand" to fix a race condition when PyGILState_Ensure() is called in a
184non-Python thread.
Ned Deily6e41cd92018-01-30 18:48:26 -0500185
186..
187
188.. bpo: 32028
189.. date: 2017-12-03-22-29-13
190.. nonce: KC2w4Q
191.. section: Core and Builtins
192
193Leading whitespace is now correctly ignored when generating suggestions for
194converting Py2 print statements to Py3 builtin print function calls. Patch
195by Sanyam Khurana.
196
197..
198
Ned Deily6e41cd92018-01-30 18:48:26 -0500199.. bpo: 31179
200.. date: 2017-08-10-17-32-48
201.. nonce: XcgLYI
202.. section: Core and Builtins
203
204Make dict.copy() up to 5.5 times faster.
205
206..
207
208.. bpo: 31113
209.. date: 2017-08-07-16-46-56
210.. nonce: XgNEFg
211.. section: Core and Builtins
212
213Get rid of recursion in the compiler for normal control flow.
214
215..
216
217.. bpo: 25988
218.. date: 2018-01-28-23-48-45
219.. nonce: I9uBct
220.. section: Library
221
222Deprecate exposing the contents of collections.abc in the regular
223collections module.
224
225..
226
227.. bpo: 31429
228.. date: 2018-01-28-22-40-05
229.. nonce: qNt8rQ
230.. section: Library
231
232The default cipher suite selection of the ssl module now uses a blacklist
233approach rather than a hard-coded whitelist. Python no longer re-enables
234ciphers that have been blocked by OpenSSL security update. Default cipher
235suite selection can be configured on compile time.
236
237..
238
239.. bpo: 30306
240.. date: 2018-01-28-14-10-51
241.. nonce: TmKMXi
242.. section: Library
243
244contextlib.contextmanager now releases the arguments passed to the
245underlying generator as soon as the context manager is entered. Previously
246it would keep them alive for as long as the context manager was alive, even
247when not being used as a function decorator. Patch by Martin Teichmann.
248
249..
250
251.. bpo: 21417
252.. date: 2018-01-28-07-55-10
253.. nonce: JFnV99
254.. section: Library
255
256Added support for setting the compression level for zipfile.ZipFile.
257
258..
259
260.. bpo: 32251
261.. date: 2018-01-28-01-21-47
262.. nonce: fOA5qB
263.. section: Library
264
265Implement asyncio.BufferedProtocol (provisional API).
266
267..
268
269.. bpo: 32513
270.. date: 2018-01-27-11-20-16
271.. nonce: ak-iD2
272.. section: Library
273
274In dataclasses, allow easier overriding of dunder methods without specifying
275decorator parameters.
276
277..
278
279.. bpo: 32660
280.. date: 2018-01-26-01-26-00
281.. nonce: tVJIWV
282.. section: Library
283
284:mod:`termios` makes available ``FIONREAD``, ``FIONCLEX``, ``FIOCLEX``,
285``FIOASYNC`` and ``FIONBIO`` also under Solaris/derivatives.
286
287..
288
289.. bpo: 27931
290.. date: 2018-01-25-21-04-11
291.. nonce: e4r52t
292.. section: Library
293
294Fix email address header parsing error when the username is an empty quoted
295string. Patch by Xiang Zhang.
296
297..
298
299.. bpo: 32659
300.. date: 2018-01-25-03-46-00
301.. nonce: VHYoON
302.. section: Library
303
304Under Solaris and derivatives, :class:`os.stat_result` provides a st_fstype
305attribute.
306
307..
308
309.. bpo: 32662
310.. date: 2018-01-25-01-45-30
311.. nonce: oabhd8
312.. section: Library
313
314Implement Server.start_serving(), Server.serve_forever(), and
315Server.is_serving() methods. Add 'start_serving' keyword parameter to
316loop.create_server() and loop.create_unix_server().
317
318..
319
320.. bpo: 32391
321.. date: 2018-01-24-15-20-12
322.. nonce: 0f8MY9
323.. section: Library
324
325Implement :meth:`asyncio.StreamWriter.wait_closed` and
326:meth:`asyncio.StreamWriter.is_closing` methods
327
328..
329
330.. bpo: 32643
331.. date: 2018-01-24-00-32-58
332.. nonce: VWipsW
333.. section: Library
334
335Make Task._step, Task._wakeup and Future._schedule_callbacks methods
336private.
337
338..
339
340.. bpo: 32630
341.. date: 2018-01-23-01-57-36
342.. nonce: 6KRHBs
343.. section: Library
344
345Refactor decimal module to use contextvars to store decimal context.
346
347..
348
349.. bpo: 32622
350.. date: 2018-01-22-18-18-44
351.. nonce: A1D6FP
352.. section: Library
353
354Add :meth:`asyncio.AbstractEventLoop.sendfile` method.
355
356..
357
358.. bpo: 32304
359.. date: 2018-01-21-16-33-53
360.. nonce: TItrNv
361.. section: Library
362
363distutils' upload command no longer corrupts tar files ending with a CR
364byte, and no longer tries to convert CR to CRLF in any of the upload text
365fields.
366
367..
368
369.. bpo: 32502
370.. date: 2018-01-20-17-15-34
371.. nonce: OXJfn7
372.. section: Library
373
374uuid.uuid1 no longer raises an exception if a 64-bit hardware address is
375encountered.
376
377..
378
379.. bpo: 32596
380.. date: 2018-01-19-19-57-45
381.. nonce: 4aVIie
382.. section: Library
383
384``concurrent.futures`` imports ``ThreadPoolExecutor`` and
385``ProcessPoolExecutor`` lazily (using :pep:`562`). It makes ``import
386asyncio`` about 15% faster because asyncio uses only ``ThreadPoolExecutor``
387by default.
388
389..
390
391.. bpo: 31801
392.. date: 2018-01-18-13-47-40
393.. nonce: 3UGH1h
394.. section: Library
395
396Add ``_ignore_`` to ``Enum`` so temporary variables can be used during class
397construction without being turned into members.
398
399..
400
401.. bpo: 32576
402.. date: 2018-01-17-13-04-16
403.. nonce: iDL09t
404.. section: Library
405
406Use queue.SimpleQueue() in places where it can be invoked from a weakref
407callback.
408
409..
410
411.. bpo: 32574
412.. date: 2018-01-16-20-37-28
413.. nonce: ru8eZ9
414.. section: Library
415
416Fix memory leak in asyncio.Queue, when the queue has limited size and it is
417full, the cancelation of queue.put() can cause a memory leak. Patch by: José
418Melero.
419
420..
421
422.. bpo: 32521
423.. date: 2018-01-15-12-53-13
424.. nonce: IxX4Ba
425.. section: Library
426
427The nis module is now compatible with new libnsl and headers location.
428
429..
430
431.. bpo: 32467
432.. date: 2018-01-11-00-33-42
433.. nonce: YVEOv6
434.. section: Library
435
436collections.abc.ValuesView now inherits from collections.abc.Collection.
437
438..
439
440.. bpo: 32473
441.. date: 2018-01-10-20-37-59
442.. nonce: mP_yJG
443.. section: Library
444
445Improve ABCMeta._dump_registry() output readability
446
447..
448
449.. bpo: 32102
450.. date: 2018-01-10-18-04-21
451.. nonce: 9-CZgD
452.. section: Library
453
454New argument ``capture_output`` for subprocess.run
455
456..
457
458.. bpo: 32521
459.. date: 2018-01-08-18-02-33
460.. nonce: Kh-KoN
461.. section: Library
462
463glibc has removed Sun RPC. Use replacement libtirpc headers and library in
464nis module.
465
466..
467
468.. bpo: 32493
469.. date: 2018-01-08-15-53-37
470.. nonce: vTXxGN
471.. section: Library
472
473UUID module fixes build for FreeBSD/OpenBSD
474
475..
476
477.. bpo: 32503
478.. date: 2018-01-07-09-22-26
479.. nonce: ViMxpD
480.. section: Library
481
482Pickling with protocol 4 no longer creates too small frames.
483
484..
485
486.. bpo: 29237
487.. date: 2018-01-04-14-45-33
488.. nonce: zenYA6
489.. section: Library
490
491Create enum for pstats sorting options
492
493..
494
495.. bpo: 32454
496.. date: 2017-12-30-10-38-05
497.. nonce: wsZnl-
498.. section: Library
499
500Add close(fd) function to the socket module.
501
502..
503
504.. bpo: 25942
505.. date: 2017-12-27-20-15-51
506.. nonce: Giyr8v
507.. section: Library
508
509The subprocess module is now more graceful when handling a Ctrl-C
510KeyboardInterrupt during subprocess.call, subprocess.run, or a Popen context
511manager. It now waits a short amount of time for the child (presumed to
512have also gotten the SIGINT) to exit, before continuing the
513KeyboardInterrupt exception handling. This still includes a SIGKILL in the
514call() and run() APIs, but at least the child had a chance first.
515
516..
517
518.. bpo: 32433
519.. date: 2017-12-27-20-09-27
520.. nonce: vmxsVI
521.. section: Library
522
523The hmac module now has hmac.digest(), which provides an optimized HMAC
524digest.
525
526..
527
528.. bpo: 28134
529.. date: 2017-12-24-20-01-09
530.. nonce: HJ8Beb
531.. section: Library
532
533Sockets now auto-detect family, type and protocol from file descriptor by
534default.
535
536..
537
538.. bpo: 32404
539.. date: 2017-12-23-14-54-05
540.. nonce: yJqtlJ
541.. section: Library
542
543Fix bug where :meth:`datetime.datetime.fromtimestamp` did not call __new__
544in :class:`datetime.datetime` subclasses.
545
546..
547
548.. bpo: 32403
549.. date: 2017-12-23-14-51-46
550.. nonce: CVFapH
551.. section: Library
552
553Improved speed of :class:`datetime.date` and :class:`datetime.datetime`
554alternate constructors.
555
556..
557
558.. bpo: 32228
559.. date: 2017-12-22-16-47-41
560.. nonce: waPx3q
561.. section: Library
562
563Ensure that ``truncate()`` preserves the file position (as reported by
564``tell()``) after writes longer than the buffer size.
565
566..
567
568.. bpo: 32410
569.. date: 2017-12-22-16-05-01
570.. nonce: 8JzhvH
571.. section: Library
572
573Implement ``loop.sock_sendfile`` for asyncio event loop.
574
575..
576
577.. bpo: 22908
578.. date: 2017-12-21-22-00-11
579.. nonce: cVm89I
580.. section: Library
581
582Added seek and tell to the ZipExtFile class. This only works if the file
583object used to open the zipfile is seekable.
584
585..
586
587.. bpo: 32373
588.. date: 2017-12-19-09-23-46
589.. nonce: 8qAkoW
590.. section: Library
591
592Add socket.getblocking() method.
593
594..
595
596.. bpo: 32248
597.. date: 2017-12-15-15-34-12
598.. nonce: zmO8G2
599.. section: Library
600
601Add :mod:`importlib.resources` and :class:`importlib.abc.ResourceReader` as
602the unified API for reading resources contained within packages. Loaders
603wishing to support resource reading must implement the
604:meth:`get_resource_reader()` method. File-based and zipimport-based
605loaders both implement these APIs. :class:`importlib.abc.ResourceLoader` is
606deprecated in favor of these new APIs.
607
608..
609
610.. bpo: 32320
611.. date: 2017-12-14-01-36-25
612.. nonce: jwOZlr
613.. section: Library
614
615collections.namedtuple() now supports default values.
616
617..
618
619.. bpo: 29302
620.. date: 2017-12-11-15-14-55
621.. nonce: Nczj9l
622.. section: Library
623
624Add contextlib.AsyncExitStack. Patch by Alexander Mohr and Ilya Kulakov.
625
626..
627
628.. bpo: 31961
629.. date: 2017-11-08-03-38-20
630.. nonce: x5Sv0R
631.. section: Library
632
Serhiy Storchakabe50a7b2018-02-28 01:03:46 +0200633*Removed in Python 3.7.0b2.*
Ned Deily6e41cd92018-01-30 18:48:26 -0500634The *args* argument of subprocess.Popen can now be a :term:`path-like
635object`. If *args* is given as a sequence, it's first element can now be a
636:term:`path-like object` as well.
637
638..
639
640.. bpo: 31900
641.. date: 2017-10-30-15-55-32
642.. nonce: -S9xc4
643.. section: Library
644
645The :func:`locale.localeconv` function now sets temporarily the ``LC_CTYPE``
646locale to the ``LC_NUMERIC`` locale to decode ``decimal_point`` and
647``thousands_sep`` byte strings if they are non-ASCII or longer than 1 byte,
648and the ``LC_NUMERIC`` locale is different than the ``LC_CTYPE`` locale.
649This temporary change affects other threads.
Ned Deily6e41cd92018-01-30 18:48:26 -0500650Same change for the :meth:`str.format` method when formatting a number
651(:class:`int`, :class:`float`, :class:`float` and subclasses) with the ``n``
652type (ex: ``'{:n}'.format(1234)``).
653
654..
655
656.. bpo: 31853
657.. date: 2017-10-23-22-55-51
658.. nonce: h5fjrP
659.. section: Library
660
661Use super().method instead of socket.method in SSLSocket. They were there
662most likely for legacy reasons.
663
664..
665
666.. bpo: 31399
667.. date: 2017-09-08-14-05-33
668.. nonce: FtBrrt
669.. section: Library
670
671The ssl module now uses OpenSSL's X509_VERIFY_PARAM_set1_host() and
672X509_VERIFY_PARAM_set1_ip() API to verify hostname and IP addresses. Subject
673common name fallback can be disabled with
674SSLContext.hostname_checks_common_name.
675
676..
677
678.. bpo: 14976
679.. date: 2017-09-07-19-12-47
680.. nonce: dx0Zxb
681.. section: Library
682
683Add a queue.SimpleQueue class, an unbounded FIFO queue with a reentrant C
684implementation of put().
685
686..
687
688.. bpo: 32724
689.. date: 2018-01-30-09-00-19
690.. nonce: qPIaM-
691.. section: Documentation
692
693Add references to some commands in the documentation of Pdb. Patch by
694Stéphane Wirtel
695
696..
697
698.. bpo: 32649
699.. date: 2018-01-27-23-36-31
700.. nonce: o7qOjF
701.. section: Documentation
702
703Complete the C API documentation, profiling and tracing part with the newly
704added per-opcode events.
705
706..
707
708.. bpo: 17799
709.. date: 2018-01-22-21-13-46
710.. nonce: rdZ-Vk
711.. section: Documentation
712
713Explain real behaviour of sys.settrace and sys.setprofile and their C-API
714counterparts regarding which type of events are received in each function.
715Patch by Pablo Galindo Salgado.
716
717..
718
719.. bpo: 32721
720.. date: 2018-01-29-21-30-44
721.. nonce: 2Bebm1
722.. section: Tests
723
724Fix test_hashlib to not fail if the _md5 module is not built.
725
726..
727
728.. bpo: 28414
729.. date: 2018-01-28-21-19-13
730.. nonce: a6Onzt
731.. section: Tests
732
733Add test cases for IDNA 2003 and 2008 host names. IDNA 2003
734internationalized host names are working since bpo-31399 has landed. IDNA
7352008 are still broken.
736
737..
738
739.. bpo: 32604
740.. date: 2018-01-26-21-29-09
741.. nonce: 7iazNx
742.. section: Tests
743
744Add a new "_xxsubinterpreters" extension module that exposes the existing
745subinterpreter C-API and a new cross-interpreter data sharing mechanism. The
746module is primarily intended for more thorough testing of the existing
747subinterpreter support.
Ned Deilye76ac9d2018-06-28 04:18:35 -0400748Note that the _xxsubinterpreters module has been removed in 3.7.0rc1.
749
Ned Deily6e41cd92018-01-30 18:48:26 -0500750..
751
752.. bpo: 32602
753.. date: 2018-01-19-20-47-11
754.. nonce: dz41pq
755.. section: Tests
756
757Add test certs and test for ECDSA cert and EC/RSA dual mode.
758
759..
760
761.. bpo: 32549
762.. date: 2018-01-14-11-40-22
763.. nonce: fLwbVA
764.. section: Tests
765
766On Travis CI, Python now Compiles and uses a local copy of OpenSSL 1.1.0g
767for testing.
768
769..
770
771.. bpo: 32635
772.. date: 2018-01-23-15-33-40
773.. nonce: qHwIZy
774.. section: Build
775
776Fix segfault of the crypt module when libxcrypt is provided instead of
777libcrypt at the system.
778
779..
780
781.. bpo: 32598
782.. date: 2018-01-19-14-50-19
783.. nonce: hP7bMV
784.. section: Build
785
786Use autoconf to detect OpenSSL libs, headers and supported features. The
787ax_check_openssl M4 macro uses pkg-config to locate OpenSSL and falls back
788to manual search.
789
790..
791
792.. bpo: 32593
793.. date: 2018-01-18-11-10-52
794.. nonce: XIrf3v
795.. section: Build
796
797Drop support of FreeBSD 9 and older.
798
799..
800
801.. bpo: 29708
802.. date: 2018-01-16-08-32-49
803.. nonce: YCaHEx
804.. section: Build
805
806If the :envvar:`SOURCE_DATE_EPOCH` environment variable is set,
807:mod:`py_compile` will always create hash-based ``.pyc`` files.
808
809..
810
811.. bpo: 32588
812.. date: 2018-01-18-14-56-45
813.. nonce: vHww6F
814.. section: Windows
815
816Create standalone _distutils_findvs module and add missing _queue module to
817installer.
818
819..
820
821.. bpo: 29911
822.. date: 2018-01-07-12-33-21
823.. nonce: ewSJKb
824.. section: Windows
825
826Ensure separate Modify and Uninstall buttons are displayed.
827
828..
829
830.. bpo: 32507
831.. date: 2018-01-07-12-32-49
832.. nonce: vB4gxk
833.. section: Windows
834
835Use app-local UCRT install rather than the proper update for old versions of
836Windows.
837
838..
839
840.. bpo: 32726
841.. date: 2018-01-30-07-13-10
842.. nonce: tcARLK
843.. section: macOS
844
845Provide an additional, more modern macOS installer variant that supports
846macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied third-party
847libraries to OpenSSL 1.1.0g and to SQLite 3.22.0. The 10.9+ installer now
848links with and supplies its own copy of Tcl/Tk 8.6.
849
850..
851
852.. bpo: 28440
853.. date: 2018-01-30-04-40-12
854.. nonce: W_BUWU
855.. section: macOS
856
857No longer add /Library/Python/3.x/site-packages to sys.path for macOS
858framework builds to avoid future conflicts.
859
860..
861
862.. bpo: 32681
863.. date: 2018-01-26-17-29-29
864.. nonce: N1ruWa
865.. section: C API
866
867Fix uninitialized variable 'res' in the C implementation of os.dup2. Patch
868by Stéphane Wirtel
869
870..
871
872.. bpo: 10381
873.. date: 2017-12-28-15-22-05
874.. nonce: a1E6aF
875.. section: C API
876
877Add C API access to the ``datetime.timezone`` constructor and
878``datetime.timzone.UTC`` singleton.