1 .. bpo: 23971 2 .. date: 9588 3 .. nonce: fQZtJr 4 .. release date: 2015-05-10 5 .. section: Core and Builtins 6 7 Fix underestimated presizing in dict.fromkeys(). 8 9 .. 10 11 .. bpo: 23757 12 .. date: 9587 13 .. nonce: Q9kwY_ 14 .. section: Core and Builtins 15 16 PySequence_Tuple() incorrectly called the concrete list API when the data 17 was a list subclass. 18 19 .. 20 21 .. bpo: 23629 22 .. date: 9586 23 .. nonce: r9Mt2C 24 .. section: Core and Builtins 25 26 Fix the default __sizeof__ implementation for variable-sized objects. 27 28 .. 29 30 .. bpo: 23055 31 .. date: 9585 32 .. nonce: rRkRIJ 33 .. section: Core and Builtins 34 35 Fixed a buffer overflow in PyUnicode_FromFormatV. Analysis and fix by Guido 36 Vranken. 37 38 .. 39 40 .. bpo: 23048 41 .. date: 9584 42 .. nonce: X5BUd3 43 .. section: Core and Builtins 44 45 Fix jumping out of an infinite while loop in the pdb. 46 47 .. 48 49 .. bpo: 0 50 .. date: 9583 51 .. nonce: fgX8Qe 52 .. section: Library 53 54 The keywords attribute of functools.partial is now always a dictionary. 55 56 .. 57 58 .. bpo: 20274 59 .. date: 9582 60 .. nonce: uVHogg 61 .. section: Library 62 63 When calling a _sqlite.Connection, it now complains if passed any keyword 64 arguments. Previously it silently ignored them. 65 66 .. 67 68 .. bpo: 20274 69 .. date: 9581 70 .. nonce: hBst4M 71 .. section: Library 72 73 Remove ignored and erroneous "kwargs" parameters from three METH_VARARGS 74 methods on _sqlite.Connection. 75 76 .. 77 78 .. bpo: 24134 79 .. date: 9580 80 .. nonce: TT0kHE 81 .. section: Library 82 83 assertRaises() and assertRaisesRegexp() checks are not longer successful if 84 the callable is None. 85 86 .. 87 88 .. bpo: 23008 89 .. date: 9579 90 .. nonce: OZFCd- 91 .. section: Library 92 93 Fixed resolving attributes with boolean value is False in pydoc. 94 95 .. 96 97 .. bpo: 24099 98 .. date: 9578 99 .. nonce: 2uAHX7 100 .. section: Library 101 102 Fix use-after-free bug in heapq's siftup and siftdown functions. (See also: 103 bpo-24100, bpo-24101) 104 105 .. 106 107 .. bpo: 0 108 .. date: 9577 109 .. nonce: OuI94b 110 .. section: Library 111 112 Backport collections.deque fixes from Python 3.5. Prevents reentrant 113 badness during deletion by deferring the decref until the container has been 114 restored to a consistent state. 115 116 .. 117 118 .. bpo: 23842 119 .. date: 9576 120 .. nonce: 8UD2q_ 121 .. section: Library 122 123 os.major(), os.minor() and os.makedev() now support ints again. 124 125 .. 126 127 .. bpo: 23811 128 .. date: 9575 129 .. nonce: B6tzf9 130 .. section: Library 131 132 Add missing newline to the PyCompileError error message. Patch by Alex 133 Shkop. 134 135 .. 136 137 .. bpo: 17898 138 .. date: 9574 139 .. nonce: EsbCnX 140 .. section: Library 141 142 Fix exception in gettext.py when parsing certain plural forms. 143 144 .. 145 146 .. bpo: 23865 147 .. date: 9573 148 .. nonce: PtSLgU 149 .. section: Library 150 151 close() methods in multiple modules now are idempotent and more robust at 152 shutdown. If they need to release multiple resources, all are released even 153 if errors occur. 154 155 .. 156 157 .. bpo: 23881 158 .. date: 9572 159 .. nonce: CYmvWv 160 .. section: Library 161 162 urllib.ftpwrapper constructor now closes the socket if the FTP connection 163 failed. 164 165 .. 166 167 .. bpo: 15133 168 .. date: 9571 169 .. nonce: iHpkhw 170 .. section: Library 171 172 _tkinter.tkapp.getboolean() now supports long and Tcl_Obj and always returns 173 bool. tkinter.BooleanVar now validates input values (accepted bool, int, 174 long, str, unicode, and Tcl_Obj). tkinter.BooleanVar.get() now always 175 returns bool. 176 177 .. 178 179 .. bpo: 23338 180 .. date: 9570 181 .. nonce: ZYMGN1 182 .. section: Library 183 184 Fixed formatting ctypes error messages on Cygwin. Patch by Makoto Kato. 185 186 .. 187 188 .. bpo: 16840 189 .. date: 9569 190 .. nonce: kKIhPm 191 .. section: Library 192 193 Tkinter now supports 64-bit integers added in Tcl 8.4 and arbitrary 194 precision integers added in Tcl 8.5. 195 196 .. 197 198 .. bpo: 23834 199 .. date: 9568 200 .. nonce: 1w5YIz 201 .. section: Library 202 203 Fix socket.sendto(), use the C long type to store the result of sendto() 204 instead of the C int type. 205 206 .. 207 208 .. bpo: 21526 209 .. date: 9567 210 .. nonce: QQEXrR 211 .. section: Library 212 213 Tkinter now supports new boolean type in Tcl 8.5. 214 215 .. 216 217 .. bpo: 23838 218 .. date: 9566 219 .. nonce: IX6FPX 220 .. section: Library 221 222 linecache now clears the cache and returns an empty result on MemoryError. 223 224 .. 225 226 .. bpo: 23742 227 .. date: 9565 228 .. nonce: _EkAIa 229 .. section: Library 230 231 ntpath.expandvars() no longer loses unbalanced single quotes. 232 233 .. 234 235 .. bpo: 21802 236 .. date: 9564 237 .. nonce: ygSM2A 238 .. section: Library 239 240 The reader in BufferedRWPair now is closed even when closing writer failed 241 in BufferedRWPair.close(). 242 243 .. 244 245 .. bpo: 23671 246 .. date: 9563 247 .. nonce: zWPm-a 248 .. section: Library 249 250 string.Template now allows specifying the "self" parameter as a keyword 251 argument. string.Formatter now allows specifying the "self" and the 252 "format_string" parameters as keyword arguments. 253 254 .. 255 256 .. bpo: 21560 257 .. date: 9562 258 .. nonce: lqfYv8 259 .. section: Library 260 261 An attempt to write a data of wrong type no longer cause GzipFile 262 corruption. Original patch by Wolfgang Maier. 263 264 .. 265 266 .. bpo: 23647 267 .. date: 9561 268 .. nonce: pX2qrx 269 .. section: Library 270 271 Increase impalib's MAXLINE to accommodate modern mailbox sizes. 272 273 .. 274 275 .. bpo: 23539 276 .. date: 9560 277 .. nonce: 5BVUim 278 .. section: Library 279 280 If body is None, http.client.HTTPConnection.request now sets Content-Length 281 to 0 for PUT, POST, and PATCH headers to avoid 411 errors from some web 282 servers. 283 284 .. 285 286 .. bpo: 23136 287 .. date: 9559 288 .. nonce: 1bnpnb 289 .. section: Library 290 291 _strptime now uniformly handles all days in week 0, including Dec 30 of 292 previous year. Based on patch by Jim Carroll. 293 294 .. 295 296 .. bpo: 23138 297 .. date: 9558 298 .. nonce: 4vMoMZ 299 .. section: Library 300 301 Fixed parsing cookies with absent keys or values in cookiejar. Patch by 302 Demian Brecht. 303 304 .. 305 306 .. bpo: 23051 307 .. date: 9557 308 .. nonce: Vi5tCZ 309 .. section: Library 310 311 multiprocessing.Pool methods imap() and imap_unordered() now handle 312 exceptions raised by an iterator. Patch by Alon Diamant and Davin Potts. 313 314 .. 315 316 .. bpo: 22928 317 .. date: 9556 318 .. nonce: 1bJJIG 319 .. section: Library 320 321 Disabled HTTP header injections in httplib. Original patch by Demian Brecht. 322 323 .. 324 325 .. bpo: 23615 326 .. date: 9555 327 .. nonce: SRSoav 328 .. section: Library 329 330 Module tarfile is now can be reloaded with imp.reload(). 331 332 .. 333 334 .. bpo: 22853 335 .. date: 9554 336 .. nonce: LUBedC 337 .. section: Library 338 339 Fixed a deadlock when use multiprocessing.Queue at import time. Patch by 340 Florian Finkernagel and Davin Potts. 341 342 .. 343 344 .. bpo: 23476 345 .. date: 9553 346 .. nonce: 82QV9I 347 .. section: Library 348 349 In the ssl module, enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST flag on 350 certificate stores when it is available. 351 352 .. 353 354 .. bpo: 23576 355 .. date: 9552 356 .. nonce: 98F-PP 357 .. section: Library 358 359 Avoid stalling in SSL reads when EOF has been reached in the SSL layer but 360 the underlying connection hasn't been closed. 361 362 .. 363 364 .. bpo: 23504 365 .. date: 9551 366 .. nonce: o31h5I 367 .. section: Library 368 369 Added an __all__ to the types module. 370 371 .. 372 373 .. bpo: 23458 374 .. date: 9550 375 .. nonce: QGBFRr 376 .. section: Library 377 378 On POSIX, the file descriptor kept open by os.urandom() is now set to non 379 inheritable 380 381 .. 382 383 .. bpo: 22113 384 .. date: 9549 385 .. nonce: L5Fo5c 386 .. section: Library 387 388 struct.pack_into() now supports new buffer protocol (in particular accepts 389 writable memoryview). 390 391 .. 392 393 .. bpo: 814253 394 .. date: 9548 395 .. nonce: AJWDsY 396 .. section: Library 397 398 Warnings now are raised when group references and conditional group 399 references are used in lookbehind assertions in regular expressions. (See 400 also: bpo-9179) 401 402 .. 403 404 .. bpo: 23215 405 .. date: 9547 406 .. nonce: VHVSVX 407 .. section: Library 408 409 Multibyte codecs with custom error handlers that ignores errors consumed too 410 much memory and raised SystemError or MemoryError. Original patch by Aleksi 411 Torhamo. 412 413 .. 414 415 .. bpo: 5700 416 .. date: 9546 417 .. nonce: iA5yzL 418 .. section: Library 419 420 io.FileIO() called flush() after closing the file. flush() was not called in 421 close() if closefd=False. 422 423 .. 424 425 .. bpo: 21548 426 .. date: 9545 427 .. nonce: Rr1l-c 428 .. section: Library 429 430 Fix pydoc.synopsis() and pydoc.apropos() on modules with empty docstrings. 431 Initial patch by Yuyang Guo. 432 433 .. 434 435 .. bpo: 22885 436 .. date: 9544 437 .. nonce: c3937m 438 .. section: Library 439 440 Fixed arbitrary code execution vulnerability in the dumbdbm module. 441 Original patch by Claudiu Popa. 442 443 .. 444 445 .. bpo: 23481 446 .. date: 9543 447 .. nonce: ZWwliG 448 .. section: Library 449 450 Remove RC4 from the SSL module's default cipher list. 451 452 .. 453 454 .. bpo: 21849 455 .. date: 9542 456 .. nonce: XUnTp8 457 .. section: Library 458 459 Fixed xmlrpclib serialization of non-ASCII unicode strings in the 460 multiprocessing module. 461 462 .. 463 464 .. bpo: 21840 465 .. date: 9541 466 .. nonce: PrOwSC 467 .. section: Library 468 469 Fixed expanding unicode variables of form $var in posixpath.expandvars(). 470 Fixed all os.path implementations on unicode-disabled builds. 471 472 .. 473 474 .. bpo: 23367 475 .. date: 9540 476 .. nonce: kHnFiz 477 .. section: Library 478 479 Fix possible overflows in the unicodedata module. 480 481 .. 482 483 .. bpo: 23363 484 .. date: 9539 485 .. nonce: -koaol 486 .. section: Library 487 488 Fix possible overflow in itertools.permutations. 489 490 .. 491 492 .. bpo: 23364 493 .. date: 9538 494 .. nonce: 3yBV-6 495 .. section: Library 496 497 Fix possible overflow in itertools.product. 498 499 .. 500 501 .. bpo: 23365 502 .. date: 9537 503 .. nonce: h5jLQ9 504 .. section: Library 505 506 Fixed possible integer overflow in itertools.combinations_with_replacement. 507 508 .. 509 510 .. bpo: 23366 511 .. date: 9536 512 .. nonce: tyAfm8 513 .. section: Library 514 515 Fixed possible integer overflow in itertools.combinations. 516 517 .. 518 519 .. bpo: 23191 520 .. date: 9535 521 .. nonce: 55Cwcb 522 .. section: Library 523 524 fnmatch functions that use caching are now threadsafe. 525 526 .. 527 528 .. bpo: 18518 529 .. date: 9534 530 .. nonce: JXgicC 531 .. section: Library 532 533 timeit now rejects statements which can't be compiled outside a function or 534 a loop (e.g. "return" or "break"). 535 536 .. 537 538 .. bpo: 19996 539 .. date: 9533 540 .. nonce: FvMyH0 541 .. section: Library 542 543 Make :mod:`httplib` ignore headers with no name rather than assuming the 544 body has started. 545 546 .. 547 548 .. bpo: 20188 549 .. date: 9532 550 .. nonce: xocY-2 551 .. section: Library 552 553 Support Application-Layer Protocol Negotiation (ALPN) in the ssl module. 554 555 .. 556 557 .. bpo: 23248 558 .. date: 9531 559 .. nonce: FjcyCP 560 .. section: Library 561 562 Update ssl error codes from latest OpenSSL git master. 563 564 .. 565 566 .. bpo: 23098 567 .. date: 9530 568 .. nonce: 7VwF3K 569 .. section: Library 570 571 64-bit dev_t is now supported in the os module. 572 573 .. 574 575 .. bpo: 23063 576 .. date: 9529 577 .. nonce: 9-UJRs 578 .. section: Library 579 580 In the disutils' check command, fix parsing of reST with code or code-block 581 directives. 582 583 .. 584 585 .. bpo: 21356 586 .. date: 9528 587 .. nonce: 8NY75J 588 .. section: Library 589 590 Make ssl.RAND_egd() optional to support LibreSSL. The availability of the 591 function is checked during the compilation. Patch written by Bernard Spil. 592 593 .. 594 595 .. bpo: 0 596 .. date: 9527 597 .. nonce: SZRSxn 598 .. section: Library 599 600 Backport the context argument to ftplib.FTP_TLS. 601 602 .. 603 604 .. bpo: 23111 605 .. date: 9526 606 .. nonce: A6CAZK 607 .. section: Library 608 609 Maximize compatibility in protocol versions of ftplib.FTP_TLS. 610 611 .. 612 613 .. bpo: 23112 614 .. date: 9525 615 .. nonce: dZGf82 616 .. section: Library 617 618 Fix SimpleHTTPServer to correctly carry the query string and fragment when 619 it redirects to add a trailing slash. 620 621 .. 622 623 .. bpo: 22585 624 .. date: 9524 625 .. nonce: F4BkNo 626 .. section: Library 627 628 On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(), instead of 629 reading /dev/urandom, to get pseudo-random bytes. 630 631 .. 632 633 .. bpo: 23093 634 .. date: 9523 635 .. nonce: cP7OqD 636 .. section: Library 637 638 In the io, module allow more operations to work on detached streams. 639 640 .. 641 642 .. bpo: 23071 643 .. date: 9522 644 .. nonce: 3BSqF7 645 .. section: Library 646 647 Added missing names to codecs.__all__. Patch by Martin Panter. 648 649 .. 650 651 .. bpo: 23016 652 .. date: 9521 653 .. nonce: wctkY3 654 .. section: Library 655 656 A warning no longer produces an AttributeError when sys.stderr is None. 657 658 .. 659 660 .. bpo: 21032 661 .. date: 9520 662 .. nonce: wxT_41 663 .. section: Library 664 665 Fixed socket leak if HTTPConnection.getresponse() fails. Original patch by 666 Martin Panter. 667 668 .. 669 670 .. bpo: 22609 671 .. date: 9519 672 .. nonce: mmLoeb 673 .. section: Library 674 675 Constructors and update methods of mapping classes in the collections module 676 now accept the self keyword argument. 677 678 .. 679 680 .. bpo: 23006 681 .. date: 9518 682 .. nonce: 6-u4Mv 683 .. section: Documentation 684 685 Improve the documentation and indexing of dict.__missing__. Add an entry in 686 the language datamodel special methods section. Revise and index its 687 discussion in the stdtypes mapping/dict section. Backport the code example 688 from 3.4. 689 690 .. 691 692 .. bpo: 21514 693 .. date: 9517 694 .. nonce: 1H16T6 695 .. section: Documentation 696 697 The documentation of the json module now refers to new JSON RFC 7159 instead 698 of obsoleted RFC 4627. 699 700 .. 701 702 .. bpo: 23330 703 .. date: 9516 704 .. nonce: LTlKDp 705 .. section: Tools/Demos 706 707 h2py now supports arbitrary filenames in #include. 708 709 .. 710 711 .. bpo: 6639 712 .. date: 9515 713 .. nonce: rmjUmG 714 .. section: Tools/Demos 715 716 Module-level turtle functions no longer raise TclError after closing the 717 window. 718 719 .. 720 721 .. bpo: 22314 722 .. date: 9514 723 .. nonce: ws6xsH 724 .. section: Tools/Demos 725 726 pydoc now works when the LINES environment variable is set. 727 728 .. 729 730 .. bpo: 18905 731 .. date: 9513 732 .. nonce: oKTvz5 733 .. section: Tools/Demos 734 735 "pydoc -p 0" now outputs actually used port. Based on patch by Wieland 736 Hoffmann. 737 738 .. 739 740 .. bpo: 23345 741 .. date: 9512 742 .. nonce: HIGBKx 743 .. section: Tools/Demos 744 745 Prevent test_ssl failures with large OpenSSL patch level values (like 746 0.9.8zc). 747 748 .. 749 750 .. bpo: 23799 751 .. date: 9511 752 .. nonce: IZtmH_ 753 .. section: Tests 754 755 Added test.test_support.start_threads() for running and cleaning up multiple 756 threads. 757 758 .. 759 760 .. bpo: 22390 761 .. date: 9510 762 .. nonce: UPVFnq 763 .. section: Tests 764 765 test.regrtest now emits a warning if temporary files or directories are left 766 after running a test. 767 768 .. 769 770 .. bpo: 23583 771 .. date: 9509 772 .. nonce: bY8AbM 773 .. section: Tests 774 775 Added tests for standard IO streams in IDLE. 776 777 .. 778 779 .. bpo: 23392 780 .. date: 9508 781 .. nonce: Pe7_WK 782 .. section: Tests 783 784 Added tests for marshal C API that works with FILE*. 785 786 .. 787 788 .. bpo: 18982 789 .. date: 9507 790 .. nonce: TynSM6 791 .. section: Tests 792 793 Add tests for CLI of the calendar module. 794 795 .. 796 797 .. bpo: 19949 798 .. date: 9506 799 .. nonce: yw7T54 800 .. section: Tests 801 802 The test_xpickle test now tests compatibility with installed Python 2.7 and 803 reports skipped tests. Based on patch by Zachary Ware. 804 805 .. 806 807 .. bpo: 11578 808 .. date: 9505 809 .. nonce: 1IaAXh 810 .. section: Tests 811 812 Backported test for the timeit module. 813 814 .. 815 816 .. bpo: 22943 817 .. date: 9504 818 .. nonce: t0MW3A 819 .. section: Tests 820 821 bsddb tests are locale independend now. 822 823 .. 824 825 .. bpo: 23583 826 .. date: 9503 827 .. nonce: ApIRL5 828 .. section: IDLE 829 830 Fixed writing unicode to standard output stream in IDLE. 831 832 .. 833 834 .. bpo: 20577 835 .. date: 9502 836 .. nonce: Y71IMj 837 .. section: IDLE 838 839 Configuration of the max line length for the FormatParagraph extension has 840 been moved from the General tab of the Idle preferences dialog to the 841 FormatParagraph tab of the Config Extensions dialog. Patch by Tal Einat. 842 843 .. 844 845 .. bpo: 16893 846 .. date: 9501 847 .. nonce: JfHAA4 848 .. section: IDLE 849 850 Update Idle doc chapter to match current Idle and add new information. 851 852 .. 853 854 .. bpo: 23180 855 .. date: 9500 856 .. nonce: cE_89F 857 .. section: IDLE 858 859 Rename IDLE "Windows" menu item to "Window". Patch by Al Sweigart. 860 861 .. 862 863 .. bpo: 15506 864 .. date: 9499 865 .. nonce: nh8KlR 866 .. section: Build 867 868 Use standard PKG_PROG_PKG_CONFIG autoconf macro in the configure script. 869 870 .. 871 872 .. bpo: 23032 873 .. date: 9498 874 .. nonce: F8fiIl 875 .. section: Build 876 877 Fix installer build failures on OS X 10.4 Tiger by disabling assembly code 878 in the OpenSSL build. 879 880 .. 881 882 .. bpo: 23686 883 .. date: 9497 884 .. nonce: QZBsvh 885 .. section: Build 886 887 Update OS X 10.5 installer and Windows builds to use OpenSSL 1.0.2a. 888 889 .. 890 891 .. bpo: 23998 892 .. date: 9496 893 .. nonce: z7mlLW 894 .. section: C API 895 896 PyImport_ReInitLock() now checks for lock allocation error 897 898 .. 899 900 .. bpo: 22079 901 .. date: 9495 902 .. nonce: zhs2qM 903 .. section: C API 904 905 PyType_Ready() now checks that statically allocated type has no dynamically 906 allocated bases. 907