blob: 8ef7a5118a1f55839f91597c68fe8b4cc40c2d9e [file] [log] [blame]
Ned Deily3f9a7282017-12-05 03:17:33 -05001.. bpo: 32176
2.. date: 2017-12-02-21-37-22
3.. nonce: Wt25-N
4.. release date: 2017-12-05
5.. section: Core and Builtins
6
7co_flags.CO_NOFREE is now always set correctly by the code object
8constructor based on freevars and cellvars, rather than needing to be set
9correctly by the caller. This ensures it will be cleared automatically when
10additional cell references are injected into a modified code object and
11function.
12
13..
14
15.. bpo: 10544
16.. date: 2017-11-27-08-37-34
17.. nonce: 07nioT
18.. section: Core and Builtins
19
20Yield expressions are now deprecated in comprehensions and generator
21expressions. They are still permitted in the definition of the outermost
22iterable, as that is evaluated directly in the enclosing scope.
23
24..
25
26.. bpo: 32137
27.. date: 2017-11-26-14-36-30
28.. nonce: Stj5nL
29.. section: Core and Builtins
30
31The repr of deeply nested dict now raises a RecursionError instead of
32crashing due to a stack overflow.
33
34..
35
36.. bpo: 32096
37.. date: 2017-11-24-01-13-58
38.. nonce: CQTHXJ
39.. section: Core and Builtins
40
41Revert memory allocator changes in the C API: move structures back from
42_PyRuntime to Objects/obmalloc.c. The memory allocators are once again
43initialized statically, and so PyMem_RawMalloc() and Py_DecodeLocale() can
44be called before _PyRuntime_Initialize().
45
46..
47
48.. bpo: 32043
49.. date: 2017-11-16-03-44-08
50.. nonce: AAzwpZ
51.. section: Core and Builtins
52
53Add a new "developer mode": new "-X dev" command line option to enable debug
54checks at runtime.
55
56..
57
58.. bpo: 32023
59.. date: 2017-11-15-10-49-35
60.. nonce: XnCGT5
61.. section: Core and Builtins
62
63SyntaxError is now correctly raised when a generator expression without
64parenthesis is used instead of an inheritance list in a class definition.
65The duplication of the parentheses can be omitted only on calls.
66
67..
68
69.. bpo: 32012
70.. date: 2017-11-13-00-37-11
71.. nonce: Kprjqe
72.. section: Core and Builtins
73
74SyntaxError is now correctly raised when a generator expression without
75parenthesis is passed as an argument, but followed by a trailing comma. A
76generator expression always needs to be directly inside a set of parentheses
77and cannot have a comma on either side.
78
79..
80
81.. bpo: 28180
82.. date: 2017-11-12-11-44-22
83.. nonce: HQX000
84.. section: Core and Builtins
85
86A new internal ``_Py_SetLocaleFromEnv(category)`` helper function has been
87added in order to improve the consistency of behaviour across different
88``libc`` implementations (e.g. Android doesn't support setting the locale
89from the environment by default).
90
91..
92
93.. bpo: 31949
94.. date: 2017-11-05-16-11-07
95.. nonce: 2yNC_z
96.. section: Core and Builtins
97
98Fixed several issues in printing tracebacks (PyTraceBack_Print()).
Julien Palard137be342019-05-09 21:52:32 +020099Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks.
100Setting sys.tracebacklimit to None now causes using the default limit.
101Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using
102the limit LONG_MAX rather than the default limit.
103Fixed integer overflows in the case of more than 2**31 traceback items on
104Windows.
105Fixed output errors handling.
Ned Deily3f9a7282017-12-05 03:17:33 -0500106
107..
108
109.. bpo: 30696
110.. date: 2017-10-28-22-06-03
111.. nonce: lhC3HE
112.. section: Core and Builtins
113
114Fix the interactive interpreter looping endlessly when no memory.
115
116..
117
118.. bpo: 20047
119.. date: 2017-10-28-19-11-05
120.. nonce: GuNAto
121.. section: Core and Builtins
122
123Bytearray methods partition() and rpartition() now accept only bytes-like
124objects as separator, as documented. In particular they now raise TypeError
125rather of returning a bogus result when an integer is passed as a separator.
126
127..
128
129.. bpo: 21720
130.. date: 2017-10-25-15-51-37
131.. nonce: BwIKLP
132.. section: Core and Builtins
133
134BytesWarning no longer emitted when the *fromlist* argument of
135``__import__()`` or the ``__all__`` attribute of the module contain bytes
136instances.
137
138..
139
140.. bpo: 31845
141.. date: 2017-10-24-21-27-32
142.. nonce: 8OS-k3
143.. section: Core and Builtins
144
145Environment variables are once more read correctly at interpreter startup.
146
147..
148
149.. bpo: 28936
150.. date: 2017-10-23-23-39-26
151.. nonce: C288Jh
152.. section: Core and Builtins
153
154Ensure that lexically first syntax error involving a parameter and
155``global`` or ``nonlocal`` is detected first at a given scope. Patch by Ivan
156Levkivskyi.
157
158..
159
160.. bpo: 31825
161.. date: 2017-10-20-14-07-46
162.. nonce: gJvmGW
163.. section: Core and Builtins
164
165Fixed OverflowError in the 'unicode-escape' codec and in
166codecs.escape_decode() when decode an escaped non-ascii byte.
167
168..
169
170.. bpo: 31618
171.. date: 2017-10-18-19-41-12
172.. nonce: liLDiS
173.. section: Core and Builtins
174
175The per-frame tracing logic added in 3.7a1 has been altered so that
176``frame->f_lineno`` is updated before either ``"line"`` or ``"opcode"``
177events are emitted. Previously, opcode events were emitted first, and
178therefore would occasionally see stale line numbers on the frame. The
179behavior of this feature has changed slightly as a result: when both
180``f_trace_lines`` and ``f_trace_opcodes`` are enabled, line events now occur
181first.
182
183..
184
185.. bpo: 28603
186.. date: 2017-10-17-13-29-19
187.. nonce: _-oia3
188.. section: Core and Builtins
189
190Print the full context/cause chain of exceptions on interpreter exit, even
191if an exception in the chain is unhashable or compares equal to later ones.
192Patch by Zane Bitter.
193
194..
195
196.. bpo: 31786
197.. date: 2017-10-15-23-44-57
198.. nonce: XwdEP4
199.. section: Core and Builtins
200
201Fix timeout rounding in the select module to round correctly negative
202timeouts between -1.0 and 0.0. The functions now block waiting for events as
203expected. Previously, the call was incorrectly non-blocking. Patch by Pablo
204Galindo.
205
206..
207
208.. bpo: 31781
209.. date: 2017-10-13-20-01-47
210.. nonce: cXE9SM
211.. section: Core and Builtins
212
213Prevent crashes when calling methods of an uninitialized
214``zipimport.zipimporter`` object. Patch by Oren Milman.
215
216..
217
218.. bpo: 30399
219.. date: 2017-10-12-22-21-01
220.. nonce: 45f1gv
221.. section: Core and Builtins
222
223Standard repr() of BaseException with a single argument no longer contains
224redundant trailing comma.
225
226..
227
228.. bpo: 31626
229.. date: 2017-10-01-15-48-03
230.. nonce: reLPxY
231.. section: Core and Builtins
232
233Fixed a bug in debug memory allocator. There was a write to freed memory
234after shrinking a memory block.
235
236..
237
238.. bpo: 30817
239.. date: 2017-07-01-15-11-13
240.. nonce: j7ZvN_
241.. section: Core and Builtins
242
243`PyErr_PrintEx()` clears now the ignored exception that may be raised by
244`_PySys_SetObjectId()`, for example when no memory.
245
246..
247
248.. bpo: 28556
249.. date: 2017-12-05-02-03-07
250.. nonce: 9Z_PsJ
251.. section: Library
252
253Two minor fixes for ``typing`` module: allow shallow copying instances of
254generic classes, improve interaction of ``__init_subclass__`` with generics.
255Original PRs by Ivan Levkivskyi.
256
257..
258
259.. bpo: 32214
260.. date: 2017-12-04-15-51-57
261.. nonce: uozdNj
262.. section: Library
263
264PEP 557, Data Classes. Provides a decorator which adds boilerplate methods
265to classes which use type annotations so specify fields.
266
267..
268
269.. bpo: 27240
270.. date: 2017-12-02-16-06-00
271.. nonce: Kji34M
272.. section: Library
273
274The header folding algorithm for the new email policies has been rewritten,
275which also fixes bpo-30788, bpo-31831, and bpo-32182. In particular,
276RFC2231 folding is now done correctly.
277
278..
279
280.. bpo: 32186
281.. date: 2017-11-30-20-38-16
282.. nonce: O42bVe
283.. section: Library
284
285io.FileIO.readall() and io.FileIO.read() now release the GIL when getting
286the file size. Fixed hang of all threads with inaccessible NFS server. Patch
287by Nir Soffer.
288
289..
290
291.. bpo: 321010
292.. date: 2017-11-29-00-42-47
293.. nonce: -axD5l
294.. section: Library
295
296Add :attr:`sys.flags.dev_mode` flag
297
298..
299
300.. bpo: 32154
301.. date: 2017-11-28-15-27-10
302.. nonce: kDox7L
303.. section: Library
304
305The ``asyncio.windows_utils.socketpair()`` function has been removed: use
306directly :func:`socket.socketpair` which is available on all platforms since
307Python 3.5 (before, it wasn't available on Windows).
308``asyncio.windows_utils.socketpair()`` was just an alias to
309``socket.socketpair`` on Python 3.5 and newer.
310
311..
312
313.. bpo: 32089
314.. date: 2017-11-27-11-29-34
315.. nonce: 6ydDYv
316.. section: Library
317
318warnings: In development (-X dev) and debug mode (pydebug build), use the
319"default" action for ResourceWarning, rather than the "always" action, in
320the default warnings filters.
321
322..
323
324.. bpo: 32107
325.. date: 2017-11-26-18-48-17
326.. nonce: h2ph2K
327.. section: Library
328
329``uuid.getnode()`` now preferentially returns universally administered MAC
330addresses if available, over locally administered MAC addresses. This makes
331a better guarantee for global uniqueness of UUIDs returned from
332``uuid.uuid1()``. If only locally administered MAC addresses are available,
333the first such one found is returned.
334
335..
336
337.. bpo: 23033
338.. date: 2017-11-26-17-00-52
339.. nonce: YGXRWT
340.. section: Library
341
342Wildcard is now supported in hostname when it is one and only character in
343the left most segment of hostname in second argument of
344:meth:`ssl.match_hostname`. Patch by Mandeep Singh.
345
346..
347
348.. bpo: 12239
349.. date: 2017-11-24-14-07-55
350.. nonce: Nj3A0x
351.. section: Library
352
353Make :meth:`msilib.SummaryInformation.GetProperty` return ``None`` when the
354value of property is ``VT_EMPTY``. Initial patch by Mark Mc Mahon.
355
356..
357
358.. bpo: 28334
359.. date: 2017-11-24-11-50-41
360.. nonce: 3gGGlt
361.. section: Library
362
363Use :func:`os.path.expanduser` to find the ``~/.netrc`` file in
364:class:`netrc.netrc`. If it does not exist, :exc:`FileNotFoundError` is
365raised. Patch by Dimitri Merejkowsky.
366
367..
368
369.. bpo: 32121
370.. date: 2017-11-24-00-59-12
371.. nonce: ePbmwC
372.. section: Library
373
374Made ``tracemalloc.Traceback`` behave more like the traceback module,
375sorting the frames from oldest to most recent. ``Traceback.format()`` now
376accepts negative *limit*, truncating the result to the ``abs(limit)`` oldest
377frames. To get the old behaviour, one can use the new *most_recent_first*
378argument to ``Traceback.format()``. (Patch by Jesse Bakker.)
379
380..
381
382.. bpo: 31325
383.. date: 2017-11-23-22-12-11
384.. nonce: 8jAUxN
385.. section: Library
386
387Fix wrong usage of :func:`collections.namedtuple` in the
388:meth:`RobotFileParser.parse() <urllib.robotparser.RobotFileParser.parse>`
389method.
Ned Deily3f9a7282017-12-05 03:17:33 -0500390Initial patch by Robin Wellner.
391
392..
393
394.. bpo: 12382
395.. date: 2017-11-23-21-47-36
396.. nonce: xWT9k0
397.. section: Library
398
399:func:`msilib.OpenDatabase` now raises a better exception message when it
400couldn't open or create an MSI file. Initial patch by William Tisäter.
401
402..
403
404.. bpo: 19610
405.. date: 2017-11-23-16-15-55
406.. nonce: Dlca2P
407.. section: Library
408
409``setup()`` now warns about invalid types for some fields.
Ned Deily3f9a7282017-12-05 03:17:33 -0500410The ``distutils.dist.Distribution`` class now warns when ``classifiers``,
411``keywords`` and ``platforms`` fields are not specified as a list or a
412string.
413
414..
415
416.. bpo: 32071
417.. date: 2017-11-22-19-52-17
418.. nonce: 4WNhUH
419.. section: Library
420
421Added the ``-k`` command-line option to ``python -m unittest`` to run only
422tests that match the given pattern(s).
423
424..
425
426.. bpo: 10049
427.. date: 2017-11-22-17-21-01
428.. nonce: ttsBqb
429.. section: Library
430
431Added *nullcontext* no-op context manager to contextlib. This provides a
432simpler and faster alternative to ExitStack() when handling optional context
433managers.
434
435..
436
437.. bpo: 28684
438.. date: 2017-11-22-12-54-46
439.. nonce: NLiDKZ
440.. section: Library
441
442The new test.support.skip_unless_bind_unix_socket() decorator is used here
443to skip asyncio tests that fail because the platform lacks a functional
444bind() function for unix domain sockets (as it is the case for non root
445users on the recent Android versions that run now SELinux in enforcing
446mode).
447
448..
449
450.. bpo: 32110
451.. date: 2017-11-22-09-44-15
452.. nonce: VJa9bo
453.. section: Library
454
455``codecs.StreamReader.read(n)`` now returns not more than *n*
456characters/bytes for non-negative *n*. This makes it compatible with
457``read()`` methods of other file-like objects.
458
459..
460
461.. bpo: 27535
462.. date: 2017-11-21-16-05-35
463.. nonce: JLhcNz
464.. section: Library
465
466The warnings module doesn't leak memory anymore in the hidden warnings
467registry for the "ignore" action of warnings filters. warn_explicit()
468function doesn't add the warning key to the registry anymore for the
469"ignore" action.
470
471..
472
473.. bpo: 32088
474.. date: 2017-11-20-15-28-31
475.. nonce: mV-4Nu
476.. section: Library
477
478warnings: When Python is build is debug mode (``Py_DEBUG``),
479:exc:`DeprecationWarning`, :exc:`PendingDeprecationWarning` and
480:exc:`ImportWarning` warnings are now displayed by default.
481
482..
483
484.. bpo: 1647489
485.. date: 2017-11-20-01-29-46
486.. nonce: -ZNNkh
487.. section: Library
488
489Fixed searching regular expression patterns that could match an empty
490string. Non-empty string can now be correctly found after matching an empty
491string.
492
493..
494
495.. bpo: 25054
496.. date: 2017-11-20-01-01-01
497.. nonce: rOlRV6
498.. section: Library
499
500Added support of splitting on a pattern that could match an empty string.
501
502..
503
504.. bpo: 32072
505.. date: 2017-11-18-21-13-52
506.. nonce: nwDV8L
507.. section: Library
508
509Fixed issues with binary plists:
Julien Palard137be342019-05-09 21:52:32 +0200510Fixed saving bytearrays.
511Identical objects will be saved only once.
512Equal references will be load as identical objects.
513Added support for saving and loading recursive data structures.
Ned Deily3f9a7282017-12-05 03:17:33 -0500514
515..
516
517.. bpo: 32069
518.. date: 2017-11-18-17-09-01
519.. nonce: S0wyy4
520.. section: Library
521
522Drop legacy SSL transport from asyncio, ssl.MemoryBIO is always used anyway.
523
524..
525
526.. bpo: 32066
527.. date: 2017-11-17-18-28-53
528.. nonce: OMQFLH
529.. section: Library
530
531asyncio: Support pathlib.Path in create_unix_connection; sock arg should be
532optional
533
534..
535
536.. bpo: 32046
537.. date: 2017-11-16-20-09-45
538.. nonce: 9sGDtw
539.. section: Library
540
541Updates 2to3 to convert from operator.isCallable(obj) to callable(obj).
542Patch by Dong-hee Na.
543
544..
545
546.. bpo: 32018
547.. date: 2017-11-16-02-32-41
548.. nonce: YMQ7Q2
549.. section: Library
550
Stéphane Wirtel12e696b2018-10-27 00:58:26 +0200551inspect.signature should follow :pep:`8`, if the parameter has an annotation
Ned Deily3f9a7282017-12-05 03:17:33 -0500552and a default value. Patch by Dong-hee Na.
553
554..
555
556.. bpo: 32025
557.. date: 2017-11-15-20-03-45
558.. nonce: lnIKYT
559.. section: Library
560
561Add time.thread_time() and time.thread_time_ns()
562
563..
564
565.. bpo: 32037
566.. date: 2017-11-15-19-04-22
567.. nonce: r8-5Nk
568.. section: Library
569
570Integers that fit in a signed 32-bit integer will be now pickled with
571protocol 0 using the INT opcode. This will decrease the size of a pickle,
572speed up pickling and unpickling, and make these integers be unpickled as
573int instances in Python 2.
574
575..
576
577.. bpo: 32034
578.. date: 2017-11-15-13-44-28
579.. nonce: uHAOmu
580.. section: Library
581
582Make asyncio.IncompleteReadError and LimitOverrunError pickleable.
583
584..
585
586.. bpo: 32015
587.. date: 2017-11-13-17-48-33
588.. nonce: 4nqRTD
589.. section: Library
590
591Fixed the looping of asyncio in the case of reconnection the socket during
592waiting async read/write from/to the socket.
593
594..
595
596.. bpo: 32011
597.. date: 2017-11-12-20-47-59
598.. nonce: NzVDdZ
599.. section: Library
600
601Restored support of loading marshal files with the TYPE_INT64 code. These
602files can be produced in Python 2.7.
603
604..
605
606.. bpo: 28369
607.. date: 2017-11-10-16-27-26
608.. nonce: IS74nd
609.. section: Library
610
611Enhance add_reader/writer check that socket is not used by some transport.
612Before, only cases when add_reader/writer were called with an int FD were
613supported. Now the check is implemented correctly for all file-like
614objects.
615
616..
617
618.. bpo: 31976
619.. date: 2017-11-09-21-36-32
620.. nonce: EOA7qY
621.. section: Library
622
623Fix race condition when flushing a file is slow, which can cause a segfault
624if closing the file from another thread.
625
626..
627
628.. bpo: 31985
629.. date: 2017-11-08-16-51-52
630.. nonce: dE_fOB
631.. section: Library
632
633Formally deprecated aifc.openfp, sunau.openfp, and wave.openfp. Since change
6347bc817d5ba917528e8bd07ec461c635291e7b06a in 1993, openfp in each of the
Stéphane Wirtel683281f2018-10-06 16:35:53 +0200635three modules had been pointing to that module's open function as a matter
Ned Deily3f9a7282017-12-05 03:17:33 -0500636of backwards compatibility, though it had been both untested and
637undocumented.
638
639..
640
641.. bpo: 21862
642.. date: 2017-11-07-15-19-52
643.. nonce: RwietE
644.. section: Library
645
646cProfile command line now accepts `-m module_name` as an alternative to
647script path. Patch by Sanyam Khurana.
648
649..
650
651.. bpo: 31970
652.. date: 2017-11-07-14-20-09
653.. nonce: x4EN_9
654.. section: Library
655
656Reduce performance overhead of asyncio debug mode.
657
658..
659
660.. bpo: 31843
661.. date: 2017-11-07-00-37-50
662.. nonce: lM2gkR
663.. section: Library
664
665*database* argument of sqlite3.connect() now accepts a :term:`path-like
666object`, instead of just a string.
667
668..
669
670.. bpo: 31945
671.. date: 2017-11-05-01-17-12
672.. nonce: TLPBtS
673.. section: Library
674
675Add Configurable *blocksize* to ``HTTPConnection`` and ``HTTPSConnection``
676for improved upload throughput. Patch by Nir Soffer.
677
678..
679
680.. bpo: 31943
681.. date: 2017-11-04-19-28-08
682.. nonce: bxw5gM
683.. section: Library
684
685Add a ``cancelled()`` method to :class:`asyncio.Handle`. Patch by Marat
686Sharafutdinov.
687
688..
689
690.. bpo: 9678
691.. date: 2017-11-03-22-05-47
692.. nonce: oD51q6
693.. section: Library
694
695Fixed determining the MAC address in the uuid module:
Julien Palard137be342019-05-09 21:52:32 +0200696Using ifconfig on NetBSD and OpenBSD.
697Using arp on Linux, FreeBSD, NetBSD and OpenBSD.
Ned Deily3f9a7282017-12-05 03:17:33 -0500698Based on patch by Takayuki Shimizukawa.
699
700..
701
702.. bpo: 30057
703.. date: 2017-11-03-19-11-43
704.. nonce: NCaijI
705.. section: Library
706
707Fix potential missed signal in signal.signal().
708
709..
710
711.. bpo: 31933
712.. date: 2017-11-03-08-36-03
713.. nonce: UrtoMP
714.. section: Library
715
716Fix Blake2 params leaf_size and node_offset on big endian platforms. Patch
717by Jack O'Connor.
718
719..
720
721.. bpo: 21423
722.. date: 2017-11-02-22-26-16
723.. nonce: hw5mEh
724.. section: Library
725
726Add an initializer argument to {Process,Thread}PoolExecutor
727
728..
729
730.. bpo: 31927
731.. date: 2017-11-02-18-26-40
732.. nonce: 40K6kp
733.. section: Library
734
735Fixed compilation of the socket module on NetBSD 8. Fixed assertion failure
736or reading arbitrary data when parse a AF_BLUETOOTH address on NetBSD and
737DragonFly BSD.
738
739..
740
741.. bpo: 27666
742.. date: 2017-11-01-18-13-42
743.. nonce: j2zRnF
744.. section: Library
745
746Fixed stack corruption in curses.box() and curses.ungetmouse() when the size
747of types chtype or mmask_t is less than the size of C long. curses.box()
748now accepts characters as arguments. Based on patch by Steve Fink.
749
750..
751
752.. bpo: 31917
753.. date: 2017-11-01-03-28-24
754.. nonce: DYQL0g
755.. section: Library
756
757Add 3 new clock identifiers: :data:`time.CLOCK_BOOTTIME`,
758:data:`time.CLOCK_PROF` and :data:`time.CLOCK_UPTIME`.
759
760..
761
762.. bpo: 31897
763.. date: 2017-10-30-11-04-56
764.. nonce: yjwdEb
765.. section: Library
766
767plistlib now catches more errors when read binary plists and raises
768InvalidFileException instead of unexpected exceptions.
769
770..
771
772.. bpo: 25720
773.. date: 2017-10-29-17-52-40
774.. nonce: vSvb5h
775.. section: Library
776
777Fix the method for checking pad state of curses WINDOW. Patch by Masayuki
778Yamamoto.
779
780..
781
782.. bpo: 31893
783.. date: 2017-10-29-13-51-01
784.. nonce: 8LZKEz
785.. section: Library
786
787Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed
788the comparison of the kqueue_event objects.
789
790..
791
792.. bpo: 31891
793.. date: 2017-10-29-11-23-24
794.. nonce: 9kAPha
795.. section: Library
796
797Fixed building the curses module on NetBSD.
798
799..
800
801.. bpo: 31884
802.. date: 2017-10-27
803.. nonce: bjhre9
804.. section: Library
805
Stéphane Wirtel683281f2018-10-06 16:35:53 +0200806added required constants to subprocess module for setting priority on
Ned Deily3f9a7282017-12-05 03:17:33 -0500807windows
808
809..
810
811.. bpo: 28281
812.. date: 2017-10-26-14-54-38
813.. nonce: 7ZN5FG
814.. section: Library
815
816Remove year (1-9999) limits on the Calendar.weekday() function.
Ned Deily3f9a7282017-12-05 03:17:33 -0500817Patch by Mark Gollahon.
818
819..
820
821.. bpo: 31702
822.. date: 2017-10-24-21-10-44
823.. nonce: SfwJDI
824.. section: Library
825
826crypt.mksalt() now allows to specify the number of rounds for SHA-256 and
827SHA-512 hashing.
828
829..
830
831.. bpo: 30639
832.. date: 2017-10-24-12-24-56
833.. nonce: ptNM9a
834.. section: Library
835
836:func:`inspect.getfile` no longer computes the repr of unknown objects to
837display in an error message, to protect against badly behaved custom reprs.
838
839..
840
841.. bpo: 30768
842.. date: 2017-10-24-12-00-16
843.. nonce: Om8Yj_
844.. section: Library
845
846Fix the pthread+semaphore implementation of PyThread_acquire_lock_timed()
847when called with timeout > 0 and intr_flag=0: recompute the timeout if
848sem_timedwait() is interrupted by a signal (EINTR). See also the :pep:`475`.
849
850..
851
852.. bpo: 31854
853.. date: 2017-10-23
854.. nonce: fh8334f
855.. section: Library
856
857Add ``mmap.ACCESS_DEFAULT`` constant.
858
859..
860
861.. bpo: 31834
862.. date: 2017-10-23-23-27-52
863.. nonce: InwC6O
864.. section: Library
865
866Use optimized code for BLAKE2 only with SSSE3+. The pure SSE2 implementation
867is slower than the pure C reference implementation.
868
869..
870
871.. bpo: 28292
872.. date: 2017-10-23-20-03-36
873.. nonce: 1Gkim2
874.. section: Library
875
876Calendar.itermonthdates() will now consistently raise an exception when a
877date falls outside of the 0001-01-01 through 9999-12-31 range. To support
878applications that cannot tolerate such exceptions, the new methods
879itermonthdays3() and itermonthdays4() are added. The new methods return
880tuples and are not restricted by the range supported by datetime.date.
881
882..
883
884.. bpo: 28564
885.. date: 2017-10-23-16-22-54
886.. nonce: Tx-l-I
887.. section: Library
888
889The shutil.rmtree() function has been sped up to 20--40%. This was done
890using the os.scandir() function.
891
892..
893
894.. bpo: 28416
895.. date: 2017-10-23-12-05-33
896.. nonce: Ldnw8X
897.. section: Library
898
899Instances of pickle.Pickler subclass with the persistent_id() method and
900pickle.Unpickler subclass with the persistent_load() method no longer create
901reference cycles.
902
903..
904
905.. bpo: 31653
906.. date: 2017-10-22-12-43-03
907.. nonce: ttfGvq
908.. section: Library
909
910Don't release the GIL if we can acquire a multiprocessing semaphore
911immediately.
912
913..
914
915.. bpo: 28326
916.. date: 2017-10-22-11-06-02
917.. nonce: rxh7L4
918.. section: Library
919
920Fix multiprocessing.Process when stdout and/or stderr is closed or None.
921
922..
923
924.. bpo: 20825
925.. date: 2017-10-21-09-13-16
926.. nonce: -1MBEy
927.. section: Library
928
929Add `subnet_of` and `superset_of` containment tests to
930:class:`ipaddress.IPv6Network` and :class:`ipaddress.IPv4Network`. Patch by
931Michel Albert and Cheryl Sabella.
932
933..
934
935.. bpo: 31827
936.. date: 2017-10-20-16-12-01
937.. nonce: 7R8s8s
938.. section: Library
939
940Remove the os.stat_float_times() function. It was introduced in Python 2.3
941for backward compatibility with Python 2.2, and was deprecated since Python
9423.1.
943
944..
945
946.. bpo: 31756
947.. date: 2017-10-20-12-57-52
948.. nonce: IxCvGB
949.. section: Library
950
951Add a ``subprocess.Popen(text=False)`` keyword argument to `subprocess`
952functions to be more explicit about when the library should attempt to
953decode outputs into text. Patch by Andrew Clegg.
954
955..
956
957.. bpo: 31819
958.. date: 2017-10-19-20-03-13
959.. nonce: mw2wF9
960.. section: Library
961
962Add AbstractEventLoop.sock_recv_into().
963
964..
965
966.. bpo: 31457
967.. date: 2017-10-18-19-05-17
968.. nonce: KlE6r8
969.. section: Library
970
971If nested log adapters are used, the inner ``process()`` methods are no
972longer omitted.
973
974..
975
976.. bpo: 31457
977.. date: 2017-10-18-16-48-09
978.. nonce: _ovmzp
979.. section: Library
980
981The ``manager`` property on LoggerAdapter objects is now properly settable.
982
983..
984
985.. bpo: 31806
986.. date: 2017-10-17-23-27-03
987.. nonce: TzphdL
988.. section: Library
989
990Fix timeout rounding in time.sleep(), threading.Lock.acquire() and
991socket.socket.settimeout() to round correctly negative timeouts between -1.0
992and 0.0. The functions now block waiting for events as expected. Previously,
993the call was incorrectly non-blocking. Patch by Pablo Galindo.
994
995..
996
997.. bpo: 31803
998.. date: 2017-10-17-22-55-13
999.. nonce: YLL1gJ
1000.. section: Library
1001
1002time.clock() and time.get_clock_info('clock') now emit a DeprecationWarning
1003warning.
1004
1005..
1006
1007.. bpo: 31800
1008.. date: 2017-10-17-20-08-19
1009.. nonce: foOSCi
1010.. section: Library
1011
1012Extended support for parsing UTC offsets. strptime '%z' can now parse the
1013output generated by datetime.isoformat, including seconds and microseconds.
1014
1015..
1016
1017.. bpo: 28603
1018.. date: 2017-10-17-12-29-18
1019.. nonce: tGuX2C
1020.. section: Library
1021
1022traceback: Fix a TypeError that occurred during printing of exception
1023tracebacks when either the current exception or an exception in its
1024context/cause chain is unhashable. Patch by Zane Bitter.
1025
1026..
1027
1028.. bpo: 30541
1029.. date: 2017-10-17-12-04-37
1030.. nonce: q3BM6C
1031.. section: Library
1032
1033Add new function to seal a mock and prevent the automatically creation of
1034child mocks. Patch by Mario Corchero.
1035
1036..
1037
1038.. bpo: 31784
1039.. date: 2017-10-13-23-35-47
1040.. nonce: 6e57bd
1041.. section: Library
1042
1043Implement the :pep:`564`, add new 6 new functions with nanosecond resolution
1044to the :mod:`time` module: :func:`~time.clock_gettime_ns`,
1045:func:`~time.clock_settime_ns`, :func:`~time.monotonic_ns`,
1046:func:`~time.perf_counter_ns`, :func:`~time.process_time_ns`,
1047:func:`~time.time_ns`.
1048
1049..
1050
1051.. bpo: 30143
1052.. date: 2017-10-12-19-05-54
1053.. nonce: 25_hU1
1054.. section: Library
1055
10562to3 now generates a code that uses abstract collection classes from
1057collections.abc rather than collections.
1058
1059..
1060
1061.. bpo: 31770
1062.. date: 2017-10-12-18-45-38
1063.. nonce: GV3MPx
1064.. section: Library
1065
1066Prevent a crash when calling the ``__init__()`` method of a
1067``sqlite3.Cursor`` object more than once. Patch by Oren Milman.
1068
1069..
1070
1071.. bpo: 31764
1072.. date: 2017-10-11-22-18-04
1073.. nonce: EMyIkK
1074.. section: Library
1075
1076Prevent a crash in ``sqlite3.Cursor.close()`` in case the ``Cursor`` object
1077is uninitialized. Patch by Oren Milman.
1078
1079..
1080
1081.. bpo: 31752
1082.. date: 2017-10-11-00-45-01
1083.. nonce: DhWevN
1084.. section: Library
1085
1086Fix possible crash in timedelta constructor called with custom integers.
1087
1088..
1089
1090.. bpo: 31620
1091.. date: 2017-10-06-04-35-31
1092.. nonce: gksLA1
1093.. section: Library
1094
1095an empty asyncio.Queue now doesn't leak memory when queue.get pollers
1096timeout
1097
1098..
1099
1100.. bpo: 31690
1101.. date: 2017-10-05-15-14-46
1102.. nonce: f0XteV
1103.. section: Library
1104
1105Allow the flags re.ASCII, re.LOCALE, and re.UNICODE to be used as group
1106flags for regular expressions.
1107
1108..
1109
1110.. bpo: 30349
1111.. date: 2017-10-05-12-45-29
1112.. nonce: 6zKJsF
1113.. section: Library
1114
1115FutureWarning is now emitted if a regular expression contains character set
1116constructs that will change semantically in the future (nested sets and set
1117operations).
1118
1119..
1120
1121.. bpo: 31664
1122.. date: 2017-10-04-20-36-28
1123.. nonce: 4VDUzo
1124.. section: Library
1125
1126Added support for the Blowfish hashing in the crypt module.
1127
1128..
1129
1130.. bpo: 31632
1131.. date: 2017-10-04-11-37-14
1132.. nonce: LiOC3C
1133.. section: Library
1134
1135Fix method set_protocol() of class _SSLProtocolTransport in asyncio module.
1136This method was previously modifying a wrong reference to the protocol.
1137
1138..
1139
1140.. bpo: 15037
1141.. date: 2017-09-29-19-19-36
1142.. nonce: ykimLK
1143.. section: Library
1144
1145Added a workaround for getkey() in curses for ncurses 5.7 and earlier.
1146
1147..
1148
1149.. bpo: 31307
1150.. date: 2017-09-07-12-50-28
1151.. nonce: AVBiNY
1152.. section: Library
1153
1154Allow use of bytes objects for arguments to
1155:meth:`configparser.ConfigParser.read`. Patch by Vincent Michel.
1156
1157..
1158
1159.. bpo: 31334
1160.. date: 2017-09-04-00-22-31
1161.. nonce: 9WYRfi
1162.. section: Library
1163
1164Fix ``poll.poll([timeout])`` in the ``select`` module for arbitrary negative
1165timeouts on all OSes where it can only be a non-negative integer or -1.
1166Patch by Riccardo Coccioli.
1167
1168..
1169
1170.. bpo: 31310
1171.. date: 2017-08-30-18-23-54
1172.. nonce: 7D1UNt
1173.. section: Library
1174
1175multiprocessing's semaphore tracker should be launched again if crashed.
1176
1177..
1178
1179.. bpo: 31308
1180.. date: 2017-08-30-17-59-36
1181.. nonce: KbexyC
1182.. section: Library
1183
1184Make multiprocessing's forkserver process immune to Ctrl-C and other user
1185interruptions. If it crashes, restart it when necessary.
1186
1187..
1188
1189.. bpo: 31245
1190.. date: 2017-08-22-11-05-35
1191.. nonce: AniZuz
1192.. section: Library
1193
1194Added support for AF_UNIX socket in asyncio `create_datagram_endpoint`.
1195
1196..
1197
1198.. bpo: 30553
1199.. date: 2017-07-05-14-48-26
1200.. nonce: Oupsxo
1201.. section: Library
1202
1203Add HTTP/2 status code 421 (Misdirected Request) to
1204:class:`http.HTTPStatus`. Patch by Vitor Pereira.
1205
1206..
1207
1208.. bpo: 32105
1209.. date: 2017-11-21-10-54-16
1210.. nonce: 91mhWm
1211.. section: Documentation
1212
Stéphane Wirtel683281f2018-10-06 16:35:53 +02001213Added asyncio.BaseEventLoop.connect_accepted_socket versionadded marker.
Ned Deily3f9a7282017-12-05 03:17:33 -05001214
1215..
1216
1217.. bpo: 31380
1218.. date: 2017-12-04-23-19-16
1219.. nonce: VlMmHW
1220.. section: Tests
1221
1222Skip test_httpservers test_undecodable_file on macOS: fails on APFS.
1223
1224..
1225
1226.. bpo: 31705
1227.. date: 2017-11-30-12-27-10
1228.. nonce: yULW7O
1229.. section: Tests
1230
1231Skip test_socket.test_sha256() on Linux kernel older than 4.5. The test
1232fails with ENOKEY on kernel 3.10 (on ppc64le). A fix was merged into the
1233kernel 4.5.
1234
1235..
1236
1237.. bpo: 32138
1238.. date: 2017-11-27-16-18-58
1239.. nonce: QsTvf-
1240.. section: Tests
1241
1242Skip on Android test_faulthandler tests that raise SIGSEGV and remove the
1243test.support.requires_android_level decorator.
1244
1245..
1246
1247.. bpo: 32136
1248.. date: 2017-11-26-17-11-27
1249.. nonce: Y11luJ
1250.. section: Tests
1251
1252The runtime embedding tests have been split out from
1253``Lib/test/test_capi.py`` into a new ``Lib/test/test_embed.py`` file.
1254
1255..
1256
1257.. bpo: 28668
1258.. date: 2017-11-25-14-53-29
1259.. nonce: Y1G6pA
1260.. section: Tests
1261
1262test.support.requires_multiprocessing_queue is removed. Skip tests with
1263test.support.import_module('multiprocessing.synchronize') instead when the
1264semaphore implementation is broken or missing.
1265
1266..
1267
1268.. bpo: 32126
1269.. date: 2017-11-24-18-15-12
1270.. nonce: PLmNLn
1271.. section: Tests
1272
1273Skip test_get_event_loop_new_process in test.test_asyncio.test_events when
1274sem_open() is not functional.
1275
1276..
1277
1278.. bpo: 31174
1279.. date: 2017-10-24-11-36-10
1280.. nonce: xCvXcr
1281.. section: Tests
1282
1283Fix test_tools.test_unparse: DirectoryTestCase now stores the names sample
1284to always test the same files. It prevents false alarms when hunting
1285reference leaks.
1286
1287..
1288
1289.. bpo: 28538
1290.. date: 2017-11-21-17-27-59
1291.. nonce: DsNBS7
1292.. section: Build
1293
1294Revert the previous changes, the if_nameindex structure is defined by
1295Unified Headers.
1296
1297..
1298
1299.. bpo: 28762
1300.. date: 2017-11-21-17-12-24
1301.. nonce: R6uu8w
1302.. section: Build
1303
1304Revert the last commit, the F_LOCK macro is defined by Android Unified
1305Headers.
1306
1307..
1308
1309.. bpo: 29040
1310.. date: 2017-11-21-16-56-24
1311.. nonce: 14lCSr
1312.. section: Build
1313
1314Support building Android with Unified Headers. The first NDK release to
1315support Unified Headers is android-ndk-r14.
1316
1317..
1318
1319.. bpo: 32059
1320.. date: 2017-11-18-11-19-28
1321.. nonce: a0Hxgp
1322.. section: Build
1323
1324``detect_modules()`` in ``setup.py`` now also searches the sysroot paths
1325when cross-compiling.
1326
1327..
1328
1329.. bpo: 31957
1330.. date: 2017-11-06-11-53-39
1331.. nonce: S_1jFK
1332.. section: Build
1333
1334Fixes Windows SDK version detection when building for Windows.
1335
1336..
1337
1338.. bpo: 31609
1339.. date: 2017-11-04-15-35-08
1340.. nonce: k7_nBR
1341.. section: Build
1342
1343Fixes quotes in PCbuild/clean.bat
1344
1345..
1346
1347.. bpo: 31934
1348.. date: 2017-11-03-15-17-50
1349.. nonce: 8bUlpv
1350.. section: Build
1351
1352Abort the build when building out of a not clean source tree.
1353
1354..
1355
1356.. bpo: 31926
1357.. date: 2017-11-03-10-07-14
1358.. nonce: 57wE98
1359.. section: Build
1360
1361Fixed Argument Clinic sometimes causing compilation errors when there was
1362more than one function and/or method in a .c file with the same name.
1363
1364..
1365
1366.. bpo: 28791
1367.. date: 2017-11-02-20-30-57
1368.. nonce: VaE3o8
1369.. section: Build
1370
1371Update Windows builds to use SQLite 3.21.0.
1372
1373..
1374
1375.. bpo: 28791
1376.. date: 2017-11-02-20-13-46
1377.. nonce: STt3jL
1378.. section: Build
1379
1380Update OS X installer to use SQLite 3.21.0.
1381
1382..
1383
1384.. bpo: 28643
1385.. date: 2017-11-01-14-16-27
1386.. nonce: 9iPKJy
1387.. section: Build
1388
1389Record profile-opt build progress with stamp files.
1390
1391..
1392
1393.. bpo: 31866
1394.. date: 2017-10-24-23-21-13
1395.. nonce: MkNO66
1396.. section: Build
1397
1398Finish removing support for AtheOS.
1399
1400..
1401
1402.. bpo: 1102
1403.. date: 2017-11-19-09-46-27
1404.. nonce: NY-g1F
1405.. section: Windows
1406
1407Return ``None`` when ``View.Fetch()`` returns ``ERROR_NO_MORE_ITEMS``
1408instead of raising ``MSIError``.
Ned Deily3f9a7282017-12-05 03:17:33 -05001409Initial patch by Anthony Tuininga.
1410
1411..
1412
1413.. bpo: 31944
1414.. date: 2017-11-04-15-29-47
1415.. nonce: 0Bx8tZ
1416.. section: Windows
1417
1418Fixes Modify button in Apps and Features dialog.
1419
1420..
1421
1422.. bpo: 20486
1423.. date: 2017-10-26-23-02-57
1424.. nonce: 3IdsZ1
1425.. section: Windows
1426
1427Implement the ``Database.Close()`` method to help closing MSI database
1428objects.
1429
1430..
1431
1432.. bpo: 31857
1433.. date: 2017-10-23-18-35-50
1434.. nonce: YwhEvc
1435.. section: Windows
1436
1437Make the behavior of USE_STACKCHECK deterministic in a multi-threaded
1438environment.
1439
1440..
1441
1442.. bpo: 31392
1443.. date: 2017-12-04-21-57-43
1444.. nonce: f8huBC
1445.. section: macOS
1446
1447Update macOS installer to use OpenSSL 1.0.2m
1448
1449..
1450
1451.. bpo: 32207
1452.. date: 2017-12-04-15-04-43
1453.. nonce: IzyAJo
1454.. section: IDLE
1455
1456Improve tk event exception tracebacks in IDLE. When tk event handling is
1457driven by IDLE's run loop, a confusing and distracting queue.EMPTY traceback
1458context is no longer added to tk event exception tracebacks. The traceback
1459is now the same as when event handling is driven by user code. Patch based
1460on a suggestion by Serhiy Storchaka.
1461
1462..
1463
1464.. bpo: 32164
1465.. date: 2017-11-28-21-47-15
1466.. nonce: 2T2Na8
1467.. section: IDLE
1468
1469Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet in
1470configdialog was replaced by ttk.Notebook.
1471
1472..
1473
1474.. bpo: 32100
1475.. date: 2017-11-21-08-26-08
1476.. nonce: P43qx2
1477.. section: IDLE
1478
1479IDLE: Fix old and new bugs in pathbrowser; improve tests. Patch mostly by
1480Cheryl Sabella.
1481
1482..
1483
1484.. bpo: 31858
1485.. date: 2017-10-26-20-20-19
1486.. nonce: VuSA_e
1487.. section: IDLE
1488
Stéphane Wirtel683281f2018-10-06 16:35:53 +02001489IDLE -- Restrict shell prompt manipulation to the shell. Editor and output
Ned Deily3f9a7282017-12-05 03:17:33 -05001490windows only see an empty last prompt line. This simplifies the code and
1491fixes a minor bug when newline is inserted. Sys.ps1, if present, is read on
1492Shell start-up, but is not set or changed.
1493
1494..
1495
1496.. bpo: 31860
1497.. date: 2017-10-24-16-21-50
1498.. nonce: gECuWx
1499.. section: IDLE
1500
1501The font sample in the IDLE configuration dialog is now editable. Changes
1502persist while IDLE remains open
1503
1504..
1505
1506.. bpo: 31836
1507.. date: 2017-10-21-15-41-53
1508.. nonce: fheLME
1509.. section: IDLE
1510
1511Test_code_module now passes if run after test_idle, which sets ps1.
Ned Deily3f9a7282017-12-05 03:17:33 -05001512The code module uses sys.ps1 if present or sets it to '>>> ' if not.
1513Test_code_module now properly tests both behaviors. Ditto for ps2.
1514
1515..
1516
1517.. bpo: 28603
1518.. date: 2017-10-17-13-26-13
1519.. nonce: TMEQfp
1520.. section: IDLE
1521
1522Fix a TypeError that caused a shell restart when printing a traceback that
1523includes an exception that is unhashable. Patch by Zane Bitter.
1524
1525..
1526
1527.. bpo: 13802
1528.. date: 2017-10-12-00-51-29
1529.. nonce: VwjZRD
1530.. section: IDLE
1531
1532Use non-Latin characters in the IDLE's Font settings sample. Even if one
1533selects a font that defines a limited subset of the unicode Basic
1534Multilingual Plane, tcl/tk will use other fonts that define a character. The
1535expanded example give users of non-Latin characters a better idea of what
1536they might see in IDLE's shell and editors.
Serhiy Storchakaaef639f2018-05-21 02:36:05 +03001537To make room for the expanded sample, frames on the Font tab are
1538re-arranged. The Font/Tabs help explains a bit about the additions.
Ned Deily3f9a7282017-12-05 03:17:33 -05001539
1540..
1541
1542.. bpo: 32159
1543.. date: 2017-11-28-21-24-41
1544.. nonce: RSl4QK
1545.. section: Tools/Demos
1546
1547Remove CVS and Subversion tools: remove svneol.py and treesync.py scripts.
1548CPython migrated from CVS to Subversion, to Mercurial, and then to Git. CVS
1549and Subversion are no longer used to develop CPython.
1550
1551..
1552
1553.. bpo: 30722
1554.. date: 2017-10-23-19-45-52
1555.. nonce: ioRlAu
1556.. section: Tools/Demos
1557
1558Make redemo work with Python 3.6 and newer versions.
Ned Deily3f9a7282017-12-05 03:17:33 -05001559Also, remove the ``LOCALE`` option since it doesn't work with string
1560patterns in Python 3.
Ned Deily3f9a7282017-12-05 03:17:33 -05001561Patch by Christoph Sarnowski.
1562
1563..
1564
1565.. bpo: 20891
1566.. date: 2017-11-30-18-13-45
1567.. nonce: wBnMdF
1568.. section: C API
1569
1570Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in a non-Python
1571thread before PyEval_InitThreads(), only call PyEval_InitThreads() after
1572calling PyThreadState_New() to fix a crash.
1573
1574..
1575
1576.. bpo: 32125
1577.. date: 2017-11-24-21-25-43
1578.. nonce: K8zWgn
1579.. section: C API
1580
1581The ``Py_UseClassExceptionsFlag`` flag has been removed. It was deprecated
1582and wasn't used anymore since Python 2.0.
1583
1584..
1585
1586.. bpo: 25612
1587.. date: 2017-10-22-13-12-28
1588.. nonce: 1jnWKT
1589.. section: C API
1590
1591Move the current exception state from the frame object to the co-routine.
1592This simplifies the interpreter and fixes a couple of obscure bugs caused by
1593having swap exception state when entering or exiting a generator.
1594
1595..
1596
1597.. bpo: 23699
1598.. date: 2017-10-19-15-27-04
1599.. nonce: -noVVc
1600.. section: C API
1601
1602Add Py_RETURN_RICHCOMPARE macro to reduce boilerplate code in rich
1603comparison functions.
1604
1605..
1606
1607.. bpo: 30697
1608.. date: 2017-06-30-11-58-01
1609.. nonce: Q3T_8n
1610.. section: C API
1611
1612The `PyExc_RecursionErrorInst` singleton is removed and
1613`PyErr_NormalizeException()` does not use it anymore. This singleton is
1614persistent and its members being never cleared may cause a segfault during
1615finalization of the interpreter. See also issue #22898.