blob: af9cf4d29f902f3eeec3728378f8390c531eb5ac [file] [log] [blame]
Ned Deily3b43bfa2018-01-08 21:57:13 -05001.. bpo: 31975
2.. date: 2018-01-05-20-54-27
3.. nonce: AmftlU
4.. release date: 2018-01-08
5.. section: Core and Builtins
6
7The default warning filter list now starts with a
8"default::DeprecationWarning:__main__" entry, so deprecation warnings are
9once again shown by default in single-file scripts and at the interactive
10prompt.
11
12..
13
14.. bpo: 32226
15.. date: 2018-01-04-15-06-15
16.. nonce: 7cAvRG
17.. section: Core and Builtins
18
19``__class_getitem__`` is now an automatic class method.
20
21..
22
23.. bpo: 32399
24.. date: 2017-12-22-13-38-17
25.. nonce: wlH12z
26.. section: Core and Builtins
27
28Add AIX uuid library support for RFC4122 using uuid_create() in libc.a
29
30..
31
32.. bpo: 32390
33.. date: 2017-12-22-13-28-07
34.. nonce: QPj083
35.. section: Core and Builtins
36
37Fix the compilation failure on AIX after the f_fsid field has been added to
38the object returned by os.statvfs() (issue #32143). Original patch by
39Michael Felt.
40
41..
42
43.. bpo: 32379
44.. date: 2017-12-19-21-14-41
45.. nonce: B7mOmI
46.. section: Core and Builtins
47
48Make MRO computation faster when a class inherits from a single base.
49
50..
51
52.. bpo: 32259
53.. date: 2017-12-16-14-30-21
54.. nonce: GoOJiX
55.. section: Core and Builtins
56
57The error message of a TypeError raised when unpack non-iterable is now more
58specific.
59
60..
61
62.. bpo: 27169
63.. date: 2017-12-15-11-50-06
64.. nonce: VO84fQ
65.. section: Core and Builtins
66
67The ``__debug__`` constant is now optimized out at compile time. This fixes
68also bpo-22091.
69
70..
71
72.. bpo: 32329
73.. date: 2017-12-15-00-13-04
74.. nonce: q47IN2
75.. section: Core and Builtins
76
77The :option:`-R` option now turns on hash randomization when the
78:envvar:`PYTHONHASHSEED` environment variable is set to ``0``. Previously,
79the option was ignored. Moreover, ``sys.flags.hash_randomization`` is now
80properly set to 0 when hash randomization is turned off by
81``PYTHONHASHSEED=0``.
82
83..
84
85.. bpo: 30416
86.. date: 2017-12-14-11-48-19
87.. nonce: hlHo_9
88.. section: Core and Builtins
89
90The optimizer is now protected from spending much time doing complex
91calculations and consuming much memory for creating large constants in
92constant folding. Increased limits for constants that can be produced in
93constant folding.
94
95..
96
97.. bpo: 32282
98.. date: 2017-12-12-14-02-28
99.. nonce: xFVMTn
100.. section: Core and Builtins
101
102Fix an unnecessary ifdef in the include of VersionHelpers.h in socketmodule
103on Windows.
104
105..
106
107.. bpo: 30579
108.. date: 2017-12-11-01-52-42
109.. nonce: X6cEzf
110.. section: Core and Builtins
111
112Implement TracebackType.__new__ to allow Python-level creation of traceback
113objects, and make TracebackType.tb_next mutable.
114
115..
116
117.. bpo: 32260
118.. date: 2017-12-09-11-03-51
119.. nonce: 1DAO-p
120.. section: Core and Builtins
121
122Don't byte swap the input keys to the SipHash algorithm on big-endian
123platforms. This should ensure siphash gives consistent results across
124platforms.
125
126..
127
128.. bpo: 31506
129.. date: 2017-12-07-23-44-29
130.. nonce: j1U2fU
131.. section: Core and Builtins
132
133Improve the error message logic for object.__new__ and object.__init__.
134Patch by Sanyam Khurana.
135
136..
137
138.. bpo: 20361
139.. date: 2017-12-07-17-22-30
140.. nonce: zQUmbi
141.. section: Core and Builtins
142
143``-b`` and ``-bb`` now inject ``'default::BytesWarning'`` and
144``error::BytesWarning`` entries into ``sys.warnoptions``, ensuring that they
145take precedence over any other warning filters configured via the ``-W``
146option or the ``PYTHONWARNINGS`` environment variable.
147
148..
149
150.. bpo: 32230
151.. date: 2017-12-06-20-18-34
152.. nonce: PgGQaB
153.. section: Core and Builtins
154
155`-X dev` now injects a ``'default'`` entry into sys.warnoptions, ensuring
156that it behaves identically to actually passing ``-Wdefault`` at the command
157line.
158
159..
160
161.. bpo: 29240
162.. date: 2017-12-05-23-10-58
163.. nonce: qpJP5l
164.. section: Core and Builtins
165
166Add a new UTF-8 mode: implementation of the :pep:`540`.
167
168..
169
170.. bpo: 32226
171.. date: 2017-12-05-21-42-58
172.. nonce: G8fqb6
173.. section: Core and Builtins
174
Ned Deilya612df02018-01-09 00:13:21 -0500175:pep:`560`: Add support for ``__mro_entries__`` and ``__class_getitem__``. Implemented
Ned Deily3b43bfa2018-01-08 21:57:13 -0500176by Ivan Levkivskyi.
177
178..
179
180.. bpo: 32225
181.. date: 2017-12-05-21-33-47
182.. nonce: ucKjvw
183.. section: Core and Builtins
184
Ned Deilya612df02018-01-09 00:13:21 -0500185:pep:`562`: Add support for module ``__getattr__`` and ``__dir__``. Implemented
Ned Deily3b43bfa2018-01-08 21:57:13 -0500186by Ivan Levkivskyi.
187
188..
189
190.. bpo: 31901
191.. date: 2017-11-28-15-04-14
192.. nonce: mDeCLK
193.. section: Core and Builtins
194
195The `atexit` module now has its callback stored per interpreter.
196
197..
198
199.. bpo: 31650
200.. date: 2017-11-26-14-38-44
201.. nonce: JWf_Im
202.. section: Core and Builtins
203
Ned Deilya612df02018-01-09 00:13:21 -0500204Implement :pep:`552` (Deterministic pycs). Python now supports invalidating
Ned Deily3b43bfa2018-01-08 21:57:13 -0500205bytecode cache files bashed on a source content hash rather than source
206last-modified time.
207
208..
209
210.. bpo: 29469
211.. date: 2017-07-26-00-20-15
212.. nonce: potmyI
213.. section: Core and Builtins
214
215Move constant folding from bytecode layer to AST layer. Original patch by
216Eugene Toder.
217
218..
219
220.. bpo: 32506
221.. date: 2018-01-07-11-32-42
222.. nonce: MaT-zU
223.. section: Library
224
225Now that dict is defined as keeping insertion order, drop OrderedDict and
226just use plain dict.
227
228..
229
230.. bpo: 32279
231.. date: 2018-01-06-16-50-11
232.. nonce: 1xOpU8
233.. section: Library
234
235Add params to dataclasses.make_dataclasses(): init, repr, eq, order, hash,
236and frozen. Pass them through to dataclass().
237
238..
239
240.. bpo: 32278
241.. date: 2018-01-06-15-15-34
242.. nonce: bGnGc0
243.. section: Library
244
245Make type information optional on dataclasses.make_dataclass(). If omitted,
246the string 'typing.Any' is used.
247
248..
249
250.. bpo: 32499
251.. date: 2018-01-06-10-54-16
252.. nonce: koyY-4
253.. section: Library
254
255Add dataclasses.is_dataclass(obj), which returns True if obj is a dataclass
256or an instance of one.
257
258..
259
260.. bpo: 32468
261.. date: 2017-12-31-20-32-58
262.. nonce: YBs__0
263.. section: Library
264
265Improve frame repr() to mention filename, code name and current line number.
266
267..
268
269.. bpo: 23749
270.. date: 2017-12-29-00-44-42
271.. nonce: QL1Cxd
272.. section: Library
273
274asyncio: Implement loop.start_tls()
275
276..
277
278.. bpo: 32441
279.. date: 2017-12-28-21-30-40
280.. nonce: LqlboJ
281.. section: Library
282
283Return the new file descriptor (i.e., the second argument) from ``os.dup2``.
284Previously, ``None`` was always returned.
285
286..
287
288.. bpo: 32422
289.. date: 2017-12-25-20-22-47
290.. nonce: 5H3Wq2
291.. section: Library
292
293``functools.lru_cache`` uses less memory (3 words for each cached key) and
294takes about 1/3 time for cyclic GC.
295
296..
297
298.. bpo: 31721
299.. date: 2017-12-25-11-09-46
300.. nonce: 5gM972
301.. section: Library
302
303Prevent Python crash from happening when Future._log_traceback is set to
304True manually. Now it can only be set to False, or a ValueError is raised.
305
306..
307
308.. bpo: 32415
309.. date: 2017-12-23-12-45-00
310.. nonce: YufXTU
311.. section: Library
312
313asyncio: Add Task.get_loop() and Future.get_loop()
314
315..
316
317.. bpo: 26133
318.. date: 2017-12-21-11-08-42
319.. nonce: mt81QV
320.. section: Library
321
322Don't unsubscribe signals in asyncio UNIX event loop on interpreter
323shutdown.
324
325..
326
327.. bpo: 32363
328.. date: 2017-12-19-00-37-28
329.. nonce: YTeGU0
330.. section: Library
331
332Make asyncio.Task.set_exception() and set_result() raise
333NotImplementedError. Task._step() and Future.__await__() raise proper
334exceptions when they are in an invalid state, instead of raising an
335AssertionError.
336
337..
338
339.. bpo: 32357
340.. date: 2017-12-18-00-36-41
341.. nonce: t1F3sn
342.. section: Library
343
344Optimize asyncio.iscoroutine() and loop.create_task() for non-native
345coroutines (e.g. async/await compiled with Cython).
Ned Deily3b43bfa2018-01-08 21:57:13 -0500346'loop.create_task(python_coroutine)' used to be 20% faster than
347'loop.create_task(cython_coroutine)'. Now, the latter is as fast.
348
349..
350
351.. bpo: 32356
352.. date: 2017-12-17-22-50-51
353.. nonce: roZJpA
354.. section: Library
355
356asyncio.transport.resume_reading() and pause_reading() are now idempotent.
357New transport.is_reading() method is added.
358
359..
360
361.. bpo: 32355
362.. date: 2017-12-17-21-42-24
363.. nonce: tbaTWA
364.. section: Library
365
366Optimize asyncio.gather(); now up to 15% faster.
367
368..
369
370.. bpo: 32351
371.. date: 2017-12-17-14-23-23
372.. nonce: 95fh2K
373.. section: Library
374
375Use fastpath in asyncio.sleep if delay<0 (2x boost)
376
377..
378
379.. bpo: 32348
380.. date: 2017-12-16-18-50-57
381.. nonce: 5j__he
382.. section: Library
383
384Optimize asyncio.Future schedule/add/remove callback. The optimization
385shows 3-6% performance improvements of async/await code.
386
387..
388
389.. bpo: 32331
390.. date: 2017-12-15-23-48-43
391.. nonce: fIg1Uc
392.. section: Library
393
394Fix socket.settimeout() and socket.setblocking() to keep socket.type as is.
395Fix socket.socket() constructor to reset any bit flags applied to socket's
396type. This change only affects OSes that have SOCK_NONBLOCK and/or
397SOCK_CLOEXEC.
398
399..
400
401.. bpo: 32248
402.. date: 2017-12-15-15-34-12
403.. nonce: zmO8G2
404.. section: Library
405
406Add :class:`importlib.abc.ResourceReader` as an ABC for loaders to provide a
407unified API for reading resources contained within packages. Also add
408:mod:`importlib.resources` as the port of ``importlib_resources``.
409
410..
411
412.. bpo: 32311
413.. date: 2017-12-14-17-28-54
414.. nonce: DL5Ytn
415.. section: Library
416
417Implement asyncio.create_task(coro) shortcut
418
419..
420
421.. bpo: 32327
422.. date: 2017-12-14-16-00-25
423.. nonce: bbkSxA
424.. section: Library
425
426Convert asyncio functions that were documented as coroutines to coroutines.
427Affected functions: loop.sock_sendall, loop.sock_recv, loop.sock_accept,
Yury Selivanovbec23722018-01-28 14:09:40 -0500428loop.getaddrinfo, loop.getnameinfo.
Ned Deily3b43bfa2018-01-08 21:57:13 -0500429
430..
431
432.. bpo: 32323
433.. date: 2017-12-14-10-10-10
434.. nonce: ideco
435.. section: Library
436
437:func:`urllib.parse.urlsplit()` does not convert zone-id (scope) to lower
438case for scoped IPv6 addresses in hostnames now.
439
440..
441
442.. bpo: 32302
443.. date: 2017-12-13-22-38-08
444.. nonce: othtTr
445.. section: Library
446
447Fix bdist_wininst of distutils for CRT v142: it binary compatible with CRT
448v140.
449
450..
451
452.. bpo: 29711
453.. date: 2017-12-13-22-10-36
454.. nonce: hJjghA
455.. section: Library
456
457Fix ``stop_serving`` in asyncio proactor loop kill all listening servers
458
459..
460
461.. bpo: 32308
462.. date: 2017-12-13-20-31-30
463.. nonce: CUbsb2
464.. section: Library
465
466:func:`re.sub()` now replaces empty matches adjacent to a previous non-empty
467match.
468
469..
470
471.. bpo: 29970
472.. date: 2017-12-13-19-02-38
473.. nonce: uxVOpk
474.. section: Library
475
476Abort asyncio SSLProtocol connection if handshake not complete within 10s
477
478..
479
480.. bpo: 32314
481.. date: 2017-12-13-16-47-38
482.. nonce: W4_U2j
483.. section: Library
484
485Implement asyncio.run().
486
487..
488
489.. bpo: 17852
490.. date: 2017-12-13-00-00-37
491.. nonce: Q8BP8N
492.. section: Library
493
494Revert incorrect fix based on misunderstanding of _Py_PyAtExit() semantics.
495
496..
497
498.. bpo: 32296
499.. date: 2017-12-12-18-01-01
500.. nonce: bwscHz
501.. section: Library
502
503Implement asyncio._get_running_loop() and get_event_loop() in C. This makes
504them 4x faster.
505
506..
507
508.. bpo: 32250
509.. date: 2017-12-12-16-58-20
510.. nonce: UljTa0
511.. section: Library
512
513Implement ``asyncio.current_task()`` and ``asyncio.all_tasks()``. Add
514helpers intended to be used by alternative task implementations:
515``asyncio._register_task``, ``asyncio._enter_task``, ``asyncio._leave_task``
516and ``asyncio._unregister_task``. Deprecate ``asyncio.Task.current_task()``
517and ``asyncio.Task.all_tasks()``.
518
519..
520
521.. bpo: 32255
522.. date: 2017-12-12-07-29-06
523.. nonce: 2bfNmM
524.. section: Library
525
526A single empty field is now always quoted when written into a CSV file. This
527allows to distinguish an empty row from a row consisting of a single empty
528field. Patch by Licht Takeuchi.
529
530..
531
532.. bpo: 32277
533.. date: 2017-12-11-09-53-14
534.. nonce: jkKiVC
535.. section: Library
536
537Raise ``NotImplementedError`` instead of ``SystemError`` on platforms where
538``chmod(..., follow_symlinks=False)`` is not supported. Patch by Anthony
539Sottile.
540
541..
542
543.. bpo: 30050
544.. date: 2017-12-10-23-44-56
545.. nonce: 4SZ3lY
546.. section: Library
547
548New argument warn_on_full_buffer to signal.set_wakeup_fd lets you control
549whether Python prints a warning on stderr when the wakeup fd buffer
550overflows.
551
552..
553
554.. bpo: 29137
555.. date: 2017-12-10-21-19-14
556.. nonce: CFcON1
557.. section: Library
558
559The ``fpectl`` library has been removed. It was never enabled by default,
560never worked correctly on x86-64, and it changed the Python ABI in ways that
561caused unexpected breakage of C extensions.
562
563..
564
565.. bpo: 32273
566.. date: 2017-12-10-19-14-55
567.. nonce: 5KKlCv
568.. section: Library
569
570Move asyncio.test_utils to test.test_asyncio.
571
572..
573
574.. bpo: 32272
575.. date: 2017-12-10-18-59-13
576.. nonce: Mu84Am
577.. section: Library
578
579Remove asyncio.async() function.
580
581..
582
583.. bpo: 32269
584.. date: 2017-12-10-12-30-13
585.. nonce: Q85pKj
586.. section: Library
587
588Add asyncio.get_running_loop() function.
589
590..
591
592.. bpo: 32265
593.. date: 2017-12-10-00-57-51
594.. nonce: kELtTE
595.. section: Library
596
597All class and static methods of builtin types now are correctly classified
598by inspect.classify_class_attrs() and grouped in pydoc ouput. Added
599types.ClassMethodDescriptorType for unbound class methods of builtin types.
600
601..
602
603.. bpo: 32253
604.. date: 2017-12-09-11-30-35
605.. nonce: TQHSYF
606.. section: Library
607
608Deprecate ``yield from lock``, ``await lock``, ``with (yield from lock)``
609and ``with await lock`` for asyncio synchronization primitives.
610
611..
612
613.. bpo: 22589
614.. date: 2017-12-08-15-09-41
615.. nonce: 8ouqI6
616.. section: Library
617
618Changed MIME type of .bmp from 'image/x-ms-bmp' to 'image/bmp'
619
620..
621
622.. bpo: 32193
623.. date: 2017-12-08-11-02-26
624.. nonce: NJe_TQ
625.. section: Library
626
627Convert asyncio to use *async/await* syntax. Old styled ``yield from`` is
628still supported too.
629
630..
631
632.. bpo: 32206
633.. date: 2017-12-07-13-14-40
634.. nonce: obm4OM
635.. section: Library
636
637Add support to run modules with pdb
638
639..
640
641.. bpo: 32227
642.. date: 2017-12-05-13-25-15
643.. nonce: 3vnWFS
644.. section: Library
645
646``functools.singledispatch`` now supports registering implementations using
647type annotations.
648
649..
650
651.. bpo: 15873
652.. date: 2017-12-04-17-41-40
653.. nonce: -T4TRK
654.. section: Library
655
656Added new alternate constructors :meth:`datetime.datetime.fromisoformat`,
657:meth:`datetime.time.fromisoformat` and :meth:`datetime.date.fromisoformat`
658as the inverse operation of each classes's respective ``isoformat`` methods.
659
660..
661
662.. bpo: 32199
663.. date: 2017-12-04-12-23-26
664.. nonce: nGof4v
665.. section: Library
666
667The getnode() ip getter now uses 'ip link' instead of 'ip link list'.
668
669..
670
671.. bpo: 32143
672.. date: 2017-11-26-17-28-26
673.. nonce: o7YdXL
674.. section: Library
675
676os.statvfs() includes the f_fsid field from statvfs(2)
677
678..
679
680.. bpo: 26439
681.. date: 2017-11-24-08-35-43
682.. nonce: IC45_f
683.. section: Library
684
685Fix ctypes.util.find_library() for AIX by implementing
686ctypes._aix.find_library() Patch by: Michael Felt
687
688..
689
690.. bpo: 31993
691.. date: 2017-11-10-00-05-08
692.. nonce: -OMNg8
693.. section: Library
694
Serhiy Storchaka5b76bdb2018-01-13 00:28:31 +0200695The pickler now uses less memory when serializing large bytes and str
696objects into a file. Pickles created with protocol 4 will require less
697memory for unpickling large bytes and str objects.
Ned Deily3b43bfa2018-01-08 21:57:13 -0500698
699..
700
701.. bpo: 27456
702.. date: 2017-11-02-11-57-41
703.. nonce: snzyTC
704.. section: Library
705
706Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner.
707
708..
709
710.. bpo: 31778
711.. date: 2017-10-18-17-29-30
712.. nonce: B6vAkP
713.. section: Library
714
715ast.literal_eval() is now more strict. Addition and subtraction of arbitrary
716numbers no longer allowed.
717
718..
719
720.. bpo: 31802
721.. date: 2017-10-17-14-52-14
722.. nonce: sYj2Zv
723.. section: Library
724
725Importing native path module (``posixpath``, ``ntpath``) now works even if
726the ``os`` module still is not imported.
727
728..
729
730.. bpo: 30241
731.. date: 2017-10-10-18-56-46
732.. nonce: F_go20
733.. section: Library
734
735Add contextlib.AbstractAsyncContextManager. Patch by Jelle Zijlstra.
736
737..
738
739.. bpo: 31699
740.. date: 2017-10-05-11-06-32
741.. nonce: MF47Y6
742.. section: Library
743
744Fix deadlocks in :class:`concurrent.futures.ProcessPoolExecutor` when task
745arguments or results cause pickling or unpickling errors. This should make
746sure that calls to the :class:`ProcessPoolExecutor` API always eventually
747return.
748
749..
750
751.. bpo: 15216
752.. date: 2017-09-16-02-56-33
753.. nonce: lqXCTT
754.. section: Library
755
756``TextIOWrapper.reconfigure()`` supports changing *encoding*, *errors*, and
757*newline*.
758
759..
760
761.. bpo: 32418
762.. date: 2017-12-24-17-29-37
763.. nonce: eZe-ID
764.. section: Documentation
765
766Add get_loop() method to Server and AbstractServer classes.
767
768..
769
770.. bpo: 32252
771.. date: 2017-12-11-13-31-33
772.. nonce: YnFw7J
773.. section: Tests
774
775Fix faulthandler_suppress_crash_report() used to prevent core dump files
776when testing crashes. getrlimit() returns zero on success.
777
778..
779
780.. bpo: 32002
781.. date: 2017-11-11-16-35-18
782.. nonce: itDxIo
783.. section: Tests
784
785Adjust C locale coercion testing for the empty locale and POSIX locale cases
786to more readily adjust to platform dependent behaviour.
787
788..
789
790.. bpo: 19764
791.. date: 2017-08-18-18-00-24
792.. nonce: ODpc9y
793.. section: Windows
794
795Implement support for `subprocess.Popen(close_fds=True)` on Windows. Patch
796by Segev Finer.
797
798..
799
800.. bpo: 24960
801.. date: 2017-12-22-09-25-51
802.. nonce: TGdAgO
803.. section: Tools/Demos
804
8052to3 and lib2to3 can now read pickled grammar files using pkgutil.get_data()
806rather than probing the filesystem. This lets 2to3 and lib2to3 work when run
807from a zipfile.
808
809..
810
811.. bpo: 32030
812.. date: 2017-12-20-23-22-32
813.. nonce: d1dcwh
814.. section: C API
815
816Py_Initialize() doesn't reset the memory allocators to default if the
817``PYTHONMALLOC`` environment variable is not set.
818
819..
820
821.. bpo: 29084
822.. date: 2017-12-16-09-59-35
823.. nonce: ZGJ-LJ
824.. section: C API
825
826Undocumented C API for OrderedDict has been excluded from the limited C API.
827It was added by mistake and actually never worked in the limited C API.
828
829..
830
831.. bpo: 32264
832.. date: 2017-12-12-23-09-46
833.. nonce: ahRlOI
834.. section: C API
835
836Moved the pygetopt.h header into internal/, since it has no public APIs.
837
838..
839
840.. bpo: 32241
841.. date: 2017-12-07-15-58-15
842.. nonce: LbyQt6
843.. section: C API
844
845:c:func:`Py_SetProgramName` and :c:func:`Py_SetPythonHome` now take the
846``const wchar *`` arguments instead of ``wchar *``.