1.. bpo: 37461 2.. date: 2019-07-16-08-11-00 3.. nonce: 1Ahz7O 4.. release date: 2019-07-29 5.. section: Security 6 7Fix an infinite loop when parsing specially crafted email headers. Patch by 8Abhilash Raj. 9 10.. 11 12.. bpo: 37593 13.. date: 2019-07-14-23-57-27 14.. nonce: yHSTwH 15.. section: Core and Builtins 16 17Swap the positions of the *posonlyargs* and *args* parameters in the 18constructor of :class:`ast.parameters` nodes. 19 20.. 21 22.. bpo: 36974 23.. date: 2019-06-11-12-59-38 24.. nonce: bVYmSA 25.. section: Core and Builtins 26 27Implemented separate vectorcall functions for every calling convention of 28builtin functions and methods. This improves performance for calls. 29 30.. 31 32.. bpo: 37697 33.. date: 2019-07-28-17-44-21 34.. nonce: 7UV5d0 35.. section: Library 36 37Syncronize ``importlib.metadata`` with `importlib_metadata 0.19 38<https://gitlab.com/python-devs/importlib_metadata/-/milestones/20>`_, 39improving handling of EGG-INFO files and fixing a crash when entry point 40names contained colons. 41 42.. 43 44.. bpo: 37691 45.. date: 2019-07-26-22-30-01 46.. nonce: 1Li3rx 47.. section: Library 48 49Let math.dist() accept coordinates as sequences (or iterables) rather than 50just tuples. 51 52.. 53 54.. bpo: 37664 55.. date: 2019-07-24-18-27-44 56.. nonce: o-GYZC 57.. section: Library 58 59Update wheels bundled with ensurepip (pip 19.2.1 and setuptools 41.0.1) 60 61.. 62 63.. bpo: 36324 64.. date: 2019-07-19-22-44-41 65.. nonce: 1VjywS 66.. section: Library 67 68Make internal attributes for statistics.NormalDist() private. 69 70.. 71 72.. bpo: 37491 73.. date: 2019-07-17-06-54-43 74.. nonce: op0aMs 75.. section: Library 76 77Fix ``IndexError`` when parsing email headers with unexpectedly ending 78bare-quoted string value. Patch by Abhilash Raj. 79 80.. 81 82.. bpo: 37579 83.. date: 2019-07-13-10-59-43 84.. nonce: B1Tq9i 85.. section: Library 86 87Return :exc:`NotImplemented` in Python implementation of ``__eq__`` for 88:class:`~datetime.timedelta` and :class:`~datetime.time` when the other 89object being compared is not of the same type to match C implementation. 90Patch by Karthikeyan Singaravelan. 91 92.. 93 94.. bpo: 21478 95.. date: 2019-07-10-23-07-11 96.. nonce: cCw9rF 97.. section: Library 98 99Record calls to parent when autospecced object is attached to a mock using 100:func:`unittest.mock.attach_mock`. Patch by Karthikeyan Singaravelan. 101 102.. 103 104.. bpo: 37502 105.. date: 2019-07-08-03-15-04 106.. nonce: qZGC4g 107.. section: Library 108 109pickle.loads() no longer raises TypeError when the buffers argument is set 110to None 111 112.. 113 114.. bpo: 37520 115.. date: 2019-07-07-21-09-08 116.. nonce: Gg0KD6 117.. section: Library 118 119Correct behavior for zipfile.Path.parent when the path object identifies a 120subdirectory. 121 122.. 123 124.. bpo: 18374 125.. date: 2019-07-05-21-46-45 126.. nonce: qgE0H3 127.. section: Library 128 129Fix the ``.col_offset`` attribute of nested :class:`ast.BinOp` instances 130which had a too large value in some situations. 131 132.. 133 134.. bpo: 37421 135.. date: 2019-07-03-12-47-52 136.. nonce: gR5hC8 137.. section: Library 138 139Fix :func:`multiprocessing.util.get_temp_dir` finalizer: clear also the 140'tempdir' configuration of the current process, so next call to 141``get_temp_dir()`` will create a new temporary directory, rather than 142reusing the removed temporary directory. 143 144.. 145 146.. bpo: 37481 147.. date: 2019-07-02-13-08-30 148.. nonce: hd5k09 149.. section: Library 150 151The distutils ``bdist_wininst`` command is deprecated in Python 3.8, use 152``bdist_wheel`` (wheel packages) instead. 153 154.. 155 156.. bpo: 26967 157.. date: 2019-06-23-12-46-10 158.. nonce: xEuem1 159.. section: Library 160 161An :class:`~argparse.ArgumentParser` with ``allow_abbrev=False`` no longer 162disables grouping of short flags, such as ``-vv``, but only disables 163abbreviation of long flags as documented. Patch by Zac Hatfield-Dodds. 164 165.. 166 167.. bpo: 37347 168.. date: 2019-06-20-14-23-48 169.. nonce: Gf9yYI 170.. section: Library 171 172:meth:`sqlite3.Connection.create_aggregate`, 173:meth:`sqlite3.Connection.create_function`, 174:meth:`sqlite3.Connection.set_authorizer`, 175:meth:`sqlite3.Connection.set_progress_handler` 176:meth:`sqlite3.Connection.set_trace_callback` methods lead to segfaults if 177some of these methods are called twice with an equal object but not the 178same. Now callbacks are stored more carefully. Patch by Aleksandr Balezin. 179 180.. 181 182.. bpo: 36564 183.. date: 2019-04-08-13-00-13 184.. nonce: _n67m_ 185.. section: Library 186 187Fix infinite loop in email header folding logic that would be triggered when 188an email policy's max_line_length is not long enough to include the required 189markup and any values in the message. Patch by Paul Ganssle 190 191.. 192 193.. bpo: 32910 194.. date: 2019-07-25-10-30-32 195.. nonce: caLLAe 196.. section: Documentation 197 198Remove implementation-specific behaviour of how venv's Deactivate works. 199 200.. 201 202.. bpo: 37284 203.. date: 2019-07-13-12-58-20 204.. nonce: rP8WpB 205.. section: Documentation 206 207Add a brief note to indicate that any new ``sys.implementation`` required 208attributes must go through the PEP process. 209 210.. 211 212.. bpo: 30088 213.. date: 2019-07-13-12-43-01 214.. nonce: CIcBjy 215.. section: Documentation 216 217Documented that :class:`mailbox.Maildir` constructor doesn't attempt to 218verify the maildir folder layout correctness. Patch by Sviatoslav Sydorenko. 219 220.. 221 222.. bpo: 37521 223.. date: 2019-07-12-15-09-56 224.. nonce: 7tiFR- 225.. section: Documentation 226 227Fix `importlib` examples to insert any newly created modules via 228importlib.util.module_from_spec() immediately into sys.modules instead of 229after calling loader.exec_module(). 230 231Thanks to Benjamin Mintz for finding the bug. 232 233.. 234 235.. bpo: 37456 236.. date: 2019-07-06-17-51-36 237.. nonce: lgAQHn 238.. section: Documentation 239 240Slash ('/') is now part of syntax. 241 242.. 243 244.. bpo: 37487 245.. date: 2019-07-06-17-19-26 246.. nonce: QagfZ5 247.. section: Documentation 248 249Fix PyList_GetItem index description to include 0. 250 251.. 252 253.. bpo: 37149 254.. date: 2019-07-06-02-19-02 255.. nonce: NumHn3 256.. section: Documentation 257 258Replace the dead link to the Tkinter 8.5 reference by John Shipman, New 259Mexico Tech, with a link to the archive.org copy. 260 261.. 262 263.. bpo: 37478 264.. date: 2019-07-06-00-57-27 265.. nonce: B0ioLw 266.. section: Documentation 267 268Added possible exceptions to the description of os.chdir(). 269 270.. 271 272.. bpo: 37558 273.. date: 2019-07-11-10-33-56 274.. nonce: SKHRsL 275.. section: Tests 276 277Fix test_shared_memory_cleaned_after_process_termination name handling 278 279.. 280 281.. bpo: 37526 282.. date: 2019-07-09-12-33-18 283.. nonce: vmm5y7 284.. section: Tests 285 286Add :func:`test.support.catch_threading_exception`: context manager catching 287:class:`threading.Thread` exception using :func:`threading.excepthook`. 288 289.. 290 291.. bpo: 37421 292.. date: 2019-07-08-10-11-36 293.. nonce: OY77go 294.. section: Tests 295 296test_concurrent_futures now explicitly stops the ForkServer instance if it's 297running. 298 299.. 300 301.. bpo: 37421 302.. date: 2019-07-05-14-47-55 303.. nonce: n8o2to 304.. section: Tests 305 306multiprocessing tests now stop the ForkServer instance if it's running: 307close the "alive" file descriptor to ask the server to stop and then remove 308its UNIX address. 309 310.. 311 312.. bpo: 36044 313.. date: 2019-07-11-01-28-24 314.. nonce: gIgfiJ 315.. section: Build 316 317Reduce the number of unit tests run for the PGO generation task. This 318speeds up the task by a factor of about 15x. Running the full unit test 319suite is slow. This change may result in a slightly less optimized build 320since not as many code branches will be executed. If you are willing to 321wait for the much slower build, the old behavior can be restored using 322'./configure [..] PROFILE_TASK="-m test --pgo-extended"'. We make no 323guarantees as to which PGO task set produces a faster build. Users who care 324should run their own relevant benchmarks as results can depend on the 325environment, workload, and compiler tool chain. 326 327.. 328 329.. bpo: 37672 330.. date: 2019-07-24-14-36-28 331.. nonce: uKEVHN 332.. section: Windows 333 334Switch Windows Store package's pip to use bundled :file:`pip.ini` instead of 335:envvar:`PIP_USER` variable. 336 337.. 338 339.. bpo: 37692 340.. date: 2019-07-27-15-14-20 341.. nonce: TRHGjD 342.. section: IDLE 343 344Improve highlight config sample with example shell interaction and better 345labels for shell elements. 346 347.. 348 349.. bpo: 37628 350.. date: 2019-07-26-17-51-13 351.. nonce: kX4AUF 352.. section: IDLE 353 354Settings dialog no longer expands with font size. 355 356.. 357 358.. bpo: 37627 359.. date: 2019-07-20-23-33-53 360.. nonce: dQhUNB 361.. section: IDLE 362 363Initialize the Customize Run dialog with the command line arguments most 364recently entered before. The user can optionally edit before submitting 365them. 366 367.. 368 369.. bpo: 33610 370.. date: 2019-07-18-10-11-36 371.. nonce: xYqMLg 372.. section: IDLE 373 374Fix code context not showing the correct context when first toggled on. 375 376.. 377 378.. bpo: 37530 379.. date: 2019-07-11-00-05-31 380.. nonce: AuyCyD 381.. section: IDLE 382 383Optimize code context to reduce unneeded background activity. Font and 384highlight changes now occur along with text changes instead of after a 385random delay. 386 387.. 388 389.. bpo: 27452 390.. date: 2019-07-03-22-47-44 391.. nonce: nePPLi 392.. section: IDLE 393 394Cleanup ``config.py`` by inlining ``RemoveFile`` and simplifying the 395handling of ``file`` in ``CreateConfigHandlers``. 396 397.. 398 399.. bpo: 17535 400.. date: 2019-06-13-01-07-20 401.. nonce: K8i2St 402.. section: IDLE 403 404Add optional line numbers for IDLE editor windows. Windows open without 405line numbers unless set otherwise in the General tab of the configuration 406dialog. 407 408.. 409 410.. bpo: 26806 411.. date: 2019-06-10-22-48-50 412.. nonce: Zltkum 413.. section: IDLE 414 415To compensate for stack frames added by IDLE and avoid possible problems 416with low recursion limits, add 30 to limits in the user code execution 417process. Subtract 30 when reporting recursion limits to make this addition 418mostly transparent. 419 420.. 421 422.. bpo: 36390 423.. date: 2019-03-21-08-35-00 424.. nonce: OdDCGk 425.. section: IDLE 426 427Gather Format menu functions into format.py. Combine paragraph.py, 428rstrip.py, and format methods from editor.py. 429 430.. 431 432.. bpo: 37675 433.. date: 2019-07-24-16-20-54 434.. nonce: 951Cvf 435.. section: Tools/Demos 436 4372to3 now works when run from a zipped standard library. 438