1.. bpo: 22980 2.. date: 9109 3.. nonce: Lu_y6y 4.. release date: 2015-04-19 5.. section: Core and Builtins 6 7Under Linux, GNU/KFreeBSD and the Hurd, C extensions now include the 8architecture triplet in the extension name, to make it easy to test builds 9for different ABIs in the same working tree. Under OS X, the extension name 10now includes :pep:`3149`-style information. 11 12.. 13 14.. bpo: 22631 15.. date: 9108 16.. nonce: nTx_ZF 17.. section: Core and Builtins 18 19Added Linux-specific socket constant CAN_RAW_FD_FRAMES. Patch courtesy of 20Joe Jevnik. 21 22.. 23 24.. bpo: 23731 25.. date: 9107 26.. nonce: FOXb37 27.. section: Core and Builtins 28 29Implement :pep:`488`: removal of .pyo files. 30 31.. 32 33.. bpo: 23726 34.. date: 9106 35.. nonce: ZopTQ0 36.. section: Core and Builtins 37 38Don't enable GC for user subclasses of non-GC types that don't add any new 39fields. Patch by Eugene Toder. 40 41.. 42 43.. bpo: 23309 44.. date: 9105 45.. nonce: Wfnsnz 46.. section: Core and Builtins 47 48Avoid a deadlock at shutdown if a daemon thread is aborted while it is 49holding a lock to a buffered I/O object, and the main thread tries to use 50the same I/O object (typically stdout or stderr). A fatal error is emitted 51instead. 52 53.. 54 55.. bpo: 22977 56.. date: 9104 57.. nonce: hutEse 58.. section: Core and Builtins 59 60Fixed formatting Windows error messages on Wine. Patch by Martin Panter. 61 62.. 63 64.. bpo: 23466 65.. date: 9103 66.. nonce: KhMltK 67.. section: Core and Builtins 68 69%c, %o, %x, and %X in bytes formatting now raise TypeError on non-integer 70input. 71 72.. 73 74.. bpo: 24044 75.. date: 9102 76.. nonce: H7vb6- 77.. section: Core and Builtins 78 79Fix possible null pointer dereference in list.sort in out of memory 80conditions. 81 82.. 83 84.. bpo: 21354 85.. date: 9101 86.. nonce: ZZTe1E 87.. section: Core and Builtins 88 89PyCFunction_New function is exposed by python DLL again. 90 91.. 92 93.. bpo: 23840 94.. date: 9100 95.. nonce: mtSbqO 96.. section: Library 97 98tokenize.open() now closes the temporary binary file on error to fix a 99resource warning. 100 101.. 102 103.. bpo: 16914 104.. date: 9099 105.. nonce: GrP2Jr 106.. section: Library 107 108new debuglevel 2 in smtplib adds timestamps to debug output. 109 110.. 111 112.. bpo: 7159 113.. date: 9098 114.. nonce: KCgOUm 115.. section: Library 116 117urllib.request now supports sending auth credentials automatically after the 118first 401. This enhancement is a superset of the enhancement from issue 119#19494 and supersedes that change. 120 121.. 122 123.. bpo: 23703 124.. date: 9097 125.. nonce: kYybxm 126.. section: Library 127 128Fix a regression in urljoin() introduced in 901e4e52b20a. Patch by Demian 129Brecht. 130 131.. 132 133.. bpo: 4254 134.. date: 9096 135.. nonce: eUC_2H 136.. section: Library 137 138Adds _curses.update_lines_cols(). Patch by Arnon Yaari 139 140.. 141 142.. bpo: 19933 143.. date: 9095 144.. nonce: Qq8utk 145.. section: Library 146 147Provide default argument for ndigits in round. Patch by Vajrasky Kok. 148 149.. 150 151.. bpo: 23193 152.. date: 9094 153.. nonce: n5ahcG 154.. section: Library 155 156Add a numeric_owner parameter to tarfile.TarFile.extract and 157tarfile.TarFile.extractall. Patch by Michael Vogt and Eric Smith. 158 159.. 160 161.. bpo: 23342 162.. date: 9093 163.. nonce: CbSzYI 164.. section: Library 165 166Add a subprocess.run() function than returns a CalledProcess instance for a 167more consistent API than the existing call* functions. 168 169.. 170 171.. bpo: 21217 172.. date: 9092 173.. nonce: TkFTlk 174.. section: Library 175 176inspect.getsourcelines() now tries to compute the start and end lines from 177the code object, fixing an issue when a lambda function is used as decorator 178argument. Patch by Thomas Ballinger and Allison Kaptur. 179 180.. 181 182.. bpo: 24521 183.. date: 9091 184.. nonce: bn4U-y 185.. section: Library 186 187Fix possible integer overflows in the pickle module. 188 189.. 190 191.. bpo: 22931 192.. date: 9090 193.. nonce: 4CuWYD 194.. section: Library 195 196Allow '[' and ']' in cookie values. 197 198.. 199 200.. bpo: 0 201.. date: 9089 202.. nonce: fgX8Qe 203.. section: Library 204 205The keywords attribute of functools.partial is now always a dictionary. 206 207.. 208 209.. bpo: 23811 210.. date: 9088 211.. nonce: B6tzf9 212.. section: Library 213 214Add missing newline to the PyCompileError error message. Patch by Alex 215Shkop. 216 217.. 218 219.. bpo: 21116 220.. date: 9087 221.. nonce: Orft3K 222.. section: Library 223 224Avoid blowing memory when allocating a multiprocessing shared array that's 225larger than 50% of the available RAM. Patch by Médéric Boquien. 226 227.. 228 229.. bpo: 22982 230.. date: 9086 231.. nonce: xYmG62 232.. section: Library 233 234Improve BOM handling when seeking to multiple positions of a writable text 235file. 236 237.. 238 239.. bpo: 23464 240.. date: 9085 241.. nonce: _XGkBk 242.. section: Library 243 244Removed deprecated asyncio JoinableQueue. 245 246.. 247 248.. bpo: 23529 249.. date: 9084 250.. nonce: Hr7AHH 251.. section: Library 252 253Limit the size of decompressed data when reading from GzipFile, BZ2File or 254LZMAFile. This defeats denial of service attacks using compressed bombs 255(i.e. compressed payloads which decompress to a huge size). Patch by Martin 256Panter and Nikolaus Rath. 257 258.. 259 260.. bpo: 21859 261.. date: 9083 262.. nonce: GYrUNP 263.. section: Library 264 265Added Python implementation of io.FileIO. 266 267.. 268 269.. bpo: 23865 270.. date: 9082 271.. nonce: PtSLgU 272.. section: Library 273 274close() methods in multiple modules now are idempotent and more robust at 275shutdown. If they need to release multiple resources, all are released even 276if errors occur. 277 278.. 279 280.. bpo: 23400 281.. date: 9081 282.. nonce: JSh9Z3 283.. section: Library 284 285Raise same exception on both Python 2 and 3 if sem_open is not available. 286Patch by Davin Potts. 287 288.. 289 290.. bpo: 10838 291.. date: 9080 292.. nonce: p9tSPC 293.. section: Library 294 295The subprocess now module includes SubprocessError and TimeoutError in its 296list of exported names for the users wild enough to use ``from subprocess 297import *``. 298 299.. 300 301.. bpo: 23411 302.. date: 9079 303.. nonce: 0im3Qw 304.. section: Library 305 306Added DefragResult, ParseResult, SplitResult, DefragResultBytes, 307ParseResultBytes, and SplitResultBytes to urllib.parse.__all__. Patch by 308Martin Panter. 309 310.. 311 312.. bpo: 23881 313.. date: 9078 314.. nonce: yZjl4b 315.. section: Library 316 317urllib.request.ftpwrapper constructor now closes the socket if the FTP 318connection failed to fix a ResourceWarning. 319 320.. 321 322.. bpo: 23853 323.. date: 9077 324.. nonce: mNY1eI 325.. section: Library 326 327:meth:`socket.socket.sendall` does no more reset the socket timeout each 328time data is sent successfully. The socket timeout is now the maximum total 329duration to send all data. 330 331.. 332 333.. bpo: 22721 334.. date: 9076 335.. nonce: MVfBL9 336.. section: Library 337 338An order of multiline pprint output of set or dict containing orderable and 339non-orderable elements no longer depends on iteration order of set or dict. 340 341.. 342 343.. bpo: 15133 344.. date: 9075 345.. nonce: C0QfV8 346.. section: Library 347 348_tkinter.tkapp.getboolean() now supports Tcl_Obj and always returns bool. 349tkinter.BooleanVar now validates input values (accepted bool, int, str, and 350Tcl_Obj). tkinter.BooleanVar.get() now always returns bool. 351 352.. 353 354.. bpo: 10590 355.. date: 9074 356.. nonce: nkxXfU 357.. section: Library 358 359xml.sax.parseString() now supports string argument. 360 361.. 362 363.. bpo: 23338 364.. date: 9073 365.. nonce: ZYMGN1 366.. section: Library 367 368Fixed formatting ctypes error messages on Cygwin. Patch by Makoto Kato. 369 370.. 371 372.. bpo: 15582 373.. date: 9072 374.. nonce: 26wJNk 375.. section: Library 376 377inspect.getdoc() now follows inheritance chains. 378 379.. 380 381.. bpo: 2175 382.. date: 9071 383.. nonce: cHiVOp 384.. section: Library 385 386SAX parsers now support a character stream of InputSource object. 387 388.. 389 390.. bpo: 16840 391.. date: 9070 392.. nonce: kKIhPm 393.. section: Library 394 395Tkinter now supports 64-bit integers added in Tcl 8.4 and arbitrary 396precision integers added in Tcl 8.5. 397 398.. 399 400.. bpo: 23834 401.. date: 9069 402.. nonce: fX3TF4 403.. section: Library 404 405Fix socket.sendto(), use the C Py_ssize_t type to store the result of 406sendto() instead of the C int type. 407 408.. 409 410.. bpo: 23618 411.. date: 9068 412.. nonce: Of_q5t 413.. section: Library 414 415:meth:`socket.socket.connect` now waits until the connection completes 416instead of raising :exc:`InterruptedError` if the connection is interrupted 417by signals, signal handlers don't raise an exception and the socket is 418blocking or has a timeout. :meth:`socket.socket.connect` still raise 419:exc:`InterruptedError` for non-blocking sockets. 420 421.. 422 423.. bpo: 21526 424.. date: 9067 425.. nonce: QQEXrR 426.. section: Library 427 428Tkinter now supports new boolean type in Tcl 8.5. 429 430.. 431 432.. bpo: 23836 433.. date: 9066 434.. nonce: zrEmlR 435.. section: Library 436 437Fix the faulthandler module to handle reentrant calls to its signal 438handlers. 439 440.. 441 442.. bpo: 23838 443.. date: 9065 444.. nonce: IX6FPX 445.. section: Library 446 447linecache now clears the cache and returns an empty result on MemoryError. 448 449.. 450 451.. bpo: 10395 452.. date: 9064 453.. nonce: fi_lZp 454.. section: Library 455 456Added os.path.commonpath(). Implemented in posixpath and ntpath. Based on 457patch by Rafik Draoui. 458 459.. 460 461.. bpo: 23611 462.. date: 9063 463.. nonce: QkBJVB 464.. section: Library 465 466Serializing more "lookupable" objects (such as unbound methods or nested 467classes) now are supported with pickle protocols < 4. 468 469.. 470 471.. bpo: 13583 472.. date: 9062 473.. nonce: -MPBjZ 474.. section: Library 475 476sqlite3.Row now supports slice indexing. 477 478.. 479 480.. bpo: 18473 481.. date: 9061 482.. nonce: 89RHm- 483.. section: Library 484 485Fixed 2to3 and 3to2 compatible pickle mappings. Fixed ambiguous reverse 486mappings. Added many new mappings. Import mapping is no longer applied to 487modules already mapped with full name mapping. 488 489.. 490 491.. bpo: 23485 492.. date: 9060 493.. nonce: kQWN6L 494.. section: Library 495 496select.select() is now retried automatically with the recomputed timeout 497when interrupted by a signal, except if the signal handler raises an 498exception. This change is part of the :pep:`475`. 499 500.. 501 502.. bpo: 23752 503.. date: 9059 504.. nonce: 5fbVNb 505.. section: Library 506 507When built from an existing file descriptor, io.FileIO() now only calls 508fstat() once. Before fstat() was called twice, which was not necessary. 509 510.. 511 512.. bpo: 23704 513.. date: 9058 514.. nonce: Ggjvm8 515.. section: Library 516 517collections.deque() objects now support __add__, __mul__, and __imul__(). 518 519.. 520 521.. bpo: 23171 522.. date: 9057 523.. nonce: b6PBzM 524.. section: Library 525 526csv.Writer.writerow() now supports arbitrary iterables. 527 528.. 529 530.. bpo: 23745 531.. date: 9056 532.. nonce: E00Bml 533.. section: Library 534 535The new email header parser now handles duplicate MIME parameter names 536without error, similar to how get_param behaves. 537 538.. 539 540.. bpo: 22117 541.. date: 9055 542.. nonce: bTO0xx 543.. section: Library 544 545Fix os.utime(), it now rounds the timestamp towards minus infinity (-inf) 546instead of rounding towards zero. 547 548.. 549 550.. bpo: 23310 551.. date: 9054 552.. nonce: GXmFMR 553.. section: Library 554 555Fix MagicMock's initializer to work with __methods__, just like 556configure_mock(). Patch by Kasia Jachim. 557 558.. 559 560.. bpo: 23817 561.. date: 9053 562.. nonce: DTmVan 563.. section: Build 564 565FreeBSD now uses "1.0" in the SOVERSION as other operating systems, instead 566of just "1". 567 568.. 569 570.. bpo: 23501 571.. date: 9052 572.. nonce: iz10e6 573.. section: Build 574 575Argument Clinic now generates code into separate files by default. 576 577.. 578 579.. bpo: 23799 580.. date: 9051 581.. nonce: XU2xDw 582.. section: Tests 583 584Added test.support.start_threads() for running and cleaning up multiple 585threads. 586 587.. 588 589.. bpo: 22390 590.. date: 9050 591.. nonce: UPVFnq 592.. section: Tests 593 594test.regrtest now emits a warning if temporary files or directories are left 595after running a test. 596 597.. 598 599.. bpo: 18128 600.. date: 9049 601.. nonce: lx2V5a 602.. section: Tools/Demos 603 604pygettext now uses standard +NNNN format in the POT-Creation-Date header. 605 606.. 607 608.. bpo: 23935 609.. date: 9048 610.. nonce: JSYowT 611.. section: Tools/Demos 612 613Argument Clinic's understanding of format units accepting bytes, bytearrays, 614and buffers is now consistent with both the documentation and the 615implementation. 616 617.. 618 619.. bpo: 23944 620.. date: 9047 621.. nonce: Q8ZL2s 622.. section: Tools/Demos 623 624Argument Clinic now wraps long impl prototypes at column 78. 625 626.. 627 628.. bpo: 20586 629.. date: 9046 630.. nonce: 7BiEkx 631.. section: Tools/Demos 632 633Argument Clinic now ensures that functions without docstrings have 634signatures. 635 636.. 637 638.. bpo: 23492 639.. date: 9045 640.. nonce: kjIcQW 641.. section: Tools/Demos 642 643Argument Clinic now generates argument parsing code with PyArg_Parse instead 644of PyArg_ParseTuple if possible. 645 646.. 647 648.. bpo: 23500 649.. date: 9044 650.. nonce: H6_dX_ 651.. section: Tools/Demos 652 653Argument Clinic is now smarter about generating the "#ifndef" (empty) 654definition of the methoddef macro: it's only generated once, even if 655Argument Clinic processes the same symbol multiple times, and it's emitted 656at the end of all processing rather than immediately after the first use. 657 658.. 659 660.. bpo: 23998 661.. date: 9043 662.. nonce: z7mlLW 663.. section: C API 664 665PyImport_ReInitLock() now checks for lock allocation error 666