summaryrefslogtreecommitdiff
path: root/Misc/NEWS.d/3.7.0a2.rst
blob: 190038d5dd12e09733c21a660c8af2c5c728fd7b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
.. bpo: 31558
.. date: 2017-10-16-14-27-25
.. nonce: K-uRRm
.. release date: 2017-10-16
.. section: Core and Builtins

``gc.freeze()`` is a new API that allows for moving all objects currently
tracked by the garbage collector to a permanent generation, effectively
removing them from future collection events. This can be used to protect
those objects from having their PyGC_Head mutated. In effect, this enables
great copy-on-write stability at fork().

..

.. bpo: 31642
.. date: 2017-10-08-10-00-55
.. nonce: 1IKqgs
.. section: Core and Builtins

Restored blocking "from package import module" by setting
sys.modules["package.module"] to None.

..

.. bpo: 31708
.. date: 2017-10-06-02-10-48
.. nonce: 66CCVU
.. section: Core and Builtins

Allow use of asynchronous generator expressions in synchronous functions.

..

.. bpo: 31709
.. date: 2017-10-06-00-27-04
.. nonce: _PmU51
.. section: Core and Builtins

Drop support of asynchronous __aiter__.

..

.. bpo: 30404
.. date: 2017-10-03-23-46-39
.. nonce: _9Yi5u
.. section: Core and Builtins

The -u option now makes the stdout and stderr streams unbuffered rather than
line-buffered.

..

.. bpo: 31619
.. date: 2017-09-29-20-32-24
.. nonce: 6gQ1kv
.. section: Core and Builtins

Fixed a ValueError when convert a string with large number of underscores to
integer with binary base.

..

.. bpo: 31602
.. date: 2017-09-27-09-30-03
.. nonce: MtgLCn
.. section: Core and Builtins

Fix an assertion failure in `zipimporter.get_source()` in case of a bad
`zlib.decompress()`. Patch by Oren Milman.

..

.. bpo: 31592
.. date: 2017-09-26-16-05-04
.. nonce: IFBZj9
.. section: Core and Builtins

Fixed an assertion failure in Python parser in case of a bad
`unicodedata.normalize()`. Patch by Oren Milman.

..

.. bpo: 31588
.. date: 2017-09-26-13-03-16
.. nonce: wT9Iy7
.. section: Core and Builtins

Raise a `TypeError` with a helpful error message when class creation fails
due to a metaclass with a bad ``__prepare__()`` method. Patch by Oren
Milman.

..

.. bpo: 31574
.. date: 2017-09-25-12-35-48
.. nonce: 5yX5r5
.. section: Core and Builtins

Importlib was instrumented with two dtrace probes to profile import timing.

..

.. bpo: 31566
.. date: 2017-09-24-09-57-04
.. nonce: OxwINs
.. section: Core and Builtins

Fix an assertion failure in `_warnings.warn()` in case of a bad ``__name__``
global. Patch by Oren Milman.

..

.. bpo: 31506
.. date: 2017-09-19-10-29-36
.. nonce: pRVTRB
.. section: Core and Builtins

Improved the error message logic for object.__new__ and object.__init__.

..

.. bpo: 31505
.. date: 2017-09-18-12-07-39
.. nonce: VomaFa
.. section: Core and Builtins

Fix an assertion failure in `json`, in case `_json.make_encoder()` received
a bad `encoder()` argument. Patch by Oren Milman.

..

.. bpo: 31492
.. date: 2017-09-16-22-49-16
.. nonce: RtyteL
.. section: Core and Builtins

Fix assertion failures in case of failing to import from a module with a bad
``__name__`` attribute, and in case of failing to access an attribute of
such a module. Patch by Oren Milman.

..

.. bpo: 31478
.. date: 2017-09-15-09-13-07
.. nonce: o06iKD
.. section: Core and Builtins

Fix an assertion failure in `_random.Random.seed()` in case the argument has
a bad ``__abs__()`` method. Patch by Oren Milman.

..

.. bpo: 31336
.. date: 2017-09-13-12-04-23
.. nonce: gi2ahY
.. section: Core and Builtins

Speed up class creation by 10-20% by reducing the overhead in the necessary
special method lookups.  Patch by Stefan Behnel.

..

.. bpo: 31415
.. date: 2017-09-11-14-28-56
.. nonce: GBdz7o
.. section: Core and Builtins

Add ``-X importtime`` option to show how long each import takes. It can be
used to optimize application's startup time.  Support the
:envvar:`PYTHONPROFILEIMPORTTIME` as an equivalent way to enable this.

..

.. bpo: 31410
.. date: 2017-09-10-20-58-51
.. nonce: wD_RbH
.. section: Core and Builtins

Optimized calling wrapper and classmethod descriptors.

..

.. bpo: 31353
.. date: 2017-09-05-14-19-02
.. nonce: oGZUeJ
.. section: Core and Builtins

:pep:`553` - Add a new built-in called ``breakpoint()`` which calls
``sys.breakpointhook()``.  By default this imports ``pdb`` and calls
``pdb.set_trace()``, but users may override ``sys.breakpointhook()`` to call
whatever debugger they want.  The original value of the hook is saved in
``sys.__breakpointhook__``.

..

.. bpo: 17852
.. date: 2017-09-04-12-46-25
.. nonce: OxAtCg
.. section: Core and Builtins

Maintain a list of open buffered files, flush them before exiting the
interpreter.  Based on a patch from Armin Rigo.

..

.. bpo: 31315
.. date: 2017-09-01-00-40-58
.. nonce: ZX20bl
.. section: Core and Builtins

Fix an assertion failure in imp.create_dynamic(), when spec.name is not a
string. Patch by Oren Milman.

..

.. bpo: 31311
.. date: 2017-08-31-17-52-56
.. nonce: bNE2l-
.. section: Core and Builtins

Fix a crash in the ``__setstate__()`` method of `ctypes._CData`, in case of
a bad ``__dict__``. Patch by Oren Milman.

..

.. bpo: 31293
.. date: 2017-08-28-17-51-42
.. nonce: eMYZXj
.. section: Core and Builtins

Fix crashes in true division and multiplication of a timedelta object by a
float with a bad as_integer_ratio() method. Patch by Oren Milman.

..

.. bpo: 31285
.. date: 2017-08-27-21-18-30
.. nonce: 7lzaKV
.. section: Core and Builtins

Fix an assertion failure in `warnings.warn_explicit`, when the return value
of the received loader's get_source() has a bad splitlines() method. Patch
by Oren Milman.

..

.. bpo: 30406
.. date: 2017-07-20-22-03-44
.. nonce: _kr47t
.. section: Core and Builtins

Make ``async`` and ``await`` proper keywords, as specified in PEP 492.

..

.. bpo: 30058
.. date: 2017-10-12-19-00-53
.. nonce: cENtry
.. section: Library

Fixed buffer overflow in select.kqueue.control().

..

.. bpo: 31672
.. date: 2017-10-12-02-47-16
.. nonce: DaOkVd
.. section: Library

``idpattern`` in ``string.Template`` matched some non-ASCII characters. Now
it uses ``-i`` regular expression local flag to avoid non-ASCII characters.

..

.. bpo: 31701
.. date: 2017-10-09-17-42-30
.. nonce: NRrVel
.. section: Library

On Windows, faulthandler.enable() now ignores MSC and COM exceptions.

..

.. bpo: 31728
.. date: 2017-10-08-23-28-30
.. nonce: XrVMME
.. section: Library

Prevent crashes in `_elementtree` due to unsafe cleanup of `Element.text`
and `Element.tail`. Patch by Oren Milman.

..

.. bpo: 31671
.. date: 2017-10-04-21-28-44
.. nonce: E-zfc9
.. section: Library

Now ``re.compile()`` converts passed RegexFlag to normal int object before
compiling. bm_regex_compile benchmark shows 14% performance improvements.

..

.. bpo: 30397
.. date: 2017-10-03-22-45-50
.. nonce: e4F7Kr
.. section: Library

The types of compiled regular objects and match objects are now exposed as
`re.Pattern` and `re.Match`.  This adds information in pydoc output for the
re module.

..

.. bpo: 31675
.. date: 2017-10-03-15-06-24
.. nonce: Nh7jJ3
.. section: Library

Fixed memory leaks in Tkinter's methods splitlist() and split() when pass a
string larger than 2 GiB.

..

.. bpo: 31673
.. date: 2017-10-03-14-37-46
.. nonce: RFCrka
.. section: Library

Fixed typo in the name of Tkinter's method adderrorinfo().

..

.. bpo: 31648
.. date: 2017-09-30-10-45-12
.. nonce: Cai7ji
.. section: Library

Improvements to path predicates in ElementTree:

* Allow whitespace around predicate parts, i.e. "[a = 'text']" instead of requiring the less readable "[a='text']".
* Add support for text comparison of the current node, like "[.='text']".

Patch by Stefan Behnel.

..

.. bpo: 30806
.. date: 2017-09-29
.. nonce: lP5GrH
.. section: Library

Fix the string representation of a netrc object.

..

.. bpo: 31638
.. date: 2017-09-29-07-14-28
.. nonce: jElfhl
.. section: Library

Add optional argument ``compressed`` to ``zipapp.create_archive``, and add
option ``--compress`` to the command line interface of ``zipapp``.

..

.. bpo: 25351
.. date: 2017-09-28-23-10-51
.. nonce: 2JmFpF
.. section: Library

Avoid venv activate failures with undefined variables

..

.. bpo: 20519
.. date: 2017-09-28-13-17-33
.. nonce: FteeQQ
.. section: Library

Avoid ctypes use (if possible) and improve import time for uuid.

..

.. bpo: 28293
.. date: 2017-09-26-17-51-17
.. nonce: UC5pm4
.. section: Library

The regular expression cache is no longer completely dumped when it is full.

..

.. bpo: 31596
.. date: 2017-09-26-11-38-52
.. nonce: 50Eyel
.. section: Library

Added pthread_getcpuclockid() to the time module

..

.. bpo: 27494
.. date: 2017-09-26-01-43-17
.. nonce: 37QnaT
.. section: Library

Make 2to3 accept a trailing comma in generator expressions. For example,
``set(x for x in [],)`` is now allowed.

..

.. bpo: 30347
.. date: 2017-09-25-14-04-30
.. nonce: B4--_D
.. section: Library

Stop crashes when concurrently iterate over itertools.groupby() iterators.

..

.. bpo: 30346
.. date: 2017-09-24-13-08-46
.. nonce: Csse77
.. section: Library

An iterator produced by itertools.groupby() iterator now becomes exhausted
after advancing the groupby iterator.

..

.. bpo: 31556
.. date: 2017-09-22-23-48-49
.. nonce: 9J0u5H
.. section: Library

Cancel asyncio.wait_for future faster if timeout <= 0

..

.. bpo: 31540
.. date: 2017-09-22-16-02-00
.. nonce: ybDHT5
.. section: Library

Allow passing a context object in
:class:`concurrent.futures.ProcessPoolExecutor` constructor. Also, free job
resources in :class:`concurrent.futures.ProcessPoolExecutor` earlier to
improve memory usage when a worker waits for new jobs.

..

.. bpo: 31516
.. date: 2017-09-20-18-43-01
.. nonce: 23Yuq3
.. section: Library

``threading.current_thread()`` should not return a dummy thread at shutdown.

..

.. bpo: 31525
.. date: 2017-09-19-18-48-21
.. nonce: O2TIL2
.. section: Library

In the sqlite module, require the sqlite3_prepare_v2 API. Thus, the sqlite
module now requires sqlite version at least 3.3.9.

..

.. bpo: 26510
.. date: 2017-09-19-13-29-29
.. nonce: oncW6V
.. section: Library

argparse subparsers are now required by default.  This matches behaviour in
Python 2. For optional subparsers, use the new parameter
``add_subparsers(required=False)``. Patch by Anthony Sottile.

..

.. bpo: 27541
.. date: 2017-09-17-19-59-04
.. nonce: cIMFJW
.. section: Library

Reprs of subclasses of some collection and iterator classes (`bytearray`,
`array.array`, `collections.deque`, `collections.defaultdict`,
`itertools.count`, `itertools.repeat`) now contain actual type name insteads
of hardcoded name of the base class.

..

.. bpo: 31351
.. date: 2017-09-17-15-24-25
.. nonce: yQdKv-
.. section: Library

python -m ensurepip now exits with non-zero exit code if pip bootstrapping
has failed.

..

.. bpo: 31389
.. date: 2017-09-07-15-31-47
.. nonce: jNFYqB
.. section: Library

``pdb.set_trace()`` now takes an optional keyword-only argument ``header``.
If given, this is printed to the console just before debugging begins.

..

.. bpo: 31537
.. date: 2017-10-08-23-02-14
.. nonce: SiFNM8
.. section: Documentation

Fix incorrect usage of ``get_history_length`` in readline documentation
example code. Patch by Brad Smith.

..

.. bpo: 30085
.. date: 2017-09-14-18-44-50
.. nonce: 0J9w-u
.. section: Documentation

The operator functions without double underscores are preferred for clarity.
The one with underscores are only kept for back-compatibility.

..

.. bpo: 31696
.. date: 2017-10-04-23-40-32
.. nonce: Y3_aBV
.. section: Build

Improve compiler version information in :data:`sys.version` when Python is
built with Clang.

..

.. bpo: 31625
.. date: 2017-09-28-23-21-20
.. nonce: Bb2NXr
.. section: Build

Stop using ranlib on static libraries. Instead, we assume ar supports the
's' flag.

..

.. bpo: 31624
.. date: 2017-09-28-20-54-52
.. nonce: 11w91_
.. section: Build

Remove support for BSD/OS.

..

.. bpo: 22140
.. date: 2017-09-26-22-39-58
.. nonce: ZRf7Wn
.. section: Build

Prevent double substitution of prefix in python-config.sh.

..

.. bpo: 31569
.. date: 2017-09-25-00-25-23
.. nonce: TS49pM
.. section: Build

Correct PCBuild/ case to PCbuild/ in build scripts and documentation.

..

.. bpo: 31536
.. date: 2017-09-20-21-32-21
.. nonce: KUDjno
.. section: Build

Avoid wholesale rebuild after `make regen-all` if nothing changed.

..

.. bpo: 31460
.. date: 2017-09-30-19-03-26
.. nonce: HpveI6
.. section: IDLE

Simplify the API of IDLE's Module Browser.

Passing a widget instead of an flist with a root widget opens the option of
creating a browser frame that is only part of a window.  Passing a full file
name instead of pieces assumed to come from a .py file opens the possibility
of browsing python files that do not end in .py.

..

.. bpo: 31649
.. date: 2017-09-30-13-59-18
.. nonce: LxN4Vb
.. section: IDLE

IDLE - Make _htest, _utest parameters keyword only.

..

.. bpo: 31559
.. date: 2017-09-23-12-52-24
.. nonce: ydckYX
.. section: IDLE

Remove test order dependence in idle_test.test_browser.

..

.. bpo: 31459
.. date: 2017-09-22-20-26-23
.. nonce: L0pnH9
.. section: IDLE

Rename IDLE's module browser from Class Browser to Module Browser. The
original module-level class and method browser became a module browser, with
the addition of module-level functions, years ago. Nested classes and
functions were added yesterday.  For back- compatibility, the virtual event
<<open-class-browser>>, which appears on the Keys tab of the Settings
dialog, is not changed. Patch by Cheryl Sabella.

..

.. bpo: 31500
.. date: 2017-09-18-10-43-03
.. nonce: Y_YDxA
.. section: IDLE

Default fonts now are scaled on HiDPI displays.

..

.. bpo: 1612262
.. date: 2017-08-14-15-13-50
.. nonce: -x_Oyq
.. section: IDLE

IDLE module browser now shows nested classes and functions. Original patches
for code and tests by Guilherme Polo and Cheryl Sabella, respectively.

..

.. bpo: 28280
.. date: 2017-09-30-19-41-44
.. nonce: K_EjpO
.. section: C API

Make `PyMapping_Keys()`, `PyMapping_Values()` and `PyMapping_Items()` always
return a `list` (rather than a `list` or a `tuple`). Patch by Oren Milman.

..

.. bpo: 31532
.. date: 2017-09-20-21-59-52
.. nonce: s9Cw9_
.. section: C API

Fix memory corruption due to allocator mix in getpath.c between Py_GetPath()
and Py_SetPath()

..

.. bpo: 25658
.. date: 2017-06-24-14-30-44
.. nonce: vm8vGE
.. section: C API

Implement PEP 539 for Thread Specific Storage (TSS) API: it is a new Thread
Local Storage (TLS) API to CPython which would supersede use of the existing
TLS API within the CPython interpreter, while deprecating the existing API.
PEP written by Erik M. Bray, patch by Masayuki Yamamoto.