1 .. bpo: 7419 2 .. date: 7759 3 .. nonce: k1cFGq 4 .. release date: 2009-12-05 5 .. section: Core and Builtins 6 7 ``locale.setlocale()`` could crash the interpreter on Windows when called 8 with invalid values. 9 10 .. 11 12 .. bpo: 3382 13 .. date: 7758 14 .. nonce: gtmT4T 15 .. section: Core and Builtins 16 17 'F' formatting for float and complex now convert the result to upper case. 18 This only affects 'inf' and 'nan', since 'f' no longer converts to 'g' for 19 large values. 20 21 .. 22 23 .. bpo: 0 24 .. date: 7757 25 .. nonce: fw7KHO 26 .. section: Core and Builtins 27 28 Remove switch from "%f" formatting to "%g" formatting for floats larger than 29 1e50 in absolute value. 30 31 .. 32 33 .. bpo: 0 34 .. date: 7756 35 .. nonce: npJH0D 36 .. section: Core and Builtins 37 38 Remove restrictions on precision when formatting floats. E.g., "%.120g" % 39 1e-100 used to raise OverflowError, but now gives the requested 120 40 significant digits instead. 41 42 .. 43 44 .. bpo: 0 45 .. date: 7755 46 .. nonce: Z3-djS 47 .. section: Core and Builtins 48 49 Add Py3k warnings for parameter names in parentheses. 50 51 .. 52 53 .. bpo: 7362 54 .. date: 7754 55 .. nonce: wy5JgV 56 .. section: Core and Builtins 57 58 Give a proper error message for ``def f((x)=3): pass``. 59 60 .. 61 62 .. bpo: 7085 63 .. date: 7753 64 .. nonce: 1mo7hs 65 .. section: Core and Builtins 66 67 Fix crash when importing some extensions in a thread on MacOSX 10.6. 68 69 .. 70 71 .. bpo: 7117 72 .. date: 7752 73 .. nonce: 3_1LKC 74 .. section: Core and Builtins 75 76 ``repr(x)`` for a float x returns a result based on the shortest decimal 77 string that's guaranteed to round back to x under correct rounding (with 78 round-half-to-even rounding mode). Previously it gave a string based on 79 rounding x to 17 decimal digits. repr(x) for a complex number behaves 80 similarly. On platforms where the correctly-rounded strtod and dtoa code is 81 not supported (see below), repr is unchanged. 82 83 .. 84 85 .. bpo: 7117 86 .. date: 7751 87 .. nonce: 6am3Rw 88 .. section: Core and Builtins 89 90 On almost all platforms: float-to-string and string-to-float conversions 91 within Python are now correctly rounded. Places these conversions occur 92 include: str for floats and complex numbers; the float and complex 93 constructors; old-style and new-style numeric formatting; serialization and 94 deserialization of floats and complex numbers using marshal, pickle and 95 json; parsing of float and imaginary literals in Python code; 96 Decimal-to-float conversion. 97 98 The conversions use a Python-adapted version of David Gay's well-known 99 dtoa.c, providing correctly-rounded strtod and dtoa C functions. This code 100 is supported on Windows, and on Unix-like platforms using gcc, icc or suncc 101 as the C compiler. There may be a small number of platforms on which 102 correct operation of this code cannot be guaranteed, so the code is not 103 used: notably, this applies to platforms where the C double format is not 104 IEEE 754 binary64, and to platforms on x86 hardware where the x87 FPU is set 105 to 64-bit precision and Python's configure script is unable to determine how 106 to change the FPU precision. On these platforms conversions use the 107 platform strtod and dtoa, as before. 108 109 .. 110 111 .. bpo: 7117 112 .. date: 7750 113 .. nonce: 2KoEdA 114 .. section: Core and Builtins 115 116 Backport round implementation from Python 3.x. ``round()`` now uses the 117 correctly-rounded string <-> float conversions described above (when 118 available), and so produces correctly rounded results that will display 119 nicely under the float repr. There are two related small changes: (1) round 120 now accepts any class with an ``__index__()`` method for its second argument 121 (but no longer accepts floats for the second argument), and (2) an 122 excessively large second integer argument (e.g., ``round(1.234, 10**100)``) 123 no longer raises an exception. 124 125 .. 126 127 .. bpo: 1757126 128 .. date: 7749 129 .. nonce: W4QhUw 130 .. section: Core and Builtins 131 132 Fix the cyrillic-asian alias for the ptcp154 encoding. 133 134 .. 135 136 .. bpo: 0 137 .. date: 7748 138 .. nonce: mZpsla 139 .. section: Core and Builtins 140 141 Fix several issues with ``compile()``. The input can now contain Windows 142 and Mac newlines and is no longer required to end in a newline. 143 144 .. 145 146 .. bpo: 0 147 .. date: 7747 148 .. nonce: sUbwH3 149 .. section: Core and Builtins 150 151 Remove length limitation when constructing a complex number from a unicode 152 string. 153 154 .. 155 156 .. bpo: 7244 157 .. date: 7746 158 .. nonce: qAVavO 159 .. section: Core and Builtins 160 161 ``itertools.izip_longest()`` no longer ignores exceptions raised during the 162 formation of an output tuple. 163 164 .. 165 166 .. bpo: 1087418 167 .. date: 7745 168 .. nonce: dyFZpg 169 .. section: Core and Builtins 170 171 Boost performance of bitwise operations for longs. 172 173 .. 174 175 .. bpo: 1722344 176 .. date: 7744 177 .. nonce: QqabuR 178 .. section: Core and Builtins 179 180 ``threading._shutdown()`` is now called in ``Py_Finalize()``, which fixes 181 the problem of some exceptions being thrown at shutdown when the interpreter 182 is killed. Patch by Adam Olsen. 183 184 .. 185 186 .. bpo: 7168 187 .. date: 7743 188 .. nonce: pYjKia 189 .. section: Core and Builtins 190 191 Document ``PyFloat_AsString()`` and ``PyFloat_AsReprString()``, and note 192 that they are unsafe and deprecated. 193 194 .. 195 196 .. bpo: 7120 197 .. date: 7742 198 .. nonce: Ft2RxW 199 .. section: Core and Builtins 200 201 logging: Remove import of multiprocessing which is causing crash in GAE. 202 203 .. 204 205 .. bpo: 7140 206 .. date: 7741 207 .. nonce: KNTZLI 208 .. section: Core and Builtins 209 210 The ``__dict__`` of a module should not be cleared unless the module is the 211 only object holding a reference to it. 212 213 .. 214 215 .. bpo: 1754094 216 .. date: 7740 217 .. nonce: I0gQmd 218 .. section: Core and Builtins 219 220 Improve the stack depth calculation in the compiler. There should be no 221 other effect than a small decrease in memory use. Patch by Christopher Tur 222 Lesniewski-Laas. 223 224 .. 225 226 .. bpo: 7084 227 .. date: 7739 228 .. nonce: kUk5-B 229 .. section: Core and Builtins 230 231 Fix a (very unlikely) crash when printing a list from one thread, and 232 mutating it from another one. Patch by Scott Dial. 233 234 .. 235 236 .. bpo: 1571184 237 .. date: 7738 238 .. nonce: EqTH98 239 .. section: Core and Builtins 240 241 The Unicode database contains properties for more characters. The tables for 242 code points representing numeric values, white spaces or line breaks are now 243 generated from the official Unicode Character Database files, and include 244 information from the Unihan.txt file. 245 246 .. 247 248 .. bpo: 7050 249 .. date: 7737 250 .. nonce: DM5jYL 251 .. section: Core and Builtins 252 253 Fix a SystemError when trying to use unpacking and augmented assignment. 254 255 .. 256 257 .. bpo: 5329 258 .. date: 7736 259 .. nonce: bkqqa- 260 .. section: Core and Builtins 261 262 Fix ``os.popen*`` regression from 2.5 with commands as a sequence running 263 through the shell. Patch by Jean-Paul Calderone and Jani Hakala. 264 265 .. 266 267 .. bpo: 7019 268 .. date: 7735 269 .. nonce: sCk9wW 270 .. section: Core and Builtins 271 272 Raise ValueError when unmarshalling bad long data, instead of producing 273 internally inconsistent Python longs. 274 275 .. 276 277 .. bpo: 6990 278 .. date: 7734 279 .. nonce: 19LcUf 280 .. section: Core and Builtins 281 282 Fix ``threading.local`` subclasses leaving old state around after a 283 reference cycle GC which could be recycled by new locals. 284 285 .. 286 287 .. bpo: 6300 288 .. date: 7733 289 .. nonce: 6gPIDy 290 .. section: Core and Builtins 291 292 unicode.encode, unicode.decode, str.decode, and str.encode now take keyword 293 arguments. 294 295 .. 296 297 .. bpo: 6922 298 .. date: 7732 299 .. nonce: _MuLB9 300 .. section: Core and Builtins 301 302 Fix an infinite loop when trying to decode an invalid UTF-32 stream with a 303 non-raising error handler like "replace" or "ignore". 304 305 .. 306 307 .. bpo: 6713 308 .. date: 7731 309 .. nonce: 89EnqN 310 .. section: Core and Builtins 311 312 Improve performance of base 10 int -> string and long -> string conversions. 313 314 .. 315 316 .. bpo: 1590864 317 .. date: 7730 318 .. nonce: 8aex1L 319 .. section: Core and Builtins 320 321 Fix potential deadlock when mixing threads and fork(). 322 323 .. 324 325 .. bpo: 6844 326 .. date: 7729 327 .. nonce: oWxRbN 328 .. section: Core and Builtins 329 330 Do not emit DeprecationWarnings when accessing a "message" attribute on 331 exceptions that was set explicitly. 332 333 .. 334 335 .. bpo: 6846 336 .. date: 7728 337 .. nonce: q7b-Oy 338 .. section: Core and Builtins 339 340 Fix bug where bytearray.pop() returns negative integers. 341 342 .. 343 344 .. bpo: 0 345 .. date: 7727 346 .. nonce: GQUdwf 347 .. section: Core and Builtins 348 349 ``classmethod()`` no longer checks if its argument is callable. 350 351 .. 352 353 .. bpo: 6750 354 .. date: 7726 355 .. nonce: _Pln31 356 .. section: Core and Builtins 357 358 A text file opened with ``io.open()`` could duplicate its output when 359 writing from multiple threads at the same time. 360 361 .. 362 363 .. bpo: 6704 364 .. date: 7725 365 .. nonce: OpSyKo 366 .. section: Core and Builtins 367 368 Improve the col_offset in AST for "for" statements with a target of tuple 369 unpacking. 370 371 .. 372 373 .. bpo: 6707 374 .. date: 7724 375 .. nonce: DXTwpb 376 .. section: Core and Builtins 377 378 ``dir()`` on an uninitialized module caused a crash. 379 380 .. 381 382 .. bpo: 6540 383 .. date: 7723 384 .. nonce: NsoPR8 385 .. section: Core and Builtins 386 387 Fixed crash for ``bytearray.translate()`` with invalid parameters. 388 389 .. 390 391 .. bpo: 6573 392 .. date: 7722 393 .. nonce: VBwjtf 394 .. section: Core and Builtins 395 396 ``set.union()`` stopped processing inputs if an instance of self occurred in 397 the argument chain. 398 399 .. 400 401 .. bpo: 1616979 402 .. date: 7721 403 .. nonce: YHyBWF 404 .. section: Core and Builtins 405 406 Added the cp720 (Arabic DOS) encoding. 407 408 .. 409 410 .. bpo: 6070 411 .. date: 7720 412 .. nonce: -wC7vb 413 .. section: Core and Builtins 414 415 On posix platforms import no longer copies the execute bit from the .py file 416 to the .pyc file if it is set. Patch by Marco N. 417 418 .. 419 420 .. bpo: 4618 421 .. date: 7719 422 .. nonce: B-bSRk 423 .. section: Core and Builtins 424 425 When unicode arguments are passed to ``print()``, the default separator and 426 end should be unicode also. 427 428 .. 429 430 .. bpo: 6119 431 .. date: 7718 432 .. nonce: 94FrLZ 433 .. section: Core and Builtins 434 435 Fixed an incorrect Py3k warning about order comparisons of built-in 436 functions and methods. 437 438 .. 439 440 .. bpo: 6347 441 .. date: 7717 442 .. nonce: VBKK7h 443 .. section: Core and Builtins 444 445 Include inttypes.h as well as stdint.h in pyport.h. This fixes a build 446 failure on HP-UX: int32_t and uint32_t are defined in inttypes.h instead of 447 stdint.h on that platform. 448 449 .. 450 451 .. bpo: 4856 452 .. date: 7716 453 .. nonce: RhxQ0Y 454 .. section: Core and Builtins 455 456 Remove checks for win NT. 457 458 .. 459 460 .. bpo: 2016 461 .. date: 7715 462 .. nonce: ZTf6oS 463 .. section: Core and Builtins 464 465 Fixed a crash in a corner case where the dictionary of keyword arguments 466 could be modified during the function call setup. 467 468 .. 469 470 .. bpo: 0 471 .. date: 7714 472 .. nonce: uhA2zk 473 .. section: Core and Builtins 474 475 Removed the ipaddr module. 476 477 .. 478 479 .. bpo: 6329 480 .. date: 7713 481 .. nonce: j7fwCJ 482 .. section: Core and Builtins 483 484 Fixed iteration for memoryview objects (it was being blocked because it 485 wasn't recognized as a sequence). 486 487 .. 488 489 .. bpo: 6289 490 .. date: 7712 491 .. nonce: zQqm8L 492 .. section: Core and Builtins 493 494 Encoding errors from ``compile()`` were being masked. 495 496 .. 497 498 .. bpo: 0 499 .. date: 7711 500 .. nonce: s6jnqm 501 .. section: Core and Builtins 502 503 When no module is given in a relative import, the module field of the 504 ImportFrom AST node is now None instead of an empty string. 505 506 .. 507 508 .. bpo: 0 509 .. date: 7710 510 .. nonce: dFzVxY 511 .. section: Core and Builtins 512 513 Assignment to None using import statements now raises a SyntaxError. 514 515 .. 516 517 .. bpo: 4547 518 .. date: 7709 519 .. nonce: 4fI3tX 520 .. section: Core and Builtins 521 522 When debugging a very large function, it was not always possible to update 523 the lineno attribute of the current frame. 524 525 .. 526 527 .. bpo: 5330 528 .. date: 7708 529 .. nonce: HPvn6G 530 .. section: Core and Builtins 531 532 C functions called with keyword arguments were not reported by the various 533 profiling modules (profile, cProfile). Patch by Hagen Frstenau. 534 535 .. 536 537 .. bpo: 5982 538 .. date: 7707 539 .. nonce: c_mt6_ 540 .. section: Core and Builtins 541 542 staticmethod and classmethod now expose the wrapped function with 543 ``__func__``. 544 545 .. 546 547 .. bpo: 0 548 .. date: 7706 549 .. nonce: w77qV4 550 .. section: Core and Builtins 551 552 Added support for multiple context managers in the same with-statement. 553 Deprecated ``contextlib.nested()`` which is no longer needed. 554 555 .. 556 557 .. bpo: 6101 558 .. date: 7705 559 .. nonce: 4tQTZX 560 .. section: Core and Builtins 561 562 A new opcode, SETUP_WITH, has been added to speed up the with statement and 563 correctly lookup the __enter__ and __exit__ special methods. 564 565 .. 566 567 .. bpo: 5829 568 .. date: 7704 569 .. nonce: Zt7a5o 570 .. section: Core and Builtins 571 572 complex("1e500") no longer raises OverflowError. This makes it consistent 573 with float("1e500") and interpretation of real and imaginary literals. 574 575 .. 576 577 .. bpo: 3527 578 .. date: 7703 579 .. nonce: Eyqquq 580 .. section: Core and Builtins 581 582 Removed Py_WIN_WIDE_FILENAMES which is not used any more. 583 584 .. 585 586 .. bpo: 0 587 .. date: 7702 588 .. nonce: 2yrH_o 589 .. section: Core and Builtins 590 591 ``__instancecheck__()`` and ``__subclasscheck__()`` are now completely 592 ignored on classic classes and instances. 593 594 .. 595 596 .. bpo: 5994 597 .. date: 7701 598 .. nonce: woNvhx 599 .. section: Core and Builtins 600 601 The marshal module now has docstrings. 602 603 .. 604 605 .. bpo: 5981 606 .. date: 7700 607 .. nonce: LkapH9 608 .. section: Core and Builtins 609 610 Fix three minor inf/nan issues in float.fromhex: 611 612 (1) inf and nan strings with trailing whitespace were incorrectly rejected; 613 (2) parsing of strings representing infinities and nans was locale aware; 614 and (3) the interpretation of fromhex('-nan') didn't match that of 615 float('-nan'). 616 617 .. 618 619 .. bpo: 5920 620 .. date: 7699 621 .. nonce: ZoI1xB 622 .. section: Core and Builtins 623 624 For ``float.__format__()``, change the behavior with the empty presentation 625 type (that is, not one of 'e', 'f', 'g', or 'n') to be like 'g' but with at 626 least one decimal point and with a default precision of 12. Previously, the 627 behavior the same but with a default precision of 6. This more closely 628 matches ``str()``, and reduces surprises when adding alignment flags to the 629 empty presentation type. This also affects the new complex.__format__ in the 630 same way. 631 632 .. 633 634 .. bpo: 5890 635 .. date: 7698 636 .. nonce: sbCAtW 637 .. section: Core and Builtins 638 639 In subclasses of 'property' the __doc__ attribute was shadowed by 640 classtype's, even if it was None. property now inserts the __doc__ into the 641 subclass instance __dict__. 642 643 .. 644 645 .. bpo: 4426 646 .. date: 7697 647 .. nonce: Ny5_Rg 648 .. section: Core and Builtins 649 650 The UTF-7 decoder was too strict and didn't accept some legal sequences. 651 Patch by Nick Barnes and Victor Stinner. 652 653 .. 654 655 .. bpo: 1588 656 .. date: 7696 657 .. nonce: 8-XCeQ 658 .. section: Core and Builtins 659 660 Add complex.__format__. For example, ``format(complex(1, 2./3), '.5')`` now 661 produces a sensible result. 662 663 .. 664 665 .. bpo: 5864 666 .. date: 7695 667 .. nonce: UElc0c 668 .. section: Core and Builtins 669 670 Fix empty format code formatting for floats so that it never gives more than 671 the requested number of significant digits. 672 673 .. 674 675 .. bpo: 5793 676 .. date: 7694 677 .. nonce: 0DjdQj 678 .. section: Core and Builtins 679 680 Rationalize isdigit / isalpha / tolower, etc. Includes new Py_ISDIGIT / 681 Py_ISALPHA / Py_TOLOWER, etc. in pctypes.h. 682 683 .. 684 685 .. bpo: 4971 686 .. date: 7693 687 .. nonce: G5AyFS 688 .. section: Core and Builtins 689 690 Fix titlecase for characters that are their own titlecase, but not their own 691 uppercase. 692 693 .. 694 695 .. bpo: 5835 696 .. date: 7692 697 .. nonce: SBkH58 698 .. section: Core and Builtins 699 700 Deprecate PyOS_ascii_formatd and replace it with _PyOS_double_to_string or 701 PyOS_double_to_string. 702 703 .. 704 705 .. bpo: 5283 706 .. date: 7691 707 .. nonce: p_vsQP 708 .. section: Core and Builtins 709 710 Setting __class__ in __del__ caused a segfault. 711 712 .. 713 714 .. bpo: 5816 715 .. date: 7690 716 .. nonce: 5WDdX0 717 .. section: Core and Builtins 718 719 ``complex(repr(z))`` now recovers z exactly, even when z involves nans, infs 720 or negative zeros. 721 722 .. 723 724 .. bpo: 0 725 .. date: 7689 726 .. nonce: ld0JdT 727 .. section: Core and Builtins 728 729 Implement PEP 378, Format Specifier for Thousands Separator, for floats, 730 ints, and longs. 731 732 .. 733 734 .. bpo: 5515 735 .. date: 7688 736 .. nonce: H1aLcI 737 .. section: Core and Builtins 738 739 'n' formatting for ints, longs, and floats handles leading zero formatting 740 poorly. 741 742 .. 743 744 .. bpo: 5772 745 .. date: 7687 746 .. nonce: tXqVft 747 .. section: Core and Builtins 748 749 For float.__format__, don't add a trailing ".0" if we're using no type code 750 and we have an exponent. 751 752 .. 753 754 .. bpo: 3166 755 .. date: 7686 756 .. nonce: oL_y0x 757 .. section: Core and Builtins 758 759 Make long -> float (and int -> float) conversions correctly rounded. 760 761 .. 762 763 .. bpo: 5787 764 .. date: 7685 765 .. nonce: iV1WRE 766 .. section: Core and Builtins 767 768 ``object.__getattribute__(some_type, "__bases__")`` segfaulted on some 769 built-in types. 770 771 .. 772 773 .. bpo: 1869 774 .. date: 7684 775 .. nonce: cQ4HTO 776 .. section: Core and Builtins 777 778 Fix a couple of minor round() issues. ``round(5e15+1)`` was giving 5e15+2; 779 ``round(-0.0)`` was losing the sign of the zero. 780 781 .. 782 783 .. bpo: 5759 784 .. date: 7683 785 .. nonce: j3dL9W 786 .. section: Core and Builtins 787 788 float() didn't call __float__ on str subclasses. 789 790 .. 791 792 .. bpo: 5704 793 .. date: 7682 794 .. nonce: TDk8Ck 795 .. section: Core and Builtins 796 797 The "-3" command-line option now implies "-t". 798 799 .. 800 801 .. bpo: 2170 802 .. date: 7681 803 .. nonce: 35irN6 804 .. section: Core and Builtins 805 806 Refactored ``xml.dom.minidom.normalize``, increasing both its clarity and 807 its speed. 808 809 .. 810 811 .. bpo: 2396 812 .. date: 7680 813 .. nonce: v-oJ0Q 814 .. section: Core and Builtins 815 816 The memoryview object was backported from Python 3.1. 817 818 .. 819 820 .. bpo: 0 821 .. date: 7679 822 .. nonce: wxbCGj 823 .. section: Core and Builtins 824 825 Fix a problem in PyErr_NormalizeException that leads to "undetected errors" 826 when hitting the recursion limit under certain circumstances. 827 828 .. 829 830 .. bpo: 1665206 831 .. date: 7678 832 .. nonce: D9xyVJ 833 .. section: Core and Builtins 834 835 Remove the last eager import in _warnings.c and make it lazy. 836 837 .. 838 839 .. bpo: 4865 840 .. date: 7677 841 .. nonce: 9T7IVK 842 .. section: Core and Builtins 843 844 On MacOSX /Library/Python/2.7/site-packages is added to the end sys.path, 845 for compatibility with the system install of Python. 846 847 .. 848 849 .. bpo: 4688 850 .. date: 7676 851 .. nonce: k7jSS9 852 .. section: Core and Builtins 853 854 Add a heuristic so that tuples and dicts containing only untrackable objects 855 are not tracked by the garbage collector. This can reduce the size of 856 collections and therefore the garbage collection overhead on long-running 857 programs, depending on their particular use of datatypes. 858 859 .. 860 861 .. bpo: 5512 862 .. date: 7675 863 .. nonce: 0akWHy 864 .. section: Core and Builtins 865 866 Rewrite PyLong long division algorithm (x_divrem) to improve its 867 performance. Long divisions and remainder operations are now between 50% 868 and 150% faster. 869 870 .. 871 872 .. bpo: 4258 873 .. date: 7674 874 .. nonce: VzQaoh 875 .. section: Core and Builtins 876 877 Make it possible to use base 2**30 instead of base 2**15 for the internal 878 representation of integers, for performance reasons. Base 2**30 is enabled 879 by default on 64-bit machines. Add --enable-big-digits option to configure, 880 which overrides the default. Add sys.long_info structseq to provide 881 information about the internal format. 882 883 .. 884 885 .. bpo: 4034 886 .. date: 7673 887 .. nonce: WdZVvE 888 .. section: Core and Builtins 889 890 Fix weird attribute error messages of the traceback object. (As a result 891 traceback.__members__ no longer exists.) 892 893 .. 894 895 .. bpo: 4474 896 .. date: 7672 897 .. nonce: d-gOFs 898 .. section: Core and Builtins 899 900 PyUnicode_FromWideChar now converts characters outside the BMP to surrogate 901 pairs, on systems with sizeof(wchar_t) == 4 and sizeof(Py_UNICODE) == 2. 902 903 .. 904 905 .. bpo: 5237 906 .. date: 7671 907 .. nonce: TC5vHj 908 .. section: Core and Builtins 909 910 Allow auto-numbered fields in str.format(). For example: ``'{} {}'.format(1, 911 2) == '1 2'``. 912 913 .. 914 915 .. bpo: 3652 916 .. date: 7670 917 .. nonce: LS7lbT 918 .. section: Core and Builtins 919 920 Make the 'line' argument for ``warnings.showwarning()`` a requirement. 921 Means the DeprecationWarning from Python 2.6 can go away. 922 923 .. 924 925 .. bpo: 5247 926 .. date: 7669 927 .. nonce: FherHz 928 .. section: Core and Builtins 929 930 Improve error message when unknown format codes are used when using 931 ``str.format()`` with str, unicode, long, int, and float arguments. 932 933 .. 934 935 .. bpo: 0 936 .. date: 7668 937 .. nonce: UMEr-l 938 .. section: Core and Builtins 939 940 Running Python with the -3 option now also warns about classic division for 941 ints and longs. 942 943 .. 944 945 .. bpo: 5260 946 .. date: 7667 947 .. nonce: Em88-S 948 .. section: Core and Builtins 949 950 Long integers now consume less memory: average saving is 2 bytes per long on 951 a 32-bit system and 6 bytes per long on a 64-bit system. 952 953 .. 954 955 .. bpo: 5186 956 .. date: 7666 957 .. nonce: j1is78 958 .. section: Core and Builtins 959 960 Reduce hash collisions for objects with no __hash__ method by rotating the 961 object pointer by 4 bits to the right. 962 963 .. 964 965 .. bpo: 4575 966 .. date: 7665 967 .. nonce: kbytK5 968 .. section: Core and Builtins 969 970 Fix Py_IS_INFINITY macro to work correctly on x87 FPUs: it now forces its 971 argument to double before testing for infinity. 972 973 .. 974 975 .. bpo: 4978 976 .. date: 7664 977 .. nonce: 1CHApa 978 .. section: Core and Builtins 979 980 Passing keyword arguments as unicode strings is now allowed. 981 982 .. 983 984 .. bpo: 1242657 985 .. date: 7663 986 .. nonce: XDCnZa 987 .. section: Core and Builtins 988 989 the __len__() and __length_hint__() calls in several tools were suppressing 990 all exceptions. These include list(), filter(), map(), zip(), and 991 bytearray(). 992 993 .. 994 995 .. bpo: 0 996 .. date: 7662 997 .. nonce: cFart9 998 .. section: Core and Builtins 999 1000 os.ftruncate raises OSErrors instead of IOErrors for consistency with other 1001 os functions. 1002 1003 .. 1004 1005 .. bpo: 4991 1006 .. date: 7661 1007 .. nonce: ALUxl0 1008 .. section: Core and Builtins 1009 1010 Passing invalid file descriptors to io.FileIO now raises an OSError. 1011 1012 .. 1013 1014 .. bpo: 4807 1015 .. date: 7660 1016 .. nonce: zBKF-Y 1017 .. section: Core and Builtins 1018 1019 Port the _winreg module to Windows CE. 1020 1021 .. 1022 1023 .. bpo: 4935 1024 .. date: 7659 1025 .. nonce: FCRsi7 1026 .. section: Core and Builtins 1027 1028 The overflow checking code in the expandtabs() method common to str, bytes 1029 and bytearray could be optimized away by the compiler, letting the 1030 interpreter segfault instead of raising an error. 1031 1032 .. 1033 1034 .. bpo: 3720 1035 .. date: 7658 1036 .. nonce: AhqraF 1037 .. section: Core and Builtins 1038 1039 Fix a crash when an iterator modifies its class and removes its __next__ 1040 method. 1041 1042 .. 1043 1044 .. bpo: 4893 1045 .. date: 7657 1046 .. nonce: 6cqBTr 1047 .. section: Core and Builtins 1048 1049 Use NT threading on CE. 1050 1051 .. 1052 1053 .. bpo: 4915 1054 .. date: 7656 1055 .. nonce: 687QYF 1056 .. section: Core and Builtins 1057 1058 Port sysmodule to Windows CE. 1059 1060 .. 1061 1062 .. bpo: 4074 1063 .. date: 7655 1064 .. nonce: P6W6AU 1065 .. section: Core and Builtins 1066 1067 Change the criteria for doing a full garbage collection (i.e. collecting the 1068 oldest generation) so that allocating lots of objects without destroying 1069 them does not show quadratic performance. Based on a proposal by Martin von 1070 Lwis at http://mail.python.org/pipermail/python-dev/2008-June/080579.html. 1071 1072 .. 1073 1074 .. bpo: 4850 1075 .. date: 7654 1076 .. nonce: I2rQxz 1077 .. section: Core and Builtins 1078 1079 Change COUNT_ALLOCS variables to Py_ssize_t. 1080 1081 .. 1082 1083 .. bpo: 1180193 1084 .. date: 7653 1085 .. nonce: pCkOCz 1086 .. section: Core and Builtins 1087 1088 When importing a module from a .pyc (or .pyo) file with an existing .py 1089 counterpart, override the co_filename attributes of all code objects if the 1090 original filename is obsolete (which can happen if the file has been 1091 renamed, moved, or if it is accessed through different paths). Patch by 1092 Ziga Seilnacht and Jean-Paul Calderone. 1093 1094 .. 1095 1096 .. bpo: 4075 1097 .. date: 7652 1098 .. nonce: Ccn4nr 1099 .. section: Core and Builtins 1100 1101 Use ``OutputDebugStringW()`` in Py_FatalError. 1102 1103 .. 1104 1105 .. bpo: 4797 1106 .. date: 7651 1107 .. nonce: X8BGMK 1108 .. section: Core and Builtins 1109 1110 IOError.filename was not set when _fileio.FileIO failed to open file with 1111 `str' filename on Windows. 1112 1113 .. 1114 1115 .. bpo: 3680 1116 .. date: 7650 1117 .. nonce: sDYVgF 1118 .. section: Core and Builtins 1119 1120 Reference cycles created through a dict, set or deque iterator did not get 1121 collected. 1122 1123 .. 1124 1125 .. bpo: 4701 1126 .. date: 7649 1127 .. nonce: KCWdVt 1128 .. section: Core and Builtins 1129 1130 PyObject_Hash now implicitly calls PyType_Ready on types where the tp_hash 1131 and tp_dict slots are both NULL. 1132 1133 .. 1134 1135 .. bpo: 4764 1136 .. date: 7648 1137 .. nonce: 9uJcCX 1138 .. section: Core and Builtins 1139 1140 With io.open, IOError.filename is set when trying to open a directory on 1141 POSIX systems. 1142 1143 .. 1144 1145 .. bpo: 4764 1146 .. date: 7647 1147 .. nonce: m87cQp 1148 .. section: Core and Builtins 1149 1150 IOError.filename is set when trying to open a directory on POSIX systems. 1151 1152 .. 1153 1154 .. bpo: 4759 1155 .. date: 7646 1156 .. nonce: jS_IUc 1157 .. section: Core and Builtins 1158 1159 None is now allowed as the first argument of ``bytearray.translate()``. It 1160 was always allowed for ``bytes.translate()``. 1161 1162 .. 1163 1164 .. bpo: 0 1165 .. date: 7645 1166 .. nonce: NJHPw5 1167 .. section: Core and Builtins 1168 1169 Added test case to ensure attempts to read from a file opened for writing 1170 fail. 1171 1172 .. 1173 1174 .. bpo: 2467 1175 .. date: 7644 1176 .. nonce: hTdCDO 1177 .. section: Core and Builtins 1178 1179 gc.DEBUG_STATS reported invalid elapsed times. Also, always print elapsed 1180 times, not only when some objects are uncollectable/unreachable. Original 1181 patch by Neil Schemenauer. 1182 1183 .. 1184 1185 .. bpo: 3439 1186 .. date: 7643 1187 .. nonce: FDqFob 1188 .. section: Core and Builtins 1189 1190 Add a bit_length method to int and long. 1191 1192 .. 1193 1194 .. bpo: 2183 1195 .. date: 7642 1196 .. nonce: N4TSpS 1197 .. section: Core and Builtins 1198 1199 Simplify and optimize bytecode for list comprehensions. Original patch by 1200 Neal Norwitz. 1201 1202 .. 1203 1204 .. bpo: 4597 1205 .. date: 7641 1206 .. nonce: tAXQWn 1207 .. section: Core and Builtins 1208 1209 Fixed exception handling when the __exit__ function of a context manager 1210 returns a value that cannot be converted to a bool. 1211 1212 .. 1213 1214 .. bpo: 4597 1215 .. date: 7640 1216 .. nonce: nQOPGV 1217 .. section: Core and Builtins 1218 1219 Fixed several opcodes that weren't always propagating exceptions. 1220 1221 .. 1222 1223 .. bpo: 4445 1224 .. date: 7639 1225 .. nonce: irvsqZ 1226 .. section: Core and Builtins 1227 1228 Replace ``sizeof(PyStringObject)`` with ``offsetof(PyStringObject, ob_sval) 1229 + 1`` when allocating memory for str instances. On a typical machine this 1230 saves 3 bytes of memory (on average) per string allocation. 1231 1232 .. 1233 1234 .. bpo: 3996 1235 .. date: 7638 1236 .. nonce: MarU4T 1237 .. section: Core and Builtins 1238 1239 On Windows, the PyOS_CheckStack function would cause the interpreter to 1240 abort ("Fatal Python error: Could not reset the stack!") instead of throwing 1241 a MemoryError. 1242 1243 .. 1244 1245 .. bpo: 3689 1246 .. date: 7637 1247 .. nonce: CNYxlz 1248 .. section: Core and Builtins 1249 1250 The list reversed iterator now supports __length_hint__ instead of __len__. 1251 Behavior now matches other reversed iterators. 1252 1253 .. 1254 1255 .. bpo: 4367 1256 .. date: 7636 1257 .. nonce: fmKFqn 1258 .. section: Core and Builtins 1259 1260 Python would segfault during compiling when the unicodedata module couldn't 1261 be imported and \N escapes were present. 1262 1263 .. 1264 1265 .. bpo: 4233 1266 .. date: 7635 1267 .. nonce: iQj976 1268 .. section: Core and Builtins 1269 1270 Changed semantic of ``_fileio.FileIO``'s ``close()`` method on file objects 1271 with closefd=False. The file descriptor is still kept open but the file 1272 object behaves like a closed file. The ``FileIO`` object also got a new 1273 readonly attribute ``closefd``. 1274 1275 .. 1276 1277 .. bpo: 4348 1278 .. date: 7634 1279 .. nonce: 8mh_bw 1280 .. section: Core and Builtins 1281 1282 Some bytearray methods returned that didn't cause any change to the 1283 bytearray, returned the same bytearray instead of a copy. 1284 1285 .. 1286 1287 .. bpo: 4317 1288 .. date: 7633 1289 .. nonce: GGUHMc 1290 .. section: Core and Builtins 1291 1292 Fixed a crash in the ``imageop.rgb2rgb8()`` function. 1293 1294 .. 1295 1296 .. bpo: 4230 1297 .. date: 7632 1298 .. nonce: Ndmrfx 1299 .. section: Core and Builtins 1300 1301 If ``__getattr__`` is a descriptor, it now functions correctly. 1302 1303 .. 1304 1305 .. bpo: 4048 1306 .. date: 7631 1307 .. nonce: KmD4Fy 1308 .. section: Core and Builtins 1309 1310 The parser module now correctly validates relative imports. 1311 1312 .. 1313 1314 .. bpo: 4225 1315 .. date: 7630 1316 .. nonce: 7zU-HH 1317 .. section: Core and Builtins 1318 1319 ``from __future__ import unicode_literals`` didn't work in an exec 1320 statement. 1321 1322 .. 1323 1324 .. bpo: 4176 1325 .. date: 7629 1326 .. nonce: qhcxIs 1327 .. section: Core and Builtins 1328 1329 Fixed a crash when pickling an object which ``__reduce__`` method does not 1330 return iterators for the 4th and 5th items. 1331 1332 .. 1333 1334 .. bpo: 4209 1335 .. date: 7628 1336 .. nonce: iE6R1Z 1337 .. section: Core and Builtins 1338 1339 Enabling unicode_literals and the print_function in the same __future__ 1340 import didn't work. 1341 1342 .. 1343 1344 .. bpo: 0 1345 .. date: 7627 1346 .. nonce: EZzjhE 1347 .. section: Core and Builtins 1348 1349 Using ``nonlocal`` as a variable name will now raise a Py3k SyntaxWarning 1350 because it is a reserved word in 3.x. 1351 1352 .. 1353 1354 .. bpo: 0 1355 .. date: 7626 1356 .. nonce: 6ugG-L 1357 .. section: Core and Builtins 1358 1359 On windows, ``os.chdir()`` given unicode was not working if 1360 GetCurrentDirectoryW returned a path longer than MAX_PATH. (But It's 1361 doubtful this code path is really executed because I cannot move to such 1362 directory on win2k) 1363 1364 .. 1365 1366 .. bpo: 4069 1367 .. date: 7625 1368 .. nonce: KZVhcT 1369 .. section: Core and Builtins 1370 1371 When ``set.remove(element)`` is used with a set element, the element is 1372 temporarily replaced with an equivalent frozenset. But the eventual 1373 KeyError would always report the empty ``frozenset()`` as the missing key. 1374 Now it correctly refers to the initial element. 1375 1376 .. 1377 1378 .. bpo: 4509 1379 .. date: 7624 1380 .. nonce: s_M7sU 1381 .. section: Core and Builtins 1382 1383 Various issues surrounding resize of bytearray objects to which there are 1384 buffer exports. 1385 1386 .. 1387 1388 .. bpo: 4748 1389 .. date: 7623 1390 .. nonce: VdAMxK 1391 .. section: Core and Builtins 1392 1393 Lambda generators no longer return a value. 1394 1395 .. 1396 1397 .. bpo: 3582 1398 .. date: 7622 1399 .. nonce: lPZMhV 1400 .. section: Core and Builtins 1401 1402 Use native TLS functions on Windows 1403 1404 .. 1405 1406 .. bpo: 0 1407 .. date: 7621 1408 .. nonce: -7Es2G 1409 .. section: Core and Builtins 1410 1411 The re.sub(), re.subn() and re.split() functions now accept a flags 1412 parameter. 1413 1414 .. 1415 1416 .. bpo: 3845 1417 .. date: 7620 1418 .. nonce: 1zs3tX 1419 .. section: Core and Builtins 1420 1421 In PyRun_SimpleFileExFlags avoid invalid memory access with short file 1422 names. 1423 1424 .. 1425 1426 .. bpo: 1113244 1427 .. date: 7619 1428 .. nonce: 0youo- 1429 .. section: Core and Builtins 1430 1431 Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)' to avoid 1432 compiler warnings. 1433 1434 .. 1435 1436 .. bpo: 5705 1437 .. date: 7618 1438 .. nonce: sV9axH 1439 .. section: Core and Builtins 1440 1441 os.setuid() would not accept values > 2**31-1 but pwd.getpwnam() returned 1442 them on 64bit platforms. 1443 1444 .. 1445 1446 .. bpo: 5108 1447 .. date: 7617 1448 .. nonce: dAFFuh 1449 .. section: Core and Builtins 1450 1451 Handle %s like %S and %R in PyUnicode_FromFormatV(): Call 1452 PyUnicode_DecodeUTF8() once, remember the result and output it in a second 1453 step. This avoids problems with counting UTF-8 bytes that ignores the effect 1454 of using the replace error handler in PyUnicode_DecodeUTF8(). 1455 1456 .. 1457 1458 .. bpo: 3739 1459 .. date: 7616 1460 .. nonce: M2kAQq 1461 .. section: Core and Builtins 1462 1463 The unicode-internal encoder now reports the number of characters consumed 1464 like any other encoder (instead of the number of bytes). 1465 1466 .. 1467 1468 .. bpo: 2422 1469 .. date: 7615 1470 .. nonce: wzigzB 1471 .. section: Core and Builtins 1472 1473 When compiled with the ``--with-valgrind`` option, the pymalloc allocator 1474 will be automatically disabled when running under Valgrind. This gives 1475 improved memory leak detection when running under Valgrind, while taking 1476 advantage of pymalloc at other times. 1477 1478 .. 1479 1480 .. bpo: 0 1481 .. date: 7614 1482 .. nonce: hEj501 1483 .. section: Library 1484 1485 Add count() and reverse() methods to collections.deque(). 1486 1487 .. 1488 1489 .. bpo: 0 1490 .. date: 7613 1491 .. nonce: uRsKsO 1492 .. section: Library 1493 1494 Fix variations of extending deques: d.extend(d) d.extendleft(d) d+=d 1495 1496 .. 1497 1498 .. bpo: 6986 1499 .. date: 7612 1500 .. nonce: SdGPr9 1501 .. section: Library 1502 1503 Fix crash in the JSON C accelerator when called with the wrong parameter 1504 types. Patch by Victor Stinner. 1505 1506 .. 1507 1508 .. bpo: 0 1509 .. date: 7611 1510 .. nonce: NFsq2E 1511 .. section: Library 1512 1513 logging: Added optional "secure" parameter to SMTPHandler, to enable use of 1514 TLS with authentication credentials. 1515 1516 .. 1517 1518 .. bpo: 1923 1519 .. date: 7610 1520 .. nonce: knrn4i 1521 .. section: Library 1522 1523 Fixed the removal of meaningful spaces when PKG-INFO is generated in 1524 Distutils. Patch by Stephen Emslie. 1525 1526 .. 1527 1528 .. bpo: 4120 1529 .. date: 7609 1530 .. nonce: 3cH4Sr 1531 .. section: Library 1532 1533 Drop reference to CRT from manifest when building extensions with 1534 msvc9compiler. 1535 1536 .. 1537 1538 .. bpo: 7333 1539 .. date: 7608 1540 .. nonce: 2fKr4C 1541 .. section: Library 1542 1543 The ``posix`` module gains an ``initgroups()`` function providing access to 1544 the initgroups(3) C library call on Unix systems which implement it. Patch 1545 by Jean-Paul Calderone. 1546 1547 .. 1548 1549 .. bpo: 7408 1550 .. date: 7607 1551 .. nonce: rgPHXu 1552 .. section: Library 1553 1554 Fixed distutils.tests.sdist so it doesn't check for group ownership when the 1555 group is not forced, because the group may be different from the user's 1556 group and inherit from its container when the test is run. 1557 1558 .. 1559 1560 .. bpo: 1515 1561 .. date: 7606 1562 .. nonce: xkpoux 1563 .. section: Library 1564 1565 Enable use of deepcopy() with instance methods. Patch by Robert Collins. 1566 1567 .. 1568 1569 .. bpo: 7403 1570 .. date: 7605 1571 .. nonce: FwNMdd 1572 .. section: Library 1573 1574 logging: Fixed possible race condition in lock creation. 1575 1576 .. 1577 1578 .. bpo: 6845 1579 .. date: 7604 1580 .. nonce: TrdLOB 1581 .. section: Library 1582 1583 Add restart support for binary upload in ftplib. The ``storbinary()`` 1584 method of FTP and FTP_TLS objects gains an optional "rest" argument. Patch 1585 by Pablo Mouzo. 1586 1587 .. 1588 1589 .. bpo: 5788 1590 .. date: 7603 1591 .. nonce: eXZYrC 1592 .. section: Library 1593 1594 ``datetime.timedelta`` objects get a new ``total_seconds()`` method 1595 returning the total number of seconds in the duration. Patch by Brian 1596 Quinlan. 1597 1598 .. 1599 1600 .. bpo: 6615 1601 .. date: 7602 1602 .. nonce: L1bwX7 1603 .. section: Library 1604 1605 logging: Used weakrefs in internal handler list. 1606 1607 .. 1608 1609 .. bpo: 1488943 1610 .. date: 7601 1611 .. nonce: bGsZyB 1612 .. section: Library 1613 1614 ``difflib.Differ`` doesn't always add hints for tab characters. 1615 1616 .. 1617 1618 .. bpo: 6123 1619 .. date: 7600 1620 .. nonce: 7jPAMR 1621 .. section: Library 1622 1623 tarfile now opens empty archives correctly and consistently raises ReadError 1624 on empty files. 1625 1626 .. 1627 1628 .. bpo: 7354 1629 .. date: 7599 1630 .. nonce: JiC3ff 1631 .. section: Library 1632 1633 distutils.tests.test_msvc9compiler - dragfullwindows can be 2. 1634 1635 .. 1636 1637 .. bpo: 5037 1638 .. date: 7598 1639 .. nonce: OuRtI7 1640 .. section: Library 1641 1642 Proxy the __unicode__ special method to __unicode__ instead of __str__. 1643 1644 .. 1645 1646 .. bpo: 7341 1647 .. date: 7597 1648 .. nonce: ePPgs_ 1649 .. section: Library 1650 1651 Close the internal file object in the TarFile constructor in case of an 1652 error. 1653 1654 .. 1655 1656 .. bpo: 7293 1657 .. date: 7596 1658 .. nonce: O5Dcu2 1659 .. section: Library 1660 1661 ``distutils.test_msvc9compiler`` is fixed to work on any fresh Windows box. 1662 Help provided by David Bolen. 1663 1664 .. 1665 1666 .. bpo: 7328 1667 .. date: 7595 1668 .. nonce: I7W1pc 1669 .. section: Library 1670 1671 pydoc no longer corrupts sys.path when run with the '-m' switch. 1672 1673 .. 1674 1675 .. bpo: 2054 1676 .. date: 7594 1677 .. nonce: CqsOHR 1678 .. section: Library 1679 1680 ftplib now provides an FTP_TLS class to do secure FTP using TLS or SSL. 1681 Patch by Giampaolo Rodola'. 1682 1683 .. 1684 1685 .. bpo: 4969 1686 .. date: 7593 1687 .. nonce: etEJDg 1688 .. section: Library 1689 1690 The mimetypes module now reads the MIME database from the registry under 1691 Windows. Patch by Gabriel Genellina. 1692 1693 .. 1694 1695 .. bpo: 6816 1696 .. date: 7592 1697 .. nonce: FkQHgU 1698 .. section: Library 1699 1700 runpy now provides a run_path function that allows Python code to execute 1701 file paths that refer to source or compiled Python files as well as 1702 zipfiles, directories and other valid sys.path entries that contain a 1703 __main__.py file. This allows applications that run other Python scripts to 1704 support the same flexibility as the CPython command line itself. 1705 1706 .. 1707 1708 .. bpo: 7318 1709 .. date: 7591 1710 .. nonce: 5Q1hkQ 1711 .. section: Library 1712 1713 multiprocessing now uses a timeout when it fails to establish a connection 1714 with another process, rather than looping endlessly. The default timeout is 1715 20 seconds, which should be amply sufficient for local connections. 1716 1717 .. 1718 1719 .. bpo: 7197 1720 .. date: 7590 1721 .. nonce: 0cm1Qm 1722 .. section: Library 1723 1724 Allow unittest.TextTestRunner objects to be pickled and unpickled. This 1725 fixes crashes under Windows when trying to run test_multiprocessing in 1726 verbose mode. 1727 1728 .. 1729 1730 .. bpo: 7282 1731 .. date: 7589 1732 .. nonce: PGSXX5 1733 .. section: Library 1734 1735 Fix a memory leak when an RLock was used in a thread other than those 1736 started through ``threading.Thread`` (for example, using 1737 ``thread.start_new_thread()``. 1738 1739 .. 1740 1741 .. bpo: 7264 1742 .. date: 7588 1743 .. nonce: gXNBWt 1744 .. section: Library 1745 1746 Fix a possible deadlock when deallocating thread-local objects which are 1747 part of a reference cycle. 1748 1749 .. 1750 1751 .. bpo: 7211 1752 .. date: 7587 1753 .. nonce: wuvMbi 1754 .. section: Library 1755 1756 Allow 64-bit values for the ``ident`` and ``data`` fields of kevent objects 1757 on 64-bit systems. Patch by Michael Broghton. 1758 1759 .. 1760 1761 .. bpo: 6896 1762 .. date: 7586 1763 .. nonce: rXqOUx 1764 .. section: Library 1765 1766 ``mailbox.Maildir`` now invalidates its internal cache each time a 1767 modification is done through it. This fixes inconsistencies and test 1768 failures on systems with slightly bogus mtime behaviour. 1769 1770 .. 1771 1772 .. bpo: 7246 1773 .. date: 7585 1774 .. nonce: vVWoc1 1775 .. section: Library 1776 1777 getpass now properly flushes input before reading from stdin so that 1778 existing input does not confuse it and lead to incorrect entry or an 1779 IOError. It also properly flushes it afterwards to avoid the terminal 1780 echoing the input afterwards on OSes such as Solaris. (See also: bpo-7208) 1781 1782 .. 1783 1784 .. bpo: 7233 1785 .. date: 7584 1786 .. nonce: Bfx5J4 1787 .. section: Library 1788 1789 Fix a number of two-argument Decimal methods to make sure that they accept 1790 an int or long as the second argument. Also fix buggy handling of large 1791 arguments (those with coefficient longer than the current precision) in 1792 shift and rotate. 1793 1794 .. 1795 1796 .. bpo: 4750 1797 .. date: 7583 1798 .. nonce: qsUXdQ 1799 .. section: Library 1800 1801 Store the basename of the original filename in the gzip FNAME header as 1802 required by RFC 1952. 1803 1804 .. 1805 1806 .. bpo: 1180 1807 .. date: 7582 1808 .. nonce: ajrI93 1809 .. section: Library 1810 1811 Added a new global option to ignore ~/.pydistutils.cfg in Distutils. 1812 1813 .. 1814 1815 .. bpo: 7218 1816 .. date: 7581 1817 .. nonce: _fm9R5 1818 .. section: Library 1819 1820 Fix test_site for win32, the directory comparison was done with an 1821 uppercase. 1822 1823 .. 1824 1825 .. bpo: 7205 1826 .. date: 7580 1827 .. nonce: QiP1X- 1828 .. section: Library 1829 1830 Fix a possible deadlock when using a BZ2File object from several threads at 1831 once. 1832 1833 .. 1834 1835 .. bpo: 7071 1836 .. date: 7579 1837 .. nonce: QFsV-G 1838 .. section: Library 1839 1840 byte-compilation in Distutils is now done with respect to 1841 sys.dont_write_bytecode. 1842 1843 .. 1844 1845 .. bpo: 7066 1846 .. date: 7578 1847 .. nonce: FQTn5e 1848 .. section: Library 1849 1850 archive_util.make_archive now restores the cwd if an error is raised. 1851 Initial patch by Ezio Melotti. 1852 1853 .. 1854 1855 .. bpo: 6218 1856 .. date: 7577 1857 .. nonce: GFU36I 1858 .. section: Library 1859 1860 io.StringIO and io.BytesIO instances are now picklable with protocol 2. 1861 1862 .. 1863 1864 .. bpo: 7077 1865 .. date: 7576 1866 .. nonce: NfTfRo 1867 .. section: Library 1868 1869 logging: SysLogHandler now treats Unicode as per RFC 5424. 1870 1871 .. 1872 1873 .. bpo: 7099 1874 .. date: 7575 1875 .. nonce: fxh-zw 1876 .. section: Library 1877 1878 Decimal.is_normal now returns True for numbers with exponent larger than 1879 emax. 1880 1881 .. 1882 1883 .. bpo: 5833 1884 .. date: 7574 1885 .. nonce: bCmU3a 1886 .. section: Library 1887 1888 Fix extra space character in readline completion with the GNU readline 1889 library version 6.0. 1890 1891 .. 1892 1893 .. bpo: 7133 1894 .. date: 7573 1895 .. nonce: m6rxoT 1896 .. section: Library 1897 1898 SSL objects now support the new buffer API. 1899 1900 .. 1901 1902 .. bpo: 7149 1903 .. date: 7572 1904 .. nonce: J_eq7B 1905 .. section: Library 1906 1907 urllib fails on OSX in the proxy detection code. 1908 1909 .. 1910 1911 .. bpo: 7069 1912 .. date: 7571 1913 .. nonce: v9P7a0 1914 .. section: Library 1915 1916 Make inspect.isabstract() return a boolean. 1917 1918 .. 1919 1920 .. bpo: 0 1921 .. date: 7570 1922 .. nonce: mxZpdI 1923 .. section: Library 1924 1925 Add support to the ``ihooks`` module for relative imports. 1926 1927 .. 1928 1929 .. bpo: 6894 1930 .. date: 7569 1931 .. nonce: 1peOts 1932 .. section: Library 1933 1934 Fixed the issue urllib2 doesn't respect "no_proxy" environment. 1935 1936 .. 1937 1938 .. bpo: 7086 1939 .. date: 7568 1940 .. nonce: mZidvN 1941 .. section: Library 1942 1943 Added TCP support to SysLogHandler, and tidied up some anachronisms in the 1944 code which were a relic of 1.5.2 compatibility. 1945 1946 .. 1947 1948 .. bpo: 7082 1949 .. date: 7567 1950 .. nonce: 0CSJXy 1951 .. section: Library 1952 1953 When falling back to the MIME 'name' parameter, the correct place to look 1954 for it is the Content-Type header. 1955 1956 .. 1957 1958 .. bpo: 7048 1959 .. date: 7566 1960 .. nonce: TXR5Xr 1961 .. section: Library 1962 1963 Force Decimal.logb to round its result when that result is too large to fit 1964 in the current precision. 1965 1966 .. 1967 1968 .. bpo: 6516 1969 .. date: 7565 1970 .. nonce: omgsNx 1971 .. section: Library 1972 1973 Added owner/group support when creating tar archives in Distutils. 1974 1975 .. 1976 1977 .. bpo: 7031 1978 .. date: 7564 1979 .. nonce: n09dXD 1980 .. section: Library 1981 1982 Add ``TestCase.assert(Not)IsInstance()`` methods. 1983 1984 .. 1985 1986 .. bpo: 6790 1987 .. date: 7563 1988 .. nonce: Z8U9rk 1989 .. section: Library 1990 1991 Make it possible again to pass an ``array.array`` to 1992 ``httplib.HTTPConnection.send``. Patch by Kirk McDonald. 1993 1994 .. 1995 1996 .. bpo: 6236 1997 .. date: 7562 1998 .. nonce: cfUWek 1999 .. section: Library 2000 2001 Fix various failures in the `io` module under AIX and other platforms, when 2002 using a non-gcc compiler. Patch by egreen. (See also: bpo-6348) 2003 2004 .. 2005 2006 .. bpo: 6954 2007 .. date: 7561 2008 .. nonce: Xr-JVf 2009 .. section: Library 2010 2011 Fixed crash when using DISTUTILS_DEBUG flag in Distutils. 2012 2013 .. 2014 2015 .. bpo: 6851 2016 .. date: 7560 2017 .. nonce: Hvzfi2 2018 .. section: Library 2019 2020 Fix urllib.urlopen crash on secondairy threads on OSX 10.6 2021 2022 .. 2023 2024 .. bpo: 4606 2025 .. date: 7559 2026 .. nonce: mPxDNW 2027 .. section: Library 2028 2029 Passing 'None' if ctypes argtype is set to POINTER(...) does now always 2030 result in NULL. 2031 2032 .. 2033 2034 .. bpo: 5042 2035 .. date: 7558 2036 .. nonce: eHTDqZ 2037 .. section: Library 2038 2039 ctypes Structure sub-subclass does now initialize correctly with base class 2040 positional arguments. 2041 2042 .. 2043 2044 .. bpo: 6938 2045 .. date: 7557 2046 .. nonce: qq4x0H 2047 .. section: Library 2048 2049 Fix a TypeError in string formatting of a multiprocessing debug message. 2050 2051 .. 2052 2053 .. bpo: 6635 2054 .. date: 7556 2055 .. nonce: hMzo5g 2056 .. section: Library 2057 2058 Fix profiler printing usage message. 2059 2060 .. 2061 2062 .. bpo: 6856 2063 .. date: 7555 2064 .. nonce: pxRVCd 2065 .. section: Library 2066 2067 Add a filter keyword argument to TarFile.add(). 2068 2069 .. 2070 2071 .. bpo: 6163 2072 .. date: 7554 2073 .. nonce: RIBPzi 2074 .. section: Library 2075 2076 Fixed HP-UX runtime library dir options in distutils.unixcompiler. Initial 2077 patch by Sridhar Ratnakumar and Michael Haubenwallner. 2078 2079 .. 2080 2081 .. bpo: 6857 2082 .. date: 7553 2083 .. nonce: HdfUqZ 2084 .. section: Library 2085 2086 Default format() alignment should be '>' for Decimal instances. 2087 2088 .. 2089 2090 .. bpo: 6795 2091 .. date: 7552 2092 .. nonce: q74KXT 2093 .. section: Library 2094 2095 int(Decimal('nan')) now raises ValueError instead of returning NaN or 2096 raising InvalidContext. Also, fix infinite recursion in 2097 long(Decimal('nan')). 2098 2099 .. 2100 2101 .. bpo: 6850 2102 .. date: 7551 2103 .. nonce: qs_7UF 2104 .. section: Library 2105 2106 Fix bug in Decimal._parse_format_specifier for formats with no type 2107 specifier. 2108 2109 .. 2110 2111 .. bpo: 4937 2112 .. date: 7550 2113 .. nonce: q3smbI 2114 .. section: Library 2115 2116 plat-mac/bundlebuilder refers to non-existing version.plist. 2117 2118 .. 2119 2120 .. bpo: 6838 2121 .. date: 7549 2122 .. nonce: OOrAC0 2123 .. section: Library 2124 2125 Use a list to accumulate the value instead of repeatedly concatenating 2126 strings in httplib's HTTPResponse._read_chunked providing a significant 2127 speed increase when downloading large files servend with a Transfer-Encoding 2128 of 'chunked'. 2129 2130 .. 2131 2132 .. bpo: 5275 2133 .. date: 7548 2134 .. nonce: -iW5eK 2135 .. section: Library 2136 2137 In Cookie's Cookie.load(), properly handle non-string arguments as 2138 documented. 2139 2140 .. 2141 2142 .. bpo: 2666 2143 .. date: 7547 2144 .. nonce: XO1rSx 2145 .. section: Library 2146 2147 Handle BROWSER environment variable properly for unknown browser names in 2148 the webbrowser module. 2149 2150 .. 2151 2152 .. bpo: 6054 2153 .. date: 7546 2154 .. nonce: 593-Mx 2155 .. section: Library 2156 2157 Do not normalize stored pathnames in tarfile. 2158 2159 .. 2160 2161 .. bpo: 6794 2162 .. date: 7545 2163 .. nonce: k5-rmk 2164 .. section: Library 2165 2166 Fix Decimal.compare_total and Decimal.compare_total_mag: NaN payloads are 2167 now ordered by integer value rather than lexicographically. 2168 2169 .. 2170 2171 .. bpo: 6693 2172 .. date: 7544 2173 .. nonce: _dWH_f 2174 .. section: Library 2175 2176 New functions in site.py to get user/global site packages paths. 2177 2178 .. 2179 2180 .. bpo: 0 2181 .. date: 7543 2182 .. nonce: tZF7Ai 2183 .. section: Library 2184 2185 The thread.lock type now supports weak references. 2186 2187 .. 2188 2189 .. bpo: 1356969 2190 .. date: 7542 2191 .. nonce: fTwnvR 2192 .. section: Library 2193 2194 Add missing info methods in Tix.HList. 2195 2196 .. 2197 2198 .. bpo: 1522587 2199 .. date: 7541 2200 .. nonce: z2n84F 2201 .. section: Library 2202 2203 New constants and methods for the Tix.Grid widget. 2204 2205 .. 2206 2207 .. bpo: 1250469 2208 .. date: 7540 2209 .. nonce: Mbak0x 2210 .. section: Library 2211 2212 Fix the return value of Tix.PanedWindow.panes. 2213 2214 .. 2215 2216 .. bpo: 1119673 2217 .. date: 7539 2218 .. nonce: rSCSoq 2219 .. section: Library 2220 2221 Do not override Tkinter.Text methods when creating a ScrolledText. 2222 2223 .. 2224 2225 .. bpo: 6665 2226 .. date: 7538 2227 .. nonce: 4ep0tD 2228 .. section: Library 2229 2230 Fix fnmatch to properly match filenames with newlines in them. 2231 2232 .. 2233 2234 .. bpo: 1135 2235 .. date: 7537 2236 .. nonce: 3A5Z-R 2237 .. section: Library 2238 2239 Add the XView and YView mix-ins to avoid duplicating the xview* and yview* 2240 methods. 2241 2242 .. 2243 2244 .. bpo: 6629 2245 .. date: 7536 2246 .. nonce: 095djT 2247 .. section: Library 2248 2249 Fix a data corruption issue in the new `io` package, which could occur when 2250 writing to a BufferedRandom object (e.g. a file opened in "rb+" or "wb+" 2251 mode) after having buffered a certain amount of data for reading. This bug 2252 was not present in the pure Python implementation. 2253 2254 .. 2255 2256 .. bpo: 4660 2257 .. date: 7535 2258 .. nonce: xyTC5J 2259 .. section: Library 2260 2261 If a multiprocessing.JoinableQueue.put() was preempted, it was possible to 2262 get a spurious 'task_done() called too many times' error. 2263 2264 .. 2265 2266 .. bpo: 1628205 2267 .. date: 7534 2268 .. nonce: Bkm9lB 2269 .. section: Library 2270 2271 Socket file objects returned by socket.socket.makefile() now properly 2272 handles EINTR within the read, readline, write & flush methods. The 2273 socket.sendall() method now properly handles interrupted system calls. 2274 2275 .. 2276 2277 .. bpo: 6595 2278 .. date: 7533 2279 .. nonce: 5kBbXa 2280 .. section: Library 2281 2282 The Decimal constructor now allows arbitrary Unicode decimal digits in 2283 input, as recommended by the standard. Previously it was restricted to 2284 accepting [0-9]. 2285 2286 .. 2287 2288 .. bpo: 6511 2289 .. date: 7532 2290 .. nonce: Qzfkov 2291 .. section: Library 2292 2293 ZipFile now raises BadZipfile (instead of an IOError) when opening an empty 2294 or very small file. 2295 2296 .. 2297 2298 .. bpo: 6553 2299 .. date: 7531 2300 .. nonce: Tr4HDD 2301 .. section: Library 2302 2303 Fixed a crash in cPickle.load(), when given a file-like object containing 2304 incomplete data. 2305 2306 .. 2307 2308 .. bpo: 6545 2309 .. date: 7530 2310 .. nonce: q91_KL 2311 .. section: Library 2312 2313 Removed assert statements in distutils.Extension, so the behavior is similar 2314 when used with -O. 2315 2316 .. 2317 2318 .. bpo: 0 2319 .. date: 7529 2320 .. nonce: QiwXfr 2321 .. section: Library 2322 2323 unittest has been split up into a package. All old names should still work. 2324 2325 .. 2326 2327 .. bpo: 6431 2328 .. date: 7528 2329 .. nonce: tKBkPb 2330 .. section: Library 2331 2332 Make Fraction type return NotImplemented when it doesn't know how to handle 2333 a comparison without loss of precision. Also add correct handling of 2334 infinities and nans for comparisons with float. 2335 2336 .. 2337 2338 .. bpo: 6415 2339 .. date: 7527 2340 .. nonce: QOMg1q 2341 .. section: Library 2342 2343 Fixed warnings.warn segfault on bad formatted string. 2344 2345 .. 2346 2347 .. bpo: 6466 2348 .. date: 7526 2349 .. nonce: j5IKKm 2350 .. section: Library 2351 2352 Now distutils.cygwinccompiler and distutils.emxccompiler uses the same 2353 refactored function to get gcc/ld/dllwrap versions numbers. It's 2354 ``distutils.util.get_compiler_versions()``. Added deprecation warnings for 2355 the obsolete get_versions() functions. 2356 2357 .. 2358 2359 .. bpo: 6433 2360 .. date: 7525 2361 .. nonce: FJUeBp 2362 .. section: Library 2363 2364 Fixed issues with multiprocessing.pool.map hanging on empty list. 2365 2366 .. 2367 2368 .. bpo: 6314 2369 .. date: 7524 2370 .. nonce: oq2Uzy 2371 .. section: Library 2372 2373 logging: Extra checks on the "level" argument in more places. 2374 2375 .. 2376 2377 .. bpo: 2622 2378 .. date: 7523 2379 .. nonce: khlgNf 2380 .. section: Library 2381 2382 Fixed an ImportError when importing email.messsage from a standalone 2383 application built with py2exe or py2app. 2384 2385 .. 2386 2387 .. bpo: 6455 2388 .. date: 7522 2389 .. nonce: xHz4mF 2390 .. section: Library 2391 2392 Fixed test_build_ext under win32. 2393 2394 .. 2395 2396 .. bpo: 6377 2397 .. date: 7521 2398 .. nonce: Or-Jam 2399 .. section: Library 2400 2401 Enabled the compiler option, and deprecate its usage as an attribute. 2402 2403 .. 2404 2405 .. bpo: 6413 2406 .. date: 7520 2407 .. nonce: dVuHyQ 2408 .. section: Library 2409 2410 Fixed the log level in distutils.dist for announce. 2411 2412 .. 2413 2414 .. bpo: 3392 2415 .. date: 7519 2416 .. nonce: M_DdFb 2417 .. section: Library 2418 2419 The subprocess communicate() method no longer fails in select() when file 2420 descriptors are large; communicate() now uses poll() when possible. 2421 2422 .. 2423 2424 .. bpo: 6403 2425 .. date: 7518 2426 .. nonce: kDwSzy 2427 .. section: Library 2428 2429 Fixed package path usage in build_ext. 2430 2431 .. 2432 2433 .. bpo: 5155 2434 .. date: 7517 2435 .. nonce: G_HFri 2436 .. section: Library 2437 2438 multiprocessing.Process._bootstrap was unconditionally calling 2439 "os.close(sys.stdin.fileno())" resulting in file descriptor errors. (See 2440 also: bpo-5313, bpo-5331) 2441 2442 .. 2443 2444 .. bpo: 6365 2445 .. date: 7516 2446 .. nonce: eWJ_Cl 2447 .. section: Library 2448 2449 Distutils build_ext inplace mode was copying the compiled extension in a 2450 subdirectory if the extension name had dots. 2451 2452 .. 2453 2454 .. bpo: 6344 2455 .. date: 7515 2456 .. nonce: l35xXH 2457 .. section: Library 2458 2459 Fixed a crash of mmap.read() when passed a negative argument. 2460 2461 .. 2462 2463 .. bpo: 5230 2464 .. date: 7514 2465 .. nonce: EhUbpW 2466 .. section: Library 2467 2468 pydoc would report no documentation found if a module generated a 'not 2469 found' import error when loaded; it now reports the import errors. Thanks to 2470 Lucas Prado Melo for initial fix and collaboration on the tests. 2471 2472 .. 2473 2474 .. bpo: 6314 2475 .. date: 7513 2476 .. nonce: g55uyy 2477 .. section: Library 2478 2479 ``logging.basicConfig()`` performs extra checks on the "level" argument. 2480 2481 .. 2482 2483 .. bpo: 6164 2484 .. date: 7512 2485 .. nonce: 6QByEi 2486 .. section: Library 2487 2488 Added an AIX specific linker argument in Distutils unixcompiler. Original 2489 patch by Sridhar Ratnakumar. 2490 2491 .. 2492 2493 .. bpo: 6274 2494 .. date: 7511 2495 .. nonce: eQoMPr 2496 .. section: Library 2497 2498 Fixed possible file descriptors leak in subprocess.py. 2499 2500 .. 2501 2502 .. bpo: 6189 2503 .. date: 7510 2504 .. nonce: aY-0-v 2505 .. section: Library 2506 2507 Restored compatibility of subprocess.py with Python 2.2. 2508 2509 .. 2510 2511 .. bpo: 6287 2512 .. date: 7509 2513 .. nonce: i5loQG 2514 .. section: Library 2515 2516 Added the license field in Distutils documentation. 2517 2518 .. 2519 2520 .. bpo: 6286 2521 .. date: 7508 2522 .. nonce: j2u4Wn 2523 .. section: Library 2524 2525 Now Distutils upload command is based on urllib2 instead of httplib, 2526 allowing the usage of http_proxy. 2527 2528 .. 2529 2530 .. bpo: 6271 2531 .. date: 7507 2532 .. nonce: nMZxcE 2533 .. section: Library 2534 2535 mmap tried to close invalid file handle (-1) for anonymous maps on Unix. 2536 2537 .. 2538 2539 .. bpo: 6215 2540 .. date: 7506 2541 .. nonce: e-D-t7 2542 .. section: Library 2543 2544 All bug fixes and enhancements from the Python 3.1 io library (including the 2545 fast C implementation) have been backported to the standard ``io`` module. 2546 2547 .. 2548 2549 .. bpo: 6258 2550 .. date: 7505 2551 .. nonce: dwBSws 2552 .. section: Library 2553 2554 Support AMD64 in bdist_msi. 2555 2556 .. 2557 2558 .. bpo: 6252 2559 .. date: 7504 2560 .. nonce: sYTPyU 2561 .. section: Library 2562 2563 Fixed bug in next rollover time computation in TimedRotatingFileHandler. 2564 2565 .. 2566 2567 .. bpo: 6263 2568 .. date: 7503 2569 .. nonce: 5RhZzP 2570 .. section: Library 2571 2572 Fixed syntax error in distutils.cygwincompiler. 2573 2574 .. 2575 2576 .. bpo: 5201 2577 .. date: 7502 2578 .. nonce: Wt3Orj 2579 .. section: Library 2580 2581 distutils.sysconfig.parse_makefile() now understands ``$$`` in Makefiles. 2582 This prevents compile errors when using syntax like: 2583 ``LDFLAGS='-rpath=\$$LIB:/some/other/path'``. Patch by Floris Bruynooghe. 2584 2585 .. 2586 2587 .. bpo: 5767 2588 .. date: 7501 2589 .. nonce: N_vQVh 2590 .. section: Library 2591 2592 Removed sgmlop support from xmlrpclib. 2593 2594 .. 2595 2596 .. bpo: 6131 2597 .. date: 7500 2598 .. nonce: yV_s9j 2599 .. section: Library 2600 2601 test_modulefinder leaked when run after test_distutils. Patch by Hirokazu 2602 Yamamoto. 2603 2604 .. 2605 2606 .. bpo: 6048 2607 .. date: 7499 2608 .. nonce: 8c4ttr 2609 .. section: Library 2610 2611 Now Distutils uses the tarfile module in archive_util. 2612 2613 .. 2614 2615 .. bpo: 6121 2616 .. date: 7498 2617 .. nonce: u-IDuG 2618 .. section: Library 2619 2620 pydoc now ignores leading and trailing spaces in the argument to the 'help' 2621 function. 2622 2623 .. 2624 2625 .. bpo: 0 2626 .. date: 7497 2627 .. nonce: zlEDRS 2628 .. section: Library 2629 2630 In unittest, using a skipping decorator on a class is now equivalent to 2631 skipping every test on the class. The ClassTestSuite class has been 2632 removed. 2633 2634 .. 2635 2636 .. bpo: 6050 2637 .. date: 7496 2638 .. nonce: tl_8xc 2639 .. section: Library 2640 2641 Don't fail extracting a directory from a zipfile if the directory already 2642 exists. 2643 2644 .. 2645 2646 .. bpo: 5311 2647 .. date: 7495 2648 .. nonce: 0oOK6H 2649 .. section: Library 2650 2651 bdist_msi can now build packages that do not depend on a specific Python 2652 version. 2653 2654 .. 2655 2656 .. bpo: 1309352 2657 .. date: 7494 2658 .. nonce: WM3egI 2659 .. section: Library 2660 2661 fcntl now converts its third arguments to a C `long` rather than an int, 2662 which makes some operations possible under 64-bit Linux (e.g. DN_MULTISHOT 2663 with F_NOTIFY). 2664 2665 .. 2666 2667 .. bpo: 1424152 2668 .. date: 7493 2669 .. nonce: ajujge 2670 .. section: Library 2671 2672 Fix for httplib, urllib2 to support SSL while working through proxy. 2673 Original patch by Christopher Li, changes made by Senthil Kumaran. 2674 2675 .. 2676 2677 .. bpo: 1983 2678 .. date: 7492 2679 .. nonce: 4NQtSC 2680 .. section: Library 2681 2682 Fix functions taking or returning a process identifier to use the dedicated 2683 C type ``pid_t`` instead of a C ``int``. Some platforms have a process 2684 identifier type wider than the standard C integer type. 2685 2686 .. 2687 2688 .. bpo: 4066 2689 .. date: 7491 2690 .. nonce: 2iOjZ9 2691 .. section: Library 2692 2693 smtplib.SMTP_SSL._get_socket now correctly returns the socket. Patch by 2694 Farhan Ahmad, test by Marcin Bachry. 2695 2696 .. 2697 2698 .. bpo: 6062 2699 .. date: 7490 2700 .. nonce: 9WLZ5z 2701 .. section: Library 2702 2703 In distutils, fixed the package option of build_ext. Feedback and tests on 2704 pywin32 by Tim Golden. 2705 2706 .. 2707 2708 .. bpo: 6053 2709 .. date: 7489 2710 .. nonce: WvTL0w 2711 .. section: Library 2712 2713 Fixed distutils tests on win32. Patch by Hirokazu Yamamoto. 2714 2715 .. 2716 2717 .. bpo: 6046 2718 .. date: 7488 2719 .. nonce: cMZ2Tc 2720 .. section: Library 2721 2722 Fixed the library extension when distutils build_ext is used in place. 2723 Initial patch by Roumen Petrov. 2724 2725 .. 2726 2727 .. bpo: 6041 2728 .. date: 7487 2729 .. nonce: sw57bD 2730 .. section: Library 2731 2732 Now distutils `sdist` and `register` commands use `check` as a subcommand. 2733 2734 .. 2735 2736 .. bpo: 2116 2737 .. date: 7486 2738 .. nonce: 8p8xN6 2739 .. section: Library 2740 2741 Weak references and weak dictionaries now support copy()ing and 2742 deepcopy()ing. 2743 2744 .. 2745 2746 .. bpo: 1655 2747 .. date: 7485 2748 .. nonce: M-5sGT 2749 .. section: Library 2750 2751 Make imaplib IPv6-capable. Patch by Derek Morr. 2752 2753 .. 2754 2755 .. bpo: 5918 2756 .. date: 7484 2757 .. nonce: x-8Oxl 2758 .. section: Library 2759 2760 Fix a crash in the parser module. 2761 2762 .. 2763 2764 .. bpo: 1664 2765 .. date: 7483 2766 .. nonce: sRl46y 2767 .. section: Library 2768 2769 Make nntplib IPv6-capable. Patch by Derek Morr. 2770 2771 .. 2772 2773 .. bpo: 6022 2774 .. date: 7482 2775 .. nonce: Y3dUhe 2776 .. section: Library 2777 2778 A test file was created in the current working directory by test_get_outputs 2779 in Distutils. 2780 2781 .. 2782 2783 .. bpo: 4050 2784 .. date: 7481 2785 .. nonce: mjHlfF 2786 .. section: Library 2787 2788 inspect.findsource/getsource now raise an IOError if the 'source' file is a 2789 binary. Patch by Brodie Rao, tests by Daniel Diniz. 2790 2791 .. 2792 2793 .. bpo: 5977 2794 .. date: 7480 2795 .. nonce: xcP2Su 2796 .. section: Library 2797 2798 distutils build_ext.get_outputs was not taking into account the inplace 2799 option. Initial patch by kxroberto. 2800 2801 .. 2802 2803 .. bpo: 5984 2804 .. date: 7479 2805 .. nonce: evqxbf 2806 .. section: Library 2807 2808 distutils.command.build_ext.check_extensions_list checks were broken for 2809 old-style extensions. 2810 2811 .. 2812 2813 .. bpo: 5971 2814 .. date: 7478 2815 .. nonce: IQW2NO 2816 .. section: Library 2817 2818 StreamHandler.handleError now swallows IOErrors which occur when trying to 2819 print a traceback. 2820 2821 .. 2822 2823 .. bpo: 5976 2824 .. date: 7477 2825 .. nonce: 01_dSR 2826 .. section: Library 2827 2828 Fixed Distutils test_check_environ. 2829 2830 .. 2831 2832 .. bpo: 5900 2833 .. date: 7476 2834 .. nonce: uMqjsO 2835 .. section: Library 2836 2837 Ensure RUNPATH is added to extension modules with RPATH if GNU ld is used. 2838 Original patch by Floris Bruynooghe. 2839 2840 .. 2841 2842 .. bpo: 5941 2843 .. date: 7475 2844 .. nonce: Xdk_6Y 2845 .. section: Library 2846 2847 Distutils build_clib command was not working anymore because of an 2848 incomplete customization of the archiver command. Added ARFLAGS in the 2849 Makefile besides AR and make Distutils use it. Original patch by David 2850 Cournapeau. 2851 2852 .. 2853 2854 .. bpo: 5955 2855 .. date: 7474 2856 .. nonce: rZM3XY 2857 .. section: Library 2858 2859 aifc's close method did not close the file it wrapped, now it does. This 2860 also means getfp method now returns the real fp. 2861 2862 .. 2863 2864 .. bpo: 4875 2865 .. date: 7473 2866 .. nonce: lozHFb 2867 .. section: Library 2868 2869 On win32, ctypes.util.find_library does no longer return directories. 2870 2871 .. 2872 2873 .. bpo: 5142 2874 .. date: 7472 2875 .. nonce: XGXII1 2876 .. section: Library 2877 2878 Add the ability to skip modules while stepping to pdb. 2879 2880 .. 2881 2882 .. bpo: 1309567 2883 .. date: 7471 2884 .. nonce: wcqooN 2885 .. section: Library 2886 2887 Fix linecache behavior of stripping subdirectories when looking for files 2888 given by a relative filename. 2889 2890 .. 2891 2892 .. bpo: 5692 2893 .. date: 7470 2894 .. nonce: XbbGod 2895 .. section: Library 2896 2897 In ``zipfile.Zipfile``, fix wrong path calculation when extracting a file to 2898 the root directory. 2899 2900 .. 2901 2902 .. bpo: 5913 2903 .. date: 7469 2904 .. nonce: Gg7oAA 2905 .. section: Library 2906 2907 ``os.listdir()`` should fail for empty path on windows. 2908 2909 .. 2910 2911 .. bpo: 5084 2912 .. date: 7468 2913 .. nonce: 28LIEg 2914 .. section: Library 2915 2916 Unpickling now interns the attribute names of pickled objects, saving memory 2917 and avoiding growth in size of subsequent pickles. Proposal and original 2918 patch by Jake McGuire. 2919 2920 .. 2921 2922 .. bpo: 3002 2923 .. date: 7467 2924 .. nonce: Q2Bwlw 2925 .. section: Library 2926 2927 ``shutil.copyfile()`` and ``shutil.copytree()`` now raise an error when a 2928 named pipe is encountered, rather than blocking infinitely. 2929 2930 .. 2931 2932 .. bpo: 3959 2933 .. date: 7466 2934 .. nonce: JOcNpv 2935 .. section: Library 2936 2937 The ipaddr module has been added to the standard library. Contributed by 2938 Google. 2939 2940 .. 2941 2942 .. bpo: 2245 2943 .. date: 7465 2944 .. nonce: wM6yIG 2945 .. section: Library 2946 2947 aifc now skips chunk types it doesn't recognize, per spec. 2948 2949 .. 2950 2951 .. bpo: 5874 2952 .. date: 7464 2953 .. nonce: Wrh4pp 2954 .. section: Library 2955 2956 distutils.tests.test_config_cmd is not locale-sensitive anymore. 2957 2958 .. 2959 2960 .. bpo: 4305 2961 .. date: 7463 2962 .. nonce: yHp6W2 2963 .. section: Library 2964 2965 ctypes should now build again on mipsel-linux-gnu 2966 2967 .. 2968 2969 .. bpo: 1734234 2970 .. date: 7462 2971 .. nonce: I3S_a6 2972 .. section: Library 2973 2974 Massively speedup ``unicodedata.normalize()`` when the string is already in 2975 normalized form, by performing a quick check beforehand. Original patch by 2976 Rauli Ruohonen. 2977 2978 .. 2979 2980 .. bpo: 5853 2981 .. date: 7461 2982 .. nonce: oKokIP 2983 .. section: Library 2984 2985 Calling a function of the mimetypes module from several threads at once 2986 could hit the recursion limit if the mimetypes database hadn't been 2987 initialized before. 2988 2989 .. 2990 2991 .. bpo: 5854 2992 .. date: 7460 2993 .. nonce: 8o0llM 2994 .. section: Library 2995 2996 Updated __all__ to include some missing names and remove some names which 2997 should not be exported. 2998 2999 .. 3000 3001 .. bpo: 5810 3002 .. date: 7459 3003 .. nonce: LFr2OK 3004 .. section: Library 3005 3006 Fixed Distutils test_build_scripts so it uses 3007 ``sysconfig.get_config_vars()``. 3008 3009 .. 3010 3011 .. bpo: 4951 3012 .. date: 7458 3013 .. nonce: 9eKc7j 3014 .. section: Library 3015 3016 Fixed failure in test_httpservers. 3017 3018 .. 3019 3020 .. bpo: 3102 3021 .. date: 7457 3022 .. nonce: LDgk6Z 3023 .. section: Library 3024 3025 All global symbols that the _ctypes extension defines are now prefixed with 3026 'Py' or '_ctypes'. 3027 3028 .. 3029 3030 .. bpo: 5041 3031 .. date: 7456 3032 .. nonce: 8SM2Q6 3033 .. section: Library 3034 3035 ctypes does now allow pickling wide character. 3036 3037 .. 3038 3039 .. bpo: 5812 3040 .. date: 7455 3041 .. nonce: DG4u35 3042 .. section: Library 3043 3044 For the two-argument form of the Fraction constructor, ``Fraction(m, n)``, m 3045 and n are permitted to be arbitrary Rational instances. 3046 3047 .. 3048 3049 .. bpo: 5812 3050 .. date: 7454 3051 .. nonce: bdeIy6 3052 .. section: Library 3053 3054 Fraction('1e6') is valid: more generally, any string that's valid for 3055 float() is now valid for Fraction(), with the exception of strings 3056 representing NaNs and infinities. 3057 3058 .. 3059 3060 .. bpo: 5795 3061 .. date: 7453 3062 .. nonce: _5SXcu 3063 .. section: Library 3064 3065 Fixed test_distutils failure on Debian ppc. 3066 3067 .. 3068 3069 .. bpo: 5768 3070 .. date: 7452 3071 .. nonce: Lx3FBy 3072 .. section: Library 3073 3074 Fixed bug in Unicode output logic and test case for same. 3075 3076 .. 3077 3078 .. bpo: 1161031 3079 .. date: 7451 3080 .. nonce: vIHCeg 3081 .. section: Library 3082 3083 Fix readwrite select flag handling: POLLPRI now results in a 3084 handle_expt_event call, not handle_read_event, and POLLERR and POLLNVAL now 3085 call handle_close, not handle_expt_event. Also, dispatcher now has an 3086 'ignore_log_types' attribute for suppressing log messages, which is set to 3087 'warning' by default. 3088 3089 .. 3090 3091 .. bpo: 5607 3092 .. date: 7450 3093 .. nonce: GlYpK6 3094 .. section: Library 3095 3096 Fixed Distutils test_get_platform for Mac OS X fat binaries. 3097 3098 .. 3099 3100 .. bpo: 5741 3101 .. date: 7449 3102 .. nonce: sKDQuN 3103 .. section: Library 3104 3105 Don't disallow "%%" (which is an escape for "%") when setting a value in 3106 SafeConfigParser. 3107 3108 .. 3109 3110 .. bpo: 5732 3111 .. date: 7448 3112 .. nonce: BxEaO_ 3113 .. section: Library 3114 3115 Added a new command in Distutils: check. 3116 3117 .. 3118 3119 .. bpo: 5731 3120 .. date: 7447 3121 .. nonce: tCA4Qq 3122 .. section: Library 3123 3124 Distutils bdist_wininst no longer worked on non-Windows platforms. Initial 3125 patch by Paul Moore. 3126 3127 .. 3128 3129 .. bpo: 2254 3130 .. date: 7446 3131 .. nonce: XwszLk 3132 .. section: Library 3133 3134 Fix CGIHTTPServer information disclosure. Relative paths are now collapsed 3135 within the url properly before looking in cgi_directories. 3136 3137 .. 3138 3139 .. bpo: 5095 3140 .. date: 7445 3141 .. nonce: xiSRDz 3142 .. section: Library 3143 3144 Added bdist_msi to the list of bdist supported formats. Initial fix by 3145 Steven Bethard. 3146 3147 .. 3148 3149 .. bpo: 1491431 3150 .. date: 7444 3151 .. nonce: aNp23F 3152 .. section: Library 3153 3154 Fixed distutils.filelist.glob_to_re for edge cases. Initial fix by Wayne 3155 Davison. 3156 3157 .. 3158 3159 .. bpo: 5693 3160 .. date: 7443 3161 .. nonce: M0PEHJ 3162 .. section: Library 3163 3164 TestSuite.__iter__ can now be consistently overridden in subclasses. 3165 3166 .. 3167 3168 .. bpo: 5694 3169 .. date: 7442 3170 .. nonce: ZvKxFR 3171 .. section: Library 3172 3173 Removed spurious test output in Distutils (test_clean). 3174 3175 .. 3176 3177 .. bpo: 5471 3178 .. date: 7441 3179 .. nonce: BKf7Q4 3180 .. section: Library 3181 3182 Fix os.path.expanduser() for $HOME set to '/'. 3183 3184 .. 3185 3186 .. bpo: 1326077 3187 .. date: 7440 3188 .. nonce: if0OW2 3189 .. section: Library 3190 3191 Fix the formatting of SyntaxErrors by the traceback module. 3192 3193 .. 3194 3195 .. bpo: 1726172 3196 .. date: 7439 3197 .. nonce: e2vy9u 3198 .. section: Library 3199 3200 Fix IndexError in the case of and empty response in ftplib. 3201 3202 .. 3203 3204 .. bpo: 2625 3205 .. date: 7438 3206 .. nonce: _XRRkk 3207 .. section: Library 3208 3209 Added missing iteritems() call to the for loop in mailbox.MH.get_message(). 3210 3211 .. 3212 3213 .. bpo: 5585 3214 .. date: 7437 3215 .. nonce: YAZXyy 3216 .. section: Library 3217 3218 Add the ability to call an initializer to multiprocessing.manager so that 3219 users can install custom handlers/etc. 3220 3221 .. 3222 3223 .. bpo: 3551 3224 .. date: 7436 3225 .. nonce: Cu6Cul 3226 .. section: Library 3227 3228 Patch multiprocessing to raise a proper exception if the size of the object 3229 when writefile is called causes an ERROR_NO_SYSTEM_RESOURCES. Added docs to 3230 note the limitation. 3231 3232 .. 3233 3234 .. bpo: 0 3235 .. date: 7435 3236 .. nonce: xAXTK2 3237 .. section: Library 3238 3239 unittest.assertNotEqual() now uses the inequality operator (!=) instead of 3240 the equality operator. 3241 3242 .. 3243 3244 .. bpo: 6001 3245 .. date: 7434 3246 .. nonce: oWiMFG 3247 .. section: Library 3248 3249 Test discovery for unittest. Implemented in unittest.TestLoader.discover and 3250 from the command line. 3251 3252 .. 3253 3254 .. bpo: 5679 3255 .. date: 7433 3256 .. nonce: GDbJ3F 3257 .. section: Library 3258 3259 The methods unittest.TestCase.addCleanup and doCleanups were added. 3260 addCleanup allows you to add cleanup functions that will be called 3261 unconditionally (after setUp if setUp fails, otherwise after tearDown). This 3262 allows for much simpler resource allocation and deallocation during tests. 3263 3264 .. 3265 3266 .. bpo: 3379 3267 .. date: 7432 3268 .. nonce: yfUkbC 3269 .. section: Library 3270 3271 unittest.main now takes an optional exit argument. If False main doesn't 3272 call sys.exit allowing it to be used from the interactive interpreter. 3273 3274 .. 3275 3276 .. bpo: 5995 3277 .. date: 7431 3278 .. nonce: S0agLh 3279 .. section: Library 3280 3281 unittest.main now takes an optional verbosity argument allowing test modules 3282 to be run with a higher than default verbosity. 3283 3284 .. 3285 3286 .. bpo: 5995 3287 .. date: 7430 3288 .. nonce: zjk0GI 3289 .. section: Library 3290 3291 A fix to allow you to run "python -m unittest test_module" or "python -m 3292 unittest test_module.TestClass" from the command line. 3293 3294 .. 3295 3296 .. bpo: 5728 3297 .. date: 7429 3298 .. nonce: wPx88T 3299 .. section: Library 3300 3301 unittest.TestResult has new startTestRun and stopTestRun methods; called 3302 immediately before and after a test run. 3303 3304 .. 3305 3306 .. bpo: 5663 3307 .. date: 7428 3308 .. nonce: FdiDuS 3309 .. section: Library 3310 3311 Better failure messages for unittest asserts. Default assertTrue and 3312 assertFalse messages are now useful. TestCase has a longMessage attribute. 3313 This defaults to False, but if set to True useful error messages are shown 3314 in addition to explicit messages passed to assert methods. 3315 3316 .. 3317 3318 .. bpo: 3110 3319 .. date: 7427 3320 .. nonce: ybmLDs 3321 .. section: Library 3322 3323 Add additional protect around SEM_VALUE_MAX for multiprocessing. 3324 3325 .. 3326 3327 .. bpo: 0 3328 .. date: 7426 3329 .. nonce: PTlc4y 3330 .. section: Library 3331 3332 In Pdb, prevent the reassignment of __builtin__._ by sys.displayhook on 3333 printing out values. 3334 3335 .. 3336 3337 .. bpo: 4572 3338 .. date: 7425 3339 .. nonce: yh5ziP 3340 .. section: Library 3341 3342 Added SEEK_* symbolic constants to io module. 3343 3344 .. 3345 3346 .. bpo: 1665206 3347 .. date: 7424 3348 .. nonce: 8AhGz1 3349 .. section: Library 3350 3351 Move imports in cgitb to the top of the module instead of performing them in 3352 functions. Helps prevent import deadlocking in threads. 3353 3354 .. 3355 3356 .. bpo: 5647 3357 .. date: 7423 3358 .. nonce: KPmSmW 3359 .. section: Library 3360 3361 MutableSet.__iand__() no longer mutates self during iteration. 3362 3363 .. 3364 3365 .. bpo: 0 3366 .. date: 7422 3367 .. nonce: t0Sm7D 3368 .. section: Library 3369 3370 Actually make the SimpleXMLRPCServer CGI handler work. 3371 3372 .. 3373 3374 .. bpo: 2522 3375 .. date: 7421 3376 .. nonce: TTa0fi 3377 .. section: Library 3378 3379 locale.format() now checks its first argument to ensure it has been passed 3380 only one pattern, avoiding mysterious errors where it appeared that it was 3381 failing to do localization. 3382 3383 .. 3384 3385 .. bpo: 5583 3386 .. date: 7420 3387 .. nonce: GNjR3y 3388 .. section: Library 3389 3390 Added optional extensions in Distutils. Initial patch by Georg Brandl. 3391 3392 .. 3393 3394 .. bpo: 5619 3395 .. date: 7419 3396 .. nonce: IkF1og 3397 .. section: Library 3398 3399 Multiprocessing children disobey the debug flag and causes popups on windows 3400 buildbots. Patch applied to work around this issue. 3401 3402 .. 3403 3404 .. bpo: 5632 3405 .. date: 7418 3406 .. nonce: OcociP 3407 .. section: Library 3408 3409 Thread.ident was None for the main thread and threads not created with the 3410 threading module. 3411 3412 .. 3413 3414 .. bpo: 5400 3415 .. date: 7417 3416 .. nonce: zmbm0t 3417 .. section: Library 3418 3419 Added patch for multiprocessing on netbsd compilation/support. 3420 3421 .. 3422 3423 .. bpo: 5387 3424 .. date: 7416 3425 .. nonce: uvZ11E 3426 .. section: Library 3427 3428 Fixed mmap.move crash by integer overflow. 3429 3430 .. 3431 3432 .. bpo: 5261 3433 .. date: 7415 3434 .. nonce: py6jc9 3435 .. section: Library 3436 3437 Patch multiprocessing's semaphore.c to support context manager use: "with 3438 multiprocessing.Lock()" works now. 3439 3440 .. 3441 3442 .. bpo: 5177 3443 .. date: 7414 3444 .. nonce: eRUMiM 3445 .. section: Library 3446 3447 Multiprocessing's SocketListener class now uses socket.SO_REUSEADDR on all 3448 connections so that the user no longer needs to wait 120 seconds for the 3449 socket to expire. 3450 3451 .. 3452 3453 .. bpo: 0 3454 .. date: 7413 3455 .. nonce: pFfCqO 3456 .. section: Library 3457 3458 Adjusted _tkinter to compile without warnings when WITH_THREAD is not 3459 defined (part of issue #5035). 3460 3461 .. 3462 3463 .. bpo: 5561 3464 .. date: 7412 3465 .. nonce: 11jxV4 3466 .. section: Library 3467 3468 Removed the sys.version_info shortcuts from platform's python_version() and 3469 python_version_tuple() since they produced different output compared to 3470 previous Python versions. 3471 3472 .. 3473 3474 .. bpo: 1034053 3475 .. date: 7411 3476 .. nonce: kAn84D 3477 .. section: Library 3478 3479 unittest now supports skipping tests and expected failures. 3480 3481 .. 3482 3483 .. bpo: 0 3484 .. date: 7410 3485 .. nonce: GHZyr1 3486 .. section: Library 3487 3488 The unittest.TestCase.assertRaises() method now returns a context manager 3489 when not given a callable so that code to be tested can be written inline 3490 using a with statement. 3491 3492 .. 3493 3494 .. bpo: 2578 3495 .. date: 7409 3496 .. nonce: JvL31E 3497 .. section: Library 3498 3499 The unittest.TestCase.assertEqual() now displays the differences in lists, 3500 tuples, dicts and sets on failure. Many new handy type and comparison 3501 specific assert* methods have been added that fail with error messages 3502 actually useful for debugging. Contributed in part by Google. 3503 3504 .. 3505 3506 .. bpo: 5068 3507 .. date: 7408 3508 .. nonce: MXgCgm 3509 .. section: Library 3510 3511 Fixed the tarfile._BZ2Proxy.read() method that would loop forever on 3512 incomplete input. That caused tarfile.open() to hang when used with mode 3513 'r' or 'r:bz2' and a fileobj argument that contained no data or partial 3514 bzip2 compressed data. 3515 3516 .. 3517 3518 .. bpo: 5536 3519 .. date: 7407 3520 .. nonce: 9f--jv 3521 .. section: Library 3522 3523 urllib.urlretrieve makes sure to close the file it's writing to even if an 3524 exception occurs. 3525 3526 .. 3527 3528 .. bpo: 5381 3529 .. date: 7406 3530 .. nonce: qzMSVP 3531 .. section: Library 3532 3533 Added object_pairs_hook to the json module. This allows OrderedDicts to be 3534 built by the decoder. 3535 3536 .. 3537 3538 .. bpo: 2110 3539 .. date: 7405 3540 .. nonce: VVQTv0 3541 .. section: Library 3542 3543 Add support for thousands separator and 'n' type specifier to 3544 ``Decimal.__format__()``. 3545 3546 .. 3547 3548 .. bpo: 0 3549 .. date: 7404 3550 .. nonce: E4kk25 3551 .. section: Library 3552 3553 Fix Decimal.__format__ bug that swapped the meanings of the '<' and '>' 3554 alignment characters. 3555 3556 .. 3557 3558 .. bpo: 1222 3559 .. date: 7403 3560 .. nonce: o6ET8T 3561 .. section: Library 3562 3563 ``locale.format()`` bug when the thousands separator is a space character. 3564 3565 .. 3566 3567 .. bpo: 5472 3568 .. date: 7402 3569 .. nonce: y52FYs 3570 .. section: Library 3571 3572 Fixed distutils.test_util tear down. Original patch by Tim Golden. 3573 3574 .. 3575 3576 .. bpo: 0 3577 .. date: 7401 3578 .. nonce: 353Xjd 3579 .. section: Library 3580 3581 collections.deque objects now have a read-only attribute called maxlen. 3582 3583 .. 3584 3585 .. bpo: 2638 3586 .. date: 7400 3587 .. nonce: NX9HHb 3588 .. section: Library 3589 3590 Show a window constructed with tkSimpleDialog.Dialog only after it is has 3591 been populated and properly configured in order to prevent window flashing. 3592 3593 .. 3594 3595 .. bpo: 4792 3596 .. date: 7399 3597 .. nonce: jK4Q6l 3598 .. section: Library 3599 3600 Prevent a segfault in _tkinter by using the guaranteed to be safe interp 3601 argument given to the PythonCmd in place of the Tcl interpreter taken from a 3602 PythonCmd_ClientData. 3603 3604 .. 3605 3606 .. bpo: 5193 3607 .. date: 7398 3608 .. nonce: cT2tgG 3609 .. section: Library 3610 3611 Guarantee that Tkinter.Text.search returns a string. 3612 3613 .. 3614 3615 .. bpo: 5394 3616 .. date: 7397 3617 .. nonce: i2Ffk- 3618 .. section: Library 3619 3620 Removed > 2.3 syntax from distutils.msvc9compiler. Original patch by Akira 3621 Kitada. 3622 3623 .. 3624 3625 .. bpo: 5385 3626 .. date: 7396 3627 .. nonce: I6RMU3 3628 .. section: Library 3629 3630 Fixed mmap crash after resize failure on windows. 3631 3632 .. 3633 3634 .. bpo: 5179 3635 .. date: 7395 3636 .. nonce: J-DtY4 3637 .. section: Library 3638 3639 Fixed subprocess handle leak on failure on windows. 3640 3641 .. 3642 3643 .. bpo: 0 3644 .. date: 7394 3645 .. nonce: 7zHVyM 3646 .. section: Library 3647 3648 PEP 372: Added collections.OrderedDict(). 3649 3650 .. 3651 3652 .. bpo: 0 3653 .. date: 7393 3654 .. nonce: 7DzM2Y 3655 .. section: Library 3656 3657 The _asdict() for method for namedtuples now returns an OrderedDict(). 3658 3659 .. 3660 3661 .. bpo: 0 3662 .. date: 7392 3663 .. nonce: 4id7jq 3664 .. section: Library 3665 3666 The configparser module now defaults to using an ordered dictionary. 3667 3668 .. 3669 3670 .. bpo: 4308 3671 .. date: 7391 3672 .. nonce: 7O6QSe 3673 .. section: Library 3674 3675 httplib.IncompleteRead's repr doesn't include all of the data all ready 3676 received. 3677 3678 .. 3679 3680 .. bpo: 5401 3681 .. date: 7390 3682 .. nonce: L67vEY 3683 .. section: Library 3684 3685 Fixed a performance problem in mimetypes when ``from mimetypes import 3686 guess_extension`` was used. 3687 3688 .. 3689 3690 .. bpo: 1733986 3691 .. date: 7389 3692 .. nonce: v6ClaV 3693 .. section: Library 3694 3695 Fixed mmap crash on Windows in accessing elements of second map object with 3696 same tagname but larger size than first map. 3697 3698 .. 3699 3700 .. bpo: 5386 3701 .. date: 7388 3702 .. nonce: Mfoc4E 3703 .. section: Library 3704 3705 mmap.write_byte didn't check map size, so it could cause buffer overrun. 3706 3707 .. 3708 3709 .. bpo: 1533164 3710 .. date: 7387 3711 .. nonce: oSDeo2 3712 .. section: Library 3713 3714 Installed but not listed *.pyo was breaking Distutils bdist_rpm command. 3715 3716 .. 3717 3718 .. bpo: 5378 3719 .. date: 7386 3720 .. nonce: Nu7yhK 3721 .. section: Library 3722 3723 Added --quiet option to Distutils bdist_rpm command. 3724 3725 .. 3726 3727 .. bpo: 5052 3728 .. date: 7385 3729 .. nonce: tuRmM7 3730 .. section: Library 3731 3732 Make Distutils compatible with 2.3 again. 3733 3734 .. 3735 3736 .. bpo: 0 3737 .. date: 7384 3738 .. nonce: i4QWFU 3739 .. section: Library 3740 3741 Deprecated methods of symtable.Symbol have been removed: is_keywordarg(), 3742 is_vararg(), and is_in_tuple(). 3743 3744 .. 3745 3746 .. bpo: 5316 3747 .. date: 7383 3748 .. nonce: gdWjbL 3749 .. section: Library 3750 3751 Fixed buildbot failures introduced by multiple inheritance in Distutils 3752 tests. 3753 3754 .. 3755 3756 .. bpo: 5287 3757 .. date: 7382 3758 .. nonce: m3xQet 3759 .. section: Library 3760 3761 Add exception handling around findCaller() call to help out IronPython. 3762 3763 .. 3764 3765 .. bpo: 5282 3766 .. date: 7381 3767 .. nonce: oc64yd 3768 .. section: Library 3769 3770 Fixed mmap resize on 32bit Windows and Unix. When ``offset > 0``, the file 3771 was resized to wrong size. 3772 3773 .. 3774 3775 .. bpo: 5292 3776 .. date: 7380 3777 .. nonce: K-iKkZ 3778 .. section: Library 3779 3780 Fixed mmap crash on its boundary access m[len(m)]. 3781 3782 .. 3783 3784 .. bpo: 2279 3785 .. date: 7379 3786 .. nonce: T7t8d0 3787 .. section: Library 3788 3789 distutils.sdist.add_defaults now add files from the package_data and the 3790 data_files metadata. 3791 3792 .. 3793 3794 .. bpo: 5257 3795 .. date: 7378 3796 .. nonce: asNrGx 3797 .. section: Library 3798 3799 Refactored all tests in distutils, so they use support.TempdirManager, to 3800 avoid writing in the tests directory. 3801 3802 .. 3803 3804 .. bpo: 4524 3805 .. date: 7377 3806 .. nonce: Y3L_fh 3807 .. section: Library 3808 3809 distutils build_script command failed with --with-suffix=3. Initial patch by 3810 Amaury Forgeot d'Arc. 3811 3812 .. 3813 3814 .. bpo: 2461 3815 .. date: 7376 3816 .. nonce: RD653P 3817 .. section: Library 3818 3819 Added tests for distutils.util. 3820 3821 .. 3822 3823 .. bpo: 1008086 3824 .. date: 7375 3825 .. nonce: BbViq- 3826 .. section: Library 3827 3828 Fixed socket.inet_aton() to always return 4 bytes even on LP64 platforms 3829 (most 64-bit Linux, bsd, unix systems). 3830 3831 .. 3832 3833 .. bpo: 5203 3834 .. date: 7374 3835 .. nonce: _dsCYh 3836 .. section: Library 3837 3838 Fixed ctypes segfaults when passing a unicode string to a function without 3839 argtypes (only occurs if HAVE_USABLE_WCHAR_T is false). 3840 3841 .. 3842 3843 .. bpo: 3386 3844 .. date: 7373 3845 .. nonce: KG-Ru5 3846 .. section: Library 3847 3848 distutils.sysconfig.get_python_lib prefix argument was ignored under NT and 3849 OS2. Patch by Philip Jenvey. 3850 3851 .. 3852 3853 .. bpo: 5128 3854 .. date: 7372 3855 .. nonce: RLP-Ij 3856 .. section: Library 3857 3858 Make compileall properly inspect bytecode to determine if needs to be 3859 recreated. This avoids a timing hole thanks to the old reliance on the 3860 ctime of the files involved. 3861 3862 .. 3863 3864 .. bpo: 5122 3865 .. date: 7371 3866 .. nonce: 45BIdZ 3867 .. section: Library 3868 3869 Synchronize tk load failure check to prevent a potential deadlock. 3870 3871 .. 3872 3873 .. bpo: 1818 3874 .. date: 7370 3875 .. nonce: _i2lg8 3876 .. section: Library 3877 3878 collections.namedtuple() now supports a keyword argument 'rename' which lets 3879 invalid fieldnames be automatically converted to positional names in the 3880 form, _1, _2, ... 3881 3882 .. 3883 3884 .. bpo: 4890 3885 .. date: 7369 3886 .. nonce: frM5Ou 3887 .. section: Library 3888 3889 Handle empty text search pattern in Tkinter.Text.search. 3890 3891 .. 3892 3893 .. bpo: 5170 3894 .. date: 7368 3895 .. nonce: qiqrbO 3896 .. section: Library 3897 3898 Fixed Unicode output bug in logging and added test case. This is a 3899 regression which did not occur in 2.5. 3900 3901 .. 3902 3903 .. bpo: 4512 3904 .. date: 7367 3905 .. nonce: WCcn7w 3906 .. section: Library 3907 3908 Promote ``ZipImporter._get_filename()`` to be a public documented method 3909 ``ZipImporter.get_filename()``. 3910 3911 .. 3912 3913 .. bpo: 4195 3914 .. date: 7366 3915 .. nonce: 462RKE 3916 .. section: Library 3917 3918 The ``runpy`` module (and the ``-m`` switch) now support the execution of 3919 packages by looking for and executing a ``__main__`` submodule when a 3920 package name is supplied. Initial patch by Andi Vajda. 3921 3922 .. 3923 3924 .. bpo: 1731706 3925 .. date: 7365 3926 .. nonce: WZ5WX5 3927 .. section: Library 3928 3929 Call Tcl_ConditionFinalize for Tcl_Conditions that will not be used again 3930 (this requires Tcl/Tk 8.3.1), also fix a memory leak in Tkapp_Call when 3931 calling from a thread different than the one that created the Tcl 3932 interpreter. Patch by Robert Hancock. 3933 3934 .. 3935 3936 .. bpo: 1520877 3937 .. date: 7364 3938 .. nonce: 8L5pMp 3939 .. section: Library 3940 3941 Now distutils.sysconfig reads $AR from the environment/Makefile. Patch by 3942 Douglas Greiman. 3943 3944 .. 3945 3946 .. bpo: 4285 3947 .. date: 7363 3948 .. nonce: 3vlvS6 3949 .. section: Library 3950 3951 Change sys.version_info to be a named tuple. Patch by Ross Light. 3952 3953 .. 3954 3955 .. bpo: 1276768 3956 .. date: 7362 3957 .. nonce: xGRlK_ 3958 .. section: Library 3959 3960 The verbose option was not used in the code of distutils.file_util and 3961 distutils.dir_util. 3962 3963 .. 3964 3965 .. bpo: 5132 3966 .. date: 7361 3967 .. nonce: lYsgxj 3968 .. section: Library 3969 3970 Fixed trouble building extensions under Solaris with --enabled-shared 3971 activated. Initial patch by Dave Peterson. 3972 3973 .. 3974 3975 .. bpo: 1581476 3976 .. date: 7360 3977 .. nonce: 8PPtxr 3978 .. section: Library 3979 3980 Always use the Tcl global namespace when calling into Tcl. 3981 3982 .. 3983 3984 .. bpo: 2047 3985 .. date: 7359 3986 .. nonce: W29q2y 3987 .. section: Library 3988 3989 shutil.move() could believe that its destination path was inside its source 3990 path if it began with the same letters (e.g. "src" vs. "src.new"). 3991 3992 .. 3993 3994 .. bpo: 4920 3995 .. date: 7358 3996 .. nonce: 4C6Tka 3997 .. section: Library 3998 3999 Fixed .next() vs .__next__() issues in the ABCs for Iterator and MutableSet. 4000 4001 .. 4002 4003 .. bpo: 0 4004 .. date: 7357 4005 .. nonce: St1AK1 4006 .. section: Library 4007 4008 Added the ttk module. See issue #2983: Ttk support for Tkinter. 4009 4010 .. 4011 4012 .. bpo: 5021 4013 .. date: 7356 4014 .. nonce: w66Gt4 4015 .. section: Library 4016 4017 doctest.testfile() did not create __name__ and collections.namedtuple() 4018 relied on __name__ being defined. 4019 4020 .. 4021 4022 .. bpo: 0 4023 .. date: 7355 4024 .. nonce: iqhL-t 4025 .. section: Library 4026 4027 Backport importlib from Python 3.1. Only the import_module() function has 4028 been backported to help facilitate transitions from 2.7 to 3.1. 4029 4030 .. 4031 4032 .. bpo: 1885 4033 .. date: 7354 4034 .. nonce: PtaVKd 4035 .. section: Library 4036 4037 distutils: When running sdist with --formats=tar,gztar the tar file was 4038 overridden by the gztar one. 4039 4040 .. 4041 4042 .. bpo: 4863 4043 .. date: 7353 4044 .. nonce: WAd1yO 4045 .. section: Library 4046 4047 distutils.mwerkscompiler has been removed. 4048 4049 .. 4050 4051 .. bpo: 0 4052 .. date: 7352 4053 .. nonce: N87zoU 4054 .. section: Library 4055 4056 Added new itertools functions: combinations_with_replacement() and 4057 compress(). 4058 4059 .. 4060 4061 .. bpo: 5032 4062 .. date: 7351 4063 .. nonce: Hc_HF9 4064 .. section: Library 4065 4066 Added a step argument to itertools.count() and allowed non-integer 4067 arguments. 4068 4069 .. 4070 4071 .. bpo: 0 4072 .. date: 7350 4073 .. nonce: htGT5q 4074 .. section: Library 4075 4076 Fix and properly document the multiprocessing module's logging support, 4077 expose the internal levels and provide proper usage examples. 4078 4079 .. 4080 4081 .. bpo: 1672332 4082 .. date: 7349 4083 .. nonce: PilXzF 4084 .. section: Library 4085 4086 Fix unpickling of subnormal floats, which was producing a ValueError on some 4087 platforms. 4088 4089 .. 4090 4091 .. bpo: 3881 4092 .. date: 7348 4093 .. nonce: bIWN64 4094 .. section: Library 4095 4096 Help Tcl to load even when started through the unreadable local symlink to 4097 "Program Files" on Vista. 4098 4099 .. 4100 4101 .. bpo: 4710 4102 .. date: 7347 4103 .. nonce: ZjbAFp 4104 .. section: Library 4105 4106 Extract directories properly in the zipfile module; allow adding directories 4107 to a zipfile. 4108 4109 .. 4110 4111 .. bpo: 3807 4112 .. date: 7346 4113 .. nonce: E4I458 4114 .. section: Library 4115 4116 _multiprocessing build fails when configure is passed --without-threads 4117 argument. When this occurs, _multiprocessing will be disabled, and not 4118 compiled. 4119 4120 .. 4121 4122 .. bpo: 5008 4123 .. date: 7345 4124 .. nonce: n1uR4V 4125 .. section: Library 4126 4127 When a file is opened in append mode with the new IO library, do an explicit 4128 seek to the end of file (so that e.g. tell() returns the file size rather 4129 than 0). This is consistent with the behaviour of the traditional 2.x file 4130 object. 4131 4132 .. 4133 4134 .. bpo: 5013 4135 .. date: 7344 4136 .. nonce: AZ9WNo 4137 .. section: Library 4138 4139 Fixed a bug in FileHandler which occurred when the delay parameter was set. 4140 4141 .. 4142 4143 .. bpo: 4998 4144 .. date: 7343 4145 .. nonce: AomdSw 4146 .. section: Library 4147 4148 The memory saving effect of __slots__ had been lost on Fractions which 4149 inherited from numbers.py which did not have __slots__ defined. The numbers 4150 hierarchy now has its own __slots__ declarations. 4151 4152 .. 4153 4154 .. bpo: 3321 4155 .. date: 7342 4156 .. nonce: 4gfMOk 4157 .. section: Library 4158 4159 _multiprocessing.Connection() doesn't check handle; added checks for *nix 4160 machines for negative handles and large int handles. Without this check it 4161 is possible to segfault the interpreter. 4162 4163 .. 4164 4165 .. bpo: 4449 4166 .. date: 7341 4167 .. nonce: O4I8D7 4168 .. section: Library 4169 4170 AssertionError in mp_benchmarks.py, caused by an underlying issue in 4171 sharedctypes.py. 4172 4173 .. 4174 4175 .. bpo: 1225107 4176 .. date: 7340 4177 .. nonce: p6wro7 4178 .. section: Library 4179 4180 inspect.isclass() returned True for instances with a custom __getattr__. 4181 4182 .. 4183 4184 .. bpo: 3997 4185 .. date: 7339 4186 .. nonce: kDqtnQ 4187 .. section: Library 4188 4189 Zipfiles generated with more than 65536 files could not be opened with other 4190 applications. 4191 4192 .. 4193 4194 .. bpo: 1162154 4195 .. date: 7338 4196 .. nonce: QHeSnh 4197 .. section: Library 4198 4199 ``inspect.getmembers()`` now skips attributes that raise AttributeError, 4200 e.g. a __slots__ attribute which has not been set. 4201 4202 .. 4203 4204 .. bpo: 1696199 4205 .. date: 7337 4206 .. nonce: cR113m 4207 .. section: Library 4208 4209 Add collections.Counter() for rapid and convenient counting. 4210 4211 .. 4212 4213 .. bpo: 3860 4214 .. date: 7336 4215 .. nonce: f8AZsh 4216 .. section: Library 4217 4218 GzipFile and BZ2File now support the context management protocol. 4219 4220 .. 4221 4222 .. bpo: 4272 4223 .. date: 7335 4224 .. nonce: auf_M0 4225 .. section: Library 4226 4227 Add an optional argument to the GzipFile constructor to override the 4228 timestamp in the gzip stream. The default value remains the current time. 4229 The information can be used by e.g. gunzip when decompressing. Patch by 4230 Jacques Frechet. 4231 4232 .. 4233 4234 .. bpo: 0 4235 .. date: 7334 4236 .. nonce: 7sDs9W 4237 .. section: Library 4238 4239 Restore Python 2.3 compatibility for decimal.py. 4240 4241 .. 4242 4243 .. bpo: 1702551 4244 .. date: 7333 4245 .. nonce: If0hpw 4246 .. section: Library 4247 4248 distutils sdist was not excluding VCS directories under Windows. Initial 4249 solution by Guy Dalberto. 4250 4251 .. 4252 4253 .. bpo: 0 4254 .. date: 7332 4255 .. nonce: exKvPN 4256 .. section: Library 4257 4258 The _tkinter module functions "createfilehandler", "deletefilehandler", 4259 "createtimerhandler", "mainloop", "dooneevent" and "quit" have been 4260 deprecated for removal in 3.x 4261 4262 .. 4263 4264 .. bpo: 4796 4265 .. date: 7331 4266 .. nonce: UBKEyz 4267 .. section: Library 4268 4269 Added Decimal.from_float() and Context.create_decimal_from_float() to the 4270 decimal module. 4271 4272 .. 4273 4274 .. bpo: 4812 4275 .. date: 7330 4276 .. nonce: 2hPczw 4277 .. section: Library 4278 4279 Add missing underscore prefix to some internal-use-only constants in the 4280 decimal module. (Dec_0 becomes _Dec_0, etc.) 4281 4282 .. 4283 4284 .. bpo: 4795 4285 .. date: 7329 4286 .. nonce: _vA-Zf 4287 .. section: Library 4288 4289 inspect.isgeneratorfunction() returns False instead of None when the 4290 function is not a generator. 4291 4292 .. 4293 4294 .. bpo: 4702 4295 .. date: 7328 4296 .. nonce: ybmQBP 4297 .. section: Library 4298 4299 Throwing a DistutilsPlatformError instead of IOError in case no MSVC 4300 compiler is found under Windows. Original patch by Philip Jenvey. 4301 4302 .. 4303 4304 .. bpo: 4646 4305 .. date: 7327 4306 .. nonce: 7wQSEv 4307 .. section: Library 4308 4309 distutils was choking on empty options arg in the setup function. Original 4310 patch by Thomas Heller. 4311 4312 .. 4313 4314 .. bpo: 0 4315 .. date: 7326 4316 .. nonce: cAjOp1 4317 .. section: Library 4318 4319 Fractions.from_float() no longer loses precision for integers too big to 4320 cast as floats. 4321 4322 .. 4323 4324 .. bpo: 4790 4325 .. date: 7325 4326 .. nonce: aKNjhn 4327 .. section: Library 4328 4329 The nsmallest() and nlargest() functions in the heapq module did unnecessary 4330 work in the common case where no key function was specified. 4331 4332 .. 4333 4334 .. bpo: 3767 4335 .. date: 7324 4336 .. nonce: sY2Wyh 4337 .. section: Library 4338 4339 Convert Tk object to string in tkColorChooser. 4340 4341 .. 4342 4343 .. bpo: 3248 4344 .. date: 7323 4345 .. nonce: 6UId_r 4346 .. section: Library 4347 4348 Allow placing ScrolledText in a PanedWindow. 4349 4350 .. 4351 4352 .. bpo: 4444 4353 .. date: 7322 4354 .. nonce: oBxx2k 4355 .. section: Library 4356 4357 Allow assertRaises() to be used as a context handler, so that the code under 4358 test can be written inline if more practical. 4359 4360 .. 4361 4362 .. bpo: 4739 4363 .. date: 7321 4364 .. nonce: VoYRrw 4365 .. section: Library 4366 4367 Add pydoc help topics for symbols, so that e.g. help('@') works as expected 4368 in the interactive environment. 4369 4370 .. 4371 4372 .. bpo: 4756 4373 .. date: 7320 4374 .. nonce: pscfIt 4375 .. section: Library 4376 4377 zipfile.is_zipfile() now supports file-like objects. Patch by Gabriel 4378 Genellina. 4379 4380 .. 4381 4382 .. bpo: 4400 4383 .. date: 7319 4384 .. nonce: CSFvcN 4385 .. section: Library 4386 4387 .pypirc default generated file was broken in distutils. 4388 4389 .. 4390 4391 .. bpo: 4736 4392 .. date: 7318 4393 .. nonce: qftNAR 4394 .. section: Library 4395 4396 io.BufferedRWPair's closed property now functions properly. 4397 4398 .. 4399 4400 .. bpo: 3954 4401 .. date: 7317 4402 .. nonce: vPsfgT 4403 .. section: Library 4404 4405 Fix a potential SystemError in _hotshot.logreader error handling. 4406 4407 .. 4408 4409 .. bpo: 4574 4410 .. date: 7316 4411 .. nonce: CXYnzF 4412 .. section: Library 4413 4414 Fix a crash in io.IncrementalNewlineDecoder when a carriage return encodes 4415 to more than one byte in the source encoding (e.g. UTF-16) and gets split on 4416 a chunk boundary. 4417 4418 .. 4419 4420 .. bpo: 4223 4421 .. date: 7315 4422 .. nonce: UCATW5 4423 .. section: Library 4424 4425 inspect.getsource() will now correctly display source code for packages 4426 loaded via zipimport (or any other conformant PEP 302 loader). Original 4427 patch by Alexander Belopolsky. 4428 4429 .. 4430 4431 .. bpo: 4201 4432 .. date: 7314 4433 .. nonce: hdQbIQ 4434 .. section: Library 4435 4436 pdb can now access and display source code loaded via zipimport (or any 4437 other conformant PEP 302 loader). Original patch by Alexander Belopolsky. 4438 4439 .. 4440 4441 .. bpo: 4197 4442 .. date: 7313 4443 .. nonce: IA6tPh 4444 .. section: Library 4445 4446 Doctests in modules loaded via zipimport (or any other PEP 302 conformant 4447 loader) will now work correctly in most cases (they are still subject to the 4448 constraints that exist for all code running from inside a module loaded via 4449 a PEP 302 loader and attempting to perform IO operations based on __file__). 4450 Original patch by Alexander Belopolsky. 4451 4452 .. 4453 4454 .. bpo: 4082 4455 .. date: 7312 4456 .. nonce: jpnXzi 4457 .. section: Library 4458 4459 Add runpy support to zipimport in a manner that allows backporting to 4460 maintenance branches. Original patch by Alexander Belopolsky. (See also: 4461 bpo-4512) 4462 4463 .. 4464 4465 .. bpo: 4163 4466 .. date: 7311 4467 .. nonce: r4afWs 4468 .. section: Library 4469 4470 Use unicode-friendly word splitting in the textwrap functions when given a 4471 Unicode string. 4472 4473 .. 4474 4475 .. bpo: 4616 4476 .. date: 7310 4477 .. nonce: EfehU4 4478 .. section: Library 4479 4480 TarFile.utime(): Restore directory times on Windows. 4481 4482 .. 4483 4484 .. bpo: 4084 4485 .. date: 7309 4486 .. nonce: CgsU1v 4487 .. section: Library 4488 4489 Fix max, min, max_mag and min_mag Decimal methods to give correct results in 4490 the case where one argument is a quiet NaN and the other is a finite number 4491 that requires rounding. 4492 4493 .. 4494 4495 .. bpo: 1030250 4496 .. date: 7308 4497 .. nonce: s-KbFX 4498 .. section: Library 4499 4500 Distutils created directories even when run with the --dry-run option. 4501 4502 .. 4503 4504 .. bpo: 4483 4505 .. date: 7307 4506 .. nonce: H2pFWf 4507 .. section: Library 4508 4509 _dbm module now builds on systems with gdbm & gdbm_compat libs. 4510 4511 .. 4512 4513 .. bpo: 4529 4514 .. date: 7306 4515 .. nonce: J-M1ot 4516 .. section: Library 4517 4518 Fix the parser module's validation of try-except-finally statements. 4519 4520 .. 4521 4522 .. bpo: 4458 4523 .. date: 7305 4524 .. nonce: d68Oc- 4525 .. section: Library 4526 4527 getopt.gnu_getopt() now recognizes a single "-" as an argument, not a 4528 malformed option. 4529 4530 .. 4531 4532 .. bpo: 0 4533 .. date: 7304 4534 .. nonce: JcSDah 4535 .. section: Library 4536 4537 Added the subprocess.check_output() convenience function to get output from 4538 a subprocess on success or raise an exception on error. 4539 4540 .. 4541 4542 .. bpo: 1055234 4543 .. date: 7303 4544 .. nonce: PJDWMZ 4545 .. section: Library 4546 4547 cgi.parse_header(): Fixed parsing of header parameters to support unusual 4548 filenames (such as those containing semi-colons) in Content-Disposition 4549 headers. 4550 4551 .. 4552 4553 .. bpo: 4384 4554 .. date: 7302 4555 .. nonce: 5W6yrD 4556 .. section: Library 4557 4558 Added logging integration with warnings module using captureWarnings(). 4559 This change includes a NullHandler which does nothing; it will be of use to 4560 library developers who want to avoid the "No handlers could be found for 4561 logger XXX" message which can appear if the library user doesn't configure 4562 logging. 4563 4564 .. 4565 4566 .. bpo: 3741 4567 .. date: 7301 4568 .. nonce: ugW7ZS 4569 .. section: Library 4570 4571 DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an exception. 4572 4573 .. 4574 4575 .. bpo: 4363 4576 .. date: 7300 4577 .. nonce: zbP2s9 4578 .. section: Library 4579 4580 The uuid.uuid1() and uuid.uuid4() functions now work even if the ctypes 4581 module is not present. 4582 4583 .. 4584 4585 .. bpo: 0 4586 .. date: 7299 4587 .. nonce: 9ohu2f 4588 .. section: Library 4589 4590 FileIO's mode attribute now always includes ``"b"``. 4591 4592 .. 4593 4594 .. bpo: 4116 4595 .. date: 7298 4596 .. nonce: CD_MP7 4597 .. section: Library 4598 4599 Resolve member name conflict in ScrolledCanvas.__init__. 4600 4601 .. 4602 4603 .. bpo: 0 4604 .. date: 7297 4605 .. nonce: QmONdW 4606 .. section: Library 4607 4608 httplib.HTTPConnection.putheader() now accepts an arbitrary number of values 4609 for any header, matching what the documentation has claimed for a while. 4610 4611 .. 4612 4613 .. bpo: 3774 4614 .. date: 7296 4615 .. nonce: qhBNNQ 4616 .. section: Library 4617 4618 Fixed an error when create a Tkinter menu item without command and then 4619 remove it. 4620 4621 .. 4622 4623 .. bpo: 0 4624 .. date: 7295 4625 .. nonce: NbETIR 4626 .. section: Library 4627 4628 Fixed a modulefinder crash on certain relative imports. 4629 4630 .. 4631 4632 .. bpo: 4150 4633 .. date: 7294 4634 .. nonce: Q8jnkP 4635 .. section: Library 4636 4637 Pdb's "up" command now works for generator frames in post-mortem debugging. 4638 4639 .. 4640 4641 .. bpo: 4092 4642 .. date: 7293 4643 .. nonce: cgu8U7 4644 .. section: Library 4645 4646 Return ArgInfo as promised in the documentation from inspect.getargvalues. 4647 4648 .. 4649 4650 .. bpo: 3935 4651 .. date: 7292 4652 .. nonce: xo6LXH 4653 .. section: Library 4654 4655 Properly support list subclasses in bisect's C implementation. 4656 4657 .. 4658 4659 .. bpo: 4014 4660 .. date: 7291 4661 .. nonce: VPepZh 4662 .. section: Library 4663 4664 Don't claim that Python has an Alpha release status, in addition to claiming 4665 it is Mature. 4666 4667 .. 4668 4669 .. bpo: 4730 4670 .. date: 7290 4671 .. nonce: Gb-t2A 4672 .. section: Library 4673 4674 Fixed the cPickle module to handle correctly astral characters when protocol 4675 0 is used. 4676 4677 .. 4678 4679 .. bpo: 1594 4680 .. date: 7289 4681 .. nonce: HEsHsF 4682 .. section: Library 4683 4684 MacOS.GetCreatorAndType now always returns a big-endian result, to be 4685 consistent with Apple tools. 4686 4687 .. 4688 4689 .. bpo: 900949 4690 .. date: 7288 4691 .. nonce: WLxHoH 4692 .. section: Library 4693 4694 plat-mac/videoreader.py no longer relies on a non-existing module. 4695 4696 .. 4697 4698 .. bpo: 16278952 4699 .. date: 7287 4700 .. nonce: lzPQW7 4701 .. section: Library 4702 4703 plat-mac/videoreader.py now correctly imports MediaDescr 4704 4705 .. 4706 4707 .. bpo: 1737832 4708 .. date: 7286 4709 .. nonce: cQdLju 4710 .. section: Library 4711 4712 plat-mac/EasyDialog.py no longer uses the broken aepack module. 4713 4714 .. 4715 4716 .. bpo: 1149804 4717 .. date: 7285 4718 .. nonce: -5eLwa 4719 .. section: Library 4720 4721 macostools.mkdirs now even works when another process creates one of the 4722 needed subdirectories. 4723 4724 .. 4725 4726 .. bpo: 900506 4727 .. date: 7284 4728 .. nonce: kVZAZL 4729 .. section: Library 4730 4731 added --no-zipimport flag to the bundlebuilder script. 4732 4733 .. 4734 4735 .. bpo: 841800 4736 .. date: 7283 4737 .. nonce: XCnSdr 4738 .. section: Library 4739 4740 bundlebuilder now works with 'python -O'. 4741 4742 .. 4743 4744 .. bpo: 4861 4745 .. date: 7282 4746 .. nonce: sIt_9h 4747 .. section: Library 4748 4749 ctypes.util.find_library(): Robustify. Fix library detection on biarch 4750 systems. Try to rely on ldconfig only, without using objdump and gcc. 4751 4752 .. 4753 4754 .. bpo: 5104 4755 .. date: 7281 4756 .. nonce: YzzKtZ 4757 .. section: Library 4758 4759 The socket module now raises OverflowError when 16-bit port and protocol 4760 numbers are supplied outside the allowed 0-65536 range on bind() and 4761 getservbyport(). 4762 4763 .. 4764 4765 .. bpo: 999042 4766 .. date: 7280 4767 .. nonce: cVohJD 4768 .. section: Library 4769 4770 The Python compiler now handles explict global statements correctly (should 4771 be assigned using STORE_GLOBAL opcode). 4772 4773 .. 4774 4775 .. bpo: 2703 4776 .. date: 7279 4777 .. nonce: nHzm3m 4778 .. section: Library 4779 4780 SimpleXMLRPCDispatcher.__init__: Provide default values for new arguments 4781 introduced in 2.5. 4782 4783 .. 4784 4785 .. bpo: 5828 4786 .. date: 7278 4787 .. nonce: vKsQ82 4788 .. section: Library 4789 4790 Fixed bogus logic in makeunicodedata.py and regenerated the Unicode database 4791 (This fixes u'\u1d79'.lower() == '\x00'). 4792 4793 .. 4794 4795 .. bpo: 0 4796 .. date: 7277 4797 .. nonce: aOxIb2 4798 .. section: Library 4799 4800 Windows locale mapping updated to Vista. 4801 4802 .. 4803 4804 .. bpo: 5150 4805 .. date: 7276 4806 .. nonce: ROvOEC 4807 .. section: IDLE 4808 4809 IDLE's format menu now has an option to strip trailing whitespace. 4810 4811 .. 4812 4813 .. bpo: 5847 4814 .. date: 7275 4815 .. nonce: XwEpMA 4816 .. section: IDLE 4817 4818 Remove -n switch on "Edit with IDLE" menu item. 4819 4820 .. 4821 4822 .. bpo: 0 4823 .. date: 7274 4824 .. nonce: 0fQMGL 4825 .. section: IDLE 4826 4827 idle.py modified and simplified to better support developing experimental 4828 versions of IDLE which are not installed in the standard location. 4829 4830 .. 4831 4832 .. bpo: 5559 4833 .. date: 7273 4834 .. nonce: GKhgt1 4835 .. section: IDLE 4836 4837 OutputWindow/PyShell right click menu "Go to file/line" wasn't working with 4838 file paths containing spaces. 4839 4840 .. 4841 4842 .. bpo: 5783 4843 .. date: 7272 4844 .. nonce: oZFpQE 4845 .. section: IDLE 4846 4847 Windows: Version string for the .chm help file changed, file not being 4848 accessed. Patch by Guilherme Polo/ 4849 4850 .. 4851 4852 .. bpo: 1529142 4853 .. date: 7271 4854 .. nonce: _7kvP5 4855 .. section: IDLE 4856 4857 Allow multiple IDLE GUI/subprocess pairs to exist simultaneously. Thanks to 4858 David Scherer for suggesting the use of an ephemeral port for the GUI. 4859 Patch by Weeble. 4860 4861 .. 4862 4863 .. bpo: 0 4864 .. date: 7270 4865 .. nonce: D4DReJ 4866 .. section: IDLE 4867 4868 Remove port spec from run.py and fix bug where subprocess fails to extract 4869 port from command line when warnings are present. 4870 4871 .. 4872 4873 .. bpo: 5129 4874 .. date: 7269 4875 .. nonce: eVAJqn 4876 .. section: IDLE 4877 4878 Tk 8.5 Text widget requires 'wordprocessor' tabstyle attr to handle mixed 4879 space/tab properly. Patch by Guilherme Polo. 4880 4881 .. 4882 4883 .. bpo: 3549 4884 .. date: 7268 4885 .. nonce: nZ7He6 4886 .. section: IDLE 4887 4888 On MacOS the preferences menu was not present 4889 4890 .. 4891 4892 .. bpo: 0 4893 .. date: 7267 4894 .. nonce: fyANj_ 4895 .. section: Tools/Demos 4896 4897 Ttk demos added in Demo/tkinter/ttk/. 4898 4899 .. 4900 4901 .. bpo: 4677 4902 .. date: 7266 4903 .. nonce: 4BCeec 4904 .. section: Tools/Demos 4905 4906 Add two list comprehension tests to pybench. 4907 4908 .. 4909 4910 .. bpo: 6603 4911 .. date: 7265 4912 .. nonce: I-Evb7 4913 .. section: Build 4914 4915 Change READ_TIMESTAMP macro in ceval.c so that it compiles correctly under 4916 gcc on x86-64. This fixes a reported problem with the --with-tsc build on 4917 x86-64. 4918 4919 .. 4920 4921 .. bpo: 0 4922 .. date: 7264 4923 .. nonce: fOuNOF 4924 .. section: Build 4925 4926 Add 2 new options to ``--with-universal-archs`` on MacOSX: ``intel`` builds 4927 a distribution with ``i386`` and ``x86_64`` architectures, while ``3-way`` 4928 builds a distribution with the ``ppc``, ``i386`` and ``x86_64`` 4929 architectures. 4930 4931 .. 4932 4933 .. bpo: 6802 4934 .. date: 7263 4935 .. nonce: I0PGjW 4936 .. section: Build 4937 4938 Fix build issues on MacOSX 10.6. 4939 4940 .. 4941 4942 .. bpo: 6244 4943 .. date: 7262 4944 .. nonce: hQGLlr 4945 .. section: Build 4946 4947 Allow detect_tkinter to look for Tcl/Tk 8.6. 4948 4949 .. 4950 4951 .. bpo: 5390 4952 .. date: 7261 4953 .. nonce: ZnkJkB 4954 .. section: Build 4955 4956 Add uninstall icon independent of whether file extensions are installed. 4957 4958 .. 4959 4960 .. bpo: 5809 4961 .. date: 7260 4962 .. nonce: WMK90h 4963 .. section: Build 4964 4965 Specifying both --enable-framework and --enable-shared is an error. 4966 Configure now explicitly tells you about this. 4967 4968 .. 4969 4970 .. bpo: 3585 4971 .. date: 7259 4972 .. nonce: eB4RFU 4973 .. section: Build 4974 4975 Add pkg-config support. It creates a python-2.7.pc file and a python.pc 4976 symlink in the $(LIBDIR)/pkgconfig directory. Patch by Clinton Roy. 4977 4978 .. 4979 4980 .. bpo: 6094 4981 .. date: 7258 4982 .. nonce: shJUAU 4983 .. section: Build 4984 4985 Build correctly with Subversion 1.7. 4986 4987 .. 4988 4989 .. bpo: 5726 4990 .. date: 7257 4991 .. nonce: nHrlsd 4992 .. section: Build 4993 4994 Make Modules/ld_so_aix return the actual exit code of the linker, rather 4995 than always exit successfully. Patch by Floris Bruynooghe. 4996 4997 .. 4998 4999 .. bpo: 4587 5000 .. date: 7256 5001 .. nonce: nnNweB 5002 .. section: Build 5003 5004 Add configure option --with-dbmliborder=db1:db2:... to specify the order 5005 that backends for the dbm extension are checked. 5006 5007 .. 5008 5009 .. bpo: 0 5010 .. date: 7255 5011 .. nonce: 9K_NPs 5012 .. section: Build 5013 5014 Link the shared python library with $(MODLIBS). 5015 5016 .. 5017 5018 .. bpo: 5134 5019 .. date: 7254 5020 .. nonce: JmNLWO 5021 .. section: Build 5022 5023 Silence compiler warnings when compiling sqlite with VC++. 5024 5025 .. 5026 5027 .. bpo: 4494 5028 .. date: 7253 5029 .. nonce: IGajo- 5030 .. section: Build 5031 5032 Fix build with Py_NO_ENABLE_SHARED on Windows. 5033 5034 .. 5035 5036 .. bpo: 4895 5037 .. date: 7252 5038 .. nonce: S-3ytm 5039 .. section: Build 5040 5041 Use _strdup on Windows CE. 5042 5043 .. 5044 5045 .. bpo: 4472 5046 .. date: 7251 5047 .. nonce: UbvbZD 5048 .. section: Build 5049 5050 ``configure --enable-shared`` now works on OSX. 5051 5052 .. 5053 5054 .. bpo: 4728 5055 .. date: 7250 5056 .. nonce: FPe7Wi 5057 .. section: Build 5058 5059 WORDS_BIGEDIAN is now correct in Universal builds. (See also: bpo-4060) 5060 5061 .. 5062 5063 .. bpo: 4389 5064 .. date: 7249 5065 .. nonce: UrR3rH 5066 .. section: Build 5067 5068 Add icon to the uninstall entry in "add-and-remove-programs". 5069 5070 .. 5071 5072 .. bpo: 4289 5073 .. date: 7248 5074 .. nonce: xDo3LW 5075 .. section: Build 5076 5077 Remove Cancel button from AdvancedDlg. 5078 5079 .. 5080 5081 .. bpo: 1656675 5082 .. date: 7247 5083 .. nonce: yhrY5M 5084 .. section: Build 5085 5086 Register a drop handler for .py* files on Windows. 5087 5088 .. 5089 5090 .. bpo: 4120 5091 .. date: 7246 5092 .. nonce: AJJ_Yg 5093 .. section: Build 5094 5095 Exclude manifest from extension modules in VS2008. 5096 5097 .. 5098 5099 .. bpo: 4091 5100 .. date: 7245 5101 .. nonce: j3E4hq 5102 .. section: Build 5103 5104 Install pythonxy.dll in system32 again. 5105 5106 .. 5107 5108 .. bpo: 4018 5109 .. date: 7244 5110 .. nonce: UVtBMQ 5111 .. section: Build 5112 5113 Disable "for me" installations on Vista. 5114 5115 .. 5116 5117 .. bpo: 3758 5118 .. date: 7243 5119 .. nonce: cBcoI8 5120 .. section: Build 5121 5122 Add ``patchcheck`` build target to ``.PHONY``. 5123 5124 .. 5125 5126 .. bpo: 4204 5127 .. date: 7242 5128 .. nonce: NQswDc 5129 .. section: Build 5130 5131 Fixed module build errors on FreeBSD 4. 5132 5133 .. 5134 5135 .. bpo: 6556 5136 .. date: 7241 5137 .. nonce: Qn6fFV 5138 .. section: Documentation 5139 5140 Fixed the Distutils configuration files location explanation for Windows. 5141 5142 .. 5143 5144 .. bpo: 6801 5145 .. date: 7240 5146 .. nonce: yMIrow 5147 .. section: Documentation 5148 5149 symmetric_difference_update also accepts ``|``. Thanks to Carl Chenet. 5150 5151 .. 5152 5153 .. bpo: 7528 5154 .. date: 7239 5155 .. nonce: CxgEcB 5156 .. section: C API 5157 5158 Add PyLong_AsLongAndOverflow (backported from py3k). 5159 5160 .. 5161 5162 .. bpo: 7228 5163 .. date: 7238 5164 .. nonce: Kj3IXX 5165 .. section: C API 5166 5167 Add '%lld' and '%llu' support to PyString_FromFormat(V) and PyErr_Format, on 5168 machines with HAVE_LONG_LONG defined. 5169 5170 .. 5171 5172 .. bpo: 0 5173 .. date: 7237 5174 .. nonce: XqzKYC 5175 .. section: C API 5176 5177 Add new C-API function PyOS_string_to_double, and deprecated PyOS_ascii_atof 5178 and PyOS_ascii_strtod. 5179 5180 .. 5181 5182 .. bpo: 0 5183 .. date: 7236 5184 .. nonce: EzTAcl 5185 .. section: C API 5186 5187 Removed _PyOS_double_to_string. Use PyOS_double_to_string instead. This is 5188 in preparation for (but not strictly related to) issue #7117, short float 5189 repr. 5190 5191 .. 5192 5193 .. bpo: 6624 5194 .. date: 7235 5195 .. nonce: qPXO6F 5196 .. section: C API 5197 5198 PyArg_ParseTuple with "s" format when parsing argument with NULL: Bogus 5199 TypeError detail string. 5200 5201 .. 5202 5203 .. bpo: 5954 5204 .. date: 7234 5205 .. nonce: bl2-P2 5206 .. section: C API 5207 5208 Add a PyFrame_GetLineNumber() function to replace most uses of 5209 PyCode_Addr2Line(). 5210 5211 .. 5212 5213 .. bpo: 5959 5214 .. date: 7233 5215 .. nonce: wmWB5t 5216 .. section: C API 5217 5218 Add a PyCode_NewEmpty() function to create a new empty code object at a 5219 specified file, function, and line number. 5220 5221 .. 5222 5223 .. bpo: 1419652 5224 .. date: 7232 5225 .. nonce: Q6BERX 5226 .. section: C API 5227 5228 Change the first argument to PyImport_AppendInittab() to ``const char *`` as 5229 the string is stored beyond the call. 5230 5231 .. 5232 5233 .. bpo: 0 5234 .. date: 7231 5235 .. nonce: hva90Q 5236 .. section: C API 5237 5238 Some PyBytes_* aliases have been removed because they don't exist in 3.x. 5239 5240 .. 5241 5242 .. bpo: 5175 5243 .. date: 7230 5244 .. nonce: r1a8Ms 5245 .. section: C API 5246 5247 PyLong_AsUnsignedLongLong now raises OverflowError for negative arguments. 5248 Previously, it raised TypeError. 5249 5250 .. 5251 5252 .. bpo: 4720 5253 .. date: 7229 5254 .. nonce: Mb6W01 5255 .. section: C API 5256 5257 The format for PyArg_ParseTupleAndKeywords can begin with '|'. 5258 5259 .. 5260 5261 .. bpo: 3632 5262 .. date: 7228 5263 .. nonce: upPC86 5264 .. section: C API 5265 5266 From the gdb debugger, the 'pyo' macro can now be called when the GIL is 5267 released, or owned by another thread. 5268 5269 .. 5270 5271 .. bpo: 4122 5272 .. date: 7227 5273 .. nonce: fhMq7A 5274 .. section: C API 5275 5276 On Windows, fix a compilation error when using the Py_UNICODE_ISSPACE macro 5277 in an extension module. 5278 5279 .. 5280 5281 .. bpo: 4293 5282 .. date: 7226 5283 .. nonce: QdarHx 5284 .. section: C API 5285 5286 Py_AddPendingCall() is now thread safe and can be used for asynchronous 5287 notifications to python from any thread. Documentation added. 5288 5289 .. 5290 5291 .. bpo: 6508 5292 .. date: 7225 5293 .. nonce: R3EvXY 5294 .. section: Library 5295 5296 Add posix.{getresuid,getresgid,setresuid,setresgid}. 5297 5298 .. 5299 5300 .. bpo: 7078 5301 .. date: 7224 5302 .. nonce: 90Z604 5303 .. section: Library 5304 5305 Set struct.__doc__ from _struct.__doc__. 5306 5307 .. 5308 5309 .. bpo: 3366 5310 .. date: 7223 5311 .. nonce: U1DfAJ 5312 .. section: Library 5313 5314 Add erf, erfc, expm1, gamma, lgamma functions to math module. 5315 5316 .. 5317 5318 .. bpo: 6823 5319 .. date: 7222 5320 .. nonce: m4cwqj 5321 .. section: Library 5322 5323 Allow time.strftime() to accept a tuple with a isdst field outside of the 5324 range of [-1, 1] by normalizing the value to within that range. 5325 5326 .. 5327 5328 .. bpo: 6877 5329 .. date: 7221 5330 .. nonce: CMXt7p 5331 .. section: Library 5332 5333 Make it possible to link the readline extension to libedit on OSX. 5334 5335 .. 5336 5337 .. bpo: 6944 5338 .. date: 7220 5339 .. nonce: A9aMl7 5340 .. section: Library 5341 5342 Fix a SystemError when socket.getnameinfo() was called with something other 5343 than a tuple as first argument. 5344 5345 .. 5346 5347 .. bpo: 6865 5348 .. date: 7219 5349 .. nonce: 8EKGt5 5350 .. section: Library 5351 5352 Fix reference counting issue in the initialization of the pwd module. 5353 5354 .. 5355 5356 .. bpo: 6848 5357 .. date: 7218 5358 .. nonce: yoWK1A 5359 .. section: Library 5360 5361 Fix curses module build failure on OS X 10.6. 5362 5363 .. 5364 5365 .. bpo: 0 5366 .. date: 7217 5367 .. nonce: k2iXEM 5368 .. section: Library 5369 5370 Fix a segfault in expat when given a specially crafted input lead to the 5371 tokenizer not stopping. CVE-2009-3720. 5372 5373 .. 5374 5375 .. bpo: 6561 5376 .. date: 7216 5377 .. nonce: tJwGr- 5378 .. section: Library 5379 5380 '\d' in a regex now matches only characters with Unicode category 'Nd' 5381 (Number, Decimal Digit). Previously it also matched characters with 5382 category 'No'. 5383 5384 .. 5385 5386 .. bpo: 1523 5387 .. date: 7215 5388 .. nonce: GYRz49 5389 .. section: Library 5390 5391 Remove deprecated overflow wrapping for struct.pack with an integer format 5392 code ('bBhHiIlLqQ'). Packing an out-of-range integer now consistently 5393 raises struct.error. 5394 5395 .. 5396 5397 .. bpo: 1530559 5398 .. date: 7214 5399 .. nonce: 0TjrtL 5400 .. section: Library 5401 5402 Fix various struct.pack inconsistencies for the integer formats 5403 ('bBhHiIlLqQ'). In the following, '*' represents any of '=', '<', '>'. 5404 5405 - Packing a float now always gives a Deprecation Warning. Previously it 5406 only warned for 'I', 'L', '*B', '*H', '*I', '*L'. 5407 5408 - If x is not an int, long or float, then packing x will always result in 5409 struct.error. Previously an x with an __int__ method could be packed by 5410 'b', 'B', 'h', 'H', 'i', 'l', '*b', '*h' ,'*i', '*l', and an x with a 5411 __long__ method could be packed by 'q', 'Q', '*q', '*Q'; for x with 5412 neither __int__ nor __long__, TypeError used to be raised (with a 5413 confusing error message) for 'I', 'L', '*B', '*H', '*I', '*L', and 5414 struct.error in other cases. 5415 5416 Note: as of Python 2.7 beta 1, the above is out of date. In 2.7 beta 1, any 5417 argument with an __int__ method can be packed, but use of this feature 5418 triggers a DeprecationWarning. (See also: bpo-1741130) 5419 5420 .. 5421 5422 .. bpo: 4873 5423 .. date: 7213 5424 .. nonce: X6xp5Z 5425 .. section: Library 5426 5427 Fix resource leaks in error cases of pwd and grp. 5428 5429 .. 5430 5431 .. bpo: 4751 5432 .. date: 7212 5433 .. nonce: 6sPqcu 5434 .. section: Library 5435 5436 For hashlib algorithms provided by OpenSSL, the Python GIL is now released 5437 during computation on data lengths >= 2048 bytes. 5438 5439 .. 5440 5441 .. bpo: 3745 5442 .. date: 7211 5443 .. nonce: UWvSDY 5444 .. section: Library 5445 5446 Fix hashlib to always reject unicode and non buffer-api supporting objects 5447 as input no matter how it was compiled (built in implementations or external 5448 openssl library). NOTE: Undone in 2.7a2. 5449 5450 .. 5451 5452 .. bpo: 4397 5453 .. date: 7210 5454 .. nonce: v3SDSI 5455 .. section: Library 5456 5457 Fix occasional test_socket failure on OS X. 5458 5459 .. 5460 5461 .. bpo: 4279 5462 .. date: 7209 5463 .. nonce: 4RY6FX 5464 .. section: Library 5465 5466 Fix build of parsermodule under Cygwin. 5467 5468 .. 5469 5470 .. bpo: 4051 5471 .. date: 7208 5472 .. nonce: CWy5So 5473 .. section: Library 5474 5475 Prevent conflict of UNICODE macros in cPickle. 5476 5477 .. 5478 5479 .. bpo: 4228 5480 .. date: 7207 5481 .. nonce: 6AP3nQ 5482 .. section: Library 5483 5484 Pack negative values the same way as 2.4 in struct's L format. 5485 5486 .. 5487 5488 .. bpo: 1040026 5489 .. date: 7206 5490 .. nonce: f_lNlD 5491 .. section: Library 5492 5493 Fix os.times result on systems where HZ is incorrect. 5494 5495 .. 5496 5497 .. bpo: 3167 5498 .. date: 7205 5499 .. nonce: Wq3nLl 5500 .. section: Library 5501 5502 Fix test_math failures for log, log10 on Solaris, OpenBSD. (See also: 5503 bpo-3682) 5504 5505 .. 5506 5507 .. bpo: 4365 5508 .. date: 7204 5509 .. nonce: 1v_32N 5510 .. section: Library 5511 5512 Add crtassem.h constants to the msvcrt module. 5513 5514 .. 5515 5516 .. bpo: 4396 5517 .. date: 7203 5518 .. nonce: 3vmXT4 5519 .. section: Library 5520 5521 The parser module now correctly validates the with statement. 5522 5523 .. 5524 5525 .. bpo: 5228 5526 .. date: 7202 5527 .. nonce: lDpzrP 5528 .. section: Library 5529 5530 Make functools.partial objects can now be pickled. 5531 5532 .. 5533 5534 .. bpo: 7431 5535 .. date: 7201 5536 .. nonce: gQvWFz 5537 .. section: Tests 5538 5539 Use TESTFN in test_linecache instead of trying to create a file in the 5540 Lib/test directory, which might be read-only for the user running the tests. 5541 5542 .. 5543 5544 .. bpo: 7324 5545 .. date: 7200 5546 .. nonce: qx7wYQ 5547 .. section: Tests 5548 5549 Add a sanity check to regrtest argument parsing to catch the case of an 5550 option with no handler. 5551 5552 .. 5553 5554 .. bpo: 7312 5555 .. date: 7199 5556 .. nonce: owJk3R 5557 .. section: Tests 5558 5559 Add a -F flag to run the selected tests in a loop until a test fails. Can 5560 be combined with -j. 5561 5562 .. 5563 5564 .. bpo: 7295 5565 .. date: 7198 5566 .. nonce: ukZhHi 5567 .. section: Tests 5568 5569 Do not use a hardcoded file name in test_tarfile. 5570 5571 .. 5572 5573 .. bpo: 7270 5574 .. date: 7197 5575 .. nonce: am_b1S 5576 .. section: Tests 5577 5578 Add some dedicated unit tests for multi-thread synchronization primitives 5579 such as Lock, RLock, Condition, Event and Semaphore. 5580 5581 .. 5582 5583 .. bpo: 7222 5584 .. date: 7196 5585 .. nonce: iKJspN 5586 .. section: Tests 5587 5588 Make thread "reaping" more reliable so that reference leak-chasing test runs 5589 give sensible results. The previous method of reaping threads could return 5590 successfully while some Thread objects were still referenced. This also 5591 introduces a new private function: ``thread._count()``. 5592 5593 .. 5594 5595 .. bpo: 7151 5596 .. date: 7195 5597 .. nonce: U07hpR 5598 .. section: Tests 5599 5600 Fixed regrtest -j so that output to stderr from a test no longer runs the 5601 risk of causing the worker thread to fail. 5602 5603 .. 5604 5605 .. bpo: 7055 5606 .. date: 7194 5607 .. nonce: 3okJ5l 5608 .. section: Tests 5609 5610 test___all__ now greedily detects all modules which have an __all__ 5611 attribute, rather than using a hardcoded and incomplete list. 5612 5613 .. 5614 5615 .. bpo: 7058 5616 .. date: 7193 5617 .. nonce: 3DkUXi 5618 .. section: Tests 5619 5620 Added save/restore for things like sys.argv and cwd to runtest_inner in 5621 regrtest, with warnings if the called test modifies them, and a new section 5622 in the summary report at the end. 5623 5624 .. 5625 5626 .. bpo: 7042 5627 .. date: 7192 5628 .. nonce: b8v3FJ 5629 .. section: Tests 5630 5631 Fix test_signal (test_itimer_virtual) failure on OS X 10.6. 5632 5633 .. 5634 5635 .. bpo: 6806 5636 .. date: 7191 5637 .. nonce: hS_Ys4 5638 .. section: Tests 5639 5640 test_platform failed under OS X 10.6.0 because ``sw_ver`` leaves off the 5641 trailing 0 in the version number. 5642 5643 .. 5644 5645 .. bpo: 5450 5646 .. date: 7190 5647 .. nonce: c2vdqn 5648 .. section: Tests 5649 5650 Moved tests involving loading tk from Lib/test/test_tcl to 5651 Lib/lib-tk/test/test_tkinter/test_loadtk. With this, these tests demonstrate the 5652 same behaviour as test_ttkguionly (and now also test_tk) which is to skip 5653 the tests if DISPLAY is defined but can't be used. 5654 5655 .. 5656 5657 .. bpo: 6152 5658 .. date: 7189 5659 .. nonce: EkeKpL 5660 .. section: Tests 5661 5662 New option '-j'/'--multiprocess' for regrtest allows running regression 5663 tests in parallel, shortening the total runtime. 5664 5665 .. 5666 5667 .. bpo: 5354 5668 .. date: 7188 5669 .. nonce: vIbbLT 5670 .. section: Tests 5671 5672 New test support function import_fresh_module() makes it easy to import both 5673 normal and optimised versions of modules. test_heapq and test_warnings have 5674 been adjusted to use it, tests for other modules with both C and Python 5675 implementations in the stdlib can be adjusted to use it over time. 5676 5677 .. 5678 5679 .. bpo: 0 5680 .. date: 7187 5681 .. nonce: bTuQvV 5682 .. section: Tests 5683 5684 Fix test_warnings to no longer reset the warnings filter. 5685 5686 .. 5687 5688 .. bpo: 0 5689 .. date: 7186 5690 .. nonce: Mmlolu 5691 .. section: Tests 5692 5693 Fix test_logging to no longer reset the warnings filter. 5694 5695 .. 5696 5697 .. bpo: 5635 5698 .. date: 7185 5699 .. nonce: 8Yq1dn 5700 .. section: Tests 5701 5702 Fix running test_sys with tracing enabled. 5703 5704 .. 5705 5706 .. bpo: 0 5707 .. date: 7184 5708 .. nonce: t8Gnx4 5709 .. section: Tests 5710 5711 regrtest no longer treats ImportError as equivalent to SkipTest. Imports 5712 that should cause a test to be skipped are now done using import_module from 5713 test support, which does the conversion. 5714 5715 .. 5716 5717 .. bpo: 5083 5718 .. date: 7183 5719 .. nonce: imHnrP 5720 .. section: Tests 5721 5722 New 'gui' resource for regrtest. 5723 5724 .. 5725 5726 .. bpo: 5837 5727 .. date: 7182 5728 .. nonce: s1idZB 5729 .. section: Tests 5730 5731 Certain sequences of calls to set() and unset() for 5732 support.EnvironmentVarGuard objects restored the environment variables 5733 incorrectly on __exit__. 5734 5735 .. 5736 5737 .. bpo: 2389 5738 .. date: 7181 5739 .. nonce: w0L9Yb 5740 .. section: Tests 5741 5742 Array objects are now pickled in a portable manner. 5743 5744 .. 5745 5746 .. bpo: 5611 5747 .. date: 7180 5748 .. nonce: UOPr-Q 5749 .. section: Windows 5750 5751 Auto-detect whether a C file uses tabs or spaces in Vim. 5752