GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — cpython/Misc/NEWS at v3.1.2 · python/cpython Expand file tree/ Copy pathNEWSMore file actions 2010 lines (1342 loc) · 73.5 KB / Copy pathNEWSFile metadata and controls2010 lines (1342 loc) · 73.5 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 +++++++++++ Python News +++++++++++ (editors: check NEWS.help for information about editing NEWS using ReST.) What's New in Python 3.1.2? =========================== *Release date: 2010-03-20* Core and Builtins ----------------- - Issue #7173: Generator finalization could invalidate sys.exc_info(). Library ------- - Issue #2698: The --compiler ignored was ignored for distutils' build_ext. - Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox with Tcl/Tk-8.5. - Issue #7356: ctypes.util: Make parsing of ldconfig output independent of the locale. What's New in Python 3.1.2 release candidate 1? =============================================== *Release date: 2010-03-06* Core and Builtins ----------------- - Issue #7544: Preallocate thread memory before creating the thread to avoid a fatal error in low memory condition. - Issue #7820: The parser tokenizer restores all bytes in the right if the BOM check fails. - Handle errors from looking up __prepare__ correctly. - Issue #5939: Add additional runtime checking to ensure a valid capsule in Modules/_ctypes/callproc.c. - Issue #7309: Fix unchecked attribute access when converting UnicodeEncodeError, UnicodeDecodeError, and UnicodeTranslateError to strings. - Issue #6902: Fix problem with built-in types format incorrectly with 0 padding. - Issue #7988: Fix default alignment to be right aligned for complex.__format__. Now it matches other numeric types. - Issue #7385: Fix a crash in `MemoryView_FromObject` when `PyObject_GetBuffer` fails. Patch by Florent Xicluna. - Issue #7788: Fix an interpreter crash produced by deleting a list slice with very large step value. - Issue #7561: Operations on empty bytearrays (such as `int(bytearray())`) could crash in many places because of the PyByteArray_AS_STRING() macro returning NULL. The macro now returns a statically allocated empty string instead. - Issue #7632: Fix various str -> float conversion bugs present in 2.7 alpha 2, including: (1) a serious 'wrong output' bug that could occur for long (> 40 digit) input strings, (2) a crash in dtoa.c that occurred in debug builds when parsing certain long numeric strings corresponding to subnormal values, (3) a memory leak for some values large enough to cause overflow, and (4) a number of flaws that could lead to incorrectly rounded results. - Issue #7604: Deleting an unset slotted attribute did not raise an AttributeError. - Issue #7466: segmentation fault when the garbage collector is called in the middle of populating a tuple. Patch by Florent Xicluna. - Issue #7419: setlocale() could crash the interpreter on Windows when called with invalid values. - Issue #6077: On Windows, files opened with tempfile.TemporaryFile in "wt+" mode would appear truncated on the first '0x1a' byte (aka. Ctrl+Z). - Issue #7085: Fix crash when importing some extensions in a thread on MacOSX 10.6. - Issue #7298: fixes for range and reversed(range(...)). Iteration over range(a, b, c) incorrectly gave an empty iterator when a, b and c fit in C long but the length of the range did not. Also fix several cases where reversed(range(a, b, c)) gave wrong results, and fix a refleak for reversed(range(a, b, c)) with large arguments. - Issue #7244: itertools.izip_longest() no longer ignores exceptions raised during the formation of an output tuple. - Issue #3297: On wide unicode builds, do not split unicode characters into surrogates. - Issue #1722344: threading._shutdown() is now called in Py_Finalize(), which fixes the problem of some exceptions being thrown at shutdown when the interpreter is killed. Patch by Adam Olsen. - Issue #7065: Fix a crash in bytes.maketrans and bytearray.maketrans when using byte values greater than 127. Patch by Derk Drukker. - Issue #7019: Raise ValueError when unmarshalling bad long data, instead of producing internally inconsistent Python longs. - Issue #6990: Fix threading.local subclasses leaving old state around after a reference cycle GC which could be recycled by new locals. - Issue #6846: Fix bug where bytearray.pop() returns negative integers. - Issue #6750: A text file opened with io.open() could duplicate its output when writing from multiple threads at the same time. Library ------- - Issue #6509: fix re.sub to work properly when the pattern, the string, and the replacement were all bytes. Patch by Antoine Pitrou. - Issue #1054943: Fix unicodedata.normalize('NFC', text) for the Public Review Issue #29 - Issue #7494: fix a crash in _lsprof (cProfile) after clearing the profiler, reset also the pointer to the current pointer context. - Issue #7250: Fix info leak of os.environ across multi-run uses of wsgiref.handlers.CGIHandler. - Issue #1729305: Fix doctest to handle encode error with "backslashreplace". - Issue #691291: codecs.open() should not convert end of lines on reading and writing. - Issue #7959: ctypes callback functions are now registered correctly with the cycle garbage collector. - Issue #6666: fix bug in trace.py that applied the list of directories to be ignored only to the first file. Noted by Bogdan Opanchuk. - Issue #7597: curses.use_env() can now be called before initscr(). Noted by Kan-Ru Chen. - Issue #7310: fix the __repr__ of os.environ to show the environment variables. - Issue #7970: email.Generator.flatten now correctly flattens message/rfc822 messages parsed by email.Parser.HeaderParser. - Issue #7361: Importlib was not handling bytecode files less than 8 bytes in length properly. - Issue #7835: shelve should no longer produce mysterious warnings during interpreter shutdown. - Issue #6233: ElementTree failed converting unicode characters to XML entities when they could't be represented in the requested output encoding. Patch by Jerry Chen. - Issue #4772: Raise a ValueError when an unknown Bluetooth protocol is specified, rather than fall through to AF_PACKET (in the `socket` module). Also, raise ValueError rather than TypeError when an unknown TIPC address type is specified. Patch by Brian Curtin. - Issue #6939: Fix file I/O objects in the `io` module to keep the original file position when calling `truncate()`. It would previously change the file position to the given argument, which goes against the tradition of ftruncate() and other truncation APIs. Patch by Pascal Chambon. - Issue #7792: Registering non-classes to ABCs raised an obscure error. - Issue #7785: Don't accept bytes in FileIO.write(). - Issue #7773: Fix an UnboundLocalError in platform.linux_distribution() when the release file is empty. - Issue #7561: Fix crashes when using bytearray objects with the posix module. - Issue #1670765: Prevent email.generator.Generator from re-wrapping headers in multipart/signed MIME parts, which fixes one of the sources of invalid modifications to such parts by Generator. - Issue #7701: Fix crash in binascii.b2a_uu() in debug mode when given a 1-byte argument. Patch by Victor Stinner. - Issue #3299: Fix possible crash in the _sre module when given bad argument values in debug mode. Patch by Victor Stinner. - Issue #7681: Use floor division in appropiate places in the wave module. - Issue #5372: Drop the reuse of .o files in Distutils' ccompiler (since Extension extra options may change the output without changing the .c file). Initial patch by Collin Winter. - Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes gcc when it has a fully qualified configuration prefix. Initial patch by Arfrever. - Issue #7105: Make WeakKeyDictionary and WeakValueDictionary robust against the destruction of weakref'ed objects while iterating. - Issue #7455: Fix possible crash in cPickle on invalid input. Patch by Victor Stinner. - Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when opening an empty or very small file. - Issue #7556: Make sure Distutils' msvc9compile reads and writes the MSVC XML Manifest file in text mode so string patterns can be used in regular expressions. - Issue #7552: Removed line feed in the base64 Authorization header in the Distutils upload command to avoid an error when PyPI reads it. This occurs on long passwords. Initial patch by JP St. Pierre. - Issue #7231: urllib2 cannot handle https with proxy requiring auth. Patch by Tatsuhiro Tsujikawa. - Issue #4757: `zlib.compress` and other methods in the zlib module now raise a TypeError when given an `str` object (rather than a `bytes`-like object). Patch by Victor Stinner and Florent Xicluna. - Issue #7349: Make methods of file objects in the io module accept None as an argument where file-like objects (ie StringIO and BytesIO) accept them to mean the same as passing no argument. - Issue #5949: added check for correct lineends in input from IMAP server in imaplib. - Fix variations of extending deques: d.extend(d) d.extendleft(d) d+=d - Issue #6986: Fix crash in the JSON C accelerator when called with the wrong parameter types. Patch by Victor Stinner. - Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is generated in Distutils. Patch by Stephen Emslie. - Issue #4120: Drop reference to CRT from manifest when building extensions with msvc9compiler. - Issue #7410: deepcopy of itertools.count was resetting the count. - Issue #4486: When an exception has an explicit cause, do not print its implicit context too. This affects the `traceback` module as well as built-in exception printing. - Issue #1488943: difflib.Differ() doesn't always add hints for tab characters - Issue #7354: distutils.tests.test_msvc9compiler - dragfullwindows can be 2. - Issue #3976: pprint for sets, frozensets, and dicts now succeed when they contain unorderable types. - Issue #5037: Proxy the __bytes__ special method instead to __bytes__ instead of __str__. - Issue #7341: Close the internal file object in the TarFile constructor in case of an error. - Issue #7293: distutils.test_msvc9compiler is fixed to work on any fresh Windows box. Help provided by David Bolen. - Issue #7328: pydoc no longer corrupts sys.path when run with the '-m' switch - Issue #7318: multiprocessing now uses a timeout when it fails to establish a connection with another process, rather than looping endlessly. The default timeout is 20 seconds, which should be amply sufficient for local connections. - Issue #7282: Fix a memory leak when an RLock was used in a thread other than those started through `threading.Thread` (for example, using `_thread.start_new_thread()`). - Issue #7187: Importlib would not silence the IOError raised when trying to write new bytecode when it was made read-only. - Issue #7264: Fix a possible deadlock when deallocating thread-local objects which are part of a reference cycle. - Issue #6896: mailbox.Maildir now invalidates its internal cache each time a modification is done through it. This fixes inconsistencies and test failures on systems with slightly bogus mtime behaviour. - Issue #6665: Fix fnmatch to properly match filenames with newlines in them. - Issue #7246 & Issue #7208: getpass now properly flushes input before reading from stdin so that existing input does not confuse it and lead to incorrect entry or an IOError. It also properly flushes it afterwards to avoid the terminal echoing the input afterwards on OSes such as Solaris. - Issue #7233: Fix a number of two-argument Decimal methods to make sure that they accept an int or long as the second argument. Also fix buggy handling of large arguments (those with coefficient longer than the current precision) in shift and rotate. - Issue #7205: Fix a possible deadlock when using a BZ2File object from several threads at once. - Issue #7071: byte-compilation in Distutils is now done with respect to sys.dont_write_bytecode. - Issue #7099: Decimal.is_normal now returns True for numbers with exponent larger than emax. - Issue #7080: locale.strxfrm() raises a MemoryError on 64-bit non-Windows platforms, and assorted locale fixes by Derk Drukker. - Issue #5833: Fix extra space character in readline completion with the GNU readline library version 6.0. - Issue #6894: Fixed the issue urllib2 doesn't respect "no_proxy" environment - Issue #7082: When falling back to the MIME 'name' parameter, the correct place to look for it is the Content-Type header. - Make tokenize.detect_coding() normalize utf-8 and iso-8859-1 variants like the builtin tokenizer. - Issue #7048: Force Decimal.logb to round its result when that result is too large to fit in the current precision. - Issue #6236, #6348: Fix various failures in the I/O library under AIX and other platforms, when using a non-gcc compiler. Patch by Derk Drukker. - Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils. - Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...) does now always result in NULL. - Issue #5042: Structure sub-subclass does now initialize correctly with base class positional arguments. - Issue #6882: Import uuid creates zombies processes. - Issue #6635: Fix profiler printing usage message. - Issue #6888: pdb's alias command was broken when no arguments were given. - Issue #6795: int(Decimal('nan')) now raises ValueError instead of returning NaN or raising InvalidContext. Also, fix infinite recursion in long(Decimal('nan')). - Issue #6850: Fix bug in Decimal._parse_format_specifier for formats with no type specifier. - Issue #6239: ctypes.c_char_p return value must return bytes. - Issue #6838: Use a list to accumulate the value instead of repeatedly concatenating strings in http.client's HTTPResponse._read_chunked providing a significant speed increase when downloading large files servend with a Transfer-Encoding of 'chunked'. - Have importlib raise ImportError if None is found in sys.modules for a module. - Issue #6794: Fix Decimal.compare_total and Decimal.compare_total_mag: NaN payloads are now ordered by integer value rather than lexicographically. - Issue #6163: Fixed HP-UX runtime library dir options in distutils.unixcompiler. Initial patch by Sridhar Ratnakumar and Michael Haubenwallner. - Issue #7066: archive_util.make_archive now restores the cwd if an error is raised. Initial patch by Ezio Melotti. - Issue #7481: When a threading.Thread failed to start it would leave the instance stuck in initial state and present in threading.enumerate(). - Issue #1068268: The subprocess module now handles EINTR in internal os.waitpid and os.read system calls where appropriate. Extension Modules ----------------- - Issue #7670: sqlite3: Fixed crashes when operating on closed connections. - Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as msvcr100.dll is not a platform assembly anymore. - Issue #7078: Set struct.__doc__ from _struct.__doc__. - Issue #6848: Fix curses module build failure on OS X 10.6. - Expat: Fix DoS via XML document with malformed UTF-8 sequences (CVE_2009_3560). - Issue #7999: os.setreuid() and os.setregid() would refuse to accept a -1 parameter on some platforms such as OS X. Tests ----- - Issue #7924: Fix an intermittent 'XXX undetected error' failure in test_capi (only seen so far on platforms where the curses module wasn't built), due to an uncleared exception. - issue #7728: test_timeout was changed to use test_support.bind_port instead of a hard coded port. - Issue #7376: instead of running a self-test (which was failing) when called with no arguments, doctest.py now gives a usage message. - Issue #7498: test_multiprocessing now uses test.support.find_unused_port instead of a hardcoded port number in test_rapid_restart. - Issue #7431: use TESTFN in test_linecache instead of trying to create a file in the Lib/test directory, which might be read-only for the user running the tests. - Issue #7324: add a sanity check to regrtest argument parsing to catch the case of an option with no handler. - Issue #6551: test_zipimport could import and then destroy some modules of the encodings package, which would make other tests fail further down the road because the internally cached encoders and decoders would point to empty global variables. - Issue #7295: Do not use a hardcoded file name in test_tarfile. - Issue #7270: Add some dedicated unit tests for multi-thread synchronization primitives such as Lock, RLock, Condition, Event and Semaphore. - Issue #7248 (part 2): Use a unique temporary directory for importlib source tests instead of tempfile.tempdir. This prevents the tests from sharing state between concurrent executions on the same system. - Issue #7248: In importlib.test.source.util a try/finally block did not make sure that some referenced objects actually were created in the block before calling methods on the object. - Issue #7055: test___all__ now greedily detects all modules which have an __all__ attribute, rather than using a hardcoded and incomplete list. - Issue #7058: Added save/restore for argv and os.environ to runtest_inner in regrtest, with warnings if the called test modifies them. - Issue #7042: Fix test_signal (test_itimer_virtual) failure on OS X 10.6. C-API ----- - Make PyUnicode_CompareWithASCIIString return not equal if the Python string has '\0' at the end. - Issue #7414: 'C' code wasn't being skipped properly (for keyword arguments) in PyArg_ParseTupleAndKeywords. Build ----- - Issue #3920, #7903: Define _BSD_SOURCE on OpenBSD 4.4 through 4.9. - Issue #7632: When Py_USING_MEMORY_DEBUGGER is defined, disable the private memory allocation scheme in dtoa.c and use PyMem_Malloc and PyMem_Free instead. Also disable caching of powers of 5. - Switch to OpenSSL 0.9.8l on Windows. - Issue #6603: Change READ_TIMESTAMP macro in ceval.c so that it compiles correctly under gcc on x86-64. This fixes a reported problem with the --with-tsc build on x86-64. - Issue #6802: Fix build issues on MacOSX 10.6 - Issue #6801 : symmetric_difference_update also accepts |. Thanks to Carl Chenet. - Issue #7541: when using ``python-config`` with a framework install the compiler might use the wrong library. - Issue #6491: Allow --with-dbmliborder to specify that no dbms will be built. - Issue #7589: Only build the nis module when the correct header files are found. Documentation ------------- - Updating `Using Python` documentation to include description of CPython's -J and -X options. - Issue #6556: Fixed the Distutils configuration files location explanation for Windows. - Update python manual page (options -B, -O0, -s, environment variables PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE). What's New in Python 3.1.1? =========================== *Release date: 2009-08-13* Core and Builtins ----------------- - Issue #6707: dir() on an uninitialized module caused a crash. - Issue #6540: Fixed crash for bytearray.translate() with invalid parameters. - Issue #6573: set.union() stopped processing inputs if an instance of self occurred in the argument chain. - Issue #6070: On posix platforms import no longer copies the execute bit from the .py file to the .pyc file if it is set. - Issue #6428: Since Python 3.0, the __bool__ method must return a bool object, and not an int. Fix the corresponding error message, and the documentation. - Issue #6347: Include inttypes.h as well as stdint.h in pyport.h. This fixes a build failure on HP-UX: int32_t and uint32_t are defined in inttypes.h instead of stdint.h on that platform. - Issue #6373: Fixed a SystemError when encoding with the latin-1 codec and the 'surrogateescape' error handler, a string which contains unpaired surrogates. C-API ----- - Issue #6624: yArg_ParseTuple with "s" format when parsing argument with NUL: Bogus TypeError detail string. - Issue #6405: Remove duplicate type declarations in descrobject.h. - The code flags for old __future__ features are now available again. Library ------- - Issue #6106: telnetlib.Telnet.process_rawq doesn't handle default WILL/WONT DO/DONT correctly. - Issue #6126: Fixed pdb command-line usage. - Issue #6629: Fix a data corruption issue in the new I/O library, which could occur when writing to a BufferedRandom object (e.g. a file opened in "rb+" or "wb+" mode) after having buffered a certain amount of data for reading. This bug was not present in the pure Python implementation. - Issue #6622: Fix "local variable 'secret' referenced before assignment" bug in POP3.apop. - Issue #6637: defaultdict.copy() did not work when the default factory was left unspecified. Also, the eval/repr round-trip would fail when the default_factory was None. - Issue #2715: Remove remnants of Carbon.File from binhex module. - Issue #6595: The Decimal constructor now allows arbitrary Unicode decimal digits in input, as recommended by the standard. Previously it was restricted to accepting [0-9]. - Issues #5155, #5313, #5331: multiprocessing.Process._bootstrap was unconditionally calling "os.close(sys.stdin.fileno())" resulting in file descriptor errors - Issue #1424152: Fix for http.client, urllib.request to support SSL while working through proxy. Original patch by Christopher Li, changes made by Senthil Kumaran - importlib.abc.PyLoader did not inherit from importlib.abc.ResourceLoader like the documentation said it did even though the code in PyLoader relied on the abstract method required by ResourceLoader. - Issue #6431: Make Fraction type return NotImplemented when it doesn't know how to handle a comparison without loss of precision. Also add correct handling of infinities and nans for comparisons with float. - Issue #6415: Fixed warnings.warn segfault on bad formatted string. - Issue #6358: The exit status of a command started with os.popen() was reported differently than it did with python 2.x. - Issue #6323: The pdb debugger did not exit when running a script with a syntax error. - Issue #3392: The subprocess communicate() method no longer fails in select() when file descriptors are large; communicate() now uses poll() when possible. - Issue #6369: Fix an RLE decompression bug in the binhex module. - Issue #6344: Fixed a crash of mmap.read() when passed a negative argument. - Issue #4005: Fixed a crash of pydoc when there was a zip file present in sys.path. Extension Modules ----------------- - Fix a segfault in expat. - Issue #4509: array.array objects are no longer modified after an operation failing due to the resize restriction in-place when the object has exported buffers. Build ----- - Issue 4601: 'make install' did not set the appropriate permissions on directories. - Issue 5390: Add uninstall icon independent of whether file extensions are installed. Test ---- - Fix a test in importlib.test.source.test_abc_loader that was incorrectly testing when a .pyc file lacked an code object bytecode. What's New in Python 3.1? ========================= *Release date: 27-June-2009* Core and Builtins ----------------- - Issue #6334: Fix bug in range length calculation for ranges with large arguments. - Issue #6329: Fixed iteration for memoryview objects (it was being blocked because it wasn't recognized as a sequence). Library ------- - Issue #6314: logging.basicConfig() performs extra checks on the "level" argument. - Issue #6274: Fixed possible file descriptors leak in subprocess.py - Accessing io.StringIO.buffer now raises an AttributeError instead of io.UnsupportedOperation. - Issue #6271: mmap tried to close invalid file handle (-1) when anonymous. (On Unix) - Issue #1202: zipfile module would cause a struct.error when attempting to store files with a CRC32 > 2**31-1. Extension Modules ----------------- - Issue #5590: Remove unused global variable in pyexpat extension. What's New in Python 3.1 Release Candidate 2? ============================================= *Release date: 13-June-2009* Core and Builtins ----------------- - Fixed SystemError triggered by "range([], 1, -1)". - Issue #5924: On Windows, a large PYTHONPATH environment variable (more than 255 characters) would be completely ignored. - Issue #4547: When debugging a very large function, it was not always possible to update the lineno attribute of the current frame. - Issue #5330: C functions called with keyword arguments were not reported by the various profiling modules (profile, cProfile). Patch by Hagen Fürstenau. Library ------- - Issue #6438: Fixed distutils.cygwinccompiler.get_versions : the regular expression string pattern was trying to match against a bytes returned by Popen. Tested under win32 to build the py-postgresql project. - Issue #6258: Support AMD64 in bdist_msi. - Issue #6195: fixed doctest to no longer try to read 'source' data from binary files. - Issue #5262: Fixed bug in next rollover time computation in TimedRotatingFileHandler. - Issue #6217: The C implementation of io.TextIOWrapper didn't include the errors property. Additionally, the errors and encoding properties of StringIO are always None now. - Issue #6137: The pickle module now translates module names when loading or dumping pickles with a 2.x-compatible protocol, in order to make data sharing and migration easier. This behaviour can be disabled using the new `fix_imports` optional argument. - Removed the ipaddr module. - Issue #3613: base64.{encode,decode}string are now called base64.{encode,decode}bytes which reflects what type they accept and return. The old names are still there as deprecated aliases. - Issue #5767: Remove sgmlop support from xmlrpc.client. - Issue #6150: Fix test_unicode on wide-unicode builds. - Issue #6149: Fix initialization of WeakValueDictionary objects from non-empty parameters. Windows ------- - Issue #6221: Delete test registry key before running the test. - Issue #6158: Package Sine-1000Hz-300ms.aif in MSI file. C-API ----- - Issue #5735: Python compiled with --with-pydebug should throw an ImportError when trying to import modules compiled without --with-pydebug, and vice-versa. Build ----- - Issue #6154: Make sure the intl library is added to LIBS if needed. Also added LIBS to OS X framework builds. - Issue #5809: Specifying both --enable-framework and --enable-shared is an error. Configure now explicity tells you about this. What's New in Python 3.1 release candidate 1? ============================================= *Release date: 2009-05-30* Core and Builtins ----------------- - Issue #6097: Escape UTF-8 surrogates resulting from mbstocs conversion of the command line. - Issue #6012: Add cleanup support to O& argument parsing. - Issue #6089: Fixed str.format with certain invalid field specifiers that would raise SystemError. - Issue #5982: staticmethod and classmethod now expose the wrapped function with __func__. - Added support for multiple context managers in the same with-statement. Deprecated contextlib.nested() which is no longer needed. - Issue #5829: complex("1e500") no longer raises OverflowError. This makes it consistent with float("1e500") and interpretation of real and imaginary literals. - Issue #3527: Removed Py_WIN_WIDE_FILENAMES which is not used any more. - Issue #5994: the marshal module now has docstrings. - Issue #5981: Fix three minor inf/nan issues in float.fromhex: (1) inf and nan strings with trailing whitespace were incorrectly rejected; (2) parsing of strings representing infinities and nans was locale aware; and (3) the interpretation of fromhex('-nan') didn't match that of float('-nan'). Library ------- - Issue #4859: Implement PEP 383 for pwd, spwd, and grp. - smtplib 'login' and 'cram-md5' login are also fixed (see Issue #5259). - Issue #6121: pydoc now ignores leading and trailing spaces in the argument to the 'help' function. - Issue #6118: urllib.parse.quote_plus ignored the encoding and errors arguments for strings with a space in them. - collections.namedtuple() was not working with the following field names: cls, self, tuple, itemgetter, and property. - In unittest, using a skipping decorator on a class is now equivalent to skipping every test on the class. The ClassTestSuite class has been removed. - Issue #6050: Don't fail extracting a directory from a zipfile if the directory already exists. - Issue #1309352: fcntl now converts its third arguments to a C `long` rather than an int, which makes some operations possible under 64-bit Linux (e.g. DN_MULTISHOT with F_NOTIFY). - Issue #5761: Add the name of the underlying file to the repr() of various IO objects. - Issue #5259: smtplib plain auth login no longer gives a traceback. Fix by Musashi Tamura, tests by Marcin Bachry. - Issue #1983: Fix functions taking or returning a process identifier to use the dedicated C type ``pid_t`` instead of a C ``int``. Some platforms have a process identifier type wider than the standard C integer type. - Issue #4066: smtplib.SMTP_SSL._get_socket now correctly returns the socket. Patch by Farhan Ahmad, test by Marcin Bachry. - Issue #2116: Weak references and weak dictionaries now support copy()ing and deepcopy()ing. - Issue #1655: Make imaplib IPv6-capable. Patch by Derek Morr. - Issue #5918: Fix a crash in the parser module. - Issue #1664: Make nntplib IPv6-capable. Patch by Derek Morr. - Issue #5006: Better handling of unicode byte-order marks (BOM) in the io library. This means, for example, that opening an UTF-16 text file in append mode doesn't add a BOM at the end of the file if the file isn't empty. - Issue #4050: inspect.findsource/getsource now raise an IOError if the 'source' file is a binary. Patch by Brodie Rao, tests by Daniel Diniz. This fix corrects a pydoc regression. - Issue 5955: aifc's close method did not close the file it wrapped, now it does. This also means getfp method now returns the real fp. Installation ------------ - Issue #6047: fullinstall has been removed because Python 3's executable will now be known as python3. - Lib/smtpd.py is no longer installed as a script. Extension Modules ----------------- - Issue #3061: Use wcsftime for time.strftime where available. - Issue #4873: Fix resource leaks in error cases of pwd and grp. - Issue #6093: Fix off-by-one error in locale.strxfrm. - The _functools and _locale modules are now built into the libpython shared library instead of as extension modules. Build ----- - Issue #3585: Add pkg-config support. It creates a python-2.7.pc file and a python3.pc symlink in the $(LIBDIR)/pkgconfig directory. Patch by Clinton Roy. Tests ----- - Issue 5442: Tests for importlib were not properly skipping case-sensitivity tests on darwin even when the OS was installed on a case-sensitive filesystem. Also fixed tests that should not be run when sys.dont_write_bytecode is true. What's New in Python 3.1 beta 1? ================================ *Release date: 2009-05-06* Core and Builtins ----------------- - Issue #5914: Add new C API function PyOS_string_to_double, and deprecate PyOS_ascii_strtod and PyOS_ascii_atof. - Issue #3382: float.__format__, complex.__format__, and %-formatting no longer map 'F' to 'f'. Because of issue #5859 (below), this only affects nan -> NAN and inf -> INF. - Issue #5799: ntpath (ie, os.path on Windows) fully supports UNC pathnames in all operations, including splitdrive, split, etc. splitunc() now issues a PendingDeprecation warning. - Issue #5920: For float.__format__, change the behavior with the empty presentation type (that is, not one of 'e', 'f', 'g', or 'n') to be like 'g' but with at least one decimal point and with a default precision of 12. Previously, the behavior the same but with a default precision of 6. This more closely matches str(), and reduces surprises when adding alignment flags to the empty presentation type. This also affects the new complex.__format__ in the same way. - Implement PEP 383, Non-decodable Bytes in System Character Interfaces. - Issue #5890: in subclasses of 'property' the __doc__ attribute was shadowed by classtype's, even if it was None. property now inserts the __doc__ into the subclass instance __dict__. - Issue #4426: The UTF-7 decoder was too strict and didn't accept some legal sequences. Patch by Nick Barnes and Victor Stinner. - Issue #3672: Reject surrogates in utf-8 codec; add surrogatepass error handler. - Issue #5883: In the io module, the BufferedIOBase and TextIOBase ABCs have received a new method, detach(). detach() disconnects the underlying stream from the buffer or text IO and returns it. - Issue #5859: Remove switch from '%f' to '%g'-style formatting for floats with absolute value over 1e50. Also remove length restrictions for float formatting: '%.67f' % 12.34 and '%.120e' % 12.34 no longer raise an exception. - Issue #1588: Add complex.__format__. For example, format(complex(1, 2./3), '.5') now produces a sensible result. - Issue #5864: Fix empty format code formatting for floats so that it never gives more than the requested number of significant digits. - Issue #5793: Rationalize isdigit / isalpha / tolower, etc. Includes new Py_ISDIGIT / Py_ISALPHA / Py_TOLOWER, etc. in pctypes.h. - Issue #5835: Deprecate PyOS_ascii_formatd. - Issue #4971: Fix titlecase for characters that are their own titlecase, but not their own uppercase. - Issue #5283: Setting __class__ in __del__ caused a segfault. - Issue #5816: complex(repr(z)) now recovers z exactly, even when z involves nans, infs or negative zeros. - Issue #3166: Make int -> float conversions correctly rounded. - Issue #1869 (and many duplicates): make round(x, n) correctly rounded for a float x, by using the decimal <-> binary conversions from Python/dtoa.c. As a consequence, (e.g.) round(x, 2) now consistently agrees with format(x, '.2f'). - Issue #5787: object.__getattribute__(some_type, "__bases__") segfaulted on some builtin types. - Issue #5772: format(1e100, '<') produces '1e+100', not '1.0e+100'. - Issue #5515: str.format() type 'n' combined with commas and leading zeros no longer gives odd results with ints and floats. - Implement PEP 378, Format Specifier for Thousands Separator, for floats. - The str function switches to exponential notation at 1e11, not 1e12. This avoids printing 13 significant digits in situations where only 12 of them are correct. Example problem value: str(1e11 + 0.5). (This minor issue has existed in 2.x for a long time.) - Issue #1580: On most platforms, use a 'short' float repr: for a finite float x, repr(x) now outputs a string based on the shortest sequence of decimal digits that rounds to x. Previous behaviour was to output 17 significant digits and then strip trailing zeros. Another minor difference is that the new repr switches to exponential notation at 1e16 instead of the previous 1e17; this avoids misleading output in some cases. There's a new sys attribute sys.float_repr_style, which takes the value 'short' to indicate that we're using short float repr, and 'legacy' if the short float repr isn't available for one reason or another. The float repr change involves incorporating David Gay's 'perfect rounding' code into the Python core (it's in Python/dtoa.c). As a secondary consequence, all string-to-float and float-to-string conversions (including all float formatting operations) will be correctly rounded on these platforms. See issue 1580 discussions for details of platforms for which this change does not apply. - Issue #5759: float() didn't call __float__ on str subclasses. - The string.maketrans() function is deprecated; there is a new static method maketrans() on the bytes and bytearray classes. This removes confusion about the types string.maketrans() is supposed to work with, and mirrors the methods available on the str class. - Issue #2170: refactored xml.dom.minidom.normalize, increasing both its clarity and its speed. - Issue #1113244: Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)' to avoid compiler warnings. - Issue #3739: The unicode-internal encoder now reports the number of characters |
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |