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