1.. bpo: 7301 2.. date: 7972 3.. nonce: dlecRg 4.. release date: 2010-04-10 5.. section: Core and Builtins 6 7Add environment variable $PYTHONWARNINGS. 8 9.. 10 11.. bpo: 8329 12.. date: 7971 13.. nonce: ZUTObm 14.. section: Core and Builtins 15 16Don't return the same lists from select.select when no fds are changed. 17 18.. 19 20.. bpo: 8259 21.. date: 7970 22.. nonce: NNoD66 23.. section: Core and Builtins 24 25``1L << (2**31)`` no longer produces an 'outrageous shift error' on 64-bit 26machines. The shift count for either left or right shift is permitted to be 27up to sys.maxsize. 28 29.. 30 31.. bpo: 0 32.. date: 7969 33.. nonce: iwBvru 34.. section: Core and Builtins 35 36Ensure that tokenization of identifiers is not affected by locale. 37 38.. 39 40.. bpo: 1222585 41.. date: 7968 42.. nonce: emqFT3 43.. section: Core and Builtins 44 45Added LDCXXSHARED for C++ support. Patch by Arfrever. 46 47.. 48 49.. bpo: 0 50.. date: 7967 51.. nonce: jCkZ20 52.. section: Core and Builtins 53 54Raise a TypeError when trying to delete a T_STRING_INPLACE struct member. 55 56.. 57 58.. bpo: 7994 59.. date: 7966 60.. nonce: ZEBSAJ 61.. section: Core and Builtins 62 63Issue a PendingDeprecationWarning if object.__format__ is called with a 64non-empty format string. This is an effort to future-proof user code. If a 65derived class does not currently implement __format__ but later adds its own 66__format__, it would most likely break user code that had supplied a format 67string. This will be changed to a DeprecationWarning in Python 3.3 and it 68will be an error in Python 3.4. 69 70.. 71 72.. bpo: 8268 73.. date: 7965 74.. nonce: usS51U 75.. section: Core and Builtins 76 77Old-style classes (not just instances) now support weak references. 78 79.. 80 81.. bpo: 8211 82.. date: 7964 83.. nonce: InhXpq 84.. section: Core and Builtins 85 86Save/restore CFLAGS around AC_PROG_CC in configure.in, in case it is set. 87 88.. 89 90.. bpo: 1583863 91.. date: 7963 92.. nonce: tSkjxk 93.. section: Core and Builtins 94 95A unicode subclass can now override the __unicode__ method 96 97.. 98 99.. bpo: 6474 100.. date: 7962 101.. nonce: yFxVuM 102.. section: Core and Builtins 103 104Make error message from passing an inadequate number of keyword arguments to 105a function correct. 106 107.. 108 109.. bpo: 8164 110.. date: 7961 111.. nonce: uRYEY5 112.. section: Core and Builtins 113 114Don't allow lambda functions to have a docstring. 115 116.. 117 118.. bpo: 3137 119.. date: 7960 120.. nonce: Em70dh 121.. section: Core and Builtins 122 123Don't ignore errors at startup, especially a keyboard interrupt (SIGINT). 124If an error occurs while importing the site module, the error is printed and 125Python exits. Initialize the GIL before importing the site module. 126 127.. 128 129.. bpo: 0 130.. date: 7959 131.. nonce: kIQmnN 132.. section: Core and Builtins 133 134Code objects now support weak references. 135 136.. 137 138.. bpo: 5277 139.. date: 7958 140.. nonce: CQ8CXN 141.. section: Library 142 143Fix quote counting when parsing RFC 2231 encoded parameters. 144 145.. 146 147.. bpo: 8321 148.. date: 7957 149.. nonce: Tul_aA 150.. section: Library 151 152Give access to OpenSSL version numbers from the `ssl` module, using the new 153attributes `ssl.OPENSSL_VERSION`, `ssl.OPENSSL_VERSION_INFO` and 154`ssl.OPENSSL_VERSION_NUMBER`. 155 156.. 157 158.. bpo: 8310 159.. date: 7956 160.. nonce: 6fu8uc 161.. section: Library 162 163Allow dis to examine new style classes. 164 165.. 166 167.. bpo: 8257 168.. date: 7955 169.. nonce: PzabSZ 170.. section: Library 171 172The Decimal construct now accepts a float instance directly, converting that 173float to a Decimal of equal value: 174 175>>> Decimal(1.1) 176Decimal('1.100000000000000088817841970012523233890533447265625') 177 178.. 179 180.. bpo: 0 181.. date: 7954 182.. nonce: 02C1gn 183.. section: Library 184 185collections.Counter() now supports a subtract() method. 186 187.. 188 189.. bpo: 0 190.. date: 7953 191.. nonce: or8thG 192.. section: Library 193 194The functools module now has a total_ordering() class decorator to simplify 195the specification of rich comparisons. 196 197.. 198 199.. bpo: 0 200.. date: 7952 201.. nonce: nshtA2 202.. section: Library 203 204The functools module also adds cmp_to_key() as a tool to transition 205old-style comparison functions to new-style key-functions. 206 207.. 208 209.. bpo: 8294 210.. date: 7951 211.. nonce: 42HIIC 212.. section: Library 213 214The Fraction constructor now accepts Decimal and float instances directly. 215 216.. 217 218.. bpo: 7279 219.. date: 7950 220.. nonce: v1uyoh 221.. section: Library 222 223Comparisons involving a Decimal signaling NaN now signal InvalidOperation 224instead of returning False. (Comparisons involving a quiet NaN are 225unchanged.) Also, Decimal quiet NaNs are now hashable; Decimal signaling 226NaNs remain unhashable. 227 228.. 229 230.. bpo: 2531 231.. date: 7949 232.. nonce: ELCENf 233.. section: Library 234 235Comparison operations between floats and Decimal instances now return a 236result based on the numeric values of the operands; previously they returned 237an arbitrary result based on the relative ordering of id(float) and 238id(Decimal). 239 240.. 241 242.. bpo: 8233 243.. date: 7948 244.. nonce: xJkVL4 245.. section: Library 246 247When run as a script, py_compile.py optionally takes a single argument `-` 248which tells it to read files to compile from stdin. Each line is read on 249demand and the named file is compiled immediately. (Original patch by Piotr 250Ożarowski). 251 252.. 253 254.. bpo: 3135 255.. date: 7947 256.. nonce: 5u_w3h 257.. section: Library 258 259Add ``inspect.getcallargs()``, which binds arguments to a function like a 260normal call. 261 262.. 263 264.. bpo: 0 265.. date: 7946 266.. nonce: CTbVhT 267.. section: Library 268 269Backwards incompatible change: Unicode codepoints line tabulation (0x0B) and 270form feed (0x0C) are now considered linebreaks, as specified in Unicode 271Standard Annex #14. See issue #7643. http://www.unicode.org/reports/tr14/ 272 273.. 274 275.. bpo: 0 276.. date: 7945 277.. nonce: Y0P_8n 278.. section: Library 279 280Comparisons using one of <, <=, >, >= between a complex instance and a 281Fractions instance now raise TypeError instead of returning True/False. 282This makes Fraction <=> complex comparisons consistent with int <=> complex, 283float <=> complex, and complex <=> complex comparisons. 284 285.. 286 287.. bpo: 0 288.. date: 7944 289.. nonce: POrUTx 290.. section: Library 291 292Addition of ``WeakSet`` to the ``weakref`` module. 293 294.. 295 296.. bpo: 0 297.. date: 7943 298.. nonce: 6xyUXj 299.. section: Library 300 301logging: Added LOG_FTP to SysLogHandler and updated documentation. 302 303.. 304 305.. bpo: 8205 306.. date: 7942 307.. nonce: GK6syz 308.. section: Library 309 310Remove the "Modules" directory from sys.path when Python is running from the 311build directory (POSIX only). 312 313.. 314 315.. bpo: 7667 316.. date: 7941 317.. nonce: 581UIL 318.. section: Library 319 320Fix doctest failures with non-ASCII paths. 321 322.. 323 324.. bpo: 7512 325.. date: 7940 326.. nonce: 3tQWru 327.. section: Library 328 329shutil.copystat() could raise an OSError when the filesystem didn't support 330chflags() (for example ZFS under FreeBSD). The error is now silenced. 331 332.. 333 334.. bpo: 7703 335.. date: 7939 336.. nonce: _QnWbZ 337.. section: Library 338 339ctypes supports both buffer() and memoryview(). The former is deprecated. 340 341.. 342 343.. bpo: 7860 344.. date: 7938 345.. nonce: DV2Y4E 346.. section: Library 347 348platform.uname now reports the correct 'machine' type when Python is running 349in WOW64 mode on 64 bit Windows. 350 351.. 352 353.. bpo: 0 354.. date: 7937 355.. nonce: ZMh4CS 356.. section: Library 357 358logging: Added getChild utility method to Logger and added isEnabledFor 359method to LoggerAdapter. 360 361.. 362 363.. bpo: 8201 364.. date: 7936 365.. nonce: Zsfq9o 366.. section: Library 367 368logging: Handle situation of non-ASCII and Unicode logger names existing at 369the same time, causing a Unicode error when configuration code attempted to 370sort the existing loggers. 371 372.. 373 374.. bpo: 8200 375.. date: 7935 376.. nonce: QhAmka 377.. section: Library 378 379logging: Handle errors when multiprocessing is not fully loaded when logging 380occurs. 381 382.. 383 384.. bpo: 3890 385.. date: 7934 386.. nonce: LxiC0p 387.. section: Library 388 389Fix recv() and recv_into() on non-blocking SSL sockets. Also, enable the 390SSL_MODE_AUTO_RETRY flag on SSL sockets, so that blocking reads and writes 391are always retried by OpenSSL itself. (See also: bpo-8222) 392 393.. 394 395.. bpo: 8179 396.. date: 7933 397.. nonce: 8H5ich 398.. section: Library 399 400Fix macpath.realpath() on a non-existing path. 401 402.. 403 404.. bpo: 8024 405.. date: 7932 406.. nonce: OWylMQ 407.. section: Library 408 409Update the Unicode database to 5.2. 410 411.. 412 413.. bpo: 8104 414.. date: 7931 415.. nonce: sE4WnG 416.. section: Library 417 418socket.recv_into() and socket.recvfrom_into() now support writing into 419objects supporting the new buffer API, for example bytearrays or 420memoryviews. 421 422.. 423 424.. bpo: 4961 425.. date: 7930 426.. nonce: WDc-2x 427.. section: Library 428 429Inconsistent/wrong result of askyesno function in tkMessageBox with 430Tcl/Tk-8.5. 431 432.. 433 434.. bpo: 8140 435.. date: 7929 436.. nonce: GfkB7_ 437.. section: Library 438 439Extend compileall to compile single files. Add -i option. 440 441.. 442 443.. bpo: 7774 444.. date: 7928 445.. nonce: BddO6b 446.. section: Library 447 448Set sys.executable to an empty string if ``argv[0]`` has been set to a non 449existent program name and Python is unable to retrieve the real program 450name. 451 452.. 453 454.. bpo: 8117 455.. date: 7927 456.. nonce: CFgyRD 457.. section: Library 458 459logging: Improved algorithm for computing initial rollover time for 460``TimedRotatingFileHandler`` by using the modification time of an existing 461log file to compute the next rollover time. If the log file does not exist, 462the current time is used as the basis for the computation. 463 464.. 465 466.. bpo: 6472 467.. date: 7926 468.. nonce: c0VR0M 469.. section: Library 470 471The ``xml.etree`` package is updated to ElementTree 1.3. The cElementTree 472module is updated too. 473 474.. 475 476.. bpo: 7880 477.. date: 7925 478.. nonce: oSpS50 479.. section: Library 480 481Fix sysconfig when the python executable is a symbolic link. 482 483.. 484 485.. bpo: 7624 486.. date: 7924 487.. nonce: P9QTki 488.. section: Library 489 490Fix ``isinstance(foo(), collections.Callable)`` for old-style classes. 491 492.. 493 494.. bpo: 7143 495.. date: 7923 496.. nonce: A30Qss 497.. section: Library 498 499email: ``get_payload()`` used to strip any trailing newline from a base64 500transfer-encoded payload *after* decoding it; it no longer does. This is a 501behavior change, so email's minor version number is now bumped, to version 5024.0.2, for the 2.7 release. 503 504.. 505 506.. bpo: 8235 507.. date: 7922 508.. nonce: 7txk3- 509.. section: Library 510 511_socket: Add the constant ``SO_SETFIB``. SO_SETFIB is a socket option 512available on FreeBSD 7.1 and newer. 513 514.. 515 516.. bpo: 8038 517.. date: 7921 518.. nonce: GrZDC3 519.. section: Library 520 521unittest.TestCase.assertNotRegexpMatches 522 523.. 524 525.. bpo: 0 526.. date: 7920 527.. nonce: V2kHuO 528.. section: Library 529 530Addition of -b command line option to unittest for buffering stdout / stderr 531during test runs. 532 533.. 534 535.. bpo: 1220212 536.. date: 7919 537.. nonce: GqZ0L4 538.. section: Library 539 540Added os.kill support for Windows, including support for sending CTRL+C and 541CTRL+BREAK events to console subprocesses. 542 543.. 544 545.. bpo: 8314 546.. date: 7918 547.. nonce: s45vVC 548.. section: Library 549 550Fix unsigned long long bug in libffi on Sparc v8. 551 552.. 553 554.. bpo: 1039 555.. date: 7917 556.. nonce: BQUTJH 557.. section: Library 558 559Fix os.execlp() crash with missing 2nd argument. (See also: bpo-8154) 560 561.. 562 563.. bpo: 8156 564.. date: 7916 565.. nonce: 5LG8uP 566.. section: Library 567 568bsddb module updated to version 4.8.4. 569http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.8.4. This update drops 570support for Berkeley DB 4.0, and adds support for 4.8. 571 572.. 573 574.. bpo: 3928 575.. date: 7915 576.. nonce: kY8ENm 577.. section: Library 578 579os.mknod() now available in Solaris, also. 580 581.. 582 583.. bpo: 8142 584.. date: 7914 585.. nonce: ArTkHw 586.. section: Library 587 588Update libffi to the 3.0.9 release. 589 590.. 591 592.. bpo: 8300 593.. date: 7913 594.. nonce: fAkvVk 595.. section: Library 596 597When passing a non-integer argument to struct.pack with any integer format 598code, struct.pack first attempts to convert the non-integer using its 599__index__ method. If that method is non-existent or raises TypeError it 600goes on to try the __int__ method, as described below. 601 602.. 603 604.. bpo: 1530559 605.. date: 7912 606.. nonce: KXF5m2 607.. section: Library 608 609When passing a non-integer argument to struct.pack with *any* integer format 610code (one of 'bBhHiIlLqQ'), struct.pack attempts to use the argument's 611__int__ method to convert to an integer before packing. It also produces a 612DeprecationWarning in this case. (In Python 2.6, the behaviour was 613inconsistent: __int__ was used for some integer codes but not for others, 614and the set of integer codes for which it was used differed between native 615packing and standard packing.) 616 617.. 618 619.. bpo: 7347 620.. date: 7911 621.. nonce: RdqRiz 622.. section: Library 623 624_winreg: Add CreateKeyEx and DeleteKeyEx, as well as fix a bug in the return 625value of QueryReflectionKey. 626 627.. 628 629.. bpo: 7993 630.. date: 7910 631.. nonce: M7oNRJ 632.. section: Tools/Demos 633 634Add a test of IO packet processing bandwidth to ccbench. It measures the 635number of UDP packets processed per second depending on the number of 636background CPU-bound Python threads. 637 638.. 639 640.. bpo: 0 641.. date: 7909 642.. nonce: KeNbfw 643.. section: Tools/Demos 644 645python-config now supports multiple options on the same command line. 646 647.. 648 649.. bpo: 8032 650.. date: 7908 651.. nonce: gv-Du9 652.. section: Build 653 654For gdb7, a python-gdb.py file is added to the build, allowing to use 655advanced gdb features when debugging Python. 656 657.. 658 659.. bpo: 1628484 660.. date: 7907 661.. nonce: wcrSr1 662.. section: Build 663 664The Makefile doesn't ignore the CFLAGS environment variable anymore. It 665also forwards the LDFLAGS settings to the linker when building a shared 666library. 667 668.. 669 670.. bpo: 6716 671.. date: 7906 672.. nonce: tQLBdR 673.. section: Build 674 675Quote -x arguments of compileall in MSI installer. 676 677.. 678 679.. bpo: 7705 680.. date: 7905 681.. nonce: sw6ifg 682.. section: Build 683 684Fix linking on FreeBSD. 685 686.. 687 688.. bpo: 0 689.. date: 7904 690.. nonce: Dm_ncE 691.. section: Build 692 693Make sure that the FreeBSD build of the included libffi uses the proper 694assembly file. 695 696.. 697 698.. bpo: 8276 699.. date: 7903 700.. nonce: 40pgLF 701.. section: C API 702 703PyEval_CallObject() is now only available in macro form. The function 704declaration, which was kept for backwards compatibility reasons, is now 705removed (the macro was introduced in 1997!). 706 707.. 708 709.. bpo: 7992 710.. date: 7902 711.. nonce: 2eLlya 712.. section: C API 713 714A replacement PyCObject API, PyCapsule, has been backported from Python 3.1. 715All existing Python CObjects in the main distribution have been converted to 716capsules. To address backwards-compatibility concerns, 717PyCObject_AsVoidPtr() was changed to understand capsules. 718 719.. 720 721.. bpo: 3864 722.. date: 7901 723.. nonce: bkbNiO 724.. section: Tests 725 726Skip three test_signal tests on freebsd6 because they fail if any thread was 727previously started, most likely due to a platform bug. 728 729.. 730 731.. bpo: 8348 732.. date: 7900 733.. nonce: Nygf2t 734.. section: Tests 735 736Fix test ftp url in test_urllib2net. 737 738.. 739 740.. bpo: 8204 741.. date: 7899 742.. nonce: iYMJ7_ 743.. section: Tests 744 745Fix test_ttk notebook test by forcing focus. 746 747.. 748 749.. bpo: 8344 750.. date: 7898 751.. nonce: kt2Sq_ 752.. section: Tests 753 754Fix test_ttk bug on FreeBSD. 755 756.. 757 758.. bpo: 8193 759.. date: 7897 760.. nonce: T8MbIc 761.. section: Tests 762 763Fix test_zlib failure with zlib 1.2.4. 764 765.. 766 767.. bpo: 8248 768.. date: 7896 769.. nonce: pBx5bT 770.. section: Tests 771 772Add some tests for the bool type. Patch by Gregory Nofi. 773 774.. 775 776.. bpo: 8263 777.. date: 7895 778.. nonce: zNUf-5 779.. section: Tests 780 781Now regrtest.py will report a failure if it receives a KeyboardInterrupt 782(SIGINT). 783 784.. 785 786.. bpo: 8180 787.. date: 7894 788.. nonce: yyLvZY 789.. section: Tests 790 791Fix test_pep277 on OS X and add more tests for special Unicode normalization 792cases. (See also: bpo-8207) 793 794.. 795 796.. bpo: 7783 797.. date: 7893 798.. nonce: K20ttO 799.. section: Tests 800 801test.test_support.open_urlresource invalidates the outdated files from the 802local cache. 803