From: larryhastings Date: Mon, 4 Sep 2017 18:28:25 +0000 (-0700) Subject: Blurbify 2.7. (#3286) X-Git-Tag: v2.7.15rc1~233 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=05308c73d769b4e3fdbeee0de399e7f63b86f1ab;p=python Blurbify 2.7. (#3286) --- diff --git a/Misc/NEWS b/Misc/NEWS deleted file mode 100644 index 8489e8be7d..0000000000 --- a/Misc/NEWS +++ /dev/null @@ -1,12486 +0,0 @@ -+++++++++++ -Python News -+++++++++++ - -What's New in Python 2.7.14 release candidate 1? -================================================ - -*Release date: 2017-08-26* - -Core and Builtins ------------------ - -- bpo-30657: Fixed possible integer overflow in PyString_DecodeEscape. - Patch by Jay Bosamiya. - -- bpo-27945: Fixed various segfaults with dict when input collections are - mutated during searching, inserting or comparing. Based on patches by - Duane Griffin and Tim Mitchell. - -- bpo-25794: Fixed type.__setattr__() and type.__delattr__() for - non-interned or unicode attribute names. Based on patch by Eryk Sun. - -- bpo-29935: Fixed error messages in the index() method of tuple and list - when pass indices of wrong type. - -- bpo-28598: Support __rmod__ for subclasses of str being called before - str.__mod__. Patch by Martijn Pieters. - -- bpo-29602: Fix incorrect handling of signed zeros in complex constructor for - complex subclasses and for inputs having a __complex__ method. Patch - by Serhiy Storchaka. - -- bpo-29347: Fixed possibly dereferencing undefined pointers - when creating weakref objects. - -- Issue #14376: Allow sys.exit to accept longs as well as ints. Patch - by Gareth Rees. - -- Issue #29028: Fixed possible use-after-free bugs in the subscription of the - buffer object with custom index object. - -- Issue #29145: Fix overflow checks in string, bytearray and unicode. - Patch by jan matejek and Xiang Zhang. - -- Issue #28932: Do not include if it does not exist. - -Extension Modules ------------------ - -- Issue #29169: Update zlib to 1.2.11. - -Library -------- - -- bpo-30746: Prohibited the '=' character in environment variable names in - ``os.putenv()`` and ``os.spawn*()``. - -- [Security] bpo-30730: Prevent environment variables injection in subprocess on - Windows. Prevent passing other environment variables and command arguments. - -- [Security] bpo-30694: Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes - of multiple security vulnerabilities including: CVE-2017-9233 (External - entity infinite loop DoS), CVE-2016-9063 (Integer overflow, re-fix), - CVE-2016-0718 (Fix regression bugs from 2.2.0's fix to CVE-2016-0718) - and CVE-2012-0876 (Counter hash flooding with SipHash). - Note: the CVE-2016-5300 (Use os-specific entropy sources like getrandom) - doesn't impact Python, since Python already gets entropy from the OS to set - the expat secret using ``XML_SetHashSalt()``. - -- [Security] bpo-30500: Fix urllib.splithost() to correctly parse - fragments. For example, ``splithost('//127.0.0.1#@evil.com/')`` now - correctly returns the ``127.0.0.1`` host, instead of treating ``@evil.com`` - as the host in an authentification (``login@host``). - -- [Security] bpo-29591: Update expat copy from 2.1.1 to 2.2.0 to get fixes - of CVE-2016-0718 and CVE-2016-4472. See - https://sourceforge.net/p/expat/bugs/537/ for more information. - -- bpo-28994: The traceback no longer displayed for SystemExit raised in - a callback registered by atexit. - -- bpo-30418: On Windows, subprocess.Popen.communicate() now also ignore EINVAL - on stdin.write() if the child process is still running but closed the pipe. - -- bpo-30378: Fix the problem that logging.handlers.SysLogHandler cannot - handle IPv6 addresses. - -- bpo-29960: Preserve generator state when _random.Random.setstate() - raises an exception. Patch by Bryan Olson. - -- bpo-30310: tkFont now supports unicode options (e.g. font family). - -- bpo-30414: multiprocessing.Queue._feed background running - thread do not break from main loop on exception. - -- bpo-30003: Fix handling escape characters in HZ codec. Based on patch - by Ma Lin. - -- bpo-30375: Warnings emitted when compile a regular expression now always - point to the line in the user code. Previously they could point into inners - of the re module if emitted from inside of groups or conditionals. - -- bpo-30363: Running Python with the -3 option now warns about regular - expression syntax that is invalid or has different semantic in Python 3 - or will change the behavior in future Python versions. - -- bpo-30365: Running Python with the -3 option now emits deprecation warnings - for getchildren() and getiterator() methods of the Element class in the - xml.etree.cElementTree module and when pass the html argument to - xml.etree.ElementTree.XMLParser(). - -- bpo-30365: Fixed a deprecation warning about the doctype() method of the - xml.etree.ElementTree.XMLParser class. Now it is emitted only when define - the doctype() method in the subclass of XMLParser. - -- bpo-30329: imaplib now catchs the Windows socket WSAEINVAL error - (code 10022) on shutdown(SHUT_RDWR): An invalid operation was attempted. - This error occurs sometimes on SSL connections. - -- bpo-30342: Fix sysconfig.is_python_build() if Python is built with Visual - Studio 2008 (VS 9.0). - -- bpo-29990: Fix range checking in GB18030 decoder. Original patch by Ma Lin. - -- bpo-30243: Removed the __init__ methods of _json's scanner and encoder. - Misusing them could cause memory leaks or crashes. Now scanner and encoder - objects are completely initialized in the __new__ methods. - -- Revert bpo-26293 for zipfile breakage. See also bpo-29094. - -- bpo-30070: Fixed leaks and crashes in errors handling in the parser module. - -- bpo-30061: Fixed crashes in IOBase methods next() and readlines() when - readline() or next() respectively return non-sizeable object. - Fixed possible other errors caused by not checking results of PyObject_Size(), - PySequence_Size(), or PyMapping_Size(). - -- bpo-30011: Fixed race condition in HTMLParser.unescape(). - -- bpo-30068: _io._IOBase.readlines will check if it's closed first when - hint is present. - -- bpo-27863: Fixed multiple crashes in ElementTree caused by race conditions - and wrong types. - -- bpo-29942: Fix a crash in itertools.chain.from_iterable when encountering - long runs of empty iterables. - -- bpo-29861: Release references to tasks, their arguments and their results - as soon as they are finished in multiprocessing.Pool. - -- bpo-27880: Fixed integer overflow in cPickle when pickle large strings or - too many objects. - -- bpo-29110: Fix file object leak in aifc.open() when file is given as a - filesystem path and is not in valid AIFF format. - Original patch by Anthony Zhang. - -- Issue #29354: Fixed inspect.getargs() for parameters which are cell - variables. - -- Issue #29335: Fix subprocess.Popen.wait() when the child process has - exited to a stopped instead of terminated state (ex: when under ptrace). - -- Issue #29219: Fixed infinite recursion in the repr of uninitialized - ctypes.CDLL instances. - -- Issue #29082: Fixed loading libraries in ctypes by unicode names on Windows. - Original patch by Chi Hsuan Yen. - -- Issue #29188: Support glibc 2.24 on Linux: don't use getentropy() function - but read from /dev/urandom to get random bytes, for example in os.urandom(). - On Linux, getentropy() is implemented which getrandom() is blocking mode, - whereas os.urandom() should not block. - -- Issue #29142: In urllib, suffixes in no_proxy environment variable with - leading dots could match related hostnames again (e.g. .b.c matches a.b.c). - Patch by Milan Oberkirch. - -- Issue #13051: Fixed recursion errors in large or resized - curses.textpad.Textbox. Based on patch by Tycho Andersen. - -- Issue #9770: curses.ascii predicates now work correctly with negative - integers. - -- Issue #28427: old keys should not remove new values from - WeakValueDictionary when collecting from another thread. - -- Issue #28998: More APIs now support longs as well as ints. - -- Issue 28923: Remove editor artifacts from Tix.py, - including encoding not recognized by codecs.lookup. - -- Issue #29019: Fix dict.fromkeys(x) overallocates when x is sparce dict. - Original patch by Rasmus Villemoes. - -- Issue #19542: Fix bugs in WeakValueDictionary.setdefault() and - WeakValueDictionary.pop() when a GC collection happens in another - thread. - -- Issue #28925: cPickle now correctly propagates errors when unpickle instances - of old-style classes. - -Documentation -------------- - -- bpo-30176: Add missing attribute related constants in curses documentation. - -- bpo-28929: Link the documentation to its source file on GitHub. - -- Issue #26355: Add canonical header link on each page to corresponding major - version of the documentation. Patch by Matthias Bussonnier. - -- Issue #12067: Rewrite Comparisons section in the Expressions chapter of the - language reference. Some of the details of comparing mixed types were - incorrect or ambiguous. Added default behaviour and consistency suggestions - for user-defined classes. Based on patch from Andy Maier. - -Build ------ - - bpo-29243: Prevent unnecessary rebuilding of Python during ``make test``, - ``make install`` and some other make targets when configured with - ``--enable-optimizations``. - -- bpo-23404: Don't regenerate generated files based on file modification time - anymore: the action is now explicit. Replace ``make touch`` with - ``make regen-all``. - -- bpo-27593: sys.version and the platform module python_build(), - python_branch(), and python_revision() functions now use - git information rather than hg when building from a repo. - -- bpo-29643: Fix ``--enable-optimization`` configure option didn't work. - -- bpo-29572: Update Windows build and OS X installers to use OpenSSL 1.0.2k. - -- Issue #28768: Fix implicit declaration of function _setmode. Patch by - Masayuki Yamamoto - -Tests ------ - -- bpo-11790: Fix sporadic failures in - test_multiprocessing.WithProcessesTestCondition. - -- bpo-30236: Backported test.regrtest options -m/--match and -G/--failfast - from Python 3. - -- bpo-30223: To unify running tests in Python 2.7 and Python 3, the test - package can be run as a script. This is equivalent to running the - test.regrtest module as a script. - -- bpo-30207: To simplify backports from Python 3, the test.test_support - module was converted into a package and renamed to test.support. The - test.script_helper module was moved into the test.support package. - Names test.test_support and test.script_helper are left as aliases to - test.support and test.support.script_helper. - -- bpo-30197: Enhanced function swap_attr() in the test.test_support module. - It now works when delete replaced attribute inside the with statement. The - old value of the attribute (or None if it doesn't exist) now will be - assigned to the target of the "as" clause, if there is one. - Also backported function swap_item(). - -- bpo-28087: Skip test_asyncore and test_eintr poll failures on macOS. - Skip some tests of select.poll when running on macOS due to unresolved - issues with the underlying system poll function on some macOS versions. - -- bpo-15083: Convert ElementTree doctests to unittests. - - -What's New in Python 2.7.13 -=========================== - -*Release date: 2016-12-17* - -Core and Builtins ------------------ - -- Revert a37cc3d926ec (Issue #5322). - - -What's New in Python 2.7.13 release candidate 1? -================================================ - -*Release date: 2016-12-03* - -Core and Builtins ------------------ - -- Issue #5322: Fixed setting __new__ to a PyCFunction inside Python code. - Original patch by Andreas Stührk. - -- Issue #28847: dumbdbm no longer writes the index file in when it is not - changed and supports reading read-only files. - -- Issue #11145: Fixed miscellaneous issues with C-style formatting of types - with custom __oct__ and __hex__. - -- Issue #24469: Fixed memory leak caused by int subclasses without overridden - tp_free (e.g. C-inherited Cython classes). - -- Issue #19398: Extra slash no longer added to sys.path components in case of - empty compile-time PYTHONPATH components. - -- Issue #21720: Improve exception message when the type of fromlist is unicode. - fromlist parameter of __import__() only accepts str in Python 2 and this - will help to identify the problem especially when the unicode_literals - future import is used. - -- Issue #26906: Resolving special methods of uninitialized type now causes - implicit initialization of the type instead of a fail. - -- Issue #18287: PyType_Ready() now checks that tp_name is not NULL. - Original patch by Niklas Koep. - -- Issue #24098: Fixed possible crash when AST is changed in process of - compiling it. - -- Issue #28350: String constants with null character no longer interned. - -- Issue #27942: String constants now interned recursively in tuples and frozensets. - -- Issue #15578: Correctly incref the parent module while importing. - -- Issue #26307: The profile-opt build now applies PGO to the built-in modules. - -- Issue #26020: set literal evaluation order did not match documented behaviour. - -- Issue #27870: A left shift of zero by a large integer no longer attempts - to allocate large amounts of memory. - -- Issue #25604: Fix a minor bug in integer true division; this bug could - potentially have caused off-by-one-ulp results on platforms with - unreliable ldexp implementations. - -- Issue #27473: Fixed possible integer overflow in str, unicode and bytearray - concatenations and repetitions. Based on patch by Xiang Zhang. - -- Issue #27507: Add integer overflow check in bytearray.extend(). Patch by - Xiang Zhang. - -- Issue #27581: Don't rely on wrapping for overflow check in - PySequence_Tuple(). Patch by Xiang Zhang. - -- Issue #23908: os functions, open() and the io.FileIO constructor now reject - unicode paths with embedded null character on Windows instead of silently - truncating them. - -- Issue #27514: Make having too many statically nested blocks a SyntaxError - instead of SystemError. - -Library -------- - -- Issue #25659: In ctypes, prevent a crash calling the from_buffer() and - from_buffer_copy() methods on abstract classes like Array. - -- Issue #28563: Fixed possible DoS and arbitrary code execution when handle - plural form selections in the gettext module. The expression parser now - supports exact syntax supported by GNU gettext. - -- Issue #28387: Fixed possible crash in _io.TextIOWrapper deallocator when - the garbage collector is invoked in other thread. Based on patch by - Sebastian Cufre. - -- Issue #28449: tarfile.open() with mode "r" or "r:" now tries to open a tar - file with compression before trying to open it without compression. Otherwise - it had 50% chance failed with ignore_zeros=True. - -- Issue #25464: Fixed HList.header_exists() in Tix module by adding - a workaround to Tix library bug. - -- Issue #28488: shutil.make_archive() no longer adds entry "./" to ZIP archive. - -- Issue #28480: Fix error building _sqlite3 module when multithreading is - disabled. - -- Issue #24452: Make webbrowser support Chrome on Mac OS X. - -- Issue #26293: Fixed writing ZIP files that starts not from the start of the - file. Offsets in ZIP file now are relative to the start of the archive in - conforming to the specification. - -- Fix possible integer overflows and crashes in the mmap module with unusual - usage patterns. - -- Issue #27897: Fixed possible crash in sqlite3.Connection.create_collation() - if pass invalid string-like object as a name. Original patch by Xiang Zhang. - -- Issue #1703178: Fix the ability to pass the --link-objects option to the - distutils build_ext command. - -- Issue #28253: Fixed calendar functions for extreme months: 0001-01 - and 9999-12. - - Methods itermonthdays() and itermonthdays2() are reimplemented so - that they don't call itermonthdates() which can cause datetime.date - under/overflow. - -- Issue #27963: Fixed possible null pointer dereference in - ctypes.set_conversion_mode(). Patch by Xiang Zhang. - -- Issue #28284: Strengthen resistance of ``_json.encode_basestring_ascii()`` to - integer overflow. - -- Issue #27611: Fixed support of default root window in the Tix module. - -- Issue #24363: When parsing HTTP header fields, if an invalid line is - encountered, skip it and continue parsing. Previously, no more header - fields were parsed, which could lead to fields for HTTP framing like - Content-Length and Transfer-Encoding being overlooked. - -- Issue #27599: Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp(). - -- Issue #25969: Update the lib2to3 grammar to handle the unpacking - generalizations added in 3.5. - -- Issue #24594: Validates persist parameter when opening MSI database - -- Issue #27570: Avoid zero-length memcpy() etc calls with null source - pointers in the "ctypes" and "array" modules. - -- Issue #22450: urllib now includes an "Accept: */*" header among the - default headers. This makes the results of REST API requests more - consistent and predictable especially when proxy servers are involved. - -- lib2to3.pgen3.driver.load_grammar() now creates a stable cache file - between runs given the same Grammar.txt input regardless of the hash - randomization setting. - -- Issue #27691: Fix ssl module's parsing of GEN_RID subject alternative name - fields in X.509 certs. - -- Issue #27850: Remove 3DES from ssl module's default cipher list to counter - measure sweet32 attack (CVE-2016-2183). - -- Issue #27766: Add ChaCha20 Poly1305 to ssl module's default ciper list. - (Required OpenSSL 1.1.0 or LibreSSL). - -- Issue #26470: Port ssl and hashlib module to OpenSSL 1.1.0. - -- Issue #27944: Fix some memory-corruption bugs in the log reading code of the - _hotshot module. - -- Issue #27934: Use ``float.__repr__`` instead of plain ``repr`` when JSON- - encoding an instance of a float subclass. Thanks Eddie James. - -- Issue #27861: Fixed a crash in sqlite3.Connection.cursor() when a factory - creates not a cursor. Patch by Xiang Zhang. - -- Issue #19884: Avoid spurious output on OS X with Gnu Readline. - -- Issue #10513: Fix a regression in Connection.commit(). Statements should - not be reset after a commit. - -- Issue #2466: posixpath.ismount now correctly recognizes mount points which - the user does not have permission to access. - -- Issue #27783: Fix possible usage of uninitialized memory in operator.methodcaller. - -- Issue #27774: Fix possible Py_DECREF on unowned object in _sre. - -- Issue #27760: Fix possible integer overflow in binascii.b2a_qp. - -- In the curses module, raise an error if window.getstr() or window.instr() is - passed a negative value. - -- Issue #27758: Fix possible integer overflow in the _csv module for large record - lengths. - -- Issue #23369: Fixed possible integer overflow in - _json.encode_basestring_ascii. - -- Issue #27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the - HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates - that the script is in CGI mode. - -- Issue #27130: In the "zlib" module, fix handling of large buffers - (typically 2 or 4 GiB). Previously, inputs were limited to 2 GiB, and - compression and decompression operations did not properly handle results of - 2 or 4 GiB. - -- Issue #23804: Fix SSL zero-length recv() calls to not block and not raise - an error about unclean EOF. - -- Issue #27466: Change time format returned by http.cookie.time2netscape, - confirming the netscape cookie format and making it consistent with - documentation. - -- Issue #22115: Fixed tracing Tkinter variables: trace_vdelete() with wrong - mode no longer break tracing, trace_vinfo() now always returns a list of - pairs of strings. - -- Issue #27079: Fixed curses.ascii functions isblank(), iscntrl() and ispunct(). - -- Issue #22636: Avoid shell injection problems with - ctypes.util.find_library(). - -- Issue #27330: Fixed possible leaks in the ctypes module. - -- Issue #27238: Got rid of bare excepts in the turtle module. Original patch - by Jelle Zijlstra. - -- Issue #26386: Fixed ttk.TreeView selection operations with item id's - containing spaces. - -- Issue #25455: Fixed a crash in repr of cElementTree.Element with recursive tag. - -- Issue #21201: Improves readability of multiprocessing error message. Thanks - to Wojciech Walczak for patch. - -IDLE ----- - -- Issue #27854: Make Help => IDLE Help work again on Windows. - Include idlelib/help.html in 2.7 Windows installer. - -- Issue #25507: Add back import needed for 2.x encoding warning box. - Add pointer to 'Encoding declaration' in Language Reference. - -- Issue #15308: Add 'interrupt execution' (^C) to Shell menu. - Patch by Roger Serwy, updated by Bayard Randel. - -- Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen. - -- Issue #17642: add larger font sizes for classroom projection. - -- Add version to title of IDLE help window. - -- Issue #25564: In section on IDLE -- console differences, mention that - using exec means that __builtins__ is defined for each statement. - -- Issue #27714: text_textview and test_autocomplete now pass when re-run - in the same process. This occurs when test_idle fails when run with the - -w option but without -jn. Fix warning from test_config. - -- Issue #27452: add line counter and crc to IDLE configHandler test dump. - -- Issue #27365: Allow non-ascii chars in IDLE NEWS.txt, for contributor names. - -- Issue #27245: IDLE: Cleanly delete custom themes and key bindings. - Previously, when IDLE was started from a console or by import, a cascade - of warnings was emitted. Patch by Serhiy Storchaka. - -Documentation -------------- - -- Issue #28513: Documented command-line interface of zipfile. - -- Issue #16484: Change the default PYTHONDOCS URL to "https:", and fix the - resulting links to use lowercase. Patch by Sean Rodman, test by Kaushik - Nadikuditi. - -Tests ------ - -- Issue #28666: Now test.test_support.rmtree is able to remove unwritable or - unreadable directories. - -- Issue #23839: Various caches now are cleared before running every test file. - -- Issue #27369: In test_pyexpat, avoid testing an error message detail that - changed in Expat 2.2.0. - -Build ------ - -- Issue #10656: Fix out-of-tree building on AIX. Patch by Tristan Carel and - Michael Haubenwallner. - -- Issue #26359: Rename --with-optimiations to --enable-optimizations. - -- Issue #28248: Update Windows build and OS X installers to use OpenSSL 1.0.2j. - -- Issue #28258: Fixed build with Estonian locale (distclean target in - Makefile). Patch by Arfrever Frehtes Taifersar Arahesis. - -- Issue #26661: setup.py now detects system libffi with multiarch wrapper. - -- Issue #15819: The Include directory in the build tree is already searched; - drop unused code trying to add it again. - -- Issue #27566: Fix clean target in freeze makefile (patch by Lisa Roach) - -- Issue #27983: Cause lack of llvm-profdata tool when using clang as - required for PGO linking to be a configure time error rather than - make time when --with-optimizations is enabled. Also improve our - ability to find the llvm-profdata tool on MacOS and some Linuxes. - -- Issue #26359: Add the --with-optimizations configure flag. - -- Issue #10910: Avoid C++ compilation errors on FreeBSD and OS X. - Also update FreedBSD version checks for the original ctype UTF-8 workaround. - -- Issue #27806: Fix 32-bit builds on macOS Sierra 10.12 broken by removal of - deprecated QuickTime/QuickTime.h header file. Patch by Aleks Bunin. - -- Issue #28676: Prevent missing 'getentropy' declaration warning on macOS. - Initial patch by Gareth Rees. - -Tools/Demos ------------ - -- Issue #27952: Get Tools/scripts/fixcid.py working with the current "re" - module, avoid invalid Python backslash escapes, and fix a bug parsing - escaped C quote signs. - -Windows -------- - -- Issue #27932: Prevent memory leak in win32_ver(). - -- Issue #27888: Prevent Windows installer from displaying console windows and - failing when pip cannot be installed/uninstalled. - -Mac OS X --------- - -- Issue #28440: No longer add /Library/Python/site-packages, the Apple-supplied - system Python site-packages directory, to sys.path for macOS framework builds. - The coupling between the two Python instances often caused confusion and, as - of macOS 10.12, changes to the site-packages layout can cause pip component - installations to fail. This change reverts the effects introduced in 2.7.0 - by Issue #4865. If you are using a package with both the Apple system Python - 2.7 and a user-installed Python 2.7, you will need to ensure that copies of - the package are installed with both Python instances. - - -What's New in Python 2.7.12? -============================ - -*Release date: 2016-06-25* - -Build ------ - -- Issue #27641: The configure script now inserts comments into the makefile - to prevent the pgen executable from being cross-compiled. - -- Issue #26930: Update Windows builds to use OpenSSL 1.0.2h. - -IDLE ----- - -- Issue #27365: Fix about dialog. - - -What's New in Python 2.7.12 release candidate 1? -================================================ - -*Release date: 2016-06-12* - -Core and Builtins ------------------ - -- Issue #20041: Fixed TypeError when frame.f_trace is set to None. - Patch by Xavier de Gaye. - -- Issue #25702: A --with-lto configure option has been added that will - enable link time optimizations at build time during a make profile-opt. - Some compilers and toolchains are known to not produce stable code when - using LTO, be sure to test things thoroughly before relying on it. - It can provide a few % speed up over profile-opt alone. - -- Issue #26168: Fixed possible refleaks in failing Py_BuildValue() with the "N" - format unit. - -- Issue #27039: Fixed bytearray.remove() for values greater than 127. Patch by - Joe Jevnik. - -- Issue #4806: Avoid masking the original TypeError exception when using star - (*) unpacking and the exception was raised from a generator. Based on - patch by Hagen Fürstenau. - -- Issue #26659: Make the builtin slice type support cycle collection. - -- Issue #26718: super.__init__ no longer leaks memory if called multiple times. - NOTE: A direct call of super.__init__ is not endorsed! - -- Issue #13410: Fixed a bug in PyUnicode_Format where it failed to properly - ignore errors from a __int__() method. - -- Issue #26494: Fixed crash on iterating exhausting iterators. - Affected classes are generic sequence iterators, iterators of bytearray, - list, tuple, set, frozenset, dict, OrderedDict and corresponding views. - -- Issue #26581: If coding cookie is specified multiple times on a line in - Python source code file, only the first one is taken to account. - -- Issue #22836: Ensure exception reports from PyErr_Display() and - PyErr_WriteUnraisable() are sensible even when formatting them produces - secondary errors. This affects the reports produced by - sys.__excepthook__() and when __del__() raises an exception. - -- Issue #22847: Improve method cache efficiency. - -- Issue #25843: When compiling code, don't merge constants if they are equal - but have a different types. For example, ``f1, f2 = lambda: 1, lambda: 1.0`` - is now correctly compiled to two different functions: ``f1()`` returns ``1`` - (``int``) and ``f2()`` returns ``1.0`` (``int``), even if ``1`` and ``1.0`` - are equal. - -- Issue #22995: [UPDATE] Remove the one of the pickleability tests in - _PyObject_GetState() due to regressions observed in Cython-based projects. - -- Issue #25961: Disallowed null characters in the type name. - -- Issue #22995: Instances of extension types with a state that aren't - subclasses of list or dict and haven't implemented any pickle-related - methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__, - or __getstate__), can no longer be pickled. Including memoryview. - -- Issue #20440: Massive replacing unsafe attribute setting code with special - macro Py_SETREF. - -- Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size. - This allows sys.getsize() to work correctly with their subclasses with - __slots__ defined. - -- Issue #19543: Added Py3k warning for decoding unicode. - -- Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside - __getattr__. - -- Issue #24731: Fixed crash on converting objects with special methods - __str__, __trunc__, and __float__ returning instances of subclasses of - str, long, and float to subclasses of str, long, and float correspondingly. - -- Issue #26478: Fix semantic bugs when using binary operators with dictionary - views and tuples. - -- Issue #26171: Fix possible integer overflow and heap corruption in - zipimporter.get_data(). - -Library -------- - -- Issue #26556: Update expat to 2.1.1, fixes CVE-2015-1283. - -- Fix TLS stripping vulnerability in smptlib, CVE-2016-0772. Reported by Team - Oststrom - -- Issue #7356: ctypes.util: Make parsing of ldconfig output independent of the - locale. - -- Issue #25738: Stop BaseHTTPServer.BaseHTTPRequestHandler.send_error() from - sending a message body for 205 Reset Content. Also, don't send the - Content-Type header field in responses that don't have a body. Based on - patch by Susumu Koshiba. - -- Issue #21313: Fix the "platform" module to tolerate when sys.version - contains truncated build information. - -- Issue #27211: Fix possible memory corruption in io.IOBase.readline(). - -- Issue #27114: Fix SSLContext._load_windows_store_certs fails with - PermissionError - -- Issue #14132: Fix urllib.request redirect handling when the target only has - a query string. Fix by Ján Janech. - -- Removed the requirements for the ctypes and modulefinder modules to be - compatible with earlier Python versions. - -- Issue #22274: In the subprocess module, allow stderr to be redirected to - stdout even when stdout is not redirected. Patch by Akira Li. - -- Issue #12045: Avoid duplicate execution of command in ctypes.util._get_soname(). - Patch by Sijin Joseph. - -- Issue #26960: Backported #16270 from Python 3 to Python 2, to prevent urllib - from hanging when retrieving certain FTP files. - -- Issue #25745: Fixed leaking a userptr in curses panel destructor. - -- Issue #17765: weakref.ref() no longer silently ignores keyword arguments. - Patch by Georg Brandl. - -- Issue #26873: xmlrpclib now raises ResponseError on unsupported type tags - instead of silently return incorrect result. - -- Issue #24114: Fix an uninitialized variable in `ctypes.util`. - - The bug only occurs on SunOS when the ctypes implementation searches - for the `crle` program. Patch by Xiang Zhang. Tested on SunOS by - Kees Bos. - -- Issue #26864: In urllib, change the proxy bypass host checking against - no_proxy to be case-insensitive, and to not match unrelated host names that - happen to have a bypassed hostname as a suffix. Patch by Xiang Zhang. - -- Issue #26804: urllib will prefer lower_case proxy environment variables over - UPPER_CASE or Mixed_Case ones. Patch contributed by Hans-Peter Jansen. - -- Issue #26837: assertSequenceEqual() now correctly outputs non-stringified - differing items. This affects assertListEqual() and assertTupleEqual(). - -- Issue #26822: itemgetter, attrgetter and methodcaller objects no longer - silently ignore keyword arguments. - -- Issue #26657: Fix directory traversal vulnerability with SimpleHTTPServer - on Windows. This fixes a regression that was introduced in 2.7.7. Based - on patch by Philipp Hagemeister. - -- Issue #19377: Add .svg to mimetypes.types_map. - -- Issue #13952: Add .csv to mimetypes.types_map. Patch by Geoff Wilson. - -- Issue #16329: Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola'. - -- Issue #23735: Handle terminal resizing with Readline 6.3+ by installing our - own SIGWINCH handler. Patch by Eric Price. - -- Issue #26644: Raise ValueError rather than SystemError when a negative - length is passed to SSLSocket.recv() or read(). - -- Issue #23804: Fix SSL recv(0) and read(0) methods to return zero bytes - instead of up to 1024. - -- Issue #24266: Ctrl+C during Readline history search now cancels the search - mode when compiled with Readline 7. - -- Issue #23857: Implement PEP 493, adding a Python-2-only ssl module API and - environment variable to configure the default handling of SSL/TLS certificates - for HTTPS connections. - -- Issue #26313: ssl.py _load_windows_store_certs fails if windows cert store - is empty. Patch by Baji. - -- Issue #26513: Fixes platform module detection of Windows Server - -- Issue #23718: Fixed parsing time in week 0 before Jan 1. Original patch by - Tamás Bence Gedai. - -- Issue #26177: Fixed the keys() method for Canvas and Scrollbar widgets. - -- Issue #15068: Got rid of excessive buffering in the fileinput module. - The bufsize parameter is no longer used. - -- Issue #2202: Fix UnboundLocalError in - AbstractDigestAuthHandler.get_algorithm_impls. Initial patch by Mathieu Dupuy. - -- Issue #26475: Fixed debugging output for regular expressions with the (?x) - flag. - -- Issue #26385: Remove the file if the internal fdopen() call in - NamedTemporaryFile() fails. Based on patch by Silent Ghost. - -- Issue #26309: In the "SocketServer" module, shut down the request (closing - the connected socket) when verify_request() returns false. Based on patch - by Aviv Palivoda. - -- Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates. - -- Issue #24303: Fix random EEXIST upon multiprocessing semaphores creation with - Linux PID namespaces enabled. - -- Issue #25698: Importing module if the stack is too deep no longer replaces - imported module with the empty one. - -- Issue #12923: Reset FancyURLopener's redirect counter even if there is an - exception. Based on patches by Brian Brazil and Daniel Rocco. - -- Issue #25945: Fixed a crash when unpickle the functools.partial object with - wrong state. Fixed a leak in failed functools.partial constructor. - "args" and "keywords" attributes of functools.partial have now always types - tuple and dict correspondingly. - -- Issue #19883: Fixed possible integer overflows in zipimport. - -- Issue #26147: xmlrpclib now works with unicode not encodable with used - non-UTF-8 encoding. - -- Issue #16620: Fixed AttributeError in msilib.Directory.glob(). - -- Issue #21847: Fixed xmlrpclib on Unicode-disabled builds. - -- Issue #6500: Fixed infinite recursion in urllib2.Request.__getattr__(). - -- Issue #26083: Workaround a subprocess bug that raises an incorrect - "ValueError: insecure string pickle" exception instead of the actual - exception on some platforms such as Mac OS X when an exception raised - in the forked child process prior to the exec() was large enough that - it overflowed the internal errpipe_read pipe buffer. - -- Issue #24103: Fixed possible use after free in ElementTree.iterparse(). - -- Issue #20954: _args_from_interpreter_flags used by multiprocessing and some - tests no longer behaves incorrectly in the presence of the PYTHONHASHSEED - environment variable. - -- Issue #14285: When executing a package with the "python -m package" option, - and package initialization raises ImportError, a proper traceback is now - reported. - -- Issue #6478: _strptime's regexp cache now is reset after changing timezone - with time.tzset(). - -- Issue #25718: Fixed copying object with state with boolean value is false. - -- Issue #25742: :func:`locale.setlocale` now accepts a Unicode string for - its second parameter. - -- Issue #10131: Fixed deep copying of minidom documents. Based on patch - by Marian Ganisin. - -- Issue #25725: Fixed a reference leak in cPickle.loads() when unpickling - invalid data including tuple instructions. - -- Issue #25663: In the Readline completer, avoid listing duplicate global - names, and search the global namespace before searching builtins. - -- Issue #25688: Fixed file leak in ElementTree.iterparse() raising an error. - -- Issue #23914: Fixed SystemError raised by CPickle unpickler on broken data. - -- Issue #25924: Avoid unnecessary serialization of getaddrinfo(3) calls on - OS X versions 10.5 or higher. Original patch by A. Jesse Jiryu Davis. - -- Issue #26406: Avoid unnecessary serialization of getaddrinfo(3) calls on - current versions of OpenBSD and NetBSD. Patch by A. Jesse Jiryu Davis. - -IDLE ----- - -- Issue #5124: Paste with text selected now replaces the selection on X11. - This matches how paste works on Windows, Mac, most modern Linux apps, - and ttk widgets. Original patch by Serhiy Storchaka. - -- Issue #24759: Make clear in idlelib.idle_test.__init__ that the directory - is a private implementation of test.test_idle and tool for maintainers. - -- Issue #26673: When tk reports font size as 0, change to size 10. - Such fonts on Linux prevented the configuration dialog from opening. - -- Issue #27044: Add ConfigDialog.remove_var_callbacks to stop memory leaks. - -- In the 'IDLE-console differences' section of the IDLE doc, clarify - how running with IDLE affects sys.modules and the standard streams. - -- Issue #25507: fix incorrect change in IOBinding that prevented printing. - Change also prevented saving shell window with non-ascii characters. - Augment IOBinding htest to include all major IOBinding functions. - -- Issue #25905: Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION - MARK in README.txt and open this and NEWS.txt with 'ascii'. - Re-encode CREDITS.txt to utf-8 and open it with 'utf-8'. - -- Issue #26417: Prevent spurious errors and incorrect defaults when - installing IDLE 2.7 on OS X: default configuration settings are - no longer installed from OS X specific copies. - -Documentation -------------- - -- Issue #26736: Used HTTPS for external links in the documentation if possible. - -- Issue #6953: Rework the Readline module documentation to group related - functions together, and add more details such as what underlying Readline - functions and variables are accessed. - -- Issue #26014: Guide users to the newer packaging documentation as was done - for Python 3.x. In particular, the top-level 2.7 documentation page now - links to the newer installer and distributions pages rather than the - legacy install and Distutils pages; these are still linked to in the - library/distutils doc page. - -Tests ------ - -- Issue #21916: Added tests for the turtle module. Patch by ingrid, - Gregory Loyse and Jelle Zijlstra. - -- Issue #25940: Changed test_ssl to use self-signed.pythontest.net. This - avoids relying on svn.python.org, which recently changed root certificate. - -- Issue #25616: Tests for OrderedDict are extracted from test_collections - into separate file test_ordered_dict. - -Build ------ - -- Issue #22359: Avoid incorrect recursive $(MAKE), and disable the rules for - running pgen when cross-compiling. The pgen output is normally saved with - the source code anyway, and is still regenerated when doing a native build. - Patch by Jonas Wagner and Xavier de Gaye. - -- Issue #19450: Update Windows builds to use SQLite 3.8.11.0. - -- Issue #27229: Fix the cross-compiling pgen rule for in-tree builds. Patch - by Xavier de Gaye. - -- Issue #17603: Avoid error about nonexistant fileblocks.o file by using a - lower-level check for st_blocks in struct stat. - -- Issue #26465: Update Windows builds to use OpenSSL 1.0.2g. - -- Issue #24421: Compile Modules/_math.c once, before building extensions. - Previously it could fail to compile properly if the math and cmath builds - were concurrent. - -- Issue #25824: Fixes sys.winver to not include any architecture suffix. - -- Issue #25348: Added ``--pgo`` and ``--pgo-job`` arguments to - ``PCbuild\build.bat`` for building with Profile-Guided Optimization. The - old ``PCbuild\build_pgo.bat`` script is now deprecated, and simply calls - ``PCbuild\build.bat --pgo %*``. - -- Issue #25827: Add support for building with ICC to ``configure``, including - a new ``--with-icc`` flag. - -- Issue #25696: Fix installation of Python on UNIX with make -j9. - -- Issue #26930: Update OS X 10.5+ 32-bit-only installer to build - and link with OpenSSL 1.0.2h. - -- Issue #26268: Update Windows builds to use OpenSSL 1.0.2f. - -- Issue #25136: Support Apple Xcode 7's new textual SDK stub libraries. - -Tools/Demos ------------ - -- Issue #26799: Fix python-gdb.py: don't get C types once when the Python code - is loaded, but get C types on demand. The C types can change if - python-gdb.py is loaded before the Python executable. Patch written by Thomas - Ilsche. - -C API ------ - -- bpo-30255: PySlice_GetIndicesEx now clips the step to - [-PY_SSIZE_T_MAX, PY_SSIZE_T_MAX] instead of - [-PY_SSIZE_T_MAX-1, PY_SSIZE_T_MAX]. This makes it safe to do "step = -step" - when reversing a slice. - -- Issue #26476: Fixed compilation error when use PyErr_BadInternalCall() in C++. - Patch by Jeroen Demeyer. - -Misc ----- - -- Issue #17500, and https://github.com/python/pythondotorg/issues/945: Remove - unused and outdated icons. - - -What's New in Python 2.7.11? -============================ - -*Release date: 2015-12-05* - -Library -------- - -- Issue #25624: ZipFile now always writes a ZIP_STORED header for directory - entries. Patch by Dingyuan Wang. - - -What's New in Python 2.7.11 release candidate 1? -================================================ - -*Release date: 2015-11-21* - -Core and Builtins ------------------ - -- Issue #25678: Avoid buffer overreads when int(), long(), float(), and - compile() are passed buffer objects. These objects are not necessarily - terminated by a null byte, but the functions assumed they were. - -- Issue #25388: Fixed tokenizer hang when processing undecodable source code - with a null byte. - -- Issue #22995: Default implementation of __reduce__ and __reduce_ex__ now - rejects builtin types with not defined __new__. - -- Issue #7267: format(int, 'c') now raises OverflowError when the argument is - not in range(0, 256). - -- Issue #24806: Prevent builtin types that are not allowed to be subclassed from - being subclassed through multiple inheritance. - -- Issue #24848: Fixed a number of bugs in UTF-7 decoding of misformed data. - -- Issue #25003: os.urandom() doesn't use getentropy() on Solaris because - getentropy() is blocking, whereas os.urandom() should not block. getentropy() - is supported since Solaris 11.3. - -- Issue #21167: NAN operations are now handled correctly when python is - compiled with ICC even if -fp-model strict is not specified. - -- Issue #24467: Fixed possible buffer over-read in bytearray. The bytearray - object now always allocates place for trailing null byte and it's buffer now - is always null-terminated. - -- Issue #19543: encode() and decode() methods and constructors of str, - unicode and bytearray classes now emit deprecation warning for known - non-text encodings when Python is ran with the -3 option. - -- Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(), - PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() - to check for and handle errors correctly. - -- Issue #4753: On compilers where it is supported, use "computed gotos" for - bytecode dispatch in the interpreter. This improves interpretation - performance. - -- Issue #22939: Fixed integer overflow in iterator object. Original patch by - Clement Rouault. - -- Issue #24102: Fixed exception type checking in standard error handlers. - -Library -------- - -- Issue #10128: backport issue #10845's mitigation of incompatibilities between - the multiprocessing module and directory and zipfile execution. - Multiprocessing on Windows will now automatically skip rerunning __main__ in - spawned processes, rather than failing with AssertionError. - -- Issue #25578: Fix (another) memory leak in SSLSocket.getpeercer(). - -- Issue #25590: In the Readline completer, only call getattr() once per - attribute. - -- Issue #25530: Disable the vulnerable SSLv3 protocol by default when creating - ssl.SSLContext. - -- Issue #25569: Fix memory leak in SSLSocket.getpeercert(). - -- Issue #7759: Fixed the mhlib module on filesystems that doesn't support - link counting for directories. - -- Issue #892902: Fixed pickling recursive objects. - -- Issue #18010: Fix the pydoc GUI's search function to handle exceptions - from importing packages. - -- Issue #25515: Always use os.urandom as a source of randomness in uuid.uuid4. - -- Issue #21827: Fixed textwrap.dedent() for the case when largest common - whitespace is a substring of smallest leading whitespace. - Based on patch by Robert Li. - -- Issue #21709: Fix the logging module to not depend upon __file__ being set - properly to get the filename of its caller from the stack. This allows it - to work if run in a frozen or embedded environment where the module's - .__file__ attribute does not match its code object's .co_filename. - -- Issue #25319: When threading.Event is reinitialized, the underlying condition - should use a regular lock rather than a recursive lock. - -- Issue #25232: Fix CGIRequestHandler to split the query from the URL at the - first question mark (?) rather than the last. Patch from Xiang Zhang. - -- Issue #24657: Prevent CGIRequestHandler from collapsing slashes in the - query part of the URL as if it were a path. Patch from Xiang Zhang. - -- Issue #22958: Constructor and update method of weakref.WeakValueDictionary - now accept the self keyword argument. - -- Issue #22609: Constructor and the update method of collections.UserDict now - accept the self keyword argument. - -- Issue #25203: Failed readline.set_completer_delims() no longer left the - module in inconsistent state. - -- Issue #19143: platform module now reads Windows version from kernel32.dll to - avoid compatibility shims. - -- Issue #25135: Make deque_clear() safer by emptying the deque before clearing. - This helps avoid possible reentrancy issues. - -- Issue #24684: socket.socket.getaddrinfo() now calls - PyUnicode_AsEncodedString() instead of calling the encode() method of the - host, to handle correctly custom unicode string with an encode() method - which doesn't return a byte string. The encoder of the IDNA codec is now - called directly instead of calling the encode() method of the string. - -- Issue #24982: shutil.make_archive() with the "zip" format now adds entries - for directories (including empty directories) in ZIP file. - -- Issue #17849: Raise a sensible exception if an invalid response is - received for a HTTP tunnel request, as seen with some servers that - do not support tunnelling. Initial patch from Cory Benfield. - -- Issue #16180: Exit pdb if file has syntax error, instead of trapping user - in an infinite loop. Patch by Xavier de Gaye. - -- Issue #22812: Fix unittest discovery examples. - Patch from Pam McA'Nulty. - -- Issue #24634: Importing uuid should not try to load libc on Windows - -- Issue #23652: Make it possible to compile the select module against the - libc headers from the Linux Standard Base, which do not include some - EPOLL macros. Initial patch by Matt Frank. - -- Issue #15138: Speed up base64.urlsafe_b64{en,de}code considerably. - -- Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch - written by Matthieu Gautier. - -- Issue #23254: Document how to close the TCPServer listening socket. - Patch from Martin Panter. - -- Issue #17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella. - -- Issue #24613: Calling array.fromstring() with self is no longer allowed - to prevent the use-after-free error. Patch by John Leitch. - -- Issue #24708: Fix possible integer overflow in strop.replace(). - -- Issue #24620: Random.setstate() now validates the value of state last element. - -- Issue #13938: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond. - -- Issue #24611: Fixed compiling the posix module on non-Windows platforms - without mknod() or makedev() (e.g. on Unixware). - -- Issue #18684: Fixed reading out of the buffer in the re module. - -- Issue #24259: tarfile now raises a ReadError if an archive is truncated - inside a data segment. - -- Issue #24514: tarfile now tolerates number fields consisting of only - whitespace. - -- Issue #20387: Restore semantic round-trip correctness in tokenize/untokenize - for tab-indented blocks. - -- Issue #24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm() - functions of the audioop module. Fixed SystemError when the state is not a - tuple. Fixed possible memory leak. - -- Issue #24481: Fix possible memory corruption with large profiler info strings - in hotshot. - -- Issue #24489: ensure a previously set C errno doesn't disturb cmath.polar(). - -- Issue #19543: io.TextIOWrapper (and hence io.open()) now uses the internal - codec marking system added to emit deprecation warning for known non-text - encodings at stream construction time when Python is ran with the -3 option. - -- Issue #24264: Fixed buffer overflow in the imageop module. - -- Issue #5633: Fixed timeit when the statement is a string and the setup is not. - -- Issue #24326: Fixed audioop.ratecv() with non-default weightB argument. - Original patch by David Moore. - -- Issue #22095: Fixed HTTPConnection.set_tunnel with default port. The port - value in the host header was set to "None". Patch by Demian Brecht. - -- Issue #24257: Fixed segmentation fault in sqlite3.Row constructor with faked - cursor type. - -- Issue #24286: Dict view were not registered with the MappingView abstract - base classes. This caused key and item views in OrderedDict to not be equal - to their regular dict counterparts. - -- Issue #22107: tempfile.gettempdir() and tempfile.mkdtemp() now try again - when a directory with the chosen name already exists on Windows as well as - on Unix. tempfile.mkstemp() now fails early if parent directory is not - valid (not exists or is a file) on Windows. - -- Issue #6598: Increased time precision and random number range in - email.utils.make_msgid() to strengthen the uniqueness of the message ID. - -- Issue #24091: Fixed various crashes in corner cases in cElementTree. - -- Issue #15267: HTTPConnection.request() now is compatible with old-style - classes (such as TemporaryFile). Original patch by Atsuo Ishimoto. - -- Issue #20014: array.array() now accepts unicode typecodes. Based on patch by - Vajrasky Kok. - -- Issue #23637: Showing a warning no longer fails with UnicodeError. - Formatting unicode warning in the file with the path containing non-ascii - characters no longer fails with UnicodeError. - -- Issue #24134: Reverted issue #24134 changes. - -IDLE ----- - -- Issue #15348: Stop the debugger engine (normally in a user process) - before closing the debugger window (running in the IDLE process). - This prevents the RuntimeErrors that were being caught and ignored. - -- Issue #24455: Prevent IDLE from hanging when a) closing the shell while the - debugger is active (15347); b) closing the debugger with the [X] button - (15348); and c) activating the debugger when already active (24455). - The patch by Mark Roseman does this by making two changes. - 1. Suspend and resume the gui.interaction method with the tcl vwait - mechanism intended for this purpose (instead of root.mainloop & .quit). - 2. In gui.run, allow any existing interaction to terminate first. - -- Change 'The program' to 'Your program' in an IDLE 'kill program?' message - to make it clearer that the program referred to is the currently running - user program, not IDLE itself. - -- Issue #24750: Improve the appearance of the IDLE editor window status bar. - Patch by Mark Roseman. - -- Issue #25313: Change the handling of new built-in text color themes to better - address the compatibility problem introduced by the addition of IDLE Dark. - Consistently use the revised idleConf.CurrentTheme everywhere in idlelib. - -- Issue #24782: Extension configuration is now a tab in the IDLE Preferences - dialog rather than a separate dialog. The former tabs are now a sorted - list. Patch by Mark Roseman. - -- Issue #22726: Re-activate the config dialog help button with some content - about the other buttons and the new IDLE Dark theme. - -- Issue #24820: IDLE now has an 'IDLE Dark' built-in text color theme. - It is more or less IDLE Classic inverted, with a cobalt blue background. - Strings, comments, keywords, ... are still green, red, orange, ... . - To use it with IDLEs released before November 2015, hit the - 'Save as New Custom Theme' button and enter a new name, - such as 'Custom Dark'. The custom theme will work with any IDLE - release, and can be modified. - -- Issue #25224: README.txt is now an idlelib index for IDLE developers and - curious users. The previous user content is now in the IDLE doc chapter. - 'IDLE' now means 'Integrated Development and Learning Environment'. - -- Issue #24820: Users can now set breakpoint colors in - Settings -> Custom Highlighting. Original patch by Mark Roseman. - -- Issue #24972: Inactive selection background now matches active selection - background, as configured by users, on all systems. Found items are now - always highlighted on Windows. Initial patch by Mark Roseman. - -- Issue #24570: Idle: make calltip and completion boxes appear on Macs - affected by a tk regression. Initial patch by Mark Roseman. - -- Issue #24988: Idle ScrolledList context menus (used in debugger) - now work on Mac Aqua. Patch by Mark Roseman. - -- Issue #24801: Make right-click for context menu work on Mac Aqua. - Patch by Mark Roseman. - -- Issue #25173: Associate tkinter messageboxes with a specific widget. - For Mac OSX, make them a 'sheet'. Patch by Mark Roseman. - -- Issue #25198: Enhance the initial html viewer now used for Idle Help. - * Properly indent fixed-pitch text (patch by Mark Roseman). - * Give code snippet a very Sphinx-like light blueish-gray background. - * Re-use initial width and height set by users for shell and editor. - * When the Table of Contents (TOC) menu is used, put the section header - at the top of the screen. - -- Issue #25225: Condense and rewrite Idle doc section on text colors. - -- Issue #21995: Explain some differences between IDLE and console Python. - -- Issue #22820: Explain need for *print* when running file from Idle editor. - -- Issue #25224: Doc: augment Idle feature list and no-subprocess section. - -- Issue #25219: Update doc for Idle command line options. - Some were missing and notes were not correct. - -- Issue #24861: Most of idlelib is private and subject to change. - Use idleib.idle.* to start Idle. See idlelib.__init__.__doc__. - -- Issue #25199: Idle: add synchronization comments for future maintainers. - -- Issue #16893: Replace help.txt with help.html for Idle doc display. - The new idlelib/help.html is rstripped Doc/build/html/library/idle.html. - It looks better than help.txt and will better document Idle as released. - The tkinter html viewer that works for this file was written by Mark Roseman. - The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated. - -- Issue #24199: Deprecate unused idlelib.idlever with possible removal in 3.6. - -- Issue #24790: Remove extraneous code (which also create 2 & 3 conflicts). - -- Issue #23672: Allow Idle to edit and run files with astral chars in name. - Patch by Mohd Sanad Zaki Rizvi. - -- Issue #24745: Idle editor default font. Switch from Courier to - platform-sensitive TkFixedFont. This should not affect current customized - font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg - and remove 'fontxxx' entries from [Editor Window]. Patch by Mark Roseman. - -- Issue #21192: Idle editor. When a file is run, put its name in the restart bar. - Do not print false prompts. Original patch by Adnan Umer. - -- Issue #13884: Idle menus. Remove tearoff lines. Patch by Roger Serwy. - -- Issue #15809: IDLE shell now uses locale encoding instead of Latin1 for - decoding unicode literals. - -Documentation -------------- - -- Issue #24952: Clarify the default size argument of stack_size() in - the "threading" and "thread" modules. Patch from Mattip. - -- Issue #20769: Improve reload() docs. Patch by Dorian Pula. - -- Issue #23589: Remove duplicate sentence from the FAQ. Patch by Yongzhi Pan. - -- Issue #22155: Add File Handlers subsection with createfilehandler to Tkinter - doc. Remove obsolete example from FAQ. Patch by Martin Panter. - -Tests ------ - -- Issue #24751: When running regrtest with the ``-w`` command line option, - a test run is no longer marked as a failure if all tests succeed when - re-run. - -- PCbuild\rt.bat now accepts an unlimited number of arguments to pass along - to regrtest.py. Previously there was a limit of 9. - -Build ------ - -- Issue #24915: When doing a PGO build, the test suite is now used instead of - pybench; Clang support was also added as part off this work. Initial patch by - Alecsandru Patrascu of Intel. - -- Issue #24986: It is now possible to build Python on Windows without errors - when external libraries are not available. - -- Issue #24508: Backported the MSBuild project files from Python 3.5. The - backported files replace the old project files in PCbuild; the old files moved - to PC/VS9.0 and remain supported. - -- Issue #24603: Update Windows builds and OS X 10.5 installer to use OpenSSL - 1.0.2d. - -Windows -------- - -- Issue #25022: Removed very outdated PC/example_nt/ directory. - - -What's New in Python 2.7.10? -============================ - -*Release date: 2015-05-23* - -Library -------- - -- Issue #22931: Allow '[' and ']' in cookie values. - - -What's New in Python 2.7.10 release candidate 1? -================================================ - -*Release date: 2015-05-10* - -Core and Builtins ------------------ - -- Issue #23971: Fix underestimated presizing in dict.fromkeys(). - -- Issue #23757: PySequence_Tuple() incorrectly called the concrete list API - when the data was a list subclass. - -- Issue #23629: Fix the default __sizeof__ implementation for variable-sized - objects. - -- Issue #23055: Fixed a buffer overflow in PyUnicode_FromFormatV. Analysis - and fix by Guido Vranken. - -- Issue #23048: Fix jumping out of an infinite while loop in the pdb. - -Library -------- - -- The keywords attribute of functools.partial is now always a dictionary. - -- Issue #20274: When calling a _sqlite.Connection, it now complains if passed - any keyword arguments. Previously it silently ignored them. - -- Issue #20274: Remove ignored and erroneous "kwargs" parameters from three - METH_VARARGS methods on _sqlite.Connection. - -- Issue #24134: assertRaises() and assertRaisesRegexp() checks are not longer - successful if the callable is None. - -- Issue #23008: Fixed resolving attributes with boolean value is False in pydoc. - -- Issues #24099, #24100, and #24101: Fix use-after-free bug in heapq's siftup - and siftdown functions. - -- Backport collections.deque fixes from Python 3.5. Prevents reentrant badness - during deletion by deferring the decref until the container has been restored - to a consistent state. - -- Issue #23842: os.major(), os.minor() and os.makedev() now support ints again. - -- Issue #23811: Add missing newline to the PyCompileError error message. - Patch by Alex Shkop. - -- Issue #17898: Fix exception in gettext.py when parsing certain plural forms. - -- Issue #23865: close() methods in multiple modules now are idempotent and more - robust at shutdown. If they need to release multiple resources, all are - released even if errors occur. - -- Issue #23881: urllib.ftpwrapper constructor now closes the socket if the FTP - connection failed. - -- Issue #15133: _tkinter.tkapp.getboolean() now supports long and Tcl_Obj and - always returns bool. tkinter.BooleanVar now validates input values (accepted - bool, int, long, str, unicode, and Tcl_Obj). tkinter.BooleanVar.get() now - always returns bool. - -- Issue #23338: Fixed formatting ctypes error messages on Cygwin. - Patch by Makoto Kato. - -- Issue #16840: Tkinter now supports 64-bit integers added in Tcl 8.4 and - arbitrary precision integers added in Tcl 8.5. - -- Issue #23834: Fix socket.sendto(), use the C long type to store the result of - sendto() instead of the C int type. - -- Issue #21526: Tkinter now supports new boolean type in Tcl 8.5. - -- Issue #23838: linecache now clears the cache and returns an empty result on - MemoryError. - -- Issue #23742: ntpath.expandvars() no longer loses unbalanced single quotes. - -- Issue #21802: The reader in BufferedRWPair now is closed even when closing - writer failed in BufferedRWPair.close(). - -- Issue #23671: string.Template now allows specifying the "self" parameter as - a keyword argument. string.Formatter now allows specifying the "self" and - the "format_string" parameters as keyword arguments. - -- Issue #21560: An attempt to write a data of wrong type no longer cause - GzipFile corruption. Original patch by Wolfgang Maier. - -- Issue #23647: Increase impalib's MAXLINE to accommodate modern mailbox sizes. - -- Issue #23539: If body is None, http.client.HTTPConnection.request now sets - Content-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errors from - some web servers. - -- Issue #23136: _strptime now uniformly handles all days in week 0, including - Dec 30 of previous year. Based on patch by Jim Carroll. - -- Issue #23138: Fixed parsing cookies with absent keys or values in cookiejar. - Patch by Demian Brecht. - -- Issue #23051: multiprocessing.Pool methods imap() and imap_unordered() now - handle exceptions raised by an iterator. Patch by Alon Diamant and Davin - Potts. - -- Issue #22928: Disabled HTTP header injections in httplib. - Original patch by Demian Brecht. - -- Issue #23615: Module tarfile is now can be reloaded with imp.reload(). - -- Issue #22853: Fixed a deadlock when use multiprocessing.Queue at import time. - Patch by Florian Finkernagel and Davin Potts. - -- Issue #23476: In the ssl module, enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST - flag on certificate stores when it is available. - -- Issue #23576: Avoid stalling in SSL reads when EOF has been reached in the - SSL layer but the underlying connection hasn't been closed. - -- Issue #23504: Added an __all__ to the types module. - -- Issue #23458: On POSIX, the file descriptor kept open by os.urandom() is now - set to non inheritable - -- Issue #22113: struct.pack_into() now supports new buffer protocol (in - particular accepts writable memoryview). - -- Issues #814253, #9179: Warnings now are raised when group references and - conditional group references are used in lookbehind assertions in regular - expressions. - -- Issue #23215: Multibyte codecs with custom error handlers that ignores errors - consumed too much memory and raised SystemError or MemoryError. - Original patch by Aleksi Torhamo. - -- Issue #5700: io.FileIO() called flush() after closing the file. - flush() was not called in close() if closefd=False. - -- Issue #21548: Fix pydoc.synopsis() and pydoc.apropos() on modules with empty - docstrings. Initial patch by Yuyang Guo. - -- Issue #22885: Fixed arbitrary code execution vulnerability in the dumbdbm - module. Original patch by Claudiu Popa. - -- Issue #23481: Remove RC4 from the SSL module's default cipher list. - -- Issue #21849: Fixed xmlrpclib serialization of non-ASCII unicode strings in - the multiprocessing module. - -- Issue #21840: Fixed expanding unicode variables of form $var in - posixpath.expandvars(). Fixed all os.path implementations on - unicode-disabled builds. - -- Issue #23367: Fix possible overflows in the unicodedata module. - -- Issue #23363: Fix possible overflow in itertools.permutations. - -- Issue #23364: Fix possible overflow in itertools.product. - -- Issue #23365: Fixed possible integer overflow in - itertools.combinations_with_replacement. - -- Issue #23366: Fixed possible integer overflow in itertools.combinations. - -- Issue #23191: fnmatch functions that use caching are now threadsafe. - -- Issue #18518: timeit now rejects statements which can't be compiled outside - a function or a loop (e.g. "return" or "break"). - -- Issue #19996: Make :mod:`httplib` ignore headers with no name rather than - assuming the body has started. - -- Issue #20188: Support Application-Layer Protocol Negotiation (ALPN) in the ssl - module. - -- Issue #23248: Update ssl error codes from latest OpenSSL git master. - -- Issue #23098: 64-bit dev_t is now supported in the os module. - -- Issue #23063: In the disutils' check command, fix parsing of reST with code or - code-block directives. - -- Issue #21356: Make ssl.RAND_egd() optional to support LibreSSL. The - availability of the function is checked during the compilation. Patch written - by Bernard Spil. - -- Backport the context argument to ftplib.FTP_TLS. - -- Issue #23111: Maximize compatibility in protocol versions of ftplib.FTP_TLS. - -- Issue #23112: Fix SimpleHTTPServer to correctly carry the query string and - fragment when it redirects to add a trailing slash. - -- Issue #22585: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(), - instead of reading /dev/urandom, to get pseudo-random bytes. - -- Issue #23093: In the io, module allow more operations to work on detached - streams. - -- Issue #23071: Added missing names to codecs.__all__. Patch by Martin Panter. - -- Issue #23016: A warning no longer produces an AttributeError when sys.stderr - is None. - -- Issue #21032: Fixed socket leak if HTTPConnection.getresponse() fails. - Original patch by Martin Panter. - -- Issue #22609: Constructors and update methods of mapping classes in the - collections module now accept the self keyword argument. - -Documentation -------------- - -- Issue #23006: Improve the documentation and indexing of dict.__missing__. - Add an entry in the language datamodel special methods section. - Revise and index its discussion in the stdtypes mapping/dict section. - Backport the code example from 3.4. - -- Issue #21514: The documentation of the json module now refers to new JSON RFC - 7159 instead of obsoleted RFC 4627. - -Tools/Demos ------------ - -- Issue #23330: h2py now supports arbitrary filenames in #include. - -- Issue #6639: Module-level turtle functions no longer raise TclError after - closing the window. - -- Issue #22314: pydoc now works when the LINES environment variable is set. - -- Issue #18905: "pydoc -p 0" now outputs actually used port. Based on patch by - Wieland Hoffmann. - -- Issue #23345: Prevent test_ssl failures with large OpenSSL patch level - values (like 0.9.8zc). - -Tests ------ - -- Issue #23799: Added test.test_support.start_threads() for running and - cleaning up multiple threads. - -- Issue #22390: test.regrtest now emits a warning if temporary files or - directories are left after running a test. - -- Issue #23583: Added tests for standard IO streams in IDLE. - -- Issue #23392: Added tests for marshal C API that works with FILE*. - -- Issue #18982: Add tests for CLI of the calendar module. - -- Issue #19949: The test_xpickle test now tests compatibility with installed - Python 2.7 and reports skipped tests. Based on patch by Zachary Ware. - -- Issue #11578: Backported test for the timeit module. - -- Issue #22943: bsddb tests are locale independend now. - -IDLE ----- - -- Issue #23583: Fixed writing unicode to standard output stream in IDLE. - -- Issue #20577: Configuration of the max line length for the FormatParagraph - extension has been moved from the General tab of the Idle preferences dialog - to the FormatParagraph tab of the Config Extensions dialog. - Patch by Tal Einat. - -- Issue #16893: Update Idle doc chapter to match current Idle and add new - information. - -- Issue #23180: Rename IDLE "Windows" menu item to "Window". - Patch by Al Sweigart. - -Build ------ - -- Issue #15506: Use standard PKG_PROG_PKG_CONFIG autoconf macro in the configure - script. - -- Issue #23032: Fix installer build failures on OS X 10.4 Tiger - by disabling assembly code in the OpenSSL build. - -- Issue #23686: Update OS X 10.5 installer and Windows builds to use - OpenSSL 1.0.2a. - -C API ------ - -- Issue #23998: PyImport_ReInitLock() now checks for lock allocation error - -- Issue #22079: PyType_Ready() now checks that statically allocated type has - no dynamically allocated bases. - - -What's New in Python 2.7.9? -=========================== - -*Release date: 2014-12-10* - -Library -------- - -- Issue #22959: Remove the *check_hostname* parameter of - httplib.HTTPSConnection. The *context* parameter should be used instead. - -- Issue #16043: Add a default limit for the amount of data xmlrpclib.gzip_decode - will return. This resolves CVE-2013-1753. - -- Issue #16042: CVE-2013-1752: smtplib: Limit amount of data read by limiting - the call to readline(). Original patch by Christian Heimes. - -- Issue #16041: In poplib, limit maximum line length read from the server to - prevent CVE-2013-1752. - -- Issue #22960: Add a context argument to xmlrpclib.ServerProxy. - -Build ------ - -- Issue #22935: Allow the ssl module to be compiled if openssl doesn't support - SSL 3. - -- Issue #17128: Use private version of OpenSSL for 2.7.9 OS X 10.5+ installer. - - -What's New in Python 2.7.9 release candidate 1? -=============================================== - -*Release date: 2014-11-25* - -Core and Builtins ------------------ - -- Issue #21963: backout issue #1856 patch (avoid crashes and lockups when - daemon threads run while the interpreter is shutting down; instead, these - threads are now killed when they try to take the GIL), as it seems to - break some existing code. - -- Issue #22604: Fix assertion error in debug mode when dividing a complex - number by (nan+0j). - -- Issue #22470: Fixed integer overflow issues in "backslashreplace" and - "xmlcharrefreplace" error handlers. - -- Issue #22526: Fix iterating through files with lines longer than 2^31 bytes. - -- Issue #22519: Fix overflow checking in PyString_Repr. - -- Issue #22518: Fix integer overflow issues in latin-1 encoding. - -- Issue #22379: Fix empty exception message in a TypeError raised in - ``str.join``. - -- Issue #22221: Now the source encoding declaration on the second line isn't - effective if the first line contains anything except a comment. - -- Issue #22023: Fix ``%S``, ``%R`` and ``%V`` formats of - :c:func:`PyUnicode_FromFormat`. - -- Issue #21591: Correctly handle qualified exec statements in tuple form by - moving compatibility layer from run-time to AST transformation. - -Library -------- - -- Issue #22417: Verify certificates by default in httplib (PEP 476). - -- Issue #22927: Allow urllib.urlopen to take a *context* parameter to control - SSL settings for HTTPS connections. - -- Issue #22921: Allow SSLContext to take the *hostname* parameter even if - OpenSSL doesn't support SNI. - -- Issue #9003 and #22366: httplib.HTTPSConnection, urllib2.HTTPSHandler and - urllib2.urlopen now take optional arguments to allow for server certificate - checking, as recommended in public uses of HTTPS. This backport is part of PEP - 467. - -- Issue #12728: Different Unicode characters having the same uppercase but - different lowercase are now matched in case-insensitive regular expressions. - -- Issue #22821: Fixed fcntl() with integer argument on 64-bit big-endian - platforms. - -- Issue #17293: uuid.getnode() now determines MAC address on AIX using netstat. - Based on patch by Aivars Kalvāns. - -- Issue #22769: Fixed ttk.Treeview.tag_has() when called without arguments. - -- Issue #22787: Allow the keyfile argument of SSLContext.load_cert_chain to be - None. - -- Issue #22775: Fixed unpickling of Cookie.SimpleCookie with protocol 2. - Patch by Tim Graham. - -- Issue #22776: Brought excluded code into the scope of a try block in - SysLogHandler.emit(). - -- Issue #17381: Fixed ranges handling in case-insensitive regular expressions. - -- Issue #19329: Optimized compiling charsets in regular expressions. - -- Issue #22410: Module level functions in the re module now cache compiled - locale-dependent regular expressions taking into account the locale. - -- Issue #8876: distutils now falls back to copying files when hard linking - doesn't work. This allows use with special filesystems such as VirtualBox - shared folders. - -- Issue #9351: Defaults set with set_defaults on an argparse subparser - are no longer ignored when also set on the parent parser. - -- Issue #20421: Add a .version() method to SSL sockets exposing the actual - protocol version in use. - -- Issue #22435: Fix a file descriptor leak when SocketServer bind fails. - -- Issue #13664: GzipFile now supports non-ascii Unicode filenames. - -- Issue #13096: Fixed segfault in CTypes POINTER handling of large - values. - -- Issue #11694: Raise ConversionError in xdrlib as documented. Patch - by Filip Gruszczyński and Claudiu Popa. - -- Issue #1686: Fix string.Template when overriding the pattern attribute. - -- Issue #11866: Eliminated race condition in the computation of names - for new threads. - -- Issue #22219: The zipfile module CLI now adds entries for directories - (including empty directories) in ZIP file. - -- Issue #22449: In the ssl.SSLContext.load_default_certs, consult the - environmental variables SSL_CERT_DIR and SSL_CERT_FILE on Windows. - -- Issue #8473: doctest.testfile now uses universal newline mode to read - the test file. - -- Issue #20076: Added non derived UTF-8 aliases to locale aliases table. - -- Issue #20079: Added locales supported in glibc 2.18 to locale alias table. - -- Issue #22530: Allow the ``group()`` method of regular expression match objects - to take a ``long`` as an index. - -- Issue #22517: When an io.BufferedRWPair object is deallocated, clear its - weakrefs. - -- Issue #10510: distutils register and upload methods now use HTML standards - compliant CRLF line endings. - -- Issue #9850: Fixed macpath.join() for empty first component. Patch by - Oleg Oshmyan. - -- Issue #20912: Now directories added to ZIP file have correct Unix and MS-DOS - directory attributes. - -- Issue #21866: ZipFile.close() no longer writes ZIP64 central directory - records if allowZip64 is false. - -- Issue #22415: Fixed debugging output of the GROUPREF_EXISTS opcode in the re - module. - -- Issue #22423: Unhandled exception in thread no longer causes unhandled - AttributeError when sys.stderr is None. - -- Issue #22419: Limit the length of incoming HTTP request in wsgiref server to - 65536 bytes and send a 414 error code for higher lengths. Patch contributed - by Devin Cook. - -- Lax cookie parsing in http.cookies could be a security issue when combined - with non-standard cookie handling in some Web browsers. Reported by - Sergey Bobrov. - -- Issue #21147: sqlite3 now raises an exception if the request contains a null - character instead of truncating it. Based on patch by Victor Stinner. - -- Issue #21951: Fixed a crash in Tkinter on AIX when called Tcl command with - empty string or tuple argument. - -- Issue #21951: Tkinter now most likely raises MemoryError instead of crash - if the memory allocation fails. - -- Issue #22226: First letter no longer is stripped from the "status" key in - the result of Treeview.heading(). - -- Issue #22051: turtledemo no longer reloads examples to re-run them. - Initialization of variables and gui setup should be done in main(), - which is called each time a demo is run, but not on import. - -- Issue #21597: The separator between the turtledemo text pane and the drawing - canvas can now be grabbed and dragged with a mouse. The code text pane can - be widened to easily view or copy the full width of the text. The canvas - can be widened on small screens. Original patches by Jan Kanis and Lita Cho. - -- Issue #18132: Turtledemo buttons no longer disappear when the window is - shrunk. Original patches by Jan Kanis and Lita Cho. - -- Issue #22312: Fix ntpath.splitdrive IndexError. - -- Issue #22216: smtplib now resets its state more completely after a quit. The - most obvious consequence of the previous behavior was a STARTTLS failure - during a connect/starttls/quit/connect/starttls sequence. - -- Issue #21305: os.urandom now caches a fd to /dev/urandom. This is a PEP 466 - backport from Python 3. - -- Issue #21307: As part of PEP 466, backport hashlib.algorithms_guaranteed and - hashlib.algorithms_available. - -- Issue #22259: Fix segfault when attempting to fopen a file descriptor - corresponding to a directory. - -- Issue #22236: Fixed Tkinter images copying operations in NoDefaultRoot mode. - -- Issue #22191: Fixed warnings.__all__. - -- Issue #21308: Backport numerous features from Python's ssl module. This is - part of PEP 466. - -- Issue #15696: Add a __sizeof__ implementation for mmap objects on Windows. - -- Issue #8797: Raise HTTPError on failed Basic Authentication immediately. - Initial patch by Sam Bull. - -- Issue #22068: Avoided reference loops with Variables and Fonts in Tkinter. - -- Issue #21448: Changed FeedParser feed() to avoid O(N**2) behavior when - parsing long line. Original patch by Raymond Hettinger. - -- Issue #17923: glob() patterns ending with a slash no longer match non-dirs on - AIX. Based on patch by Delhallt. - -- Issue #21975: Fixed crash when using uninitialized sqlite3.Row (in particular - when unpickling pickled sqlite3.Row). sqlite3.Row is now initialized in the - __new__() method. - -- Issue #16037: HTTPMessage.readheaders() raises an HTTPException when more - than 100 headers are read. Patch by Jyrki Pulliainen and Daniel Eriksson. - -- Issue #21580: Now Tkinter correctly handles binary "data" and "maskdata" - configure options of tkinter.PhotoImage. - -- Issue #19612: subprocess.communicate() now also ignores EINVAL when using at - least two pipes. - -- Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError - on closed socket. - -- Issue #16133: The asynchat.async_chat.handle_read() method now ignores - socket.error() exceptions with blocking I/O errors: EAGAIN, EALREADY, - EINPROGRESS, or EWOULDBLOCK. - -- Issue #21990: Clean-up unnecessary and slow inner class definition in - saxutils (Contributed by Alex Gaynor). - -- Issue #1730136: Fix the comparison between a tkFont.Font and an object of - another kind. - -- Issue #19884: readline: Disable the meta modifier key if stdout is not - a terminal to not write the ANSI sequence "\033[1034h" into stdout. This - sequence is used on some terminal (ex: TERM=xterm-256color") to enable - support of 8 bit characters. - -- Issue #22017: Correct reference counting error in the initialization of the - _warnings module. - -- Issue #21868: Prevent turtle crash when undo buffer set to a value less - than one. - -- Issue #21151: Fixed a segfault in the _winreg module when ``None`` is passed - as a ``REG_BINARY`` value to SetValueEx. Patch by John Ehresman. - -- Issue #21090: io.FileIO.readall() does not ignore I/O errors anymore. Before, - it ignored I/O errors if at least the first C call read() succeed. - -- Issue #19870: BaseCookie now parses 'secure' and 'httponly' flags. - Backport of issue #16611. - -- Issue #21923: Prevent AttributeError in distutils.sysconfig.customize_compiler - due to possible uninitialized _config_vars. - -- Issue #21323: Fix CGIHTTPServer to again handle scripts in CGI subdirectories, - broken by the fix for security issue #19435. Patch by Zach Byrne. - -- Issue #22199: Make get_makefile_filename() available in Lib/sysconfig.py - for 2.7 to match other versions of sysconfig. - -IDLE ----- - -- Issue #3068: Add Idle extension configuration dialog to Options menu. - Changes are written to HOME/.idlerc/config-extensions.cfg. - Original patch by Tal Einat. - -- Issue #16233: A module browser (File : Class Browser, Alt+C) requires an - editor window with a filename. When Class Browser is requested otherwise, - from a shell, output window, or 'Untitled' editor, Idle no longer displays - an error box. It now pops up an Open Module box (Alt+M). If a valid name - is entered and a module is opened, a corresponding browser is also opened. - -- Issue #4832: Save As to type Python files automatically adds .py to the - name you enter (even if your system does not display it). Some systems - automatically add .txt when type is Text files. - -- Issue #21986: Code objects are not normally pickled by the pickle module. - To match this, they are no longer pickled when running under Idle. - -- Issue #22221: IDLE now ignores the source encoding declaration on the second - line if the first line contains anything except a comment. - -- Issue #17390: Adjust Editor window title; remove 'Python', - move version to end. - -- Issue #14105: Idle debugger breakpoints no longer disappear - when inserting or deleting lines. - -Extension Modules ------------------ - -- Issue #22381: Update zlib to 1.2.8. - -- Issue #22176: Update the ctypes module's libffi to v3.1. This release - adds support for the Linux AArch64 and POWERPC ELF ABIv2 little endian - architectures. - -Tools/Demos ------------ - -- Issue #10712: 2to3 has a new "asserts" fixer that replaces deprecated names - of unittest methods (e.g. failUnlessEqual -> assertEqual). - -- Issue #22221: 2to3 and the findnocoding.py script now ignore the source - encoding declaration on the second line if the first line contains anything - except a comment. - -- Issue #22201: Command-line interface of the zipfile module now correctly - extracts ZIP files with directory entries. Patch by Ryan Wilson. - -Tests ------ - -- Issue #22236: Tkinter tests now don't reuse default root window. New root - window is created for every test class. - -- Issue #18004: test_overflow in test_list by mistake consumed 40 GiB of memory - on 64-bit systems. - -- Issue #21976: Fix test_ssl to accept LibreSSL version strings. Thanks - to William Orr. - -- Issue #22770: Prevent some Tk segfaults on OS X when running gui tests. - -Build ------ - -- Issue #20221: Removed conflicting (or circular) hypot definition when - compiled with VS 2010 or above. Initial patch by Tabrez Mohammed. - -- Issue #16537: Check whether self.extensions is empty in setup.py. Patch by - Jonathan Hosmer. - -- The documentation Makefile no longer automatically downloads Sphinx. Users are - now required to have Sphinx already installed to build the documentation. - -- Issue #21958: Define HAVE_ROUND when building with Visual Studio 2013 and - above. Patch by Zachary Turner. - -- Issue #15759: "make suspicious", "make linkcheck" and "make doctest" in Doc/ - now display special message when and only when there are failures. - -- Issue #21166: Prevent possible segfaults and other random failures of - python --generate-posix-vars in pybuilddir.txt build target. - -- Issue #18096: Fix library order returned by python-config. - -- Issue #17219: Add library build dir for Python extension cross-builds. - -- Issue #22877: PEP 477 - OS X installer now installs pip. - -- Issue #22878: PEP 477 - "make install" and "make altinstall" can now install - or upgrade pip, using the bundled pip provided by the backported ensurepip - module. A configure option, --with-ensurepip[=upgrade|install|no], is - available to set the option for subsequent installs; the default for Python 2 - in "no" (do not install or upgrade pip). The option can also be set with - "make [alt]install ENSUREPIP=[upgrade|install|no]". - -Windows -------- - -- Issue #17896: The Windows build scripts now expect external library sources - to be in ``PCbuild\..\externals`` rather than ``PCbuild\..\..``. - -- Issue #17717: The Windows build scripts now use a copy of NASM pulled from - svn.python.org to build OpenSSL. - -- Issue #22644: The bundled version of OpenSSL has been updated to 1.0.1j. - - -What's New in Python 2.7.8? -=========================== - -*Release date: 2014-06-29* - -Core and Builtins ------------------ - -- Issue #4346: In PyObject_CallMethod and PyObject_CallMethodObjArgs, don't - overwrite the error set in PyObject_GetAttr. - -- Issue #21831: Avoid integer overflow when large sizes and offsets are given to - the buffer type. CVE-2014-7185. - -- Issue #19656: Running Python with the -3 option now also warns about - non-ascii bytes literals. - -- Issue #21642: If the conditional if-else expression, allow an integer written - with no space between itself and the ``else`` keyword (e.g. ``True if 42else - False``) to be valid syntax. - -- Issue #21523: Fix over-pessimistic computation of the stack effect of - some opcodes in the compiler. This also fixes a quadratic compilation - time issue noticeable when compiling code with a large number of "and" - and "or" operators. - -Library -------- - -- Issue #21652: Prevent mimetypes.type_map from containing unicode keys on - Windows. - -- Issue #21729: Used the "with" statement in the dbm.dumb module to ensure - files closing. - -- Issue #21672: Fix the behavior of ntpath.join on UNC-style paths. - -- Issue #19145: The times argument for itertools.repeat now handles - negative values the same way for keyword arguments as it does for - positional arguments. - -- Issue #21832: Require named tuple inputs to be exact strings. - -- Issue #8343: Named group error messages in the re module did not show - the name of the erroneous group. - -- Issue #21491: SocketServer: Fix a race condition in child processes reaping. - -- Issue #21635: The difflib SequenceMatcher.get_matching_blocks() method - cache didn't match the actual result. The former was a list of tuples - and the latter was a list of named tuples. - -- Issue #21722: The distutils "upload" command now exits with a non-zero - return code when uploading fails. Patch by Martin Dengler. - -- Issue #21766: Prevent a security hole in CGIHTTPServer by URL unquoting paths - before checking for a CGI script at that path. - -- Issue #21310: Fixed possible resource leak in failed open(). - -- Issue #21304: Backport the key derivation function hashlib.pbkdf2_hmac from - Python 3 per PEP 466. - -- Issue #11709: Fix the pydoc.help function to not fail when sys.stdin is not a - valid file. - -- Issue #13223: Fix pydoc.writedoc so that the HTML documentation for methods - that use 'self' in the example code is generated correctly. - -- Issue #21552: Fixed possible integer overflow of too long string lengths in - the tkinter module on 64-bit platforms. - -- Issue #14315: The zipfile module now ignores extra fields in the central - directory that are too short to be parsed instead of letting a struct.unpack - error bubble up as this "bad data" appears in many real world zip files in - the wild and is ignored by other zip tools. - -- Issue #21402: Tkinter.ttk now works when default root window is not set. - -- Issue #10203: sqlite3.Row now truly supports sequence protocol. In particulr - it supports reverse() and negative indices. Original patch by Claudiu Popa. - -- Issue #8743: Fix interoperability between set objects and the - collections.Set() abstract base class. - -- Issue #21481: Argparse equality and inequality tests now return - NotImplemented when comparing to an unknown type. - -IDLE ----- - -- Issue #21940: Add unittest for WidgetRedirector. Initial patch by Saimadhav - Heblikar. - -- Issue #18592: Add unittest for SearchDialogBase. Patch by Phil Webster. - -- Issue #21694: Add unittest for ParenMatch. Patch by Saimadhav Heblikar. - -- Issue #21686: add unittest for HyperParser. Original patch by Saimadhav - Heblikar. - -- Issue #12387: Add missing upper(lower)case versions of default Windows key - bindings for Idle so Caps Lock does not disable them. Patch by Roger Serwy. - -- Issue #21695: Closing a Find-in-files output window while the search is - still in progress no longer closes Idle. - -- Issue #18910: Add unittest for textView. Patch by Phil Webster. - -- Issue #18292: Add unittest for AutoExpand. Patch by Saihadhav Heblikar. - -- Issue #18409: Add unittest for AutoComplete. Patch by Phil Webster. - -Tests ------ - -- Issue #20155: Changed HTTP method names in failing tests in test_httpservers - so that packet filtering software (specifically Windows Base Filtering Engine) - does not interfere with the transaction semantics expected by the tests. - -- Issue #19493: Refactored the ctypes test package to skip tests explicitly - rather than silently. - -- Issue #18492: All resources are now allowed when tests are not run by - regrtest.py. - -- Issue #21605: Added tests for Tkinter images. - -- Issue #21493: Added test for ntpath.expanduser(). Original patch by - Claudiu Popa. - -- Issue #19925: Added tests for the spwd module. Original patch by Vajrasky Kok. - -- Issue #13355: random.triangular() no longer fails with a ZeroDivisionError - when low equals high. - -- Issue #21522: Added Tkinter tests for Listbox.itemconfigure(), - PanedWindow.paneconfigure(), and Menu.entryconfigure(). - -- Issue #20635: Added tests for Tk geometry managers. - -Build ------ - -- Issue #21811: Anticipated fixes to support OS X versions > 10.9. - -Windows -------- - -- Issue #21671, CVE-2014-0224: The bundled version of OpenSSL has been - updated to 1.0.1h. - - -What's New in Python 2.7.7 -========================== - -*Release date: 2014-05-31* - -Build ------ - -- Issue #21462: Build the Windows installers with OpenSSL 1.0.1g. - -- Issue #19866: Include some test data in the Windows installers, so tests don't - fail. - - -What's New in Python 2.7.7 release candidate 1? -=============================================== - -*Release date: 2014-05-17* - -Core and Builtins ------------------ - -- Issue #21350: Fix file.writelines() to accept arbitrary buffer objects, - as advertised. Patch by Brian Kearns. - -- Issue #20437: Fixed 43 potential bugs when deleting object references. - -- Issue #21134: Fix segfault when str is called on an uninitialized - UnicodeEncodeError, UnicodeDecodeError, or UnicodeTranslateError object. - -- Issue #20494: Ensure that free()d memory arenas are really released on POSIX - systems supporting anonymous memory mappings. Patch by Charles-François - Natali. - -- Issue #17825: Cursor "^" is correctly positioned for SyntaxError and - IndentationError. - -- Raise a better error when non-unicode codecs are used for a file's coding - cookie. - -- Issue #17976: Fixed potential problem with file.write() not detecting IO error - by inspecting the return value of fwrite(). Based on patches by Jaakko Moisio - and Victor Stinner. - -- Issue #14432: Generator now clears the borrowed reference to the thread - state. Fix a crash when a generator is created in a C thread that is - destroyed while the generator is still used. The issue was that a generator - contains a frame, and the frame kept a reference to the Python state of the - destroyed C thread. The crash occurs when a trace function is setup. - -- Issue #19932: Fix typo in import.h, missing whitespaces in function prototypes. - -- Issue #19638: Fix possible crash / undefined behaviour from huge (more than 2 - billion characters) input strings in _Py_dg_strtod. - -- Issue #12546: Allow \x00 to be used as a fill character when using str, int, - float, and complex __format__ methods. - -Library -------- - -- Issue #10744: Fix PEP 3118 format strings on ctypes objects with a nontrivial - shape. - -- Issue #7776: Backport Fix ``Host:'' header and reconnection when using - http.client.HTTPConnection.set_tunnel() from Python 3. Patch by Nikolaus - Rath. - -- Issue #21306: Backport hmac.compare_digest from Python 3. This is part of PEP - 466. - -- Issue #21470: Do a better job seeding the random number generator by - using enough bytes to span the full state space of the Mersenne Twister. - -- Issue #21469: Reduced the risk of false positives in robotparser by - checking to make sure that robots.txt has been read or does not exist - prior to returning True in can_fetch(). - -- Issue #21321: itertools.islice() now releases the reference to the source - iterator when the slice is exhausted. Patch by Anton Afanasyev. - -- Issue #9291: Do not attempt to re-encode mimetype data read from registry in - ANSI mode. Initial patches by Dmitry Jemerov & Vladimir Iofik. - -- Issue #21349: Passing a memoryview to _winreg.SetValueEx now correctly raises - a TypeError where it previously crashed the interpreter. Patch by Brian Kearns - -- Issue #21529 (CVE-2014-4616): Fix arbitrary memory access in - JSONDecoder.raw_decode with a negative second parameter. Bug reported by Guido - Vranken. - -- Issue #21172: isinstance check relaxed from dict to collections.Mapping. - -- Issue #21191: In os.fdopen, never close the file descriptor when an exception - happens. - -- Issue #21149: Improved thread-safety in logging cleanup during interpreter - shutdown. Thanks to Devin Jeanpierre for the patch. - -- Fix possible overflow bug in strop.expandtabs. You shouldn't be using this - module! - -- Issue #20145: `assertRaisesRegex` now raises a TypeError if the second - argument is not a string or compiled regex. - -- Issue #21058: Fix a leak of file descriptor in tempfile.NamedTemporaryFile(), - close the file descriptor if os.fdopen() fails - -- Issue #20283: RE pattern methods now accept the string keyword parameters - as documented. The pattern and source keyword parameters are left as - deprecated aliases. - -- Issue #11599: When an external command (e.g. compiler) fails, distutils now - prints out the whole command line (instead of just the command name) if the - environment variable DISTUTILS_DEBUG is set. - -- Issue #4931: distutils should not produce unhelpful "error: None" messages - anymore. distutils.util.grok_environment_error is kept but doc-deprecated. - -- Improve the random module's default seeding to use 256 bits of entropy - from os.urandom(). This was already done for Python 3, mildly improving - security with a bigger seed space. - -- Issue #15618: Make turtle.py compatible with 'from __future__ import - unicode_literals'. Initial patch by Juancarlo Añez. - -- Issue #20501: fileinput module no longer reads whole file into memory when using - fileinput.hook_encoded. - -- Issue #6815: os.path.expandvars() now supports non-ASCII Unicode environment - variables names and values. - -- Issue #20635: Fixed grid_columnconfigure() and grid_rowconfigure() methods of - Tkinter widgets to work in wantobjects=True mode. - -- Issue #17671: Fixed a crash when use non-initialized io.BufferedRWPair. - Based on patch by Stephen Tu. - -- Issue #8478: Untokenizer.compat processes first token from iterator input. - Patch based on lines from Georg Brandl, Eric Snow, and Gareth Rees. - -- Issue #20594: Avoid name clash with the libc function posix_close. - -- Issue #19856: shutil.move() failed to move a directory to other directory - on Windows if source name ends with os.altsep. - -- Issue #14983: email.generator now always adds a line end after each MIME - boundary marker, instead of doing so only when there is an epilogue. This - fixes an RFC compliance bug and solves an issue with signed MIME parts. - -- Issue #20013: Some imap servers disconnect if the current mailbox is - deleted, and imaplib did not handle that case gracefully. Now it - handles the 'bye' correctly. - -- Issue #20426: When passing the re.DEBUG flag, re.compile() displays the - debug output every time it is called, regardless of the compilation cache. - -- Issue #20368: The null character now correctly passed from Tcl to Python (in - unicode strings only). Improved error handling in variables-related commands. - -- Issue #20435: Fix _pyio.StringIO.getvalue() to take into account newline - translation settings. - -- Issue #20288: fix handling of invalid numeric charrefs in HTMLParser. - -- Issue #19456: ntpath.join() now joins relative paths correctly when a drive - is present. - -- Issue #8260: The read(), readline() and readlines() methods of - codecs.StreamReader returned incomplete data when were called after - readline() or read(size). Based on patch by Amaury Forgeot d'Arc. - -- Issue #20374: Fix build with GNU readline >= 6.3. - -- Issue #14548: Make multiprocessing finalizers check pid before - running to cope with possibility of gc running just after fork. - (Backport from 3.x.) - -- Issue #20262: Warnings are raised now when duplicate names are added in the - ZIP file or too long ZIP file comment is truncated. - -- Issue #20270: urllib and urlparse now support empty ports. - -- Issue #20243: TarFile no longer raise ReadError when opened in write mode. - -- Issue #20245: The open functions in the tarfile module now correctly handle - empty mode. - -- Issue #20086: Restored the use of locale-independent mapping instead of - locale-dependent str.lower() in locale.normalize(). - -- Issue #20246: Fix buffer overflow in socket.recvfrom_into. - -- Issue #19082: Working SimpleXMLRPCServer and xmlrpclib examples, both in - modules and documentation. - -- Issue #13107: argparse and optparse no longer raises an exception when output - a help on environment with too small COLUMNS. Based on patch by - Elazar Gershuni. - -- Issue #20207: Always disable SSLv2 except when PROTOCOL_SSLv2 is explicitly - asked for. - -- Issue #20072: Fixed multiple errors in tkinter with wantobjects is False. - -- Issue #1065986: pydoc can now handle unicode strings. - -- Issue #16039: CVE-2013-1752: Change use of readline in imaplib module to - limit line length. Patch by Emil Lind. - -- Issue #19422: Explicitly disallow non-SOCK_STREAM sockets in the ssl - module, rather than silently let them emit clear text data. - -- Issue #20027: Fixed locale aliases for devanagari locales. - -- Issue #20067: Tkinter variables now work when wantobjects is false. - -- Issue #19020: Tkinter now uses splitlist() instead of split() in configure - methods. - -- Issue #12226: HTTPS is now used by default when connecting to PyPI. - -- Issue #20048: Fixed ZipExtFile.peek() when it is called on the boundary of - the uncompress buffer and read() goes through more than one readbuffer. - -- Issue #20034: Updated alias mapping to most recent locale.alias file - from X.org distribution using makelocalealias.py. - -- Issue #5815: Fixed support for locales with modifiers. Fixed support for - locale encodings with hyphens. - -- Issue #20026: Fix the sqlite module to handle correctly invalid isolation - level (wrong type). - -- Issue #18829: csv.Dialect() now checks type for delimiter, escapechar and - quotechar fields. Original patch by Vajrasky Kok. - -- Issue #19855: uuid.getnode() on Unix now looks on the PATH for the - executables used to find the mac address, with /sbin and /usr/sbin as - fallbacks. - -- Issue #20007: HTTPResponse.read(0) no more prematurely closes connection. - Original patch by Simon Sapin. - -- Issue #19912: Fixed numerous bugs in ntpath.splitunc(). - -- Issue #19623: Fixed writing to unseekable files in the aifc module. - Fixed writing 'ulaw' (lower case) compressed AIFC files. - -- Issue #17919: select.poll.register() again works with poll.POLLNVAL on AIX. - Fixed integer overflow in the eventmask parameter. - -- Issue #17200: telnetlib's read_until and expect timeout was broken by the - fix to Issue #14635 in Python 2.7.4 to be interpreted as milliseconds - instead of seconds when the platform supports select.poll (ie: everywhere). - It is now treated as seconds once again. - -- Issue #19099: The struct module now supports Unicode format strings. - -- Issue #19878: Fix segfault in bz2 module after calling __init__ twice with - non-existent filename. Initial patch by Vajrasky Kok. - -- Issue #16373: Prevent infinite recursion for ABC Set class comparisons. - -- Issue #19138: doctest's IGNORE_EXCEPTION_DETAIL now allows a match when - no exception detail exists (no colon following the exception's name, or - a colon does follow but no text follows the colon). - -- Issue #16231: Fixed pickle.Pickler to only fallback to its default pickling - behaviour when Pickler.persistent_id returns None, but not for any other - false values. This allows false values other than None to be used as - persistent IDs. This behaviour is consistent with cPickle. - -- Issue #11508: Fixed uuid.getnode() and uuid.uuid1() on environment with - virtual interface. Original patch by Kent Frazier. - -- Issue #11489: JSON decoder now accepts lone surrogates. - -- Fix test.test_support.bind_port() to not cause an error when Python was - compiled on a system with SO_REUSEPORT defined in the headers but run on - a system with an OS kernel that does not support that new socket option. - -- Issue #19633: Fixed writing not compressed 16- and 32-bit wave files on - big-endian platforms. - -- Issue #19449: in csv's writerow, handle non-string keys when generating the - error message that certain keys are not in the 'fieldnames' list. - -- Issue #12853: Fix NameError in distutils.command.upload. - -- Issue #19523: Closed FileHandler leak which occurred when delay was set. - -- Issue #1575020: Fixed support of 24-bit wave files on big-endian platforms. - -- Issue #19480: HTMLParser now accepts all valid start-tag names as defined - by the HTML5 standard. - -- Issue #17827: Add the missing documentation for ``codecs.encode`` and - ``codecs.decode``. - -- Issue #6157: Fixed Tkinter.Text.debug(). Original patch by Guilherme Polo. - -- Issue #6160: The bbox() method of tkinter.Spinbox now returns a tuple of - integers instead of a string. Based on patch by Guilherme Polo. - -- Issue #19286: Directories in ``package_data`` are no longer added to - the filelist, preventing failure outlined in the ticket. - -- Issue #6676: Ensure a meaningful exception is raised when attempting - to parse more than one XML document per pyexpat xmlparser instance. - (Original patches by Hirokazu Yamamoto and Amaury Forgeot d'Arc, with - suggested wording by David Gutteridge) - -- Issue #21311: Avoid exception in _osx_support with non-standard compiler - configurations. Patch by John Szakmeister. - -Tools/Demos ------------ - -- Issue #3561: The Windows installer now has an option, off by default, for - placing the Python installation into the system "Path" environment variable. - This was backported from Python 3.3. - -- Add support for ``yield from`` to 2to3. - -- Add support for the PEP 465 matrix multiplication operator to 2to3. - -- Issue #19936: Added executable bits or shebang lines to Python scripts which - requires them. Disable executable bits and shebang lines in test and - benchmark files in order to prevent using a random system python, and in - source files of modules which don't provide command line interface. - -IDLE ----- - -- Issue #18104: Add idlelib/idle_test/htest.py with a few sample tests to begin - consolidating and improving human-validated tests of Idle. Change other files - as needed to work with htest. Running the module as __main__ runs all tests. - -- Issue #21139: Change default paragraph width to 72, the PEP 8 recommendation. - -- Issue #21284: Paragraph reformat test passes after user changes reformat width. - -- Issue #20406: Use Python application icons for Idle window title bars. - Patch mostly by Serhiy Storchaka. - -- Issue #21029: Occurrences of "print" are now consistently colored as - being a keyword (the colorizer doesn't know if print functions are - enabled in the source). - -- Issue #17721: Remove non-functional configuration dialog help button until we - make it actually gives some help when clicked. Patch by Guilherme Simões. - -- Issue #17390: Add Python version to Idle editor window title bar. - Original patches by Edmond Burnett and Kent Johnson. - -- Issue #20058: sys.stdin.readline() in IDLE now always returns only one line. - -- Issue #19481: print() of unicode, str or bytearray subclass instance in IDLE - no more hangs. - -- Issue #18270: Prevent possible IDLE AttributeError on OS X when no initial - shell window is present. - -- Issue #17654: Ensure IDLE menus are customized properly on OS X for - non-framework builds and for all variants of Tk. - -Tests ------ - -- Issue #17752: Fix distutils tests when run from the installed location. - -- Issue #18604: Consolidated checks for GUI availability. All platforms now - at least check whether Tk can be instantiated when the GUI resource is - requested. - -- Issue #20946: Correct alignment assumptions of some ctypes tests. - -- Issue #20743: Fix a reference leak in test_tcl. - -- Issue #20510: Rewrote test_exit in test_sys to match existing comments, - use modern unittest features, and use helpers from test.script_helper - instead of using subprocess directly. Initial patch by Gareth Rees. - -- Issue #20532: Tests which use _testcapi now are marked as CPython only. - -- Issue #19920: Added tests for TarFile.list(). Based on patch by Vajrasky Kok. - -- Issue #19990: Added tests for the imghdr module. Based on patch by - Claudiu Popa. - -- Issue #19804: The test_find_mac test in test_uuid is now skipped if the - ifconfig executable is not available. - -- Issue #19886: Use better estimated memory requirements for bigmem tests. - -- Backported tests for Tkinter variables. - -- Issue #19320: test_tcl no longer fails when wantobjects is false. - -- Issue #19683: Removed empty tests from test_minidom. Initial patch by - Ajitesh Gupta. - -- Issue #19928: Implemented a test for repr() of cell objects. - -- Issue #19595, #19987: Re-enabled a long-disabled test in test_winsound. - -- Issue #19588: Fixed tests in test_random that were silently skipped most - of the time. Patch by Julian Gindi. - -- Issue #17883: Tweak test_tcl testLoadWithUNC to skip the test in the - event of a permission error on Windows and to properly report other - skip conditions. - -- Issue #17883: Backported _is_gui_available() in test.test_support to - avoid hanging Windows buildbots on test_ttk_guionly. - -- Issue #18702, #19572: All skipped tests now reported as skipped. - -- Issue #19085: Added basic tests for all tkinter widget options. - -- Issue #20605: Make test_socket getaddrinfo OS X segfault test more robust. - -- Issue #20939: Avoid various network test failures due to new - redirect of http://www.python.org/ to https://www.python.org: - use http://www.example.com instead. - -- Issue #21093: Prevent failures of ctypes test_macholib on OS X if a - copy of libz exists in $HOME/lib or /usr/local/lib. - -Build ------ - -- Issue #21285: Refactor and fix curses configure check to always search - in a ncursesw directory. - -Documentation -------------- - -- Issue #20255: Update the about and bugs pages. - -- Issue #18840: Introduce the json module in the tutorial, and de-emphasize - the pickle module. - -- Issue #19795: Improved markup of True/False constants. - -Windows -------- - -- Issue #21303, #20565: Updated the version of Tcl/Tk included in the - installer from 8.5.2 to 8.5.15. - -Mac OS X --------- - -- As of 2.7.8, the 32-bit-only installer will support OS X 10.5 - and later systems as is currently done for Python 3.x installers. - For 2.7.7 only, we will provide three installers: - the legacy deprecated 10.3+ 32-bit-only format; - the newer 10.5+ 32-bit-only format; - and the unchanged 10.6+ 64-/32-bit format. - Although binary installers will no longer be available from - python.org as of 2.7.8, it will still be possible to build from - source on 10.3.9 and 10.4 systems if necessary. - See Mac/BuildScript/README.txt for more information. - - -Whats' New in Python 2.7.6? -=========================== - -*Release date: 2013-11-10* - -Library -------- - -- Issue #19435: Fix directory traversal attack on CGIHttpRequestHandler. - -IDLE ----- - -- Issue #19426: Fixed the opening of Python source file with specified encoding. - -Tests ------ - -- Issue #19457: Fixed xmlcharrefreplace tests on wide build when tests are - loaded from .py[co] files. - -Build ------ - -- Issue #15663: Revert OS X installer built-in Tcl/Tk support for 2.7.6. - Some third-party projects, such as Matplotlib and PIL/Pillow, - depended on being able to build with Tcl and Tk frameworks in - /Library/Frameworks. - - -What's New in Python 2.7.6 release candidate 1? -=============================================== - -*Release date: 2013-10-26* - -Core and Builtins ------------------ - -- Issue #18603: Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the - Python executable and not removed by the linker's optimizer. - -- Issue #19279: UTF-7 decoder no more produces illegal unicode strings. - -- Issue #18739: Fix an inconsistency between math.log(n) and math.log(long(n)); - the results could be off from one another by a ulp or two. - -- Issue #13461: Fix a crash in the "replace" error handler on 64-bit platforms. - Patch by Yogesh Chaudhari. - -- Issue #15866: The xmlcharrefreplace error handler no more produces two XML - entities for a non-BMP character on narrow build. - -- Issue #18184: PyUnicode_FromFormat() and PyUnicode_FromFormatV() now raise - OverflowError when an argument of %c format is out of range. - -- Issue #18137: Detect integer overflow on precision in float.__format__() - and complex.__format__(). - -- Issue #18038: SyntaxError raised during compilation sources with illegal - encoding now always contains an encoding name. - -- Issue #18019: Fix crash in the repr of dictionaries containing their own - views. - -- Issue #18427: str.replace could crash the interpreter with huge strings. - -Library -------- - -- Issue #19393: Fix symtable.symtable function to not be confused when there are - functions or classes named "top". - -- Issue #19327: Fixed the working of regular expressions with too big charset. - -- Issue #19350: Increasing the test coverage of macurl2path. Patch by Colin - Williams. - -- Issue #19352: Fix unittest discovery when a module can be reached - through several paths (e.g. under Debian/Ubuntu with virtualenv). - -- Issue #15207: Fix mimetypes to read from correct part of Windows registry - Original patch by Dave Chambers - -- Issue #8964: fix platform._sys_version to handle IronPython 2.6+. - Patch by Martin Matusiak. - -- Issue #16038: CVE-2013-1752: ftplib: Limit amount of data read by - limiting the call to readline(). Original patch by Michał - Jastrzębski and Giampaolo Rodola. - -- Issue #19276: Fixed the wave module on 64-bit big-endian platforms. - -- Issue #18458: Prevent crashes with newer versions of libedit. Its readline - emulation has changed from 0-based indexing to 1-based like gnu readline. - Original patch by Ronald Oussoren. - -- Issue #18919: If the close() method of a writer in the sunau or wave module - failed, second invocation of close() and destructor no more raise an - exception. Second invocation of close() on sunau writer now has no effects. - The aifc module now accepts lower case of names of the 'ulaw' and 'alaw' - codecs. - -- Issue #19131: The aifc module now correctly reads and writes sampwidth of - compressed streams. - -- Issue #19158: A rare race in BoundedSemaphore could allow .release() too - often. - -- Issue #18037: 2to3 now escapes '\u' and '\U' in native strings. - -- Issue #19137: The pprint module now correctly formats empty set and frozenset - and instances of set and frozenset subclasses. - -- Issue #16040: CVE-2013-1752: nntplib: Limit maximum line lengths to 2048 to - prevent readline() calls from consuming too much memory. Patch by Jyrki - Pulliainen. - -- Issue #12641: Avoid passing "-mno-cygwin" to the mingw32 compiler, except - when necessary. Patch by Oscar Benjamin. - -- Properly initialize all fields of a SSL object after allocation. - -- Issue #4366: Fix building extensions on all platforms when --enable-shared - is used. - -- Issue #18950: Fix miscellaneous bugs in the sunau module. - Au_read.readframes() now updates current file position and reads correct - number of frames from multichannel stream. Au_write.writeframesraw() now - correctly updates current file position. Au_read and Au_write now correctly - work with file object if start file position is not a zero. - -- Issue #18050: Fixed an incompatibility of the re module with Python 2.7.3 - and older binaries. - -- Issue #19037: The mailbox module now makes all changes to maildir files - before moving them into place, to avoid race conditions with other programs - that may be accessing the maildir directory. - -- Issue #14984: On POSIX systems, when netrc is called without a filename - argument (and therefore is reading the user's $HOME/.netrc file), it now - enforces the same security rules as typical ftp clients: the .netrc file must - be owned by the user that owns the process and must not be readable by any - other user. - -- Issue #17324: Fix http.server's request handling case on trailing '/'. Patch - contributed by Vajrasky Kok. - -- Issue #19018: The heapq.merge() function no longer suppresses IndexError - in the underlying iterables. - -- Issue #18784: The uuid module no more attempts to load libc via ctypes.CDLL, - if all necessary functions are already found in libuuid. - Patch by Evgeny Sologubov. - -- Issue #14971: unittest test discovery no longer gets confused when a function - has a different __name__ than its name in the TestCase class dictionary. - -- Issue #18672: Fixed format specifiers for Py_ssize_t in debugging output in - the _sre module. - -- Issue #18830: inspect.getclasstree() no more produces duplicated entries even - when input list contains duplicates. - -- Issue #18909: Fix _tkinter.tkapp.interpaddr() on Windows 64-bit, don't cast - 64-bit pointer to long (32 bits). - -- Issue #18876: The FileIO.mode attribute now better reflects the actual mode - under which the file was opened. Patch by Erik Bray. - -- Issue #18851: Avoid a double close of subprocess pipes when the child - process fails starting. - -- Issue #18418: After fork(), reinit all threads states, not only active ones. - Patch by A. Jesse Jiryu Davis. - -- Issue #11973: Fix a problem in kevent. The flags and fflags fields are now - properly handled as unsigned. - -- Issue #16809: Fixed some tkinter incompatibilities with Tcl/Tk 8.6. - -- Issue #16809: Tkinter's splitlist() and split() methods now accept Tcl_Obj - argument. - -- Issue #17119: Fixed integer overflows when processing large Unicode strings - and tuples in the tkinter module. - -- Issue #15233: Python now guarantees that callables registered with the atexit - module will be called in a deterministic order. - -- Issue #18747: Re-seed OpenSSL's pseudo-random number generator after fork. - A pthread_atfork() parent handler is used to seed the PRNG with pid, time - and some stack data. - -- Issue #8865: Concurrent invocation of select.poll.poll() now raises a - RuntimeError exception. Patch by Christian Schubert. - -- Issue #13461: Fix a crash in the TextIOWrapper.tell method on 64-bit - platforms. Patch by Yogesh Chaudhari. - -- Issue #18777: The ssl module now uses the new CRYPTO_THREADID API of - OpenSSL 1.0.0+ instead of the deprecated CRYPTO id callback function. - -- Issue #18768: Correct doc string of RAND_edg(). Patch by Vajrasky Kok. - -- Issue #18178: Fix ctypes on BSD. dlmalloc.c was compiled twice which broke - malloc weak symbols. - -- Issue #18709: Fix CVE-2013-4238. The SSL module now handles NULL bytes - inside subjectAltName correctly. Formerly the module has used OpenSSL's - GENERAL_NAME_print() function to get the string representation of ASN.1 - strings for ``rfc822Name`` (email), ``dNSName`` (DNS) and - ``uniformResourceIdentifier`` (URI). - -- Issue #18756: Improve error reporting in os.urandom() when the failure - is due to something else than /dev/urandom not existing (for example, - exhausting the file descriptor limit). - -- Fix tkinter regression introduced by the security fix in issue #16248. - -- Issue #18676: Change 'positive' to 'non-negative' in queue.py put and get - docstrings and ValueError messages. Patch by Zhongyue Luo - -- Issue #17998: Fix an internal error in regular expression engine. - -- Issue #17557: Fix os.getgroups() to work with the modified behavior of - getgroups(2) on OS X 10.8. Original patch by Mateusz Lenik. - -- Issue #18455: multiprocessing should not retry connect() with same socket. - -- Issue #18513: Fix behaviour of cmath.rect w.r.t. signed zeros on OS X 10.8 + - gcc. - -- Issue #18101: Tcl.split() now process Unicode strings nested in a tuple as it - do with byte strings. - -- Issue #18347: ElementTree's html serializer now preserves the case of - closing tags. - -- Issue #17261: Ensure multiprocessing's proxies use proper address. - -- Issue #17097: Make multiprocessing ignore EINTR. - -- Issue #18155: The csv module now correctly handles csv files that use - a delimiter character that has a special meaning in regexes, instead of - throwing an exception. - -- Issue #18135: ssl.SSLSocket.write() now raises an OverflowError if the input - string in longer than 2 gigabytes. The ssl module does not support partial - write. - -- Issue #18167: cgi.FieldStorage no longer fails to handle multipart/form-data - when \r\n appears at end of 65535 bytes without other newlines. - -- Issue #17403: urllib.parse.robotparser normalizes the urls before adding to - ruleline. This helps in handling certain types invalid urls in a conservative - manner. Patch contributed by Mher Movsisyan. - -- Implement inequality on weakref.WeakSet. - -- Issue #17981: Closed socket on error in SysLogHandler. - -- Issue #18015: Fix unpickling of 2.7.3 and 2.7.4 namedtuples. - -- Issue #17754: Make ctypes.util.find_library() independent of the locale. - -- Fix typos in the multiprocessing module. - -- Issue #17269: Workaround for socket.getaddrinfo crash on MacOS X - with port None or "0" and flags AI_NUMERICSERV. - -- Issue #18080: When building a C extension module on OS X, if the compiler - is overridden with the CC environment variable, use the new compiler as - the default for linking if LDSHARED is not also overridden. This restores - Distutils behavior introduced in 2.7.3 and inadvertently dropped in 2.7.4. - -- Issue #18071: C extension module builds on OS X could fail with TypeError - if the Xcode command line tools were not installed. - -- Issue #18113: Fixed a refcount leak in the curses.panel module's - set_userptr() method. Reported by Atsuo Ishimoto. - -- Issue #18849: Fixed a Windows-specific tempfile bug where collision with an - existing directory caused mkstemp and related APIs to fail instead of - retrying. Report and fix by Vlad Shcherbina. - -- Issue #19400: Prevent extension module build failures with Xcode 5 on OS X - 10.8+ when using a universal Python that included a PPC architecture, - such as with a python.org 32-bit-only binary installer. - -Tools/Demos ------------ - -- Issue #18873: 2to3 and the findnocoding.py script now detect Python source - code encoding only in comment lines. - -- Issue #18817: Fix a resource warning in Lib/aifc.py demo. - -- Issue #18439: Make patchcheck work on Windows for ACKS, NEWS. - -- Issue #18448: Fix a typo in Demo/newmetaclasses/Eiffel.py. - -- Issue #12990: The "Python Launcher" on OSX could not launch python scripts - that have paths that include wide characters. - -Build ------ - -- Issue #16067: Add description into MSI file to replace installer's temporary name. - -- Issue #18256: Compilation fix for recent AIX releases. Patch by - David Edelsohn. - -- Issue #18098: The deprecated OS X Build Applet.app fails to build on - OS X 10.8 systems because the Apple-deprecated QuickDraw headers have - been removed from Xcode 4. Skip building it in this case. - -- Issue #1584: Provide options to override default search paths for - Tcl and Tk when building _tkinter. - -- Issue #15663: Tcl/Tk 8.5.15 is now included with the OS X 10.6+ - 64-bit/32-bit installer for 10.6+. It is no longer necessary - to install a third-party version of Tcl/Tk 8.5 to work around the - problems in the Apple-supplied Tcl/Tk 8.5 shipped in OS X 10.6 - and later releases. - -- Issue #19019: Change the OS X installer build script to use CFLAGS instead - of OPT for special build options. By setting OPT, some compiler-specific - options like -fwrapv were overridden and thus not used, which could result - in broken interpreters when building with clang. - -IDLE ----- - -- Issue #18873: IDLE now detects Python source code encoding only in comment - lines. - -- Issue #18988: The "Tab" key now works when a word is already autocompleted. - -- Issue #18489: Add tests for SearchEngine. Original patch by Phil Webster. - -- Issue #18429: Format / Format Paragraph, now works when comment blocks - are selected. As with text blocks, this works best when the selection - only includes complete lines. - -- Issue #18226: Add docstrings and unittests for FormatParagraph.py. - Original patches by Todd Rovito and Phil Webster. - -- Issue #18279: Format - Strip trailing whitespace no longer marks a file as - changed when it has not been changed. This fix followed the addition of a - test file originally written by Phil Webster (the issue's main goal). - -- Issue #18539: Calltips now work for float default arguments. - -- Issue #7136: In the Idle File menu, "New Window" is renamed "New File". - Patch by Tal Einat, Roget Serwy, and Todd Rovito. - -- Issue #8515: Set __file__ when run file in IDLE. - Initial patch by Bruce Frederiksen. - -- Issue #5492: Avoid traceback when exiting IDLE caused by a race condition. - -- Issue #17511: Keep IDLE find dialog open after clicking "Find Next". - Original patch by Sarah K. - -- Issue #15392: Create a unittest framework for IDLE. - Preliminary patch by Rajagopalasarma Jayakrishnan - See Lib/idlelib/idle_test/README.txt for how to run Idle tests. - -- Issue #14146: Highlight source line while debugging on Windows. - -- Issue #17532: Always include Options menu for IDLE on OS X. - Patch by Guilherme Simões. - -Tests ------ - -- Issue #18919: Added tests for the sunau module. Unified and extended tests - for audio modules: aifc, sunau and wave. - -- Issue #18792: Use "127.0.0.1" or "::1" instead of "localhost" as much as - possible, since "localhost" goes through a DNS lookup under recent Windows - versions. - -- Issue #18357: add tests for dictview set difference. - Patch by Fraser Tweedale. - -- Issue #11185: Fix test_wait4 under AIX. Patch by Sébastien Sablé. - -- Issue #18094: test_uuid no more reports skipped tests as passed. - -- Issue #11995: test_pydoc doesn't import all sys.path modules anymore. - -Documentation -------------- - -- Issue #18758: Fixed and improved cross-references. - -- Issue #18718: datetime documentation contradictory on leap second support. - -- Issue #17701: Improving strftime documentation. - -- Issue #17844: Refactor a documentation of Python specific encodings. - Add links to encoders and decoders for binary-to-binary codecs. - - -What's New in Python 2.7.5? -=========================== - -*Release date: 2013-05-12* - -Core and Builtins ------------------ - -- Issue #15535: Fixed regression in the pickling of named tuples by - removing the __dict__ property introduced in 2.7.4. - -- Issue #17857: Prevent build failures with pre-3.5.0 versions of sqlite3, - such as was shipped with Centos 5 and Mac OS X 10.4. - -- Issue #17703: Fix a regression where an illegal use of Py_DECREF() after - interpreter finalization can cause a crash. - -- Issue #16447: Fixed potential segmentation fault when setting __name__ on a - class. - -- Issue #17610: Don't rely on non-standard behavior of the C qsort() function. - -Library -------- - -- Issue #17979: Fixed the re module in build with --disable-unicode. - -- Issue #17606: Fixed support of encoded byte strings in the XMLGenerator - .characters() and ignorableWhitespace() methods. Original patch by Sebastian - Ortiz Vasquez. - -- Issue #16601: Restarting iteration over tarfile no more continues from where - it left off. Patch by Michael Birtwell. - -- Issue #16584: in filecomp._cmp, catch IOError as well as os.error. - Patch by Till Maas. - -- Issue #17926: Fix dbm.__contains__ on 64-bit big-endian machines. - -- Issue #19267: Fix support of multibyte encoding (ex: UTF-16) in the logging - module. - -- Issue #17918: When using SSLSocket.accept(), if the SSL handshake failed - on the new socket, the socket would linger indefinitely. Thanks to - Peter Saveliev for reporting. - -- Issue #17289: The readline module now plays nicer with external modules - or applications changing the rl_completer_word_break_characters global - variable. Initial patch by Bradley Froehle. - -- Issue #12181: select module: Fix struct kevent definition on OpenBSD 64-bit - platforms. Patch by Federico Schwindt. - -- Issue #14173: Avoid crashing when reading a signal handler during - interpreter shutdown. - -- Issue #16316: mimetypes now recognizes the .xz and .txz (.tar.xz) extensions. - -- Issue #17192: Restore the patch for Issue #10309 which was ommitted - in 2.7.4 when updating the bundled version of libffi used by ctypes. - -- Issue #17843: Removed test data file that was triggering false-positive virus - warnings with certain antivirus software. - -- Issue #17353: Plistlib emitted empty data tags with deeply nested datastructures - -- Issue #11714: Use 'with' statements to assure a Semaphore releases a - condition variable. Original patch by Thomas Rachel. - -- Issue #17795: Reverted backwards-incompatible change in SysLogHandler with - Unix domain sockets. - -- Issue #17555: Fix ForkAwareThreadLock so that size of after fork - registry does not grow exponentially with generation of process. - -- Issue #17710: Fix cPickle raising a SystemError on bogus input. - -- Issue #17341: Include the invalid name in the error messages from re about - invalid group names. - -- Issue #17016: Get rid of possible pointer wraparounds and integer overflows - in the re module. Patch by Nickolai Zeldovich. - -- Issue #17536: Add to webbrowser's browser list: xdg-open, gvfs-open, - www-browser, x-www-browser, chromium browsers, iceweasel, iceape. - -- Issue #17656: Fix extraction of zip files with unicode member paths. - -- Issue #17666: Fix reading gzip files with an extra field. - -- Issue #13150, #17512: sysconfig no longer parses the Makefile and config.h - files when imported, instead doing it at build time. This makes importing - sysconfig faster and reduces Python startup time by 20%. - -- Issue #13163: Rename operands in smtplib.SMTP._get_socket to correct names; - fixes otherwise misleading output in tracebacks and when when debug is on. - -- Issue #17526: fix an IndexError raised while passing code without filename to - inspect.findsource(). Initial patch by Tyler Doyle. - -Build ------ - -- Issue #17547: In configure, explicitly pass -Wformat for the benefit for GCC - 4.8. - -- Issue #17682: Add the _io module to Modules/Setup.dist (commented out). - -- Issue #17086: Search the include and library directories provided by the - compiler. - -Tests ------ - -- Issue #17928: Fix test_structmembers on 64-bit big-endian machines. - -- Issue #17883: Fix buildbot testing of Tkinter on Windows. - Patch by Zachary Ware. - -- Issue #7855: Add tests for ctypes/winreg for issues found in IronPython. - Initial patch by Dino Viehland. - -- Issue #17712: Fix test_gdb failures on Ubuntu 13.04. - -- Issue #17065: Use process-unique key for winreg tests to avoid failures if - test is run multiple times in parallel (eg: on a buildbot host). - -IDLE ----- - -- Issue #17838: Allow sys.stdin to be reassigned. - -- Issue #14735: Update IDLE docs to omit "Control-z on Windows". - -- Issue #17585: Fixed IDLE regression. Now closes when using exit() or quit(). - -- Issue #17657: Show full Tk version in IDLE's about dialog. - Patch by Todd Rovito. - -- Issue #17613: Prevent traceback when removing syntax colorizer in IDLE. - -- Issue #1207589: Backwards-compatibility patch for right-click menu in IDLE. - -- Issue #16887: IDLE now accepts Cancel in tabify/untabify dialog box. - -- Issue #14254: IDLE now handles readline correctly across shell restarts. - -- Issue #17614: IDLE no longer raises exception when quickly closing a file. - -- Issue #6698: IDLE now opens just an editor window when configured to do so. - -- Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer - raises an exception. - -- Issue #6649: Fixed missing exit status in IDLE. Patch by Guilherme Polo. - -- Issue #17390: Display Python version on Idle title bar. - Initial patch by Edmond Burnett. - -Documentation -------------- - -- Issue #15940: Specify effect of locale on time functions. - -- Issue #6696: add documentation for the Profile objects, and improve - profile/cProfile docs. Patch by Tom Pinckney. - - -What's New in Python 2.7.4? -=========================== - -*Release date: 2013-04-06* - -Build ------ - -- Issue #17550: Fix the --enable-profiling configure switch. - -Core and Builtins ------------------ - -- Issue #15801 (again): With string % formatting, relax the type check for a - mapping such that any type with a __getitem__ can be used on the right hand - side. - -IDLE ----- - -- Issue #17625: In IDLE, close the replace dialog after it is used. - -Tests ------ - -- Issue #17835: Fix test_io when the default OS pipe buffer size is larger - than one million bytes. - -- Issue #17531: Fix tests that thought group and user ids were always the int - type. Also, always allow -1 as a valid group and user id. - -- Issue #17533: Fix test_xpickle with older versions of Python 2.5. - -Documentation -------------- - -- Issue #17538: Document XML vulnerabilties - - -What's New in Python 2.7.4 release candidate 1 -============================================== - -*Release date: 2013-03-23* - -Core and Builtins ------------------ - -- Issue #10211: Buffer objects expose the new buffer interface internally - -- Issue #16445: Fixed potential segmentation fault when deleting an exception - message. - -- Issue #17275: Corrected class name in init error messages of the C version of - BufferedWriter and BufferedRandom. - -- Issue #7963: Fixed misleading error message that issued when object is - called without arguments. - -- Issue #5308: Raise ValueError when marshalling too large object (a sequence - with size >= 2**31), instead of producing illegal marshal data. - -- Issue #17043: The unicode-internal decoder no longer read past the end of - input buffer. - -- Issue #16979: Fix error handling bugs in the unicode-escape-decode decoder. - -- Issue #10156: In the interpreter's initialization phase, unicode globals - are now initialized dynamically as needed. - -- Issue #16975: Fix error handling bug in the escape-decode decoder. - -- Issue #14850: Now a charmap decoder treats U+FFFE as "undefined mapping" - in any mapping, not only in a Unicode string. - -- Issue #11461: Fix the incremental UTF-16 decoder. Original patch by - Amaury Forgeot d'Arc. - -- Issue #16367: Fix FileIO.readall() on Windows for files larger than 2 GB. - -- Issue #15516: Fix a bug in PyString_FromFormat where it failed to properly - ignore errors from a __int__() method. - -- Issue #16839: Fix a segfault when calling unicode() on a classic class early - in interpreter initialization. - -- Issue #16761: Calling ``int()`` and ``long()`` with *base* argument only - now raises TypeError. - -- Issue #16759: Support the full DWORD (unsigned long) range in Reg2Py - when retrieving a REG_DWORD value. This corrects functions like - winreg.QueryValueEx that may have been returning truncated values. - -- Issue #14420: Support the full DWORD (unsigned long) range in Py2Reg - when passed a REG_DWORD value. Fixes ValueError in winreg.SetValueEx when - given a long. - -- Issue #13863: Work around buggy 'fstat' implementation on Windows / NTFS that - lead to incorrect timestamps (off by one hour) being stored in .pyc files on - some systems. - -- Issue #16602: When a weakref's target was part of a long deallocation - chain, the object could remain reachable through its weakref even though - its refcount had dropped to zero. - -- Issue #9011: Fix hacky AST code that modified the CST when compiling - a negated numeric literal. - -- Issue #16306: Fix multiple error messages when unknown command line - parameters where passed to the interpreter. Patch by Hieu Nguyen. - -- Issue #15379: Fix passing of non-BMP characters as integers for the charmap - decoder (already working as unicode strings). Patch by Serhiy Storchaka. - -- Issue #16453: Fix equality testing of dead weakref objects. - -- Issue #9535: Fix pending signals that have been received but not yet - handled by Python to not persist after os.fork() in the child process. - -- Issue #15001: fix segfault on "del sys.modules['__main__']". Patch by Victor - Stinner. - -- Issue #5057: the peepholer no longer optimizes subscription on unicode - literals (e.g. u'foo'[0]) in order to produce compatible pyc files between - narrow and wide builds. - -- Issue #8401: assigning an int to a bytearray slice (e.g. b[3:4] = 5) now - raises an error. - -- Issue #14700: Fix buggy overflow checks for large width and precision - in string formatting operations. - -- Issue #16345: Fix an infinite loop when ``fromkeys`` on a dict subclass - received a nonempty dict from the constructor. - -- Issue #6074: Ensure cached bytecode files can always be updated by the - user that created them, even when the source file is read-only. - -- Issue #14783: Improve int() and long() docstrings and switch docstrings for - unicode(), slice(), range(), and xrange() to use multi-line signatures. - -- Issue #16030: Fix overflow bug in computing the `repr` of an xrange object - with large start, step or length. - -- Issue #16029: Fix overflow bug occurring when pickling xranges with large - start, step or length. - -- Issue #16037: Limit httplib's _read_status() function to work around broken - HTTP servers and reduce memory usage. It's actually a backport of a Python - 3.2 fix. Thanks to Adrien Kunysz. - -- Issue #16588: Silence unused-but-set warnings in Python/thread_pthread - -- Issue #13992: The trashcan mechanism is now thread-safe. This eliminates - sporadic crashes in multi-thread programs when several long deallocator - chains ran concurrently and involved subclasses of built-in container - types. - -- Issue #15801: Make sure mappings passed to '%' formatting are actually - subscriptable. - -- Issue #15604: Update uses of PyObject_IsTrue() to check for and handle - errors correctly. Patch by Serhiy Storchaka. - -- Issue #14579: Fix error handling bug in the utf-16 decoder. Patch by - Serhiy Storchaka. - -- Issue #15368: An issue that caused bytecode generation to be - non-deterministic when using randomized hashing (-R) has been fixed. - -- Issue #15897: zipimport.c doesn't check return value of fseek(). - Patch by Felipe Cruz. - -- Issue #16369: Global PyTypeObjects not initialized with PyType_Ready(...). - -- Issue #15033: Fix the exit status bug when modules invoked using -m switch, - return the proper failure return value (1). Patch contributed by Jeff Knupp. - -- Issue #12268: File readline, readlines and read() methods no longer lose - data when an underlying read system call is interrupted. IOError is no - longer raised due to a read system call returning EINTR from within these - methods. - -- Issue #13512: Create ~/.pypirc securely (CVE-2011-4944). Initial patch by - Philip Jenvey, tested by Mageia and Debian. - -- Issue #7719: Make distutils ignore ``.nfs*`` files instead of choking later - on. Initial patch by SilentGhost and Jeff Ramnani. - -- Issue #10053: Don't close FDs when FileIO.__init__ fails. Loosely based on - the work by Hirokazu Yamamoto. - -- Issue #14775: Fix a potential quadratic dict build-up due to the garbage - collector repeatedly trying to untrack dicts. - -- Issue #14494: Fix __future__.py and its documentation to note that - absolute imports are the default behavior in 3.0 instead of 2.7. - Patch by Sven Marnach. - -- Issue #14761: Fix potential leak on an error case in the import machinery. - -- Issue #14699: Fix calling the classmethod descriptor directly. - -- Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError - when repr() or str() is called on such an object. - -- Issue #14658: Fix binding a special method to a builtin implementation of a - special method with a different name. - -- Issue #14612: Fix jumping around with blocks by setting f_lineno. - -- Issue #13889: Check and (if necessary) set FPU control word before calling - any of the dtoa.c string <-> float conversion functions, on MSVC builds of - Python. This fixes issues when embedding Python in a Delphi app. - -- Issue #14505: Fix file descriptor leak when deallocating file objects - created with PyFile_FromString(). - -- Issue #14474: Save and restore exception state in thread.start_new_thread() - while writing error message if the thread leaves an unhandled exception. - -- Issue #13019: Fix potential reference leaks in bytearray.extend(). Patch - by Suman Saha. - -- Issue #14378: Fix compiling ast.ImportFrom nodes with a "__future__" string as - the module name that was not interned. - -- Issue #14331: Use significantly less stack space when importing modules by - allocating path buffers on the heap instead of the stack. - -- Issue #14334: Prevent in a segfault in type.__getattribute__ when it was not - passed strings. Also fix segfaults in the __getattribute__ and __setattr__ - methods of old-style classes. - -- Issue #14161: fix the __repr__ of file objects to escape the file name. - -- Issue #1469629: Allow cycles through an object's __dict__ slot to be - collected. (For example if ``x.__dict__ is x``). - -- Issue #13521: dict.setdefault() now does only one lookup for the given key, - making it "atomic" for many purposes. Patch by Filip Gruszczyński. - -- Issue #1602133: on Mac OS X a shared library build (``--enable-shared``) - now fills the ``os.environ`` variable correctly. - -- Issue #10538: When using the "s*" code with PyArg_ParseTuple() to fill a - Py_buffer structure with data from an object supporting only the old - PyBuffer interface, a reference to the source objects is now properly added - to the Py_buffer.obj member. - -Library -------- - -- Issue #12718: Fix interaction with winpdb overriding __import__ by setting - importer attribute on BaseConfigurator instance. - -- Issue #17521: Corrected non-enabling of logger following two calls to - fileConfig(). - -- Issue #17508: Corrected MemoryHandler configuration in dictConfig() where - the target handler wasn't configured first. - -- Issue #10212: cStringIO and struct.unpack support new buffer objects. - -- Issue #12098: multiprocessing on Windows now starts child processes - using the same sys.flags as the current process. Initial patch by - Sergey Mezentsev. - -- Issue #8862: Fixed curses cleanup when getkey is interrupted by a signal. - -- Issue #9090: When a socket with a timeout fails with EWOULDBLOCK or EAGAIN, - retry the select() loop instead of bailing out. This is because select() - can incorrectly report a socket as ready for reading (for example, if it - received some data with an invalid checksum). - -- Issue #1285086: Get rid of the refcounting hack and speed up urllib.unquote(). - -- Issue #17368: Fix an off-by-one error in the Python JSON decoder that caused - a failure while decoding empty object literals when object_pairs_hook was - specified. - -- Issue #17278: Fix a crash in heapq.heappush() and heapq.heappop() when - the list is being resized concurrently. - -- Issue #17018: Make Process.join() retry if os.waitpid() fails with EINTR. - -- Issue #14720: sqlite3: Convert datetime microseconds correctly. - Patch by Lowe Thiderman. - -- Issue #17225: JSON decoder now counts columns in the first line starting - with 1, as in other lines. - -- Issue #7842: backported fix for py_compile.compile() syntax error handling. - -- Issue #13153: Tkinter functions now raise TclError instead of ValueError when - a unicode argument contains non-BMP character. - -- Issue #9669: Protect re against infinite loops on zero-width matching in - non-greedy repeat. Patch by Matthew Barnett. - -- Issue #13169: The maximal repetition number in a regular expression has been - increased from 65534 to 2147483647 (on 32-bit platform) or 4294967294 (on - 64-bit). - -- Issue #16743: Fix mmap overflow check on 32 bit Windows. - -- Issue #11311: StringIO.readline(0) now returns an empty string as all other - file-like objects. - -- Issue #16800: tempfile.gettempdir() no longer left temporary files when - the disk is full. Original patch by Amir Szekely. - -- Issue #13555: cPickle now supports files larger than 2 GiB. - -- Issue #17052: unittest discovery should use self.testLoader. - -- Issue #4591: Uid and gid values larger than 2**31 are supported now. - -- Issue #17141: random.vonmisesvariate() no more hangs for large kappas. - -- Issue #17149: Fix random.vonmisesvariate to always return results in - the range [0, 2*math.pi]. - -- Issue #1470548: XMLGenerator now works with UTF-16 and UTF-32 encodings. - -- Issue #6975: os.path.realpath() now correctly resolves multiple nested - symlinks on POSIX platforms. - -- Issue #7358: cStringIO.StringIO now supports writing to and reading from - a stream larger than 2 GiB on 64-bit systems. - -- Issue #10355: In SpooledTemporaryFile class mode and name properties and - xreadlines method now work for unrolled files. encoding and newlines - properties now removed as they have no sense and always produced - AttributeError. - -- Issue #16686: Fixed a lot of bugs in audioop module. Fixed crashes in - avgpp(), maxpp() and ratecv(). Fixed an integer overflow in add(), bias(), - and ratecv(). reverse(), lin2lin() and ratecv() no more lose precision for - 32-bit samples. max() and rms() no more returns a negative result and - various other functions now work correctly with 32-bit sample -0x80000000. - -- Issue #17073: Fix some integer overflows in sqlite3 module. - -- Issue #6083: Fix multiple segmentation faults occurred when PyArg_ParseTuple - parses nested mutating sequence. - -- Issue #5289: Fix ctypes.util.find_library on Solaris. - -- Issue #17106: Fix a segmentation fault in io.TextIOWrapper when an underlying - stream or a decoder produces data of an unexpected type (i.e. when - io.TextIOWrapper initialized with text stream or use bytes-to-bytes codec). - -- Issue #13994: Add compatibility alias in distutils.ccompiler for - distutils.sysconfig.customize_compiler. - -- Issue #15633: httplib.HTTPResponse is now mark closed when the server - sends less than the advertised Content-Length. - -- Issue #15881: Fixed atexit hook in multiprocessing. - -- Issue #14340: Upgrade the embedded expat library to version 2.1.0. - -- Issue #11159: SAX parser now supports unicode file names. - -- Issue #6972: The zipfile module no longer overwrites files outside of - its destination path when extracting malicious zip files. - -- Issue #17049: Localized calendar methods now return unicode if a locale - includes an encoding and the result string contains month or weekday (was - regression from Python 2.6). - -- Issue #4844: ZipFile now raises BadZipfile when opens a ZIP file with an - incomplete "End of Central Directory" record. Original patch by Guilherme - Polo and Alan McIntyre. - -- Issue #15505: `unittest.installHandler` no longer assumes SIGINT handler is - set to a callable object. - -- Issue #17051: Fix a memory leak in os.path.isdir() on Windows. Patch by - Robert Xiao. - -- Issue #13454: Fix a crash when deleting an iterator created by itertools.tee() - if all other iterators were very advanced before. - -- Issue #16992: On Windows in signal.set_wakeup_fd, validate the file - descriptor argument. - -- Issue #15861: tkinter now correctly works with lists and tuples containing - strings with whitespaces, backslashes or unbalanced braces. - -- Issue #10527: Use poll() instead of select() for multiprocessing pipes. - -- Issue #9720: zipfile now writes correct local headers for files larger than - 4 GiB. - -- Issue #13899: \A, \Z, and \B now correctly match the A, Z, and B literals - when used inside character classes (e.g. '[\A]'). Patch by Matthew Barnett. - -- Issue #16398: Optimize deque.rotate() so that it only moves pointers - and doesn't touch the underlying data with increfs and decrefs. - -- Issue #15109: Fix regression in sqlite3's iterdump method where it would - die with an encoding error if the database contained string values - containing non-ASCII. (Regression was introduced by fix for 9750). - -- Issue #15545: Fix regression in sqlite3's iterdump method where it was - failing if the connection used a row factory (such as sqlite3.Row) that - produced unsortable objects. (Regression was introduced by fix for 9750). - -- Issue #16828: Fix error incorrectly raised by bz2.compress(''). Patch by - Martin Packman. - -- Issue #9586: Redefine SEM_FAILED on MacOSX to keep compiler happy. - -- Issue #10527: make multiprocessing use poll() instead of select() if available. - -- Issue #16485: Now file descriptors are closed if file header patching failed - on closing an aifc file. - -- Issue #12065: connect_ex() on an SSL socket now returns the original errno - when the socket's timeout expires (it used to return None). - -- Issue #16713: Fix the parsing of tel url with params using urlparse module. - -- Issue #16443: Add docstrings to regular expression match objects. - Patch by Anton Kasyanov. - -- Issue #8853: Allow port to be of type long for socket.getaddrinfo(). - -- Issue #16597: In buffered and text IO, call close() on the underlying stream - if invoking flush() fails. - -- Issue #15701: Fix HTTPError info method call to return the headers information. - -- Issue #16646: ftplib.FTP.makeport() might lose socket error details. - (patch by Serhiy Storchaka) - -- Issue #16626: Fix infinite recursion in glob.glob() on Windows when the - pattern contains a wildcard in the drive or UNC path. Patch by Serhiy - Storchaka. - -- Issue #16298: In HTTPResponse.read(), close the socket when there is no - Content-Length and the incoming stream is finished. Patch by Eran - Rundstein. - -- Issue #16248: Disable code execution from the user's home directory by - tkinter when the -E flag is passed to Python. Patch by Zachary Ware. - -- Issue #16628: Fix a memory leak in ctypes.resize(). - -- Issue #13614: Fix setup.py register failure with invalid rst in description. - Patch by Julien Courteau and Pierre Paul Lefebvre. - -- Issue #10182: The re module doesn't truncate indices to 32 bits anymore. - Patch by Serhiy Storchaka. - -- Issue #16573: In 2to3, treat enumerate() like a consuming call, so superfluous - list() calls aren't added to filter(), map(), and zip() which are directly - passed enumerate(). - -- Issue #1160: Fix compiling large regular expressions on UCS2 builds. - Patch by Serhiy Storchaka. - -- Issue #14313: zipfile now raises NotImplementedError when the compression - type is unknown. - -- Issue #16408: Fix file descriptors not being closed in error conditions - in the zipfile module. Patch by Serhiy Storchaka. - -- Issue #16327: The subprocess module no longer leaks file descriptors - used for stdin/stdout/stderr pipes to the child when fork() fails. - -- Issue #14396: Handle the odd rare case of waitpid returning 0 when not - expected in subprocess.Popen.wait(). - -- Issue #16411: Fix a bug where zlib.decompressobj().flush() might try to access - previously-freed memory. Patch by Serhiy Storchaka. - -- Issue #16350: zlib.decompressobj().decompress() now accumulates data from - successive calls after EOF in unused_data, instead of only saving the argument - to the last call. decompressobj().flush() now correctly sets unused_data and - unconsumed_tail. A bug in the handling of MemoryError when setting the - unconsumed_tail attribute has also been fixed. Patch by Serhiy Storchaka. - -- Issue #12759: sre_parse now raises a proper error when the name of the group - is missing. Initial patch by Serhiy Storchaka. - -- Issue #16152: fix tokenize to ignore whitespace at the end of the code when - no newline is found. Patch by Ned Batchelder. - -- Issue #16230: Fix a crash in select.select() when one of the lists changes - size while iterated on. Patch by Serhiy Storchaka. - -- Issue #16228: Fix a crash in the json module where a list changes size - while it is being encoded. Patch by Serhiy Storchaka. - -- Issue #14897: Enhance error messages of struct.pack and - struct.pack_into. Patch by Matti Mäki. - -- Issue #12890: cgitb no longer prints spurious

tags in text - mode when the logdir option is specified. - -- Issue #14398: Fix size truncation and overflow bugs in the bz2 module. - -- Issue #5148: Ignore 'U' in mode given to gzip.open() and gzip.GzipFile(). - -- Issue #16220: wsgiref now always calls close() on an iterable response. - Patch by Brent Tubbs. - -- Issue #16461: Wave library should be able to deal with 4GB wav files, - and sample rate of 44100 Hz. - -- Issue #16176: Properly identify Windows 8 via platform.platform() - -- Issue #15756: subprocess.poll() now properly handles errno.ECHILD to - return a returncode of 0 when the child has already exited or cannot - be waited on. - -- Issue #12376: Pass on parameters in TextTestResult.__init__ super call - -- Issue #15222: Insert blank line after each message in mbox mailboxes - -- Issue #16013: Fix CSV Reader parsing issue with ending quote characters. - Patch by Serhiy Storchaka. - -- Issue #15421: fix an OverflowError in Calendar.itermonthdates() after - datetime.MAXYEAR. Patch by Cédric Krier. - -- Issue #15970: xml.etree.ElementTree now serializes correctly the empty HTML - elements 'meta' and 'param'. - -- Issue #15676: Now "mmap" check for empty files before doing the - offset check. Patch by Steven Willis. - -- Issue #15340: Fix importing the random module when /dev/urandom cannot - be opened. This was a regression caused by the hash randomization patch. - -- Issue #15841: The readable(), writable() and seekable() methods of - io.BytesIO and io.StringIO objects now raise ValueError when the object has - been closed. Patch by Alessandro Moura. - -- Issue #16112: platform.architecture does not correctly escape argument to - /usr/bin/file. Patch by David Benjamin. - -- Issue #12776,#11839: call argparse type function (specified by add_argument) - only once. Before, the type function was called twice in the case where the - default was specified and the argument was given as well. This was - especially problematic for the FileType type, as a default file would always - be opened, even if a file argument was specified on the command line. - -- Issue #15906: Fix a regression in argparse caused by the preceding change, - when action='append', type='str' and default=[]. - -- Issue #13370: Ensure that ctypes works on Mac OS X when Python is - compiled using the clang compiler - -- Issue #15544: Fix Decimal.__float__ to work with payload-carrying NaNs. - -- Issue #15199: Fix JavaScript's default MIME type to application/javascript. - Patch by Bohuslav Kabrda. - -- Issue #15477: In cmath and math modules, add workaround for platforms whose - system-supplied log1p function doesn't respect signs of zeros. - -- Issue #11062: Fix adding a message from file to Babyl mailbox. - -- Issue #15646: Prevent equivalent of a fork bomb when using - multiprocessing on Windows without the "if __name__ == '__main__'" - idiom. - -- Issue #15567: Fix NameError when running threading._test - -- Issue #15424: Add a __sizeof__ implementation for array objects. - Patch by Ludwig Hähne. - -- Issue #15538: Fix compilation of the getnameinfo() / getaddrinfo() - emulation code. Patch by Philipp Hagemeister. - -- Issue #12288: Consider '0' and '0.0' as valid initialvalue - for tkinter SimpleDialog. - -- Issue #15489: Add a __sizeof__ implementation for BytesIO objects. - Patch by Serhiy Storchaka. - -- Issue #15469: Add a __sizeof__ implementation for deque objects. - Patch by Serhiy Storchaka. - -- Issue #15487: Add a __sizeof__ implementation for buffered I/O objects. - Patch by Serhiy Storchaka. - -- Issue #15512: Add a __sizeof__ implementation for parser. - Patch by Serhiy Storchaka. - -- Issue #15402: An issue in the struct module that caused sys.getsizeof to - return incorrect results for struct.Struct instances has been fixed. - Initial patch by Serhiy Storchaka. - -- Issue #15232: when mangle_from is True, email.Generator now correctly mangles - lines that start with 'From ' that occur in a MIME preamble or epilog. - -- Issue #13922: argparse no longer incorrectly strips '--'s that appear - after the first one. - -- Issue #12353: argparse now correctly handles null argument values. - -- Issue #6493: An issue in ctypes on Windows that caused structure bitfields - of type ctypes.c_uint32 and width 32 to incorrectly be set has been fixed. - -- Issue #14635: telnetlib will use poll() rather than select() when possible - to avoid failing due to the select() file descriptor limit. - -- Issue #15247: FileIO now raises an error when given a file descriptor - pointing to a directory. - -- Issue #14591: Fix bug in Random.jumpahead that could produce an invalid - Mersenne Twister state on 64-bit machines. - -- Issue #5346: Preserve permissions of mbox, MMDF and Babyl mailbox - files on flush(). - -- Issue #15219: Fix a reference leak when hashlib.new() is called with - invalid parameters. - -- Issue #9559: If messages were only added, a new file is no longer - created and renamed over the old file when flush() is called on an - mbox, MMDF or Babyl mailbox. - -- Issue #14653: email.utils.mktime_tz() no longer relies on system - mktime() when timezone offest is supplied. - -- Issue #6056: Make multiprocessing use setblocking(True) on the - sockets it uses. Original patch by J Derek Wilson. - -- Issue #15101: Make pool finalizer avoid joining current thread. - -- Issue #15054: A bug in tokenize.tokenize that caused string literals - with 'b' and 'br' prefixes to be incorrectly tokenized has been fixed. - Patch by Serhiy Storchaka. - -- Issue #15036: Mailbox no longer throws an error if a flush is done - between operations when removing or changing multiple items in mbox, - MMDF, or Babyl mailboxes. - -- Issue #10133: Make multiprocessing deallocate buffer if socket read - fails. Patch by Hallvard B Furuseth. - -- Issue #13854: Make multiprocessing properly handle non-integer - non-string argument to SystemExit. - -- Issue #12157: Make pool.map() empty iterables correctly. Initial - patch by mouad. - -- Issue #14036: Add an additional check to validate that port in urlparse does - not go in illegal range and returns None. - -- Issue #14888: Fix misbehaviour of the _md5 module when called on data - larger than 2**32 bytes. - -- Issue #15908: Fix misbehaviour of the sha1 module when called on data - larger than 2**32 bytes. - -- Issue #15910: Fix misbehaviour of _md5 and sha1 modules when "updating" - on data larger than 2**32 bytes. - -- Issue #14875: Use float('inf') instead of float('1e66666') in the json module. - -- Issue #14572: Prevent build failures with pre-3.5.0 versions of - sqlite3, such as was shipped with Centos 5 and Mac OS X 10.4. - -- Issue #14426: Correct the Date format in Expires attribute of Set-Cookie - Header in Cookie.py. - -- Issue #14721: Send proper header, Content-length: 0 when the body is an empty - string ''. Initial Patch contributed by Arve Knudsen. - -- Issue #14072: Fix parsing of 'tel' URIs in urlparse by making the check for - ports stricter. - -- Issue #9374: Generic parsing of query and fragment portions of url for any - scheme. Supported both by RFC3986 and RFC2396. - -- Issue #14798: Fix the functions in pyclbr to raise an ImportError - when the first part of a dotted name is not a package. Patch by - Xavier de Gaye. - -- Issue #14832: fixed the order of the argument references in the error - message produced by unittest's assertItemsEqual. - -- Issue #14829: Fix bisect issues under 64-bit Windows. - -- Issue #14777: tkinter may return undecoded UTF-8 bytes as a string when - accessing the Tk clipboard. Modify clipboard_get() to first request type - UTF8_STRING when no specific type is requested in an X11 windowing - environment, falling back to the current default type STRING if that fails. - Original patch by Thomas Kluyver. - -- Issue #12541: Be lenient with quotes around Realm field with HTTP Basic - Authentation in urllib2. - -- Issue #14662: Prevent shutil failures on OS X when destination does not - support chflag operations. Patch by Hynek Schlawack. - -- Issue #14157: Fix time.strptime failing without a year on February 29th. - Patch by Hynek Schlawack. - -- Issue #14768: os.path.expanduser('~/a') doesn't work correctly when HOME is '/'. - -- Issue #13183: Fix pdb skipping frames after hitting a breakpoint and running - step. Patch by Xavier de Gaye. - -- Issue #14664: It is now possible to use @unittest.skip{If,Unless} on a - test class that doesn't inherit from TestCase (i.e. a mixin). - -- Issue #14160: TarFile.extractfile() failed to resolve symbolic links when - the links were not located in an archive subdirectory. - -- Issue #14638: pydoc now treats non-string __name__ values as if they - were missing, instead of raising an error. - -- Issue #13684: Fix httplib tunnel issue of infinite loops for certain sites - which send EOF without trailing \r\n. - -- Issue #14308: Fix an exception when a "dummy" thread is in the threading - module's active list after a fork(). - -- Issue #14538: HTMLParser can now parse correctly start tags that contain - a bare '/'. - -- Issue #14452: SysLogHandler no longer inserts a UTF-8 BOM into the message. - -- Issue #13496: Fix potential overflow in bisect.bisect algorithm when applied - to a collection of size > sys.maxsize / 2. - -- Issue #14399: zipfile now recognizes that the archive has been modified even - if only the comment is changed. As a consequence of this fix, ZipFile is now - a new style class. - -- Issue #7978: SocketServer now restarts the select() call when EINTR is - returned. This avoids crashing the server loop when a signal is received. - Patch by Jerzy Kozera. - -- Issue #10340: asyncore - properly handle EINVAL in dispatcher constructor on - OSX; avoid to call handle_connect in case of a disconnected socket which - was not meant to connect. - -- Issue #12757: Fix the skipping of doctests when python is run with -OO so - that it works in unittest's verbose mode as well as non-verbose mode. - -- Issue #13694: asynchronous connect in asyncore.dispatcher does not set addr - attribute. - -- Issue #10484: Fix the CGIHTTPServer's PATH_INFO handling problem. - -- Issue #11199: Fix the with urllib which hangs on particular ftp urls. - -- Issue #14252: Fix subprocess.Popen.terminate() to not raise an error under - Windows when the child process has already exited. - -- Issue #14195: An issue that caused weakref.WeakSet instances to incorrectly - return True for a WeakSet instance 'a' in both 'a < a' and 'a > a' has been - fixed. - -- Issue #14159: Fix the len() of weak sets to return a better approximation - when some objects are dead or dying. Moreover, the implementation is now - O(1) rather than O(n). - -- Issue #2945: Make the distutils upload command aware of bdist_rpm products. - -- Issue #6884: Fix long-standing bugs with MANIFEST.in parsing in distutils - on Windows. - -- Issue #16441: Avoid excessive memory usage working with large gzip - files using the gzip module. - -- Issue #15782: Prevent compile errors of OS X Carbon modules _Fm, _Qd, and - _Qdoffs when compiling with an SDK of 10.7 or later. The OS X APIs they - wrap have long been deprecated and have now been removed with 10.7. - These modules were already empty for 64-bit builds and have been removed - in Python 3. - -Extension Modules ------------------ - -- Issue #17477: Update the bsddb module to pybsddb 5.3.0, supporting - db-5.x, and dropping support for db-4.1 and db-4.2. - -- Issue #17192: Update the ctypes module's libffi to v3.0.13. This - specifically addresses a stack misalignment issue on x86 and issues on - some more recent platforms. - -- Issue #12268: The io module file object write methods no longer abort early - when a write system calls is interrupted (EINTR). - -- Fix the leak of a dict in the time module when used in an embedded - interpreter that is repeatedly initialized and shutdown and reinitialized. - -- Issue #12268: File readline, readlines and read or readall methods - no longer lose data when an underlying read system call is interrupted - within an io module object. IOError is no longer raised due to a read - system call returning EINTR from within these methods. - -- Issue #16012: Fix a regression in pyexpat. The parser's UseForeignDTD() - method doesn't require an argument again. - -- Issue #13590: OS X Xcode 4 - improve support for universal extension modules - In particular, fix extension module build failures when trying to use - 32-bit-only installer Pythons on systems with Xcode 4 (currently - OS X 10.8, 10.7, and optionally 10.6). - * Backport 3.3.0 fixes to 2.7 branch (for release in 2.7.4) - * Since Xcode 4 removes ppc support, extension module builds now - check for ppc compiler support and by default remove ppc and - ppc64 archs when they are not available. - * Extension module builds now revert to using system installed - headers and libs (/usr and /System/Library) if the SDK used - to build the interpreter is not installed or has moved. - * Try to avoid building extension modules with deprecated - and problematic Apple llvm-gcc compiler. If original compiler - is not available, use clang instead by default. - -IDLE ----- - -- IDLE was displaying spurious SystemExit tracebacks when running scripts - that terminated by raising SystemExit (i.e. unittest and turtledemo). - -- Issue #9290: In IDLE the sys.std* streams now implement io.TextIOBase - interface and support all mandatory methods and properties. - -- Issue #16829: IDLE printing no longer fails if there are spaces or other - special characters in the file path. - -- Issue #16819: IDLE method completion now correctly works for unicode literals. - -- Issue #16504: IDLE now catches SyntaxErrors raised by tokenizer. Patch by - Roger Serwy. - -- Issue #1207589: Add Cut/Copy/Paste items to IDLE right click Context Menu. - Patch by Todd Rovito. - -- Issue #13052: Fix IDLE crashing when replace string in Search/Replace dialog - ended with '\'. Patch by Roger Serwy. - -- Issue #9803: Don't close IDLE on saving if breakpoint is open. - Patch by Roger Serwy. - -- Issue #14958: Change IDLE systax highlighting to recognize all string and byte - literals currently supported in Python 2.7. - -- Issue #14962: Update text coloring in IDLE shell window after changing - options. Patch by Roger Serwy. - -- Issue #10997: Prevent a duplicate entry in IDLE's "Recent Files" menu. - -- Issue #12510: Attempting to get invalid tooltip no longer closes IDLE. - Original patch by Roger Serwy. - -- Issue #10365: File open dialog now works instead of crashing - even when parent window is closed. Patch by Roger Serwy. - -- Issue #14876: Use user-selected font for highlight configuration. - Patch by Roger Serwy. - -- Issue #14409: IDLE now properly executes commands in the Shell window - when it cannot read the normal config files on startup and - has to use the built-in default key bindings. - There was previously a bug in one of the defaults. - -- Issue #3573: IDLE hangs when passing invalid command line args - (directory(ies) instead of file(s)) (Patch by Guilherme Polo) - -- Issue #5219: Prevent event handler cascade in IDLE. - -- Issue #15318: Prevent writing to sys.stdin. - -- Issue #13532, #15319: Check that arguments to sys.stdout.write are strings. - -- Issue #10365: File open dialog now works instead of crashing even when - parent window is closed while dialog is open. - -- Issue #14018: Update checks for unstable system Tcl/Tk versions on OS X - to include versions shipped with OS X 10.7 and 10.8 in addition to 10.6. - -- Issue #15853: Prevent IDLE crash on OS X when opening Preferences menu - with certain versions of Tk 8.5. Initial patch by Kevin Walzer. - -Tests ------ - -- Issue #16702: test_urllib2_localnet tests now correctly ignores proxies for - localhost tests. - -- Issue #13447: Add a test file to host regression tests for bugs in the - scripts found in the Tools directory. - -- Issue #11420: make test suite pass with -B/DONTWRITEBYTECODE set. - Initial patch by Thomas Wouters. - -- Issue #17299: Add test coverage for cPickle with file objects and general IO - objects. Original patch by Aman Shah. - -- Issue #11963: remove human verification from test_parser and test_subprocess. - -- Issue #17249: convert a test in test_capi to use unittest and reap threads. - -- We now run both test_email.py and test_email_renamed.py when running the - test_email regression test. test_email_renamed contains some tests that - test_email does not. - -- Issue #17041: Fix testing when Python is configured with the - --without-doc-strings option. - -- Issue #15539: Added regression tests for Tools/scripts/pindent.py. - -- Issue #15324: Fix regrtest parsing of --fromfile and --randomize options. - -- Issue #16618: Add more regression tests for glob. - Patch by Serhiy Storchaka. - -- Issue #16664: Add regression tests for glob's behaviour concerning entries - starting with a ".". Patch by Sebastian Kreft. - -- Issue #15747: ZFS always returns EOPNOTSUPP when attempting to set the - UF_IMMUTABLE flag (via either chflags or lchflags); refactor affected - tests in test_posix.py to account for this. - -- Issue #16549: Add tests for json.tools. Initial patch by Berker Peksag - and Serhiy Storchaka. - -- Issue #16559: Add more tests for the json module, including some from the - official test suite at json.org. Patch by Serhiy Storchaka. - -- Issue #16274: Fix test_asyncore on Solaris. Patch by Giampaolo Rodola'. - -- Issue #15040: Close files in mailbox tests for PyPy compatibility. - Original patch by Matti Picus. - -- Issue #15802: Fix test logic in TestMaildir.test_create_tmp. Patch - by Serhiy Storchaka. - -- Issue #15765: Extend a previous fix to Solaris and OpenBSD for quirky - getcwd() behaviour (issue #9185) to NetBSD as well. - -- Issue #15615: Add some tests for the json module's handling of invalid - input data. Patch by Kushal Das. - -- Issue #15496: Add directory removal helpers for tests on Windows. - Patch by Jeremy Kloth. - -- Issue #15043: test_gdb is now skipped entirely if gdb security settings - block loading of the gdb hooks - -- Issue #14589: Update certificate chain for sha256.tbs-internet.com, fixing - a test failure in test_ssl. - -- Issue #16698: Skip posix test_getgroups when built with OS X - deployment target prior to 10.6. - -- Issue #17111: Prevent test_surrogates (test_fileio) failure on OS X 10.4. - -Build ------ - -- Issue #17425: Build against openssl 0.9.8y on Windows. - -- Issue #16004: Add `make touch`. - -- Issue #5033: Fix building of the sqlite3 extension module when the - SQLite library version has "beta" in it. Patch by Andreas Pelme. - -- Issue #17228: Fix building without pymalloc. - -- Issue #17086: Backport the patches from the 3.3 branch to cross-build - the package. - -- Issue #3754: fix typo in pthread AC_CACHE_VAL. - -- Issue #17029: Let h2py search the multiarch system include directory. - -- Issue #16953: Fix socket module compilation on platforms with - HAVE_BROKEN_POLL. Patch by Jeffrey Armstrong. - -- Issue #16836: Enable IPv6 support even if IPv6 is disabled on the build host. - -- Issue #15923: fix a mistake in asdl_c.py that resulted in a TypeError after - 2801bf875a24 (see #15801). - -- Issue #11715: Fix multiarch detection without having Debian development - tools (dpkg-dev) installed. - -- Issue #15819: Make sure we can build Python out-of-tree from a readonly - source directory. (Somewhat related to Issue #9860.) - -- Issue #15822: Ensure 2to3 grammar pickles are properly installed. - -- Issue #15560: Fix building _sqlite3 extension on OS X with an SDK. - -- Issue #8847: Disable COMDAT folding in Windows PGO builds. - -- Issue #14018: Fix OS X Tcl/Tk framework checking when using OS X SDKs. - -- Issue #16256: OS X installer now sets correct permissions for doc directory. - -- Issue #8767: Restore building with --disable-unicode. - Patch by Stefano Taschini. - -- Build against bzip2 1.0.6 and openssl 0.9.8x on Windows. - -- Issue #14557: Fix extensions build on HP-UX. Patch by Adi Roiban. - -- Issue #14437: Fix building the _io module under Cygwin. - -- Issue #15587: Enable Tk high-resolution text rendering on Macs with - Retina displays. Applies to Tkinter apps, such as IDLE, on OS X - framework builds linked with Cocoa Tk 8.5. - -- Issue #17161: make install now also installs a python2 and python man page. - -- Issue #16848: python-config now returns proper --ldflags values for OS X - framework builds. - -Tools/Demos ------------ - -- Issue #17156: pygettext.py now correctly escapes non-ascii characters. - -- Issue #15539: Fix a number of bugs in Tools/scripts/pindent.py. Now - pindent.py works with a "with" statement. pindent.py no longer produces - improper indentation. pindent.py now works with continued lines broken after - "class" or "def" keywords and with continuations at the start of line. - -- Issue #16476: Fix json.tool to avoid including trailing whitespace. - -- Issue #13301: use ast.literal_eval() instead of eval() in Tools/i18n/msgfmt.py. - Patch by Serhiy Storchaka. - -Documentation -------------- - -- Issue #15041: Update "see also" list in tkinter documentation. - -- Issue #17412: update 2.7 Doc/make.bat to also use sphinx-1.0.7. - -- Issue #17047: remove doubled words in docs and docstrings - reported by Serhiy Storchaka and Matthew Barnett. - -- Issue #16406: combine the pages for uploading and registering to PyPI. - -- Issue #16403: Document how distutils uses the maintainer field in - PKG-INFO. Patch by Jyrki Pulliainen. - -- Issue #16695: Document how glob handles filenames starting with a - dot. Initial patch by Jyrki Pulliainen. - -- Issue #8890: Stop advertising an insecure practice by replacing uses - of the /tmp directory with better alternatives in the documentation. - Patch by Geoff Wilson. - -- Issue #17203: add long option names to unittest discovery docs. - -- Issue #13094: add "Why do lambdas defined in a loop with different values - all return the same result?" programming FAQ. - -- Issue #14901: Update portions of the Windows FAQ. - Patch by Ashish Nitin Patil. - -- Issue #15990: Improve argument/parameter documentation. - -- Issue #16400: Update the description of which versions of a given package - PyPI displays. - -- Issue #15677: Document that zlib and gzip accept a compression level of 0 to - mean 'no compression'. Patch by Brian Brazil. - -- Issue #8040: added a version switcher to the documentation. Patch by - Yury Selivanov. - -- Issue #16115: Improve subprocess.Popen() documentation around args, shell, - and executable arguments. - -- Issue #15979: Improve timeit documentation. - -- Issue #16036: Improve documentation of built-in int()'s signature and - arguments. - -- Issue #15935: Clarification of argparse docs, re: add_argument() type and - default arguments. Patch contributed by Chris Jerdonek. - -- Issue #13769: Document the effect of ensure_ascii to the return type - of JSON decoding functions. - -- Issue #14880: Fix kwargs notation in csv.reader, .writer & .register_dialect. - Patch by Chris Rebert. - -- Issue #14674: Add a discussion of the json module's standard compliance. - Patch by Chris Rebert. - -- Issue #15630: Add an example for "continue" stmt in the tutorial. Patch by - Daniel Ellis. - -- Issue #13557: Clarify effect of giving two different namespaces to exec or - execfile(). - -- Issue #14034: added the argparse tutorial. - -- Issue #15250: Document that filecmp.dircmp compares files shallowly. Patch - contributed by Chris Jerdonek. - -- Issue #15116: Remove references to appscript as it is no longer being - supported. - - -What's New in Python 2.7.3 release candidate 2? -=============================================== - -*Release date: 2012-03-17* - -Library -------- - -- Issue #14234: CVE-2012-0876: Randomize hashes of xml attributes in the hash - table internal to the pyexpat module's copy of the expat library to avoid a - denial of service due to hash collisions. Patch by David Malcolm with some - modifications by the expat project. - - -What's New in Python 2.7.3 release candidate 1? -=============================================== - -*Release date: 2012-02-23* - -Core and Builtins ------------------ - -- Issue #13020: Fix a reference leak when allocating a structsequence object - fails. Patch by Suman Saha. - -- Issue #13703: oCERT-2011-003: add -R command-line option and PYTHONHASHSEED - environment variable, to provide an opt-in way to protect against denial of - service attacks due to hash collisions within the dict and set types. Patch - by David Malcolm, based on work by Victor Stinner. - -- Issue #11235: Fix OverflowError when trying to import a source file whose - modification time doesn't fit in a 32-bit timestamp. - -- Issue #11638: Unicode strings in 'name' and 'version' no longer cause - UnicodeDecodeErrors. - -- Fix the fix for issue #12149: it was incorrect, although it had the side - effect of appearing to resolve the issue. Thanks to Mark Shannon for - noticing. - -- Issue #13546: Fixed an overflow issue that could crash the intepreter when - calling sys.setrecursionlimit((1<<31)-1). - -- Issue #13333: The UTF-7 decoder now accepts lone surrogates (the encoder - already accepts them). - -- Issue #10519: Avoid unnecessary recursive function calls in - setobject.c. - -- Issue #13268: Fix the assert statement when a tuple is passed as the message. - -- Issue #13018: Fix reference leaks in error paths in dictobject.c. - Patch by Suman Saha. - -- Issue #12604: VTRACE macro expanded to no-op in _sre.c to avoid compiler - warnings. Patch by Josh Triplett and Petri Lehtinen. - -- Issue #7833: Extension modules built using distutils on Windows will no - longer include a "manifest" to prevent them failing at import time in some - embedded situations. - -- Issue #13186: Fix __delitem__ on old-style instances when invoked through - PySequence_DelItem. - -- Issue #13156: Revert the patch for issue #10517 (reset TLS upon fork()), - which was only relevant for the native pthread TLS implementation. - -- Issue #7732: Fix a crash on importing a module if a directory has the same - name than a Python module (e.g. "__init__.py"): don't close the file twice. - -- Issue #12973: Fix overflow checks that invoked undefined behaviour in - int.__pow__. These overflow checks were causing int.__pow__ to produce - incorrect results with recent versions of Clang, as a result of the - compiler optimizing the check away. Also fix similar overflow checks - in list_repeat (listobject.c) and islice_next (itertoolsmodule.c). These - bugs caused test failures with recent versions of Clang. - -- Issue #12266: Fix str.capitalize() to correctly uppercase/lowercase - titlecased and cased non-letter characters. - -- Issues #12610 and #12609: Verify that user generated AST has correct string - and identifier types before compiling. - -- Issue #11627: Fix segfault when __new__ on an exception returns a - non-exception class. - -- Issue #12149: Update the method cache after a type's dictionnary gets - cleared by the garbage collector. This fixes a segfault when an instance - and its type get caught in a reference cycle, and the instance's - deallocator calls one of the methods on the type (e.g. when subclassing - IOBase). Diagnosis and patch by Davide Rizzo. - -- Issue #12501: Remove Py3k warning for callable. callable() is supported - again in Python 3.2. - -- Issue #9611, #9015: FileIO.read(), FileIO.readinto(), FileIO.write() and - os.write() clamp the length to INT_MAX on Windows. - -- Issue #1195: my_fgets() now always clears errors before calling fgets(). Fix - the following case: sys.stdin.read() stopped with CTRL+d (end of file), - raw_input() interrupted by CTRL+c. - -- Issue #10860: httplib now correctly handles an empty port after port - delimiter in URLs. - -- dict_proxy objects now display their contents rather than just the class - name. - -Library -------- - -- Issue #8033: sqlite3: Fix 64-bit integer handling in user functions - on 32-bit architectures. Initial patch by Philippe Devalkeneer. - -- HTMLParser is now able to handle slashes in the start tag. - -- Issue #14001: CVE-2012-0845: xmlrpc: Fix an endless loop in - SimpleXMLRPCServer upon malformed POST request. - -- Issue #2489: pty.spawn could consume 100% cpu when it encountered an EOF. - -- Issue #13014: Fix a possible reference leak in SSLSocket.getpeercert(). - -- Issue #13987: HTMLParser is now able to handle EOFs in the middle of a - construct and malformed start tags. - -- Issue #13015: Fix a possible reference leak in defaultdict.__repr__. - Patch by Suman Saha. - -- Issue #13979: A bug in ctypes.util.find_library that caused - the wrong library name to be returned has been fixed. - -- Issue #1326113: distutils' build_ext command --libraries option now - correctly parses multiple values separated by whitespace or commas. - -- Issue #13993: HTMLParser is now able to handle broken end tags. - -- Issue #13960: HTMLParser is now able to handle broken comments. - -- Issue #9750: Fix sqlite3.Connection.iterdump on tables and fields - with a name that is a keyword or contains quotes. Patch by Marko - Kohtala. - -- Issue #13994: Earlier partial revert of Distutils enhancements in 2.7 - has left two versions of customize_compiler, the original in - distutils.sysconfig and another copy in distutils.ccompiler, with some - parts of distutils calling one and others using the other. - Complete the revert back to only having one in distutils.sysconfig as - is the case in 3.x. - -- Issue #13590: On OS X 10.7 and 10.6 with Xcode 4.2, building - Distutils-based packages with C extension modules may fail because - Apple has removed gcc-4.2, the version used to build python.org - 64-bit/32-bit Pythons. If the user does not explicitly override - the default C compiler by setting the CC environment variable, - Distutils will now attempt to compile extension modules with clang - if gcc-4.2 is required but not found. Also as a convenience, if - the user does explicitly set CC, substitute its value as the default - compiler in the Distutils LDSHARED configuration variable for OS X. - (Note, the python.org 32-bit-only Pythons use gcc-4.0 and the 10.4u - SDK, neither of which are available in Xcode 4. This change does not - attempt to override settings to support their use with Xcode 4.) - -- Issue #9021: Add an introduction to the copy module documentation. - -- Issue #6005: Examples in the socket library documentation use sendall, where - relevant, instead send method. - -- Issue #10811: Fix recursive usage of cursors. Instead of crashing, - raise a ProgrammingError now. - -- Issue #13676: Handle strings with embedded zeros correctly in sqlite3. - -- Issue #13806: The size check in audioop decompression functions was too - strict and could reject valid compressed data. Patch by Oleg Plakhotnyuk. - -- Issue #13885: CVE-2011-3389: the _ssl module would always disable the CBC - IV attack countermeasure. - -- Issue #6631: Disallow relative file paths in urllib urlopen methods. - -- Issue #13781: Prevent gzip.GzipFile from using the dummy filename provided by - file objects opened with os.fdopen(). - -- Issue #13589: Fix some serialization primitives in the aifc module. - Patch by Oleg Plakhotnyuk. - -- Issue #13803: Under Solaris, distutils doesn't include bitness - in the directory name. - -- Issue #13642: Unquote before b64encoding user:password during Basic - Authentication. Patch contributed by Joonas Kuorilehto and Michele Orrù. - -- Issue #13636: Weak ciphers are now disabled by default in the ssl module - (except when SSLv2 is explicitly asked for). - -- Issue #12798: Updated the mimetypes documentation. - -- Issue #13639: Accept unicode filenames in tarfile.open(mode="w|gz"). - -- Issue #1785: Fix inspect and pydoc with misbehaving descriptors. - -- Issue #7502: Fix equality comparison for DocTestCase instances. Patch by - Cédric Krier. - -- Issue #11870: threading: Properly reinitialize threads internal locks and - condition variables to avoid deadlocks in child processes. - -- Issue #8035: urllib: Fix a bug where the client could remain stuck after a - redirection or an error. - -- tarfile.py: Correctly detect bzip2 compressed streams with blocksizes - other than 900k. - -- Issue #13573: The csv.writer now uses the repr() for floats rather than str(). - This allows floats to round-trip without loss of precision. - -- Issue #13439: Fix many errors in turtle docstrings. - -- Issue #12856: Ensure child processes do not inherit the parent's random - seed for filename generation in the tempfile module. Patch by Brian - Harring. - -- Issue #13458: Fix a memory leak in the ssl module when decoding a - certificate with a subjectAltName. Patch by Robert Xiao. - -- Issue #13415: os.unsetenv() doesn't ignore errors anymore. - -- Issue #13322: Fix BufferedWriter.write() to ensure that BlockingIOError is - raised when the wrapped raw file is non-blocking and the write would block. - Previous code assumed that the raw write() would raise BlockingIOError, but - RawIOBase.write() is defined to returned None when the call would block. - Patch by sbt. - -- Issue #13358: HTMLParser now calls handle_data only once for each CDATA. - -- Issue #4147: minidom's toprettyxml no longer adds whitespace around a text - node when it is the only child of an element. Initial patch by Dan - Kenigsberg. - -- Issues #1745761, #755670, #13357, #12629, #1200313: HTMLParser now correctly - handles non-valid attributes, including adjacent and unquoted attributes. - -- Issue #13373: multiprocessing.Queue.get() could sometimes block indefinitely - when called with a timeout. Patch by Arnaud Ysmal. - -- Issue #3067: Enhance the documentation and docstring of - locale.setlocale(). - -- Issue #13254: Fix Maildir initialization so that maildir contents - are read correctly. - -- Issue #13140: Fix the daemon_threads attribute of ThreadingMixIn. - -- Issue #2892: preserve iterparse events in case of SyntaxError. - -- Issue #670664: Fix HTMLParser to correctly handle the content of - ```` and ````. - -- Issue #10817: Fix urlretrieve function to raise ContentTooShortError even - when reporthook is None. Patch by Jyrki Pulliainen. - -- Issue #7334: close source files on ElementTree.parse and iterparse. - -- Issue #13232: logging: Improved logging of exceptions in the presence of - multiple encodings. - -- Issue #10332: multiprocessing: fix a race condition when a Pool is closed - before all tasks have completed. - -- Issue #1548891: The cStringIO.StringIO() constructor now encodes unicode - arguments with the system default encoding just like the write() method - does, instead of converting it to a raw buffer. This also fixes handling of - unicode input in the shlex module (#6988, #1170). - -- Issue #9168: now smtpd is able to bind privileged port. - -- Issue #12529: fix cgi.parse_header issue on strings with double-quotes and - semicolons together. Patch by Ben Darnell and Petri Lehtinen. - -- Issue #6090: zipfile raises a ValueError when a document with a timestamp - earlier than 1980 is provided. Patch contributed by Petri Lehtinen. - -- Issue #13194: zlib.compressobj().copy() and zlib.decompressobj().copy() are - now available on Windows. - -- Issue #13114: Fix the distutils commands check and register when the - long description is a Unicode string with non-ASCII characters. - -- Issue #7367: Fix pkgutil.walk_paths to skip directories whose - contents cannot be read. - -- Issue #7425: Prevent pydoc -k failures due to module import errors. - (Backport to 2.7 of existing 3.x fix) - -- Issue #13099: Fix sqlite3.Cursor.lastrowid under a Turkish locale. - Reported and diagnosed by Thomas Kluyver. - -- Issue #7689: Allow pickling of dynamically created classes when their - metaclass is registered with copy_reg. Patch by Nicolas M. Thiéry and - Craig Citro. - -- Issue #13058: ossaudiodev: fix a file descriptor leak on error. Patch by - Thomas Jarosch. - -- Issue #12931: xmlrpclib now encodes Unicode URI to ISO-8859-1, instead of - failing with a UnicodeDecodeError. - -- Issue #8933: distutils' PKG-INFO files will now correctly report - Metadata-Version: 1.1 instead of 1.0 if a Classifier or Download-URL field is - present. - -- Issue #8286: The distutils command sdist will print a warning message instead - of crashing when an invalid path is given in the manifest template. - -- Issue #12841: tarfile unnecessarily checked the existence of numerical user - and group ids on extraction. If one of them did not exist the respective id - of the current user (i.e. root) was used for the file and ownership - information was lost. - -- Issue #10946: The distutils commands bdist_dumb, bdist_wininst and bdist_msi - now respect a --skip-build option given to bdist. - -- Issue #12287: Fix a stack corruption in ossaudiodev module when the FD is - greater than FD_SETSIZE. - -- Issue #12839: Fix crash in zlib module due to version mismatch. - Fix by Richard M. Tew. - -- Issue #12786: Set communication pipes used by subprocess.Popen CLOEXEC to - avoid them being inherited by other subprocesses. - -- Issue #4106: Fix occasional exceptions printed out by multiprocessing on - interpreter shutdown. - -- Issue #11657: Fix sending file descriptors over 255 over a multiprocessing - Pipe. - -- Issue #12213: Fix a buffering bug with interleaved reads and writes that - could appear on io.BufferedRandom streams. - -- Issue #12326: sys.platform is now always 'linux2' on Linux, even if Python - is compiled on Linux 3. - -- Issue #13007: whichdb should recognize gdbm 1.9 magic numbers. - -- Issue #9173: Let shutil._make_archive work if the logger argument is None. - -- Issue #12650: Fix a race condition where a subprocess.Popen could leak - resources (FD/zombie) when killed at the wrong time. - -- Issue #12752: Fix regression which prevented locale.normalize() from - accepting unicode strings. - -- Issue #12683: urlparse updated to include svn as schemes that uses relative - paths. (svn from 1.5 onwards support relative path). - -- Issue #11933: Fix incorrect mtime comparison in distutils. - -- Issues #11104, #8688: Fix the behavior of distutils' sdist command with - manually-maintained MANIFEST files. - -- Issue #8887: "pydoc somebuiltin.somemethod" (or help('somebuiltin.somemethod') - in Python code) now finds the doc of the method. - -- Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime. - -- Issue #12514: Use try/finally to assure the timeit module restores garbage - collections when it is done. - -- Issue #12607: In subprocess, fix issue where if stdin, stdout or stderr is - given as a low fd, it gets overwritten. - -- Issue #12102: Document that buffered files must be flushed before being used - with mmap. Patch by Steffen Daode Nurpmeso. - -- Issue #12560: Build libpython.so on OpenBSD. Patch by Stefan Sperling. - -- Issue #1813: Fix codec lookup and setting/getting locales under Turkish - locales. - -- Issue #10883: Fix socket leaks in urllib when using FTP. - -- Issue #12592: Make Python build on OpenBSD 5 (and future major releases). - -- Issue #12372: POSIX semaphores are broken on AIX: don't use them. - -- Issue #12571: Add a plat-linux3 directory mirroring the plat-linux2 - directory, so that "import DLFCN" and other similar imports work on - Linux 3.0. - -- Issue #7484: smtplib no longer puts <> around addresses in VRFY and EXPN - commands; they aren't required and in fact postfix doesn't support that form. - -- Issue #11603: Fix a crash when __str__ is rebound as __repr__. Patch by - Andreas Stührk. - -- Issue #12502: asyncore: fix polling loop with AF_UNIX sockets. - -- Issue #4376: ctypes now supports nested structures in an endian different than - the parent structure. Patch by Vlad Riscutia. - -- Issue #12493: subprocess: Popen.communicate() now also handles EINTR errors - if the process has only one pipe. - -- Issue #12467: warnings: fix a race condition if a warning is emitted at - shutdown, if globals()['__file__'] is None. - -- Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by - the garbage collector while the Heap lock is held. - -- Issue #9516: On Mac OS X, change Distutils to no longer globally attempt to - check or set the MACOSX_DEPLOYMENT_TARGET environment variable for the - interpreter process. This could cause failures in non-Distutils subprocesses - and was unreliable since tests or user programs could modify the interpreter - environment after Distutils set it. Instead, have Distutils set the - deployment target only in the environment of each build subprocess. It is - still possible to globally override the default by setting - MACOSX_DEPLOYMENT_TARGET before launching the interpreter; its value must be - greater or equal to the default value, the value with which the interpreter - was built. - -- Issue #11802: The cache in filecmp now has a maximum size of 100 so that - it won't grow without bound. - -- Issue #12404: Remove C89 incompatible code from mmap module. Patch by Akira - Kitada. - -- Issue #11700: mailbox proxy object close methods can now be called multiple - times without error, and _ProxyFile now closes the wrapped file. - -- Issue #12133: AbstractHTTPHandler.do_open() of urllib.request closes the HTTP - connection if its getresponse() method fails with a socket error. Patch - written by Ezio Melotti. - -- Issue #9284: Allow inspect.findsource() to find the source of doctest - functions. - -- Issue #10694: zipfile now ignores garbage at the end of a zipfile. - -- Issue #11583: Speed up os.path.isdir on Windows by using GetFileAttributes - instead of os.stat. - -- Issue #12080: Fix a performance issue in Decimal._power_exact that caused - some corner-case Decimal.__pow__ calls to take an unreasonably long time. - -- Named tuples now work correctly with vars(). - -- sys.setcheckinterval() now updates the current ticker count as well as - updating the check interval, so if the user decreases the check interval, - the ticker doesn't have to wind down to zero from the old starting point - before the new interval takes effect. And if the user increases the - interval, it makes sure the new limit takes effect right away rather have an - early task switch before recognizing the new interval. - -- Issue #12085: Fix an attribute error in subprocess.Popen destructor if the - constructor has failed, e.g. because of an undeclared keyword argument. Patch - written by Oleg Oshmyan. - -Extension Modules ------------------ - -- Issue #9041: An issue in ctypes.c_longdouble, ctypes.c_double, and - ctypes.c_float that caused an incorrect exception to be returned in the - case of overflow has been fixed. - -- bsddb module: Erratic behaviour of "DBEnv->rep_elect()" because a typo. - Possible crash. - -- Issue #13774: json: Fix a SystemError when a bogus encoding is passed to - json.loads(). - -- Issue #9975: socket: Fix incorrect use of flowinfo and scope_id. Patch by - Vilmos Nebehaj. - -- Issue #13159: FileIO, BZ2File, and the built-in file class now use a - linear-time buffer growth strategy instead of a quadratic one. - -- Issue #13070: Fix a crash when a TextIOWrapper caught in a reference cycle - would be finalized after the reference to its underlying BufferedRWPair's - writer got cleared by the GC. - -- Issue #12881: ctypes: Fix segfault with large structure field names. - -- Issue #13013: ctypes: Fix a reference leak in PyCArrayType_from_ctype. - Thanks to Suman Saha for finding the bug and providing a patch. - -- Issue #13022: Fix: _multiprocessing.recvfd() doesn't check that - file descriptor was actually received. - -- Issue #12483: ctypes: Fix a crash when the destruction of a callback - object triggers the garbage collector. - -- Issue #12950: Fix passing file descriptors in multiprocessing, under - OpenIndiana/Illumos. - -- Issue #12764: Fix a crash in ctypes when the name of a Structure field is not - a string. - -- Issue #9651: Fix a crash when ctypes.create_string_buffer(0) was passed to - some functions like file.write(). - -- Issue #10309: Define _GNU_SOURCE so that mremap() gets the proper - signature. Without this, architectures where sizeof void* != sizeof int are - broken. Patch given by Hallvard B Furuseth. - -IDLE ----- - -- Issue #964437: Make IDLE help window non-modal. - Patch by Guilherme Polo and Roger Serwy. - -- Issue #13933: IDLE auto-complete did not work with some imported - module, like hashlib. (Patch by Roger Serwy) - -- Issue #13506: Add '' to path for IDLE Shell when started and restarted with Restart Shell. - Original patches by Marco Scataglini and Roger Serwy. - -- Issue #4625: If IDLE cannot write to its recent file or breakpoint - files, display a message popup and continue rather than crash. - (original patch by Roger Serwy) - -- Issue #8793: Prevent IDLE crash when given strings with invalid hex escape - sequences. - -- Issue #13296: Fix IDLE to clear compile __future__ flags on shell restart. - (Patch by Roger Serwy) - -- Issue #14409: IDLE now properly executes commands in the Shell window - when it cannot read the normal config files on startup and - has to use the built-in default key bindings. - There was previously a bug in one of the defaults. - -- Issue #3573: IDLE hangs when passing invalid command line args - (directory(ies) instead of file(s)). - -Build ------ - -- Issue #6807: Run msisupport.mak earlier. - -- Issue #10580: Minor grammar change in Windows installer. - -- Issue #12627: Implement PEP 394 for Python 2.7 ("python2"). - -- Issue #8746: Correct faulty configure checks so that os.chflags() and - os.lchflags() are once again built on systems that support these - functions (*BSD and OS X). Also add new stat file flags for OS X - (UF_HIDDEN and UF_COMPRESSED). - -Tools/Demos ------------ - -- Issue #14053: patchcheck.py ("make patchcheck") now works with MQ patches. - Patch by Francisco Martín Brugué. - -- Issue #13930: 2to3 is now able to write its converted output files to another - directory tree as well as copying unchanged files and altering the file - suffix. See its new -o, -W and --add-suffix options. This makes it more - useful in many automated code translation workflows. - -- Issue #10639: reindent.py no longer converts newlines and will raise - an error if attempting to convert a file with mixed newlines. - -- Issue #13628: python-gdb.py is now able to retrieve more frames in the Python - traceback if Python is optimized. - -Tests ------ - -- Issue #15467: Move helpers for __sizeof__ tests into test_support. - Patch by Serhiy Storchaka. - -- Issue #11689: Fix a variable scoping error in an sqlite3 test. - Initial patch by Torsten Landschoff. - -- Issue #10881: Fix test_site failures with OS X framework builds. - -- Issue #13901: Prevent test_distutils failures on OS X with --enable-shared. - -- Issue #13304: Skip test case if user site-packages disabled (-s or - PYTHONNOUSERSITE). (Patch by Carl Meyer) - -- Issue #13218: Fix test_ssl failures on Debian/Ubuntu. - -- Issue #12821: Fix test_fcntl failures on OpenBSD 5. - -- Issue #12331: The test suite for lib2to3 can now run from an installed - Python. - -- Issue #12549: Correct test_platform to not fail when OS X returns 'x86_64' - as the processor type on some Mac systems. - -- Skip network tests when getaddrinfo() returns EAI_AGAIN, meaning a temporary - failure in name resolution. - -- Issue #11812: Solve transient socket failure to connect to 'localhost' - in test_telnetlib.py. - -- Solved a potential deadlock in test_telnetlib.py. Related to issue #11812. - -- Avoid failing in test_robotparser when mueblesmoraleda.com is flaky and - an overzealous DNS service (e.g. OpenDNS) redirects to a placeholder - Web site. - -- Avoid failing in test_urllibnet.test_bad_address when some overzealous - DNS service (e.g. OpenDNS) resolves a non-existent domain name. The test - is now skipped instead. - -- Issue #8716: Avoid crashes caused by Aqua Tk on OSX when attempting to run - test_tk or test_ttk_guionly under a username that is not currently logged - in to the console windowserver (as may be the case under buildbot or ssh). - -- Issue #12141: Install a copy of template C module file so that - test_build_ext of test_distutils is no longer silently skipped when - run outside of a build directory. - -- Issue #8746: Add additional tests for os.chflags() and os.lchflags(). - Patch by Garrett Cooper. - -- Issue #10736: Fix test_ttk test_widgets failures with Cocoa Tk 8.5.9 - on Mac OS X. (Patch by Ronald Oussoren) - -- Issue #12057: Add tests for ISO 2022 codecs (iso2022_jp, iso2022_jp_2, - iso2022_kr). - -Documentation -------------- - -- Issues #13491 and #13995: Fix many errors in sqlite3 documentation. - Initial patch for #13491 by Johannes Vogel. - -- Issue #13402: Document absoluteness of sys.executable. - -- Issue #13883: PYTHONCASEOK also works on OS X, OS/2, and RiscOS. - -- Issue #2134: The tokenize documentation has been clarified to explain why - all operator and delimiter tokens are treated as token.OP tokens. - -- Issue #13513: Fix io.IOBase documentation to correctly link to the - io.IOBase.readline method instead of the readline module. - -- Issue #13237: Reorganise subprocess documentation to emphasise convenience - functions and the most commonly needed arguments to Popen. - -- Issue #13141: Demonstrate recommended style for SocketServer examples. - - -What's New in Python 2.7.2? -=========================== - -*Release date: 2011-06-11* - -Library -------- - -- Issue #12009: Fixed regression in netrc file comment handling. - -Extension Modules ------------------ - -- Issue #1221: Make pyexpat.__version__ equal to the Python version. - - -What's New in Python 2.7.2 release candidate 1? -=============================================== - -*Release date: 2011-05-29* - -Core and Builtins ------------------ - -- Issue #9670: Increase the default stack size for secondary threads on - Mac OS X and FreeBSD to reduce the chances of a crash instead of a - "maximum recursion depth" RuntimeError exception. - (patch by Ronald Oussoren) - -- Correct lookup of __dir__ on objects. This allows old-style classes to have - __dir__. It also causes errors besides AttributeError found on lookup to be - propagated. - -- Issue #1195: Fix input() if it is interrupted by CTRL+d and then CTRL+c, - clear the end-of-file indicator after CTRL+d. - -- Issue #8651: PyArg_Parse*() functions raise an OverflowError if the file - doesn't have PY_SSIZE_T_CLEAN define and the size doesn't fit in an int - (length bigger than 2^31-1 bytes). - -- Issue #8651: Fix "z#" format of PyArg_Parse*() function: the size was not - written if PY_SSIZE_T_CLEAN is defined. - -- Issue #9756: When calling a method descriptor or a slot wrapper descriptor, - the check of the object type doesn't read the __class__ attribute anymore. - Fix a crash if a class override its __class__ attribute (e.g. a proxy of the - str type). Patch written by Andreas Stührk. - -- Issue #10517: After fork(), reinitialize the TLS used by the PyGILState_* - APIs, to avoid a crash with the pthread implementation in RHEL 5. Patch - by Charles-François Natali. - -- Issue #6780: fix starts/endswith error message to mention that tuples are - accepted too. - -- Issue #5057: fix a bug in the peepholer that led to non-portable pyc files - between narrow and wide builds while optimizing BINARY_SUBSCR on non-BMP - chars (e.g. u"\U00012345"[0]). - -- Issue #11650: PyOS_StdioReadline() retries fgets() if it was interrupted - (EINTR), for example if the program is stopped with CTRL+z on Mac OS X. Patch - written by Charles-Francois Natali. - -- Issue #11144: Ensure that int(a_float) returns an int whenever possible. - Previously, there were some corner cases where a long was returned even - though the result was within the range of an int. - -- Issue #11450: Don't truncate hg version info in Py_GetBuildInfo() when - there are many tags (e.g. when using mq). Patch by Nadeem Vawda. - -- Issue #10451: memoryview objects could allow mutating a readable buffer. - Initial patch by Ross Lagerwall. - -- Issue #10892: Don't segfault when trying to delete __abstractmethods__ from a - class. - -- Issue #8020: Avoid a crash where the small objects allocator would read - non-Python managed memory while it is being modified by another thread. - Patch by Matt Bandy. - -- Issue #11004: Repaired edge case in deque.count(). - -- Issue #8278: On Windows and with a NTFS filesystem, os.stat() and os.utime() - can now handle dates after 2038. - -- Issue #4236: Py_InitModule4 now checks the import machinery directly - rather than the Py_IsInitialized flag, avoiding a Fatal Python - error in certain circumstances when an import is done in __del__. - -- Issue #11828: startswith and endswith don't accept None as slice index. - Patch by Torsten Becker. - -- Issue #10674: Remove unused 'dictmaker' rule from grammar. - -- Issue #10596: Fix float.__mod__ to have the same behaviour as - float.__divmod__ with respect to signed zeros. -4.0 % 4.0 should be - 0.0, not -0.0. - -- Issue #11386: bytearray.pop() now throws IndexError when the bytearray is - empty, instead of OverflowError. - -Library -------- - -- Issue #12161: Cause StringIO.getvalue() to raise a ValueError when used on a - closed StringIO instance. - -- Issue #12182: Fix pydoc.HTMLDoc.multicolumn() if Python uses the new (true) - division (python -Qnew). Patch written by Ralf W. Grosse-Kunstleve. - -- Issue #12175: RawIOBase.readall() now returns None if read() returns None. - -- Issue #12175: FileIO.readall() now raises a ValueError instead of an IOError - if the file is closed. - -- Issue #1441530: In imaplib, use makefile() to wrap the SSL socket to avoid - heap fragmentation and MemoryError with some malloc implementations. - -- Issue #12100: Don't reset incremental encoders of CJK codecs at each call to - their encode() method anymore, but continue to call the reset() method if the - final argument is True. - -- Issue #12124: zipimport doesn't keep a reference to zlib.decompress() anymore - to be able to unload the module. - -- Issue #10154, #10090: change the normalization of UTF-8 to "UTF-8" instead - of "UTF8" in the locale module as the latter is not supported MacOSX and OpenBSD. - -- Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is - set in shell. - -- Issue #12050: zlib.decompressobj().decompress() now clears the unconsumed_tail - attribute when called without a max_length argument. - -- Issue #12062: In the `io` module, fix a flushing bug when doing a certain - type of I/O sequence on a file opened in read+write mode (namely: reading, - seeking a bit forward, writing, then seeking before the previous write but - still within buffered data, and writing again). - -- Issue #8498: In socket.accept(), allow specifying 0 as a backlog value in - order to accept exactly one connection. Patch by Daniel Evers. - -- Issue #12012: ssl.PROTOCOL_SSLv2 becomes optional. - -- Issue #11927: SMTP_SSL now uses port 465 by default as documented. Patch - by Kasun Herath. - -- Issue #11999: fixed sporadic sync failure mailbox.Maildir due to its trying to - detect mtime changes by comparing to the system clock instead of to the - previous value of the mtime. - -- Issue #10684: shutil.move used to delete a folder on case insensitive - filesystems when the source and destination name where the same except - for the case. - -- Issue #11982: fix json.loads('""') to return u'' rather than ''. - -- Issue #11277: mmap.mmap() calls fcntl(fd, F_FULLFSYNC) on Mac OS X to get - around a mmap bug with sparse files. Patch written by Steffen Daode Nurpmeso. - -- Issue #10761: Fix tarfile.extractall failure when symlinked files are - present. Initial patch by Scott Leerssen. - -- Issue #11763: don't use difflib in TestCase.assertMultiLineEqual if the - strings are too long. - -- Issue #11236: getpass.getpass responds to ctrl-c or ctrl-z on terminal. - -- Issue #11768: The signal handler of the signal module only calls - Py_AddPendingCall() for the first signal to fix a deadlock on reentrant or - parallel calls. PyErr_SetInterrupt() writes also into the wake up file. - -- Issue #11875: collections.OrderedDict's __reduce__ was temporarily - mutating the object instead of just working on a copy. - -- Issue #11442: Add a charset parameter to the Content-type in SimpleHTTPServer - to avoid XSS attacks. - -- Issue #11467: Fix urlparse behavior when handling urls which contains scheme - specific part only digits. Patch by Santoso Wijaya. - -- collections.Counter().copy() now works correctly for subclasses. - -- Issue #11474: Fix the bug with url2pathname() handling of '/C|/' on Windows. - Patch by Santoso Wijaya. - -- Issue #9233: Fix json.loads('{}') to return a dict (instead of a list), when - _json is not available. - -- Issue #11703: urllib2.geturl() does not return correct url when the original - url contains #fragment. - -- Issue #10019: Fixed regression in json module where an indent of 0 stopped - adding newlines and acted instead like 'None'. - -- Issue #5162: Treat services like frozen executables to allow child spawning - from multiprocessing.forking on Windows. - -- Issue #4877: Fix a segfault in xml.parsers.expat while attempting to parse - a closed file. - -- Issue #11830: Remove unnecessary introspection code in the decimal module. - It was causing a failed import in the Turkish locale where the locale - sensitive str.upper() method caused a name mismatch. - -- Issue #8428: Fix a race condition in multiprocessing.Pool when terminating - worker processes: new processes would be spawned while the pool is being - shut down. Patch by Charles-François Natali. - -- Issue #7311: Fix HTMLParser to accept non-ASCII attribute values. - -- Issue #10963: Ensure that subprocess.communicate() never raises EPIPE. - -- Issue #11662: Make urllib and urllib2 ignore redirections if the - scheme is not HTTP, HTTPS or FTP (CVE-2011-1521). - -- Issue #11256: Fix inspect.getcallargs on functions that take only keyword - arguments. - -- Issue #11696: Fix ID generation in msilib. - -- Issue #9696: Fix exception incorrectly raised by xdrlib.Packer.pack_int when - trying to pack a negative (in-range) integer. - -- Issue #11675: multiprocessing.[Raw]Array objects created from an integer size - are now zeroed on creation. This matches the behaviour specified by the - documentation. - -- Issue #7639: Fix short file name generation in bdist_msi. - -- Issue #11666: let help() display named tuple attributes and methods - that start with a leading underscore. - -- Issue #11673: Fix multiprocessing Array and RawArray constructors to accept a - size of type 'long', rather than only accepting 'int'. - -- Issue #10042: Fixed the total_ordering decorator to handle cross-type - comparisons that could lead to infinite recursion. - -- Issue #10979: unittest stdout buffering now works with class and module - setup and teardown. - -- Issue #11569: use absolute path to the sysctl command in multiprocessing to - ensure that it will be found regardless of the shell PATH. This ensures - that multiprocessing.cpu_count works on default installs of MacOSX. - -- Issue #11500: Fixed a bug in the os x proxy bypass code for fully qualified - IP addresses in the proxy exception list. - -- Issue #11131: Fix sign of zero in plus and minus operations when - the context rounding mode is ROUND_FLOOR. - -- Issue #5622: Fix curses.wrapper to raise correct exception if curses - initialization fails. - -- Issue #11391: Writing to a mmap object created with - ``mmap.PROT_READ|mmap.PROT_EXEC`` would segfault instead of raising a - TypeError. Patch by Charles-François Natali. - -- Issue #11306: mailbox in certain cases adapts to an inability to open - certain files in read-write mode. Previously it detected this by - checking for EACCES, now it also checks for EROFS. - -- Issue #11265: asyncore now correctly handles EPIPE, EBADF and EAGAIN errors - on accept(), send() and recv(). - -- Issue #11326: Add the missing connect_ex() implementation for SSL sockets, - and make it work for non-blocking connects. - -- Issue #10956: Buffered I/O classes retry reading or writing after a signal - has arrived and the handler returned successfully. - -- Issue #10680: Fix mutually exclusive arguments for argument groups in - argparse. - -- Issue #4681: Allow mmap() to work on file sizes and offsets larger than - 4GB, even on 32-bit builds. Initial patch by Ross Lagerwall, adapted for - 32-bit Windows. - -- Issue #10360: In WeakSet, do not raise TypeErrors when testing for - membership of non-weakrefable objects. - -- Issue #10549: Fix pydoc traceback when text-documenting certain classes. - -- Issue #940286: pydoc.Helper.help() ignores input/output init parameters. - -- Issue #11171: Fix detection of config/Makefile when --prefix != - --exec-prefix, which caused Python to not start. - -- Issue #11116: any error during addition of a message to a mailbox now causes - a rollback, instead of leaving the mailbox partially modified. - -- Issue #8275: Fix passing of callback arguments with ctypes under Win64. - Patch by Stan Mihai. - -- Issue #10949: Improved robustness of rotating file handlers. - -- Issue #10955: Fix a potential crash when trying to mmap() a file past its - length. Initial patch by Ross Lagerwall. - -- Issue #10898: Allow compiling the posix module when the C library defines - a symbol named FSTAT. - -- Issue #10916: mmap should not segfault when a file is mapped using 0 as - length and a non-zero offset, and an attempt to read past the end of file - is made (IndexError is raised instead). Patch by Ross Lagerwall. - -- Issue #10875: Update Regular Expression HOWTO; patch by 'SilentGhost'. - -- Issue #10827: Changed the rules for 2-digit years. The time.asctime - function will now format any year when ``time.accept2dyear`` is - false and will accept years >= 1000 otherwise. The year range - accepted by ``time.mktime`` and ``time.strftime`` is still system - dependent, but ``time.mktime`` will now accept full range supported - by the OS. Conversion of 2-digit years to 4-digit is deprecated. - -- Issue #10869: Fixed bug where ast.increment_lineno modified the root - node twice. - -- Issue #7858: Raise an error properly when os.utime() fails under Windows - on an existing file. - -- Issue #3839: wsgiref should not override a Content-Length header set by - the application. Initial patch by Clovis Fabricio. - -- Issue #10806, issue #9905: Fix subprocess pipes when some of the standard - file descriptors (0, 1, 2) are closed in the parent process. Initial - patch by Ross Lagerwall. - -- Issue #4662: os.tempnam(), os.tmpfile() and os.tmpnam() now raise a py3k - DeprecationWarning. - -- Subclasses of collections.OrderedDict now work correctly with __missing__. - -- Issue #10753: Characters ';', '=' and ',' in the PATH_INFO environment - variable won't be quoted when the URI is constructed by the wsgiref.util 's - request_uri method. According to RFC 3986, these characters can be a part of - params in PATH component of URI and need not be quoted. - -- Issue #10738: Fix webbrowser.Opera.raise_opts - -- Issue #9824: SimpleCookie now encodes , and ; in values to cater to how - browsers actually parse cookies. - -- Issue #1379416: eliminated a source of accidental unicode promotion in - email.header.Header.encode. - -- Issue #5258/#10642: if site.py encounters a .pth file that generates an error, - it now prints the filename, line number, and traceback to stderr and skips - the rest of that individual file, instead of stopping processing entirely. - -- Issue #10750: The ``raw`` attribute of buffered IO objects is now read-only. - -- Issue #10242: unittest.TestCase.assertItemsEqual makes too many assumptions - about input. - -- Issue #10611: SystemExit should not cause a unittest test run to exit. - -- Issue #6791: Limit header line length (to 65535 bytes) in http.client, - to avoid denial of services from the other party. - -- Issue #9907: Fix tab handling on OSX when using editline by calling - rl_initialize first, then setting our custom defaults, then reading .editrc. - -- Issue #4188: Avoid creating dummy thread objects when logging operations - from the threading module (with the internal verbose flag activated). - -- Issue #9721: Fix the behavior of urljoin when the relative url starts with a - ';' character. Patch by Wes Chow. - -- Issue #10714: Limit length of incoming request in http.server to 65536 bytes - for security reasons. Initial patch by Ross Lagerwall. - -- Issue #9558: Fix distutils.command.build_ext with VS 8.0. - -- Issue #10695: passing the port as a string value to telnetlib no longer - causes debug mode to fail. - -- Issue #10478: Reentrant calls inside buffered IO objects (for example by - way of a signal handler) now raise a RuntimeError instead of freezing the - current process. - -- Issue #10497: Fix incorrect use of gettext in argparse. - -- Issue #10464: netrc now correctly handles lines with embedded '#' characters. - -- Issue #1731717: Fixed the problem where subprocess.wait() could cause an - OSError exception when The OS had been told to ignore SIGCLD in our process - or otherwise not wait for exiting child processes. - -- Issue #9509: argparse now properly handles IOErrors raised by - argparse.FileType. - -- Issue #9348: Raise an early error if argparse nargs and metavar don't match. - -- Issue #8982: Improve the documentation for the argparse Namespace object. - -- Issue #9343: Document that argparse parent parsers must be configured before - their children. - -- Issue #9026: Fix order of argparse sub-commands in help messages. - -- Issue #9347: Fix formatting for tuples in argparse type= error messages. - -Extension Modules ------------------ - -- Stop using the old interface for providing methods and attributes in the _sre - module. Among other things, this gives these classes ``__class__`` - attributes. (See #12099) - -- Issue #10169: Fix argument parsing in socket.sendto() to avoid error masking. - -- Issue #12051: Fix segfault in json.dumps() while encoding highly-nested - objects using the C accelerations. - -- Issue #12017: Fix segfault in json.loads() while decoding highly-nested - objects using the C accelerations. - -- Issue #1838: Prevent segfault in ctypes, when _as_parameter_ on a class is set - to an instance of the class. - -- Issue #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY. - -IDLE ----- - -- Issue #11718: IDLE's open module dialog couldn't find the __init__.py - file in a package. - -- Issue #12590: IDLE editor window now always displays the first line - when opening a long file. With Tk 8.5, the first line was hidden. - -- Issue #11088: don't crash when using F5 to run a script in IDLE on MacOSX - with Tk 8.5. - -- Issue #10940: Workaround an IDLE hang on Mac OS X 10.6 when using the - menu accelerators for Open Module, Go to Line, and New Indent Width. - The accelerators still work but no longer appear in the menu items. - -- Issue #10907: Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5, rather - than the currently problematic Apple-supplied one, when running with the - 64-/32-bit installer variant. - -- Issue #11052: Correct IDLE menu accelerators on Mac OS X for Save - commands. - -- Issue #6075: IDLE on Mac OS X now works with both Carbon AquaTk and - Cocoa AquaTk. - -- Issue #10404: Use ctl-button-1 on OSX for the context menu in Idle. - -- Issue #10107: Warn about unsaved files in IDLE on OSX. - -- Issue #10406: Enable Rstrip IDLE extension on OSX (just like on other - platforms). - -- Issue #6378: Further adjust idle.bat to start associated Python - -- Issue #11896: Save on Close failed despite selecting "Yes" in dialog. - -- Issue #4676: toggle failing on Tk 8.5, causing IDLE exits and - strange selection behavior. Improve selection extension behaviour. - -- Issue #3851: toggle non-functional when NumLock set on Windows. - -Build ------ - -- Issue #11217: For 64-bit/32-bit Mac OS X universal framework builds, - ensure "make install" creates symlinks in --prefix bin for the "-32" - files in the framework bin directory like the installer does. - -- Issue #11411: Fix 'make DESTDIR=' with a relative destination. - -- Issue #10709: Add updated AIX notes in Misc/README.AIX. - -- Issue #11184: Fix large-file support on AIX. - -- Issue #941346: Fix broken shared library build on AIX. - -- Issue #11268: Prevent Mac OS X Installer failure if Documentation - package had previously been installed. - -- Issue #11079: The /Applications/Python x.x folder created by the Mac - OS X installers now includes a link to the installed documentation. - -- Issue #11054: Allow Mac OS X installer builds to again work on 10.5 with - the system-provided Python. - -- Issue #10843: Update third-party library versions used in OS X - 32-bit installer builds: bzip2 1.0.6, readline 6.1.2, SQLite 3.7.4 - (with FTS3/FTS4 and RTREE enabled), and ncursesw 5.5 (wide-char - support enabled). - -- Don't run pgen twice when using make -j. - -- Issue #7716: Under Solaris, don't assume existence of /usr/xpg4/bin/grep in - the configure script but use $GREP instead. Patch by Fabian Groffen. - -- Issue #10475: Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD - and DragonFly BSD. Patch by Nicolas Joly. - -- Issue #10655: Fix the build on PowerPC on Linux with GCC when building with - timestamp profiling (--with-tsc): the preprocessor test for the PowerPC - support now looks for "__powerpc__" as well as "__ppc__": the latter seems to - only be present on OS X; the former is the correct one for Linux with GCC. - -- Issue #1099: Fix the build on MacOSX when building a framework with pydebug - using GCC 4.0. - -Tests ------ - -- Issue #11164: Remove obsolete allnodes test from minidom test. - -- Issue #12205: Fix test_subprocess failure due to uninstalled test data. - -- Issue #5723: Improve json tests to be executed with and without accelerations. - -- Issue #11910: Fix test_heapq to skip the C tests when _heapq is missing. - -- Fix test_startfile to wait for child process to terminate before finishing. - -- Issue #11719: Fix message about unexpected test_msilib skip on non-Windows - platforms. Patch by Nadeem Vawda. - -- Issue #7108: Fix test_commands to not fail when special attributes ('@' - or '.') appear in 'ls -l' output. - -- Issue #11490: test_subprocess:test_leaking_fds_on_error no longer gives a - false positive if the last directory in the path is inaccessible. - -- Issue #10822: Fix test_posix:test_getgroups failure under Solaris. Patch - by Ross Lagerwall. - -- Issue #6293: Have regrtest.py echo back sys.flags. This is done by default - in whole runs and enabled selectively using ``--header`` when running an - explicit list of tests. Original patch by Collin Winter. - -- Issue #775964: test_grp now skips YP/NIS entries instead of failing when - encountering them. - -- Issue #7110: regrtest now sends test failure reports and single-failure - tracebacks to stderr rather than stdout. - - -What's New in Python 2.7.1? -=========================== - -*Release date: 2010-11-27* - -Library -------- - -- Issue #2236: distutils' mkpath ignored the mode parameter. - -- Fix typo in one sdist option (medata-check). - -- Issue #10323: itertools.islice() now consumes the minimum number of - inputs before stopping. Formerly, the final state of the underlying - iterator was undefined. - -- Issue #10565: The collections.Iterator ABC now checks for both - ``__iter__`` and ``next``. - -- Issue #10092: Properly reset locale in calendar.Locale*Calendar classes. - -- Issue #10459: Update CJK character names to Unicode 5.2. - -- Issue #6098: Don't claim DOM level 3 conformance in minidom. - -- Issue #10561: In pdb, clear the breakpoints by the breakpoint number. - -- Issue #5762: Fix AttributeError raised by ``xml.dom.minidom`` when an empty - XML namespace attribute is encountered. - -- Issue #1710703: Write structures for an empty ZIP archive when a ZipFile is - created in modes 'a' or 'w' and then closed without adding any files. Raise - BadZipfile (rather than IOError) when opening small non-ZIP files. - -- Issue #4493: urllib2 adds '/' in front of path components which does not - start with '/. Common behavior exhibited by browsers and other clients. - -- Issue #10407: Fix one NameError in distutils. - -- Issue #10198: fix duplicate header written to wave files when writeframes() - is called without data. - -- Issue #10467: Fix BytesIO.readinto() after seeking into a position after the - end of the file. - -- Issue #5111: IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru. - -IDLE ----- - -- Issue #6378: idle.bat now runs with the appropriate Python version rather than - the system default. Patch by Sridhar Ratnakumar. - -Build ------ - -- Backport r83399 to allow test_distutils to pass on installed versions. - -- Issue #1303434: Generate ZIP file containing all PDBs. - -Tests ------ - -- Issue #9424: Replace deprecated assert* methods in the Python test suite. - -Documentation -------------- - -- Issue #10299: List the built-in functions in a table in functions.rst. - - -What's New in Python 2.7.1 release candidate 1? -=============================================== - -*Release date: 2010-11-13* - -Core and Builtins ------------------ - -- Issue #10221: dict.pop(k) now has a key error message that includes the - missing key (same message d[k] returns for missing keys). - -- Issue #10125: Don't segfault when the iterator passed to - ``file.writelines()`` closes the file. - -- Issue #10186: Fix the SyntaxError caret when the offset is equal to the - length of the offending line. - -- Issue #9997: Don't let the name "top" have special significance in scope - resolution. - -- Issue #9862: Compensate for broken PIPE_BUF in AIX by hard coding - its value as the default 512 when compiling on AIX. - -- Issue #9675: CObject use is marked as a Py3k warning, not a deprecation - warning. - -- Issue #10068: Global objects which have reference cycles with their module's - dict are now cleared again. This causes issue #7140 to appear again. - -- Issue #9869: Make long() and PyNumber_Long return something of type - long for a class whose __long__ method returns a plain int. This - fixes an interpreter crash when initializing an instance of a long - subclass from an object whose __long__ method returns a plain int. - -- Issue #10006: type.__abstractmethods__ now raises an AttributeError. - -- Issue #9797: pystate.c wrongly assumed that zero couldn't be a valid - thread-local storage key. - -- Issue #4947: The write() method of sys.stdout and sys.stderr uses their - encoding and errors attributes instead of using utf-8 in strict mode, to get - the same behaviour than the print statement. - -- Issue #9737: Fix a crash when trying to delete a slice or an item from - a memoryview object. - -- Restore GIL in nis_cat in case of error. - -- Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t. - -- Issue #8530: Prevent stringlib fastsearch from reading beyond the front - of an array. - -- Issue #83755: Implicit set-to-frozenset conversion was not thread-safe. - -- Issue #9416: Fix some issues with complex formatting where the - output with no type specifier failed to match the str output: - - - format(complex(-0.0, 2.0), '-') omitted the real part from the output, - - format(complex(0.0, 2.0), '-') included a sign and parentheses. - -- Issue #7616: Fix copying of overlapping memoryview slices with the Intel - compiler. - -Library -------- - -- Issue #9926: Wrapped TestSuite subclass does not get __call__ executed - -- Issue #4471: Properly shutdown socket in IMAP.shutdown(). Patch by - Lorenzo M. Catucci. - -- Issue #10126: Fix distutils' test_build when Python was built with - --enable-shared. - -- Fix typo in one sdist option (medata-check). - -- Issue #9199: Fix incorrect use of distutils.cmd.Command.announce. - -- Issue #1718574: Fix options that were supposed to accept arguments but did - not in build_clib. - -- Issue #9281: Prevent race condition with mkdir in distutils. Patch by - Arfrever. - -- Issue #10229: Fix caching error in gettext. - -- Issue #10252: Close file objects in a timely manner in distutils code and - tests. Patch by Brian Brazil, completed by Éric Araujo. - -- Issue #10311: The signal module now restores errno before returning from - its low-level signal handler. Patch by Hallvard B Furuseth. - -- Issue #10038: json.loads() on str should always return unicode (regression - from Python 2.6). Patch by Walter Dörwald. - -- Issue #120176: Wrapped TestSuite subclass does not get __call__ executed. - -- Issue #6706: asyncore accept() method no longer raises - EWOULDBLOCK/ECONNABORTED on incomplete connection attempt but returns None - instead. - -- Issue #10266: uu.decode didn't close in_file explicitly when it was given - as a filename. Patch by Brian Brazil. - -- Issue #10246: uu.encode didn't close file objects explicitly when filenames - were given to it. Patch by Brian Brazil. - -- Issue #10253: FileIO leaks a file descriptor when trying to open a file - for append that isn't seekable. Patch by Brian Brazil. - -- Issue #6105: json.dumps now respects OrderedDict's iteration order. - -- Issue #9295: Fix a crash under Windows when calling close() on a file - object with custom buffering from two threads at once. - -- Issue #5027: The standard ``xml`` namespace is now understood by - xml.sax.saxutils.XMLGenerator as being bound to - http://www.w3.org/XML/1998/namespace. Patch by Troy J. Farrell. - -- Issue #10163: Skip unreadable registry keys during mimetypes - initialization. - -- Issue #5117: Fixed root directory related issue on posixpath.relpath() and - ntpath.relpath(). - -- Issue #9409: Fix the regex to match all kind of filenames, for interactive - debugging in doctests. - -- Issue #6612: Fix site and sysconfig to catch os.getcwd() error, eg. if the - current directory was deleted. Patch written by W. Trevor King. - -- Issue #10045: Improved performance when writing after seeking past the - end of the "file" in cStringIO. - -- Issue #9948: Fixed problem of losing filename case information. - -- Issue #9437: Fix building C extensions with non-default LDFLAGS. - -- Issue #9759: GzipFile now raises ValueError when an operation is attempted - after the file is closed. Patch by Jeffrey Finkelstein. - -- Issue #9042: Fix interaction of custom translation classes and caching in - gettext. - -- Issue #9065: tarfile no longer uses "root" as the default for the uname and - gname field. - -- Issue #1050268: parseaddr now correctly quotes double quote and backslash - characters that appear inside quoted strings in email addresses. - -- Issue #10004: quoprimime no longer generates a traceback when confronted - with invalid characters after '=' in a Q-encoded word. - -- Issue #9950: Fix socket.sendall() crash or misbehaviour when a signal is - received. Now sendall() properly calls signal handlers if necessary, - and retries sending if these returned successfully, including on sockets - with a timeout. - -- Issue #9947: logging: Fixed locking bug in stopListening. - -- Issue #9945: logging: Fixed locking bugs in addHandler/removeHandler. - -- Issue #9936: Fixed executable lines' search in the trace module. - -- Issue #9928: Properly initialize the types exported by the bz2 module. - -- Issue #9854: The default read() implementation in io.RawIOBase now - handles non-blocking readinto() returning None correctly. - -- Issue #9729: Fix the signature of SSLSocket.recvfrom() and - SSLSocket.sendto() to match the corresponding socket methods. Also, - fix various SSLSocket methods to raise socket.error rather than an - unhelpful TypeError when called on an unconnected socket. Original patch - by Andrew Bennetts. - -- Issue #9826: OrderedDict.__repr__ can now handle self-referential - values: d['x'] = d. - -- Issue #767645: Set os.path.supports_unicode_filenames to True on Mac OS X. - -- Issue #9837: The read() method of ZipExtFile objects (as returned by - ZipFile.open()) could return more bytes than requested. - -- Issue #9825: removed __del__ from the definition of collections.OrderedDict. - This prevents user-created self-referencing ordered dictionaries from - becoming permanently uncollectable GC garbage. The downside is that - removing __del__ means that the internal doubly-linked list has to wait for - GC collection rather than freeing memory immediately when the refcnt drops - to zero. - -- Issue #9816: random.Random.jumpahead(n) did not produce a sufficiently - different internal state for small values of n. Fixed by salting the - value. - -- Issue #9792: In case of connection failure, socket.create_connection() - would swallow the exception and raise a new one, making it impossible - to fetch the original errno, or to filter timeout errors. Now the - original error is re-raised. - -- Issue #9758: When fcntl.ioctl() was called with mutable_flag set to True, - and the passed buffer was exactly 1024 bytes long, the buffer wouldn't - be updated back after the system call. Original patch by Brian Brazil. - -- Issue #1100562: Fix deep-copying of objects derived from the list and - dict types. Patch by Michele Orrù and Björn Lindqvist. - -- Issue #7005: Fixed output of None values for RawConfigParser.write and - ConfigParser.write. - -- Issue #808164: Fixed socket.close to avoid references to globals, to - avoid issues when socket.close is called from a __del__ method. - -- Issue #2986: difflib.SequenceMatcher gets a new parameter, autojunk, which - can be set to False to turn off the previously undocumented 'popularity' - heuristic. Patch by Terry Reedy and Eli Bendersky - -- Issue #8797: urllib2 does a retry for Basic Authentication failure instead of - falling into recursion. - -- Issue #1194222: email.utils.parsedate now returns RFC2822 compliant four - character years even if the message contains RFC822 two character years. - -- Issue #8750: Fixed MutableSet's methods to correctly handle - reflexive operations, namely x -= x and x ^= x. - -- Issue #9129: smtpd.py is vulnerable to DoS attacks deriving from missing - error handling when accepting a new connection. - -- Issue #658749: asyncore's connect() method now correctly interprets winsock - errors. - -- Issue #9501: Fixed logging regressions in cleanup code. - -- Issue #9214: Set operations on KeysView or ItemsView in the collections - module now correctly return a set. (Patch by Eli Bendersky.) - -- Issue #9617: Signals received during a low-level write operation aren't - ignored by the buffered IO layer anymore. - -- Issue #2521: Use weakrefs on for caching in the abc module, so that classes - are not held onto after they are deleted elsewhere. - -- Issue #9626: the view methods for collections.OrderedDict() were returning - the unordered versions inherited from dict. Those methods are now - overridden to provide ordered views. - -- Issue #8688: MANIFEST files created by distutils now include a magic - comment indicating they are generated. Manually maintained MANIFESTs - without this marker will not be overwritten or removed. - -- Issue #7467: when reading a file from a ZIP archive, its CRC is checked - and a BadZipfile error is raised if it doesn't match (as used to be the - case in Python 2.5 and earlier). - -- Issue #9550: a BufferedReader could issue an additional read when the - original read request had been satisfied, which could block indefinitely - when the underlying raw IO channel was e.g. a socket. Report and original - patch by Jason V. Miller. - -- Issue #9551: Don't raise TypeError when setting the value to None for - SafeConfigParser instances constructed with allow_no_value == True. - -- Issue #6915: Under Windows, os.listdir() didn't release the Global - Interpreter Lock around all system calls. Original patch by Ryan Kelly. - -- Issue #3757: thread-local objects now support cyclic garbage collection. - Thread-local objects involved in reference cycles will be deallocated - timely by the cyclic GC, even if the underlying thread is still running. - -- Issue #6231: Fix xml.etree.ElementInclude to include the tail of the - current node. - -- Issue #6869: Fix a refcount problem in the _ctypes extension. - -- Issue #5504: ctypes should now work with systems where mmap can't be - PROT_WRITE and PROT_EXEC. - -- Issue #8280: urllib2's Request method will remove fragements in the url. - This is how it is supposed to work, wget and curl do the same. Previous - behavior was wrong. - -- Issue #2944: asyncore doesn't handle connection refused correctly. - -- Issue #3196: email header decoding is now forgiving if an RFC2047 - encoded word encoded in base64 is lacking padding. - -- Issue #9444: Argparse now uses the first element of prefix_chars as - the option character for the added 'h/help' option if prefix_chars - does not contain a '-', instead of raising an error. - -- Issue #9354: Provide getsockopt() in asyncore's file_wrapper. - -- Issue #9428: Fix running scripts with the profile/cProfile modules from - the command line. - -- Issue #7781: Fix restricting stats by entry counts in the pstats - interactive browser. - -- Issue #9209: Do not crash in the pstats interactive browser on invalid - regular expressions. - -- Issue #7372: Fix pstats regression when stripping paths from profile - data generated with the profile module. - -- Issue #4108: In urllib.robotparser, if there are multiple 'User-agent: *' - entries, consider the first one. - -- Issue #8397: Raise an error when attempting to mix iteration and regular - reads on a BZ2File object, rather than returning incorrect results. - -- Issue #5294: Fix the behavior of pdb's "continue" command when called - in the top-level debugged frame. - -- Issue #5727: Restore the ability to use readline when calling into pdb - in doctests. - -- Issue #6719: In pdb, do not stop somewhere in the encodings machinery - if the source file to be debugged is in a non-builtin encoding. - -- Issue #8048: Prevent doctests from failing when sys.displayhook has - been reassigned. - -- Issue #8015: In pdb, do not crash when an empty line is entered as - a breakpoint command. - -- Issue #9448: Fix a leak of OS resources (mutexes or semaphores) when - re-initializing a buffered IO object by calling its ``__init__`` method. - -- Issue #7909: Do not touch paths with the special prefixes ``\\.\`` - or ``\\?\`` in ntpath.normpath(). - -- Issue #5146: Handle UID THREAD command correctly in imaplib. - -- Issue #5147: Fix the header generated for cookie files written by - http.cookiejar.MozillaCookieJar. - -- Issue #8198: In pydoc, output all help text to the correct stream - when sys.stdout is reassigned. - -- Issue #7395: Fix tracebacks in pstats interactive browser. - -- Issue #8230: Fix Lib/test/sortperf.py. - -- Issue #1713: Fix os.path.ismount(), which returned true for symbolic links - across devices. - -- Issue #8826: Properly load old-style "expires" attribute in http.cookies. - -- Issue #1690103: Fix initial namespace for code run with trace.main(). - -- Issue #8471: In doctest, properly reset the output stream to an empty - string when Unicode was previously output. - -- Issue #8620: when a Cmd is fed input that reaches EOF without a final - newline, it no longer truncates the last character of the last command line. - -- Issue #6213: Implement getstate() and setstate() methods of utf-8-sig and - utf-16 incremental encoders. - -- Issue #7113: Speed up loading in ConfigParser. Patch by Łukasz Langa. - -- Issue #3704: cookielib was not properly handling URLs with a / in the - parameters. - -- Issue #9032: XML-RPC client retries the request on EPIPE error. The EPIPE - error occurs when the server closes the socket and the client sends a big - XML-RPC request. - -- Issue #5542: Remove special logic that closes HTTPConnection socket on EPIPE. - -- Issue #4629: getopt raises an error if an argument ends with = whereas getopt - doesn't except a value (eg. --help= is rejected if getopt uses ['help='] long - options). - -- Issue #7895: platform.mac_ver() no longer crashes after calling os.fork() - -- Issue #5395: array.fromfile() would raise a spurious EOFError when an - I/O error occurred. Now an IOError is raised instead. Patch by chuck - (Jan Hosang). - -- Issue #7646: The fnmatch pattern cache no longer grows without bound. - -- Issue #9136: Fix 'dictionary changed size during iteration' - RuntimeError produced when profiling the decimal module. This was - due to a dangerous iteration over 'locals()' in Context.__init__. - -- Fix extreme speed issue in Decimal.pow when the base is an exact - power of 10 and the exponent is tiny (for example, - Decimal(10) ** Decimal('1e-999999999')). - -- Issue #9161: Fix regression in optparse's acceptance of unicode - strings in add_option calls. - -- Issue #9130: Fix validation of relative imports in parser module. - -- Issue #9128: Fix validation of class decorators in parser module. - -- Issue #9164: Ensure sysconfig handles dupblice archs while building on OSX - -- Issue #9315: Fix for the trace module to record correct class name - for tracing methods. - -Extension Modules ------------------ - -- Issue #9054: Fix a crash occurring when using the pyexpat module - with expat version 2.0.1. - -- Issue #10003: Allow handling of SIGBREAK on Windows. Fixes a regression - introduced by issue #9324. - -- Issue #8734: Avoid crash in msvcrt.get_osfhandle() when an invalid file - descriptor is provided. Patch by Pascal Chambon. - -- Issue #7736: Release the GIL around calls to opendir() and closedir() - in the posix module. Patch by Marcin Bachry. - -- As a result of issue #2521, the _weakref module is now compiled into the - interpreter by default. - -- Issue #9324: Add parameter validation to signal.signal on Windows in order - to prevent crashes. - -- Issue #9526: Remove some outdated (int) casts that were preventing - the array module from working correctly with arrays of more than - 2**31 elements. - -- Fix memory leak in ssl._ssl._test_decode_cert. - -- Issue #8065: Fix memory leak in readline module (from failure to - free the result of history_get_history_state()). - -- Issue #9450: Fix memory leak in readline.replace_history_item and - readline.remove_history_item for readline version >= 5.0. - -- Issue #8105: Validate file descriptor passed to mmap.mmap on Windows. - -- Issue #1019882: Fix IndexError when loading certain hotshot stats. - -- Issue #9422: Fix memory leak when re-initializing a struct.Struct object. - -- Issue #7900: The getgroups(2) system call on MacOSX behaves rather oddly - compared to other unix systems. In particular, os.getgroups() does - not reflect any changes made using os.setgroups() but basically always - returns the same information as the id command. - - os.getgroups() can now return more than 16 groups on MacOSX. - -- Issue #9277: Fix bug in struct.pack for bools in standard mode - (e.g., struct.pack('>?')): if conversion to bool raised an exception - then that exception wasn't properly propagated on machines where - char is unsigned. - -- Issue #7567: Don't call `setupterm' twice. - -Tools/Demos ------------ - -- Issue #7287: Demo/imputil/knee.py was removed. - -- Issue #9188: The gdb extension now handles correctly narrow (UCS2) as well - as wide (UCS4) unicode builds for both the host interpreter (embedded - inside gdb) and the interpreter under test. - -Build ------ - -- Issue #8852: Allow the socket module to build on OpenSolaris. - -- Issue #10054: Some platforms provide uintptr_t in inttypes.h. Patch by - Akira Kitada. - -- Issue #10055: Make json C89-compliant in UCS4 mode. - -- Issue #1633863: Don't ignore $CC under AIX. - -- Issue #9810: Compile bzip2 source files in python's project file - directly. It used to be built with bzip2's makefile. - -- Issue #941346: Improve the build process under AIX and allow Python to - be built as a shared library. Patch by Sébastien Sablé. - -- Issue #4026: Make the fcntl extension build under AIX. Patch by Sébastien - Sablé. - -- Issue #3101: Helper functions _add_one_to_index_C() and - _add_one_to_index_F() become _Py_add_one_to_index_C() and - _Py_add_one_to_index_F(), respectively. - -- Issue #9700: define HAVE_BROKEN_POSIX_SEMAPHORES under AIX 6.x. Patch by - Sébastien Sablé. - -- Issue #9280: Make sharedinstall depend on sharedmods. - -- Issue #9275: The OSX installer once again installs links to binaries in - ``/usr/local/bin``. - -- Issue #9392: A framework build on OSX will once again use a versioned name - of the ``2to3`` tool, that is you can use ``2to3-2.7`` to select the Python - 2.7 edition of 2to3. - -- Issue #9701: The MacOSX installer can patch the shell profile to ensure that - the "bin" directory inside the framework is on the shell's search path. This - feature now also supports the ZSH shell. - -- Issue #7473: avoid link errors when building a framework with a different - set of architectures than the one that is currently installed. - -Tests ------ - -- Issue #9978: Wait until subprocess completes initialization. (Win32KillTests - in test_os) - -- Issue #9894: Do not hardcode ENOENT in test_subprocess. - -- Issue #9323: Make test.regrtest.__file__ absolute, this was not always the - case when running profile or trace, for example. - -- Issue #9315: Added tests for the trace module. Patch by Eli Bendersky. - -- Strengthen test_unicode with explicit type checking for assertEqual tests. - -- Issue #8857: Provide a test case for socket.getaddrinfo. - -- Issue #7564: Skip test_ioctl if another process is attached to /dev/tty. - -- Issue #8433: Fix test_curses failure with newer versions of ncurses. - -- Issue #9496: Provide a test suite for the rlcompleter module. Patch by - Michele Orrù. - -- Issue #8605: Skip test_gdb if Python is compiled with optimizations. - -- Issue #9568: Fix test_urllib2_localnet on OS X 10.3. - -Documentation -------------- - -- Issue #9817: Add expat COPYING file; add expat, libffi and expat licenses - to Doc/license.rst. - -- Issue #9524: Document that two CTRL* signals are meant for use only - with os.kill. - -- Issue #9255: Document that the 'test' package is for internal Python use - only. - -- Issue #7829: Document in dis that bytecode is an implementation detail. - - -What's New in Python 2.7? -========================= - -*Release date: 2010-07-03* - -Core and Builtins ------------------ - -- Prevent assignment to set literals. - -Library -------- - -- Issue #1868: Eliminate subtle timing issues in thread-local objects by - getting rid of the cached copy of thread-local attribute dictionary. - -- Issue #9125: Add recognition of 'except ... as ...' syntax to parser module. - -Extension Modules ------------------ - -- Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module, - ensure that the input string length is a multiple of the frame size. - -- Issue #9075: In the ssl module, remove the setting of a ``debug`` flag - on an OpenSSL structure. - - -What's New in Python 2.7 release candidate 2? -============================================= - -*Release date: 2010-06-20* - -Core and Builtins ------------------ - -- Issue #9058: Remove assertions about INT_MAX in UnicodeDecodeError. - -- Issue #8202: Previous change to ``sys.argv[0]`` handling for -m command line - option reverted due to unintended side effects on handling of ``sys.path``. - See tracker issue for details. - -- Issue #8941: decoding big endian UTF-32 data in UCS-2 builds could crash - the interpreter with characters outside the Basic Multilingual Plane - (higher than 0x10000). - -- In the unicode/str.format(), raise a ValueError when indexes to arguments are - too large. - -Build ------ - -- Issue #8854: Fix finding Visual Studio 2008 on Windows x64. - -Library -------- - -- Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructor - raises an exception. - -- Issue #8959: fix regression caused by using unmodified libffi - library on Windows. ctypes does now again check the stack before - and after calling foreign functions. - -- Issue #8720: fix regression caused by fix for #4050 by making getsourcefile - smart enough to find source files in the linecache. - -- Issue #8986: math.erfc was incorrectly raising OverflowError for - values between -27.3 and -30.0 on some platforms. - -- Issue #8924: logging: Improved error handling for Unicode in exception text. - -- Issue #8948: cleanup functions and class / module setups and teardowns are - now honored in unittest debug methods. - -Documentation -------------- - -- Issue #8909: Added the size of the bitmap used in the installer created by - distutils' bdist_wininst. Patch by Anatoly Techtonik. - -Misc ----- - -- Issue #8362: Add maintainers.rst: list of module maintainers - - -What's New in Python 2.7 Release Candidate 1? -============================================= - -*Release date: 2010-06-05* - -Core and Builtins ------------------ - -- Issue #8271: during the decoding of an invalid UTF-8 byte sequence, only the - start byte and the continuation byte(s) are now considered invalid, instead - of the number of bytes specified by the start byte. - E.g.: '\xf1\x80AB'.decode('utf-8', 'replace') now returns u'\ufffdAB' and - replaces with U+FFFD only the start byte ('\xf1') and the continuation byte - ('\x80') even if '\xf1' is the start byte of a 4-bytes sequence. - Previous versions returned a single u'\ufffd'. - -- Issue #8627: Remove bogus "Overriding __cmp__ blocks inheritance of - __hash__ in 3.x" warning. Also fix "XXX undetected error" that - arises from the "Overriding __eq__ blocks inheritance ..." warning - when turned into an exception: in this case the exception simply - gets ignored. - -- Issue #8748: Fix two issues with comparisons between complex and integer - objects. (1) The comparison could incorrectly return True in some cases - (2**53+1 == complex(2**53) == 2**53), breaking transivity of equality. - (2) The comparison raised an OverflowError for large integers, leading - to unpredictable exceptions when combining integers and complex objects - in sets or dicts. - -- Issue #5211: Implicit coercion for the complex type is now completely - removed. (Coercion for arithmetic operations was already removed in 2.7 - alpha 4, but coercion for rich comparisons was accidentally left in.) - -- Issue #3798: Write sys.exit() message to sys.stderr to use stderr encoding - and error handler, instead of writing to the C stderr file in utf-8 - -- Issue #7902: When using explicit relative import syntax, don't try implicit - relative import semantics. - -- Issue #7079: Fix a possible crash when closing a file object while using it - from another thread. Patch by Daniel Stutzbach. - -- Issue #8868: Fix that ensures that python scripts have access to the - Window Server again in a framework build on MacOSX 10.5 or earlier. - -C-API ------ - -- Issue #5753: A new C API function, :cfunc:`PySys_SetArgvEx`, allows embedders - of the interpreter to set sys.argv without also modifying sys.path. This - helps fix `CVE-2008-5983 - `_. - -Library -------- - -- Issue #8302: SkipTest in unittest.TestCase.setUpClass or setUpModule is now - reported as a skip rather than an error. - -- Issue #8351: Excessively large diffs due to - unittest.TestCase.assertSequenceEqual are no longer included in failure - reports. - -- Issue #8899: time.struct_time now has class and attribute docstrings. - -- Issue #4487: email now accepts as charset aliases all codec aliases - accepted by the codecs module. - -- Issue #6470: Drop UNC prefix in FixTk. - -- Issue #5610: feedparser no longer eats extra characters at the end of - a body part if the body part ends with a \r\n. - -- Issue #8833: tarfile created hard link entries with a size field != 0 by - mistake. - -- Issue #1368247: set_charset (and therefore MIMEText) now automatically - encodes a unicode _payload to the output_charset. - -- Issue #7150: Raise OverflowError if the result of adding or subtracting - timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range. - -- Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by - Fredrik Håård - -- Issue #8016: Add the CP858 codec. - -- Issue #3924: Ignore cookies with invalid "version" field in cookielib. - -- Issue #6268: Fix seek() method of codecs.open(), don't read or write the BOM - twice after seek(0). Fix also reset() method of codecs, UTF-16, UTF-32 and - StreamWriter classes. - -- Issue #5640: Fix Shift-JIS incremental encoder for error handlers different - than 'strict'. - -- Issue #8782: Add a trailing newline in linecache.updatecache to the last line - of files without one. - -- Issue #8729: Return NotImplemented from ``collections.Mapping.__eq__()`` when - comparing to a non-mapping. - -- Issue #8759: Fix user paths in sysconfig for posix and os2 schemes. - -- Issue #1285086: Speed up ``urllib.quote()`` and urllib.unquote for simple - cases. - -- Issue #8688: Distutils now recalculates MANIFEST every time. - -- Issue #5099: The ``__del__()`` method of ``subprocess.Popen`` (and the methods - it calls) referenced global objects, causing errors to pop up during - interpreter shutdown. - -Extension Modules ------------------ - -- Issue #7384: If the system readline library is linked against ncurses, - the curses module must be linked against ncurses as well. Otherwise it - is not safe to load both the readline and curses modules in an application. - -- Issue #2810: Fix cases where the Windows registry API returns - ERROR_MORE_DATA, requiring a re-try in order to get the complete result. - -- Issue #8674: Fixed a number of incorrect or undefined-behaviour-inducing - overflow checks in the ``audioop`` module. - -Tests ------ - -- Issue #8889: test_support.transient_internet rewritten so that the new - checks also work on FreeBSD, which lacks EAI_NODATA. - -- Issue #8835: test_support.transient_internet() catches gaierror(EAI_NONAME) - and gaierror(EAI_NODATA) - -- Issue #7449: Skip test_socketserver if threading support is disabled - -- On darwin, ``test_site`` assumed that a framework build was being used, - leading to a failure where four directories were expected for site-packages - instead of two in a non-framework build. - -Build ------ - -- Display installer warning that Windows 2000 won't be supported in future - releases. - -- Issues #1759169, #8864: Drop _XOPEN_SOURCE on Solaris, define it for - multiprocessing only. - -Tools/Demos ------------ - -- Issue #5464: Implement plural forms in msgfmt.py. - - -What's New in Python 2.7 beta 2? -================================ - -*Release date: 2010-05-08* - -Core and Builtins ------------------ - -- Run Clang 2.7's static analyzer for ``Objects/`` and ``Python/``. - -- Issue #1533: Fix inconsistency in range function argument processing: any - non-float non-integer argument is now converted to an integer (if possible) - using its __int__ method. Previously, only small arguments were treated this - way; larger arguments (those whose __int__ was outside the range of a C long) - would produce a TypeError. - -- Issue #8202: ``sys.argv[0]`` is now set to '-m' instead of '-c' when searching - for the module file to be executed with the -m command line option. - -- Issue #7319: When -Q is used, do not silence DeprecationWarning. - -- Issue #7332: Remove the 16KB stack-based buffer in - ``PyMarshal_ReadLastObjectFromFile``, which doesn't bring any noticeable - benefit compared to the dynamic memory allocation fallback. Patch by - Charles-François Natali. - -- Issue #8417: Raise an OverflowError when an integer larger than sys.maxsize is - passed to bytearray. - -- Issue #7072: ``isspace(0xa0)`` is true on Mac OS X. - -- Issue #8404: Fix set operations on dictionary views. - -- Issue #8084: PEP 370 now conforms to system conventions for framework builds - on MacOS X. That is, ``python setup.py install --user`` will install into - ``~/Library/Python/2.7`` instead of ``~/.local``. - -Library -------- - -- Issue #8681: Make the zlib module's error messages more informative when the - zlib itself doesn't give any detailed explanation. - -- Issue #8571: Fix an internal error when compressing or decompressing a chunk - larger than 1GB with the zlib module's compressor and decompressor objects. - -- Issue #8573: asyncore ``_strerror()`` function might throw ValueError. - -- Issue #8483: asyncore.dispatcher's __getattr__ method produced confusing error - messages when accessing undefined class attributes because of the cheap - inheritance with the underlying socket object. The cheap inheritance has been - deprecated. - -- Issue #4265: ``shutil.copyfile()`` was leaking file descriptors when disk - fills. Patch by Tres Seaver. - -- Issue #7755: Use an unencumbered audio file for tests. - -- Issue #8621: ``uuid.uuid4()`` returned the same sequence of values in the - parent and any children created using ``os.fork`` on Mac OS X 10.6. - -- Issue #8313: ``traceback.format_exception_only()`` encodes unicode message to - ASCII with backslashreplace error handler if ``str(value)`` failed. - -- Issue #8567: Fix precedence of signals in Decimal module: when a Decimal - operation raises multiple signals and more than one of those signals is - trapped, the specification determines the order in which the signals should be - handled. In many cases this order wasn't being followed, leading to the wrong - Python exception being raised. - -- Issue #7865: The close() method of :mod:`io` objects should not swallow - exceptions raised by the implicit flush(). Also ensure that calling close() - several times is supported. Patch by Pascal Chambon. - -- Issue #8576: logging updated to remove usage of find_unused_port(). - -- Issue #4687: Fix accuracy of garbage collection runtimes displayed with - gc.DEBUG_STATS. - -- Issue #8354: The siginterrupt setting is now preserved for all signals, not - just SIGCHLD. - -- Issue #7192: ``webbrowser.get("firefox")`` now works on Mac OS X, as does - ``webbrowser.get("safari")``. - -- Issue #8577: ``distutils.sysconfig.get_python_inc()`` now makes a difference - between the build dir and the source dir when looking for "python.h" or - "Include". - -- Issue #8464: tarfile no longer creates files with execute permissions set when - mode="w|" is used. - -- Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions of - the Linux kernel. Patch by Yaniv Aknin. - -- Issue #6312: Fix http HEAD request when the transfer encoding is chunked. It - should correctly return an empty response now. - -- Issue #7490: To facilitate sharing of doctests between 2.x and 3.x test - suites, the ``IGNORE_EXCEPTION_DETAIL`` directive now also ignores the module - location of the raised exception. Based on initial patch by Lennart Regebro. - -- Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline before - the certificate footer. Patch by Kyle VanderBeek. - -- Issue #8546: Reject None given as the buffering argument to ``_pyio.open()``. - -- Issue #8549: Fix compiling the _ssl extension under AIX. Patch by Sridhar - Ratnakumar. - -- Issue #6656: Fix locale.format_string to handle escaped percents and mappings. - -- Issue #2302: Fix a race condition in SocketServer.BaseServer.shutdown, where - the method could block indefinitely if called just before the event loop - started running. This also fixes the occasional freezes witnessed in - test_httpservers. - -- Issue #5103: SSL handshake would ignore the socket timeout and block - indefinitely if the other end didn't respond. - -- The do_handshake() method of SSL objects now adjusts the blocking mode of the - SSL structure if necessary (as other methods already do). - -- Issue #7507: Quote "!" in pipes.quote(); it is special to some shells. - -- Issue #5238: Calling makefile() on an SSL object would prevent the underlying - socket from being closed until all objects get truely destroyed. - -- Issue #7943: Fix circular reference created when instantiating an SSL socket. - Initial patch by Péter Szabó. - -- Issue #8451: Syslog module now uses basename(sys.argv[0]) instead of the - string "python" as the *ident*. openlog() arguments are all optional and - keywords. - -- Issue #8108: Fix the unwrap() method of SSL objects when the socket has a - non-infinite timeout. Also make that method friendlier with applications - wanting to continue using the socket in clear-text mode, by disabling - OpenSSL's internal readahead. Thanks to Darryl Miles for guidance. - -- Issue #8484: Load all ciphers and digest algorithms when initializing the _ssl - extension, such that verification of some SSL certificates doesn't fail - because of an "unknown algorithm". - -- Issue #8437: Fix test_gdb failures, patch written by Dave Malcolm - -- Issue #4814: The timeout parameter is now applied also for connections - resulting from PORT/EPRT commands. - -- Issue #8463: Add missing reference to bztar in shutil's documentation. - -- Issue #8438: Remove reference to the missing "surrogateescape" encoding error - handler from the new IO library. - -- Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response code - as stated in RFC-959 at chapter 5.4. - -- Issue #8279: Fix test_gdb failures. - -- Issue #8322: Add a *ciphers* argument to SSL sockets, so as to change the - available cipher list. Helps fix test_ssl with OpenSSL 1.0.0. - -- Issue #2987: RFC 2732 support for urlparse (IPv6 addresses). Patch by Tony - Locke and Hans Ulrich Niedermann. - -- Issue #7585: difflib context and unified diffs now place a tab between - filename and date, conforming to the 'standards' they were originally designed - to follow. This improves compatibility with patch tools. - -- Issue #7472: Fixed typo in email.encoders module; messages using ISO-2022 - character sets will now consistently use a Content-Transfer-Encoding of 7bit - rather than sometimes being marked as 8bit. - -- Issue #8330: Fix expected output in test_gdb. - -- Issue #8374: Update the internal alias table in the :mod:`locale` module to - cover recent locale changes and additions. - -Extension Modules ------------------ - -- Issue #8644: Improved accuracy of ``timedelta.total_seconds()``. - -- Use Clang 2.7's static analyzer to find places to clean up some code. - -- Build the ossaudio extension on GNU/kFreeBSD. - -- On Windows, ctypes no longer checks the stack before and after calling a - foreign function. This allows using the unmodified libffi library. - -Tests ------ - -- Issue #8672: Add a zlib test ensuring that an incomplete stream can be handled - by a decompressor object without errors (it returns incomplete uncompressed - data). - -- Issue #8490: asyncore now has a more solid test suite which actually tests its - API. - -- Issue #8576: Remove use of find_unused_port() in test_smtplib and - test_multiprocessing. Patch by Paul Moore. - -- Issue #7449: Fix many tests to support Python compiled without thread support. - Patches written by Jerry Seutter. - -- Issue #8108: test_ftplib's non-blocking SSL server now has proper handling of - SSL shutdowns. - -Build ------ - -- Issue #8625: Turn off optimization in ``--with-pydebug`` builds with gcc. - (Optimization was unintentionally turned on in gcc --with-pydebug builds in - 2.7 beta1 as a result of the issue #1628484 fix, combined with autoconf's - strange choice of default CFLAGS produced by AC_PROG_CC for gcc.) - -- Issue #8509: Fix quoting in help strings and code snippets in configure.in. - -- Issue #3646: It is now easily possible to install a Python framework into your - home directory on Mac OS X, see Mac/README for more information. - -- Issue #8510: Update to autoconf 2.65. - -Misc ----- - -- Update the Vim syntax highlight file. - - -What's New in Python 2.7 beta 1? -================================ - -*Release date: 2010-04-10* - -Core and Builtins ------------------ - -- Issue #7301: Add environment variable $PYTHONWARNINGS. - -- Issue #8329: Don't return the same lists from select.select when no fds are - changed. - -- Issue #8259: ``1L << (2**31)`` no longer produces an 'outrageous shift error' - on 64-bit machines. The shift count for either left or right shift is - permitted to be up to sys.maxsize. - -- Ensure that tokenization of identifiers is not affected by locale. - -- Issue #1222585: Added LDCXXSHARED for C++ support. Patch by Arfrever. - -- Raise a TypeError when trying to delete a T_STRING_INPLACE struct member. - -- Issue #7994: Issue a PendingDeprecationWarning if object.__format__ is called - with a non-empty format string. This is an effort to future-proof user - code. If a derived class does not currently implement __format__ but later - adds its own __format__, it would most likely break user code that had - supplied a format string. This will be changed to a DeprecationWarning in - Python 3.3 and it will be an error in Python 3.4. - -- Issue #8268: Old-style classes (not just instances) now support weak - references. - -- Issue #8211: Save/restore CFLAGS around AC_PROG_CC in configure.in, in case it - is set. - -- Issue #1583863: A unicode subclass can now override the __unicode__ method - -- Issue #6474: Make error message from passing an inadequate number of keyword - arguments to a function correct. - -- Issue #8164: Don't allow lambda functions to have a docstring. - -- Issue #3137: Don't ignore errors at startup, especially a keyboard interrupt - (SIGINT). If an error occurs while importing the site module, the error is - printed and Python exits. Initialize the GIL before importing the site - module. - -- Code objects now support weak references. - -Library -------- - -- Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters. - -- Issue #8321: Give access to OpenSSL version numbers from the `ssl` module, - using the new attributes `ssl.OPENSSL_VERSION`, `ssl.OPENSSL_VERSION_INFO` and - `ssl.OPENSSL_VERSION_NUMBER`. - -- Issue #8310: Allow dis to examine new style classes. - -- Issue #8257: The Decimal construct now accepts a float instance directly, - converting that float to a Decimal of equal value: - - >>> Decimal(1.1) - Decimal('1.100000000000000088817841970012523233890533447265625') - -- collections.Counter() now supports a subtract() method. - -- The functools module now has a total_ordering() class decorator to simplify - the specification of rich comparisons. - -- The functools module also adds cmp_to_key() as a tool to transition old-style - comparison functions to new-style key-functions. - -- Issue #8294: The Fraction constructor now accepts Decimal and float instances - directly. - -- Issue #7279: Comparisons involving a Decimal signaling NaN now signal - InvalidOperation instead of returning False. (Comparisons involving a quiet - NaN are unchanged.) Also, Decimal quiet NaNs are now hashable; Decimal - signaling NaNs remain unhashable. - -- Issue #2531: Comparison operations between floats and Decimal instances now - return a result based on the numeric values of the operands; previously they - returned an arbitrary result based on the relative ordering of id(float) and - id(Decimal). - -- Issue #8233: When run as a script, py_compile.py optionally takes a single - argument `-` which tells it to read files to compile from stdin. Each line is - read on demand and the named file is compiled immediately. (Original patch by - Piotr Ożarowski). - -- Issue #3135: Add ``inspect.getcallargs()``, which binds arguments to a - function like a normal call. - -- Backwards incompatible change: Unicode codepoints line tabulation (0x0B) and - form feed (0x0C) are now considered linebreaks, as specified in Unicode - Standard Annex #14. See issue #7643. http://www.unicode.org/reports/tr14/ - -- Comparisons using one of <, <=, >, >= between a complex instance and a - Fractions instance now raise TypeError instead of returning True/False. This - makes Fraction <=> complex comparisons consistent with int <=> complex, float - <=> complex, and complex <=> complex comparisons. - -- Addition of ``WeakSet`` to the ``weakref`` module. - -- logging: Added LOG_FTP to SysLogHandler and updated documentation. - -- Issue #8205: Remove the "Modules" directory from sys.path when Python is - running from the build directory (POSIX only). - -- Issue #7667: Fix doctest failures with non-ASCII paths. - -- Issue #7512: shutil.copystat() could raise an OSError when the filesystem - didn't support chflags() (for example ZFS under FreeBSD). The error is now - silenced. - -- Issue #7703: ctypes supports both buffer() and memoryview(). The former is - deprecated. - -- Issue #7860: platform.uname now reports the correct 'machine' type when Python - is running in WOW64 mode on 64 bit Windows. - -- logging: Added getChild utility method to Logger and added isEnabledFor method - to LoggerAdapter. - -- Issue #8201: logging: Handle situation of non-ASCII and Unicode logger names - existing at the same time, causing a Unicode error when configuration code - attempted to sort the existing loggers. - -- Issue #8200: logging: Handle errors when multiprocessing is not fully loaded - when logging occurs. - -- Issue #3890, #8222: Fix recv() and recv_into() on non-blocking SSL sockets. - Also, enable the SSL_MODE_AUTO_RETRY flag on SSL sockets, so that blocking - reads and writes are always retried by OpenSSL itself. - -- Issue #8179: Fix macpath.realpath() on a non-existing path. - -- Issue #8024: Update the Unicode database to 5.2. - -- Issue #8104: socket.recv_into() and socket.recvfrom_into() now support writing - into objects supporting the new buffer API, for example bytearrays or - memoryviews. - -- Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox - with Tcl/Tk-8.5. - -- Issue #8140: Extend compileall to compile single files. Add -i option. - -- Issue #7774: Set sys.executable to an empty string if ``argv[0]`` has been set - to a non existent program name and Python is unable to retrieve the real - program name. - -- Issue #8117: logging: Improved algorithm for computing initial rollover time - for ``TimedRotatingFileHandler`` by using the modification time of an existing - log file to compute the next rollover time. If the log file does not exist, - the current time is used as the basis for the computation. - -- Issue #6472: The ``xml.etree`` package is updated to ElementTree 1.3. The - cElementTree module is updated too. - -- Issue #7880: Fix sysconfig when the python executable is a symbolic link. - -- Issue #7624: Fix ``isinstance(foo(), collections.Callable)`` for old-style - classes. - -- Issue #7143: email: ``get_payload()`` used to strip any trailing newline from - a base64 transfer-encoded payload *after* decoding it; it no longer does. - This is a behavior change, so email's minor version number is now bumped, to - version 4.0.2, for the 2.7 release. - -- Issue #8235: _socket: Add the constant ``SO_SETFIB``. SO_SETFIB is - a socket option available on FreeBSD 7.1 and newer. - -- Issue #8038: unittest.TestCase.assertNotRegexpMatches - -- Addition of -b command line option to unittest for buffering stdout / stderr - during test runs. - -- Issue #1220212: Added os.kill support for Windows, including support for - sending CTRL+C and CTRL+BREAK events to console subprocesses. - -Extension Modules ------------------ - -- Issue #8314: Fix unsigned long long bug in libffi on Sparc v8. - -- Issue #1039, #8154: Fix os.execlp() crash with missing 2nd argument. - -- Issue #8156: bsddb module updated to version 4.8.4. - http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.8.4. This update drops - support for Berkeley DB 4.0, and adds support for 4.8. - -- Issue #3928: os.mknod() now available in Solaris, also. - -- Issue #8142: Update libffi to the 3.0.9 release. - -- Issue #8300: When passing a non-integer argument to struct.pack with any - integer format code, struct.pack first attempts to convert the non-integer - using its __index__ method. If that method is non-existent or raises - TypeError it goes on to try the __int__ method, as described below. - -- Issue #1530559: When passing a non-integer argument to struct.pack with *any* - integer format code (one of 'bBhHiIlLqQ'), struct.pack attempts to use the - argument's __int__ method to convert to an integer before packing. It also - produces a DeprecationWarning in this case. (In Python 2.6, the behaviour was - inconsistent: __int__ was used for some integer codes but not for others, and - the set of integer codes for which it was used differed between native packing - and standard packing.) - -- Issue #7347: _winreg: Add CreateKeyEx and DeleteKeyEx, as well as fix a bug in - the return value of QueryReflectionKey. - -Tools/Demos ------------ - -- Issue #7993: Add a test of IO packet processing bandwidth to ccbench. It - measures the number of UDP packets processed per second depending on the - number of background CPU-bound Python threads. - -- python-config now supports multiple options on the same command line. - -Build ------ - -- Issue #8032: For gdb7, a python-gdb.py file is added to the build, allowing to - use advanced gdb features when debugging Python. - -- Issue #1628484: The Makefile doesn't ignore the CFLAGS environment variable - anymore. It also forwards the LDFLAGS settings to the linker when building a - shared library. - -- Issue #6716: Quote -x arguments of compileall in MSI installer. - -- Issue #7705: Fix linking on FreeBSD. - -- Make sure that the FreeBSD build of the included libffi uses the proper - assembly file. - -C-API ------ - -- Issue #8276: PyEval_CallObject() is now only available in macro form. The - function declaration, which was kept for backwards compatibility reasons, is - now removed (the macro was introduced in 1997!). - -- Issue #7992: A replacement PyCObject API, PyCapsule, has been backported from - Python 3.1. All existing Python CObjects in the main distribution have been - converted to capsules. To address backwards-compatibility concerns, - PyCObject_AsVoidPtr() was changed to understand capsules. - -Tests ------ - -- Issue #3864: Skip three test_signal tests on freebsd6 because they fail if any - thread was previously started, most likely due to a platform bug. - -- Issue #8348: Fix test ftp url in test_urllib2net. - -- Issue #8204: Fix test_ttk notebook test by forcing focus. - -- Issue #8344: Fix test_ttk bug on FreeBSD. - -- Issue #8193: Fix test_zlib failure with zlib 1.2.4. - -- Issue #8248: Add some tests for the bool type. Patch by Gregory Nofi. - -- Issue #8263: Now regrtest.py will report a failure if it receives a - KeyboardInterrupt (SIGINT). - -- Issue #8180 and #8207: Fix test_pep277 on OS X and add more tests for special - Unicode normalization cases. - -- Issue #7783: test.test_support.open_urlresource invalidates the outdated files - from the local cache. - - -What's New in Python 2.7 alpha 4? -================================= - -*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. - -- Issue #7309: Fix unchecked attribute access when converting - UnicodeEncodeError, UnicodeDecodeError, and UnicodeTranslateError to strings. - -- Issue #7649: "u'%c' % char" now behaves like "u'%s' % char" and raises a - UnicodeDecodeError if 'char' is a byte string that can't be decoded using the - default encoding. - -- Issue #6902: Fix problem with built-in types format incorrectly with 0 - padding. - -- Issue #2560: Remove an unnecessary 'for' loop from ``my_fgets()`` in - Parser/myreadline.c. - -- Issue #7988: Fix default alignment to be right aligned for - ``complex.__format__``. Now it matches other numeric types. - -- Issue #5211: The complex type no longer uses implicit coercion in mixed-type - binary arithmetic operations. - -Library -------- - -- Issue #7904: Changes to urllib.parse.urlsplit to handle schemes as defined by - RFC3986. Anything before :// is considered a scheme and is followed by an - authority (or netloc) and by '/' led path, which is optional. - -- Issue #1555570: email no longer inserts extra blank lines when a \r\n - combo crosses an 8192 byte boundary. - -- Issue #6906: Tk should not set Unicode environment variables on Windows. - -- Issue #1054943: Fix ``unicodedata.normalize('NFC', text)`` for the Public - Review Issue #29 (http://unicode.org/review/pr-29.html). - -- Issue #7494: Fix a crash in ``_lsprof`` (cProfile) after clearing the profiler, - reset also the pointer to the current pointer context. - -- Issue #7232: Add support for the context management protocol to the - ``tarfile.TarFile`` class. - -- 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 #7975: Correct regression in dict methods supported by bsddb.dbshelve. - -- Issue #7959: ctypes callback functions are now registered correctly with the - cycle garbage collector. - -- Issue #7970: ``email.Generator.flatten`` now correctly flattens - message/rfc822 messages parsed by ``email.Parser.HeaderParser``. - -- Issue #3426: ``os.path.abspath`` now returns unicode when its arg is unicode. - -- Issue #7633: In the decimal module, ``Context`` class methods (with the - exception of canonical and is_canonical) now accept instances of int and long - wherever a Decimal instance is accepted, and implicitly convert that argument - to Decimal. Previously only some arguments were converted. - -- Issue #6003: Add an argument to ``zipfile.Zipfile.writestr`` to specify the - compression type. - -- Issue #7893: ``unittest.TextTestResult`` is made public and a ``resultclass`` - argument added to the TextTestRunner constructor allowing a different result - class to be used without having to subclass. - -- Issue #7588: ``unittest.TextTestResult.getDescription`` now includes the test - name in failure reports even if the test has a docstring. - -- Issue #5801: Remove spurious empty lines in wsgiref. - -- Issue #1537721: Add a ``writeheader()`` method to ``csv.DictWriter``. - -- Issue #7427: Improve the representation of httplib.BadStatusLine exceptions. - -- 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. - -- Issue #6729: Add ``ctypes.c_ssize_t`` to represent ssize_t. - -- Issue #6247: The argparse module has been added to the standard library. - -Extension Modules ------------------ - -- The sqlite3 module was updated to pysqlite 2.6.0. This fixes several obscure - bugs and allows loading SQLite extensions from shared libraries. - -- Issue #7808: Fix reference leaks in _bsddb and related tests. - -- Issue #6544: Fix a reference leak in the kqueue implementation's error - handling. - -- Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as - msvcr100.dll is not a platform assembly anymore. - -- Issue #7242: On Solaris 9 and earlier calling ``os.fork()`` from within a - thread could raise an incorrect RuntimeError about not holding the import - lock. The import lock is now reinitialized after fork. - -- Issue #7999: ``os.setreuid()`` and ``os.setregid()`` would refuse to accept a - -1 parameter on some platforms such as OS X. - -Tests ------ - -- Issue #7849: The utility ``test.test_support.check_warnings()`` verifies if - warnings are effectively raised. A new utility ``check_py3k_warnings()`` is - available. - -- The four path modules (genericpath, macpath, ntpath, posixpath) share a - common TestCase for some tests: test_genericpath.CommonTest. - -- Print platform information when running the whole test suite, or using the - ``--verbose`` flag. - -- Issue #767675: Enable test_pep277 on POSIX platforms with Unicode-friendly - filesystem encoding. - -- Issue #6292: For the moment at least, the test suite runs cleanly if python - is run with the -OO flag. Tests requiring docstrings are skipped. - -- Issue #7712: test_support gained a new ``temp_cwd`` context manager which is - now also used by regrtest to run all the tests in a temporary directory. The - original CWD is saved in ``test.test_support.SAVEDCWD``. Thanks to Florent - Xicluna who helped with the patch. - -Build ------ - -- Issue #3920, #7903: Define _BSD_SOURCE on OpenBSD 4.4 through 4.9. - - -What's New in Python 2.7 alpha 3? -================================= - -*Release date: 2010-02-06* - -Core and Builtins ------------------ - -- Issue #5677: Explicitly forbid write operations on read-only file objects, - and read operations on write-only file objects. On Windows, the system C - library would return a bogus result; on Solaris, it was possible to crash the - interpreter. Patch by Stefan Krah. - -- Issue #7853: Normalize exceptions before they are passed to a context - manager's ``__exit__()`` method. - -- Issue #7385: Fix a crash in ``PyMemoryView_FromObject()`` when - ``PyObject_GetBuffer()`` fails. Patch by Florent Xicluna. - -- Issue #7819: Check ``sys.call_tracing()`` arguments types. - -- Issue #7788: Fix an interpreter crash produced by deleting a list slice with - very large step value. - -- Issue #7766: Change ``sys.getwindowsversion()`` return value to a named tuple - and add the additional members returned in an OSVERSIONINFOEX structure. The - new members are service_pack_major, service_pack_minor, suite_mask, and - product_type. - -- 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 #7622: Improve the split(), rsplit(), splitlines() and replace() - methods of bytes, bytearray and unicode objects by using a common - implementation based on stringlib's fast search. Patch by Florent Xicluna. - -- 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 #7319, #7770: Silence ``DeprecationWarning`` by default when the -3 - option is not used. - -- Issue #2335: Backport set literals syntax from Python 3.x. - -- Issue #2333: Backport set and dict comprehensions syntax from Python 3.x. - -- Issue #1967: Backport dictionary views from Python 3.x. - -Library -------- - -- Issue #9137: Fix issue in MutableMapping.update, which incorrectly - treated keyword arguments called 'self' or 'other' specially. - -- Issue #7835: shelve should no longer produce mysterious warnings during - interpreter shutdown. - -- Issue #2746: Don't escape ampersands and angle brackets ("&", "<", ">") in - XML processing instructions and comments. These raw characters are allowed - by the XML specification, and are necessary when outputting e.g. PHP code in - a processing instruction. Patch by Neil Muller. - -- Issue #7869: logging: Improved diagnostic for format-time errors. - -- Issue #7868: logging: Added loggerClass attribute to Manager. - -- Issue #7851: logging: Clarification on logging configuration files. - -- 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. - -- logging: Implemented PEP 391. - -- 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 #7610: Reworked implementation of the internal ``zipfile.ZipExtFile`` - class used to represent files stored inside an archive. The new - implementation is significantly faster and can be wrapped in an - ``io.BufferedReader`` object for more speedups. It also solves an issue - where interleaved calls to ``read()`` and ``readline()`` give wrong results. - Patch by Nir Aides. - -- Issue #7792: Registering non-classes to ABCs raised an obscure error. - -- Removed the deprecated functions ``verify()`` and ``vereq()`` from - Lib/test/test_support.py. - -- Issue #7773: Fix an UnboundLocalError in ``platform.linux_distribution()`` - when the release file is empty. - -- Issue #7748: Since unicode values are supported for some metadata options in - Distutils, the DistributionMetadata get_* methods will now return a utf-8 - encoded string for them. This ensures that the upload and register commands - send the correct values to PyPI without any error. - -- 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 #7703: Add support for the new buffer API to functions of the binascii - module. Backported from py3k by Florent Xicluna, with some additional tests. - -- Issue #2846: Add support for gzip.GzipFile reading zero-padded files. Patch - by Brian Curtin. - -- Issue #5827: Make sure that normpath preserves unicode. Initial patch by - Matt Giuca. - -- 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. - -Extension Modules ------------------ - -- Expat: Fix DoS via XML document with malformed UTF-8 sequences - (CVE_2009_3560). - -Build ------ - -- 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. - -- Issue #7658: Ensure that the new pythonw executable works on OSX 10.4 - -- Issue #7714: Use ``gcc -dumpversion`` to detect the version of GCC on - MacOSX. - -- Issue #7661: Allow ctypes to be built from a non-ASCII directory path. - Patch by Florent Xicluna. - -Tools/Demos ------------ - -- iobench (a file I/O benchmark) and ccbench (a concurrency benchmark) were - added to the ``Tools`` directory. They were previously living in the - sandbox. - -Tests ------ - -- Issue #7728: test_timeout was changed to use ``test_support.bind_port()`` - instead of a hard coded port. - -Documentation -------------- - -- Updated "Using Python" documentation to include description of CPython's -J, - -U and -X options. - -- Updated Python manual page (options -B, -O0, -s, environment variables - PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE). - - -What's New in Python 2.7 alpha 2? -================================= - -*Release date: 2010-01-09* - -Core and Builtins ------------------ - -- The ``__complex__()`` method is now looked up on the class of instances to - make it consistent with other special methods. - -- Issue #7462: Implement the stringlib fast search algorithm for the `rfind`, - `rindex`, `rsplit` and `rpartition` methods. Patch by Florent Xicluna. - -- Issue #5080: A number of functions and methods previously produced a - DeprecationWarning when passed a float argument where an integer was expected. - These functions and methods now raise TypeError instead. The majority of the - effects of this change are in the extension modules, but some core functions - and methods are affected: notably the 'chr', 'range' and 'xrange' builtins, - and many unicode/str methods. - -- Issue #7604: Deleting an unset slotted attribute did not raise an - AttributeError. - -- Issue #7534: Fix handling of IEEE specials (infinities, nans, negative zero) - in ** operator. The behaviour now conforms to that described in C99 Annex F. - -- Issue #7579: The msvcrt module now has docstrings for all its functions. - -- Issue #7413: Passing '\0' as the separator to datetime.datetime.isoformat() - used to drop the time part of the result. - -- Issue #1811: Improve accuracy and cross-platform consistency for true division - of integers: the result of a/b is now correctly rounded for ints a and b (at - least on IEEE 754 platforms), and in particular does not depend on the - internal representation of a long. - -- Issue #6108: ``unicode(exception)`` and ``str(exception)`` should return the - same message when only ``__str__()`` (and not ``__unicode__()``) is overridden - in the subclass. - -- Issue #6834: Replace the implementation for the 'python' and 'pythonw' - executables on OSX. - - These executables now work properly with the arch(1) command: ``arch -ppc - python`` will start a universal binary version of python in PPC mode (unlike - previous releases). - -- Issue #1680159: Unicode coercion during an 'in' operation no longer masks the - underlying error when the coercion fails for the left hand operand. - -- Issue #7491: Metaclass's __cmp__ method was ignored. - -- Issue #7466: Segmentation fault when the garbage collector is called in the - middle of populating a tuple. Patch by Florent Xicluna. - -Library -------- - -- Issue #6963: Added "maxtasksperchild" argument to ``multiprocessing.Pool``, - allowing for a maximum number of tasks within the pool to be completed by the - worker before that worker is terminated, and a new one created to replace it. - -- Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes gcc - when it has a fully qualified configuration prefix. Initial patch by - Arfrever. - -- Issue #7092: Remove py3k warning when importing cPickle. 2to3 handles - renaming of `cPickle` to `pickle`. The warning was annoying since there's no - alternative to cPickle if you care about performance. Patch by Florent - Xicluna. - -- Issue #7455: Fix possible crash in cPickle on invalid input. Patch by Victor - Stinner. - -- Issue #7092: Fix the DeprecationWarnings emitted by the standard library when - using the -3 flag. Patch by Florent Xicluna. - -- Issue #7471: Improve the performance of GzipFile's buffering mechanism, and - make it implement the ``io.BufferedIOBase`` ABC to allow for further speedups - by wrapping it in an ``io.BufferedReader``. Patch by Nir Aides. - -- Issue #3972: ``httplib.HTTPConnection`` now accepts an optional source_address - parameter to allow specifying where your connections come from. - -- ``socket.create_connection()`` now accepts an optional source_address - parameter. - -- Issue #5511: ``zipfile.ZipFile`` can now be used as a context manager. - Initial patch by Brian Curtin. - -- Distutils now correctly identifies the build architecture as "x86_64" when - building on OSX 10.6 without "-arch" flags. - -- Issue #7556: Distutils' msvc9compiler now opens the MSVC Manifest file in text - mode. - -- 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 #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 #7348: ``StringIO.StringIO.readline(-1)`` now acts as if it got no - argument like other file objects. - -- Issue #7357: tarfile no longer suppresses fatal extraction errors by default. - -- Issue #7470: logging: Fix bug in Unicode encoding fallback. - -- Issue #5949: Fixed IMAP4_SSL hang when the IMAP server response is missing - proper end-of-line termination. - -- Issue #7457: Added a read_pkg_file method to - ``distutils.dist.DistributionMetadata``. - -- Issue #3745: Undo the 2.7a1 change to have hashlib to reject unicode and non - buffer API supporting objects as input. That behavior is for 3.x only. - -C-API ------ - -- Issue #7767: New function ``PyLong_AsLongLongAndOverflow()`` added, analogous - to ``PyLong_AsLongAndOverflow()``. - -- Issue #5080: The argument parsing functions ``PyArg_ParseTuple()``, - ``PyArg_ParseTupleAndKeywords()``, ``PyArg_VaParse()``, - ``PyArg_VaParseTupleAndKeywords()`` and ``PyArg_Parse()`` no longer accept - float arguments for integer format codes (other than 'L'): previously an - attempt to pass a float resulted in a DeprecationWarning; now it gives a - TypeError. For the 'L' format code (which previously had no warning) there is - now a DeprecationWarning. - -- Issue #7033: Function ``PyErr_NewExceptionWithDoc()`` added. - -Build ------ - -- Issue #6491: Allow --with-dbmliborder to specify that no dbms will be built. - -- Issue #6943: Use pkg-config to find the libffi headers when the - ``--with-system-ffi`` flag is used. - -- Issue #7609: Add a ``--with-system-expat`` option that causes the system's - expat library to be used for the pyexpat module instead of the one included - with Python. - -- Issue #7589: Only build the nis module when the correct header files are - found. - -- Switch to OpenSSL 0.9.8l and sqlite 3.6.21 on Windows. - -- Issue #7541: when using ``python-config`` with a framework install the - compiler might use the wrong library. - -Tests ------ - -- Issue #7376: Instead of running a self-test (which was failing) when called - with no arguments, doctest.py now gives a usage message. - -- Issue #7396: Fix regrtest -s, which was broken by the -j enhancement. - -- Issue #7498: test_multiprocessing now uses test_support.find_unused_port - instead of a hardcoded port number in test_rapid_restart. - - -What's New in Python 2.7 alpha 1 -================================ - -*Release date: 2009-12-05* - -Core and Builtins ------------------ - -- Issue #7419: ``locale.setlocale()`` could crash the interpreter on Windows - when called with invalid values. - -- Issue #3382: 'F' formatting for float and complex now convert the result to - upper case. This only affects 'inf' and 'nan', since 'f' no longer converts - to 'g' for large values. - -- Remove switch from "%f" formatting to "%g" formatting for floats larger than - 1e50 in absolute value. - -- Remove restrictions on precision when formatting floats. E.g., "%.120g" % - 1e-100 used to raise OverflowError, but now gives the requested 120 - significant digits instead. - -- Add Py3k warnings for parameter names in parentheses. - -- Issue #7362: Give a proper error message for ``def f((x)=3): pass``. - -- Issue #7085: Fix crash when importing some extensions in a thread on MacOSX - 10.6. - -- Issue #7117: ``repr(x)`` for a float x returns a result based on the shortest - decimal string that's guaranteed to round back to x under correct rounding - (with round-half-to-even rounding mode). Previously it gave a string based on - rounding x to 17 decimal digits. repr(x) for a complex number behaves - similarly. On platforms where the correctly-rounded strtod and dtoa code is - not supported (see below), repr is unchanged. - -- Issue #7117: On almost all platforms: float-to-string and string-to-float - conversions within Python are now correctly rounded. Places these conversions - occur include: str for floats and complex numbers; the float and complex - constructors; old-style and new-style numeric formatting; serialization and - deserialization of floats and complex numbers using marshal, pickle and json; - parsing of float and imaginary literals in Python code; Decimal-to-float - conversion. - - The conversions use a Python-adapted version of David Gay's well-known dtoa.c, - providing correctly-rounded strtod and dtoa C functions. This code is - supported on Windows, and on Unix-like platforms using gcc, icc or suncc as - the C compiler. There may be a small number of platforms on which correct - operation of this code cannot be guaranteed, so the code is not used: notably, - this applies to platforms where the C double format is not IEEE 754 binary64, - and to platforms on x86 hardware where the x87 FPU is set to 64-bit precision - and Python's configure script is unable to determine how to change the FPU - precision. On these platforms conversions use the platform strtod and dtoa, - as before. - -- Issue #7117: Backport round implementation from Python 3.x. ``round()`` now - uses the correctly-rounded string <-> float conversions described above (when - available), and so produces correctly rounded results that will display nicely - under the float repr. There are two related small changes: (1) round now - accepts any class with an ``__index__()`` method for its second argument (but - no longer accepts floats for the second argument), and (2) an excessively - large second integer argument (e.g., ``round(1.234, 10**100)``) no longer - raises an exception. - -- Issue #1757126: Fix the cyrillic-asian alias for the ptcp154 encoding. - -- Fix several issues with ``compile()``. The input can now contain Windows and - Mac newlines and is no longer required to end in a newline. - -- Remove length limitation when constructing a complex number from a unicode - string. - -- Issue #7244: ``itertools.izip_longest()`` no longer ignores exceptions raised - during the formation of an output tuple. - -- Issue #1087418: Boost performance of bitwise operations for longs. - -- 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 #7168: Document ``PyFloat_AsString()`` and ``PyFloat_AsReprString()``, - and note that they are unsafe and deprecated. - -- Issue #7120: logging: Remove import of multiprocessing which is causing crash - in GAE. - -- Issue #7140: The ``__dict__`` of a module should not be cleared unless the - module is the only object holding a reference to it. - -- Issue #1754094: Improve the stack depth calculation in the compiler. There - should be no other effect than a small decrease in memory use. Patch by - Christopher Tur Lesniewski-Laas. - -- Issue #7084: Fix a (very unlikely) crash when printing a list from one thread, - and mutating it from another one. Patch by Scott Dial. - -- Issue #1571184: The Unicode database contains properties for more characters. - The tables for code points representing numeric values, white spaces or line - breaks are now generated from the official Unicode Character Database files, - and include information from the Unihan.txt file. - -- Issue #7050: Fix a SystemError when trying to use unpacking and augmented - assignment. - -- Issue #5329: Fix ``os.popen*`` regression from 2.5 with commands as a sequence - running through the shell. Patch by Jean-Paul Calderone and Jani Hakala. - -- 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 #6300: unicode.encode, unicode.decode, str.decode, and str.encode now - take keyword arguments. - -- Issue #6922: Fix an infinite loop when trying to decode an invalid UTF-32 - stream with a non-raising error handler like "replace" or "ignore". - -- Issue #6713: Improve performance of base 10 int -> string and long -> string - conversions. - -- Issue #1590864: Fix potential deadlock when mixing threads and fork(). - -- Issue #6844: Do not emit DeprecationWarnings when accessing a "message" - attribute on exceptions that was set explicitly. - -- Issue #6846: Fix bug where bytearray.pop() returns negative integers. - -- ``classmethod()`` no longer checks if its argument is callable. - -- Issue #6750: A text file opened with ``io.open()`` could duplicate its output - when writing from multiple threads at the same time. - -- Issue #6704: Improve the col_offset in AST for "for" statements with a target - of tuple unpacking. - -- 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 #1616979: Added the cp720 (Arabic DOS) encoding. - -- Issue #6070: On posix platforms import no longer copies the execute bit from - the .py file to the .pyc file if it is set. Patch by Marco N. - -- Issue #4618: When unicode arguments are passed to ``print()``, the default - separator and end should be unicode also. - -- Issue #6119: Fixed an incorrect Py3k warning about order comparisons of - built-in functions and methods. - -- 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 #4856: Remove checks for win NT. - -- Issue #2016: Fixed a crash in a corner case where the dictionary of keyword - arguments could be modified during the function call setup. - -- Removed the ipaddr module. - -- Issue #6329: Fixed iteration for memoryview objects (it was being blocked - because it wasn't recognized as a sequence). - -- Issue #6289: Encoding errors from ``compile()`` were being masked. - -- When no module is given in a relative import, the module field of the - ImportFrom AST node is now None instead of an empty string. - -- Assignment to None using import statements now raises a SyntaxError. - -- 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. - -- 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 #6101: A new opcode, SETUP_WITH, has been added to speed up the with - statement and correctly lookup the __enter__ and __exit__ special methods. - -- 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. - -- ``__instancecheck__()`` and ``__subclasscheck__()`` are now completely ignored - on classic classes and instances. - -- 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'). - -- 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. - -- 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 #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 #4971: Fix titlecase for characters that are their own titlecase, but - not their own uppercase. - -- Issue #5835: Deprecate PyOS_ascii_formatd and replace it with - _PyOS_double_to_string or PyOS_double_to_string. - -- 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. - -- Implement PEP 378, Format Specifier for Thousands Separator, for floats, ints, - and longs. - -- Issue #5515: 'n' formatting for ints, longs, and floats handles leading zero - formatting poorly. - -- Issue #5772: For float.__format__, don't add a trailing ".0" if we're using no - type code and we have an exponent. - -- Issue #3166: Make long -> float (and int -> float) conversions correctly - rounded. - -- Issue #5787: ``object.__getattribute__(some_type, "__bases__")`` segfaulted on - some built-in types. - -- Issue #1869: Fix a couple of minor round() issues. ``round(5e15+1)`` was - giving 5e15+2; ``round(-0.0)`` was losing the sign of the zero. - -- Issue #5759: float() didn't call __float__ on str subclasses. - -- Issue #5704: The "-3" command-line option now implies "-t". - -- Issue #2170: Refactored ``xml.dom.minidom.normalize``, increasing both its - clarity and its speed. - -- Issue #2396: The memoryview object was backported from Python 3.1. - -- Fix a problem in PyErr_NormalizeException that leads to "undetected errors" - when hitting the recursion limit under certain circumstances. - -- Issue #1665206: Remove the last eager import in _warnings.c and make it lazy. - -- Issue #4865: On MacOSX /Library/Python/2.7/site-packages is added to the end - sys.path, for compatibility with the system install of Python. - -- Issue #4688: Add a heuristic so that tuples and dicts containing only - untrackable objects are not tracked by the garbage collector. This can reduce - the size of collections and therefore the garbage collection overhead on - long-running programs, depending on their particular use of datatypes. - -- Issue #5512: Rewrite PyLong long division algorithm (x_divrem) to improve its - performance. Long divisions and remainder operations are now between 50% and - 150% faster. - -- Issue #4258: Make it possible to use base 2**30 instead of base 2**15 for the - internal representation of integers, for performance reasons. Base 2**30 is - enabled by default on 64-bit machines. Add --enable-big-digits option to - configure, which overrides the default. Add sys.long_info structseq to - provide information about the internal format. - -- Issue #4034: Fix weird attribute error messages of the traceback object. (As a - result traceback.__members__ no longer exists.) - -- Issue #4474: PyUnicode_FromWideChar now converts characters outside the BMP to - surrogate pairs, on systems with sizeof(wchar_t) == 4 and sizeof(Py_UNICODE) - == 2. - -- Issue #5237: Allow auto-numbered fields in str.format(). For example: ``'{} - {}'.format(1, 2) == '1 2'``. - -- Issue #3652: Make the 'line' argument for ``warnings.showwarning()`` a - requirement. Means the DeprecationWarning from Python 2.6 can go away. - -- Issue #5247: Improve error message when unknown format codes are used when - using ``str.format()`` with str, unicode, long, int, and float arguments. - -- Running Python with the -3 option now also warns about classic division for - ints and longs. - -- Issue #5260: Long integers now consume less memory: average saving is 2 bytes - per long on a 32-bit system and 6 bytes per long on a 64-bit system. - -- Issue #5186: Reduce hash collisions for objects with no __hash__ method by - rotating the object pointer by 4 bits to the right. - -- Issue #4575: Fix Py_IS_INFINITY macro to work correctly on x87 FPUs: it now - forces its argument to double before testing for infinity. - -- Issue #4978: Passing keyword arguments as unicode strings is now allowed. - -- Issue #1242657: the __len__() and __length_hint__() calls in several tools - were suppressing all exceptions. These include list(), filter(), map(), - zip(), and bytearray(). - -- os.ftruncate raises OSErrors instead of IOErrors for consistency with other os - functions. - -- Issue #4991: Passing invalid file descriptors to io.FileIO now raises an - OSError. - -- Issue #4807: Port the _winreg module to Windows CE. - -- Issue #4935: The overflow checking code in the expandtabs() method common to - str, bytes and bytearray could be optimized away by the compiler, letting the - interpreter segfault instead of raising an error. - -- Issue #3720: Fix a crash when an iterator modifies its class and removes its - __next__ method. - -- Issue #4893: Use NT threading on CE. - -- Issue #4915: Port sysmodule to Windows CE. - -- Issue #4074: Change the criteria for doing a full garbage collection (i.e. - collecting the oldest generation) so that allocating lots of objects without - destroying them does not show quadratic performance. Based on a proposal by - Martin von Löwis at - http://mail.python.org/pipermail/python-dev/2008-June/080579.html. - -- Issue #4850: Change COUNT_ALLOCS variables to Py_ssize_t. - -- Issue #1180193: When importing a module from a .pyc (or .pyo) file with an - existing .py counterpart, override the co_filename attributes of all code - objects if the original filename is obsolete (which can happen if the file has - been renamed, moved, or if it is accessed through different paths). Patch by - Ziga Seilnacht and Jean-Paul Calderone. - -- Issue #4075: Use ``OutputDebugStringW()`` in Py_FatalError. - -- Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open - file with `str' filename on Windows. - -- Issue #3680: Reference cycles created through a dict, set or deque iterator - did not get collected. - -- Issue #4701: PyObject_Hash now implicitly calls PyType_Ready on types where - the tp_hash and tp_dict slots are both NULL. - -- Issue #4764: With io.open, IOError.filename is set when trying to open a - directory on POSIX systems. - -- Issue #4764: IOError.filename is set when trying to open a directory on POSIX - systems. - -- Issue #4759: None is now allowed as the first argument of - ``bytearray.translate()``. It was always allowed for ``bytes.translate()``. - -- Added test case to ensure attempts to read from a file opened for writing - fail. - -- Issue #2467: gc.DEBUG_STATS reported invalid elapsed times. Also, always print - elapsed times, not only when some objects are uncollectable/unreachable. - Original patch by Neil Schemenauer. - -- Issue #3439: Add a bit_length method to int and long. - -- Issue #2183: Simplify and optimize bytecode for list comprehensions. Original - patch by Neal Norwitz. - -- Issue #4597: Fixed exception handling when the __exit__ function of a context - manager returns a value that cannot be converted to a bool. - -- Issue #4597: Fixed several opcodes that weren't always propagating exceptions. - -- Issue #4445: Replace ``sizeof(PyStringObject)`` with - ``offsetof(PyStringObject, ob_sval) + 1`` when allocating memory for str - instances. On a typical machine this saves 3 bytes of memory (on average) per - string allocation. - -- Issue #3996: On Windows, the PyOS_CheckStack function would cause the - interpreter to abort ("Fatal Python error: Could not reset the stack!") - instead of throwing a MemoryError. - -- Issue #3689: The list reversed iterator now supports __length_hint__ instead - of __len__. Behavior now matches other reversed iterators. - -- Issue #4367: Python would segfault during compiling when the unicodedata - module couldn't be imported and \N escapes were present. - -- Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()`` method on - file objects with closefd=False. The file descriptor is still kept open but - the file object behaves like a closed file. The ``FileIO`` object also got a - new readonly attribute ``closefd``. - -- Issue #4348: Some bytearray methods returned that didn't cause any change to - the bytearray, returned the same bytearray instead of a copy. - -- Issue #4317: Fixed a crash in the ``imageop.rgb2rgb8()`` function. - -- Issue #4230: If ``__getattr__`` is a descriptor, it now functions correctly. - -- Issue #4048: The parser module now correctly validates relative imports. - -- Issue #4225: ``from __future__ import unicode_literals`` didn't work in an - exec statement. - -- Issue #4176: Fixed a crash when pickling an object which ``__reduce__`` method - does not return iterators for the 4th and 5th items. - -- Issue #4209: Enabling unicode_literals and the print_function in the same - __future__ import didn't work. - -- Using ``nonlocal`` as a variable name will now raise a Py3k SyntaxWarning - because it is a reserved word in 3.x. - -- On windows, ``os.chdir()`` given unicode was not working if - GetCurrentDirectoryW returned a path longer than MAX_PATH. (But It's doubtful - this code path is really executed because I cannot move to such directory on - win2k) - -- Issue #4069: When ``set.remove(element)`` is used with a set element, the - element is temporarily replaced with an equivalent frozenset. But the - eventual KeyError would always report the empty ``frozenset()`` as the missing - key. Now it correctly refers to the initial element. - -- Issue #4509: Various issues surrounding resize of bytearray objects to which - there are buffer exports. - -- Issue #4748: Lambda generators no longer return a value. - -- Issue #3582: Use native TLS functions on Windows - -- The re.sub(), re.subn() and re.split() functions now accept a flags parameter. - -- Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with short - file names. - -- Issue #1113244: Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)' - to avoid compiler warnings. - -- Issue #5705: os.setuid() would not accept values > 2**31-1 but pwd.getpwnam() - returned them on 64bit platforms. - -- Issue #5108: Handle %s like %S and %R in PyUnicode_FromFormatV(): Call - PyUnicode_DecodeUTF8() once, remember the result and output it in a second - step. This avoids problems with counting UTF-8 bytes that ignores the effect - of using the replace error handler in PyUnicode_DecodeUTF8(). - -- Issue #3739: The unicode-internal encoder now reports the number of characters - consumed like any other encoder (instead of the number of bytes). - -- Issue #2422: When compiled with the ``--with-valgrind`` option, the pymalloc - allocator will be automatically disabled when running under Valgrind. This - gives improved memory leak detection when running under Valgrind, while taking - advantage of pymalloc at other times. - -Library -------- - -- Add count() and reverse() methods to collections.deque(). - -- 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. - -- logging: Added optional "secure" parameter to SMTPHandler, to enable use of - TLS with authentication credentials. - -- 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 #7333: The ``posix`` module gains an ``initgroups()`` function providing - access to the initgroups(3) C library call on Unix systems which implement it. - Patch by Jean-Paul Calderone. - -- Issue #7408: Fixed distutils.tests.sdist so it doesn't check for group - ownership when the group is not forced, because the group may be different - from the user's group and inherit from its container when the test is run. - -- Issue #1515: Enable use of deepcopy() with instance methods. Patch by Robert - Collins. - -- Issue #7403: logging: Fixed possible race condition in lock creation. - -- Issue #6845: Add restart support for binary upload in ftplib. The - ``storbinary()`` method of FTP and FTP_TLS objects gains an optional "rest" - argument. Patch by Pablo Mouzo. - -- Issue #5788: ``datetime.timedelta`` objects get a new ``total_seconds()`` - method returning the total number of seconds in the duration. Patch by Brian - Quinlan. - -- Issue #6615: logging: Used weakrefs in internal handler list. - -- Issue #1488943: ``difflib.Differ`` doesn't always add hints for tab - characters. - -- Issue #6123: tarfile now opens empty archives correctly and consistently - raises ReadError on empty files. - -- Issue #7354: distutils.tests.test_msvc9compiler - dragfullwindows can be 2. - -- Issue #5037: Proxy the __unicode__ special method to __unicode__ 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 #2054: ftplib now provides an FTP_TLS class to do secure FTP using TLS - or SSL. Patch by Giampaolo Rodola'. - -- Issue #4969: The mimetypes module now reads the MIME database from the - registry under Windows. Patch by Gabriel Genellina. - -- Issue #6816: runpy now provides a run_path function that allows Python code to - execute file paths that refer to source or compiled Python files as well as - zipfiles, directories and other valid sys.path entries that contain a - __main__.py file. This allows applications that run other Python scripts to - support the same flexibility as the CPython command line itself. - -- 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 #7197: Allow unittest.TextTestRunner objects to be pickled and - unpickled. This fixes crashes under Windows when trying to run - test_multiprocessing in verbose mode. - -- 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 #7264: Fix a possible deadlock when deallocating thread-local objects - which are part of a reference cycle. - -- Issue #7211: Allow 64-bit values for the ``ident`` and ``data`` fields of - kevent objects on 64-bit systems. Patch by Michael Broghton. - -- 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 #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 #4750: Store the basename of the original filename in the gzip FNAME - header as required by RFC 1952. - -- Issue #1180: Added a new global option to ignore ~/.pydistutils.cfg in - Distutils. - -- Issue #7218: Fix test_site for win32, the directory comparison was done with - an uppercase. - -- 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 #7066: archive_util.make_archive now restores the cwd if an error is - raised. Initial patch by Ezio Melotti. - -- Issue #6218: io.StringIO and io.BytesIO instances are now picklable with - protocol 2. - -- Issue #7077: logging: SysLogHandler now treats Unicode as per RFC 5424. - -- Issue #7099: Decimal.is_normal now returns True for numbers with exponent - larger than emax. - -- Issue #5833: Fix extra space character in readline completion with the GNU - readline library version 6.0. - -- Issue #7133: SSL objects now support the new buffer API. - -- Issue #7149: urllib fails on OSX in the proxy detection code. - -- Issue #7069: Make inspect.isabstract() return a boolean. - -- Add support to the ``ihooks`` module for relative imports. - -- Issue #6894: Fixed the issue urllib2 doesn't respect "no_proxy" environment. - -- Issue #7086: Added TCP support to SysLogHandler, and tidied up some - anachronisms in the code which were a relic of 1.5.2 compatibility. - -- Issue #7082: When falling back to the MIME 'name' parameter, the correct place - to look for it is the Content-Type header. - -- Issue #7048: Force Decimal.logb to round its result when that result is too - large to fit in the current precision. - -- Issue #6516: Added owner/group support when creating tar archives in - Distutils. - -- Issue #7031: Add ``TestCase.assert(Not)IsInstance()`` methods. - -- Issue #6790: Make it possible again to pass an ``array.array`` to - ``httplib.HTTPConnection.send``. Patch by Kirk McDonald. - -- Issue #6236, #6348: Fix various failures in the `io` module under AIX and - other platforms, when using a non-gcc compiler. Patch by egreen. - -- Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils. - -- Issue #6851: Fix urllib.urlopen crash on secondairy threads on OSX 10.6 - -- Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...) does now - always result in NULL. - -- Issue #5042: ctypes Structure sub-subclass does now initialize correctly with - base class positional arguments. - -- Issue #6938: Fix a TypeError in string formatting of a multiprocessing debug - message. - -- Issue #6635: Fix profiler printing usage message. - -- Issue #6856: Add a filter keyword argument to TarFile.add(). - -- Issue #6163: Fixed HP-UX runtime library dir options in - distutils.unixcompiler. Initial patch by Sridhar Ratnakumar and Michael - Haubenwallner. - -- Issue #6857: Default format() alignment should be '>' for Decimal instances. - -- 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 #4937: plat-mac/bundlebuilder refers to non-existing version.plist. - -- Issue #6838: Use a list to accumulate the value instead of repeatedly - concatenating strings in httplib's HTTPResponse._read_chunked providing a - significant speed increase when downloading large files servend with a - Transfer-Encoding of 'chunked'. - -- Issue #5275: In Cookie's Cookie.load(), properly handle non-string arguments - as documented. - -- Issue #2666: Handle BROWSER environment variable properly for unknown browser - names in the webbrowser module. - -- Issue #6054: Do not normalize stored pathnames in tarfile. - -- Issue #6794: Fix Decimal.compare_total and Decimal.compare_total_mag: NaN - payloads are now ordered by integer value rather than lexicographically. - -- Issue #6693: New functions in site.py to get user/global site packages paths. - -- The thread.lock type now supports weak references. - -- Issue #1356969: Add missing info methods in Tix.HList. - -- Issue #1522587: New constants and methods for the Tix.Grid widget. - -- Issue #1250469: Fix the return value of Tix.PanedWindow.panes. - -- Issue #1119673: Do not override Tkinter.Text methods when creating a - ScrolledText. - -- Issue #6665: Fix fnmatch to properly match filenames with newlines in them. - -- Issue #1135: Add the XView and YView mix-ins to avoid duplicating the xview* - and yview* methods. - -- Issue #6629: Fix a data corruption issue in the new `io` package, 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 #4660: If a multiprocessing.JoinableQueue.put() was preempted, it was - possible to get a spurious 'task_done() called too many times' error. - -- Issue #1628205: Socket file objects returned by socket.socket.makefile() now - properly handles EINTR within the read, readline, write & flush methods. The - socket.sendall() method now properly handles interrupted system calls. - -- 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]. - -- Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when - opening an empty or very small file. - -- Issue #6553: Fixed a crash in cPickle.load(), when given a file-like object - containing incomplete data. - -- Issue #6545: Removed assert statements in distutils.Extension, so the behavior - is similar when used with -O. - -- unittest has been split up into a package. All old names should still work. - -- 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 #6466: Now distutils.cygwinccompiler and distutils.emxccompiler uses the - same refactored function to get gcc/ld/dllwrap versions numbers. It's - ``distutils.util.get_compiler_versions()``. Added deprecation warnings for - the obsolete get_versions() functions. - -- Issue #6433: Fixed issues with multiprocessing.pool.map hanging on empty list. - -- Issue #6314: logging: Extra checks on the "level" argument in more places. - -- Issue #2622: Fixed an ImportError when importing email.messsage from a - standalone application built with py2exe or py2app. - -- Issue #6455: Fixed test_build_ext under win32. - -- Issue #6377: Enabled the compiler option, and deprecate its usage as an - attribute. - -- Issue #6413: Fixed the log level in distutils.dist for announce. - -- Issue #3392: The subprocess communicate() method no longer fails in select() - when file descriptors are large; communicate() now uses poll() when possible. - -- Issue #6403: Fixed package path usage in build_ext. - -- Issues #5155, #5313, #5331: multiprocessing.Process._bootstrap was - unconditionally calling "os.close(sys.stdin.fileno())" resulting in file - descriptor errors. - -- Issue #6365: Distutils build_ext inplace mode was copying the compiled - extension in a subdirectory if the extension name had dots. - -- Issue #6344: Fixed a crash of mmap.read() when passed a negative argument. - -- Issue #5230: pydoc would report no documentation found if a module generated a - 'not found' import error when loaded; it now reports the import errors. - Thanks to Lucas Prado Melo for initial fix and collaboration on the tests. - -- Issue #6314: ``logging.basicConfig()`` performs extra checks on the "level" - argument. - -- Issue #6164: Added an AIX specific linker argument in Distutils unixcompiler. - Original patch by Sridhar Ratnakumar. - -- Issue #6274: Fixed possible file descriptors leak in subprocess.py. - -- Issue #6189: Restored compatibility of subprocess.py with Python 2.2. - -- Issue #6287: Added the license field in Distutils documentation. - -- Issue #6286: Now Distutils upload command is based on urllib2 instead of - httplib, allowing the usage of http_proxy. - -- Issue #6271: mmap tried to close invalid file handle (-1) for anonymous maps - on Unix. - -- Issue #6215: All bug fixes and enhancements from the Python 3.1 io library - (including the fast C implementation) have been backported to the standard - ``io`` module. - -- Issue #6258: Support AMD64 in bdist_msi. - -- Issue #6252: Fixed bug in next rollover time computation in - TimedRotatingFileHandler. - -- Issue #6263: Fixed syntax error in distutils.cygwincompiler. - -- Issue #5201: distutils.sysconfig.parse_makefile() now understands ``$$`` in - Makefiles. This prevents compile errors when using syntax like: - ``LDFLAGS='-rpath=\$$LIB:/some/other/path'``. Patch by Floris Bruynooghe. - -- Issue #5767: Removed sgmlop support from xmlrpclib. - -- Issue #6131: test_modulefinder leaked when run after test_distutils. Patch by - Hirokazu Yamamoto. - -- Issue #6048: Now Distutils uses the tarfile module in archive_util. - -- Issue #6121: pydoc now ignores leading and trailing spaces in the argument to - the 'help' function. - -- 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 #5311: bdist_msi can now build packages that do not depend on a specific - Python version. - -- 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 #1424152: Fix for httplib, urllib2 to support SSL while working through - proxy. Original patch by Christopher Li, changes made by Senthil Kumaran. - -- 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 #6062: In distutils, fixed the package option of build_ext. Feedback - and tests on pywin32 by Tim Golden. - -- Issue #6053: Fixed distutils tests on win32. Patch by Hirokazu Yamamoto. - -- Issue #6046: Fixed the library extension when distutils build_ext is used in - place. Initial patch by Roumen Petrov. - -- Issue #6041: Now distutils `sdist` and `register` commands use `check` as a - subcommand. - -- 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 #6022: A test file was created in the current working directory by - test_get_outputs in Distutils. - -- Issue #4050: inspect.findsource/getsource now raise an IOError if the 'source' - file is a binary. Patch by Brodie Rao, tests by Daniel Diniz. - -- Issue #5977: distutils build_ext.get_outputs was not taking into account the - inplace option. Initial patch by kxroberto. - -- Issue #5984: distutils.command.build_ext.check_extensions_list checks were - broken for old-style extensions. - -- Issue #5971: StreamHandler.handleError now swallows IOErrors which occur when - trying to print a traceback. - -- Issue #5976: Fixed Distutils test_check_environ. - -- Issue #5900: Ensure RUNPATH is added to extension modules with RPATH if GNU ld - is used. Original patch by Floris Bruynooghe. - -- Issue #5941: Distutils build_clib command was not working anymore because of - an incomplete customization of the archiver command. Added ARFLAGS in the - Makefile besides AR and make Distutils use it. Original patch by David - Cournapeau. - -- 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. - -- Issue #4875: On win32, ctypes.util.find_library does no longer return - directories. - -- Issue #5142: Add the ability to skip modules while stepping to pdb. - -- Issue #1309567: Fix linecache behavior of stripping subdirectories when - looking for files given by a relative filename. - -- Issue #5692: In ``zipfile.Zipfile``, fix wrong path calculation when - extracting a file to the root directory. - -- Issue #5913: ``os.listdir()`` should fail for empty path on windows. - -- Issue #5084: Unpickling now interns the attribute names of pickled objects, - saving memory and avoiding growth in size of subsequent pickles. Proposal and - original patch by Jake McGuire. - -- Issue #3002: ``shutil.copyfile()`` and ``shutil.copytree()`` now raise an - error when a named pipe is encountered, rather than blocking infinitely. - -- Issue #3959: The ipaddr module has been added to the standard library. - Contributed by Google. - -- Issue #2245: aifc now skips chunk types it doesn't recognize, per spec. - -- Issue #5874: distutils.tests.test_config_cmd is not locale-sensitive anymore. - -- Issue #4305: ctypes should now build again on mipsel-linux-gnu - -- Issue #1734234: Massively speedup ``unicodedata.normalize()`` when the string - is already in normalized form, by performing a quick check beforehand. - Original patch by Rauli Ruohonen. - -- Issue #5853: Calling a function of the mimetypes module from several threads - at once could hit the recursion limit if the mimetypes database hadn't been - initialized before. - -- Issue #5854: Updated __all__ to include some missing names and remove some - names which should not be exported. - -- Issue #5810: Fixed Distutils test_build_scripts so it uses - ``sysconfig.get_config_vars()``. - -- Issue #4951: Fixed failure in test_httpservers. - -- Issue #3102: All global symbols that the _ctypes extension defines are now - prefixed with 'Py' or '_ctypes'. - -- Issue #5041: ctypes does now allow pickling wide character. - -- Issue #5812: For the two-argument form of the Fraction constructor, - ``Fraction(m, n)``, m and n are permitted to be arbitrary Rational instances. - -- Issue #5812: Fraction('1e6') is valid: more generally, any string that's valid - for float() is now valid for Fraction(), with the exception of strings - representing NaNs and infinities. - -- Issue #5795: Fixed test_distutils failure on Debian ppc. - -- Issue #5768: Fixed bug in Unicode output logic and test case for same. - -- Issue #1161031: Fix readwrite select flag handling: POLLPRI now results in a - handle_expt_event call, not handle_read_event, and POLLERR and POLLNVAL now - call handle_close, not handle_expt_event. Also, dispatcher now has an - 'ignore_log_types' attribute for suppressing log messages, which is set to - 'warning' by default. - -- Issue #5607: Fixed Distutils test_get_platform for Mac OS X fat binaries. - -- Issue #5741: Don't disallow "%%" (which is an escape for "%") when setting a - value in SafeConfigParser. - -- Issue #5732: Added a new command in Distutils: check. - -- Issue #5731: Distutils bdist_wininst no longer worked on non-Windows - platforms. Initial patch by Paul Moore. - -- Issue #2254: Fix CGIHTTPServer information disclosure. Relative paths are now - collapsed within the url properly before looking in cgi_directories. - -- Issue #5095: Added bdist_msi to the list of bdist supported formats. Initial - fix by Steven Bethard. - -- Issue #1491431: Fixed distutils.filelist.glob_to_re for edge cases. Initial - fix by Wayne Davison. - -- Issue #5693: TestSuite.__iter__ can now be consistently overridden in - subclasses. - -- Issue #5694: Removed spurious test output in Distutils (test_clean). - -- Issue #5471: Fix os.path.expanduser() for $HOME set to '/'. - -- Issue #1326077: Fix the formatting of SyntaxErrors by the traceback module. - -- Issue #1726172: Fix IndexError in the case of and empty response in ftplib. - -- Issue #2625: Added missing iteritems() call to the for loop in - mailbox.MH.get_message(). - -- Issue #5585: Add the ability to call an initializer to - multiprocessing.manager so that users can install custom handlers/etc. - -- Issue #3551: Patch multiprocessing to raise a proper exception if the size of - the object when writefile is called causes an ERROR_NO_SYSTEM_RESOURCES. Added - docs to note the limitation. - -- unittest.assertNotEqual() now uses the inequality operator (!=) instead of the - equality operator. - -- Issue #6001: Test discovery for unittest. Implemented in - unittest.TestLoader.discover and from the command line. - -- Issue #5679: The methods unittest.TestCase.addCleanup and doCleanups were - added. addCleanup allows you to add cleanup functions that will be called - unconditionally (after setUp if setUp fails, otherwise after tearDown). This - allows for much simpler resource allocation and deallocation during tests. - -- Issue #3379: unittest.main now takes an optional exit argument. If False main - doesn't call sys.exit allowing it to be used from the interactive interpreter. - -- Issue #5995: unittest.main now takes an optional verbosity argument allowing - test modules to be run with a higher than default verbosity. - -- Issue #5995: A fix to allow you to run "python -m unittest test_module" or - "python -m unittest test_module.TestClass" from the command line. - -- Issue #5728: unittest.TestResult has new startTestRun and stopTestRun methods; - called immediately before and after a test run. - -- Issue #5663: Better failure messages for unittest asserts. Default assertTrue - and assertFalse messages are now useful. TestCase has a longMessage attribute. - This defaults to False, but if set to True useful error messages are shown in - addition to explicit messages passed to assert methods. - -- Issue #3110: Add additional protect around SEM_VALUE_MAX for multiprocessing. - -- In Pdb, prevent the reassignment of __builtin__._ by sys.displayhook on - printing out values. - -- Issue #4572: Added SEEK_* symbolic constants to io module. - -- Issue #1665206 (partially): Move imports in cgitb to the top of the module - instead of performing them in functions. Helps prevent import deadlocking in - threads. - -- Issue #5647: MutableSet.__iand__() no longer mutates self during iteration. - -- Actually make the SimpleXMLRPCServer CGI handler work. - -- Issue #2522: locale.format() now checks its first argument to ensure it has - been passed only one pattern, avoiding mysterious errors where it appeared - that it was failing to do localization. - -- Issue #5583: Added optional extensions in Distutils. Initial patch by Georg - Brandl. - -- Issue #5619: Multiprocessing children disobey the debug flag and causes popups - on windows buildbots. Patch applied to work around this issue. - -- Issue #5632: Thread.ident was None for the main thread and threads not created - with the threading module. - -- Issue #5400: Added patch for multiprocessing on netbsd compilation/support. - -- Issue #5387: Fixed mmap.move crash by integer overflow. - -- Issue #5261: Patch multiprocessing's semaphore.c to support context manager - use: "with multiprocessing.Lock()" works now. - -- Issue #5177: Multiprocessing's SocketListener class now uses - socket.SO_REUSEADDR on all connections so that the user no longer needs to - wait 120 seconds for the socket to expire. - -- Adjusted _tkinter to compile without warnings when WITH_THREAD is not defined - (part of issue #5035). - -- Issue #5561: Removed the sys.version_info shortcuts from platform's - python_version() and python_version_tuple() since they produced different - output compared to previous Python versions. - -- Issue #1034053: unittest now supports skipping tests and expected failures. - -- The unittest.TestCase.assertRaises() method now returns a context manager when - not given a callable so that code to be tested can be written inline using a - with statement. - -- Issue #2578: The unittest.TestCase.assertEqual() now displays the differences - in lists, tuples, dicts and sets on failure. Many new handy type and - comparison specific assert* methods have been added that fail with error - messages actually useful for debugging. Contributed in part by Google. - -- Issue #5068: Fixed the tarfile._BZ2Proxy.read() method that would loop forever - on incomplete input. That caused tarfile.open() to hang when used with mode - 'r' or 'r:bz2' and a fileobj argument that contained no data or partial bzip2 - compressed data. - -- Issue #5536: urllib.urlretrieve makes sure to close the file it's writing to - even if an exception occurs. - -- Issue #5381: Added object_pairs_hook to the json module. This allows - OrderedDicts to be built by the decoder. - -- Issue #2110: Add support for thousands separator and 'n' type specifier to - ``Decimal.__format__()``. - -- Fix Decimal.__format__ bug that swapped the meanings of the '<' and '>' - alignment characters. - -- Issue #1222: ``locale.format()`` bug when the thousands separator is a space - character. - -- Issue #5472: Fixed distutils.test_util tear down. Original patch by Tim - Golden. - -- collections.deque objects now have a read-only attribute called maxlen. - -- Issue #2638: Show a window constructed with tkSimpleDialog.Dialog only after - it is has been populated and properly configured in order to prevent window - flashing. - -- Issue #4792: Prevent a segfault in _tkinter by using the guaranteed to be safe - interp argument given to the PythonCmd in place of the Tcl interpreter taken - from a PythonCmd_ClientData. - -- Issue #5193: Guarantee that Tkinter.Text.search returns a string. - -- Issue #5394: Removed > 2.3 syntax from distutils.msvc9compiler. - Original patch by Akira Kitada. - -- Issue #5385: Fixed mmap crash after resize failure on windows. - -- Issue #5179: Fixed subprocess handle leak on failure on windows. - -- PEP 372: Added collections.OrderedDict(). - -- The _asdict() for method for namedtuples now returns an OrderedDict(). - -- The configparser module now defaults to using an ordered dictionary. - -- Issue #4308: httplib.IncompleteRead's repr doesn't include all of the data all - ready received. - -- Issue #5401: Fixed a performance problem in mimetypes when ``from mimetypes - import guess_extension`` was used. - -- Issue #1733986: Fixed mmap crash on Windows in accessing elements of second - map object with same tagname but larger size than first map. - -- Issue #5386: mmap.write_byte didn't check map size, so it could cause buffer - overrun. - -- Issue #1533164: Installed but not listed *.pyo was breaking Distutils - bdist_rpm command. - -- Issue #5378: Added --quiet option to Distutils bdist_rpm command. - -- Issue #5052: Make Distutils compatible with 2.3 again. - -- Deprecated methods of symtable.Symbol have been removed: is_keywordarg(), - is_vararg(), and is_in_tuple(). - -- Issue #5316: Fixed buildbot failures introduced by multiple inheritance in - Distutils tests. - -- Issue #5287: Add exception handling around findCaller() call to help out - IronPython. - -- Issue #5282: Fixed mmap resize on 32bit Windows and Unix. When ``offset > - 0``, the file was resized to wrong size. - -- Issue #5292: Fixed mmap crash on its boundary access m[len(m)]. - -- Issue #2279: distutils.sdist.add_defaults now add files from the package_data - and the data_files metadata. - -- Issue #5257: Refactored all tests in distutils, so they use - support.TempdirManager, to avoid writing in the tests directory. - -- Issue #4524: distutils build_script command failed with --with-suffix=3. - Initial patch by Amaury Forgeot d'Arc. - -- Issue #2461: Added tests for distutils.util. - -- Issue #1008086: Fixed socket.inet_aton() to always return 4 bytes even on LP64 - platforms (most 64-bit Linux, bsd, unix systems). - -- Issue #5203: Fixed ctypes segfaults when passing a unicode string to a - function without argtypes (only occurs if HAVE_USABLE_WCHAR_T is false). - -- Issue #3386: distutils.sysconfig.get_python_lib prefix argument was ignored - under NT and OS2. Patch by Philip Jenvey. - -- Issue #5128: Make compileall properly inspect bytecode to determine if needs - to be recreated. This avoids a timing hole thanks to the old reliance on the - ctime of the files involved. - -- Issue #5122: Synchronize tk load failure check to prevent a potential - deadlock. - -- Issue #1818: collections.namedtuple() now supports a keyword argument 'rename' - which lets invalid fieldnames be automatically converted to positional names - in the form, _1, _2, ... - -- Issue #4890: Handle empty text search pattern in Tkinter.Text.search. - -- Issue #5170: Fixed Unicode output bug in logging and added test case. This is - a regression which did not occur in 2.5. - -- Issue #4512 (part 2): Promote ``ZipImporter._get_filename()`` to be a public - documented method ``ZipImporter.get_filename()``. - -- Issue #4195: The ``runpy`` module (and the ``-m`` switch) now support the - execution of packages by looking for and executing a ``__main__`` submodule - when a package name is supplied. Initial patch by Andi Vajda. - -- Issue #1731706: Call Tcl_ConditionFinalize for Tcl_Conditions that will not be - used again (this requires Tcl/Tk 8.3.1), also fix a memory leak in Tkapp_Call - when calling from a thread different than the one that created the Tcl - interpreter. Patch by Robert Hancock. - -- Issue #1520877: Now distutils.sysconfig reads $AR from the - environment/Makefile. Patch by Douglas Greiman. - -- Issue #4285: Change sys.version_info to be a named tuple. Patch by Ross - Light. - -- Issue #1276768: The verbose option was not used in the code of - distutils.file_util and distutils.dir_util. - -- Issue #5132: Fixed trouble building extensions under Solaris with - --enabled-shared activated. Initial patch by Dave Peterson. - -- Issue #1581476: Always use the Tcl global namespace when calling into Tcl. - -- Issue #2047: shutil.move() could believe that its destination path was inside - its source path if it began with the same letters (e.g. "src" vs. "src.new"). - -- Issue #4920: Fixed .next() vs .__next__() issues in the ABCs for Iterator and - MutableSet. - -- Added the ttk module. See issue #2983: Ttk support for Tkinter. - -- Issue #5021: doctest.testfile() did not create __name__ and - collections.namedtuple() relied on __name__ being defined. - -- Backport importlib from Python 3.1. Only the import_module() function has been - backported to help facilitate transitions from 2.7 to 3.1. - -- Issue #1885: distutils: When running sdist with --formats=tar,gztar the tar - file was overridden by the gztar one. - -- Issue #4863: distutils.mwerkscompiler has been removed. - -- Added new itertools functions: combinations_with_replacement() and compress(). - -- Issue #5032: Added a step argument to itertools.count() and allowed - non-integer arguments. - -- Fix and properly document the multiprocessing module's logging support, expose - the internal levels and provide proper usage examples. - -- Issue #1672332: Fix unpickling of subnormal floats, which was - producing a ValueError on some platforms. - -- Issue #3881: Help Tcl to load even when started through the unreadable local - symlink to "Program Files" on Vista. - -- Issue #4710: Extract directories properly in the zipfile module; allow adding - directories to a zipfile. - -- Issue #3807: _multiprocessing build fails when configure is passed - --without-threads argument. When this occurs, _multiprocessing will be - disabled, and not compiled. - -- Issue #5008: When a file is opened in append mode with the new IO library, do - an explicit seek to the end of file (so that e.g. tell() returns the file size - rather than 0). This is consistent with the behaviour of the traditional 2.x - file object. - -- Issue #5013: Fixed a bug in FileHandler which occurred when the delay - parameter was set. - -- Issue #4998: The memory saving effect of __slots__ had been lost on Fractions - which inherited from numbers.py which did not have __slots__ defined. The - numbers hierarchy now has its own __slots__ declarations. - -- Issue #3321: _multiprocessing.Connection() doesn't check handle; added checks - for *nix machines for negative handles and large int handles. Without this - check it is possible to segfault the interpreter. - -- Issue #4449: AssertionError in mp_benchmarks.py, caused by an underlying issue - in sharedctypes.py. - -- Issue #1225107: inspect.isclass() returned True for instances with a custom - __getattr__. - -- Issue #3997: Zipfiles generated with more than 65536 files could not be opened - with other applications. - -- Issue #1162154: ``inspect.getmembers()`` now skips attributes that raise - AttributeError, e.g. a __slots__ attribute which has not been set. - -- Issue #1696199: Add collections.Counter() for rapid and convenient counting. - -- Issue #3860: GzipFile and BZ2File now support the context management protocol. - -- Issue #4272: Add an optional argument to the GzipFile constructor to override - the timestamp in the gzip stream. The default value remains the current time. - The information can be used by e.g. gunzip when decompressing. Patch by - Jacques Frechet. - -- Restore Python 2.3 compatibility for decimal.py. - -- Issue #1702551: distutils sdist was not excluding VCS directories under - Windows. Initial solution by Guy Dalberto. - -- The _tkinter module functions "createfilehandler", "deletefilehandler", - "createtimerhandler", "mainloop", "dooneevent" and "quit" have been deprecated - for removal in 3.x - -- Issue #4796: Added Decimal.from_float() and - Context.create_decimal_from_float() to the decimal module. - -- Issue #4812: Add missing underscore prefix to some internal-use-only constants - in the decimal module. (Dec_0 becomes _Dec_0, etc.) - -- Issue #4795: inspect.isgeneratorfunction() returns False instead of None when - the function is not a generator. - -- Issue #4702: Throwing a DistutilsPlatformError instead of IOError in case no - MSVC compiler is found under Windows. Original patch by Philip Jenvey. - -- Issue #4646: distutils was choking on empty options arg in the setup function. - Original patch by Thomas Heller. - -- Fractions.from_float() no longer loses precision for integers too big to cast - as floats. - -- Issue #4790: The nsmallest() and nlargest() functions in the heapq module did - unnecessary work in the common case where no key function was specified. - -- Issue #3767: Convert Tk object to string in tkColorChooser. - -- Issue #3248: Allow placing ScrolledText in a PanedWindow. - -- Issue #4444: Allow assertRaises() to be used as a context handler, so that the - code under test can be written inline if more practical. - -- Issue #4739: Add pydoc help topics for symbols, so that e.g. help('@') works - as expected in the interactive environment. - -- Issue #4756: zipfile.is_zipfile() now supports file-like objects. Patch by - Gabriel Genellina. - -- Issue #4400: .pypirc default generated file was broken in distutils. - -- Issue #4736: io.BufferedRWPair's closed property now functions properly. - -- Issue #3954: Fix a potential SystemError in _hotshot.logreader error handling. - -- Issue #4574: Fix a crash in io.IncrementalNewlineDecoder when a carriage - return encodes to more than one byte in the source encoding (e.g. UTF-16) and - gets split on a chunk boundary. - -- Issue #4223: inspect.getsource() will now correctly display source code for - packages loaded via zipimport (or any other conformant PEP 302 - loader). Original patch by Alexander Belopolsky. - -- Issue #4201: pdb can now access and display source code loaded via zipimport - (or any other conformant PEP 302 loader). Original patch by Alexander - Belopolsky. - -- Issue #4197: Doctests in modules loaded via zipimport (or any other PEP 302 - conformant loader) will now work correctly in most cases (they are still - subject to the constraints that exist for all code running from inside a - module loaded via a PEP 302 loader and attempting to perform IO operations - based on __file__). Original patch by Alexander Belopolsky. - -- Issues #4082 and #4512: Add runpy support to zipimport in a manner that allows - backporting to maintenance branches. Original patch by Alexander Belopolsky. - -- Issue #4163: Use unicode-friendly word splitting in the textwrap functions - when given a Unicode string. - -- Issue #4616: TarFile.utime(): Restore directory times on Windows. - -- Issue #4084: Fix max, min, max_mag and min_mag Decimal methods to give correct - results in the case where one argument is a quiet NaN and the other is a - finite number that requires rounding. - -- Issue #1030250: Distutils created directories even when run with the --dry-run - option. - -- Issue #4483: _dbm module now builds on systems with gdbm & gdbm_compat libs. - -- Issue #4529: Fix the parser module's validation of try-except-finally - statements. - -- Issue #4458: getopt.gnu_getopt() now recognizes a single "-" as an argument, - not a malformed option. - -- Added the subprocess.check_output() convenience function to get output from a - subprocess on success or raise an exception on error. - -- Issue #1055234: cgi.parse_header(): Fixed parsing of header parameters to - support unusual filenames (such as those containing semi-colons) in - Content-Disposition headers. - -- Issue #4384: Added logging integration with warnings module using - captureWarnings(). This change includes a NullHandler which does nothing; it - will be of use to library developers who want to avoid the "No handlers could - be found for logger XXX" message which can appear if the library user doesn't - configure logging. - -- Issue #3741: DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an - exception. - -- Issue #4363: The uuid.uuid1() and uuid.uuid4() functions now work even if the - ctypes module is not present. - -- FileIO's mode attribute now always includes ``"b"``. - -- Issue #4116: Resolve member name conflict in ScrolledCanvas.__init__. - -- httplib.HTTPConnection.putheader() now accepts an arbitrary number of values - for any header, matching what the documentation has claimed for a while. - -- Issue #3774: Fixed an error when create a Tkinter menu item without command - and then remove it. - -- Fixed a modulefinder crash on certain relative imports. - -- Issue #4150: Pdb's "up" command now works for generator frames in post-mortem - debugging. - -- Issue #4092: Return ArgInfo as promised in the documentation from - inspect.getargvalues. - -- Issue #3935: Properly support list subclasses in bisect's C implementation. - -- Issue #4014: Don't claim that Python has an Alpha release status, in addition - to claiming it is Mature. - -- Issue #4730: Fixed the cPickle module to handle correctly astral characters - when protocol 0 is used. - -- Issue #1594: MacOS.GetCreatorAndType now always returns a big-endian result, - to be consistent with Apple tools. - -- Issue #900949: plat-mac/videoreader.py no longer relies on a non-existing - module. - -- Issue #16278952: plat-mac/videoreader.py now correctly imports MediaDescr - -- Issue #1737832: plat-mac/EasyDialog.py no longer uses the broken aepack - module. - -- Issue #1149804: macostools.mkdirs now even works when another process creates - one of the needed subdirectories. - -- Issue #900506: added --no-zipimport flag to the bundlebuilder script. - -- Issue #841800: bundlebuilder now works with 'python -O'. - -- Issue #4861: ctypes.util.find_library(): Robustify. Fix library detection on - biarch systems. Try to rely on ldconfig only, without using objdump and gcc. - -- Issue #5104: The socket module now raises OverflowError when 16-bit port and - protocol numbers are supplied outside the allowed 0-65536 range on bind() and - getservbyport(). - -- Issue #999042: The Python compiler now handles explict global statements - correctly (should be assigned using STORE_GLOBAL opcode). - -- Issue #2703: SimpleXMLRPCDispatcher.__init__: Provide default values for new - arguments introduced in 2.5. - -- Issue #5828 (Invalid behavior of unicode.lower): Fixed bogus logic in - makeunicodedata.py and regenerated the Unicode database (This fixes - u'\u1d79'.lower() == '\x00'). - -- Windows locale mapping updated to Vista. - -IDLE ----- - -- Issue #5150: IDLE's format menu now has an option to strip trailing - whitespace. - -- Issue #5847: Remove -n switch on "Edit with IDLE" menu item. - -- idle.py modified and simplified to better support developing experimental - versions of IDLE which are not installed in the standard location. - -- Issue #5559: OutputWindow/PyShell right click menu "Go to file/line" - wasn't working with file paths containing spaces. - -- Issue #5783: Windows: Version string for the .chm help file changed, - file not being accessed. Patch by Guilherme Polo/ - -- Issue #1529142: Allow multiple IDLE GUI/subprocess pairs to exist - simultaneously. Thanks to David Scherer for suggesting the use of an - ephemeral port for the GUI. Patch by Weeble. - -- Remove port spec from run.py and fix bug where subprocess fails to - extract port from command line when warnings are present. - -- Issue #5129: Tk 8.5 Text widget requires 'wordprocessor' tabstyle attr - to handle mixed space/tab properly. Patch by Guilherme Polo. - -- Issue #3549: On MacOS the preferences menu was not present - -Tools/Demos ------------ - -- Ttk demos added in Demo/tkinter/ttk/. - -- Issue #4677: Add two list comprehension tests to pybench. - -Build ------ - -- 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. - -- Add 2 new options to ``--with-universal-archs`` on MacOSX: ``intel`` builds a - distribution with ``i386`` and ``x86_64`` architectures, while ``3-way`` - builds a distribution with the ``ppc``, ``i386`` and ``x86_64`` architectures. - -- Issue #6802: Fix build issues on MacOSX 10.6. - -- Issue #6244: Allow detect_tkinter to look for Tcl/Tk 8.6. - -- Issue #5390: Add uninstall icon independent of whether file extensions are - installed. - -- Issue #5809: Specifying both --enable-framework and --enable-shared is an - error. Configure now explicitly tells you about this. - -- Issue #3585: Add pkg-config support. It creates a python-2.7.pc file and a - python.pc symlink in the $(LIBDIR)/pkgconfig directory. Patch by Clinton Roy. - -- Issue #6094: Build correctly with Subversion 1.7. - -- Issue #5726: Make Modules/ld_so_aix return the actual exit code of the linker, - rather than always exit successfully. Patch by Floris Bruynooghe. - -- Issue #4587: Add configure option --with-dbmliborder=db1:db2:... to specify - the order that backends for the dbm extension are checked. - -- Link the shared python library with $(MODLIBS). - -- Issue #5134: Silence compiler warnings when compiling sqlite with VC++. - -- Issue #4494: Fix build with Py_NO_ENABLE_SHARED on Windows. - -- Issue #4895: Use _strdup on Windows CE. - -- Issue #4472: ``configure --enable-shared`` now works on OSX. - -- Issues #4728 and #4060: WORDS_BIGEDIAN is now correct in Universal builds. - -- Issue #4389: Add icon to the uninstall entry in "add-and-remove-programs". - -- Issue #4289: Remove Cancel button from AdvancedDlg. - -- Issue #1656675: Register a drop handler for .py* files on Windows. - -- Issue #4120: Exclude manifest from extension modules in VS2008. - -- Issue #4091: Install pythonxy.dll in system32 again. - -- Issue #4018: Disable "for me" installations on Vista. - -- Issue #3758: Add ``patchcheck`` build target to ``.PHONY``. - -- Issue #4204: Fixed module build errors on FreeBSD 4. - -Documentation -------------- - -- Issue #6556: Fixed the Distutils configuration files location explanation for - Windows. - -- Issue #6801: symmetric_difference_update also accepts ``|``. Thanks to Carl - Chenet. - -C-API ------ - -- Issue #7528: Add PyLong_AsLongAndOverflow (backported from py3k). - -- Issue #7228: Add '%lld' and '%llu' support to PyString_FromFormat(V) and - PyErr_Format, on machines with HAVE_LONG_LONG defined. - -- Add new C-API function PyOS_string_to_double, and deprecated PyOS_ascii_atof - and PyOS_ascii_strtod. - -- Removed _PyOS_double_to_string. Use PyOS_double_to_string instead. This is in - preparation for (but not strictly related to) issue #7117, short float repr. - -- Issue #6624: PyArg_ParseTuple with "s" format when parsing argument with NULL: - Bogus TypeError detail string. - -- Issue #5954: Add a PyFrame_GetLineNumber() function to replace most uses of - PyCode_Addr2Line(). - -- Issue #5959: Add a PyCode_NewEmpty() function to create a new empty code - object at a specified file, function, and line number. - -- Issue #1419652: Change the first argument to PyImport_AppendInittab() to - ``const char *`` as the string is stored beyond the call. - -- Some PyBytes_* aliases have been removed because they don't exist in 3.x. - -- Issue #5175: PyLong_AsUnsignedLongLong now raises OverflowError for negative - arguments. Previously, it raised TypeError. - -- Issue #4720: The format for PyArg_ParseTupleAndKeywords can begin with '|'. - -- Issue #3632: From the gdb debugger, the 'pyo' macro can now be called when the - GIL is released, or owned by another thread. - -- Issue #4122: On Windows, fix a compilation error when using the - Py_UNICODE_ISSPACE macro in an extension module. - -- Issue #4293: Py_AddPendingCall() is now thread safe and can be used for - asynchronous notifications to python from any thread. Documentation added. - -Extension Modules ------------------ - -- Issue #6508: Add posix.{getresuid,getresgid,setresuid,setresgid}. - -- Issue #7078: Set struct.__doc__ from _struct.__doc__. - -- Issue #3366: Add erf, erfc, expm1, gamma, lgamma functions to math module. - -- Issue #6823: Allow time.strftime() to accept a tuple with a isdst field - outside of the range of [-1, 1] by normalizing the value to within that range. - -- Issue #6877: Make it possible to link the readline extension to libedit on - OSX. - -- Issue #6944: Fix a SystemError when socket.getnameinfo() was called with - something other than a tuple as first argument. - -- Issue #6865: Fix reference counting issue in the initialization of the pwd - module. - -- Issue #6848: Fix curses module build failure on OS X 10.6. - -- Fix a segfault in expat when given a specially crafted input lead to the - tokenizer not stopping. CVE-2009-3720. - -- Issue #6561: '\d' in a regex now matches only characters with Unicode category - 'Nd' (Number, Decimal Digit). Previously it also matched characters with - category 'No'. - -- Issue #1523: Remove deprecated overflow wrapping for struct.pack with an - integer format code ('bBhHiIlLqQ'). Packing an out-of-range integer now - consistently raises struct.error. - -- Issues #1530559, #1741130: Fix various struct.pack inconsistencies for the - integer formats ('bBhHiIlLqQ'). In the following, '*' represents any of '=', - '<', '>'. - - - Packing a float now always gives a Deprecation Warning. Previously it - only warned for 'I', 'L', '*B', '*H', '*I', '*L'. - - - If x is not an int, long or float, then packing x will always result in - struct.error. Previously an x with an __int__ method could be packed by - 'b', 'B', 'h', 'H', 'i', 'l', '*b', '*h' ,'*i', '*l', and an x with a - __long__ method could be packed by 'q', 'Q', '*q', '*Q'; for x with - neither __int__ nor __long__, TypeError used to be raised (with a - confusing error message) for 'I', 'L', '*B', '*H', '*I', '*L', and - struct.error in other cases. - - Note: as of Python 2.7 beta 1, the above is out of date. In 2.7 beta 1, any - argument with an __int__ method can be packed, but use of this feature - triggers a DeprecationWarning. - -- Issue #4873: Fix resource leaks in error cases of pwd and grp. - -- Issue #4751: For hashlib algorithms provided by OpenSSL, the Python GIL is now - released during computation on data lengths >= 2048 bytes. - -- Issue #3745: Fix hashlib to always reject unicode and non buffer-api - supporting objects as input no matter how it was compiled (built in - implementations or external openssl library). NOTE: Undone in 2.7a2. - -- Issue #4397: Fix occasional test_socket failure on OS X. - -- Issue #4279: Fix build of parsermodule under Cygwin. - -- Issue #4051: Prevent conflict of UNICODE macros in cPickle. - -- Issue #4228: Pack negative values the same way as 2.4 in struct's L format. - -- Issue #1040026: Fix os.times result on systems where HZ is incorrect. - -- Issues #3167, #3682: Fix test_math failures for log, log10 on Solaris, - OpenBSD. - -- Issue #4365: Add crtassem.h constants to the msvcrt module. - -- Issue #4396: The parser module now correctly validates the with statement. - -- Issue #5228: Make functools.partial objects can now be pickled. - -Tests ------ - -- 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 #7312: Add a -F flag to run the selected tests in a loop until a test - fails. Can be combined with -j. - -- 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 #7222: Make thread "reaping" more reliable so that reference - leak-chasing test runs give sensible results. The previous method of reaping - threads could return successfully while some Thread objects were still - referenced. This also introduces a new private function: ``thread._count()``. - -- Issue #7151: Fixed regrtest -j so that output to stderr from a test no longer - runs the risk of causing the worker thread to fail. - -- 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 things like sys.argv and cwd to - runtest_inner in regrtest, with warnings if the called test modifies them, - and a new section in the summary report at the end. - -- Issue #7042: Fix test_signal (test_itimer_virtual) failure on OS X 10.6. - -- Issue #6806: test_platform failed under OS X 10.6.0 because ``sw_ver`` leaves - off the trailing 0 in the version number. - -- Issue #5450: Moved tests involving loading tk from Lib/test/test_tcl to - Lib/lib-tk/test/test_tkinter/test_loadtk. With this, these tests demonstrate - the same behaviour as test_ttkguionly (and now also test_tk) which is to skip - the tests if DISPLAY is defined but can't be used. - -- Issue #6152: New option '-j'/'--multiprocess' for regrtest allows running - regression tests in parallel, shortening the total runtime. - -- Issue #5354: New test support function import_fresh_module() makes it easy to - import both normal and optimised versions of modules. test_heapq and - test_warnings have been adjusted to use it, tests for other modules with both - C and Python implementations in the stdlib can be adjusted to use it over - time. - -- Fix test_warnings to no longer reset the warnings filter. - -- Fix test_logging to no longer reset the warnings filter. - -- Issue #5635: Fix running test_sys with tracing enabled. - -- regrtest no longer treats ImportError as equivalent to SkipTest. Imports that - should cause a test to be skipped are now done using import_module from test - support, which does the conversion. - -- Issue #5083: New 'gui' resource for regrtest. - -- Issue #5837: Certain sequences of calls to set() and unset() for - support.EnvironmentVarGuard objects restored the environment variables - incorrectly on __exit__. - -- Issue #2389: Array objects are now pickled in a portable manner. - -Misc ----- - -- Issue #5611: Auto-detect whether a C file uses tabs or spaces in Vim. - - -What's New in Python 2.6 final -============================== - -*Release date: 01-Oct-2008* - -Core and Builtins ------------------ - -- Issue #3967: Fixed a crash in the count() and find() methods of string-like - objects, when the "start" parameter is a huge value. - -- Issue #3965: Fixed a crash on Windows when open() is given an invalid - filename or mode, and the filename is a unicode string. - -- Bug #3951: Py_USING_MEMORY_DEBUGGER should not be enabled by default. - -Library -------- - -- Issue #3965: Allow repeated calls to turtle.Screen, by making it a - true singleton object. - -- Issue #3895: It was possible to crash the interpreter when an external timer - was used with cProfile that returned an object that could not be converted - into a float. - -- Issue #3950: Made turtle respect scale factors. - -- Issue #3547: Fixed ctypes structures bitfields of varying integer - sizes. - -- Issue #3879: A regression in urllib.getproxies_environment was fixed. - -- Issue #3863: Disabled a unit test of fork being called from a thread - when running on platforms known to exhibit OS bugs when attempting that. - -Build ------ - -- Bug #3989: Package the 2to3 script (as 2to3.py) in the Windows - installer. - -- Bug #3887: Package x64 version of CRT for AMD64 Windows binaries. - - -What's New in Python 2.6 release candidate 2? -============================================= - -*Release date: 17-Sep-2008* - -Core and Builtins ------------------ - -Extension Modules ------------------ - -- Security Issue #2: imageop did not validate arguments correctly and could - segfault as a result. - -- Issue #3886: Possible integer overflows in the _hashopenssl module were - closed. - -Tools/Demos ------------ - -- Issue #3850: recursion tests in Tools/scripts/find_recursion_limit.py can raise - AttributeError instead of RuntimeError, depending in which C API call - exactly the recursion limit is exceeded. Consequently, both exception types - are caught and silenced. - -Build ------ - -- Issue #3617: Include a licensing statement regarding the Microsoft - C runtime in the Windows installer. - - -What's New in Python 2.6 release candidate 1? -============================================= - -*Release date: 12-Sep-2008* - -Core and Builtins ------------------ - -- Issue #3642: Suppress warning in obmalloc when size_t is larger than uint. - -- Issue #3743: In a few places, PY_FORMAT_SIZE_T was incorrectly used with - PyString_FromFormat or PyErr_Format to display size_t values. The macro - PY_FORMAT_SIZE_T is designed to select the correct format for the OS - ``printf`` function, whereas PyString_FromFormat has an independent - implementation and uses "%zd" on all platforms for size_t values. - This makes a difference on win64, where ``printf`` needs "%Id" to display - 64bit values. - -- Issue #3634: _weakref.ref(Exception).__init__() gave invalid return value on - error. - -- Issue #3777: long() applied to a float object now always return a long - object; previously an int would be returned for small values. the __long__ - method is allowed to return either an int or a long, but the behaviour of - float objects should not change to respect backward compatibility. - -- Issue #3751: str.rpartition would perform a left-partition when called with - a unicode argument. - -- Issue #3683: Fix compilation when --without-threads is given. - -- Issue #3668: Fix a memory leak with the "s*" argument parser in - PyArg_ParseTuple and friends, which occurred when the argument for "s*" - was correctly parsed but parsing of subsequent arguments failed. - -- Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to - match Python 2.5 speed despite the __instancecheck__ / __subclasscheck__ - mechanism. In the process, fix a bug where isinstance() and issubclass(), - when given a tuple of classes as second argument, were looking up - __instancecheck__ / __subclasscheck__ on the tuple rather than on each - type object. - -- Fix crashes on memory allocation failure found with failmalloc. - -- Fix memory leaks found with valgrind and update suppressions file. - -- Fix compiler warnings in opt mode which would lead to invalid memory reads. - -- Fix problem using wrong name in decimal module reported by pychecker. - -- Silenced another compiler warning about a used but not defined - function 'stringlib_contains_obj'. - -- Added warnings on the use of ``__getslice__``, ``__setslice__``, or - ``__delslice__``. - -- Issue #3678: Correctly pass LDFLAGS and LDLAST to the linker on shared - library targets in the Makefile. - -- Issue #1204: The configure script now tests for additional libraries - that may be required when linking against readline. This fixes issues - with x86_64 builds on some platforms (a few Linux flavors and OpenBSD). - -C-API ------ - -- Aliased PyObject_Bytes to PyObject_Str. - -Library -------- - -- Issue #3640: Pickling a list or a dict uses less local variables, to reduce - stack usage in the case of deeply nested objects. - -- Issue #3629: Fix sre "bytecode" validator for an end case. - -- Issue #3811: The Unicode database was updated to 5.1. - -- Issue #3781: Further warnings.catch_warnings() cleanup to prevent - silent misbehaviour when a single instance is nested in multiple - with statements, or when the methods are invoked in the wrong order. - -- Issue #3809: Fixed spurious 'test.blah' file left behind by test_logging. - -- Issue #3781: Clean up the API for warnings.catch_warnings() by having it - return a list or None rather than a custom object. - -- Issue #1638033: Cookie.Morsel gained the httponly attribute. - -- Issue #3535: zipfile couldn't read some zip files larger than 2GB. - -- Issue #3776: Deprecate the bsddb package for removal in 3.0. - -- Issue #3762: platform.architecture() fails if python is lanched via - its symbolic link. - -- Issue #3772: Fixed regression problem in StreamHandler.emit(). - -- Issue #600362: Relocated parse_qs() and parse_qsl(), from the cgi module - to the urlparse one. Added a PendingDeprecationWarning in the old - module, it will be deprecated in the future. - -- Issue #2562: Fix distutils PKG-INFO writing logic to allow having - non-ascii characters and Unicode in setup.py meta-data. - -- Issue #3726: Allow spaces in separators in logging configuration files. - -- Issue #3719: platform.architecture() fails if there are spaces in the - path to the Python binary. - -- Issue #3602: Moved test.test_support.catch_warning() to - warnings.catch_warnings() along with some API cleanup. Expanding the tests - for catch_warnings() also led to an improvement in the raising of a - DeprecationWarning related to warnings.warn_explicit(). - -- The deprecation warnings for the old camelCase threading API were removed. - -- logging: fixed lack of use of encoding attribute specified on a stream. - -- Silenced a trivial compiler warning in the sqlite module. - -- Fixed two format strings in the _collections module. - -- Issue #3703: _fileio.FileIO gave unhelpful error message when trying to open a - directory. - -- Issue #3708: os.urandom no longer goes into an infinite loop when passed a - non-integer floating point number. - -- Issue #3110: multiprocessing fails to compiel on solaris 10 due to missing - SEM_VALUE_MAX. - -Extension Modules ------------------ - -- Issue #4301: Patch the logging module to add processName support, remove - _check_logger_class from multiprocessing. - -- Issue #2975: When compiling several extension modules with Visual Studio 2008 - from the same python interpreter, some environment variables would grow - without limit. - -- Issue #3643: Added a few more checks to _testcapi to prevent segfaults by - exploitation of poor argument checking. - -- sqlite3: Changed docstring of iterdump() to mark method as "Non-standard". - -- Issue #3103: Reduced globals symbols used by sqlite3 module and made sure all - remaining ones have "pysqlite_" prefix. - -- Issue #3846: Release the GIL during sqlite3_prepare calls. This improves - concurrent access to the same SQLite database from multiple - threads/processes. - -Tests ------ - -- Issue #3781: Add test.test_support.check_warnings() as a convenience - wrapper for warnings.catch_warnings() that makes it easier to check - that expected warning messages are being reported. - -- Issue #3796: Some tests functions were not enabled in test_float. - -- Issue #3768: Move test_py3kwarn over to the new API for catch_warnings(). - -Build ------ - -- Issue #3833: Use a different upgrade code for Win64 installers. - -- Issue #2271: Set SecureCustomProperties so that installation will properly - use the TARGETDIR even for unprivileged users. - -- Allow passing the MSI file name to merge.py. - -- Issue #3758: Rename the 'check' target to 'patchcheck' so as to not clash - with GNU build target guidelines. - - -What's New in Python 2.6 beta 3? -================================ - -*Release date: 20-Aug-2008* - -Core and Builtins ------------------ - -- Issue #1878: Remove Py_TPFLAGS_HAVE_VERSION_TAG from - Py_TPFLAGS_DEFAULT when not building the core. This means 3rd party - extensions do not automatically benefit from the class attribute - cache; they will have to explicitly add Py_TPFLAGS_HAVE_VERSION_TAG - to their tp_flags field if they care. This is a backwards - compatibility feature; in 3.0, all types will use the cache by - default. - -- Keyword arguments can now follow starred arguments. (``f(a, *args, - keyword=23)`` is now valid syntax.) - -- ctypes function pointers that are COM methods have a boolean True - value again. - -- Issue #3139: Make buffer-interface thread-safe wrt. PyArg_ParseTuple, - by denying s# to parse objects that have a releasebuffer procedure, - and introducing s*. - -- Issue #3537: Fix an assertion failure when an empty but presized dict - object was stored in the freelist. - -- Issue #1481296: Make long(float('nan')) and int(float('nan')) raise - ValueError consistently across platforms. - -- Issue #3479: On platforms where sizeof(int) is smaller than sizeof(long) - (64bit Unix, for example), unichr() would truncate its argument and return - u'\x00' for unichr(2**32). Now it properly raises an OverflowError. - -- Apply security patches from Apple. - -- Issue #2542: Now that issubclass() may call arbitrary code, ensure that - PyErr_ExceptionMatches returns 0 when an exception occurs there. - -- Issue #1819: function calls with several named parameters are now on - average 35% faster (as measured by pybench). - -- Issue #2378: An unexpected UnboundLocalError or NameError could appear when - the python debugger steps into a class statement: the free variables (local - variables defined in an outer scope) would be deleted from the outer scope. - -- Issue #2620: Overflow checking when allocating or reallocating memory - was not always being done properly in some python types and extension - modules. PyMem_MALLOC, PyMem_REALLOC, PyMem_NEW and PyMem_RESIZE have - all been updated to perform better checks and places in the code that - would previously leak memory on the error path when such an allocation - failed have been fixed. - -Library -------- - -- Issue #3612: Added some missing basic types in ctypes.wintypes. - -- The methods ``is_in_tuple()``, ``is_vararg()``, and ``is_keywordarg()`` of - symtable.Symbol have been deprecated for removal in 3.0 and the next release. - -- Issue #2234: distutils failed for some versions of the cygwin compiler. The - version reported by these tools does not necessarily follow the python - version numbering scheme, so the module is less strict when parsing it. - -- Issue #2235: Added Py3k warnings for types which will become unhashable - under the stricter __hash__ inheritance rules in 3.0. Several types - which did not meet the rules for hash invariants and were already - unhashable in 3.0 have now been explicitly flagged as unhashable in - 2.6 as well (collections.Mapping, collections.Set, unittest.TestSuite, - xml.dom.minidom.NamedNodeMap, numbers.Number, UserList.UserList) - -- Update __all__ for cookielib, csv, os, urllib2, and weakref to include things - imported into the module but exposed as part of the module's API. - -- Remove an unneeded import of abc.ABCMeta from 'inspect'. - -- Remove unneeded imports of 'sys' and 'warnings' from 'io'. - -- Remove unneeded imports of 'warnings' from shelve, filecmp, and dummy_thread. - -- Issue #3575: Incremental decoder's decode function now takes bytearray - by using 's*' instead of 't#'. - -- Issue #2222: Fixed reference leak when occurred os.rename() - fails unicode conversion on 2nd parameter. (windows only) - -- Issue #2464: urllib2 now supports a malformation in the URL received - in a redirect. - -- Silence the DeprecationWarning raised when importing mimetools in - BaseHTTPServer, cgi (and rfc822), httplib. - -- Issue #2776: fixed small issue when handling a URL with double slash - after a 302 response in the case of not going through a proxy. - -- Issue #2676: in the email package, content-type parsing was hanging on - pathological input because of quadratic or exponential behaviour of a - regular expression. - -- Issue #3476: binary buffered reading through the new "io" library is now - thread-safe. - -- Silence the DeprecationWarning of rfc822 when it is imported by mimetools - since mimetools itself is deprecated. Because modules are cached, all - subsequent imports of rfc822 will not raise a visible DeprecationWarning. - -- Issue #3134: shutil referenced undefined WindowsError symbol. - -- Issue #1342811: Fix leak in Tkinter.Menu.delete. Commands associated to - menu entries were not deleted. - -- Copied the implementation of reduce() to _functools.reduce() to have a - version that did not raise a DeprecationWarning under -3. - -- Issue #3205: When iterating over a BZ2File fails allocating memory, raise - a MemoryError rather than silently stop the iteration. - -- Issue #3487: sre "bytecode" validator. Passing invalid "re-bytecode" - to _sre.compile() will now be rejected. This should not affect anybody - since the re.compile() function never generates invalid re-bytecode. - -- Issue #3436: Make csv.DictReader's fieldnames attribute a property so that - upon first access it can be automatically initialized from the csv file if - it wasn't initialized during instantiation. - -- Issue #2338: Create imp.reload() to help with transitioning to Python 3.0 as - the reload() built-in has been removed. - -- Changed code in the following modules/packages to remove warnings raised - while running under the ``-3`` flag: aifc, asynchat, asyncore, bdb, bsddb, - ConfigParser, cookielib, csv, difflib, distutils, DocXMLRPCServer, email, - filecmp, fileinput, inspect, logging, modulefinder, pdb, pickle, profile, - pstats, pydoc, re, rlcompleter, SimpleXMLRPCServer, shelve, socket, - subprocess, sqlite3, tarfile, Tkinter, test.test_support, textwrap, - threading, tokenize, traceback, urlparse, wsgiref, xml, xmlrpclib. - -- Issue #3039: Fix tarfile.TarFileCompat.writestr() which always - raised an AttributeError. - -- Issue #2523: Fix quadratic behaviour when read()ing a binary file without - asking for a specific length. This problem only affected files opened - using the new "io" module, not the built-in open() function. - -- Issue #3449: Update decimal module to use most recent specification - (v. 1.68) and tests (v. 2.58) from IBM. - -- Issue #3437: Bug fix in robotparser parsing of Allow: lines. - -- Issue #1592: Improve error reporting when operations are attempted - on a closed shelf. - -- Deprecate the "ast" parser function aliases. - -- Issue #3120: On 64-bit Windows the subprocess module was truncating handles. - -- Issue #3303: Fix a crash in locale.strcoll() when calling it with - invalid arguments. - -- Issue #3302: Fix several crashes when calling locale's gettext functions - with None arguments. - -- Issue #3389: Allow resolving dotted names for handlers in logging - configuration files. - -- Deprecate the sunaudio module for removal in Python 3.0. - -- Issue #3394: zipfile.writestr sets external attributes when passed a - file name rather than a ZipInfo instance, so files are extracted with - mode 0600 rather than 000 under Unix. - -- Issue #1857: subprocess.Popen.poll gained an additional _deadstate keyword - argument in python 2.5, this broke code that subclassed Popen to include its - own poll method. Fixed my moving _deadstate to an _internal_poll method. - -Build ------ - -- Generate the PatternGrammar pickle during "make install". - -Documentation -------------- - -- Issue #2235: the C API function PyObject_HashNotImplemented and its - interaction with the tp_hash slot (added in 2.6b2) are now documented - -- Issue #643841: The language reference now provides more detailed - coverage of the lookup process for special methods. The disclaimers - regarding lack of coverage of new-style classes have also been - removed, since the coverage is now fairly reasonable. - - -What's New in Python 2.6 beta 2? -================================ - -*Release date: 17-Jul-2008* - -Core and Builtins ------------------ - -- Issue #3156: Fix inconsistent behavior of the bytearray type: all - its methods now allow for items objects that can be converted to - an integer using operator.index(). - -- Issue #3360: Fix incorrect parsing of '020000000000.0', which - produced a ValueError instead of giving the correct float. - -- Issue #3083: Add alternate (#) formatting for bin, oct, hex output - for str.format(). This adds the prefix 0b, 0o, or 0x, respectively. - -- Issue #3008: the float type has a new instance method 'float.hex' - and a new class method 'float.fromhex' to convert floating-point - numbers to and from hexadecimal strings, respectively. - -- Issue #2235: __hash__ is once again inherited by default. To allow - collections.Hashable to remain meaningful in the presence of the - default hash implementation (object.__hash__), it is now possible - to explicit block inheritance of hash by setting __hash__=None at - the Python level, or tp_hash=PyObject_HashNotImplemented at the C - level. - -- Issue #3221: Issue a RuntimeWarning instead of raising SystemError if - the parent module cannot be found while performing an absolute import. - This means that an incorrectly defined __package__ attribute will - now only prevent relative imports in that module rather than causing - all imports from that module to fail. - -- Issue #2517: Allow unicode messages in Exceptions again by correctly - bypassing the instance dictionary when looking up __unicode__ on - new-style classes. - -- Issue #3242: Fix a crash inside the print statement, if sys.stdout is - set to a custom object whose write() method happens to install - another file in sys.stdout. - -- Issue #3088: Corrected a race condition in classes derived from - threading.local: the first member set by a thread could be saved in - another thread's dictionary. - -- Issue #3004: Minor change to slice.indices(): the start and stop - arguments are now treated identically, making the behaviour easier - to describe and understand. For example, slice(None, -10, - 1).indices(9) now returns (0, 0, 1) instead of (0, -1, 1), and - slice(None, 10, -1).indices(10) returns (9, 9, -1) instead of (9, - 10, -1). - -- Issue #3219: Calling a function with repeated keyword arguments, - f(a=2, a=23), would not cause a syntax error. This was a regression - from 2.4 caused by the switch to the new compiler. - -- Issue #2862: Make int and float freelist management consistent with - other freelists. Changes their CompactFreeList apis into - ClearFreeList apis and calls them via gc.collect(). - -Library -------- - -- Issue #3554: ctypes.string_at and ctypes.wstring_at did call Python - api functions without holding the GIL, which could lead to a fatal - error when they failed. - -- Issue #799428: Fix Tkinter.Misc._nametowidget to unwrap Tcl command objects. - -- Issue #3395: fix reference in test_multiprocessing to old debugInfo method - -- Issue #3312: Fix two crashes in sqlite3. - -- Issue #1608818: Fix misbehavior in os.listdir() if readdir() fails. - -- Issue #3125: Remove copy_reg in multiprocessing and replace it with - ForkingPickler.register() to resolve conflict with ctypes. - -- Issue #3090: Fixed ARCHFLAGS parsing on OS/X - -- Issue #3313: Fixed a crash when a failed dlopen() call does not set - a valid dlerror() message. - -- Issue #3258: Fixed a crash when a ctypes POINTER type to an - incomplete structure was created. - -- Issue #3339: dummy_thread.acquire() should not return None. - -- Issue #3285: Fractions from_float() and from_decimal() accept Integral arguments. - -- Issue #3301: Bisect module behaved badly when lo was negative. - -- Issue #839496: SimpleHTTPServer used to open text files in text mode. This is - both unnecessary (HTTP allows text content to be sent in several forms) and - wrong because the actual transmitted size could differ from the - content-length. The problem had been corrected in the 2.4 branch, but never - merged into trunk. - -- Issue #2663: add filtering capability to shutil.copytree(). - -- Issue #1622: Correct interpretation of various ZIP header fields. - -- Issue #1526: Allow more than 64k files to be added to Zip64 file. - -- Issue #1746: Correct handling of zipfile archive comments (previously - archives with comments over 4k were flagged as invalid). Allow writing - Zip files with archives by setting the 'comment' attribute of a ZipFile. - -- Issue #449227: The rlcompleter module now adds "(" to callable objects - when completed. - -- Issue #3190: Pydoc now hides the automatic module attribute __package__ (the - handling is now the same as that of other special attributes like __name__). - -- Issue #2885 (partial): The urllib.urlopen() function has been deprecated for - removal in Python 3.0 in favor of urllib2.urlopen(). - -- Issue #2113: Fix error in subprocess.Popen if the select system call is - interrupted by a signal. - -- Issue #3309: Fix bz2.BZFile iterator to release its internal lock - properly when raising an exception due to the bz2file being closed. - Prevents a deadlock. - -- Issue #3094: httplib.HTTPSConnection Host: headers no longer include the - redundant ":443" port number designation when the connection is using the - default https port (443). - -- Issue #874900: after an os.fork() call the threading module state is cleaned - up in the child process to prevent deadlock and report proper thread counts - if the new process uses the threading module. - -Tests ------ - -- test.test_support.catch_warning now keeps track of all warnings it sees - and is now better documented. Explicit unit tests for this context manager - have been added to test_warnings. - -Build ------ - -- Issue #3215: Build sqlite3 as sqlite3.dll, not sqlite3.pyd. - -Documentation -------------- - -- Document that robotparser has been renamed to urllib.robotparser in - Python 3.0. - -- Document that urlparse has been renamed to urllib.parse in Python 3.0. - -- Document that urllib2 is split across multiple modules and renamed in - Python 3.0. - -- Document that urllib is split across multiple modules and renamed in - Python 3.0. - - -What's New in Python 2.6 beta 1? -================================ - -*Release date: 18-June-2008* - -Core and Builtins ------------------ - -- Issue #3211: warnings.warn_explicit() did not guard against its 'registry' - argument being anything other than a dict or None. Also fixed a bug in error - handling when 'message' and 'category' were both set to None, triggering a - bus error. - -- Issue #3100: Corrected a crash on deallocation of a subclassed weakref which - holds the last (strong) reference to its referent. - -- Add future_builtins.ascii(). - -- Several set methods now accept multiple arguments: update(), union(), - intersection(), intersection_update(), difference(), and difference_update(). - -- Issue #2898: Added sys.getsizeof() to retrieve size of objects in bytes. - -- New environment variable PYTHONIOENCODING. - -- Patch #2488: Add sys.maxsize. - -- Issue #2353: file.xreadlines() now emits a Py3k warning. - -- Issue #2863: generators now have a ``gen.__name__`` attribute that - equals ``gen.gi_code.co_name``, like ``func.__name___`` that equals - ``func.func_code.co_name``. The repr() of a generator now also - contains this name. - -- Issue #2831: enumerate() now has a ``start`` argument. - -- Issue #2801: fix bug in the float.is_integer method where a - ValueError was sometimes incorrectly raised. - -- Issue #2790: sys.flags was not properly exposing its bytes_warning - attribute. - -- Issue #2196: hasattr() now lets exceptions which do not inherit - Exception (KeyboardInterrupt, and SystemExit) propagate instead of - ignoring them. - -- Added checks for integer overflows, contributed by Google. Some are - only available if asserts are left in the code, in cases where they - can't be triggered from Python code. - -Extension Modules ------------------ -- Issue #1179: [CVE-2007-4965] Integer overflow in imageop module. - -- Issue #3116: marshal.dumps() had quadratic behavior for strings > 32Mb. - -- Issue #2138: Add factorial() to the math module. - -- The heapq module does comparisons using LT instead of LE. This - makes its implementation match that used by list.sort(). - -- Issue #2819: add full-precision summation function to math module, - based on Hettinger's ASPN Python Cookbook recipe. - -- Issue #2592: delegate nb_index and the floor/truediv slots in - weakref.proxy. - -- Support os.O_ASYNC and fcntl.FASYNC if the constants exist on the - platform. - -- Support for Windows 9x has been removed from the winsound module. - -- bsddb module updated to version 4.7.3. - http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.7.3. This - code should be compatible with Python 3.0. - -- Issue #2858: Fix potential memory corruption when - bsddb.db.DBEnv.lock_get and other bsddb.db object constructors - raised an exception. - -- Issue #2669: bsddb/__init__.py iteration no longer silently fails when - the database has changed size during iteration. It now raises a - RuntimeError in the same manner as a dictionary. - -- Issue #2870: cmathmodule.c compile error. - -- Added a threading.Thread.ident property. - -Library -------- - -- logging.config: Removed out-of-date comment in _install_handlers and - used issubclass in place of equality comparison of classes. - -- Issue #2722: Now the os.getcwd() supports very long path names. - -- Issue #2888: Fixed the behaviour of pprint when working with nested - structures, to match the behaviour of 2.5 and 3.0 (now follows the common - sense). - -- Issue #1817: cgi now correctly handles the querystring on POST requests - -- Issue #3136: fileConfig()'s disabling of old loggers is now conditional via - an optional disable_existing_loggers parameter, but the default value is - such that the old behaviour is preserved. Thanks to Leandro Lucarella for - the patch. - -- Issue #3126: StreamHandler and FileHandler check before calling "flush" and - "close" that the stream object has these, using hasattr (thanks to bobf for - the patch). - -- Issue #2912: platform.uname now tries to determine unknown information even if - os.uname exists. - -- The rfc822 module has been deprecated for removal in 3.0. - -- The mimetools module has been deprecated for removal in 3.0. - -- The ctypes.byref function now takes an optional second parameter - which specifies an offset in bytes for the constructed pointer-like object. - -- Added the ast module. - -- Added the multiprocessing module, PEP 371. - -- Factored out the indentation cleaning from inspect.getdoc() into - inspect.cleandoc() to ease standalone use. - -- Issue #1798: Add ctypes calling convention that allows safe access - to errno. - -- Issue #2404: ctypes objects support the new pep3118 buffer interface. - -- Patch #2125: Add GetInteger and GetString methods for - msilib.Record objects. - -- Issue #2782: The datetime module's strftime methods now accept - unicode format strings just as time.strftime always has. - -- The sgmllib and htmllib modules have been deprecated for removal - in Python 3.0. - -- Issue #3011: locale module alias table was updated to the latest - version from the X.org locale.alias file. - -- Issue #1797 (partial fix): ctypes NULL function pointers have a - False boolean value now. - -- Issue #2985: Allow 64-bit integer responses (````) in XMLRPC - transfers. - -- Issue #2877: The UserString.MutableString class has been removed in - Python 3.0. - -- Do not close external file objects passed to tarfile.open(mode='w:bz2') - when the TarFile is closed. - -- Issue #2959: For consistency with other file-like objects, gzip's - GzipFile.close() can now be called multiple times without raising - an exception. - -- Issue #1390: Raise ValueError in toxml when an invalid comment would - otherwise be produced. - -- Issue #2914: TimedRotatingFileHandler now takes an optional keyword - argument "utc" to use UTC time rather than local time. - -- Issue #2929: TimedRotatingFileHandler was using the wrong path when - deleting old log files (filename only instead of full path). - -- Issue #1775025: You can now specify zipfile members to open(), - read() or extract() via a ZipInfo instance. This allows handling - duplicate filenames in zipfiles. - -- Issue #961805: Fix Text.edit_modified() in Tkinter. - -- Issue #1793: Function ctypes.util.find_msvcrt() added that returns - the name of the C runtime library that Python uses. - ctypes.util.find_library(name) now call this function when name is - 'm' or 'c'. - -- The statvfs module has been deprecated for removal in Python 3.0. - -- The sunaudiodev and SUNAUDIODEV modules have been deprecated for - removal in Python 3.0. - -- The WAIT module from IRIX has been deprecated for removal in Python - 3.0. - -- The torgb module from IRIX has been deprecated for removal in Python - 3.0. - -- The SV module from IRIX has been deprecated for removal in Python - 3.0. - -- The readcd module from IRIX has been deprecated for removal in - Python 3.0. - -- The panelparser module from IRIX has been deprecated for removal in - Python 3.0. - -- The panel module from IRIX has been deprecated for removal in Python - 3.0. - -- The jpeg module from IRIX has been deprecated for removal in Python - 3.0. - -- The IOCTL module from IRIX has been deprecated for removal in Python - 3.0. - -- The IN module from IRIX has been deprecated for removal in Python - 3.0. - -- The imgfile module from IRIX has been deprecated for removal in - Python 3.0. - -- The GLWS module from IRIX has been deprecated for removal in Python - 3.0. - -- The GET module from IRIX has been deprecated for removal in Python - 3.0. - -- The fm module from IRIX has been deprecated for removal in Python - 3.0. - -- The FL, flp, and fl modules from IRIX have been deprecated for - removal in Python 3.0. - -- The FILE module on IRIX has been deprecated for removal in Python - 3.0. - -- The ERRNO module on IRIX has been deprecated for removal in Python - 3.0. - -- The DEVICE, GL, gl, and cgen modules (which indirectly includes - cgensupport) have been deprecated for removal in Python 3.0. - -- The CL, CL_old, and cl modules for IRIX have been deprecated for - removal in Python 3.0. - -- The cdplayer module for IRIX has been deprecated for removal in - Python 3.0. - -- The cddb module for IRIX has been deprecated for removal in Python - 3.0. - -- The cd and CD modules for IRIX have been deprecated for removal in - Python 3.0. - -- The al and AL modules for IRIX have been deprecated for removal in - Python 3.0. - -- Issue #1713041: fix pprint's handling of maximum depth. - -- The timing module has been deprecated for removal in Python 3.0. - -- The sv module has been deprecated for removal in Python 3.0. - -- The multifile module has been deprecated as per PEP 4. - -- The imageop module has been deprecated for removal in Python 3.0. - -- Issue #2250: Exceptions raised during evaluation of names in - rlcompleter's ``Completer.complete()`` method are now caught and - ignored. - -- Issue #2659: Added ``break_on_hyphens`` option to textwrap - TextWrapper class. - -- The mhlib module has been deprecated for removal in Python 3.0. - -- The linuxaudiodev module has been deprecated for removal in Python - 3.0. - -- The ihooks module has been deprecated for removal in Python 3.0. - -- The fpformat module has been deprecated for removal in Python 3.0. - -- The dl module has been deprecated for removal in Python 3.0. - -- The Canvas module has been deprecated for removal in Python 3.0. - -- The compiler package has been deprecated for removal in Python 3.0. - -- The Bastion and rexec modules have been deprecated for removal in - Python 3.0. - -- The bsddb185 module has been deprecated for removal in Python 3.0. - -- The pure module has been deprecated for removal in Python 3.0. - -- Issue #2487: change the semantics of math.ldexp(x, n) when n is too - large to fit in a C long. ldexp(x, n) now returns a zero (with - suitable sign) if n is large and negative; previously, it raised - OverflowError. - -- The toaiff module has been deprecated for removal in Python 3.0. - -- The test.testall module has been deprecated for removal in Python - 3.0. - -- The new module has been deprecated for removal in Python 3.0. - -- The user module has been deprecated for removal in Python 3.0. - -- The stringold module has been deprecated for removal in Python 3.0. - -- The mutex module has been deprecated for removal in Python 3.0. - -- The imputil module has been deprecated for removal in Python 3.0. - -- test.test_support.catch_warning() gained a 'record' argument. - -- os.path.walk is deprecated in favor of os.walk. - -- pdb gained the "until" command. - -- The Mac Modules (including Carbon) have been deprecated for removal - in Python 3.0. - -- Library: on MacOS X you can now set ``ARCHFLAGS`` in the shell - environment to control the '-arch' flags that are used to build - an extension. This was added for compatibility with Apple's build - of Python. - -- The bundled OSX-specific copy of libbffi is now in sync with the version - shipped with PyObjC 2.0 and includes support for x86_64 and ppc64 platforms. - -- The threading module gained aliases for names that will be removed in the - 3.x series. - -Build ------ - -- The Windows installer now includes Tk 8.5, bzip2 1.0.5, and SQLite 3.5.9. - -- Patch #1722225: Support QNX 6. - -- ``Lib/lib-old`` is now added to sys.path. - -- On MacOS X it is now possible to install the framework in 64-bit - mode or even as a 4-way universal binary (that is, PPC, i386, - PPC64 and x86_64 support in one binary). - - This is controlled by the configure argument ``--with-universal-archs``: - - - ``--with-universal-archs=all``: install 4-way universal - - - ``--with-universal-archs=32-bit``: install 2-way universal, 32-bit (the default) - - - ``--with-universal-archs=64-bit``: install 2-way universal, 64-bit - - This option should be used in combination with ``--enable-universalsdk=``. - - NOTE: 64-bit and 4-way builds are only suppported on Mac OS X 10.5 (or later). - -C API ------ - -- Add ``PyType_Modified()`` as a public API to clear the type cache. - -- The PyBytes functions have been renamed to PyByteArray. - -- The PyString functions have been renamed to PyBytes. A batch of - defines were added so that the linker still sees the original - PyString names. - - -What's New in Python 2.6 alpha 3? -================================= - -*Release date: 08-May-2008* - -Core and builtins ------------------ - -- Issue #2719: backported the ``next()`` builtin from Python 3. - -- Issue #2681: The octal literal ``0o8`` was incorrecly acctepted. Now - it properly raises a SyntaxError. - -- Issue #2617: Reserved -J and -X arguments for Jython, IronPython and - other implementations of Python. - -- Implemented PEP 370: Per user site-packages directory. - -Extension Modules ------------------ - -- Issue #2670: Fix a failure in urllib2.build_opener(), when passed - two handlers that derive the same default base class. - -- Added kill, terminate and send_signal(sig) to subprocess.Popen. - -- Added phase(z) -> phi, polar(z) -> r, phi and rect(r, phi) -> z to - the cmath module. - -- Four new methods were added to the math and cmath modules: acosh, - asinh, atanh and log1p. - -- zlib.decompressobj().flush(value) no longer crashes the interpreter - when passed a value less than or equal to zero. - -- Issue #1631171: Re-implement the 'warnings' module in C (the - original Python code has been kept as backup). This will allow for - using the 'warning's machinery in such places as the parser where - use of pure Python code is not possible. Both the ``showarning()`` - and ``formatwarning()`` gain an optional 'line' argument which is - not called by default for backwards-compatibility reasons. Setting - ``warnings.showwarning()`` to an implementation that lacks support - for the ``line`` argument will raise a DeprecationWarning. - -Library -------- - -- The audiodev module has been deprecated for removal in Python 3.0. - -- Issue #2750: Add the 'json' package. Based on simplejson 1.9 and - contributed by Bob Ippolito. - -- Issue #1734346: Support Unicode file names for zipfiles. - -- Issue #2581: distutils: Vista UAC/elevation support for - bdist_wininst. - -- Issue #2635: Fix bug in 'fix_sentence_endings' textwrap.fill option, - where an extra space was added after a word containing (but not - ending in) '.', '!' or '?'. - -- Add from_buffer() and from_buffer_copy() class methods to ctypes - data types. - -- Issue #2682: ctypes callback functions no longer contain a cyclic - reference to themselves. - -- The getpass module has been improved on Unix. It now uses /dev/tty - by default and uses stderr instead of stdout. A GetPassWarning is - issued when input echo cannot be controlled. - -- Issue #2014: Allow XML-RPC datetime objects to have dates before - 1900-01-01. - -- Issue #2439: Added new function pkgutil.get_data(), which is a - convenience wrapper for the PEP 302 get_data() API. - -- Issue #2616: The ctypes.pointer() and ctypes.POINTER() functions are - now implemented in C for better performance. - -- Issue #2408: The ``_types`` module, which was used as in - implementation detail of the public ``types`` module, has been - removed and replaced by pure python code. - -- Issue #2513: distutils on Windows is now capable of cross-compiling - extension modules between 32 and 64 bit platforms. See the distutls - build documentation for more information. - -- Issue #815646: Individual file objects may now be used from multiple - threads at once without fear of crashing the Python interpreter. If - file.close() is called while an object is in use by another thread - an IOError exception will be raised and the file will not be closed. - -- The bundled libffi copy is now in sync with the recently released - libffi3.0.5 version, apart from some small changes to - Modules/_ctypes/libffi/configure.ac. - -- Issue #2385: distutils.core.run_script() makes __file__ available, - so the controlled environment will more closely mirror the typical - script environment. This supports setup.py scripts that refer to - data files. - -Tests ------ - -- Issue #2550: The approach used by client/server code for obtaining - ports to listen on in network-oriented tests has been refined in an - effort to facilitate running multiple instances of the entire - regression test suite in parallel without issue. - test_support.bind_port() has been fixed such that it will always - return a unique port -- which wasn't always the case with the - previous implementation, especially if socket options had been set - that affected address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT). The - new implementation of bind_port() will actually raise an exception - if it is passed an AF_INET/SOCK_STREAM socket with either the - SO_REUSEADDR or SO_REUSEPORT socket option set. Furthermore, if - available, bind_port() will set the SO_EXCLUSIVEADDRUSE option on - the socket it's been passed. This currently only applies to - Windows. This option prevents any other sockets from binding to the - host/port we've bound to, thus removing the possibility of the - 'non-deterministic' behaviour, as Microsoft puts it, that occurs - when a second SOCK_STREAM socket binds and accepts to a host/port - that's already been bound by another socket. The optional preferred - port parameter to bind_port() has been removed. Under no - circumstances should tests be hard coding ports! - - test_support.find_unused_port() has also been introduced, which will - pass a temporary socket object to bind_port() in order to obtain an - unused port. The temporary socket object is then closed and - deleted, and the port is returned. This method should only be used - for obtaining an unused port in order to pass to an external program - (i.e. the -accept [port] argument to openssl's s_server mode) or as - a parameter to a server-oriented class that doesn't give you direct - access to the underlying socket used. - - Finally, test_support.HOST has been introduced, which should be used - for the host argument of any relevant socket calls (i.e. bind and - connect). - - The following tests were updated to following the new conventions: - test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib, - test_poplib, test_ftplib, test_telnetlib, test_socketserver, - test_asynchat and test_socket_ssl. - - It is now possible for multiple instances of the regression test - suite to run in parallel without issue. - -Build ------ - -- Issue #1496032: On alpha, use -mieee when gcc is the compiler. - -- Issue #2544: On HP-UX systems, use 'gcc -shared' for linking when - gcc is used as compiler. - -- Issue #2573: On MacOS X it is now possible to install the framework - with a different name using --with-framework-name=NAME. - -C API ------ - -- Added implementation of copysign, acosh, asinh, atanh and log1p to - the new files Include/pymath.h and Python/pymath.h for platforms - which provide the functions through their libm. The files also - contains several helpers and constants for math. - -- Added a new convenience macro, PyErr_WarnPy3k, for issuing Py3k warnings. - - -What's New in Python 2.6 alpha 2? -================================= - -*Release date: 02-Apr-2008* - -Core and builtins ------------------ - -- Issue #1733757: The interpreter would hang on shutdown if the - tracing function set by sys.settrace is still active and happens to - call threading.currentThread(). - -- Patch #1442: properly report exceptions when the PYTHONSTARTUP file - cannot be executed. - -- The compilation of a class nested in another class used to leak one - reference on the outer class name. - -- Patch #1810: compile() can now compile _ast trees as returned by - ``compile(..., PyCF_ONLY_AST)``. - -- Patch #2426: Added sqlite3.Connection.iterdump method to allow easy - dumping of databases. Contributed by Paul Kippes at PyCon 2008. - -- Patch #2477: Added from __future__ import unicode_literals. - -- Added backport of bytearray type. - -- Issue #2355: add Py3k warning for buffer(). - -- Issue #1477: With narrow Unicode builds, the unicode escape sequence - \Uxxxxxxxx did not accept values outside the Basic Multilingual - Plane. This affected raw unicode literals and the - 'raw-unicode-escape' codec. Now UTF-16 surrogates are generated in - this case, like normal unicode literals and the 'unicode-escape' - codec. - -- Issue #2348: add Py3k warning for file.softspace. - -- Issue #2346/#2347: add Py3k warnings for __methods__ and - __members__. - -- Issue #2358: Add a Py3k warning on sys.exc_clear() usage. - -- Issue #2400: Allow relative imports to "import *". - -- Issue #1745: Backport print function with ``from __future__ import - print_function``. - -- Issue #2332: add new attribute names for instance method objects. - The two changes are: im_self -> __self__ and im_func -> __func__ - -- Issue #2379: Raise a Py3K warning for __getitem__ or __getslice__ on - exception instances. - -- Issue #2371: Add a Py3k warning when catching an exception that - doesn't derive from BaseException. - -- Issue #2341: Add a Py3k warning when raising an exception that - doesn't derive from BaseException. - -- Issue #2321: use pymalloc for unicode object string data to reduce - memory usage in some circumstances. - -- PEP 3127: octal literals now start with "0o". Old-style octal - literals are still valid. There are binary literals with a prefix of - "0b". This also affects int(x, 0). - -- Issue #2359: Adding deprecation warnings for array.{read,write}. - -- Issue #1779871: GNU gcc can now build Python on OS X because the - flags -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd are no - longer passed. - -- Add a warning when asserting a non-empty tuple which is always true. - -- Issue #2179: speed up with statement execution by storing the exit - method on the stack instead of in a temporary variable (patch by - Jeffrey Yaskin) - -- Issue #2238: Some syntax errors in *args and **kwargs expressions - could give bogus error messages. - -- Issue #2143: Fix embedded readline() hang on SSL socket EOF. - -Extension Modules ------------------ - -- Patch #2240: Implement signal.setitimer and signal.getitimer. - -Library -------- - -- Issue #2315: logging.handlers: TimedRotatingFileHandler now accounts - for daylight savings time in calculating the next rollover. - -- Issue #2316: logging.handlers: TimedRotatingFileHandler now - calculates rollovers correctly even when nothing is logged for a - while. - -- Issue #2317: logging.handlers: TimedRotatingFileHandler now uses - improved logic for removing old files. - -- Issue #2495: tokenize.untokenize now inserts a space between two - consecutive string literals; previously, ["" ""] was rendered as - [""""], which is incorrect python code. - -- Issue #2248: return the result of the QUIT command. from - SMTP.quit(). - -- Backport of Python 3.0's io module. - -- Issue #2482: Make sure that the coefficient of a Decimal is always - stored as a str instance, not as a unicode instance. This ensures - that str(Decimal) is always an instance of str. - -- Issue #2478: fix failure of decimal.Decimal(0).sqrt() - -- Issue #2432: give DictReader the dialect and line_num attributes - advertised in the docs. - -- Issue #2460: Make Ellipsis object copyable. - -- Issue #1681432: Add triangular distribution to the random module - -- Issue #2136: urllib2's auth handler now allows single-quoted realms - in the WWW-Authenticate header. - -- Issue #2434: Enhanced platform.win32_ver() to also work on Python - installation which do not have the win32all package installed. - -- Added support to platform.uname() to also report the machine and - processor information on Windows XP and later. As a result, - platform.machine() and platform.processor() will report this - information as well. - -- The library implementing the 2to3 conversion, lib2to3, was added to - the standard distribution. - -- Issue #1747858: Fix chown to work with large uid's and gid's on - 64-bit platforms. - -- Issue #1202: zlib.crc32 and zlib.adler32 no longer return different - values on 32-bit vs. 64-bit python interpreters. Both were correct, - but they now both return a signed integer object for consistency. - -- Issue #1158: add %f format (fractions of a second represented as - microseconds) to datetime objects. Understood by both strptime and - strftime. - -- Issue #705836: struct.pack(">f", x) now raises OverflowError on all - platforms when x is too large to fit into an IEEE 754 float; - previously it only raised OverflowError on non IEEE 754 platforms. - -- Issues #2166, #1741 and #1531505: now distutils deals with HOME - correctly under win32 - -- Patch #1858: distutils: added multiple server support in .pypirc - -- Issue #1106316: pdb.post_mortem()'s parameter, "traceback", is now - optional: it defaults to the traceback of the exception that is - currently being handled (is mandatory to be in the middle of an - exception, otherwise it raises ValueError). - -- Issue #1193577: A .shutdown() method has been added to SocketServers - which terminates the .serve_forever() loop. - -- Issue #2220: handle rlcompleter attribute match failure more - gracefully. - -- Issue #2225: py_compile, when executed as a script, now returns a - non- zero status code if not all files could be compiled - successfully. - -- Bug #1725737: In distutils' sdist, exclude RCS, CVS etc. also in the - root directory, and also exclude .hg, .git, .bzr, and _darcs. - -- Issue #1872: The struct module typecode for _Bool has been changed - from 't' to '?'. - -- The bundled libffi copy is now in sync with the recently released - libffi3.0.4 version, apart from some small changes to - Modules/_ctypes/libffi/configure.ac. On OS X, preconfigured libffi - files are used. On all linux systems the --with-system-ffi - configure option defaults to "yes". - -- Issue #1577: shutil.move() now calls os.rename() if the destination - is a directory instead of copying-then-remove-source. - -Tests ------ - -- test_nis no longer fails when test.test_support.verbose is true and - NIS is not set up on the testing machine. - -- Output comparison tests are no longer supported. - -- Rewrite test_errno to use unittest and no longer be a no-op. - -- GHOP 234: Convert test_extcall to doctest. - -- GHOP 290: Convert test_dbm and test_dummy_threading to unittest. - -- GHOP 293: Convert test_strftime, test_getargs, and test_pep247 to - unittest. - -- Issue #2055: Convert test_fcntl to unittest. - -- Issue #1960: Convert test_gdbm to unittest. - -- GHOP 294: Convert test_contains, test_crypt, and test_select to - unittest. - -- GHOP 238: Convert test_tokenize to use doctest. - -- GHOP 237: Rewrite test_thread using unittest. - -- Patch #2232: os.tmpfile might fail on Windows if the user has no - permission to create files in the root directory. - -Build ------ - -- A new script 2to3 is now installed, to run the 2.x to 3.x converter. - -- Python/memmove.c and Python/strerror.c have been removed; both - functions are in the C89 standard library. - -- Patch #2284: Add -x64 option to rt.bat. - -C API ------ - -- Patch #2477: Added PyParser_ParseFileFlagsEx() and - PyParser_ParseStringFlagsFilenameEx(). - - -What's New in Python 2.6 alpha 1? -================================= - -*Release date: 29-Feb-2008* - -Core and builtins ------------------ - -- Issue #2051: pyc and pyo files are no longer created with permission - 644. The mode is now inherited from the py file. - -- Issue #2067: file.__exit__() now calls subclasses' close() method. - -- Patch #1759: Backport of PEP 3129 class decorators. - -- Issue #1881: An internal parser limit has been increased. Also see - issue #215555 for a discussion. - -- Added the future_builtins module, which contains hex() and oct(). - These are the PEP 3127 version of these functions, designed to be - compatible with the hex() and oct() builtins from Python 3.0. They - differ slightly in their output formats from the existing, unchanged - Python 2.6 builtins. The expected usage of the future_builtins - module is: - from future_builtins import hex, oct - -- Issue #1600: Modified PyOS_ascii_formatd to use at most 2 digit - exponents for exponents with absolute value < 100. Follows C99 - standard. This is a change on Windows, which would use 3 digits. - Also, added 'n' to the formats that PyOS_ascii_formatd understands, - so that any alterations it does to the resulting string will be - available in stringlib/formatter.h (for float.__format__). - -- Implemented PEP 3101, Advanced String Formatting. This adds a new - builtin format(); a format() method for str and unicode; a - __format__() method to object, str, unicode, int, long, float, and - datetime; the class string.Formatter; and the C API - PyObject_Format(). - -- Fixed several potential crashes, all caused by specially crafted - __del__ methods exploiting objects in temporarily inconsistent - state. - -- Issue #2115: Important speedup in setting __slot__ attributes. Also - prevent a possible crash: an Abstract Base Class would try to access - a slot on a registered virtual subclass. - -- Fixed repr() and str() of complex numbers with infinity or nan as - real or imaginary part. - -- Clear all free lists during a gc.collect() of the highest generation - in order to allow pymalloc to free more arenas. Python may give back - memory to the OS earlier. - -- Issue #2045: Fix an infinite recursion triggered when printing a - subclass of collections.defaultdict, if its default_factory is set - to a bound method. - -- Fixed a minor memory leak in dictobject.c. The content of the free - list was not freed on interpreter shutdown. - -- Limit free list of method and built-in function objects to 256 - entries each. - -- Patch #1953: Added ``sys._compact_freelists()`` and the C API - functions ``PyInt_CompactFreeList`` and ``PyFloat_CompactFreeList`` - to compact the internal free lists of pre-allocted ints and floats. - -- Issue #1983: Fixed return type of fork(), fork1() and forkpty() - calls. Python expected the return type int but the fork familie - returns pi_t. - -- Issue #1678380: Fix a bug that identifies 0j and -0j when they - appear in the same code unit. - -- Issue #2025: Add tuple.count() and tuple.index() methods to comply - with the collections.Sequence API. - -- Patch #1970 by Antoine Pitrou: Speedup unicode whitespace and - linebreak detection - -- Added ``PyType_ClearCache()`` and ``sys._clear_type_cache`` to clear - the internal lookup cache for ref leak tests. - -- Patch #1473257: generator objects gain a gi_code attribute. This is - the same object as the func_code attribute of the function that - produced the generator. - -- Issue #1920: "while 0" statements were completely removed by the - compiler, even in the presence of an "else" clause, which is - supposed to be run when the condition is false. Now the compiler - correctly emits bytecode for the "else" suite. - -- A few crashers fixed: weakref_in_del.py (issue #1377858); - loosing_dict_ref.py (issue #1303614, test67.py); - borrowed_ref_[34].py (not in tracker). - -- Issue #1069410: The "can't load dll" message box on Windows is - suppressed while an extension is loaded by calling SetErrorMode in - dynload_win.c. The error is still reported properly. - -- Issue #1915: Python compiles with --enable-unicode=no again. However - several extension methods and modules do not work without unicode - support. - -- Issue #1882: when compiling code from a string, encoding cookies in the - second line of code were not always recognized correctly. - -- Issue #1679: "0x" was taken as a valid integer literal. - -- Issue #1865: ``bytes`` as an alias for ``str`` and b"" as an alias "" were - added. - -- sys.float_info / PyFloat_GetInfo: The floating point information - object was converted from a dict to a specialized structseq object. - -- Patch #1816: Added sys.flags structseq. It exposes the status of - most command line arguments and PYTHON* environment variables. - -- Objects/structseq.c: Implemented new structseq representation. The - patch makes structseqs (e.g. the return value of os.stat) more - readable. - -- Patch #1700288: added a type attribute cache that caches method - accesses, resulting in speedups in heavily object-oriented code. - -- Bug #1776: __import__() no longer accepts filenames on any platform. - The first parameter to __import__() must be a valid module name. - -- Patch #1668: renamed THREADDEBUG envvar to PYTHONTHREADDEBUG. - -- Patch #602345: Add -B command line option, PYTHONDONTWRITEBYTECODE - envvar and sys.dont_write_bytecode attribute. All these can be set - to forbid Python to attempt to write compiled bytecode files. - -- Improve some exception messages when Windows fails to load an - extension module. Now we get for example '%1 is not a valid Win32 - application' instead of 'error code 193'. - -- Bug #1481296: Fixed long(float('nan')) != 0L. - -- Issue #1640: Added math.isinf(x), math.isnan(x) and math.copysign(x, - y) functions. - -- Issue #1635: Platform independent creation and representation of NaN - and INF. float("nan"), float("inf") and float("-inf") now work on - every platform with IEEE 754 semantics. - -- Compiler now generates simpler and faster code for dictionary - literals. The oparg for BUILD_MAP now indicates an estimated - dictionary size. There is a new opcode, STORE_MAP, for adding - entries to the dictionary. - -- Issue #1638: %zd configure test fails on Linux. - -- Issue #1620: New property decorator syntax was modifying the - decorator in place instead of creating a new decorator object. - -- Issue #1538: Avoid copying string in split/rsplit if the split char - is not found. - -- Issue #1553: An erroneous __length_hint__ can make list() raise a - SystemError. - -- PEP 366: Allow explicit relative imports when executing modules - inside packages with the -m switch via a new module level - __package__ attribute. - -- Issue #1402: Fix a crash on exit, when another thread is still - running, and if the deallocation of its frames somehow calls the - PyGILState_Ensure() / PyGILState_Release() functions. - -- Expose the Py_Py3kWarningFlag as sys.py3kwarning. - -- Issue #1445: Fix a SystemError when accessing the ``cell_contents`` - attribute of an empty cell object. - -- Issue #1460: The utf-7 incremental decoder did not accept truncated - input. It now correctly saves its state between chunks of data. - -- Patch #1739468: Directories and zipfiles containing a __main__.py - file can now be directly executed by passing their name to the - interpreter. The directory/zipfile is automatically inserted as the - first entry in sys.path. - -- Issue #1265: Fix a problem with sys.settrace, if the tracing - function uses a generator expression when at the same time the - executed code is closing a paused generator. - -- sets and frozensets now have an isdisjoint() method. - -- optimize the performance of builtin.sum(). - -- Fix warnings found by the new version of the Coverity checker. - -- The enumerate() built-in function is no longer bounded to sequences - smaller than LONG_MAX. Formerly, it raised an OverflowError. Now, - automatically shifts from ints to longs. - -- Issue #1686386: Tuple's tp_repr did not take into account the - possibility of having a self-referential tuple, which is possible - from C code. Nor did object's tp_str consider that a type's tp_str - could do something that could lead to an inifinite recursion. - Py_ReprEnter() and Py_EnterRecursiveCall(), respectively, fixed the - issues. - -- Issue #1164: It was possible to trigger deadlock when using the - 'print' statement to write to a file since the GIL was not released - as needed. Now PyObject_Print() does the right thing along with - various tp_print implementations of the built-in types and those in - the collections module. - -- Issue #1147: Exceptions were directly allowing string exceptions in - their throw() method even though string exceptions no longer - allowed. - -- Issue #1096: Prevent a segfault from getting the repr of a very - deeply nested list by using the recursion counter. - -- Issue #1202533: Fix infinite recursion calls triggered by calls to - PyObject_Call() never calling back out to Python code to trigger - recursion depth updates/checks. Required the creation of a static - RuntimeError instance in case normalizing an exception put the - recursion check value past its limit. Fixes crashers - infinite_rec_(1|2|4|5).py. - -- Patch #1031213: Decode source line in SyntaxErrors back to its - original source encoding. - -- Patch #1673759: add a missing overflow check when formatting floats - with %G. - -- Prevent expandtabs() on string and unicode objects from causing a - segfault when a large width is passed on 32-bit platforms. - -- Issue #1733488: Fix compilation of bufferobject.c on AIX. - -- Issue #1722485: remove docstrings again when running with -OO. - -- Add new attribute names for function objects. All the func_* become - __*__ attributes. (Some already existed, e.g., __doc__ and - __name__.) - -- Add -3 option to the interpreter to warn about features that are - deprecated and will be changed/removed in Python 3.0. - -- Patch #1686487: you can now pass any mapping after '**' in function - calls. - -- except clauses may now be spelled either "except E, target:" or - "except E as target:". This is to provide forwards compatibility - with Python 3.0. - -- Deprecate BaseException.message as per PEP 352. - -- Issue #1303614: don't expose object's __dict__ when the dict is - inherited from a built-in base. - -- When __slots__ are set to a unicode string, make it work the same as - setting a plain string, ie don't expand to single letter identifiers. - -- Request #1191699: Slices can now be pickled. - -- Request #1193128: str.translate() now allows a None argument for - translations that only remove characters without re-mapping the - remaining characters. - -- Patch #1682205: a TypeError while unpacking an iterable is no longer - masked by a generic one with the message "unpack non-sequence". - -- Remove unused file Python/fmod.c. - -- Bug #1683368: The object.__init__() and object.__new__() methods are - now stricter in rejecting excess arguments. The only time when - either allows excess arguments is when it is not overridden and the - other one is. For backwards compatibility, when both are - overridden, it is a deprecation warning (for now; maybe a Py3k - warning later). Also, type.__init__() insists on the same signature - as supported by type.__new__(). - -- Patch #1675423: PyComplex_AsCComplex() now tries to convert an - object to complex using its __complex__() method before falling back - to the __float__() method. Therefore, the functions in the cmath - module now can operate on objects that define a __complex__() - method. - -- Patch #1623563: allow __class__ assignment for classes with - __slots__. The old and the new class are still required to have the - same slot names. - -- Patch #1642547: Fix an error/crash when encountering syntax errors - in complex if statements. - -- Patch #1462488: Python no longer segfaults when - ``object.__reduce_ex__()`` is called with an object that is faking - its type. - -- Patch #1680015: Don't modify __slots__ tuple if it contains a - unicode name. - -- Patch #1444529: the builtin compile() now accepts keyword arguments. - -- Bug #1678647: write a newline after printing an exception in any - case, even when converting the value to a string failed. - -- The dir() function has been extended to call the __dir__() method on - its argument, if it exists. If not, it will work like before. This - allows customizing the output of dir() in the presence of a - __getattr__(). - -- Patch #922167: Python no longer segfaults when faced with infinitely - self-recursive reload() calls (as reported by bug #742342). - -- Patch #1675981: remove unreachable code from ``type.__new__()`` - method. - -- Patch #1491866: change the complex() constructor to allow - parthensized forms. This means complex(repr(x)) now works instead of - raising a ValueError. - -- Patch #703779: unset __file__ in __main__ after running a file. This - makes the filenames the warning module prints much more sensible - when a PYTHONSTARTUP file is used. - -- Variant of patch #697613: don't exit the interpreter on a SystemExit - exception if the -i command line option or PYTHONINSPECT environment - variable is given, but break into the interactive interpreter just - like on other exceptions or normal program exit. - -- Patch #1638879: don't accept strings with embedded NUL bytes in - long(). - -- Bug #1674503: close the file opened by execfile() in an error - condition. - -- Patch #1674228: when assigning a slice (old-style), check for the - sq_ass_slice instead of the sq_slice slot. - -- When printing an unraisable error, don't print exceptions. before - the name. This duplicates the behavior whening normally printing - exceptions. - -- Bug #1653736: Properly discard third argument to - slot_nb_inplace_power. - -- PEP 352: Raising a string exception now triggers a TypeError. - Attempting to catch a string exception raises DeprecationWarning. - -- Bug #1377858: Fix the segfaulting of the interpreter when an object - created a weakref on itself during a __del__ call for new-style - classes (classic classes still have the bug). - -- Bug #1579370: Make PyTraceBack_Here use the current thread, not the - frame's thread state. - -- patch #1630975: Fix crash when replacing sys.stdout in - sitecustomize.py. - -- Prevent seg fault on shutdown which could occur if an object raised - a warning. - -- Bug #1566280: Explicitly invoke threading._shutdown from Py_Main, to - avoid relying on atexit. - -- Bug #1590891: random.randrange don't return correct value for big - number. - -- Patch #1586791: Better exception messages for some operations on - strings, tuples and lists. - -- Bug #1067760: Deprecate passing floats to file.seek. - -- Bug #1591996: Correctly forward exception in instance_contains(). - -- Bug #1588287: fix invalid assertion for `1,2` in debug builds. - -- Bug #1576657: when setting a KeyError for a tuple key, make sure - that the tuple isn't used as the "exception arguments tuple". - -- Bug #1565514: SystemError not raised on too many nested blocks. - -- Bug #1576174: WindowsError now displays the windows error code - again, no longer the posix error code. - -- Patch #1549049: Support long values in structmember, issue warnings - if the assigned value for structmember fields gets truncated. - -- Update the peephole optimizer to remove more dead code (jumps after - returns) and inline unconditional jumps to returns. - -- Bug #1545497: when given an explicit base, int() did ignore NULs - embedded in the string to convert. - -- Bug #1569998: break inside a try statement (outside a loop) is now - recognized and rejected. - -- list.pop(x) accepts any object x following the __index__ protocol. - -- A number of places, including integer negation and absolute value, - were fixed to not rely on undefined behaviour of the C compiler - anymore. - -- Bug #1566800: make sure that EnvironmentError can be called with any - number of arguments, as was the case in Python 2.4. - -- Patch #1567691: super() and new.instancemethod() now don't accept - keyword arguments any more (previously they accepted them, but - didn't use them). - -- Fix a bug in the parser's future statement handling that led to - "with" not being recognized as a keyword after, e.g., this - statement: from __future__ import division, with_statement - -- Bug #1557232: fix seg fault with def f((((x)))) and def f(((x),)). - -- Fix %zd string formatting on Mac OS X so it prints negative numbers. - -- Allow exception instances to be directly sliced again. - -- Bug #1551432: Exceptions do not define an explicit __unicode__ - method. This allows calling unicode() on exceptions classes - directly to succeed. - -- Bug #1542051: Exceptions now correctly call PyObject_GC_UnTrack. - Also make sure that every exception class has __module__ set to - 'exceptions'. - -- Bug #1550983: emit better error messages for erroneous relative - imports (if not in package and if beyond toplevel package). - -- Overflow checking code in integer division ran afoul of new gcc - optimizations. Changed to be more standard-conforming. - -- Patch #1542451: disallow continue anywhere under a finally. - -- Patch #1546288: fix seg fault in dict_equal due to ref counting bug. - -- The return tuple from str.rpartition(sep) is (tail, sep, head) where - head is the original string if sep was not found. - -- Bug #1520864: unpacking singleton tuples in list comprehensions and - generator expressions (x for x, in ... ) works again. Fixing this - problem required changing the .pyc magic number. This means that - .pyc files generated before 2.5c2 will be regenerated. - -- ``with`` and ``as`` are now keywords. - -- Bug #1664966: Fix crash in exec if Unicode filename can't be - decoded. - -- Issue #1537: Changed GeneratorExit's base class from Exception to - BaseException. - -- Issue #1703448: A joined thread could show up in the - threading.enumerate() list after the join() for a brief period until - it actually exited. - -Library -------- - -- Patch #2274: Add heapq.heappushpop(). - -- Add inspect.isabstract(object) to fix bug #2223 - -- Add a __format__ method to Decimal, to support PEP 3101. - -- Add a timing parameter when using trace.Trace to print out - timestamps. - -- Issue #1627: httplib now ignores negative Content-Length headers. - -- Issue #900744: If an invalid chunked-encoding header is sent by a - server, httplib will now raise IncompleteRead and close the - connection instead of raising ValueError. - -- Issue #1492: The content type of BaseHTTPServer error messages can - now be overridden. - -- Issue #1781: ConfigParser now does not let you add the "default" section - (ignore-case) - -- Removed uses of dict.has_key() from distutils, and uses of - callable() from copy_reg.py, so the interpreter now starts up - without warnings when '-3' is given. More work like this needs to - be done in the rest of the stdlib. - -- Issue #1916: added isgenerator() and isgeneratorfunction() to - inspect.py. - -- Issue #1224: Fixed bad url parsing when path begins with double - slash. - -- ctypes instances that are not or do not contain pointers can now be - pickled. - -- Patch #1966: Break infinite loop in httplib when the servers - implements the chunked encoding incorrectly. - -- Rename rational.py to fractions.py and the rational.Rational class - to fractions.Fraction, to avoid the name clash with the abstract - base class numbers.Rational. See discussion in issue #1682. - -- The pickletools module now provides an optimize() function that - eliminates unused PUT opcodes from a pickle string. - -- Patch #2021: Allow tempfile.NamedTemporaryFile and - SpooledTemporaryFile to be used in with statements by correctly - supporting the context management protocol. - -- Patch #1979: Add rich comparisons to Decimal, and make Decimal - comparisons involving a NaN follow the IEEE 754 standard. - -- Issue #2004: tarfile.py: Use mode 0700 for temporary directories and - default permissions for missing directories. - -- Issue #175006: The debugger used to skip the condition of a "while" - statement after the first iteration. Now it correctly steps on the - expression, and breakpoints on the "while" statement are honored on - each loop. - -- Issue #1765140: add an optional delay argument to FileHandler and - its subclasses. Defaults to false (existing behaviour), but if true, - defers opening the file until the first call to emit(). - -- The pprint module now supports sets and frozensets. - -- Issue #1221598: add optional callbacks to ftplib.FTP's storbinary() - and storlines() methods. (Contributed by Phil Schwartz) - -- Issue #1715: include sub-extension modules in pydoc's text output. - -- Issue #1836: fix an off-by-one bug in TimedRotatingHandler's - rollover time calculation. - -- Issue #1021: fix a bug to allow basicConfig to accept NOTSET as a - level. - -- Issue #932563: add LoggerAdapter convenience class to make it easier - to add contextual information in logging output. - -- Issue #1760556: fix a bug to avoid FileHandler throwing an exception - in flush(). - -- Bug #1530959: distutils' build command now uses different build - directory when building extension modules against versions of Python - compiled with ``--with-pydebug``. - -- Issue #1555501: move plistlib from plat-mac directory to general - library. - -- Issue #1269: fix a bug in pstats.add_callers() and add a unit test - file for pstats. - -- Issue #1669: don't allow shutil.rmtree() to be called on a symlink - to a directory. - -- Issue #1664522: in urllib, don't read non-existing directories in - ftp mode, returning a 0-byte file -- raise an IOError instead. - -- Issue #856047: respect the ``no_proxy`` environment variable when - using the ``http_proxy`` etc. environment variables in urllib. - -- Issue #1178141: add a getcode() method to the addinfourls that - urllib.open() returns so that you can retrieve the HTTP status code. - -- Issue #1003: Fix zipfile decryption check, it would fail zip files - with extended local headers. - -- Issue #1189216: Fix the zipfile module to work on archives with - headers past the 2**31 byte boundary. - -- Issue #1336: fix a race condition in subprocess.Popen if the garbage - collector kicked in at the wrong time that would cause the process - to hang when the child wrote to stderr. - -- Issue #1146: fix how textwrap breaks a long word that would start in - the last column of a line. - -- Issue #1693149: trace.py --ignore-module - accept multiple - comma-separated modules to be given. - -- Issue #1822: MIMEMultipart.is_multipart() behaves correctly for a - just-created (and empty) instance. Thanks Jonathan Share. - -- Issue #1861: Added an attribute to the sched module which returns an - ordered list of upcoming events (displayed as named tuples). - -- Issue #1837: The queue module now also supports a LIFO queue and a - priority queue. - -- Patch #1048820: Add insert-mode editing to curses.textpad.Textbox - (patch by Stefan Wehr). Also, fix an off-by-one bug in - Textbox.gather(). - -- Issue #1831: ctypes now raises a TypeError if conflicting positional - and named arguments are passed to a Structure or Union initializer. - When too many positional arguments are passed, also a TypeError is - raised instead of a ValueError. - -- Convert the internal ctypes array type cache to a WeakValueDict so - that array types do not live longer than needed. - -- Issue #1786: pdb should use its own stdin/stdout around an exec call - and when creating a recursive instance. - -- Issue #1698398: ZipFile.printdir() crashed because the format string - expected a tuple type of length six instead of time.struct_time - object. - -- Issue #1780: The Decimal constructor now accepts arbitrary leading - and trailing whitespace when constructing from a string. - Context.create_decimal no longer accepts trailing newlines. - -- Decimal.as_tuple(), difflib.find_longest_match() and inspect - functions that returned a tuple now return a named tuple. - -- Doctest now returns results as a named tuple for readability: - (0, 7) --> TestResults(failed=0, attempted=7) - -- Issue #846388: re.match is interruptible now, which is particularly - good for long regular expression matches. - -- Patch #1137: allow setting buffer_size attribute on pyexpat Parser - objects to set the character data buffer size. - -- Issue #1757: The hash of a Decimal instance is no longer affected by - the current context. - -- Patch #467924: add ZipFile.extract() and ZipFile.extractall() in the - zipfile module. - -- Issue #1646: Make socket support the TIPC protocol. - -- Bug #1742: return os.curdir from os.path.relpath() if both arguments - are equal instead of raising an exception. - -- Patch #1637: fix urlparse for URLs like 'http://x.com?arg=/foo'. - -- Patch #1698: allow '@' in username parsed by urlparse.py. - -- Issue #1735: TarFile.extractall() now correctly sets directory - permissions and times. - -- Bug #1713: posixpath.ismount() claims symlink to a mountpoint is a mountpoint. - -- Bug #1687: Fxed plistlib.py restricts to Python int when - writing - -- Issue #1700: Regular expression inline flags incorrectly handle - certain unicode characters. - -- Issue #1689: PEP 3141, numeric abstract base classes. - -- Tk issue #1851526: Return results from Python callbacks to Tcl as - Tcl objects. - -- Issue #1642: Fix segfault in ctypes when trying to delete attributes. - -- Issue #1727780: Support loading pickles of random.Random objects - created on 32-bit systems on 64-bit systems, and vice versa. As a - consequence of the change, Random pickles created by Python 2.6 - cannot be loaded in Python 2.5. - -- Issue #1455: The distutils package now supports VS 2005 and VS 2008 - for both the msvccompiler and cygwincompiler. - -- Issue #1531: tarfile.py: Read fileobj from the current offset, do - not seek to the start. - -- Issue #1534: Added a dictionary sys.float_info with information - about the internal floating point type to the sys module. - -- Issue #1429818: patch for trace and doctest modules so they play - nicely together. - -- doctest made a bad assumption that a package's __loader__.get_data() - method used universal newlines. - -- Issue #1705170: contextlib.contextmanager was still swallowing - StopIteration in some cases. This should no longer happen. - -- Issue #1292: On alpha, arm, ppc, and s390 linux systems the - --with-system-ffi configure option defaults to "yes". - -- IN module for FreeBSD 8 is added and preexisting FreeBSD 6 and 7 - files are updated. - -- Issues #1181, #1287: unsetenv() is now called when the - os.environ.pop() and os.environ.clear() methods are used. - -- ctypes will now work correctly on 32-bit systems when Python is - configured with --with-system-ffi. - -- Patch #1203: ctypes now does work on OS X when Python is built with - --disable-toolbox-glue. - -- collections.deque() now supports a "maxlen" argument. - -- itertools.count() is no longer bounded to LONG_MAX. Formerly, it - raised an OverflowError. Now, automatically shifts from ints to - longs. - -- Added itertools.product() which forms the Cartesian product of the - input iterables. - -- Added itertools.combinations() and itertools.permutations(). - -- Patch #1541463: optimize performance of cgi.FieldStorage operations. - -- Decimal is fully updated to the latest Decimal Specification - (v1.66). - -- Bug #1153: repr.repr() now doesn't require set and dictionary items - to be orderable to properly represent them. - -- A 'c_longdouble' type was added to the ctypes module. - -- Bug #1709599: Run test_1565150 only if the file system is NTFS. - -- When encountering a password-protected robots.txt file the - RobotFileParser no longer prompts interactively for a username and - password (bug 813986). - -- TarFile.__init__() no longer fails if no name argument is passed and - the fileobj argument has no usable name attribute (e.g. StringIO). - -- The functools module now provides 'reduce', for forward - compatibility with Python 3000. - -- Server-side SSL support and cert verification added, by Bill - Janssen. - -- socket.ssl deprecated; use new ssl module instead. - -- uuid creation is now threadsafe. - -- EUC-KR codec now handles the cheot-ga-keut composed make-up hangul - syllables. - -- GB18030 codec now can encode additional two-byte characters that are - missing in GBK. - -- Add new codecs for UTF-32, UTF-32-LE and UTF-32-BE. - -- Bug #1704793: Return UTF-16 pair if unicodedata.lookup cannot - represent the result in a single character. - -- Bug #978833: Close https sockets by releasing the _ssl object. - -- Change location of the package index to pypi.python.org/pypi - -- Bug #1701409: Fix a segfault in printing ctypes.c_char_p and - ctypes.c_wchar_p when they point to an invalid location. As a - sideeffect the representation of these instances has changed. - -- tarfile.py: Added "exclude" keyword argument to TarFile.add(). - -- Bug #1734723: Fix repr.Repr() so it doesn't ignore the maxtuple - attribute. - -- The urlopen function of urllib2 now has an optional timeout - parameter (note that it actually works with HTTP, HTTPS, FTP and - FTPS connections). - -- In ftplib, the FTP.ntransfercmd method, when in passive mode, now - uses the socket.create_connection function, using the timeout - specified at connection time. - -- Bug #1728403: Fix a bug that CJKCodecs StreamReader hangs when it - reads a file that ends with incomplete sequence and sizehint - argument for .read() is specified. - -- Bug #1730389: Change time.strptime() to use ``\s+`` instead of - ``\s*`` when matching spaces in the specified format argument. - -- Bugs #1668596/#1720897: distutils now copies data files even if - package_dir is empty. - -- sha now raises a DeprecationWarning upon import. - -- md5 now raises a DeprecationWarning upon import. - -- Issue #1385: The hmac module now computes the correct hmac when - using hashes with a block size other than 64 bytes (such as sha384 - and sha512). - -- mimify now raises a DeprecationWarning upon import. - -- MimeWriter now raises a DeprecationWarning upon import. - -- tarfile.py: Improved unicode support. Unicode input names are now - officially supported. Added "errors" argument to the TarFile class. - -- urllib.ftpwrapper class now accepts an optional timeout. - -- shlex.split() now has an optional "posix" parameter. - -- The posixfile module now raises a DeprecationWarning. - -- Remove the gopherlib module. This also leads to the removal of - gopher support in urllib/urllib2. - -- Fix bug in marshal where bad data would cause a segfault due to lack - of an infinite recursion check. - -- Removed plat-freebsd2 and plat-freebsd3 directories (and IN.py in - the directories). - -- HTML-escape the plain traceback in cgitb's HTML output, to prevent - the traceback inadvertently or maliciously closing the comment and - injecting HTML into the error page. - -- The popen2 module and os.popen* are deprecated. Use the subprocess - module. - -- Added an optional credentials argument to SMTPHandler, for use with - SMTP servers which require authentication. - -- Patch #1695948: Added optional timeout parameter to SocketHandler. - -- Bug #1652788: Minor fix for currentframe. - -- Patch #1598415: Added WatchedFileHandler to better support external - log file rotation using e.g. newsyslog or logrotate. This handler is - only useful in Unix/Linux environments. - -- Bug #1706381: Specifying the SWIG option "-c++" in the setup.py file - (as opposed to the command line) will now write file names ending in - ".cpp" too. - -- As specified in RFC 2616, an HTTP response like 2xx indicates that - the client's request was successfully received, understood, and - accepted. Now in these cases no error is raised in urllib (issue - #1177) and urllib2. - -- Bug #1290505: time.strptime's internal cache of locale information - is now properly recreated when the locale is changed. - -- Patch #1685563: remove (don't add) duplicate paths in - distutils.MSVCCompiler. - -- Added a timeout parameter to the constructor of other protocols - (telnetlib, ftplib, smtplib and poplib). This is second part of the - work started with create_connection() and timeout in httplib, and - closes patch #723312. - -- Patch #1676823: Added create_connection() to socket.py, which may be - called with a timeout, and use it from httplib (whose HTTPConnection - and HTTPSConnection now accept an optional timeout). - -- Bug #978833: Revert r50844, as it broke _socketobject.dup. - -- Bug #1675967: re patterns pickled with Python 2.4 and earlier can - now be unpickled with Python 2.5 and newer. - -- Patch #1630118: add a SpooledTemporaryFile class to tempfile.py. - -- Patch #1273829: os.walk() now has a "followlinks" parameter. If set - to True (which is not the default), it visits symlinks pointing to - directories. - -- Bug #1681228: the webbrowser module now correctly uses the default - GNOME or KDE browser, depending on whether there is a session of one - of those present. Also, it tries the Windows default browser before - trying Mozilla variants. - -- Patch #1339796: add a relpath() function to os.path. - -- Patch #1681153: the wave module now closes a file object it opened if - initialization failed. - -- Bug #767111: fix long-standing bug in urllib which caused an - AttributeError instead of an IOError when the server's response - didn't contain a valid HTTP status line. - -- Patch #957650: "%var%" environment variable references are now - properly expanded in ntpath.expandvars(), also "~user" home - directory references are recognized and handled on Windows. - -- Patch #1429539: pdb now correctly initializes the __main__ module - for the debugged script, which means that imports from __main__ work - correctly now. - -- The nonobvious commands.getstatus() function is now deprecated. - -- Patch #1393667: pdb now has a "run" command which restarts the - debugged Python program, optionally with different arguments. - -- Patch #1649190: Adding support for _Bool to ctypes as c_bool. - -- Patch #1530482: add pydoc.render_doc() which returns the - documentation for a thing instead of paging it to stdout, which - pydoc.doc() does. - -- Patch #1533909: the timeit module now accepts callables in addition - to strings for the code to time and the setup code. Also added two - convenience functions for instantiating a Timer and calling its - methods. - -- Patch #1537850: tempfile.NamedTemporaryFile now has a "delete" - parameter which can be set to False to prevent the default - delete-on-close behavior. - -- Patch #1581073: add a flag to textwrap that prevents the dropping of - whitespace while wrapping. - -- Patch #1603688: ConfigParser.SafeConfigParser now checks values that - are set for invalid interpolation sequences that would lead to - errors on reading back those values. - -- Added support for the POSIX.1-2001 (pax) format to - tarfile.py. Extended and cleaned up the test suite. Added a new - testtar.tar. - -- Patch #1449244: Support Unicode strings in - email.message.Message.{set_charset,get_content_charset}. - -- Patch #1542681: add entries for "with", "as" and "CONTEXTMANAGERS" - to pydoc's help keywords. - -- Patch #1555098: use str.join() instead of repeated string - concatenation in robotparser. - -- Patch #1635454: the csv.DictWriter class now includes the offending - field names in its exception message if you try to write a record - with a dictionary containing fields not in the CSV field names list. - -- Patch #1668100: urllib2 now correctly raises URLError instead of - OSError if accessing a local file via the file:// protocol fails. - -- Patch #1677862: Require a space or tab after import in .pth files. - -- Patch #1192590: Fix pdb's "ignore" and "condition" commands so they - trap the IndexError caused by passing in an invalid breakpoint - number. - -- Patch #1599845: Add an option to disable the implicit calls to - server_bind() and server_activate() in the constructors for - TCPServer, SimpleXMLRPCServer and DocXMLRPCServer. - -- Bug #1531963: Make SocketServer.TCPServer's server_address always be - equal to calling getsockname() on the server's socket. Fixed by - patch #1545011. - -- Patch #742598: Add .timeout attribute to SocketServer that calls - .handle_timeout() when no requests are received. - -- Bug #1651235: When a tuple was passed to a ctypes function call, - Python would crash instead of raising an error. - -- Bug #1646630: ctypes.string_at(buf, 0) and ctypes.wstring_at(buf, 0) - returned string up to the first NUL character. - -- Patch #957003: Implement smtplib.LMTP. - -- Patch #1481079: add support for HTTP_REFERER to CGIHTTPServer. - -- Patch #1675424: Added tests for uncovered code in the zipfile - module. The KeyError raised by Zipfile.getinfo for nonexistent - names now has a descriptive message. - -- Bug #1115886: os.path.splitext('.cshrc') gives now ('.cshrc', ''). - -- unittest now verifies more of its assumptions. In particular, - TestCase and TestSuite subclasses (not instances) are no longer - accepted in TestSuite.addTest(). This should cause no - incompatibility since it never made sense with ordinary subclasses - -- the failure just occurred later, with a more cumbersome - exception. - -- Patch #787789: allow passing custom TestRunner instances to - unittest's main() function. - -- Patches #1550273, #1550272: fix a few bugs in unittest and add a - comprehensive test suite for the module. - -- Patch #1001604: glob.glob() now returns unicode filenames if it was - given a unicode argument and os.listdir() returns unicode filenames. - -- Patch #1673619: setup.py identifies extension modules it doesn't - know how to build and those it knows how to build but that fail to - build. - -- Patch #912410: Replace HTML entity references for attribute values - in HTMLParser. - -- Patch #1663234: you can now run doctest on test files and modules - using "python -m doctest [-v] filename ...". - -- Patch #1121142: Implement ZipFile.open. - -- Taught setup.py how to locate Berkeley DB on Macs using MacPorts. - -- Added heapq.merge() for merging sorted input streams. - -- Added collections.namedtuple() for assigning field names to tuples. - -- Added itertools.izip_longest(). - -- Have the encoding package's search function dynamically import using - absolute import semantics. - -- Patch #1647484: Renamed GzipFile's filename attribute to name. - -- Patch #1517891: Mode 'a' for ZipFile now creates the file if it - doesn't exist. - -- Patch #698833: Support file decryption in zipfile. - -- Patch #685268: Consider a package's __path__ in imputil. - -- Patch #1463026: Support default namespace in XMLGenerator. - -- Patch #1571379: Make trace's --ignore-dir facility work in the face - of relative directory names. - -- Bug #1600860: Search for shared python library in LIBDIR, not - lib/python/config, on "linux" and "gnu" systems. - -- Patch #1652681: tarfile.py: create nonexistent files in append mode - and allow appending to empty files. - -- Bug #1124861: Automatically create pipes if GetStdHandle fails in - subprocess. - -- Patch #1634778: add missing encoding aliases for iso8859_15 and - iso8859_16. - -- Patch #1638243: the compiler package is now able to correctly - compile a with statement; previously, executing code containing a - with statement compiled by the compiler package crashed the - interpreter. - -- Bug #1643943: Fix time.strptime's support for the %U directive. - -- Patch #1507247: tarfile.py: use current umask for intermediate - directories. - -- Patch #1627441: close sockets properly in urllib2. - -- Bug #494589: make ntpath.expandvars behave according to its - docstring. - -- Changed platform module API python_version_tuple() to actually - return a tuple (it used to return a list). - -- Added new platform module APIs python_branch(), python_revision(), - python_implementation() and linux_distribution(). - -- Added support for IronPython and Jython to the platform module. - -- The sets module has been deprecated. Use the built-in set/frozenset - types instead. - -- Bug #1610795: make ctypes.util.find_library work on BSD systems. - -- Fixes for 64-bit Windows: In ctypes.wintypes, correct the - definitions of HANDLE, WPARAM, LPARAM data types. Make - parameterless foreign function calls work. - -- The version number of the ctypes package changed to "1.1.0". - -- Bug #1627575: logging: Added _open() method to FileHandler which can - be used to reopen files. The FileHandler instance now saves the - encoding (which can be None) in an attribute called "encoding". - -- Bug #411881: logging.handlers: bare except clause removed from - SMTPHandler.emit. Now, only ImportError is trapped. - -- Bug #411881: logging.handlers: bare except clause removed from - SocketHandler.createSocket. Now, only socket.error is trapped. - -- Bug #411881: logging: bare except clause removed from - LogRecord.__init__. Now, only ValueError, TypeError and - AttributeError are trapped. - -- Patch #1504073: Fix tarfile.open() for mode "r" with a fileobj - argument. - -- Patch #1182394 from Shane Holloway: speed up HMAC.hexdigest. - -- Patch #1262036: Prevent TarFiles from being added to themselves - under certain conditions. - -- Patch #1230446: tarfile.py: fix ExFileObject so that read() and - tell() work correctly together with readline(). - -- Patch #1484695: The tarfile module now raises a HeaderError - exception if a buffer given to frombuf() is invalid. - -- Bug #1503765: Fix a problem in logging.config with spaces in comma- - separated lists read from logging config files. - -- Patch #1604907: Fix problems in logging.handlers caused at logging - shutdown when syslog handlers fail to initialize because of syslogd - problems. - -- Patch #1608267: fix a race condition in os.makedirs() if the - directory to be created is already there. - -- Patch #1610437: fix a tarfile bug with long filename headers. - -- Patch #1371075: Make ConfigParser accept optional dict type for - ordering, sorting, etc. - -- Bug #1563807: _ctypes built on AIX fails with ld ffi error. - -- Bug #1598620: A ctypes Structure cannot contain itself. - -- Patch #1070046: Marshal new-style objects like InstanceType in - xmlrpclib. - -- cStringIO.truncate(-1) now raises an IOError, like StringIO and - regular files. - -- Patch #1472877: Fix Tix subwidget name resolution. - -- Patch #1594554: Always close a tkSimpleDialog on ok(), even if an - exception occurs. - -- Patch #1538878: Don't make tkSimpleDialog dialogs transient if the - parent window is withdrawn. - -- Bug #1597824: return the registered function from atexit.register() - to facilitate usage as a decorator. - -- Patch #1360200: Use unmangled_version RPM spec field to deal with - file name mangling. - -- Patch #1359217: Process 2xx response in an ftplib transfer that - precedes an 1xx response. - -- Patch #1355023: support whence argument for GzipFile.seek. - -- Patch #1065257: Support passing open files as body in - HTTPConnection.request(). - -- Bug #1569790: mailbox.py: Maildir.get_folder() and MH.get_folder() - weren't passing the message factory on to newly created Maildir/MH - objects. - -- Patch #1514543: mailbox.py: In the Maildir class, report errors if - there's a filename clash instead of possibly losing a message. - (Patch by David Watson.) - -- Patch #1514544: Try to ensure that messages/indexes have been - physically written to disk after calling .flush() or - .close(). (Patch by David Watson.) - -- Patch #1592250: Add elide argument to Tkinter.Text.search. - -- Patch #838546: Make terminal become controlling in pty.fork(). - -- Patch #1351744: Add askyesnocancel helper for tkMessageBox. - -- Patch #1060577: Extract list of RPM files from spec file in - bdist_rpm. - -- Bug #1586613: fix zlib and bz2 codecs' incremental en/decoders. - -- Patch #1583880: fix tarfile's problems with long names and posix/ - GNU modes. - -- Bug #1586448: the compiler module now emits the same bytecode for - list comprehensions as the built-in compiler, using the LIST_APPEND - opcode. - -- Fix codecs.EncodedFile which did not use file_encoding in 2.5.0, and - fix all codecs file wrappers to work correctly with the "with" - statement (bug #1586513). - -- Lib/modulefinder.py now handles absolute and relative imports - correctly. - -- Patch #1567274: Support SMTP over TLS. - -- Patch #1560695: Add .note.GNU-stack to ctypes' sysv.S so that ctypes - isn't considered as requiring executable stacks. - -- ctypes callback functions only support 'fundamental' data types as - result type. Raise an error when something else is used. This is a - partial fix for Bug #1574584. - -- Fix turtle so that time.sleep is imported for the entire library. - Allows the demo2 function to be executed on its own instead of only - when the module is run as a script. - -- Bug #1565150: Fix subsecond processing for os.utime on Windows. - -- Support for MSVC 8 was added to bdist_wininst. - -- Bug #1446043: correctly raise a LookupError if an encoding name - given to encodings.search_function() contains a dot. - -- Bug #1560617: in pyclbr, return full module name not only for - classes, but also for functions. - -- Bug #1457823: cgi.(Sv)FormContentDict's constructor now takes - keep_blank_values and strict_parsing keyword arguments. - -- Bug #1566602: correct failure of posixpath unittest when $HOME ends - with a slash. - -- Bug #1565661: in webbrowser, split() the command for the default - GNOME browser in case it is a command with args. - -- Made the error message for time.strptime when the data and - format do match be more clear. - -- Fix a bug in traceback.format_exception_only() that led to an error - being raised when print_exc() was called without an exception set. - In version 2.4, this printed "None", restored that behavior. - -- Make webbrowser.BackgroundBrowser usable in Windows (it wasn't - because the close_fds arg to subprocess.Popen is not supported). - -- Reverted patch #1504333 to sgmllib because it introduced an infinite - loop. - -- Patch #1553314: Fix the inspect.py slowdown that was hurting IPython - & SAGE by adding smarter caching in inspect.getmodule() - -- Fix missing import of the types module in logging.config. - -- Patch #1550886: Fix decimal module context management implementation - to match the localcontext() example from PEP 343. - -- Bug #1545341: The 'classifier' keyword argument to the Distutils - setup() function now accepts tuples as well as lists. - -- Bug #1541863: uuid.uuid1 failed to generate unique identifiers on - systems with low clock resolution. - -- Bug #1531862: Do not close standard file descriptors in subprocess. - -- Fix utf-8-sig incremental decoder, which didn't recognise a BOM when - the first chunk fed to the decoder started with a BOM, but was - longer than 3 bytes. - -- The implementation of UnicodeError objects has been simplified - (start and end attributes are now stored directly as Py_ssize_t - members). - -- Issue #829951: In the smtplib module, SMTP.starttls() now complies - with RFC 3207 and forgets any knowledge obtained from the server not - obtained from the TLS negotiation itself. Patch contributed by Bill - Fenner. - -- Issue #1339: The smtplib.SMTP class has been refactored a bit such - that the SMTP.starttls() caller no longer needs to call ehlo() - beforehand. SMTP.starttls() now raises an exception of the server - does not claim to support starttls. Adds the - SMTP.ehlo_or_helo_if_needed() method. Patch contributed by Bill - Fenner. - -- Patch #1089358: Add signal.siginterrupt, a wrapper around - siginterrupt(3). - -Extension Modules ------------------ - -- Patch #1657: added select.epoll and select.kqueue. - -- Patch #1506171: added operator.methodcaller(). - -- Patch #1826: operator.attrgetter() now supports dotted attribute paths. - -- Patch #1957: syslogmodule: Release GIL when calling syslog(3). - -- Bug #2112: mmap.error is now a subclass of EnvironmentError and not - a direct EnvironmentError. - -- Bug #2111: mmap segfaults when trying to write a block opened with - PROT_READ. - -- Bug #2063: correct order of utime and stime in os.times() result on - Windows. - -- Patch #1736: Fix file name handling of _msi.FCICreate. - -- Updated ``big5hkscs`` codec to the HKSCS revision of 2004. - -- Issue #1940: make it possible to use curses.filter() before - curses.initscr() as the documentation says. - -- Backport of _fileio module from Python 3.0. - -- Patch #1087741: mmap.mmap is now a class, not a factory function. It - is also subclassable now. - -- Patch #1648: added ``sys.getprofile()`` and ``sys.gettrace()``. - -- Patch #1663329: added ``os.closerange()`` function to quickly close - a range of file descriptors without considering errors. - -- Patch #976880: ``mmap`` objects now have an ``rfind`` method that - works as expected. ``mmap.find`` also takes an optional ``end`` - parameter. - -- _winreg's HKEY object has gained __enter__ and __exit__ methods to - support the context management protocol. The _winreg module also - gained a new function ``ExpandEnvironmentStrings`` to expand - REG_EXPAND_SZ keys. - -- itertools.starmap() now accepts any iterable input. Previously, it - required the function inputs to be tuples. - -- itertools.chain() now has an alternate constructor, - chain.from_iterable(). - -- Issue #1646: Make socket support TIPC. The socket module now has - support for TIPC under Linux, see http://tipc.sf.net/ for more - information. - -- Added interface for Windows' WSAIoctl to socket object and added an - example for a simple network sniffer. - -- Bug #1301: Bad assert in _tkinter fixed. - -- Added bdist_wininst executable for VS 2008. - -- Bug #1604: collections.deque.__init__(iterable) now clears any prior - contents before adding elements from the iterable. This fix brings - the behavior into line with that for list.__init__(). - -- Added wide char functions to msvcrt module: getwch, getwche, putwch - and ungetwch. The functions accept or return unicode. - -- os.access now returns True on Windows for any existing directory. - -- Added warnpy3k function to the warnings module. - -- Marshal.dumps() now expects exact type matches for int, long, float, - complex, tuple, list, dict, set, and frozenset. Formerly, it would - silently miscode subclasses of those types. Now, it raises a - ValueError instead. - -- Patch #1388440: Add set_completion_display_matches_hook and - get_completion_type to readline. - -- Bug #1649098: Avoid declaration of zero-sized array declaration in - structure. - -- Removed the rgbimg module; been deprecated since Python 2.5. - -- Bug #1721309: prevent bsddb module from freeing random memory. - -- Bug #1233: fix bsddb.dbshelve.DBShelf append method to work as - intended for RECNO databases. - -- pybsddb.sf.net Bug #477182: Load the database flags at database open - time so that opening a database previously created with the DB_DUP - or DB_DUPSORT flag set will keep the proper behavior on subsequent - opens. Specifically: dictionary assignment to a DB object will - replace all values for a given key when the database allows - duplicate values. DB users should use DB.put(k, v) when they want - to store duplicates; not DB[k] = v. - -- Add the bsddb.db.DBEnv.lock_id_free method. - -- Bug #1686475: Support stat'ing open files on Windows again. - -- Patch #1185447: binascii.b2a_qp() now correctly quotes binary - characters with ASCII value less than 32. Also, it correctly quotes - dots only if they occur on a single line, as opposed to the previous - behavior of quoting dots if they are the second character of any - line. - -- Bug #1622896: fix a rare corner case where the bz2 module raised an - error in spite of a succesful compression. - -- Patch #1654417: make operator.{get,set,del}slice use the full range - of Py_ssize_t. - -- Patch #1646728: datetime.fromtimestamp fails with negative - fractional times. With unittest. - -- Patch #1490190: posixmodule now includes os.chflags() and - os.lchflags() functions on platforms where the underlying system - calls are available. - -- Patch #1494140: Add documentation for the new struct.Struct object. - -- Patch #1432399: Support the HCI protocol for bluetooth sockets - -- Patch #1657276: Make NETLINK_DNRTMSG conditional. - -- Bug #1653736: Complain about keyword arguments to time.isoformat. - -- Bug #1486663: don't reject keyword arguments for subclasses of - built-in types. - -- Patch #1610575: The struct module now supports the 't' code, for C99 - _Bool. - -- Patch #1635058: ensure that htonl and friends never accept or return - negative numbers, per the underlying C implementation. - -- Patch #1544279: Improve thread-safety of the socket module by moving - the sock_addr_t storage out of the socket object. - -- Patch #1019808: fix bug that causes an incorrect error to be - returned when a socket timeout is set and a connection attempt - fails. - -- Speed up function calls into the math module. - -- Bug #1588217: don't parse "= " as a soft line break in binascii's - a2b_qp() function, instead leave it in the string as quopri.decode() - does. - -- Bug #1599782: Fix segfault on bsddb.db.DB().type(). - -- Bug #1567666: Emulate GetFileAttributesExA for Win95. - -- Patch #1576166: Support os.utime for directories on Windows NT+. - -- Patch #1572724: fix typo ('=' instead of '==') in _msi.c. - -- Bug #1572832: fix a bug in ISO-2022 codecs which may cause segfault - when encoding non-BMP unicode characters. - -- Bug #1556784: allow format strings longer than 127 characters in - datetime's strftime function. - -- Fix itertools.count(n) to work with negative numbers again. - -- RLIMIT_SBSIZE was added to the resource module where available. - -- Bug #1551427: fix a wrong NULL pointer check in the win32 version of - os.urandom(). - -- Bug #1548092: fix curses.tparm seg fault on invalid input. - -- Patch #1114: fix curses module compilation on 64-bit AIX, & possibly - other 64-bit LP64 platforms where attr_t is not the same size as a - long. (Contributed by Luke Mewburn.) - -- Bug #1550714: fix SystemError from itertools.tee on negative value - for n. - -- Fixed a few bugs on cjkcodecs: - - gbk and gb18030 codec now handle U+30FB KATAKANA MIDDLE DOT - correctly. - - iso2022_jp_2 codec now encodes into G0 for KS X 1001, GB2312 - codepoints to conform the standard. - - iso2022_jp_3 and iso2022_jp_2004 codec can encode JIS X 0213:2 - codepoints now. - -- Bug #1552726: in readline.c, avoid repeatedly polling in interactive - mode by only placing a timeout on the select() if an input hook has - been defined. This prevents an interactive Python from waking up 10 - times per second. Patch by Richard Boulton. - -- fixed a bug with bsddb.DB.stat: the flags and txn keyword arguments - were transposed. - -- Added support for linking the bsddb module against BerkeleyDB 4.5.x, - 4.6.x and 4.7.x. - -- Bug #1633621: if curses.resizeterm() or curses.resize_term() is - called, update _curses.LINES, _curses.COLS, curses.LINES and - curses.COLS. - -- Fix an off-by-one bug in locale.strxfrm(). - -- Fix libffi configure for hppa*-*-linux* | parisc*-*-linux*. - -- Build using system ffi library on arm*-linux*. - -- Bug #1372: zlibmodule.c: int overflow in PyZlib_decompress - -- bsddb module: Fix memory leak when using database cursors on - databases without a DBEnv. - -- The sqlite3 module was updated to pysqlite 2.4.1. - -IDLE ----- - -- Bug #813342: Start the IDLE subprocess with -Qnew if the parent is - started with that option. - -- IDLE: Honor the "Cancel" action in the save dialog (Debian bug - #299092). - -Tests ------ -- bpo-30357: test_thread: setUp() now uses support.threading_setup() and - support.threading_cleanup() to wait until threads complete to avoid - random side effects on following tests. Initial patch written by Grzegorz - Grzywacz. - -- Refactor test_logging to use unittest. - -- Refactor test_profile and test_cprofile to use the same code to - profile. - -- Make test_runpy reentrant by fixing _check_module to clear out any - module being tested. Was causing an error by __import__ doing a - reload on the second run and thus suppressing bytecode recreation. - -- Capture socket connection resets and timeouts in test_socket_ssl and - test_urllib2net and raise test.test_support.ResourceDenied. - -- Patch #1559413: Fix test_cmd_line if sys.executable contains a - space. - -- Added test.test_support.TransientResource which is a context manager - to surround calls to resources that are not guaranteed to work even - if test.test_support.requires says that the resource should exist. - -- Added a test for slicing of an exception. - -- Added test.test_support.EnvironmentVarGuard. It's a class that - provides a context manager so that one can temporarily set or unset - environment variables. - -- Added some tests for modulefinder. - -- Converted test_imp to use unittest. - -- Fix bsddb test_basics.test06_Transactions to check the version - number properly. - -- test.test_support.catch_warning is a new context manager that can be - used to catch the warnings issued by the warning framework. - -Tools ------ - -- Tools/scripts/reindent.py now creates the backup file using - shutil.copy to preserve user/group and permissions. Added also a - --nobackup option to not create the backup if the user is concerned - regarding this. Check issue #1050828 for more details. - -- Tools/scripts/win_add2path.py was added. The simple script modifes - the PATH environment var of the HKCU tree and adds the python bin - and script directory. - -- Tools/18n/pygettext.py was added to the list of scripts installed by - Tools/scripts/setup.py (tracker item 642309). - -- Added IronPython and Jython support to pybench (part of which was - patch #1563844). - -- Made some minor changes to pybench output to allow the user to see - which Python version is running pybench. - -- Added support for the new platform module feature - platform.python_implementation(); this will now be saved in the - benchmark pickle. - -Documentation -------------- - -- RFE #1765140: Updated documentation on FileHandler and subclasses to - include new optional delay argument. - -- Bug #932563: Added section on getting contextual information into - logging output, and added documentation for the new LoggerAdapter - class. - -- Bug #1295: Added information about caching of formatted exception - information in the LogRecord by Formatter.format(). - -- Bug #1637365: add subsection about "__name__ == __main__" to the - Python tutorial. - -- Patch #1698768: updated the "using Python on the Mac" intro. - -- Bug #1569057: Document that calling file.next() when the file is - open for writing is undefined. - -- Patch #1489771: the syntax rules in Python Reference Manual were - updated to reflect the current Python syntax. - -- Patch #1686451: Fix return type for - PySequence_{Count,Index,Fast_GET_SIZE}. - -- Patch #1679379: add documentation for fnmatch.translate(). - -- Bug #1629566: clarify the docs on the return values of parsedate() - and parsedate_tz() in email.utils and rfc822. - -- Patch #1671450: add a section about subclassing built-in types to the - "extending and embedding" tutorial. - -- Bug #1629125: fix wrong data type (int -> Py_ssize_t) in PyDict_Next - docs. - -- Bug #1565919: document set types in the Language Reference. - -- Bug #1546052: clarify that PyString_FromString(AndSize) copies the - string pointed to by its parameter. - -- Bug #1566663: remove obsolete example from datetime docs. - -- Bug #1541682: Fix example in the "Refcount details" API docs. - Additionally, remove a faulty example showing PySequence_SetItem - applied to a newly created list object and add notes that this isn't - a good idea. - -Tools/Demos ------------ - -- Patch #1552024: add decorator support to unparse.py demo script. - -- Make auto-generated python.vim file list built-ins and exceptions in - alphatbetical order. Makes output more deterministic and easier to - tell if the file is stale or not. - -- Bug #1546372: Fixed small bugglet in pybench that caused a missing - file not to get reported properly. - -Build ------ - -- Have the search path for building extensions follow the declared - order in $CPPFLAGS and $LDFLAGS when adding directories from those - environment variables. - -- Bug #1983: Added a check to pyport to verify that sizeof(pid_t) is - smaller or equal sizeof(long). - -- Bug #1234: Fixed semaphore errors on AIX 5.2 - -- Issue #1726: Remove Python/atof.c from PCBuild/pythoncore.vcproj. - -- Removed PCbuild8/ directory and added a new build directory for VS - 2005 based on the VS 2008 build directory to PC/VS8.0. The script - PCbuild/vs8to9.py was added to sync changes from PCbuild to - PC/VS8.0. - -- Moved PCbuild/ directory for VS 2003 to PC/VS7.1 and renamed - PCBuild9/ directory to PCBuild/. - -- Bug #1699: Define _BSD_SOURCE only on OpenBSD. - -- Bug #1608: use -fwrapv when GCC supports it. This is important, - newer GCC versions may optimize away overflow buffer overflow checks - without this option! - -- Patch #1418: Make the AC_REPLACE_FUNCS object files actually work. - -- Add a FAST_LOOPS build option that speeds-up looping by trading away - periodic threadstate and signal checking in tight loops. By - default, this option is turned-off. It should only be enabled in - debugged, performance critical applications. - -- Patch #786737: Allow building in a tree of symlinks pointing to a - readonly source. - -- Bug #1737210: Change Manufacturer of Windows installer to PSF. - -- Bug #1746880: Correctly install DLLs into system32 folder on Win64. - -- Define _BSD_SOURCE, to get access to POSIX extensions on OpenBSD - 4.1+. - -- Stop supporting AtheOS and cause a build error in configure for the - platform. - -- Bug #1655392: don't add -L/usr/lib/pythonX.Y/config to the LDFLAGS - returned by python-config if Python was built with --enable-shared - because that prevented the shared library from being used. - -- Patch #1569798: fix a bug in distutils when building Python from a - directory within sys.exec_prefix. - -- Bug #1675511: Use -Kpic instead of -xcode=pic32 on Solaris/x86. - -- Disable _XOPEN_SOURCE on NetBSD 1.x. - -- configure now checks whether gcc supports the PyArg_ParseTuple - format attribute. - -- Bug #1578513: Cross compilation was broken by a change to configure. - Repair so that it's back to how it was in 2.4.3. - -- Patch #1576954: Update VC6 build directory; remove redundant files - in VC7. - -- Bug #1568842: Fix test for uintptr_t. - -- Patch #1540470: for OpenBSD 4.0. - -- Fix build failure on kfreebsd and on the hurd. - -- Fix the build of the library reference in info format. - -- Allow Emacs 22 for building the documentation in info format. - -- Makefile.pre.in(buildbottest): Run an optional script - pybuildbot.identify to include some information about the build - environment. - -C API ------ - -- Unified naming convention for free lists and their limits. All free - lists in Object/ are named ``free_list``, the counter ``numfree`` - and the upper limit is a macro ``PyName_MAXFREELIST`` inside an - #ifndef block. - -- ``PySet_Add()`` can now modify a newly created frozenset. Similarly - to ``PyTuple_SetItem``, it can be used to populate a brand new - frozenset; but it does not steal a reference to the added item. - -- Added ``PySet_Check()`` and ``PyFrozenSet_Check()`` to the set API. - -- Backport of PyUnicode_FromString(), _FromStringAndSize(), _Format - and _FormatV from Python 3.0. Made PyLong_AsSsize_t and - PyLong_FromSsize_t public functions. - -- Patch #1720595: add T_BOOL to the range of structmember types. - -- Issue #1534: Added ``PyFloat_GetMax()``, ``PyFloat_GetMin()`` and - ``PyFloat_GetInfo()`` to the float API. - -- Issue #1521: On 64bit platforms, using PyArgs_ParseTuple with the t# - of w# format code incorrectly truncated the length to an int, even - when PY_SSIZE_T_CLEAN is set. The str.decode method used to return - incorrect results with huge strings. - -- Issue #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, - Py_TYPE and Py_REFCNT. - -- PEP 3123: Provide forward compatibility with Python 3.0, while - keeping backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, - and PyVarObject_HEAD_INIT. - -- Py_ssize_t fields work in structmember when HAVE_LONG_LONG is not - defined. - -- Patch #1733960: Allow T_LONGLONG to accept ints. - -- T_PYSSIZET can now be used in PyMemberDef lists for Py_ssize_t members. - -- Added a new API function ``PyImport_ImportModuleNoBlock``. - -- Bug #1637022: Prefix AST symbols with _Py_. - -- Fix some leftovers from the conversion from int to Py_ssize_t - (relevant to strings and sequences of more than 2**31 items). - -- Make _PyGILState_NoteThreadState() static, it was not used anywhere - outside of pystate.c and should not be necessary. - -- ``PyImport_Import`` and ``PyImport_ImportModule`` now always do - absolute imports. In earlier versions they might have used relative - imports under some conditions. - -- Added case insensitive comparison methods ``PyOS_stricmp(char*, - char*)`` and ``PyOS_strnicmp(char*, char*, Py_ssize_t)``. - -- Bug #1542693: remove semi-colon at end of PyImport_ImportModuleEx - macro so it can be used as an expression. - -Windows -------- - -- Patch #1706: Drop support for Win9x, WinME and NT4. Python now - requires Windows 2000 or greater. The _WINVER and NTDDI_VERSION - macros are set to Win2k for x86/32bit builds and WinXP for AMD64 - builds. - -- Conditionalize definition of _CRT_SECURE_NO_DEPRECATE and - _CRT_NONSTDC_NO_DEPRECATE. - -- Bug #1216: Restore support for Visual Studio 2002. - -Mac ---- - -- cfmfile now raises a DeprecationWarning. - -- buildtools now raises a DeprecationWarning. - -- Removed the macfs module. It had been deprecated since Python 2.5. - This lead to the deprecation of macostools.touched() as it relied - solely on macfs and was a no-op under OS X. - ----- - -**(For information about older versions, consult the HISTORY file.)** diff --git a/Misc/NEWS.d/2.6.rst b/Misc/NEWS.d/2.6.rst new file mode 100644 index 0000000000..71753a7270 --- /dev/null +++ b/Misc/NEWS.d/2.6.rst @@ -0,0 +1,102 @@ +.. bpo: 3967 +.. date: 7179 +.. nonce: q7G-yg +.. release date: 01-Oct-2008 +.. section: Core and Builtins + +Fixed a crash in the count() and find() methods of string-like objects, when +the "start" parameter is a huge value. + +.. + +.. bpo: 3965 +.. date: 7178 +.. nonce: oD6PeM +.. section: Core and Builtins + +Fixed a crash on Windows when open() is given an invalid filename or mode, +and the filename is a unicode string. + +.. + +.. bpo: 3951 +.. date: 7177 +.. nonce: WMRS35 +.. section: Core and Builtins + +Py_USING_MEMORY_DEBUGGER should not be enabled by default. + +.. + +.. bpo: 3965 +.. date: 7176 +.. nonce: 67WKTr +.. section: Library + +Allow repeated calls to turtle.Screen, by making it a true singleton object. + +.. + +.. bpo: 3895 +.. date: 7175 +.. nonce: 7zAG5K +.. section: Library + +It was possible to crash the interpreter when an external timer was used +with cProfile that returned an object that could not be converted into a +float. + +.. + +.. bpo: 3950 +.. date: 7174 +.. nonce: zZXLaL +.. section: Library + +Made turtle respect scale factors. + +.. + +.. bpo: 3547 +.. date: 7173 +.. nonce: MEAOsx +.. section: Library + +Fixed ctypes structures bitfields of varying integer sizes. + +.. + +.. bpo: 3879 +.. date: 7172 +.. nonce: F8u7Is +.. section: Library + +A regression in urllib.getproxies_environment was fixed. + +.. + +.. bpo: 3863 +.. date: 7171 +.. nonce: 5nuS5x +.. section: Library + +Disabled a unit test of fork being called from a thread when running on +platforms known to exhibit OS bugs when attempting that. + +.. + +.. bpo: 3989 +.. date: 7170 +.. nonce: RW3kS6 +.. section: Build + +Package the 2to3 script (as 2to3.py) in the Windows installer. + +.. + +.. bpo: 3887 +.. date: 7169 +.. nonce: qYeYwa +.. section: Build + +Package x64 version of CRT for AMD64 Windows binaries. diff --git a/Misc/NEWS.d/2.6a1.rst b/Misc/NEWS.d/2.6a1.rst new file mode 100644 index 0000000000..8edf052299 --- /dev/null +++ b/Misc/NEWS.d/2.6a1.rst @@ -0,0 +1,5507 @@ +.. bpo: 2051 +.. date: 6793 +.. nonce: ra69cz +.. release date: 29-Feb-2008 +.. section: Core and Builtins + +pyc and pyo files are no longer created with permission 644. The mode is now +inherited from the py file. + +.. + +.. bpo: 2067 +.. date: 6792 +.. nonce: dnOq_n +.. section: Core and Builtins + +file.__exit__() now calls subclasses' close() method. + +.. + +.. bpo: 1759 +.. date: 6791 +.. nonce: q41gVI +.. section: Core and Builtins + +Backport of PEP 3129 class decorators. + +.. + +.. bpo: 1881 +.. date: 6790 +.. nonce: Z0XsUF +.. section: Core and Builtins + +An internal parser limit has been increased. Also see issue #215555 for a +discussion. + +.. + +.. bpo: 0 +.. date: 6789 +.. nonce: t4RIVL +.. section: Core and Builtins + +Added the future_builtins module, which contains hex() and oct(). These are +the PEP 3127 version of these functions, designed to be compatible with the +hex() and oct() builtins from Python 3.0. They differ slightly in their +output formats from the existing, unchanged Python 2.6 builtins. The +expected usage of the future_builtins module is: from future_builtins +import hex, oct + +.. + +.. bpo: 1600 +.. date: 6788 +.. nonce: s9YmZq +.. section: Core and Builtins + +Modified PyOS_ascii_formatd to use at most 2 digit exponents for exponents +with absolute value < 100. Follows C99 standard. This is a change on +Windows, which would use 3 digits. Also, added 'n' to the formats that +PyOS_ascii_formatd understands, so that any alterations it does to the +resulting string will be available in stringlib/formatter.h (for +float.__format__). + +.. + +.. bpo: 0 +.. date: 6787 +.. nonce: 3heWL4 +.. section: Core and Builtins + +Implemented PEP 3101, Advanced String Formatting. This adds a new builtin +format(); a format() method for str and unicode; a __format__() method to +object, str, unicode, int, long, float, and datetime; the class +string.Formatter; and the C API PyObject_Format(). + +.. + +.. bpo: 0 +.. date: 6786 +.. nonce: 5DONqn +.. section: Core and Builtins + +Fixed several potential crashes, all caused by specially crafted __del__ +methods exploiting objects in temporarily inconsistent state. + +.. + +.. bpo: 2115 +.. date: 6785 +.. nonce: 0hltM5 +.. section: Core and Builtins + +Important speedup in setting __slot__ attributes. Also prevent a possible +crash: an Abstract Base Class would try to access a slot on a registered +virtual subclass. + +.. + +.. bpo: 0 +.. date: 6784 +.. nonce: mw1G3G +.. section: Core and Builtins + +Fixed repr() and str() of complex numbers with infinity or nan as real or +imaginary part. + +.. + +.. bpo: 0 +.. date: 6783 +.. nonce: 9iXgfq +.. section: Core and Builtins + +Clear all free lists during a gc.collect() of the highest generation in +order to allow pymalloc to free more arenas. Python may give back memory to +the OS earlier. + +.. + +.. bpo: 2045 +.. date: 6782 +.. nonce: r1Y5JL +.. section: Core and Builtins + +Fix an infinite recursion triggered when printing a subclass of +collections.defaultdict, if its default_factory is set to a bound method. + +.. + +.. bpo: 0 +.. date: 6781 +.. nonce: Ix4aiT +.. section: Core and Builtins + +Fixed a minor memory leak in dictobject.c. The content of the free list was +not freed on interpreter shutdown. + +.. + +.. bpo: 0 +.. date: 6780 +.. nonce: cL2Owz +.. section: Core and Builtins + +Limit free list of method and built-in function objects to 256 entries each. + +.. + +.. bpo: 1953 +.. date: 6779 +.. nonce: e_mPMK +.. section: Core and Builtins + +Added ``sys._compact_freelists()`` and the C API functions +``PyInt_CompactFreeList`` and ``PyFloat_CompactFreeList`` to compact the +internal free lists of pre-allocted ints and floats. + +.. + +.. bpo: 1983 +.. date: 6778 +.. nonce: 8sFEOx +.. section: Core and Builtins + +Fixed return type of fork(), fork1() and forkpty() calls. Python expected +the return type int but the fork familie returns pi_t. + +.. + +.. bpo: 1678380 +.. date: 6777 +.. nonce: QDsVif +.. section: Core and Builtins + +Fix a bug that identifies 0j and -0j when they appear in the same code unit. + +.. + +.. bpo: 2025 +.. date: 6776 +.. nonce: S9iuHk +.. section: Core and Builtins + +Add tuple.count() and tuple.index() methods to comply with the +collections.Sequence API. + +.. + +.. bpo: 1970 +.. date: 6775 +.. nonce: QefSF6 +.. section: Core and Builtins + +Speedup unicode whitespace and linebreak detection. (Patch by Antoine +Pitrou.) + +.. + +.. bpo: 0 +.. date: 6774 +.. nonce: YYnDHc +.. section: Core and Builtins + +Added ``PyType_ClearCache()`` and ``sys._clear_type_cache`` to clear the +internal lookup cache for ref leak tests. + +.. + +.. bpo: 1473257 +.. date: 6773 +.. nonce: Z579K3 +.. section: Core and Builtins + +generator objects gain a gi_code attribute. This is the same object as the +func_code attribute of the function that produced the generator. + +.. + +.. bpo: 1920 +.. date: 6772 +.. nonce: z8WX6L +.. section: Core and Builtins + +"while 0" statements were completely removed by the compiler, even in the +presence of an "else" clause, which is supposed to be run when the condition +is false. Now the compiler correctly emits bytecode for the "else" suite. + +.. + +.. bpo: 0 +.. date: 6771 +.. nonce: VpT9Pm +.. section: Core and Builtins + +A few crashers fixed: weakref_in_del.py (issue #1377858); +loosing_dict_ref.py (issue #1303614, test67.py); borrowed_ref_[34].py (not +in tracker). + +.. + +.. bpo: 1069410 +.. date: 6770 +.. nonce: GX0t-e +.. section: Core and Builtins + +The "can't load dll" message box on Windows is suppressed while an extension +is loaded by calling SetErrorMode in dynload_win.c. The error is still +reported properly. + +.. + +.. bpo: 1915 +.. date: 6769 +.. nonce: MAhEEN +.. section: Core and Builtins + +Python compiles with --enable-unicode=no again. However several extension +methods and modules do not work without unicode support. + +.. + +.. bpo: 1882 +.. date: 6768 +.. nonce: -TxSag +.. section: Core and Builtins + +when compiling code from a string, encoding cookies in the second line of +code were not always recognized correctly. + +.. + +.. bpo: 1679 +.. date: 6767 +.. nonce: 48PPdV +.. section: Core and Builtins + +"0x" was taken as a valid integer literal. + +.. + +.. bpo: 1865 +.. date: 6766 +.. nonce: wGzYDz +.. section: Core and Builtins + +``bytes`` as an alias for ``str`` and b"" as an alias "" were added. + +.. + +.. bpo: 0 +.. date: 6765 +.. nonce: x2ieFr +.. section: Core and Builtins + +sys.float_info / PyFloat_GetInfo: The floating point information object was +converted from a dict to a specialized structseq object. + +.. + +.. bpo: 1816 +.. date: 6764 +.. nonce: YBjd5H +.. section: Core and Builtins + +Added sys.flags structseq. It exposes the status of most command line +arguments and PYTHON* environment variables. + +.. + +.. bpo: 0 +.. date: 6763 +.. nonce: wmc0sT +.. section: Core and Builtins + +Objects/structseq.c: Implemented new structseq representation. The patch +makes structseqs (e.g. the return value of os.stat) more readable. + +.. + +.. bpo: 1700288 +.. date: 6762 +.. nonce: lwJfDZ +.. section: Core and Builtins + +added a type attribute cache that caches method accesses, resulting in +speedups in heavily object-oriented code. + +.. + +.. bpo: 1776 +.. date: 6761 +.. nonce: JYdqH- +.. section: Core and Builtins + +__import__() no longer accepts filenames on any platform. The first +parameter to __import__() must be a valid module name. + +.. + +.. bpo: 1668 +.. date: 6760 +.. nonce: mZ5kSj +.. section: Core and Builtins + +renamed THREADDEBUG envvar to PYTHONTHREADDEBUG. + +.. + +.. bpo: 602345 +.. date: 6759 +.. nonce: OOgFXY +.. section: Core and Builtins + +Add -B command line option, PYTHONDONTWRITEBYTECODE envvar and +sys.dont_write_bytecode attribute. All these can be set to forbid Python to +attempt to write compiled bytecode files. + +.. + +.. bpo: 0 +.. date: 6758 +.. nonce: _7a_Ll +.. section: Core and Builtins + +Improve some exception messages when Windows fails to load an extension +module. Now we get for example '%1 is not a valid Win32 application' instead +of 'error code 193'. + +.. + +.. bpo: 1481296 +.. date: 6757 +.. nonce: nRMqCX +.. section: Core and Builtins + +Fixed long(float('nan')) != 0L. + +.. + +.. bpo: 1640 +.. date: 6756 +.. nonce: INvUrF +.. section: Core and Builtins + +Added math.isinf(x), math.isnan(x) and math.copysign(x, y) functions. + +.. + +.. bpo: 1635 +.. date: 6755 +.. nonce: fiXSfN +.. section: Core and Builtins + +Platform independent creation and representation of NaN and INF. +float("nan"), float("inf") and float("-inf") now work on every platform with +IEEE 754 semantics. + +.. + +.. bpo: 0 +.. date: 6754 +.. nonce: MNMsrF +.. section: Core and Builtins + +Compiler now generates simpler and faster code for dictionary literals. The +oparg for BUILD_MAP now indicates an estimated dictionary size. There is a +new opcode, STORE_MAP, for adding entries to the dictionary. + +.. + +.. bpo: 1638 +.. date: 6753 +.. nonce: eg4t3m +.. section: Core and Builtins + +%zd configure test fails on Linux. + +.. + +.. bpo: 1620 +.. date: 6752 +.. nonce: 9qBeVK +.. section: Core and Builtins + +New property decorator syntax was modifying the decorator in place instead +of creating a new decorator object. + +.. + +.. bpo: 1538 +.. date: 6751 +.. nonce: OkvKJR +.. section: Core and Builtins + +Avoid copying string in split/rsplit if the split char is not found. + +.. + +.. bpo: 1553 +.. date: 6750 +.. nonce: FCgNDE +.. section: Core and Builtins + +An erroneous __length_hint__ can make list() raise a SystemError. + +.. + +.. bpo: 0 +.. date: 6749 +.. nonce: zw_5PA +.. section: Core and Builtins + +PEP 366: Allow explicit relative imports when executing modules inside +packages with the -m switch via a new module level __package__ attribute. + +.. + +.. bpo: 1402 +.. date: 6748 +.. nonce: ZTegLQ +.. section: Core and Builtins + +Fix a crash on exit, when another thread is still running, and if the +deallocation of its frames somehow calls the PyGILState_Ensure() / +PyGILState_Release() functions. + +.. + +.. bpo: 0 +.. date: 6747 +.. nonce: J3Bwhy +.. section: Core and Builtins + +Expose the Py_Py3kWarningFlag as sys.py3kwarning. + +.. + +.. bpo: 1445 +.. date: 6746 +.. nonce: 6-yfkc +.. section: Core and Builtins + +Fix a SystemError when accessing the ``cell_contents`` attribute of an empty +cell object. + +.. + +.. bpo: 1460 +.. date: 6745 +.. nonce: y7TP5m +.. section: Core and Builtins + +The utf-7 incremental decoder did not accept truncated input. It now +correctly saves its state between chunks of data. + +.. + +.. bpo: 1739468 +.. date: 6744 +.. nonce: yM3B3r +.. section: Core and Builtins + +Directories and zipfiles containing a __main__.py file can now be directly +executed by passing their name to the interpreter. The directory/zipfile is +automatically inserted as the first entry in sys.path. + +.. + +.. bpo: 1265 +.. date: 6743 +.. nonce: 4-IaJd +.. section: Core and Builtins + +Fix a problem with sys.settrace, if the tracing function uses a generator +expression when at the same time the executed code is closing a paused +generator. + +.. + +.. bpo: 0 +.. date: 6742 +.. nonce: 7h4lCb +.. section: Core and Builtins + +sets and frozensets now have an isdisjoint() method. + +.. + +.. bpo: 0 +.. date: 6741 +.. nonce: 1AoYAQ +.. section: Core and Builtins + +optimize the performance of builtin.sum(). + +.. + +.. bpo: 0 +.. date: 6740 +.. nonce: FHJ_J8 +.. section: Core and Builtins + +Fix warnings found by the new version of the Coverity checker. + +.. + +.. bpo: 0 +.. date: 6739 +.. nonce: 6dncrc +.. section: Core and Builtins + +The enumerate() built-in function is no longer bounded to sequences smaller +than LONG_MAX. Formerly, it raised an OverflowError. Now, automatically +shifts from ints to longs. + +.. + +.. bpo: 1686386 +.. date: 6738 +.. nonce: mFw2O5 +.. section: Core and Builtins + +Tuple's tp_repr did not take into account the possibility of having a self- +referential tuple, which is possible from C code. Nor did object's tp_str +consider that a type's tp_str could do something that could lead to an +inifinite recursion. Py_ReprEnter() and Py_EnterRecursiveCall(), +respectively, fixed the issues. + +.. + +.. bpo: 1164 +.. date: 6737 +.. nonce: uMHT40 +.. section: Core and Builtins + +It was possible to trigger deadlock when using the 'print' statement to +write to a file since the GIL was not released as needed. Now +PyObject_Print() does the right thing along with various tp_print +implementations of the built-in types and those in the collections module. + +.. + +.. bpo: 1147 +.. date: 6736 +.. nonce: aoJ7OF +.. section: Core and Builtins + +Exceptions were directly allowing string exceptions in their throw() method +even though string exceptions no longer allowed. + +.. + +.. bpo: 1096 +.. date: 6735 +.. nonce: O7aCp5 +.. section: Core and Builtins + +Prevent a segfault from getting the repr of a very deeply nested list by +using the recursion counter. + +.. + +.. bpo: 1202533 +.. date: 6734 +.. nonce: an8trG +.. section: Core and Builtins + +Fix infinite recursion calls triggered by calls to PyObject_Call() never +calling back out to Python code to trigger recursion depth updates/checks. +Required the creation of a static RuntimeError instance in case normalizing +an exception put the recursion check value past its limit. Fixes crashers +infinite_rec_(1|2|4|5).py. + +.. + +.. bpo: 1031213 +.. date: 6733 +.. nonce: -pIcnp +.. section: Core and Builtins + +Decode source line in SyntaxErrors back to its original source encoding. + +.. + +.. bpo: 1673759 +.. date: 6732 +.. nonce: BiojUu +.. section: Core and Builtins + +add a missing overflow check when formatting floats with %G. + +.. + +.. bpo: 0 +.. date: 6731 +.. nonce: irpf7S +.. section: Core and Builtins + +Prevent expandtabs() on string and unicode objects from causing a segfault +when a large width is passed on 32-bit platforms. + +.. + +.. bpo: 1733488 +.. date: 6730 +.. nonce: tl7wNc +.. section: Core and Builtins + +Fix compilation of bufferobject.c on AIX. + +.. + +.. bpo: 1722485 +.. date: 6729 +.. nonce: k6MqIQ +.. section: Core and Builtins + +remove docstrings again when running with -OO. + +.. + +.. bpo: 0 +.. date: 6728 +.. nonce: 7Ddptw +.. section: Core and Builtins + +Add new attribute names for function objects. All the func_* become __*__ +attributes. (Some already existed, e.g., __doc__ and __name__.) + +.. + +.. bpo: 0 +.. date: 6727 +.. nonce: yXfECI +.. section: Core and Builtins + +Add -3 option to the interpreter to warn about features that are deprecated +and will be changed/removed in Python 3.0. + +.. + +.. bpo: 1686487 +.. date: 6726 +.. nonce: K8mtCR +.. section: Core and Builtins + +you can now pass any mapping after '**' in function calls. + +.. + +.. bpo: 0 +.. date: 6725 +.. nonce: JKXn1u +.. section: Core and Builtins + +except clauses may now be spelled either "except E, target:" or "except E as +target:". This is to provide forwards compatibility with Python 3.0. + +.. + +.. bpo: 0 +.. date: 6724 +.. nonce: 8LZd6s +.. section: Core and Builtins + +Deprecate BaseException.message as per PEP 352. + +.. + +.. bpo: 1303614 +.. date: 6723 +.. nonce: 4vwOmy +.. section: Core and Builtins + +don't expose object's __dict__ when the dict is inherited from a built-in +base. + +.. + +.. bpo: 0 +.. date: 6722 +.. nonce: VN88wa +.. section: Core and Builtins + +When __slots__ are set to a unicode string, make it work the same as setting +a plain string, ie don't expand to single letter identifiers. + +.. + +.. bpo: 1191699 +.. date: 6721 +.. nonce: V0UWcO +.. section: Core and Builtins + +Slices can now be pickled. + +.. + +.. bpo: 1193128 +.. date: 6720 +.. nonce: hTWYjG +.. section: Core and Builtins + +str.translate() now allows a None argument for translations that only remove +characters without re-mapping the remaining characters. + +.. + +.. bpo: 1682205 +.. date: 6719 +.. nonce: Ma5xwn +.. section: Core and Builtins + +a TypeError while unpacking an iterable is no longer masked by a generic one +with the message "unpack non-sequence". + +.. + +.. bpo: 0 +.. date: 6718 +.. nonce: 3y4NCG +.. section: Core and Builtins + +Remove unused file Python/fmod.c. + +.. + +.. bpo: 1683368 +.. date: 6717 +.. nonce: 4DybJV +.. section: Core and Builtins + +The object.__init__() and object.__new__() methods are now stricter in +rejecting excess arguments. The only time when either allows excess +arguments is when it is not overridden and the other one is. For backwards +compatibility, when both are overridden, it is a deprecation warning (for +now; maybe a Py3k warning later). Also, type.__init__() insists on the same +signature as supported by type.__new__(). + +.. + +.. bpo: 1675423 +.. date: 6716 +.. nonce: 1JoPlp +.. section: Core and Builtins + +PyComplex_AsCComplex() now tries to convert an object to complex using its +__complex__() method before falling back to the __float__() method. +Therefore, the functions in the cmath module now can operate on objects that +define a __complex__() method. + +.. + +.. bpo: 1623563 +.. date: 6715 +.. nonce: AMQ5t2 +.. section: Core and Builtins + +allow __class__ assignment for classes with __slots__. The old and the new +class are still required to have the same slot names. + +.. + +.. bpo: 1642547 +.. date: 6714 +.. nonce: jkS5Ql +.. section: Core and Builtins + +Fix an error/crash when encountering syntax errors in complex if statements. + +.. + +.. bpo: 1462488 +.. date: 6713 +.. nonce: Ci87cu +.. section: Core and Builtins + +Python no longer segfaults when ``object.__reduce_ex__()`` is called with an +object that is faking its type. + +.. + +.. bpo: 1680015 +.. date: 6712 +.. nonce: FS6aET +.. section: Core and Builtins + +Don't modify __slots__ tuple if it contains a unicode name. + +.. + +.. bpo: 1444529 +.. date: 6711 +.. nonce: 69vMCk +.. section: Core and Builtins + +the builtin compile() now accepts keyword arguments. + +.. + +.. bpo: 1678647 +.. date: 6710 +.. nonce: Ok4Qvk +.. section: Core and Builtins + +write a newline after printing an exception in any case, even when +converting the value to a string failed. + +.. + +.. bpo: 0 +.. date: 6709 +.. nonce: ec6gzH +.. section: Core and Builtins + +The dir() function has been extended to call the __dir__() method on its +argument, if it exists. If not, it will work like before. This allows +customizing the output of dir() in the presence of a __getattr__(). + +.. + +.. bpo: 922167 +.. date: 6708 +.. nonce: gnPICc +.. section: Core and Builtins + +Python no longer segfaults when faced with infinitely self-recursive +reload() calls (as reported by bug #742342). + +.. + +.. bpo: 1675981 +.. date: 6707 +.. nonce: YDAUpa +.. section: Core and Builtins + +remove unreachable code from ``type.__new__()`` method. + +.. + +.. bpo: 1491866 +.. date: 6706 +.. nonce: RNQumX +.. section: Core and Builtins + +change the complex() constructor to allow parthensized forms. This means +complex(repr(x)) now works instead of raising a ValueError. + +.. + +.. bpo: 703779 +.. date: 6705 +.. nonce: 609S2B +.. section: Core and Builtins + +unset __file__ in __main__ after running a file. This makes the filenames +the warning module prints much more sensible when a PYTHONSTARTUP file is +used. + +.. + +.. bpo: 697613 +.. date: 6704 +.. nonce: bnztSz +.. section: Core and Builtins + +Don't exit the interpreter on a SystemExit exception if the -i command line +option or PYTHONINSPECT environment variable is given, but break into the +interactive interpreter just like on other exceptions or normal program +exit. + +.. + +.. bpo: 1638879 +.. date: 6703 +.. nonce: 25rW83 +.. section: Core and Builtins + +don't accept strings with embedded NUL bytes in long(). + +.. + +.. bpo: 1674503 +.. date: 6702 +.. nonce: k_dwnR +.. section: Core and Builtins + +close the file opened by execfile() in an error condition. + +.. + +.. bpo: 1674228 +.. date: 6701 +.. nonce: 936l-6 +.. section: Core and Builtins + +when assigning a slice (old-style), check for the sq_ass_slice instead of +the sq_slice slot. + +.. + +.. bpo: 0 +.. date: 6700 +.. nonce: 4R0u4H +.. section: Core and Builtins + +When printing an unraisable error, don't print exceptions. before the name. +This duplicates the behavior whening normally printing exceptions. + +.. + +.. bpo: 1653736 +.. date: 6699 +.. nonce: puX_f- +.. section: Core and Builtins + +Properly discard third argument to slot_nb_inplace_power. + +.. + +.. bpo: 0 +.. date: 6698 +.. nonce: LM67G- +.. section: Core and Builtins + +PEP 352: Raising a string exception now triggers a TypeError. Attempting to +catch a string exception raises DeprecationWarning. + +.. + +.. bpo: 1377858 +.. date: 6697 +.. nonce: PoWq_L +.. section: Core and Builtins + +Fix the segfaulting of the interpreter when an object created a weakref on +itself during a __del__ call for new-style classes (classic classes still +have the bug). + +.. + +.. bpo: 1579370 +.. date: 6696 +.. nonce: 0Jm29g +.. section: Core and Builtins + +Make PyTraceBack_Here use the current thread, not the frame's thread state. + +.. + +.. bpo: 1630975 +.. date: 6695 +.. nonce: MoA2CT +.. section: Core and Builtins + +Fix crash when replacing sys.stdout in sitecustomize.py. + +.. + +.. bpo: 0 +.. date: 6694 +.. nonce: fKwD4u +.. section: Core and Builtins + +Prevent seg fault on shutdown which could occur if an object raised a +warning. + +.. + +.. bpo: 1566280 +.. date: 6693 +.. nonce: dDNq9b +.. section: Core and Builtins + +Explicitly invoke threading._shutdown from Py_Main, to avoid relying on +atexit. + +.. + +.. bpo: 1590891 +.. date: 6692 +.. nonce: VyFkXx +.. section: Core and Builtins + +random.randrange don't return correct value for big number. + +.. + +.. bpo: 1586791 +.. date: 6691 +.. nonce: xyEZ-z +.. section: Core and Builtins + +Better exception messages for some operations on strings, tuples and lists. + +.. + +.. bpo: 1067760 +.. date: 6690 +.. nonce: HtgVCb +.. section: Core and Builtins + +Deprecate passing floats to file.seek. + +.. + +.. bpo: 1591996 +.. date: 6689 +.. nonce: j1ATtE +.. section: Core and Builtins + +Correctly forward exception in instance_contains(). + +.. + +.. bpo: 1588287 +.. date: 6688 +.. nonce: Mux8Eb +.. section: Core and Builtins + +fix invalid assertion for `1,2` in debug builds. + +.. + +.. bpo: 1576657 +.. date: 6687 +.. nonce: JfJVvT +.. section: Core and Builtins + +when setting a KeyError for a tuple key, make sure that the tuple isn't used +as the "exception arguments tuple". + +.. + +.. bpo: 1565514 +.. date: 6686 +.. nonce: 3kM2zk +.. section: Core and Builtins + +SystemError not raised on too many nested blocks. + +.. + +.. bpo: 1576174 +.. date: 6685 +.. nonce: Ks0OoN +.. section: Core and Builtins + +WindowsError now displays the windows error code again, no longer the posix +error code. + +.. + +.. bpo: 1549049 +.. date: 6684 +.. nonce: ufVmC9 +.. section: Core and Builtins + +Support long values in structmember, issue warnings if the assigned value +for structmember fields gets truncated. + +.. + +.. bpo: 0 +.. date: 6683 +.. nonce: v9ZHkl +.. section: Core and Builtins + +Update the peephole optimizer to remove more dead code (jumps after returns) +and inline unconditional jumps to returns. + +.. + +.. bpo: 1545497 +.. date: 6682 +.. nonce: 0YntFv +.. section: Core and Builtins + +when given an explicit base, int() did ignore NULs embedded in the string to +convert. + +.. + +.. bpo: 1569998 +.. date: 6681 +.. nonce: mqCYRs +.. section: Core and Builtins + +break inside a try statement (outside a loop) is now recognized and +rejected. + +.. + +.. bpo: 0 +.. date: 6680 +.. nonce: MdIC85 +.. section: Core and Builtins + +list.pop(x) accepts any object x following the __index__ protocol. + +.. + +.. bpo: 0 +.. date: 6679 +.. nonce: nWa36P +.. section: Core and Builtins + +A number of places, including integer negation and absolute value, were +fixed to not rely on undefined behaviour of the C compiler anymore. + +.. + +.. bpo: 1566800 +.. date: 6678 +.. nonce: 46JUvD +.. section: Core and Builtins + +make sure that EnvironmentError can be called with any number of arguments, +as was the case in Python 2.4. + +.. + +.. bpo: 1567691 +.. date: 6677 +.. nonce: rDDApW +.. section: Core and Builtins + +super() and new.instancemethod() now don't accept keyword arguments any more +(previously they accepted them, but didn't use them). + +.. + +.. bpo: 0 +.. date: 6676 +.. nonce: FEPr2V +.. section: Core and Builtins + +Fix a bug in the parser's future statement handling that led to "with" not +being recognized as a keyword after, e.g., this statement: from __future__ +import division, with_statement + +.. + +.. bpo: 1557232 +.. date: 6675 +.. nonce: 2eVXVS +.. section: Core and Builtins + +fix seg fault with def f((((x)))) and def f(((x),)). + +.. + +.. bpo: 0 +.. date: 6674 +.. nonce: aEwDvG +.. section: Core and Builtins + +Fix %zd string formatting on Mac OS X so it prints negative numbers. + +.. + +.. bpo: 0 +.. date: 6673 +.. nonce: _XQgGS +.. section: Core and Builtins + +Allow exception instances to be directly sliced again. + +.. + +.. bpo: 1551432 +.. date: 6672 +.. nonce: 4Fco_l +.. section: Core and Builtins + +Exceptions do not define an explicit __unicode__ method. This allows +calling unicode() on exceptions classes directly to succeed. + +.. + +.. bpo: 1542051 +.. date: 6671 +.. nonce: lVPfnC +.. section: Core and Builtins + +Exceptions now correctly call PyObject_GC_UnTrack. Also make sure that every +exception class has __module__ set to 'exceptions'. + +.. + +.. bpo: 1550983 +.. date: 6670 +.. nonce: cUpUA- +.. section: Core and Builtins + +emit better error messages for erroneous relative imports (if not in package +and if beyond toplevel package). + +.. + +.. bpo: 0 +.. date: 6669 +.. nonce: _4DitC +.. section: Core and Builtins + +Overflow checking code in integer division ran afoul of new gcc +optimizations. Changed to be more standard-conforming. + +.. + +.. bpo: 1542451 +.. date: 6668 +.. nonce: 2iFYEe +.. section: Core and Builtins + +disallow continue anywhere under a finally. + +.. + +.. bpo: 1546288 +.. date: 6667 +.. nonce: IBkaPv +.. section: Core and Builtins + +fix seg fault in dict_equal due to ref counting bug. + +.. + +.. bpo: 0 +.. date: 6666 +.. nonce: kNIYss +.. section: Core and Builtins + +The return tuple from str.rpartition(sep) is (tail, sep, head) where head is +the original string if sep was not found. + +.. + +.. bpo: 1520864 +.. date: 6665 +.. nonce: G6F34n +.. section: Core and Builtins + +unpacking singleton tuples in list comprehensions and generator expressions +(x for x, in ... ) works again. Fixing this problem required changing the +.pyc magic number. This means that .pyc files generated before 2.5c2 will +be regenerated. + +.. + +.. bpo: 0 +.. date: 6664 +.. nonce: R3bZAP +.. section: Core and Builtins + +``with`` and ``as`` are now keywords. + +.. + +.. bpo: 1664966 +.. date: 6663 +.. nonce: wU2avG +.. section: Core and Builtins + +Fix crash in exec if Unicode filename can't be decoded. + +.. + +.. bpo: 1537 +.. date: 6662 +.. nonce: Qt9CQA +.. section: Core and Builtins + +Changed GeneratorExit's base class from Exception to BaseException. + +.. + +.. bpo: 1703448 +.. date: 6661 +.. nonce: dAcXJT +.. section: Core and Builtins + +A joined thread could show up in the threading.enumerate() list after the +join() for a brief period until it actually exited. + +.. + +.. bpo: 2274 +.. date: 6660 +.. nonce: COHFzM +.. section: Library + +Add heapq.heappushpop(). + +.. + +.. bpo: 0 +.. date: 6659 +.. nonce: fQAzb9 +.. section: Library + +Add inspect.isabstract(object) to fix bug #2223 + +.. + +.. bpo: 0 +.. date: 6658 +.. nonce: JXuX8j +.. section: Library + +Add a __format__ method to Decimal, to support PEP 3101. + +.. + +.. bpo: 0 +.. date: 6657 +.. nonce: ofhiG1 +.. section: Library + +Add a timing parameter when using trace.Trace to print out timestamps. + +.. + +.. bpo: 1627 +.. date: 6656 +.. nonce: -5gXNT +.. section: Library + +httplib now ignores negative Content-Length headers. + +.. + +.. bpo: 900744 +.. date: 6655 +.. nonce: s5RLjb +.. section: Library + +If an invalid chunked-encoding header is sent by a server, httplib will now +raise IncompleteRead and close the connection instead of raising ValueError. + +.. + +.. bpo: 1492 +.. date: 6654 +.. nonce: 4bp5zb +.. section: Library + +The content type of BaseHTTPServer error messages can now be overridden. + +.. + +.. bpo: 1781 +.. date: 6653 +.. nonce: m_snIp +.. section: Library + +ConfigParser now does not let you add the "default" section (ignore-case) + +.. + +.. bpo: 0 +.. date: 6652 +.. nonce: a5mTI6 +.. section: Library + +Removed uses of dict.has_key() from distutils, and uses of callable() from +copy_reg.py, so the interpreter now starts up without warnings when '-3' is +given. More work like this needs to be done in the rest of the stdlib. + +.. + +.. bpo: 1916 +.. date: 6651 +.. nonce: w1JiGM +.. section: Library + +added isgenerator() and isgeneratorfunction() to inspect.py. + +.. + +.. bpo: 1224 +.. date: 6650 +.. nonce: UN2SxX +.. section: Library + +Fixed bad url parsing when path begins with double slash. + +.. + +.. bpo: 0 +.. date: 6649 +.. nonce: T9Y4k2 +.. section: Library + +ctypes instances that are not or do not contain pointers can now be pickled. + +.. + +.. bpo: 1966 +.. date: 6648 +.. nonce: 8viueu +.. section: Library + +Break infinite loop in httplib when the servers implements the chunked +encoding incorrectly. + +.. + +.. bpo: 0 +.. date: 6647 +.. nonce: p6a6jJ +.. section: Library + +Rename rational.py to fractions.py and the rational.Rational class to +fractions.Fraction, to avoid the name clash with the abstract base class +numbers.Rational. See discussion in issue #1682. + +.. + +.. bpo: 0 +.. date: 6646 +.. nonce: KqfmO5 +.. section: Library + +The pickletools module now provides an optimize() function that eliminates +unused PUT opcodes from a pickle string. + +.. + +.. bpo: 2021 +.. date: 6645 +.. nonce: jhrI3F +.. section: Library + +Allow tempfile.NamedTemporaryFile and SpooledTemporaryFile to be used in +with statements by correctly supporting the context management protocol. + +.. + +.. bpo: 1979 +.. date: 6644 +.. nonce: Ji_oHm +.. section: Library + +Add rich comparisons to Decimal, and make Decimal comparisons involving a +NaN follow the IEEE 754 standard. + +.. + +.. bpo: 2004 +.. date: 6643 +.. nonce: JJ0sxf +.. section: Library + +tarfile.py: Use mode 0700 for temporary directories and default permissions +for missing directories. + +.. + +.. bpo: 175006 +.. date: 6642 +.. nonce: 1yQpV- +.. section: Library + +The debugger used to skip the condition of a "while" statement after the +first iteration. Now it correctly steps on the expression, and breakpoints +on the "while" statement are honored on each loop. + +.. + +.. bpo: 1765140 +.. date: 6641 +.. nonce: 9htIhK +.. section: Library + +add an optional delay argument to FileHandler and its subclasses. Defaults +to false (existing behaviour), but if true, defers opening the file until +the first call to emit(). + +.. + +.. bpo: 0 +.. date: 6640 +.. nonce: kWAgVm +.. section: Library + +The pprint module now supports sets and frozensets. + +.. + +.. bpo: 1221598 +.. date: 6639 +.. nonce: Tv3Q8D +.. section: Library + +add optional callbacks to ftplib.FTP's storbinary() and storlines() methods. +(Contributed by Phil Schwartz) + +.. + +.. bpo: 1715 +.. date: 6638 +.. nonce: JieRLT +.. section: Library + +include sub-extension modules in pydoc's text output. + +.. + +.. bpo: 1836 +.. date: 6637 +.. nonce: dvWiAW +.. section: Library + +fix an off-by-one bug in TimedRotatingHandler's rollover time calculation. + +.. + +.. bpo: 1021 +.. date: 6636 +.. nonce: oJ2Efg +.. section: Library + +fix a bug to allow basicConfig to accept NOTSET as a level. + +.. + +.. bpo: 932563 +.. date: 6635 +.. nonce: KzDj52 +.. section: Library + +add LoggerAdapter convenience class to make it easier to add contextual +information in logging output. + +.. + +.. bpo: 1760556 +.. date: 6634 +.. nonce: TJk_Du +.. section: Library + +fix a bug to avoid FileHandler throwing an exception in flush(). + +.. + +.. bpo: 1530959 +.. date: 6633 +.. nonce: FpNHxq +.. section: Library + +distutils' build command now uses different build directory when building +extension modules against versions of Python compiled with ``--with- +pydebug``. + +.. + +.. bpo: 1555501 +.. date: 6632 +.. nonce: ZWMYzK +.. section: Library + +move plistlib from plat-mac directory to general library. + +.. + +.. bpo: 1269 +.. date: 6631 +.. nonce: mXhB8y +.. section: Library + +fix a bug in pstats.add_callers() and add a unit test file for pstats. + +.. + +.. bpo: 1669 +.. date: 6630 +.. nonce: wYb4kk +.. section: Library + +don't allow shutil.rmtree() to be called on a symlink to a directory. + +.. + +.. bpo: 1664522 +.. date: 6629 +.. nonce: iKq42P +.. section: Library + +in urllib, don't read non-existing directories in ftp mode, returning a +0-byte file -- raise an IOError instead. + +.. + +.. bpo: 856047 +.. date: 6628 +.. nonce: u8LcMz +.. section: Library + +respect the ``no_proxy`` environment variable when using the ``http_proxy`` +etc. environment variables in urllib. + +.. + +.. bpo: 1178141 +.. date: 6627 +.. nonce: kOvNOH +.. section: Library + +add a getcode() method to the addinfourls that urllib.open() returns so that +you can retrieve the HTTP status code. + +.. + +.. bpo: 1003 +.. date: 6626 +.. nonce: WwyOlb +.. section: Library + +Fix zipfile decryption check, it would fail zip files with extended local +headers. + +.. + +.. bpo: 1189216 +.. date: 6625 +.. nonce: ux7ujo +.. section: Library + +Fix the zipfile module to work on archives with headers past the 2**31 byte +boundary. + +.. + +.. bpo: 1336 +.. date: 6624 +.. nonce: r4ZdAS +.. section: Library + +fix a race condition in subprocess.Popen if the garbage collector kicked in +at the wrong time that would cause the process to hang when the child wrote +to stderr. + +.. + +.. bpo: 1146 +.. date: 6623 +.. nonce: 3Fg8Y4 +.. section: Library + +fix how textwrap breaks a long word that would start in the last column of a +line. + +.. + +.. bpo: 1693149 +.. date: 6622 +.. nonce: UDBT5O +.. section: Library + +trace.py --ignore-module - accept multiple comma-separated modules to be +given. + +.. + +.. bpo: 1822 +.. date: 6621 +.. nonce: p-ABc6 +.. section: Library + +MIMEMultipart.is_multipart() behaves correctly for a just-created (and +empty) instance. Thanks Jonathan Share. + +.. + +.. bpo: 1861 +.. date: 6620 +.. nonce: YK39Pw +.. section: Library + +Added an attribute to the sched module which returns an ordered list of +upcoming events (displayed as named tuples). + +.. + +.. bpo: 1837 +.. date: 6619 +.. nonce: ltZfCW +.. section: Library + +The queue module now also supports a LIFO queue and a priority queue. + +.. + +.. bpo: 1048820 +.. date: 6618 +.. nonce: hKddPS +.. section: Library + +Add insert-mode editing to curses.textpad.Textbox (patch by Stefan Wehr). +Also, fix an off-by-one bug in Textbox.gather(). + +.. + +.. bpo: 1831 +.. date: 6617 +.. nonce: nEy8wq +.. section: Library + +ctypes now raises a TypeError if conflicting positional and named arguments +are passed to a Structure or Union initializer. When too many positional +arguments are passed, also a TypeError is raised instead of a ValueError. + +.. + +.. bpo: 0 +.. date: 6616 +.. nonce: 2_XlvX +.. section: Library + +Convert the internal ctypes array type cache to a WeakValueDict so that +array types do not live longer than needed. + +.. + +.. bpo: 1786 +.. date: 6615 +.. nonce: glzSfE +.. section: Library + +pdb should use its own stdin/stdout around an exec call and when creating a +recursive instance. + +.. + +.. bpo: 1698398 +.. date: 6614 +.. nonce: yxfh1R +.. section: Library + +ZipFile.printdir() crashed because the format string expected a tuple type +of length six instead of time.struct_time object. + +.. + +.. bpo: 1780 +.. date: 6613 +.. nonce: PEqfgx +.. section: Library + +The Decimal constructor now accepts arbitrary leading and trailing +whitespace when constructing from a string. Context.create_decimal no longer +accepts trailing newlines. + +.. + +.. bpo: 0 +.. date: 6612 +.. nonce: e5MNna +.. section: Library + +Decimal.as_tuple(), difflib.find_longest_match() and inspect functions that +returned a tuple now return a named tuple. + +.. + +.. bpo: 0 +.. date: 6611 +.. nonce: r8_kX- +.. section: Library + +Doctest now returns results as a named tuple for readability: (0, 7) --> +TestResults(failed=0, attempted=7) + +.. + +.. bpo: 846388 +.. date: 6610 +.. nonce: h2AmOT +.. section: Library + +re.match is interruptible now, which is particularly good for long regular +expression matches. + +.. + +.. bpo: 1137 +.. date: 6609 +.. nonce: USs2NO +.. section: Library + +allow setting buffer_size attribute on pyexpat Parser objects to set the +character data buffer size. + +.. + +.. bpo: 1757 +.. date: 6608 +.. nonce: ZXonpG +.. section: Library + +The hash of a Decimal instance is no longer affected by the current context. + +.. + +.. bpo: 467924 +.. date: 6607 +.. nonce: VqzBRz +.. section: Library + +add ZipFile.extract() and ZipFile.extractall() in the zipfile module. + +.. + +.. bpo: 1646 +.. date: 6606 +.. nonce: 0Shvv6 +.. section: Library + +Make socket support the TIPC protocol. + +.. + +.. bpo: 1742 +.. date: 6605 +.. nonce: vdh5mh +.. section: Library + +return os.curdir from os.path.relpath() if both arguments are equal instead +of raising an exception. + +.. + +.. bpo: 1637 +.. date: 6604 +.. nonce: 9ck-BF +.. section: Library + +fix urlparse for URLs like 'http://x.com?arg=/foo'. + +.. + +.. bpo: 1698 +.. date: 6603 +.. nonce: KTC0EP +.. section: Library + +allow '@' in username parsed by urlparse.py. + +.. + +.. bpo: 1735 +.. date: 6602 +.. nonce: Xgf-_n +.. section: Library + +TarFile.extractall() now correctly sets directory permissions and times. + +.. + +.. bpo: 1713 +.. date: 6601 +.. nonce: SO4g7K +.. section: Library + +posixpath.ismount() claims symlink to a mountpoint is a mountpoint. + +.. + +.. bpo: 1687 +.. date: 6600 +.. nonce: qmmQ39 +.. section: Library + +Fxed plistlib.py restricts to Python int when writing + +.. + +.. bpo: 1700 +.. date: 6599 +.. nonce: u0StFP +.. section: Library + +Regular expression inline flags incorrectly handle certain unicode +characters. + +.. + +.. bpo: 1689 +.. date: 6598 +.. nonce: dx0XAO +.. section: Library + +PEP 3141, numeric abstract base classes. + +.. + +.. bpo: 0 +.. date: 6597 +.. nonce: BOT6AN +.. section: Library + +Tk issue #1851526: Return results from Python callbacks to Tcl as Tcl +objects. + +.. + +.. bpo: 1642 +.. date: 6596 +.. nonce: doGg1I +.. section: Library + +Fix segfault in ctypes when trying to delete attributes. + +.. + +.. bpo: 1727780 +.. date: 6595 +.. nonce: X0UJbf +.. section: Library + +Support loading pickles of random.Random objects created on 32-bit systems +on 64-bit systems, and vice versa. As a consequence of the change, Random +pickles created by Python 2.6 cannot be loaded in Python 2.5. + +.. + +.. bpo: 1455 +.. date: 6594 +.. nonce: qerPO1 +.. section: Library + +The distutils package now supports VS 2005 and VS 2008 for both the +msvccompiler and cygwincompiler. + +.. + +.. bpo: 1531 +.. date: 6593 +.. nonce: hM8cSV +.. section: Library + +tarfile.py: Read fileobj from the current offset, do not seek to the start. + +.. + +.. bpo: 1534 +.. date: 6592 +.. nonce: 2S_yfp +.. section: Library + +Added a dictionary sys.float_info with information about the internal +floating point type to the sys module. + +.. + +.. bpo: 1429818 +.. date: 6591 +.. nonce: f7q9_- +.. section: Library + +patch for trace and doctest modules so they play nicely together. + +.. + +.. bpo: 0 +.. date: 6590 +.. nonce: ydUJ45 +.. section: Library + +doctest made a bad assumption that a package's __loader__.get_data() method +used universal newlines. + +.. + +.. bpo: 1705170 +.. date: 6589 +.. nonce: 0iNdat +.. section: Library + +contextlib.contextmanager was still swallowing StopIteration in some cases. +This should no longer happen. + +.. + +.. bpo: 1292 +.. date: 6588 +.. nonce: kW3YuR +.. section: Library + +On alpha, arm, ppc, and s390 linux systems the --with-system-ffi configure +option defaults to "yes". + +.. + +.. bpo: 0 +.. date: 6587 +.. nonce: nGUzBY +.. section: Library + +IN module for FreeBSD 8 is added and preexisting FreeBSD 6 and 7 files are +updated. + +.. + +.. bpo: 1181 +.. date: 6586 +.. nonce: -eJDB_ +.. section: Library + +unsetenv() is now called when the os.environ.pop() and os.environ.clear() +methods are used. (See also: bpo-1287) + +.. + +.. bpo: 0 +.. date: 6585 +.. nonce: 76qRj0 +.. section: Library + +ctypes will now work correctly on 32-bit systems when Python is configured +with --with-system-ffi. + +.. + +.. bpo: 1203 +.. date: 6584 +.. nonce: MPohFL +.. section: Library + +ctypes now does work on OS X when Python is built with --disable-toolbox- +glue. + +.. + +.. bpo: 0 +.. date: 6583 +.. nonce: 4gk9jK +.. section: Library + +collections.deque() now supports a "maxlen" argument. + +.. + +.. bpo: 0 +.. date: 6582 +.. nonce: KEzbqu +.. section: Library + +itertools.count() is no longer bounded to LONG_MAX. Formerly, it raised an +OverflowError. Now, automatically shifts from ints to longs. + +.. + +.. bpo: 0 +.. date: 6581 +.. nonce: 8OaKab +.. section: Library + +Added itertools.product() which forms the Cartesian product of the input +iterables. + +.. + +.. bpo: 0 +.. date: 6580 +.. nonce: w2hxqg +.. section: Library + +Added itertools.combinations() and itertools.permutations(). + +.. + +.. bpo: 1541463 +.. date: 6579 +.. nonce: xGnI_Z +.. section: Library + +optimize performance of cgi.FieldStorage operations. + +.. + +.. bpo: 0 +.. date: 6578 +.. nonce: oJ3eSC +.. section: Library + +Decimal is fully updated to the latest Decimal Specification (v1.66). + +.. + +.. bpo: 1153 +.. date: 6577 +.. nonce: oxsMZ- +.. section: Library + +repr.repr() now doesn't require set and dictionary items to be orderable to +properly represent them. + +.. + +.. bpo: 0 +.. date: 6576 +.. nonce: 3NxHdM +.. section: Library + +A 'c_longdouble' type was added to the ctypes module. + +.. + +.. bpo: 1709599 +.. date: 6575 +.. nonce: ZInQo1 +.. section: Library + +Run test_1565150 only if the file system is NTFS. + +.. + +.. bpo: 0 +.. date: 6574 +.. nonce: dXPH7w +.. section: Library + +When encountering a password-protected robots.txt file the RobotFileParser +no longer prompts interactively for a username and password (bug 813986). + +.. + +.. bpo: 0 +.. date: 6573 +.. nonce: -jXdBx +.. section: Library + +TarFile.__init__() no longer fails if no name argument is passed and the +fileobj argument has no usable name attribute (e.g. StringIO). + +.. + +.. bpo: 0 +.. date: 6572 +.. nonce: OzvBf4 +.. section: Library + +The functools module now provides 'reduce', for forward compatibility with +Python 3000. + +.. + +.. bpo: 0 +.. date: 6571 +.. nonce: NBttxY +.. section: Library + +Server-side SSL support and cert verification added, by Bill Janssen. + +.. + +.. bpo: 0 +.. date: 6570 +.. nonce: fKSKr7 +.. section: Library + +socket.ssl deprecated; use new ssl module instead. + +.. + +.. bpo: 0 +.. date: 6569 +.. nonce: z663Ql +.. section: Library + +uuid creation is now threadsafe. + +.. + +.. bpo: 0 +.. date: 6568 +.. nonce: NGc_vS +.. section: Library + +EUC-KR codec now handles the cheot-ga-keut composed make-up hangul +syllables. + +.. + +.. bpo: 0 +.. date: 6567 +.. nonce: abpzUy +.. section: Library + +GB18030 codec now can encode additional two-byte characters that are missing +in GBK. + +.. + +.. bpo: 0 +.. date: 6566 +.. nonce: hoSWQ5 +.. section: Library + +Add new codecs for UTF-32, UTF-32-LE and UTF-32-BE. + +.. + +.. bpo: 1704793 +.. date: 6565 +.. nonce: o6G2FY +.. section: Library + +Return UTF-16 pair if unicodedata.lookup cannot represent the result in a +single character. + +.. + +.. bpo: 978833 +.. date: 6564 +.. nonce: nosP-g +.. section: Library + +Close https sockets by releasing the _ssl object. + +.. + +.. bpo: 0 +.. date: 6563 +.. nonce: Ha8_ga +.. section: Library + +Change location of the package index to pypi.python.org/pypi + +.. + +.. bpo: 1701409 +.. date: 6562 +.. nonce: x3Qs1t +.. section: Library + +Fix a segfault in printing ctypes.c_char_p and ctypes.c_wchar_p when they +point to an invalid location. As a sideeffect the representation of these +instances has changed. + +.. + +.. bpo: 0 +.. date: 6561 +.. nonce: QHd-OV +.. section: Library + +tarfile.py: Added "exclude" keyword argument to TarFile.add(). + +.. + +.. bpo: 1734723 +.. date: 6560 +.. nonce: zfdFr7 +.. section: Library + +Fix repr.Repr() so it doesn't ignore the maxtuple attribute. + +.. + +.. bpo: 0 +.. date: 6559 +.. nonce: A7KLfz +.. section: Library + +The urlopen function of urllib2 now has an optional timeout parameter (note +that it actually works with HTTP, HTTPS, FTP and FTPS connections). + +.. + +.. bpo: 0 +.. date: 6558 +.. nonce: mMxho- +.. section: Library + +In ftplib, the FTP.ntransfercmd method, when in passive mode, now uses the +socket.create_connection function, using the timeout specified at connection +time. + +.. + +.. bpo: 1728403 +.. date: 6557 +.. nonce: SusWve +.. section: Library + +Fix a bug that CJKCodecs StreamReader hangs when it reads a file that ends +with incomplete sequence and sizehint argument for .read() is specified. + +.. + +.. bpo: 1730389 +.. date: 6556 +.. nonce: WVvA-8 +.. section: Library + +Change time.strptime() to use ``\s+`` instead of ``\s*`` when matching +spaces in the specified format argument. + +.. + +.. bpo: 1668596 +.. date: 6555 +.. nonce: 5l2Qnk +.. section: Library + +distutils now copies data files even if package_dir is empty. (See also: +bpo-1720897) + +.. + +.. bpo: 0 +.. date: 6554 +.. nonce: jWDgV4 +.. section: Library + +sha now raises a DeprecationWarning upon import. + +.. + +.. bpo: 0 +.. date: 6553 +.. nonce: fepG9O +.. section: Library + +md5 now raises a DeprecationWarning upon import. + +.. + +.. bpo: 1385 +.. date: 6552 +.. nonce: pms34F +.. section: Library + +The hmac module now computes the correct hmac when using hashes with a block +size other than 64 bytes (such as sha384 and sha512). + +.. + +.. bpo: 0 +.. date: 6551 +.. nonce: soFpEB +.. section: Library + +mimify now raises a DeprecationWarning upon import. + +.. + +.. bpo: 0 +.. date: 6550 +.. nonce: eSD3F7 +.. section: Library + +MimeWriter now raises a DeprecationWarning upon import. + +.. + +.. bpo: 0 +.. date: 6549 +.. nonce: CQZoRW +.. section: Library + +tarfile.py: Improved unicode support. Unicode input names are now officially +supported. Added "errors" argument to the TarFile class. + +.. + +.. bpo: 0 +.. date: 6548 +.. nonce: NLgbaM +.. section: Library + +urllib.ftpwrapper class now accepts an optional timeout. + +.. + +.. bpo: 0 +.. date: 6547 +.. nonce: aRmxLC +.. section: Library + +shlex.split() now has an optional "posix" parameter. + +.. + +.. bpo: 0 +.. date: 6546 +.. nonce: 16HcrE +.. section: Library + +The posixfile module now raises a DeprecationWarning. + +.. + +.. bpo: 0 +.. date: 6545 +.. nonce: oUYKUV +.. section: Library + +Remove the gopherlib module. This also leads to the removal of gopher +support in urllib/urllib2. + +.. + +.. bpo: 0 +.. date: 6544 +.. nonce: NH6RAh +.. section: Library + +Fix bug in marshal where bad data would cause a segfault due to lack of an +infinite recursion check. + +.. + +.. bpo: 0 +.. date: 6543 +.. nonce: 9XHU1_ +.. section: Library + +Removed plat-freebsd2 and plat-freebsd3 directories (and IN.py in the +directories). + +.. + +.. bpo: 0 +.. date: 6542 +.. nonce: Sbs4OF +.. section: Library + +HTML-escape the plain traceback in cgitb's HTML output, to prevent the +traceback inadvertently or maliciously closing the comment and injecting +HTML into the error page. + +.. + +.. bpo: 0 +.. date: 6541 +.. nonce: fDPaFU +.. section: Library + +The popen2 module and os.popen* are deprecated. Use the subprocess module. + +.. + +.. bpo: 0 +.. date: 6540 +.. nonce: DiM9IG +.. section: Library + +Added an optional credentials argument to SMTPHandler, for use with SMTP +servers which require authentication. + +.. + +.. bpo: 1695948 +.. date: 6539 +.. nonce: Gkj_1M +.. section: Library + +Added optional timeout parameter to SocketHandler. + +.. + +.. bpo: 1652788 +.. date: 6538 +.. nonce: Wp3YON +.. section: Library + +Minor fix for currentframe. + +.. + +.. bpo: 1598415 +.. date: 6537 +.. nonce: z3zZwM +.. section: Library + +Added WatchedFileHandler to better support external log file rotation using +e.g. newsyslog or logrotate. This handler is only useful in Unix/Linux +environments. + +.. + +.. bpo: 1706381 +.. date: 6536 +.. nonce: LwHKFI +.. section: Library + +Specifying the SWIG option "-c++" in the setup.py file (as opposed to the +command line) will now write file names ending in ".cpp" too. + +.. + +.. bpo: 0 +.. date: 6535 +.. nonce: 960i58 +.. section: Library + +As specified in RFC 2616, an HTTP response like 2xx indicates that the +client's request was successfully received, understood, and accepted. Now +in these cases no error is raised in urllib (issue #1177) and urllib2. + +.. + +.. bpo: 1290505 +.. date: 6534 +.. nonce: bXfrzq +.. section: Library + +time.strptime's internal cache of locale information is now properly +recreated when the locale is changed. + +.. + +.. bpo: 1685563 +.. date: 6533 +.. nonce: ce_7tt +.. section: Library + +remove (don't add) duplicate paths in distutils.MSVCCompiler. + +.. + +.. bpo: 0 +.. date: 6532 +.. nonce: 0VS9AQ +.. section: Library + +Added a timeout parameter to the constructor of other protocols (telnetlib, +ftplib, smtplib and poplib). This is second part of the work started with +create_connection() and timeout in httplib, and closes patch #723312. + +.. + +.. bpo: 1676823 +.. date: 6531 +.. nonce: Ujlmqa +.. section: Library + +Added create_connection() to socket.py, which may be called with a timeout, +and use it from httplib (whose HTTPConnection and HTTPSConnection now accept +an optional timeout). + +.. + +.. bpo: 978833 +.. date: 6530 +.. nonce: zF4H2Y +.. section: Library + +Revert r50844, as it broke _socketobject.dup. + +.. + +.. bpo: 1675967 +.. date: 6529 +.. nonce: 1iw5U2 +.. section: Library + +re patterns pickled with Python 2.4 and earlier can now be unpickled with +Python 2.5 and newer. + +.. + +.. bpo: 1630118 +.. date: 6528 +.. nonce: eZiVxq +.. section: Library + +add a SpooledTemporaryFile class to tempfile.py. + +.. + +.. bpo: 1273829 +.. date: 6527 +.. nonce: mj4QNT +.. section: Library + +os.walk() now has a "followlinks" parameter. If set to True (which is not +the default), it visits symlinks pointing to directories. + +.. + +.. bpo: 1681228 +.. date: 6526 +.. nonce: 4MMQ01 +.. section: Library + +the webbrowser module now correctly uses the default GNOME or KDE browser, +depending on whether there is a session of one of those present. Also, it +tries the Windows default browser before trying Mozilla variants. + +.. + +.. bpo: 1339796 +.. date: 6525 +.. nonce: Nn-Kby +.. section: Library + +add a relpath() function to os.path. + +.. + +.. bpo: 1681153 +.. date: 6524 +.. nonce: fQELcx +.. section: Library + +the wave module now closes a file object it opened if initialization failed. + +.. + +.. bpo: 767111 +.. date: 6523 +.. nonce: C9lOY0 +.. section: Library + +fix long-standing bug in urllib which caused an AttributeError instead of an +IOError when the server's response didn't contain a valid HTTP status line. + +.. + +.. bpo: 957650 +.. date: 6522 +.. nonce: 2j9cb4 +.. section: Library + +"%var%" environment variable references are now properly expanded in +ntpath.expandvars(), also "~user" home directory references are recognized +and handled on Windows. + +.. + +.. bpo: 1429539 +.. date: 6521 +.. nonce: _VYWyV +.. section: Library + +pdb now correctly initializes the __main__ module for the debugged script, +which means that imports from __main__ work correctly now. + +.. + +.. bpo: 0 +.. date: 6520 +.. nonce: 8oczdW +.. section: Library + +The nonobvious commands.getstatus() function is now deprecated. + +.. + +.. bpo: 1393667 +.. date: 6519 +.. nonce: qba-ui +.. section: Library + +pdb now has a "run" command which restarts the debugged Python program, +optionally with different arguments. + +.. + +.. bpo: 1649190 +.. date: 6518 +.. nonce: WRBz2d +.. section: Library + +Adding support for _Bool to ctypes as c_bool. + +.. + +.. bpo: 1530482 +.. date: 6517 +.. nonce: 1HDrw- +.. section: Library + +add pydoc.render_doc() which returns the documentation for a thing instead +of paging it to stdout, which pydoc.doc() does. + +.. + +.. bpo: 1533909 +.. date: 6516 +.. nonce: I3IRRD +.. section: Library + +the timeit module now accepts callables in addition to strings for the code +to time and the setup code. Also added two convenience functions for +instantiating a Timer and calling its methods. + +.. + +.. bpo: 1537850 +.. date: 6515 +.. nonce: mojZP- +.. section: Library + +tempfile.NamedTemporaryFile now has a "delete" parameter which can be set to +False to prevent the default delete-on-close behavior. + +.. + +.. bpo: 1581073 +.. date: 6514 +.. nonce: Im5bIV +.. section: Library + +add a flag to textwrap that prevents the dropping of whitespace while +wrapping. + +.. + +.. bpo: 1603688 +.. date: 6513 +.. nonce: Mv_jlM +.. section: Library + +ConfigParser.SafeConfigParser now checks values that are set for invalid +interpolation sequences that would lead to errors on reading back those +values. + +.. + +.. bpo: 0 +.. date: 6512 +.. nonce: ZYo06p +.. section: Library + +Added support for the POSIX.1-2001 (pax) format to tarfile.py. Extended and +cleaned up the test suite. Added a new testtar.tar. + +.. + +.. bpo: 1449244 +.. date: 6511 +.. nonce: uHkKjk +.. section: Library + +Support Unicode strings in +email.message.Message.{set_charset,get_content_charset}. + +.. + +.. bpo: 1542681 +.. date: 6510 +.. nonce: 5y5uCV +.. section: Library + +add entries for "with", "as" and "CONTEXTMANAGERS" to pydoc's help keywords. + +.. + +.. bpo: 1555098 +.. date: 6509 +.. nonce: mO79lM +.. section: Library + +use str.join() instead of repeated string concatenation in robotparser. + +.. + +.. bpo: 1635454 +.. date: 6508 +.. nonce: 8Gv5Ek +.. section: Library + +the csv.DictWriter class now includes the offending field names in its +exception message if you try to write a record with a dictionary containing +fields not in the CSV field names list. + +.. + +.. bpo: 1668100 +.. date: 6507 +.. nonce: BfAU9i +.. section: Library + +urllib2 now correctly raises URLError instead of OSError if accessing a +local file via the file:// protocol fails. + +.. + +.. bpo: 1677862 +.. date: 6506 +.. nonce: YuXNs6 +.. section: Library + +Require a space or tab after import in .pth files. + +.. + +.. bpo: 1192590 +.. date: 6505 +.. nonce: d2uMgi +.. section: Library + +Fix pdb's "ignore" and "condition" commands so they trap the IndexError +caused by passing in an invalid breakpoint number. + +.. + +.. bpo: 1599845 +.. date: 6504 +.. nonce: 9zhNQX +.. section: Library + +Add an option to disable the implicit calls to server_bind() and +server_activate() in the constructors for TCPServer, SimpleXMLRPCServer and +DocXMLRPCServer. + +.. + +.. bpo: 1531963 +.. date: 6503 +.. nonce: p5GJcu +.. section: Library + +Make SocketServer.TCPServer's server_address always be equal to calling +getsockname() on the server's socket. Fixed by patch #1545011. + +.. + +.. bpo: 742598 +.. date: 6502 +.. nonce: -50Nso +.. section: Library + +Add .timeout attribute to SocketServer that calls .handle_timeout() when no +requests are received. + +.. + +.. bpo: 1651235 +.. date: 6501 +.. nonce: cY8CV7 +.. section: Library + +When a tuple was passed to a ctypes function call, Python would crash +instead of raising an error. + +.. + +.. bpo: 1646630 +.. date: 6500 +.. nonce: rkS7gc +.. section: Library + +ctypes.string_at(buf, 0) and ctypes.wstring_at(buf, 0) returned string up to +the first NUL character. + +.. + +.. bpo: 957003 +.. date: 6499 +.. nonce: SskRob +.. section: Library + +Implement smtplib.LMTP. + +.. + +.. bpo: 1481079 +.. date: 6498 +.. nonce: gEYAkC +.. section: Library + +add support for HTTP_REFERER to CGIHTTPServer. + +.. + +.. bpo: 1675424 +.. date: 6497 +.. nonce: 8A9fwo +.. section: Library + +Added tests for uncovered code in the zipfile module. The KeyError raised +by Zipfile.getinfo for nonexistent names now has a descriptive message. + +.. + +.. bpo: 1115886 +.. date: 6496 +.. nonce: Q-42A9 +.. section: Library + +os.path.splitext('.cshrc') gives now ('.cshrc', ''). + +.. + +.. bpo: 0 +.. date: 6495 +.. nonce: wlVTpz +.. section: Library + +unittest now verifies more of its assumptions. In particular, TestCase and +TestSuite subclasses (not instances) are no longer accepted in +TestSuite.addTest(). This should cause no incompatibility since it never +made sense with ordinary subclasses -- the failure just occurred later, with +a more cumbersome exception. + +.. + +.. bpo: 787789 +.. date: 6494 +.. nonce: jzIMu8 +.. section: Library + +allow passing custom TestRunner instances to unittest's main() function. + +.. + +.. bpo: 1550273 +.. date: 6493 +.. nonce: Ra8QUZ +.. section: Library + +fix a few bugs in unittest and add a comprehensive test suite for the +module. (See also: bpo-1550272) + +.. + +.. bpo: 1001604 +.. date: 6492 +.. nonce: Vdqhuq +.. section: Library + +glob.glob() now returns unicode filenames if it was given a unicode argument +and os.listdir() returns unicode filenames. + +.. + +.. bpo: 1673619 +.. date: 6491 +.. nonce: j16YPr +.. section: Library + +setup.py identifies extension modules it doesn't know how to build and those +it knows how to build but that fail to build. + +.. + +.. bpo: 912410 +.. date: 6490 +.. nonce: mh0cGH +.. section: Library + +Replace HTML entity references for attribute values in HTMLParser. + +.. + +.. bpo: 1663234 +.. date: 6489 +.. nonce: YZlp53 +.. section: Library + +you can now run doctest on test files and modules using "python -m doctest +[-v] filename ...". + +.. + +.. bpo: 1121142 +.. date: 6488 +.. nonce: EulpqL +.. section: Library + +Implement ZipFile.open. + +.. + +.. bpo: 0 +.. date: 6487 +.. nonce: jimAik +.. section: Library + +Taught setup.py how to locate Berkeley DB on Macs using MacPorts. + +.. + +.. bpo: 0 +.. date: 6486 +.. nonce: qbUsHo +.. section: Library + +Added heapq.merge() for merging sorted input streams. + +.. + +.. bpo: 0 +.. date: 6485 +.. nonce: c69oKw +.. section: Library + +Added collections.namedtuple() for assigning field names to tuples. + +.. + +.. bpo: 0 +.. date: 6484 +.. nonce: 5y6Y9N +.. section: Library + +Added itertools.izip_longest(). + +.. + +.. bpo: 0 +.. date: 6483 +.. nonce: VzsTJi +.. section: Library + +Have the encoding package's search function dynamically import using +absolute import semantics. + +.. + +.. bpo: 1647484 +.. date: 6482 +.. nonce: FkN5SP +.. section: Library + +Renamed GzipFile's filename attribute to name. + +.. + +.. bpo: 1517891 +.. date: 6481 +.. nonce: AvYw8j +.. section: Library + +Mode 'a' for ZipFile now creates the file if it doesn't exist. + +.. + +.. bpo: 698833 +.. date: 6480 +.. nonce: UagENp +.. section: Library + +Support file decryption in zipfile. + +.. + +.. bpo: 685268 +.. date: 6479 +.. nonce: j7gRo3 +.. section: Library + +Consider a package's __path__ in imputil. + +.. + +.. bpo: 1463026 +.. date: 6478 +.. nonce: _0rmmb +.. section: Library + +Support default namespace in XMLGenerator. + +.. + +.. bpo: 1571379 +.. date: 6477 +.. nonce: TLNfnP +.. section: Library + +Make trace's --ignore-dir facility work in the face of relative directory +names. + +.. + +.. bpo: 1600860 +.. date: 6476 +.. nonce: gY3F66 +.. section: Library + +Search for shared python library in LIBDIR, not lib/python/config, on +"linux" and "gnu" systems. + +.. + +.. bpo: 1652681 +.. date: 6475 +.. nonce: ZiYQdm +.. section: Library + +tarfile.py: create nonexistent files in append mode and allow appending to +empty files. + +.. + +.. bpo: 1124861 +.. date: 6474 +.. nonce: aulyJj +.. section: Library + +Automatically create pipes if GetStdHandle fails in subprocess. + +.. + +.. bpo: 1634778 +.. date: 6473 +.. nonce: pScHLI +.. section: Library + +add missing encoding aliases for iso8859_15 and iso8859_16. + +.. + +.. bpo: 1638243 +.. date: 6472 +.. nonce: SAVlQC +.. section: Library + +the compiler package is now able to correctly compile a with statement; +previously, executing code containing a with statement compiled by the +compiler package crashed the interpreter. + +.. + +.. bpo: 1643943 +.. date: 6471 +.. nonce: a4nxv3 +.. section: Library + +Fix time.strptime's support for the %U directive. + +.. + +.. bpo: 1507247 +.. date: 6470 +.. nonce: AYqRTm +.. section: Library + +tarfile.py: use current umask for intermediate directories. + +.. + +.. bpo: 1627441 +.. date: 6469 +.. nonce: nTrbqY +.. section: Library + +close sockets properly in urllib2. + +.. + +.. bpo: 494589 +.. date: 6468 +.. nonce: 2kCbNY +.. section: Library + +make ntpath.expandvars behave according to its docstring. + +.. + +.. bpo: 0 +.. date: 6467 +.. nonce: ezpU0D +.. section: Library + +Changed platform module API python_version_tuple() to actually return a +tuple (it used to return a list). + +.. + +.. bpo: 0 +.. date: 6466 +.. nonce: 2-kVtg +.. section: Library + +Added new platform module APIs python_branch(), python_revision(), +python_implementation() and linux_distribution(). + +.. + +.. bpo: 0 +.. date: 6465 +.. nonce: qzrIXP +.. section: Library + +Added support for IronPython and Jython to the platform module. + +.. + +.. bpo: 0 +.. date: 6464 +.. nonce: MS8C3z +.. section: Library + +The sets module has been deprecated. Use the built-in set/frozenset types +instead. + +.. + +.. bpo: 1610795 +.. date: 6463 +.. nonce: FEIux6 +.. section: Library + +make ctypes.util.find_library work on BSD systems. + +.. + +.. bpo: 0 +.. date: 6462 +.. nonce: rfv0pM +.. section: Library + +Fixes for 64-bit Windows: In ctypes.wintypes, correct the definitions of +HANDLE, WPARAM, LPARAM data types. Make parameterless foreign function +calls work. + +.. + +.. bpo: 0 +.. date: 6461 +.. nonce: iCu2EB +.. section: Library + +The version number of the ctypes package changed to "1.1.0". + +.. + +.. bpo: 1627575 +.. date: 6460 +.. nonce: ekqcHu +.. section: Library + +logging: Added _open() method to FileHandler which can be used to reopen +files. The FileHandler instance now saves the encoding (which can be None) +in an attribute called "encoding". + +.. + +.. bpo: 411881 +.. date: 6459 +.. nonce: SdPBJS +.. section: Library + +logging.handlers: bare except clause removed from SMTPHandler.emit. Now, +only ImportError is trapped. + +.. + +.. bpo: 411881 +.. date: 6458 +.. nonce: Hui5Li +.. section: Library + +logging.handlers: bare except clause removed from +SocketHandler.createSocket. Now, only socket.error is trapped. + +.. + +.. bpo: 411881 +.. date: 6457 +.. nonce: EB2bof +.. section: Library + +logging: bare except clause removed from LogRecord.__init__. Now, only +ValueError, TypeError and AttributeError are trapped. + +.. + +.. bpo: 1504073 +.. date: 6456 +.. nonce: i48FvZ +.. section: Library + +Fix tarfile.open() for mode "r" with a fileobj argument. + +.. + +.. bpo: 1182394 +.. date: 6455 +.. nonce: oDRBxu +.. section: Library + +Speed up ``HMAC.hexdigest``. (Patch by Shane Holloway.) + +.. + +.. bpo: 1262036 +.. date: 6454 +.. nonce: 1Y1xgB +.. section: Library + +Prevent TarFiles from being added to themselves under certain conditions. + +.. + +.. bpo: 1230446 +.. date: 6453 +.. nonce: OwOxzM +.. section: Library + +tarfile.py: fix ExFileObject so that read() and tell() work correctly +together with readline(). + +.. + +.. bpo: 1484695 +.. date: 6452 +.. nonce: kbpUdY +.. section: Library + +The tarfile module now raises a HeaderError exception if a buffer given to +frombuf() is invalid. + +.. + +.. bpo: 1503765 +.. date: 6451 +.. nonce: N5UCHi +.. section: Library + +Fix a problem in logging.config with spaces in comma- separated lists read +from logging config files. + +.. + +.. bpo: 1604907 +.. date: 6450 +.. nonce: AXQii8 +.. section: Library + +Fix problems in logging.handlers caused at logging shutdown when syslog +handlers fail to initialize because of syslogd problems. + +.. + +.. bpo: 1608267 +.. date: 6449 +.. nonce: ldcDih +.. section: Library + +fix a race condition in os.makedirs() if the directory to be created is +already there. + +.. + +.. bpo: 1610437 +.. date: 6448 +.. nonce: pXPK4x +.. section: Library + +fix a tarfile bug with long filename headers. + +.. + +.. bpo: 1371075 +.. date: 6447 +.. nonce: NE7BY3 +.. section: Library + +Make ConfigParser accept optional dict type for ordering, sorting, etc. + +.. + +.. bpo: 1563807 +.. date: 6446 +.. nonce: r5ah8b +.. section: Library + +_ctypes built on AIX fails with ld ffi error. + +.. + +.. bpo: 1598620 +.. date: 6445 +.. nonce: jHuKUn +.. section: Library + +A ctypes Structure cannot contain itself. + +.. + +.. bpo: 1070046 +.. date: 6444 +.. nonce: E13xc_ +.. section: Library + +Marshal new-style objects like InstanceType in xmlrpclib. + +.. + +.. bpo: 0 +.. date: 6443 +.. nonce: P-fEXH +.. section: Library + +cStringIO.truncate(-1) now raises an IOError, like StringIO and regular +files. + +.. + +.. bpo: 1472877 +.. date: 6442 +.. nonce: qL083L +.. section: Library + +Fix Tix subwidget name resolution. + +.. + +.. bpo: 1594554 +.. date: 6441 +.. nonce: SqL3iT +.. section: Library + +Always close a tkSimpleDialog on ok(), even if an exception occurs. + +.. + +.. bpo: 1538878 +.. date: 6440 +.. nonce: m2hjNu +.. section: Library + +Don't make tkSimpleDialog dialogs transient if the parent window is +withdrawn. + +.. + +.. bpo: 1597824 +.. date: 6439 +.. nonce: ORR2oo +.. section: Library + +return the registered function from atexit.register() to facilitate usage as +a decorator. + +.. + +.. bpo: 1360200 +.. date: 6438 +.. nonce: 2ymI3x +.. section: Library + +Use unmangled_version RPM spec field to deal with file name mangling. + +.. + +.. bpo: 1359217 +.. date: 6437 +.. nonce: RlkDVQ +.. section: Library + +Process 2xx response in an ftplib transfer that precedes an 1xx response. + +.. + +.. bpo: 1355023 +.. date: 6436 +.. nonce: gz3jFH +.. section: Library + +support whence argument for GzipFile.seek. + +.. + +.. bpo: 1065257 +.. date: 6435 +.. nonce: dzuo9U +.. section: Library + +Support passing open files as body in HTTPConnection.request(). + +.. + +.. bpo: 1569790 +.. date: 6434 +.. nonce: XNZtnX +.. section: Library + +mailbox.py: Maildir.get_folder() and MH.get_folder() weren't passing the +message factory on to newly created Maildir/MH objects. + +.. + +.. bpo: 1514543 +.. date: 6433 +.. nonce: JxSqun +.. section: Library + +mailbox.py: In the Maildir class, report errors if there's a filename clash +instead of possibly losing a message. (Patch by David Watson.) + +.. + +.. bpo: 1514544 +.. date: 6432 +.. nonce: nfmx-- +.. section: Library + +Try to ensure that messages/indexes have been physically written to disk +after calling .flush() or .close(). (Patch by David Watson.) + +.. + +.. bpo: 1592250 +.. date: 6431 +.. nonce: cErfyc +.. section: Library + +Add elide argument to Tkinter.Text.search. + +.. + +.. bpo: 838546 +.. date: 6430 +.. nonce: yBohhh +.. section: Library + +Make terminal become controlling in pty.fork(). + +.. + +.. bpo: 1351744 +.. date: 6429 +.. nonce: a4x3Q4 +.. section: Library + +Add askyesnocancel helper for tkMessageBox. + +.. + +.. bpo: 1060577 +.. date: 6428 +.. nonce: 7Hpowm +.. section: Library + +Extract list of RPM files from spec file in bdist_rpm. + +.. + +.. bpo: 1586613 +.. date: 6427 +.. nonce: pIXli0 +.. section: Library + +fix zlib and bz2 codecs' incremental en/decoders. + +.. + +.. bpo: 1583880 +.. date: 6426 +.. nonce: nwiLAW +.. section: Library + +fix tarfile's problems with long names and posix/ GNU modes. + +.. + +.. bpo: 1586448 +.. date: 6425 +.. nonce: FmFoc_ +.. section: Library + +the compiler module now emits the same bytecode for list comprehensions as +the built-in compiler, using the LIST_APPEND opcode. + +.. + +.. bpo: 0 +.. date: 6424 +.. nonce: 2gBgWG +.. section: Library + +Fix codecs.EncodedFile which did not use file_encoding in 2.5.0, and fix all +codecs file wrappers to work correctly with the "with" statement (bug +#1586513). + +.. + +.. bpo: 0 +.. date: 6423 +.. nonce: zvhpow +.. section: Library + +Lib/modulefinder.py now handles absolute and relative imports correctly. + +.. + +.. bpo: 1567274 +.. date: 6422 +.. nonce: LA_DH5 +.. section: Library + +Support SMTP over TLS. + +.. + +.. bpo: 1560695 +.. date: 6421 +.. nonce: kVpjpW +.. section: Library + +Add .note.GNU-stack to ctypes' sysv.S so that ctypes isn't considered as +requiring executable stacks. + +.. + +.. bpo: 0 +.. date: 6420 +.. nonce: fKDGbU +.. section: Library + +ctypes callback functions only support 'fundamental' data types as result +type. Raise an error when something else is used. This is a partial fix +for Bug #1574584. + +.. + +.. bpo: 0 +.. date: 6419 +.. nonce: yLdVeX +.. section: Library + +Fix turtle so that time.sleep is imported for the entire library. Allows the +demo2 function to be executed on its own instead of only when the module is +run as a script. + +.. + +.. bpo: 1565150 +.. date: 6418 +.. nonce: DJh_i- +.. section: Library + +Fix subsecond processing for os.utime on Windows. + +.. + +.. bpo: 0 +.. date: 6417 +.. nonce: p_gre9 +.. section: Library + +Support for MSVC 8 was added to bdist_wininst. + +.. + +.. bpo: 1446043 +.. date: 6416 +.. nonce: yKz_Q4 +.. section: Library + +correctly raise a LookupError if an encoding name given to +encodings.search_function() contains a dot. + +.. + +.. bpo: 1560617 +.. date: 6415 +.. nonce: aAisSJ +.. section: Library + +in pyclbr, return full module name not only for classes, but also for +functions. + +.. + +.. bpo: 1457823 +.. date: 6414 +.. nonce: CRxLz4 +.. section: Library + +cgi.(Sv)FormContentDict's constructor now takes keep_blank_values and +strict_parsing keyword arguments. + +.. + +.. bpo: 1566602 +.. date: 6413 +.. nonce: bB3CAB +.. section: Library + +correct failure of posixpath unittest when $HOME ends with a slash. + +.. + +.. bpo: 1565661 +.. date: 6412 +.. nonce: AP25Qm +.. section: Library + +in webbrowser, split() the command for the default GNOME browser in case it +is a command with args. + +.. + +.. bpo: 0 +.. date: 6411 +.. nonce: DZkwqI +.. section: Library + +Made the error message for time.strptime when the data and format do match +be more clear. + +.. + +.. bpo: 0 +.. date: 6410 +.. nonce: 7duvEn +.. section: Library + +Fix a bug in traceback.format_exception_only() that led to an error being +raised when print_exc() was called without an exception set. In version 2.4, +this printed "None", restored that behavior. + +.. + +.. bpo: 0 +.. date: 6409 +.. nonce: 709mp_ +.. section: Library + +Make webbrowser.BackgroundBrowser usable in Windows (it wasn't because the +close_fds arg to subprocess.Popen is not supported). + +.. + +.. bpo: 1504333 +.. date: 6408 +.. nonce: y46ekU +.. section: Library + +Reverted change to sgmllib because it introduced an infinite loop. + +.. + +.. bpo: 1553314 +.. date: 6407 +.. nonce: RCumD0 +.. section: Library + +Fix the inspect.py slowdown that was hurting IPython & SAGE by adding +smarter caching in inspect.getmodule() + +.. + +.. bpo: 0 +.. date: 6406 +.. nonce: 6I6WXA +.. section: Library + +Fix missing import of the types module in logging.config. + +.. + +.. bpo: 1550886 +.. date: 6405 +.. nonce: DuV8q5 +.. section: Library + +Fix decimal module context management implementation to match the +localcontext() example from PEP 343. + +.. + +.. bpo: 1545341 +.. date: 6404 +.. nonce: EaLhZZ +.. section: Library + +The 'classifier' keyword argument to the Distutils setup() function now +accepts tuples as well as lists. + +.. + +.. bpo: 1541863 +.. date: 6403 +.. nonce: HUh40x +.. section: Library + +uuid.uuid1 failed to generate unique identifiers on systems with low clock +resolution. + +.. + +.. bpo: 1531862 +.. date: 6402 +.. nonce: yyYfx5 +.. section: Library + +Do not close standard file descriptors in subprocess. + +.. + +.. bpo: 0 +.. date: 6401 +.. nonce: lISaKl +.. section: Library + +Fix utf-8-sig incremental decoder, which didn't recognise a BOM when the +first chunk fed to the decoder started with a BOM, but was longer than 3 +bytes. + +.. + +.. bpo: 0 +.. date: 6400 +.. nonce: RFXvgt +.. section: Library + +The implementation of UnicodeError objects has been simplified (start and +end attributes are now stored directly as Py_ssize_t members). + +.. + +.. bpo: 829951 +.. date: 6399 +.. nonce: v5y-W2 +.. section: Library + +In the smtplib module, SMTP.starttls() now complies with RFC 3207 and +forgets any knowledge obtained from the server not obtained from the TLS +negotiation itself. Patch contributed by Bill Fenner. + +.. + +.. bpo: 1339 +.. date: 6398 +.. nonce: zNAkVN +.. section: Library + +The smtplib.SMTP class has been refactored a bit such that the +SMTP.starttls() caller no longer needs to call ehlo() beforehand. +SMTP.starttls() now raises an exception of the server does not claim to +support starttls. Adds the SMTP.ehlo_or_helo_if_needed() method. Patch +contributed by Bill Fenner. + +.. + +.. bpo: 1089358 +.. date: 6397 +.. nonce: 91PLbW +.. section: Library + +Add signal.siginterrupt, a wrapper around siginterrupt(3). + +.. + +.. bpo: 1657 +.. date: 6396 +.. nonce: KEujtl +.. section: Library + +added select.epoll and select.kqueue. + +.. + +.. bpo: 1506171 +.. date: 6395 +.. nonce: h2Yotv +.. section: Library + +added operator.methodcaller(). + +.. + +.. bpo: 1826 +.. date: 6394 +.. nonce: P9qpop +.. section: Library + +operator.attrgetter() now supports dotted attribute paths. + +.. + +.. bpo: 1957 +.. date: 6393 +.. nonce: oQ_zDG +.. section: Library + +syslogmodule: Release GIL when calling syslog(3). + +.. + +.. bpo: 2112 +.. date: 6392 +.. nonce: CfSrtY +.. section: Library + +mmap.error is now a subclass of EnvironmentError and not a direct +EnvironmentError. + +.. + +.. bpo: 2111 +.. date: 6391 +.. nonce: nUPHdZ +.. section: Library + +mmap segfaults when trying to write a block opened with PROT_READ. + +.. + +.. bpo: 2063 +.. date: 6390 +.. nonce: -AQbR3 +.. section: Library + +correct order of utime and stime in os.times() result on Windows. + +.. + +.. bpo: 1736 +.. date: 6389 +.. nonce: Ag5pGB +.. section: Library + +Fix file name handling of _msi.FCICreate. + +.. + +.. bpo: 0 +.. date: 6388 +.. nonce: zNsGmS +.. section: Library + +Updated ``big5hkscs`` codec to the HKSCS revision of 2004. + +.. + +.. bpo: 1940 +.. date: 6387 +.. nonce: VTj9uW +.. section: Library + +make it possible to use curses.filter() before curses.initscr() as the +documentation says. + +.. + +.. bpo: 0 +.. date: 6386 +.. nonce: J1VXc3 +.. section: Library + +Backport of _fileio module from Python 3.0. + +.. + +.. bpo: 1087741 +.. date: 6385 +.. nonce: pcDAZm +.. section: Library + +mmap.mmap is now a class, not a factory function. It is also subclassable +now. + +.. + +.. bpo: 1648 +.. date: 6384 +.. nonce: 1C5JXG +.. section: Library + +added ``sys.getprofile()`` and ``sys.gettrace()``. + +.. + +.. bpo: 1663329 +.. date: 6383 +.. nonce: m0g8vu +.. section: Library + +added ``os.closerange()`` function to quickly close a range of file +descriptors without considering errors. + +.. + +.. bpo: 976880 +.. date: 6382 +.. nonce: R51uQk +.. section: Library + +``mmap`` objects now have an ``rfind`` method that works as expected. +``mmap.find`` also takes an optional ``end`` parameter. + +.. + +.. bpo: 0 +.. date: 6381 +.. nonce: wrGXou +.. section: Library + +_winreg's HKEY object has gained __enter__ and __exit__ methods to support +the context management protocol. The _winreg module also gained a new +function ``ExpandEnvironmentStrings`` to expand REG_EXPAND_SZ keys. + +.. + +.. bpo: 0 +.. date: 6380 +.. nonce: ke0PK4 +.. section: Library + +itertools.starmap() now accepts any iterable input. Previously, it required +the function inputs to be tuples. + +.. + +.. bpo: 0 +.. date: 6379 +.. nonce: JNKKZ8 +.. section: Library + +itertools.chain() now has an alternate constructor, chain.from_iterable(). + +.. + +.. bpo: 1646 +.. date: 6378 +.. nonce: DqQiG7 +.. section: Library + +Make socket support TIPC. The socket module now has support for TIPC under +Linux, see http://tipc.sf.net/ for more information. + +.. + +.. bpo: 0 +.. date: 6377 +.. nonce: YrJhGa +.. section: Library + +Added interface for Windows' WSAIoctl to socket object and added an example +for a simple network sniffer. + +.. + +.. bpo: 1301 +.. date: 6376 +.. nonce: w3N8In +.. section: Library + +Bad assert in _tkinter fixed. + +.. + +.. bpo: 0 +.. date: 6375 +.. nonce: 1zmfDo +.. section: Library + +Added bdist_wininst executable for VS 2008. + +.. + +.. bpo: 1604 +.. date: 6374 +.. nonce: d3HHRR +.. section: Library + +collections.deque.__init__(iterable) now clears any prior contents before +adding elements from the iterable. This fix brings the behavior into line +with that for list.__init__(). + +.. + +.. bpo: 0 +.. date: 6373 +.. nonce: hHIPo7 +.. section: Library + +Added wide char functions to msvcrt module: getwch, getwche, putwch and +ungetwch. The functions accept or return unicode. + +.. + +.. bpo: 0 +.. date: 6372 +.. nonce: OFK-oY +.. section: Library + +os.access now returns True on Windows for any existing directory. + +.. + +.. bpo: 0 +.. date: 6371 +.. nonce: vDe3M3 +.. section: Library + +Added warnpy3k function to the warnings module. + +.. + +.. bpo: 0 +.. date: 6370 +.. nonce: brR3xl +.. section: Library + +Marshal.dumps() now expects exact type matches for int, long, float, +complex, tuple, list, dict, set, and frozenset. Formerly, it would silently +miscode subclasses of those types. Now, it raises a ValueError instead. + +.. + +.. bpo: 1388440 +.. date: 6369 +.. nonce: L0q4gk +.. section: Library + +Add set_completion_display_matches_hook and get_completion_type to readline. + +.. + +.. bpo: 1649098 +.. date: 6368 +.. nonce: ahOvw- +.. section: Library + +Avoid declaration of zero-sized array declaration in structure. + +.. + +.. bpo: 0 +.. date: 6367 +.. nonce: -gsoXT +.. section: Library + +Removed the rgbimg module; been deprecated since Python 2.5. + +.. + +.. bpo: 1721309 +.. date: 6366 +.. nonce: Xm2Y60 +.. section: Library + +prevent bsddb module from freeing random memory. + +.. + +.. bpo: 1233 +.. date: 6365 +.. nonce: 85-yC3 +.. section: Library + +fix bsddb.dbshelve.DBShelf append method to work as intended for RECNO +databases. + +.. + +.. bpo: 0 +.. date: 6364 +.. nonce: P617AK +.. section: Library + +pybsddb.sf.net Bug #477182: Load the database flags at database open time so +that opening a database previously created with the DB_DUP or DB_DUPSORT +flag set will keep the proper behavior on subsequent opens. Specifically: +dictionary assignment to a DB object will replace all values for a given key +when the database allows duplicate values. DB users should use DB.put(k, v) +when they want to store duplicates; not DB[k] = v. + +.. + +.. bpo: 0 +.. date: 6363 +.. nonce: 5NHGNc +.. section: Library + +Add the bsddb.db.DBEnv.lock_id_free method. + +.. + +.. bpo: 1686475 +.. date: 6362 +.. nonce: gwpzpq +.. section: Library + +Support stat'ing open files on Windows again. + +.. + +.. bpo: 1185447 +.. date: 6361 +.. nonce: 4SdEiu +.. section: Library + +binascii.b2a_qp() now correctly quotes binary characters with ASCII value +less than 32. Also, it correctly quotes dots only if they occur on a single +line, as opposed to the previous behavior of quoting dots if they are the +second character of any line. + +.. + +.. bpo: 1622896 +.. date: 6360 +.. nonce: 4WbmkO +.. section: Library + +fix a rare corner case where the bz2 module raised an error in spite of a +succesful compression. + +.. + +.. bpo: 1654417 +.. date: 6359 +.. nonce: H1p2ET +.. section: Library + +make operator.{get,set,del}slice use the full range of Py_ssize_t. + +.. + +.. bpo: 1646728 +.. date: 6358 +.. nonce: qkvzER +.. section: Library + +datetime.fromtimestamp fails with negative fractional times. With unittest. + +.. + +.. bpo: 1490190 +.. date: 6357 +.. nonce: n7enEK +.. section: Library + +posixmodule now includes os.chflags() and os.lchflags() functions on +platforms where the underlying system calls are available. + +.. + +.. bpo: 1494140 +.. date: 6356 +.. nonce: --CKWP +.. section: Library + +Add documentation for the new struct.Struct object. + +.. + +.. bpo: 1432399 +.. date: 6355 +.. nonce: uVk0JY +.. section: Library + +Support the HCI protocol for bluetooth sockets + +.. + +.. bpo: 1657276 +.. date: 6354 +.. nonce: fcUdLm +.. section: Library + +Make NETLINK_DNRTMSG conditional. + +.. + +.. bpo: 1653736 +.. date: 6353 +.. nonce: tNuUq7 +.. section: Library + +Complain about keyword arguments to time.isoformat. + +.. + +.. bpo: 1486663 +.. date: 6352 +.. nonce: sR35oQ +.. section: Library + +don't reject keyword arguments for subclasses of built-in types. + +.. + +.. bpo: 1610575 +.. date: 6351 +.. nonce: xC0F2x +.. section: Library + +The struct module now supports the 't' code, for C99 _Bool. + +.. + +.. bpo: 1635058 +.. date: 6350 +.. nonce: 1H4WNl +.. section: Library + +ensure that htonl and friends never accept or return negative numbers, per +the underlying C implementation. + +.. + +.. bpo: 1544279 +.. date: 6349 +.. nonce: oS9QmK +.. section: Library + +Improve thread-safety of the socket module by moving the sock_addr_t storage +out of the socket object. + +.. + +.. bpo: 1019808 +.. date: 6348 +.. nonce: WZeJ5G +.. section: Library + +fix bug that causes an incorrect error to be returned when a socket timeout +is set and a connection attempt fails. + +.. + +.. bpo: 0 +.. date: 6347 +.. nonce: yggQVa +.. section: Library + +Speed up function calls into the math module. + +.. + +.. bpo: 1588217 +.. date: 6346 +.. nonce: CZ-jdO +.. section: Library + +don't parse "= " as a soft line break in binascii's a2b_qp() function, +instead leave it in the string as quopri.decode() does. + +.. + +.. bpo: 1599782 +.. date: 6345 +.. nonce: nZV6k1 +.. section: Library + +Fix segfault on bsddb.db.DB().type(). + +.. + +.. bpo: 1567666 +.. date: 6344 +.. nonce: Yy8nbf +.. section: Library + +Emulate GetFileAttributesExA for Win95. + +.. + +.. bpo: 1576166 +.. date: 6343 +.. nonce: uPuEL3 +.. section: Library + +Support os.utime for directories on Windows NT+. + +.. + +.. bpo: 1572724 +.. date: 6342 +.. nonce: AS17ot +.. section: Library + +fix typo ('=' instead of '==') in _msi.c. + +.. + +.. bpo: 1572832 +.. date: 6341 +.. nonce: usqHny +.. section: Library + +fix a bug in ISO-2022 codecs which may cause segfault when encoding non-BMP +unicode characters. + +.. + +.. bpo: 1556784 +.. date: 6340 +.. nonce: 1CAZai +.. section: Library + +allow format strings longer than 127 characters in datetime's strftime +function. + +.. + +.. bpo: 0 +.. date: 6339 +.. nonce: IX1su7 +.. section: Library + +Fix itertools.count(n) to work with negative numbers again. + +.. + +.. bpo: 0 +.. date: 6338 +.. nonce: E13nLX +.. section: Library + +RLIMIT_SBSIZE was added to the resource module where available. + +.. + +.. bpo: 1551427 +.. date: 6337 +.. nonce: FbxrjA +.. section: Library + +fix a wrong NULL pointer check in the win32 version of os.urandom(). + +.. + +.. bpo: 1548092 +.. date: 6336 +.. nonce: CQ3Zbs +.. section: Library + +fix curses.tparm seg fault on invalid input. + +.. + +.. bpo: 1114 +.. date: 6335 +.. nonce: hs32Do +.. section: Library + +fix curses module compilation on 64-bit AIX, & possibly other 64-bit LP64 +platforms where attr_t is not the same size as a long. (Contributed by Luke +Mewburn.) + +.. + +.. bpo: 1550714 +.. date: 6334 +.. nonce: _3LprN +.. section: Library + +fix SystemError from itertools.tee on negative value for n. + +.. + +.. bpo: 0 +.. date: 6333 +.. nonce: 44hgU5 +.. section: Library + +Fixed a few bugs on cjkcodecs: - gbk and gb18030 codec now handle U+30FB +KATAKANA MIDDLE DOT correctly. - iso2022_jp_2 codec now encodes into G0 +for KS X 1001, GB2312 codepoints to conform the standard. - iso2022_jp_3 +and iso2022_jp_2004 codec can encode JIS X 0213:2 codepoints now. + +.. + +.. bpo: 1552726 +.. date: 6332 +.. nonce: KRiUv4 +.. section: Library + +in readline.c, avoid repeatedly polling in interactive mode by only placing +a timeout on the select() if an input hook has been defined. This prevents +an interactive Python from waking up 10 times per second. Patch by Richard +Boulton. + +.. + +.. bpo: 0 +.. date: 6331 +.. nonce: a94xwS +.. section: Library + +fixed a bug with bsddb.DB.stat: the flags and txn keyword arguments were +transposed. + +.. + +.. bpo: 0 +.. date: 6330 +.. nonce: m3uTkK +.. section: Library + +Added support for linking the bsddb module against BerkeleyDB 4.5.x, 4.6.x +and 4.7.x. + +.. + +.. bpo: 1633621 +.. date: 6329 +.. nonce: M5Ndcj +.. section: Library + +if curses.resizeterm() or curses.resize_term() is called, update +_curses.LINES, _curses.COLS, curses.LINES and curses.COLS. + +.. + +.. bpo: 0 +.. date: 6328 +.. nonce: HrtEA6 +.. section: Library + +Fix an off-by-one bug in locale.strxfrm(). + +.. + +.. bpo: 0 +.. date: 6327 +.. nonce: ojYwDU +.. section: Library + +Fix libffi configure for hppa*-*-linux* | parisc*-*-linux*. + +.. + +.. bpo: 0 +.. date: 6326 +.. nonce: A1idYz +.. section: Library + +Build using system ffi library on arm*-linux*. + +.. + +.. bpo: 1372 +.. date: 6325 +.. nonce: VpXOJ9 +.. section: Library + +zlibmodule.c: int overflow in PyZlib_decompress + +.. + +.. bpo: 0 +.. date: 6324 +.. nonce: at5Xd_ +.. section: Library + +bsddb module: Fix memory leak when using database cursors on databases +without a DBEnv. + +.. + +.. bpo: 0 +.. date: 6323 +.. nonce: ilOhKQ +.. section: Library + +The sqlite3 module was updated to pysqlite 2.4.1. + +.. + +.. bpo: 813342 +.. date: 6322 +.. nonce: s5yukE +.. section: IDLE + +Start the IDLE subprocess with -Qnew if the parent is started with that +option. + +.. + +.. bpo: 0 +.. date: 6321 +.. nonce: JiyCdF +.. section: IDLE + +IDLE: Honor the "Cancel" action in the save dialog (Debian bug #299092). + +.. + +.. bpo: 30357 +.. date: 6320 +.. nonce: n4CPEa +.. section: Tests + +test_thread: setUp() now uses support.threading_setup() and +support.threading_cleanup() to wait until threads complete to avoid random +side effects on following tests. Initial patch written by Grzegorz Grzywacz. + +.. + +.. bpo: 0 +.. date: 6319 +.. nonce: PVjNrU +.. section: Tests + +Refactor test_logging to use unittest. + +.. + +.. bpo: 0 +.. date: 6318 +.. nonce: 7j-hhA +.. section: Tests + +Refactor test_profile and test_cprofile to use the same code to profile. + +.. + +.. bpo: 0 +.. date: 6317 +.. nonce: q9s3e7 +.. section: Tests + +Make test_runpy reentrant by fixing _check_module to clear out any module +being tested. Was causing an error by __import__ doing a reload on the +second run and thus suppressing bytecode recreation. + +.. + +.. bpo: 0 +.. date: 6316 +.. nonce: 7jQnkY +.. section: Tests + +Capture socket connection resets and timeouts in test_socket_ssl and +test_urllib2net and raise test.test_support.ResourceDenied. + +.. + +.. bpo: 1559413 +.. date: 6315 +.. nonce: GoWQim +.. section: Tests + +Fix test_cmd_line if sys.executable contains a space. + +.. + +.. bpo: 0 +.. date: 6314 +.. nonce: vjtR_D +.. section: Tests + +Added test.test_support.TransientResource which is a context manager to +surround calls to resources that are not guaranteed to work even if +test.test_support.requires says that the resource should exist. + +.. + +.. bpo: 0 +.. date: 6313 +.. nonce: 6z7bKB +.. section: Tests + +Added a test for slicing of an exception. + +.. + +.. bpo: 0 +.. date: 6312 +.. nonce: ieil_O +.. section: Tests + +Added test.test_support.EnvironmentVarGuard. It's a class that provides a +context manager so that one can temporarily set or unset environment +variables. + +.. + +.. bpo: 0 +.. date: 6311 +.. nonce: jmumH0 +.. section: Tests + +Added some tests for modulefinder. + +.. + +.. bpo: 0 +.. date: 6310 +.. nonce: 0Kz44H +.. section: Tests + +Converted test_imp to use unittest. + +.. + +.. bpo: 0 +.. date: 6309 +.. nonce: smrRfs +.. section: Tests + +Fix bsddb test_basics.test06_Transactions to check the version number +properly. + +.. + +.. bpo: 0 +.. date: 6308 +.. nonce: Z4K3CJ +.. section: Tests + +test.test_support.catch_warning is a new context manager that can be used to +catch the warnings issued by the warning framework. + +.. + +.. bpo: 0 +.. date: 6307 +.. nonce: lEqBYO +.. section: Tools/Demos + +Tools/scripts/reindent.py now creates the backup file using shutil.copy to +preserve user/group and permissions. Added also a --nobackup option to not +create the backup if the user is concerned regarding this. Check issue +#1050828 for more details. + +.. + +.. bpo: 0 +.. date: 6306 +.. nonce: JHrA97 +.. section: Tools/Demos + +Tools/scripts/win_add2path.py was added. The simple script modifes the PATH +environment var of the HKCU tree and adds the python bin and script +directory. + +.. + +.. bpo: 0 +.. date: 6305 +.. nonce: cj1Ip_ +.. section: Tools/Demos + +Tools/18n/pygettext.py was added to the list of scripts installed by +Tools/scripts/setup.py (tracker item 642309). + +.. + +.. bpo: 0 +.. date: 6304 +.. nonce: q6eo5q +.. section: Tools/Demos + +Added IronPython and Jython support to pybench (part of which was patch +#1563844). + +.. + +.. bpo: 0 +.. date: 6303 +.. nonce: xPqVA4 +.. section: Tools/Demos + +Made some minor changes to pybench output to allow the user to see which +Python version is running pybench. + +.. + +.. bpo: 0 +.. date: 6302 +.. nonce: Ufn_76 +.. section: Tools/Demos + +Added support for the new platform module feature +platform.python_implementation(); this will now be saved in the benchmark +pickle. + +.. + +.. bpo: 0 +.. date: 6301 +.. nonce: SJGror +.. section: Documentation + +RFE #1765140: Updated documentation on FileHandler and subclasses to include +new optional delay argument. + +.. + +.. bpo: 932563 +.. date: 6300 +.. nonce: ujYdrI +.. section: Documentation + +Added section on getting contextual information into logging output, and +added documentation for the new LoggerAdapter class. + +.. + +.. bpo: 1295 +.. date: 6299 +.. nonce: WBH2ZB +.. section: Documentation + +Added information about caching of formatted exception information in the +LogRecord by Formatter.format(). + +.. + +.. bpo: 1637365 +.. date: 6298 +.. nonce: hHynKK +.. section: Documentation + +add subsection about "__name__ == __main__" to the Python tutorial. + +.. + +.. bpo: 1698768 +.. date: 6297 +.. nonce: e4h7Jp +.. section: Documentation + +updated the "using Python on the Mac" intro. + +.. + +.. bpo: 1569057 +.. date: 6296 +.. nonce: DqDgin +.. section: Documentation + +Document that calling file.next() when the file is open for writing is +undefined. + +.. + +.. bpo: 1489771 +.. date: 6295 +.. nonce: Ygchql +.. section: Documentation + +the syntax rules in Python Reference Manual were updated to reflect the +current Python syntax. + +.. + +.. bpo: 1686451 +.. date: 6294 +.. nonce: ODrdFR +.. section: Documentation + +Fix return type for PySequence_{Count,Index,Fast_GET_SIZE}. + +.. + +.. bpo: 1679379 +.. date: 6293 +.. nonce: T_NdX4 +.. section: Documentation + +add documentation for fnmatch.translate(). + +.. + +.. bpo: 1629566 +.. date: 6292 +.. nonce: IkETIS +.. section: Documentation + +clarify the docs on the return values of parsedate() and parsedate_tz() in +email.utils and rfc822. + +.. + +.. bpo: 1671450 +.. date: 6291 +.. nonce: nJrEYa +.. section: Documentation + +add a section about subclassing built-in types to the "extending and +embedding" tutorial. + +.. + +.. bpo: 1629125 +.. date: 6290 +.. nonce: 9JdHlD +.. section: Documentation + +fix wrong data type (int -> Py_ssize_t) in PyDict_Next docs. + +.. + +.. bpo: 1565919 +.. date: 6289 +.. nonce: hwpjHv +.. section: Documentation + +document set types in the Language Reference. + +.. + +.. bpo: 1546052 +.. date: 6288 +.. nonce: 3_Kcqu +.. section: Documentation + +clarify that PyString_FromString(AndSize) copies the string pointed to by +its parameter. + +.. + +.. bpo: 1566663 +.. date: 6287 +.. nonce: mAgcIO +.. section: Documentation + +remove obsolete example from datetime docs. + +.. + +.. bpo: 1541682 +.. date: 6286 +.. nonce: 10BXyV +.. section: Documentation + +Fix example in the "Refcount details" API docs. Additionally, remove a +faulty example showing PySequence_SetItem applied to a newly created list +object and add notes that this isn't a good idea. + +.. + +.. bpo: 1552024 +.. date: 6285 +.. nonce: FQsYLY +.. section: Tools/Demos + +add decorator support to unparse.py demo script. + +.. + +.. bpo: 0 +.. date: 6284 +.. nonce: whjkV0 +.. section: Tools/Demos + +Make auto-generated python.vim file list built-ins and exceptions in +alphatbetical order. Makes output more deterministic and easier to tell if +the file is stale or not. + +.. + +.. bpo: 1546372 +.. date: 6283 +.. nonce: MVtd4U +.. section: Tools/Demos + +Fixed small bugglet in pybench that caused a missing file not to get +reported properly. + +.. + +.. bpo: 0 +.. date: 6282 +.. nonce: keNFft +.. section: Build + +Have the search path for building extensions follow the declared order in +$CPPFLAGS and $LDFLAGS when adding directories from those environment +variables. + +.. + +.. bpo: 1983 +.. date: 6281 +.. nonce: DMUUfR +.. section: Build + +Added a check to pyport to verify that sizeof(pid_t) is smaller or equal +sizeof(long). + +.. + +.. bpo: 1234 +.. date: 6280 +.. nonce: uVPtek +.. section: Build + +Fixed semaphore errors on AIX 5.2 + +.. + +.. bpo: 1726 +.. date: 6279 +.. nonce: VPW3gd +.. section: Build + +Remove Python/atof.c from PCBuild/pythoncore.vcproj. + +.. + +.. bpo: 0 +.. date: 6278 +.. nonce: v3vkcE +.. section: Build + +Removed PCbuild8/ directory and added a new build directory for VS 2005 +based on the VS 2008 build directory to PC/VS8.0. The script +PCbuild/vs8to9.py was added to sync changes from PCbuild to PC/VS8.0. + +.. + +.. bpo: 0 +.. date: 6277 +.. nonce: PiHUNm +.. section: Build + +Moved PCbuild/ directory for VS 2003 to PC/VS7.1 and renamed PCBuild9/ +directory to PCBuild/. + +.. + +.. bpo: 1699 +.. date: 6276 +.. nonce: p7AIXC +.. section: Build + +Define _BSD_SOURCE only on OpenBSD. + +.. + +.. bpo: 1608 +.. date: 6275 +.. nonce: H08Msy +.. section: Build + +use -fwrapv when GCC supports it. This is important, newer GCC versions may +optimize away overflow buffer overflow checks without this option! + +.. + +.. bpo: 1418 +.. date: 6274 +.. nonce: DbqMV4 +.. section: Build + +Make the AC_REPLACE_FUNCS object files actually work. + +.. + +.. bpo: 0 +.. date: 6273 +.. nonce: voVF_6 +.. section: Build + +Add a FAST_LOOPS build option that speeds-up looping by trading away +periodic threadstate and signal checking in tight loops. By default, this +option is turned-off. It should only be enabled in debugged, performance +critical applications. + +.. + +.. bpo: 786737 +.. date: 6272 +.. nonce: mJJr01 +.. section: Build + +Allow building in a tree of symlinks pointing to a readonly source. + +.. + +.. bpo: 1737210 +.. date: 6271 +.. nonce: hMxaQH +.. section: Build + +Change Manufacturer of Windows installer to PSF. + +.. + +.. bpo: 1746880 +.. date: 6270 +.. nonce: hrR2KM +.. section: Build + +Correctly install DLLs into system32 folder on Win64. + +.. + +.. bpo: 0 +.. date: 6269 +.. nonce: xKHD52 +.. section: Build + +Define _BSD_SOURCE, to get access to POSIX extensions on OpenBSD 4.1+. + +.. + +.. bpo: 0 +.. date: 6268 +.. nonce: 3JXjJ7 +.. section: Build + +Stop supporting AtheOS and cause a build error in configure for the +platform. + +.. + +.. bpo: 1655392 +.. date: 6267 +.. nonce: bwAdWN +.. section: Build + +don't add -L/usr/lib/pythonX.Y/config to the LDFLAGS returned by python- +config if Python was built with --enable-shared because that prevented the +shared library from being used. + +.. + +.. bpo: 1569798 +.. date: 6266 +.. nonce: 7Camzj +.. section: Build + +fix a bug in distutils when building Python from a directory within +sys.exec_prefix. + +.. + +.. bpo: 1675511 +.. date: 6265 +.. nonce: j8xiLT +.. section: Build + +Use -Kpic instead of -xcode=pic32 on Solaris/x86. + +.. + +.. bpo: 0 +.. date: 6264 +.. nonce: D_HO5I +.. section: Build + +Disable _XOPEN_SOURCE on NetBSD 1.x. + +.. + +.. bpo: 0 +.. date: 6263 +.. nonce: ipd_yd +.. section: Build + +configure now checks whether gcc supports the PyArg_ParseTuple format +attribute. + +.. + +.. bpo: 1578513 +.. date: 6262 +.. nonce: MkcqR2 +.. section: Build + +Cross compilation was broken by a change to configure. Repair so that it's +back to how it was in 2.4.3. + +.. + +.. bpo: 1576954 +.. date: 6261 +.. nonce: Rd2jyj +.. section: Build + +Update VC6 build directory; remove redundant files in VC7. + +.. + +.. bpo: 1568842 +.. date: 6260 +.. nonce: xBW1d2 +.. section: Build + +Fix test for uintptr_t. + +.. + +.. bpo: 1540470 +.. date: 6259 +.. nonce: JS-AGw +.. section: Build + +for OpenBSD 4.0. + +.. + +.. bpo: 0 +.. date: 6258 +.. nonce: 7uKaSk +.. section: Build + +Fix build failure on kfreebsd and on the hurd. + +.. + +.. bpo: 0 +.. date: 6257 +.. nonce: cPAQ_M +.. section: Build + +Fix the build of the library reference in info format. + +.. + +.. bpo: 0 +.. date: 6256 +.. nonce: vXo4QU +.. section: Build + +Allow Emacs 22 for building the documentation in info format. + +.. + +.. bpo: 0 +.. date: 6255 +.. nonce: UHEp2F +.. section: Build + +Makefile.pre.in(buildbottest): Run an optional script pybuildbot.identify to +include some information about the build environment. + +.. + +.. bpo: 0 +.. date: 6254 +.. nonce: Wws2go +.. section: C API + +Unified naming convention for free lists and their limits. All free lists in +Object/ are named ``free_list``, the counter ``numfree`` and the upper limit +is a macro ``PyName_MAXFREELIST`` inside an #ifndef block. + +.. + +.. bpo: 0 +.. date: 6253 +.. nonce: vwQmXR +.. section: C API + +``PySet_Add()`` can now modify a newly created frozenset. Similarly to +``PyTuple_SetItem``, it can be used to populate a brand new frozenset; but +it does not steal a reference to the added item. + +.. + +.. bpo: 0 +.. date: 6252 +.. nonce: b3Psyt +.. section: C API + +Added ``PySet_Check()`` and ``PyFrozenSet_Check()`` to the set API. + +.. + +.. bpo: 0 +.. date: 6251 +.. nonce: UrXjnD +.. section: C API + +Backport of PyUnicode_FromString(), _FromStringAndSize(), _Format and +_FormatV from Python 3.0. Made PyLong_AsSsize_t and PyLong_FromSsize_t +public functions. + +.. + +.. bpo: 1720595 +.. date: 6250 +.. nonce: FdLtKP +.. section: C API + +add T_BOOL to the range of structmember types. + +.. + +.. bpo: 1534 +.. date: 6249 +.. nonce: k9vjbw +.. section: C API + +Added ``PyFloat_GetMax()``, ``PyFloat_GetMin()`` and ``PyFloat_GetInfo()`` +to the float API. + +.. + +.. bpo: 1521 +.. date: 6248 +.. nonce: eHI3IG +.. section: C API + +On 64bit platforms, using PyArgs_ParseTuple with the t# of w# format code +incorrectly truncated the length to an int, even when PY_SSIZE_T_CLEAN is +set. The str.decode method used to return incorrect results with huge +strings. + +.. + +.. bpo: 1629 +.. date: 6247 +.. nonce: YktpXQ +.. section: C API + +Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT. + +.. + +.. bpo: 0 +.. date: 6246 +.. nonce: g8xMae +.. section: C API + +PEP 3123: Provide forward compatibility with Python 3.0, while keeping +backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and +PyVarObject_HEAD_INIT. + +.. + +.. bpo: 0 +.. date: 6245 +.. nonce: sGL89S +.. section: C API + +Py_ssize_t fields work in structmember when HAVE_LONG_LONG is not defined. + +.. + +.. bpo: 1733960 +.. date: 6244 +.. nonce: 8rUKMs +.. section: C API + +Allow T_LONGLONG to accept ints. + +.. + +.. bpo: 0 +.. date: 6243 +.. nonce: VY6LgN +.. section: C API + +T_PYSSIZET can now be used in PyMemberDef lists for Py_ssize_t members. + +.. + +.. bpo: 0 +.. date: 6242 +.. nonce: ZkzATk +.. section: C API + +Added a new API function ``PyImport_ImportModuleNoBlock``. + +.. + +.. bpo: 1637022 +.. date: 6241 +.. nonce: wBq1VS +.. section: C API + +Prefix AST symbols with _Py_. + +.. + +.. bpo: 0 +.. date: 6240 +.. nonce: YAicka +.. section: C API + +Fix some leftovers from the conversion from int to Py_ssize_t (relevant to +strings and sequences of more than 2**31 items). + +.. + +.. bpo: 0 +.. date: 6239 +.. nonce: A7o-lD +.. section: C API + +Make _PyGILState_NoteThreadState() static, it was not used anywhere outside +of pystate.c and should not be necessary. + +.. + +.. bpo: 0 +.. date: 6238 +.. nonce: ZpnpHT +.. section: C API + +``PyImport_Import`` and ``PyImport_ImportModule`` now always do absolute +imports. In earlier versions they might have used relative imports under +some conditions. + +.. + +.. bpo: 0 +.. date: 6237 +.. nonce: 15u7sP +.. section: C API + +Added case insensitive comparison methods ``PyOS_stricmp(char*, char*)`` and +``PyOS_strnicmp(char*, char*, Py_ssize_t)``. + +.. + +.. bpo: 1542693 +.. date: 6236 +.. nonce: ZPZ9Df +.. section: C API + +remove semi-colon at end of PyImport_ImportModuleEx macro so it can be used +as an expression. + +.. + +.. bpo: 1706 +.. date: 6235 +.. nonce: D8C2K3 +.. section: Windows + +Drop support for Win9x, WinME and NT4. Python now requires Windows 2000 or +greater. The _WINVER and NTDDI_VERSION macros are set to Win2k for x86/32bit +builds and WinXP for AMD64 builds. + +.. + +.. bpo: 0 +.. date: 6234 +.. nonce: cKizM7 +.. section: Windows + +Conditionalize definition of _CRT_SECURE_NO_DEPRECATE and +_CRT_NONSTDC_NO_DEPRECATE. + +.. + +.. bpo: 1216 +.. date: 6233 +.. nonce: DblJmV +.. section: Windows + +Restore support for Visual Studio 2002. + +.. + +.. bpo: 0 +.. date: 6232 +.. nonce: 2DB1Bg +.. section: macOS + +cfmfile now raises a DeprecationWarning. + +.. + +.. bpo: 0 +.. date: 6231 +.. nonce: r4EkYd +.. section: macOS + +buildtools now raises a DeprecationWarning. + +.. + +.. bpo: 0 +.. date: 6230 +.. nonce: Mdk5q1 +.. section: macOS + +Removed the macfs module. It had been deprecated since Python 2.5. This +lead to the deprecation of macostools.touched() as it relied solely on macfs +and was a no-op under OS X. diff --git a/Misc/NEWS.d/2.6a2.rst b/Misc/NEWS.d/2.6a2.rst new file mode 100644 index 0000000000..fe6cd26fdb --- /dev/null +++ b/Misc/NEWS.d/2.6a2.rst @@ -0,0 +1,694 @@ +.. bpo: 1733757 +.. date: 6865 +.. nonce: cyKvMt +.. release date: 02-Apr-2008 +.. section: Core and Builtins + +The interpreter would hang on shutdown if the tracing function set by +sys.settrace is still active and happens to call threading.currentThread(). + +.. + +.. bpo: 1442 +.. date: 6864 +.. nonce: h73ZTm +.. section: Core and Builtins + +properly report exceptions when the PYTHONSTARTUP file cannot be executed. + +.. + +.. bpo: 0 +.. date: 6863 +.. nonce: q3LWX0 +.. section: Core and Builtins + +The compilation of a class nested in another class used to leak one +reference on the outer class name. + +.. + +.. bpo: 1810 +.. date: 6862 +.. nonce: ESXjRG +.. section: Core and Builtins + +compile() can now compile _ast trees as returned by ``compile(..., +PyCF_ONLY_AST)``. + +.. + +.. bpo: 2426 +.. date: 6861 +.. nonce: H-NFT6 +.. section: Core and Builtins + +Added sqlite3.Connection.iterdump method to allow easy dumping of databases. +Contributed by Paul Kippes at PyCon 2008. + +.. + +.. bpo: 2477 +.. date: 6860 +.. nonce: iEeee2 +.. section: Core and Builtins + +Added from __future__ import unicode_literals. + +.. + +.. bpo: 0 +.. date: 6859 +.. nonce: MQCT3j +.. section: Core and Builtins + +Added backport of bytearray type. + +.. + +.. bpo: 2355 +.. date: 6858 +.. nonce: 3IrFJn +.. section: Core and Builtins + +add Py3k warning for buffer(). + +.. + +.. bpo: 1477 +.. date: 6857 +.. nonce: kL8T9Y +.. section: Core and Builtins + +With narrow Unicode builds, the unicode escape sequence \Uxxxxxxxx did not +accept values outside the Basic Multilingual Plane. This affected raw +unicode literals and the 'raw-unicode-escape' codec. Now UTF-16 surrogates +are generated in this case, like normal unicode literals and the 'unicode- +escape' codec. + +.. + +.. bpo: 2348 +.. date: 6856 +.. nonce: bTKRrx +.. section: Core and Builtins + +add Py3k warning for file.softspace. + +.. + +.. bpo: 2346 +.. date: 6855 +.. nonce: ZdxBIW +.. section: Core and Builtins + +add Py3k warnings for __methods__ and __members__. (See also: bpo-2347) + +.. + +.. bpo: 2358 +.. date: 6854 +.. nonce: -9p_qA +.. section: Core and Builtins + +Add a Py3k warning on sys.exc_clear() usage. + +.. + +.. bpo: 2400 +.. date: 6853 +.. nonce: Vh9y6O +.. section: Core and Builtins + +Allow relative imports to "import *". + +.. + +.. bpo: 1745 +.. date: 6852 +.. nonce: E7-cUG +.. section: Core and Builtins + +Backport print function with ``from __future__ import print_function``. + +.. + +.. bpo: 2332 +.. date: 6851 +.. nonce: J5iU51 +.. section: Core and Builtins + +add new attribute names for instance method objects. The two changes are: +im_self -> __self__ and im_func -> __func__ + +.. + +.. bpo: 2379 +.. date: 6850 +.. nonce: 9-tqgC +.. section: Core and Builtins + +Raise a Py3K warning for __getitem__ or __getslice__ on exception instances. + +.. + +.. bpo: 2371 +.. date: 6849 +.. nonce: xuvdpy +.. section: Core and Builtins + +Add a Py3k warning when catching an exception that doesn't derive from +BaseException. + +.. + +.. bpo: 2341 +.. date: 6848 +.. nonce: LmD2N7 +.. section: Core and Builtins + +Add a Py3k warning when raising an exception that doesn't derive from +BaseException. + +.. + +.. bpo: 2321 +.. date: 6847 +.. nonce: v7FzTy +.. section: Core and Builtins + +use pymalloc for unicode object string data to reduce memory usage in some +circumstances. + +.. + +.. bpo: 0 +.. date: 6846 +.. nonce: O8A72m +.. section: Core and Builtins + +PEP 3127: octal literals now start with "0o". Old-style octal literals are +still valid. There are binary literals with a prefix of "0b". This also +affects int(x, 0). + +.. + +.. bpo: 2359 +.. date: 6845 +.. nonce: cR7f7i +.. section: Core and Builtins + +Adding deprecation warnings for array.{read,write}. + +.. + +.. bpo: 1779871 +.. date: 6844 +.. nonce: Q9u7-T +.. section: Core and Builtins + +GNU gcc can now build Python on OS X because the flags -Wno-long-double, +-no-cpp-precomp, and -mno-fused-madd are no longer passed. + +.. + +.. bpo: 0 +.. date: 6843 +.. nonce: 00spAB +.. section: Core and Builtins + +Add a warning when asserting a non-empty tuple which is always true. + +.. + +.. bpo: 2179 +.. date: 6842 +.. nonce: 6ZA8c- +.. section: Core and Builtins + +speed up with statement execution by storing the exit method on the stack +instead of in a temporary variable (patch by Jeffrey Yaskin) + +.. + +.. bpo: 2238 +.. date: 6841 +.. nonce: LMUvyp +.. section: Core and Builtins + +Some syntax errors in *args and **kwargs expressions could give bogus error +messages. + +.. + +.. bpo: 2143 +.. date: 6840 +.. nonce: 39hw9G +.. section: Core and Builtins + +Fix embedded readline() hang on SSL socket EOF. + +.. + +.. bpo: 2240 +.. date: 6839 +.. nonce: WNReGo +.. section: Library + +Implement signal.setitimer and signal.getitimer. + +.. + +.. bpo: 2315 +.. date: 6838 +.. nonce: pqno5o +.. section: Library + +logging.handlers: TimedRotatingFileHandler now accounts for daylight savings +time in calculating the next rollover. + +.. + +.. bpo: 2316 +.. date: 6837 +.. nonce: ZS89xB +.. section: Library + +logging.handlers: TimedRotatingFileHandler now calculates rollovers +correctly even when nothing is logged for a while. + +.. + +.. bpo: 2317 +.. date: 6836 +.. nonce: 4RDUg2 +.. section: Library + +logging.handlers: TimedRotatingFileHandler now uses improved logic for +removing old files. + +.. + +.. bpo: 2495 +.. date: 6835 +.. nonce: XaNV_D +.. section: Library + +tokenize.untokenize now inserts a space between two consecutive string +literals; previously, ["" ""] was rendered as [""""], which is incorrect +python code. + +.. + +.. bpo: 2248 +.. date: 6834 +.. nonce: EFdgNK +.. section: Library + +return the result of the QUIT command. from SMTP.quit(). + +.. + +.. bpo: 0 +.. date: 6833 +.. nonce: lDMF2h +.. section: Library + +Backport of Python 3.0's io module. + +.. + +.. bpo: 2482 +.. date: 6832 +.. nonce: gt5k7F +.. section: Library + +Make sure that the coefficient of a Decimal is always stored as a str +instance, not as a unicode instance. This ensures that str(Decimal) is +always an instance of str. + +.. + +.. bpo: 2478 +.. date: 6831 +.. nonce: A33H1n +.. section: Library + +fix failure of decimal.Decimal(0).sqrt() + +.. + +.. bpo: 2432 +.. date: 6830 +.. nonce: K_Wmv6 +.. section: Library + +give DictReader the dialect and line_num attributes advertised in the docs. + +.. + +.. bpo: 2460 +.. date: 6829 +.. nonce: N-GQGP +.. section: Library + +Make Ellipsis object copyable. + +.. + +.. bpo: 1681432 +.. date: 6828 +.. nonce: UMEj9l +.. section: Library + +Add triangular distribution to the random module + +.. + +.. bpo: 2136 +.. date: 6827 +.. nonce: pMUClw +.. section: Library + +urllib2's auth handler now allows single-quoted realms in the WWW- +Authenticate header. + +.. + +.. bpo: 2434 +.. date: 6826 +.. nonce: 7NhX4x +.. section: Library + +Enhanced platform.win32_ver() to also work on Python installation which do +not have the win32all package installed. + +.. + +.. bpo: 0 +.. date: 6825 +.. nonce: Mua_8k +.. section: Library + +Added support to platform.uname() to also report the machine and processor +information on Windows XP and later. As a result, platform.machine() and +platform.processor() will report this information as well. + +.. + +.. bpo: 0 +.. date: 6824 +.. nonce: TVfcNn +.. section: Library + +The library implementing the 2to3 conversion, lib2to3, was added to the +standard distribution. + +.. + +.. bpo: 1747858 +.. date: 6823 +.. nonce: q45meX +.. section: Library + +Fix chown to work with large uid's and gid's on 64-bit platforms. + +.. + +.. bpo: 1202 +.. date: 6822 +.. nonce: aihbD5 +.. section: Library + +zlib.crc32 and zlib.adler32 no longer return different values on 32-bit vs. +64-bit python interpreters. Both were correct, but they now both return a +signed integer object for consistency. + +.. + +.. bpo: 1158 +.. date: 6821 +.. nonce: AkVzAm +.. section: Library + +add %f format (fractions of a second represented as microseconds) to +datetime objects. Understood by both strptime and strftime. + +.. + +.. bpo: 705836 +.. date: 6820 +.. nonce: g5peII +.. section: Library + +struct.pack(">f", x) now raises OverflowError on all platforms when x is too +large to fit into an IEEE 754 float; previously it only raised OverflowError +on non IEEE 754 platforms. + +.. + +.. bpo: 2166 +.. date: 6819 +.. nonce: WF2f5f +.. section: Library + +now distutils deals with HOME correctly under win32 (See also: bpo-1741, +bpo-1531505) + +.. + +.. bpo: 1858 +.. date: 6818 +.. nonce: jGCMLw +.. section: Library + +distutils: added multiple server support in .pypirc + +.. + +.. bpo: 1106316 +.. date: 6817 +.. nonce: uk36rF +.. section: Library + +pdb.post_mortem()'s parameter, "traceback", is now optional: it defaults to +the traceback of the exception that is currently being handled (is mandatory +to be in the middle of an exception, otherwise it raises ValueError). + +.. + +.. bpo: 1193577 +.. date: 6816 +.. nonce: b-BahY +.. section: Library + +A .shutdown() method has been added to SocketServers which terminates the +.serve_forever() loop. + +.. + +.. bpo: 2220 +.. date: 6815 +.. nonce: qjYxWH +.. section: Library + +handle rlcompleter attribute match failure more gracefully. + +.. + +.. bpo: 2225 +.. date: 6814 +.. nonce: a0QsFA +.. section: Library + +py_compile, when executed as a script, now returns a non- zero status code +if not all files could be compiled successfully. + +.. + +.. bpo: 1725737 +.. date: 6813 +.. nonce: nvfK6A +.. section: Library + +In distutils' sdist, exclude RCS, CVS etc. also in the root directory, and +also exclude .hg, .git, .bzr, and _darcs. + +.. + +.. bpo: 1872 +.. date: 6812 +.. nonce: m8TmRv +.. section: Library + +The struct module typecode for _Bool has been changed from 't' to '?'. + +.. + +.. bpo: 0 +.. date: 6811 +.. nonce: VqAlAz +.. section: Library + +The bundled libffi copy is now in sync with the recently released +libffi3.0.4 version, apart from some small changes to +Modules/_ctypes/libffi/configure.ac. On OS X, preconfigured libffi files +are used. On all linux systems the --with-system-ffi configure option +defaults to "yes". + +.. + +.. bpo: 1577 +.. date: 6810 +.. nonce: njrgUJ +.. section: Library + +shutil.move() now calls os.rename() if the destination is a directory +instead of copying-then-remove-source. + +.. + +.. bpo: 0 +.. date: 6809 +.. nonce: K5ZD7T +.. section: Tests + +test_nis no longer fails when test.test_support.verbose is true and NIS is +not set up on the testing machine. + +.. + +.. bpo: 0 +.. date: 6808 +.. nonce: 1ZE-e2 +.. section: Tests + +Output comparison tests are no longer supported. + +.. + +.. bpo: 0 +.. date: 6807 +.. nonce: N2wGxu +.. section: Tests + +Rewrite test_errno to use unittest and no longer be a no-op. + +.. + +.. bpo: 0 +.. date: 6806 +.. nonce: f80pTz +.. section: Tests + +GHOP 234: Convert test_extcall to doctest. + +.. + +.. bpo: 0 +.. date: 6805 +.. nonce: IG1fWw +.. section: Tests + +GHOP 290: Convert test_dbm and test_dummy_threading to unittest. + +.. + +.. bpo: 0 +.. date: 6804 +.. nonce: 2Pr5hV +.. section: Tests + +GHOP 293: Convert test_strftime, test_getargs, and test_pep247 to unittest. + +.. + +.. bpo: 2055 +.. date: 6803 +.. nonce: yoFv4H +.. section: Tests + +Convert test_fcntl to unittest. + +.. + +.. bpo: 1960 +.. date: 6802 +.. nonce: 8bFRO9 +.. section: Tests + +Convert test_gdbm to unittest. + +.. + +.. bpo: 0 +.. date: 6801 +.. nonce: 5VXuUU +.. section: Tests + +GHOP 294: Convert test_contains, test_crypt, and test_select to unittest. + +.. + +.. bpo: 0 +.. date: 6800 +.. nonce: Huq18v +.. section: Tests + +GHOP 238: Convert test_tokenize to use doctest. + +.. + +.. bpo: 0 +.. date: 6799 +.. nonce: yrOIgp +.. section: Tests + +GHOP 237: Rewrite test_thread using unittest. + +.. + +.. bpo: 2232 +.. date: 6798 +.. nonce: gT2U-l +.. section: Tests + +os.tmpfile might fail on Windows if the user has no permission to create +files in the root directory. + +.. + +.. bpo: 0 +.. date: 6797 +.. nonce: xClq5J +.. section: Build + +A new script 2to3 is now installed, to run the 2.x to 3.x converter. + +.. + +.. bpo: 0 +.. date: 6796 +.. nonce: K_qDWf +.. section: Build + +Python/memmove.c and Python/strerror.c have been removed; both functions are +in the C89 standard library. + +.. + +.. bpo: 2284 +.. date: 6795 +.. nonce: g5HXfy +.. section: Build + +Add -x64 option to rt.bat. + +.. + +.. bpo: 2477 +.. date: 6794 +.. nonce: ff3qxW +.. section: C API + +Added PyParser_ParseFileFlagsEx() and PyParser_ParseStringFlagsFilenameEx(). diff --git a/Misc/NEWS.d/2.6a3.rst b/Misc/NEWS.d/2.6a3.rst new file mode 100644 index 0000000000..5653d3850b --- /dev/null +++ b/Misc/NEWS.d/2.6a3.rst @@ -0,0 +1,356 @@ +.. bpo: 2719 +.. date: 6897 +.. nonce: 4NH_Xn +.. release date: 08-May-2008 +.. section: Core and Builtins + +backported the ``next()`` builtin from Python 3. + +.. + +.. bpo: 2681 +.. date: 6896 +.. nonce: 8UXx90 +.. section: Core and Builtins + +The octal literal ``0o8`` was incorrecly acctepted. Now it properly raises a +SyntaxError. + +.. + +.. bpo: 2617 +.. date: 6895 +.. nonce: 1gTS6r +.. section: Core and Builtins + +Reserved -J and -X arguments for Jython, IronPython and other +implementations of Python. + +.. + +.. bpo: 0 +.. date: 6894 +.. nonce: aRO9gE +.. section: Core and Builtins + +Implemented PEP 370: Per user site-packages directory. + +.. + +.. bpo: 2670 +.. date: 6893 +.. nonce: VM2Luj +.. section: Library + +Fix a failure in urllib2.build_opener(), when passed two handlers that +derive the same default base class. + +.. + +.. bpo: 0 +.. date: 6892 +.. nonce: 7fblHZ +.. section: Library + +Added kill, terminate and send_signal(sig) to subprocess.Popen. + +.. + +.. bpo: 0 +.. date: 6891 +.. nonce: 88WSiY +.. section: Library + +Added phase(z) -> phi, polar(z) -> r, phi and rect(r, phi) -> z to the cmath +module. + +.. + +.. bpo: 0 +.. date: 6890 +.. nonce: 6dejMd +.. section: Library + +Four new methods were added to the math and cmath modules: acosh, asinh, +atanh and log1p. + +.. + +.. bpo: 0 +.. date: 6889 +.. nonce: v-VAd8 +.. section: Library + +zlib.decompressobj().flush(value) no longer crashes the interpreter when +passed a value less than or equal to zero. + +.. + +.. bpo: 1631171 +.. date: 6888 +.. nonce: 8Bc0Zl +.. section: Library + +Re-implement the 'warnings' module in C (the original Python code has been +kept as backup). This will allow for using the 'warning's machinery in such +places as the parser where use of pure Python code is not possible. Both +the ``showarning()`` and ``formatwarning()`` gain an optional 'line' +argument which is not called by default for backwards-compatibility reasons. +Setting ``warnings.showwarning()`` to an implementation that lacks support +for the ``line`` argument will raise a DeprecationWarning. + +.. + +.. bpo: 0 +.. date: 6887 +.. nonce: CNqdrb +.. section: Library + +The audiodev module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 2750 +.. date: 6886 +.. nonce: nv-hkg +.. section: Library + +Add the 'json' package. Based on simplejson 1.9 and contributed by Bob +Ippolito. + +.. + +.. bpo: 1734346 +.. date: 6885 +.. nonce: lfR8ca +.. section: Library + +Support Unicode file names for zipfiles. + +.. + +.. bpo: 2581 +.. date: 6884 +.. nonce: fOkdCT +.. section: Library + +distutils: Vista UAC/elevation support for bdist_wininst. + +.. + +.. bpo: 2635 +.. date: 6883 +.. nonce: F8Y92w +.. section: Library + +Fix bug in 'fix_sentence_endings' textwrap.fill option, where an extra space +was added after a word containing (but not ending in) '.', '!' or '?'. + +.. + +.. bpo: 0 +.. date: 6882 +.. nonce: lYk3LA +.. section: Library + +Add from_buffer() and from_buffer_copy() class methods to ctypes data types. + +.. + +.. bpo: 2682 +.. date: 6881 +.. nonce: NLrJe2 +.. section: Library + +ctypes callback functions no longer contain a cyclic reference to +themselves. + +.. + +.. bpo: 0 +.. date: 6880 +.. nonce: TTWJof +.. section: Library + +The getpass module has been improved on Unix. It now uses /dev/tty by +default and uses stderr instead of stdout. A GetPassWarning is issued when +input echo cannot be controlled. + +.. + +.. bpo: 2014 +.. date: 6879 +.. nonce: CKvu6Y +.. section: Library + +Allow XML-RPC datetime objects to have dates before 1900-01-01. + +.. + +.. bpo: 2439 +.. date: 6878 +.. nonce: Kwwv4U +.. section: Library + +Added new function pkgutil.get_data(), which is a convenience wrapper for +the PEP 302 get_data() API. + +.. + +.. bpo: 2616 +.. date: 6877 +.. nonce: UHPY7r +.. section: Library + +The ctypes.pointer() and ctypes.POINTER() functions are now implemented in C +for better performance. + +.. + +.. bpo: 2408 +.. date: 6876 +.. nonce: GhLvZ5 +.. section: Library + +The ``_types`` module, which was used as in implementation detail of the +public ``types`` module, has been removed and replaced by pure python code. + +.. + +.. bpo: 2513 +.. date: 6875 +.. nonce: x3Kj5E +.. section: Library + +distutils on Windows is now capable of cross-compiling extension modules +between 32 and 64 bit platforms. See the distutls build documentation for +more information. + +.. + +.. bpo: 815646 +.. date: 6874 +.. nonce: GhCmJD +.. section: Library + +Individual file objects may now be used from multiple threads at once +without fear of crashing the Python interpreter. If file.close() is called +while an object is in use by another thread an IOError exception will be +raised and the file will not be closed. + +.. + +.. bpo: 0 +.. date: 6873 +.. nonce: NdBuEp +.. section: Library + +The bundled libffi copy is now in sync with the recently released +libffi3.0.5 version, apart from some small changes to +Modules/_ctypes/libffi/configure.ac. + +.. + +.. bpo: 2385 +.. date: 6872 +.. nonce: qIBVVF +.. section: Library + +distutils.core.run_script() makes __file__ available, so the controlled +environment will more closely mirror the typical script environment. This +supports setup.py scripts that refer to data files. + +.. + +.. bpo: 2550 +.. date: 6871 +.. nonce: wbV22J +.. section: Tests + +The approach used by client/server code for obtaining ports to listen on in +network-oriented tests has been refined in an effort to facilitate running +multiple instances of the entire regression test suite in parallel without +issue. test_support.bind_port() has been fixed such that it will always +return a unique port -- which wasn't always the case with the previous +implementation, especially if socket options had been set that affected +address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT). The new implementation of +bind_port() will actually raise an exception if it is passed an +AF_INET/SOCK_STREAM socket with either the SO_REUSEADDR or SO_REUSEPORT +socket option set. Furthermore, if available, bind_port() will set the +SO_EXCLUSIVEADDRUSE option on the socket it's been passed. This currently +only applies to Windows. This option prevents any other sockets from +binding to the host/port we've bound to, thus removing the possibility of +the 'non-deterministic' behaviour, as Microsoft puts it, that occurs when a +second SOCK_STREAM socket binds and accepts to a host/port that's already +been bound by another socket. The optional preferred port parameter to +bind_port() has been removed. Under no circumstances should tests be hard +coding ports! + +test_support.find_unused_port() has also been introduced, which will pass a +temporary socket object to bind_port() in order to obtain an unused port. +The temporary socket object is then closed and deleted, and the port is +returned. This method should only be used for obtaining an unused port in +order to pass to an external program (i.e. the -accept [port] argument to +openssl's s_server mode) or as a parameter to a server-oriented class that +doesn't give you direct access to the underlying socket used. + +Finally, test_support.HOST has been introduced, which should be used for the +host argument of any relevant socket calls (i.e. bind and connect). + +The following tests were updated to following the new conventions: +test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib, +test_poplib, test_ftplib, test_telnetlib, test_socketserver, test_asynchat +and test_socket_ssl. + +It is now possible for multiple instances of the regression test suite to +run in parallel without issue. + +.. + +.. bpo: 1496032 +.. date: 6870 +.. nonce: DcJtNu +.. section: Build + +On alpha, use -mieee when gcc is the compiler. + +.. + +.. bpo: 2544 +.. date: 6869 +.. nonce: -H_NZm +.. section: Build + +On HP-UX systems, use 'gcc -shared' for linking when gcc is used as +compiler. + +.. + +.. bpo: 2573 +.. date: 6868 +.. nonce: 4wDeJ7 +.. section: Build + +On MacOS X it is now possible to install the framework with a different name +using --with-framework-name=NAME. + +.. + +.. bpo: 0 +.. date: 6867 +.. nonce: yznsKq +.. section: C API + +Added implementation of copysign, acosh, asinh, atanh and log1p to the new +files Include/pymath.h and Python/pymath.h for platforms which provide the +functions through their libm. The files also contains several helpers and +constants for math. + +.. + +.. bpo: 0 +.. date: 6866 +.. nonce: Kr65an +.. section: C API + +Added a new convenience macro, PyErr_WarnPy3k, for issuing Py3k warnings. diff --git a/Misc/NEWS.d/2.6b1.rst b/Misc/NEWS.d/2.6b1.rst new file mode 100644 index 0000000000..e680708a92 --- /dev/null +++ b/Misc/NEWS.d/2.6b1.rst @@ -0,0 +1,1149 @@ +.. bpo: 3211 +.. date: 7017 +.. nonce: 53eouC +.. release date: 18-June-2008 +.. section: Core and Builtins + +warnings.warn_explicit() did not guard against its 'registry' argument being +anything other than a dict or None. Also fixed a bug in error handling when +'message' and 'category' were both set to None, triggering a bus error. + +.. + +.. bpo: 3100 +.. date: 7016 +.. nonce: FGUaxt +.. section: Core and Builtins + +Corrected a crash on deallocation of a subclassed weakref which holds the +last (strong) reference to its referent. + +.. + +.. bpo: 0 +.. date: 7015 +.. nonce: habgq9 +.. section: Core and Builtins + +Add future_builtins.ascii(). + +.. + +.. bpo: 0 +.. date: 7014 +.. nonce: ZqCwWn +.. section: Core and Builtins + +Several set methods now accept multiple arguments: update(), union(), +intersection(), intersection_update(), difference(), and +difference_update(). + +.. + +.. bpo: 2898 +.. date: 7013 +.. nonce: 3Al5vX +.. section: Core and Builtins + +Added sys.getsizeof() to retrieve size of objects in bytes. + +.. + +.. bpo: 0 +.. date: 7012 +.. nonce: 7NZKM7 +.. section: Core and Builtins + +New environment variable PYTHONIOENCODING. + +.. + +.. bpo: 2488 +.. date: 7011 +.. nonce: SglN-p +.. section: Core and Builtins + +Add sys.maxsize. + +.. + +.. bpo: 2353 +.. date: 7010 +.. nonce: IYOwih +.. section: Core and Builtins + +file.xreadlines() now emits a Py3k warning. + +.. + +.. bpo: 2863 +.. date: 7009 +.. nonce: rpJxY7 +.. section: Core and Builtins + +generators now have a ``gen.__name__`` attribute that equals +``gen.gi_code.co_name``, like ``func.__name___`` that equals +``func.func_code.co_name``. The repr() of a generator now also contains +this name. + +.. + +.. bpo: 2831 +.. date: 7008 +.. nonce: Clokao +.. section: Core and Builtins + +enumerate() now has a ``start`` argument. + +.. + +.. bpo: 2801 +.. date: 7007 +.. nonce: mKH_h9 +.. section: Core and Builtins + +fix bug in the float.is_integer method where a ValueError was sometimes +incorrectly raised. + +.. + +.. bpo: 2790 +.. date: 7006 +.. nonce: XESeko +.. section: Core and Builtins + +sys.flags was not properly exposing its bytes_warning attribute. + +.. + +.. bpo: 2196 +.. date: 7005 +.. nonce: Bzc5vC +.. section: Core and Builtins + +hasattr() now lets exceptions which do not inherit Exception +(KeyboardInterrupt, and SystemExit) propagate instead of ignoring them. + +.. + +.. bpo: 0 +.. date: 7004 +.. nonce: PBmDwc +.. section: Core and Builtins + +Added checks for integer overflows, contributed by Google. Some are only +available if asserts are left in the code, in cases where they can't be +triggered from Python code. + +.. + +.. bpo: 1179 +.. date: 7003 +.. nonce: ZiG6Oq +.. section: Library + +[CVE-2007-4965] Integer overflow in imageop module. + +.. + +.. bpo: 3116 +.. date: 7002 +.. nonce: A_baFS +.. section: Library + +marshal.dumps() had quadratic behavior for strings > 32Mb. + +.. + +.. bpo: 2138 +.. date: 7001 +.. nonce: 1v8Wds +.. section: Library + +Add factorial() to the math module. + +.. + +.. bpo: 0 +.. date: 7000 +.. nonce: Zg08xh +.. section: Library + +The heapq module does comparisons using LT instead of LE. This makes its +implementation match that used by list.sort(). + +.. + +.. bpo: 2819 +.. date: 6999 +.. nonce: 8rJOqA +.. section: Library + +add full-precision summation function to math module, based on Hettinger's +ASPN Python Cookbook recipe. + +.. + +.. bpo: 2592 +.. date: 6998 +.. nonce: dyYM9F +.. section: Library + +delegate nb_index and the floor/truediv slots in weakref.proxy. + +.. + +.. bpo: 0 +.. date: 6997 +.. nonce: 9pq1AU +.. section: Library + +Support os.O_ASYNC and fcntl.FASYNC if the constants exist on the platform. + +.. + +.. bpo: 0 +.. date: 6996 +.. nonce: xpuGyu +.. section: Library + +Support for Windows 9x has been removed from the winsound module. + +.. + +.. bpo: 0 +.. date: 6995 +.. nonce: QqGmIr +.. section: Library + +bsddb module updated to version 4.7.3. +http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.7.3. This code should +be compatible with Python 3.0. + +.. + +.. bpo: 2858 +.. date: 6994 +.. nonce: klmpfU +.. section: Library + +Fix potential memory corruption when bsddb.db.DBEnv.lock_get and other +bsddb.db object constructors raised an exception. + +.. + +.. bpo: 2669 +.. date: 6993 +.. nonce: ThHCIr +.. section: Library + +bsddb/__init__.py iteration no longer silently fails when the database has +changed size during iteration. It now raises a RuntimeError in the same +manner as a dictionary. + +.. + +.. bpo: 2870 +.. date: 6992 +.. nonce: dmu5w6 +.. section: Library + +cmathmodule.c compile error. + +.. + +.. bpo: 0 +.. date: 6991 +.. nonce: F-3bCT +.. section: Library + +Added a threading.Thread.ident property. + +.. + +.. bpo: 0 +.. date: 6990 +.. nonce: eoz_IQ +.. section: Library + +logging.config: Removed out-of-date comment in _install_handlers and used +issubclass in place of equality comparison of classes. + +.. + +.. bpo: 2722 +.. date: 6989 +.. nonce: wqgrWN +.. section: Library + +Now the os.getcwd() supports very long path names. + +.. + +.. bpo: 2888 +.. date: 6988 +.. nonce: gJe46M +.. section: Library + +Fixed the behaviour of pprint when working with nested structures, to match +the behaviour of 2.5 and 3.0 (now follows the common sense). + +.. + +.. bpo: 1817 +.. date: 6987 +.. nonce: pPMpU3 +.. section: Library + +cgi now correctly handles the querystring on POST requests + +.. + +.. bpo: 3136 +.. date: 6986 +.. nonce: h_BTKr +.. section: Library + +fileConfig()'s disabling of old loggers is now conditional via an optional +disable_existing_loggers parameter, but the default value is such that the +old behaviour is preserved. Thanks to Leandro Lucarella for the patch. + +.. + +.. bpo: 3126 +.. date: 6985 +.. nonce: fTafXl +.. section: Library + +StreamHandler and FileHandler check before calling "flush" and "close" that +the stream object has these, using hasattr (thanks to bobf for the patch). + +.. + +.. bpo: 2912 +.. date: 6984 +.. nonce: eOMCRu +.. section: Library + +platform.uname now tries to determine unknown information even if os.uname +exists. + +.. + +.. bpo: 0 +.. date: 6983 +.. nonce: suPcSI +.. section: Library + +The rfc822 module has been deprecated for removal in 3.0. + +.. + +.. bpo: 0 +.. date: 6982 +.. nonce: UOZNCJ +.. section: Library + +The mimetools module has been deprecated for removal in 3.0. + +.. + +.. bpo: 0 +.. date: 6981 +.. nonce: RqZ_5y +.. section: Library + +The ctypes.byref function now takes an optional second parameter which +specifies an offset in bytes for the constructed pointer-like object. + +.. + +.. bpo: 0 +.. date: 6980 +.. nonce: oTWuUu +.. section: Library + +Added the ast module. + +.. + +.. bpo: 0 +.. date: 6979 +.. nonce: fHFiuS +.. section: Library + +Added the multiprocessing module, PEP 371. + +.. + +.. bpo: 0 +.. date: 6978 +.. nonce: nlfVuP +.. section: Library + +Factored out the indentation cleaning from inspect.getdoc() into +inspect.cleandoc() to ease standalone use. + +.. + +.. bpo: 1798 +.. date: 6977 +.. nonce: AzgRaY +.. section: Library + +Add ctypes calling convention that allows safe access to errno. + +.. + +.. bpo: 2404 +.. date: 6976 +.. nonce: y3Vi2t +.. section: Library + +ctypes objects support the new pep3118 buffer interface. + +.. + +.. bpo: 2125 +.. date: 6975 +.. nonce: wZgsqd +.. section: Library + +Add GetInteger and GetString methods for msilib.Record objects. + +.. + +.. bpo: 2782 +.. date: 6974 +.. nonce: cDdM9Y +.. section: Library + +The datetime module's strftime methods now accept unicode format strings +just as time.strftime always has. + +.. + +.. bpo: 0 +.. date: 6973 +.. nonce: lhIEH0 +.. section: Library + +The sgmllib and htmllib modules have been deprecated for removal in Python +3.0. + +.. + +.. bpo: 3011 +.. date: 6972 +.. nonce: 6bdKsn +.. section: Library + +locale module alias table was updated to the latest version from the X.org +locale.alias file. + +.. + +.. bpo: 1797 +.. date: 6971 +.. nonce: q7se8Q +.. section: Library + +ctypes NULL function pointers have a False boolean value now. + +.. + +.. bpo: 2985 +.. date: 6970 +.. nonce: Lj8FT6 +.. section: Library + +Allow 64-bit integer responses (````) in XMLRPC transfers. + +.. + +.. bpo: 2877 +.. date: 6969 +.. nonce: DHx0Vp +.. section: Library + +The UserString.MutableString class has been removed in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6968 +.. nonce: eAZNNA +.. section: Library + +Do not close external file objects passed to tarfile.open(mode='w:bz2') when +the TarFile is closed. + +.. + +.. bpo: 2959 +.. date: 6967 +.. nonce: VfcUGd +.. section: Library + +For consistency with other file-like objects, gzip's GzipFile.close() can +now be called multiple times without raising an exception. + +.. + +.. bpo: 1390 +.. date: 6966 +.. nonce: r5VD4K +.. section: Library + +Raise ValueError in toxml when an invalid comment would otherwise be +produced. + +.. + +.. bpo: 2914 +.. date: 6965 +.. nonce: vFi4D6 +.. section: Library + +TimedRotatingFileHandler now takes an optional keyword argument "utc" to use +UTC time rather than local time. + +.. + +.. bpo: 2929 +.. date: 6964 +.. nonce: rN0khF +.. section: Library + +TimedRotatingFileHandler was using the wrong path when deleting old log +files (filename only instead of full path). + +.. + +.. bpo: 1775025 +.. date: 6963 +.. nonce: 0zA_rX +.. section: Library + +You can now specify zipfile members to open(), read() or extract() via a +ZipInfo instance. This allows handling duplicate filenames in zipfiles. + +.. + +.. bpo: 961805 +.. date: 6962 +.. nonce: lic8H4 +.. section: Library + +Fix Text.edit_modified() in Tkinter. + +.. + +.. bpo: 1793 +.. date: 6961 +.. nonce: uqwZq4 +.. section: Library + +Function ctypes.util.find_msvcrt() added that returns the name of the C +runtime library that Python uses. ctypes.util.find_library(name) now call +this function when name is 'm' or 'c'. + +.. + +.. bpo: 0 +.. date: 6960 +.. nonce: TYfaoC +.. section: Library + +The statvfs module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6959 +.. nonce: YxHVfd +.. section: Library + +The sunaudiodev and SUNAUDIODEV modules have been deprecated for removal in +Python 3.0. + +.. + +.. bpo: 0 +.. date: 6958 +.. nonce: xxpvg4 +.. section: Library + +The WAIT module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6957 +.. nonce: 2EEuVl +.. section: Library + +The torgb module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6956 +.. nonce: DxcqyJ +.. section: Library + +The SV module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6955 +.. nonce: T3Yn6K +.. section: Library + +The readcd module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6954 +.. nonce: H9XINa +.. section: Library + +The panelparser module from IRIX has been deprecated for removal in Python +3.0. + +.. + +.. bpo: 0 +.. date: 6953 +.. nonce: zVi2Qa +.. section: Library + +The panel module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6952 +.. nonce: G7TA5T +.. section: Library + +The jpeg module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6951 +.. nonce: mVA78R +.. section: Library + +The IOCTL module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6950 +.. nonce: J4KyX6 +.. section: Library + +The IN module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6949 +.. nonce: Nuh6UM +.. section: Library + +The imgfile module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6948 +.. nonce: UBseEw +.. section: Library + +The GLWS module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6947 +.. nonce: xgzC-j +.. section: Library + +The GET module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6946 +.. nonce: NgBwkl +.. section: Library + +The fm module from IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6945 +.. nonce: 9kD1K- +.. section: Library + +The FL, flp, and fl modules from IRIX have been deprecated for removal in +Python 3.0. + +.. + +.. bpo: 0 +.. date: 6944 +.. nonce: AYoVJR +.. section: Library + +The FILE module on IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6943 +.. nonce: CQ38ij +.. section: Library + +The ERRNO module on IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6942 +.. nonce: R-9YLH +.. section: Library + +The DEVICE, GL, gl, and cgen modules (which indirectly includes cgensupport) +have been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6941 +.. nonce: dKOF2g +.. section: Library + +The CL, CL_old, and cl modules for IRIX have been deprecated for removal in +Python 3.0. + +.. + +.. bpo: 0 +.. date: 6940 +.. nonce: 5cFkYd +.. section: Library + +The cdplayer module for IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6939 +.. nonce: 5y0yek +.. section: Library + +The cddb module for IRIX has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6938 +.. nonce: 0pHLuS +.. section: Library + +The cd and CD modules for IRIX have been deprecated for removal in Python +3.0. + +.. + +.. bpo: 0 +.. date: 6937 +.. nonce: eF0f6O +.. section: Library + +The al and AL modules for IRIX have been deprecated for removal in Python +3.0. + +.. + +.. bpo: 1713041 +.. date: 6936 +.. nonce: JzsT_z +.. section: Library + +fix pprint's handling of maximum depth. + +.. + +.. bpo: 0 +.. date: 6935 +.. nonce: FpBuBP +.. section: Library + +The timing module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6934 +.. nonce: Lz9Ysd +.. section: Library + +The sv module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6933 +.. nonce: kwju7- +.. section: Library + +The multifile module has been deprecated as per PEP 4. + +.. + +.. bpo: 0 +.. date: 6932 +.. nonce: G-Cuj6 +.. section: Library + +The imageop module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 2250 +.. date: 6931 +.. nonce: v4HLiv +.. section: Library + +Exceptions raised during evaluation of names in rlcompleter's +``Completer.complete()`` method are now caught and ignored. + +.. + +.. bpo: 2659 +.. date: 6930 +.. nonce: FuhwDb +.. section: Library + +Added ``break_on_hyphens`` option to textwrap TextWrapper class. + +.. + +.. bpo: 0 +.. date: 6929 +.. nonce: w8Xvgj +.. section: Library + +The mhlib module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6928 +.. nonce: f4HWLF +.. section: Library + +The linuxaudiodev module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6927 +.. nonce: O9UJsR +.. section: Library + +The ihooks module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6926 +.. nonce: JFJhmk +.. section: Library + +The fpformat module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6925 +.. nonce: BVxyeG +.. section: Library + +The dl module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6924 +.. nonce: MCsyLJ +.. section: Library + +The Canvas module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6923 +.. nonce: aVjhm5 +.. section: Library + +The compiler package has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6922 +.. nonce: R6-PB3 +.. section: Library + +The Bastion and rexec modules have been deprecated for removal in Python +3.0. + +.. + +.. bpo: 0 +.. date: 6921 +.. nonce: BvlchT +.. section: Library + +The bsddb185 module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6920 +.. nonce: Lt4pJF +.. section: Library + +The pure module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 2487 +.. date: 6919 +.. nonce: n2AhZO +.. section: Library + +change the semantics of math.ldexp(x, n) when n is too large to fit in a C +long. ldexp(x, n) now returns a zero (with suitable sign) if n is large and +negative; previously, it raised OverflowError. + +.. + +.. bpo: 0 +.. date: 6918 +.. nonce: 6I_VH_ +.. section: Library + +The toaiff module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6917 +.. nonce: qWQme_ +.. section: Library + +The test.testall module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6916 +.. nonce: HPixGU +.. section: Library + +The new module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6915 +.. nonce: sQ0aEE +.. section: Library + +The user module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6914 +.. nonce: J-y7uq +.. section: Library + +The stringold module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6913 +.. nonce: u1RhAc +.. section: Library + +The mutex module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6912 +.. nonce: NlWeSy +.. section: Library + +The imputil module has been deprecated for removal in Python 3.0. + +.. + +.. bpo: 0 +.. date: 6911 +.. nonce: iI_4rp +.. section: Library + +test.test_support.catch_warning() gained a 'record' argument. + +.. + +.. bpo: 0 +.. date: 6910 +.. nonce: 0DtsL9 +.. section: Library + +os.path.walk is deprecated in favor of os.walk. + +.. + +.. bpo: 0 +.. date: 6909 +.. nonce: MWVgy8 +.. section: Library + +pdb gained the "until" command. + +.. + +.. bpo: 0 +.. date: 6908 +.. nonce: R978mb +.. section: Library + +The Mac Modules (including Carbon) have been deprecated for removal in +Python 3.0. + +.. + +.. bpo: 0 +.. date: 6907 +.. nonce: 2hRfXS +.. section: Library + +Library: on MacOS X you can now set ``ARCHFLAGS`` in the shell environment +to control the '-arch' flags that are used to build an extension. This was +added for compatibility with Apple's build of Python. + +.. + +.. bpo: 0 +.. date: 6906 +.. nonce: HjodSi +.. section: Library + +The bundled OSX-specific copy of libbffi is now in sync with the version +shipped with PyObjC 2.0 and includes support for x86_64 and ppc64 platforms. + +.. + +.. bpo: 0 +.. date: 6905 +.. nonce: iTp3z3 +.. section: Library + +The threading module gained aliases for names that will be removed in the +3.x series. + +.. + +.. bpo: 0 +.. date: 6904 +.. nonce: 0CBHNl +.. section: Build + +The Windows installer now includes Tk 8.5, bzip2 1.0.5, and SQLite 3.5.9. + +.. + +.. bpo: 1722225 +.. date: 6903 +.. nonce: j9OSPy +.. section: Build + +Support QNX 6. + +.. + +.. bpo: 0 +.. date: 6902 +.. nonce: CBo5JG +.. section: Build + +``Lib/lib-old`` is now added to sys.path. + +.. + +.. bpo: 0 +.. date: 6901 +.. nonce: sehDt_ +.. section: Build + +On MacOS X it is now possible to install the framework in 64-bit mode or +even as a 4-way universal binary (that is, PPC, i386, PPC64 and x86_64 +support in one binary). + +This is controlled by the configure argument ``--with-universal-archs``: + +- ``--with-universal-archs=all``: install 4-way universal + +- ``--with-universal-archs=32-bit``: install 2-way universal, 32-bit (the +default) + +- ``--with-universal-archs=64-bit``: install 2-way universal, 64-bit + +This option should be used in combination with ``--enable-universalsdk=``. + +NOTE: 64-bit and 4-way builds are only suppported on Mac OS X 10.5 (or +later). + +.. + +.. bpo: 0 +.. date: 6900 +.. nonce: dWsqLp +.. section: C API + +Add ``PyType_Modified()`` as a public API to clear the type cache. + +.. + +.. bpo: 0 +.. date: 6899 +.. nonce: kBP7ih +.. section: C API + +The PyBytes functions have been renamed to PyByteArray. + +.. + +.. bpo: 0 +.. date: 6898 +.. nonce: Ab5wDH +.. section: C API + +The PyString functions have been renamed to PyBytes. A batch of defines were +added so that the linker still sees the original PyString names. diff --git a/Misc/NEWS.d/2.6b2.rst b/Misc/NEWS.d/2.6b2.rst new file mode 100644 index 0000000000..d4e77afecb --- /dev/null +++ b/Misc/NEWS.d/2.6b2.rst @@ -0,0 +1,424 @@ +.. bpo: 3156 +.. date: 7059 +.. nonce: hdm5KM +.. release date: 17-Jul-2008 +.. section: Core and Builtins + +Fix inconsistent behavior of the bytearray type: all its methods now allow +for items objects that can be converted to an integer using +operator.index(). + +.. + +.. bpo: 3360 +.. date: 7058 +.. nonce: IrjlMc +.. section: Core and Builtins + +Fix incorrect parsing of '020000000000.0', which produced a ValueError +instead of giving the correct float. + +.. + +.. bpo: 3083 +.. date: 7057 +.. nonce: -lGbUY +.. section: Core and Builtins + +Add alternate (#) formatting for bin, oct, hex output for str.format(). +This adds the prefix 0b, 0o, or 0x, respectively. + +.. + +.. bpo: 3008 +.. date: 7056 +.. nonce: YsZO12 +.. section: Core and Builtins + +the float type has a new instance method 'float.hex' and a new class method +'float.fromhex' to convert floating-point numbers to and from hexadecimal +strings, respectively. + +.. + +.. bpo: 2235 +.. date: 7055 +.. nonce: 8Brs_N +.. section: Core and Builtins + +__hash__ is once again inherited by default. To allow collections.Hashable +to remain meaningful in the presence of the default hash implementation +(object.__hash__), it is now possible to explicit block inheritance of hash +by setting __hash__=None at the Python level, or +tp_hash=PyObject_HashNotImplemented at the C level. + +.. + +.. bpo: 3221 +.. date: 7054 +.. nonce: -0HAEB +.. section: Core and Builtins + +Issue a RuntimeWarning instead of raising SystemError if the parent module +cannot be found while performing an absolute import. This means that an +incorrectly defined __package__ attribute will now only prevent relative +imports in that module rather than causing all imports from that module to +fail. + +.. + +.. bpo: 2517 +.. date: 7053 +.. nonce: YHwfKp +.. section: Core and Builtins + +Allow unicode messages in Exceptions again by correctly bypassing the +instance dictionary when looking up __unicode__ on new-style classes. + +.. + +.. bpo: 3242 +.. date: 7052 +.. nonce: uFneM1 +.. section: Core and Builtins + +Fix a crash inside the print statement, if sys.stdout is set to a custom +object whose write() method happens to install another file in sys.stdout. + +.. + +.. bpo: 3088 +.. date: 7051 +.. nonce: bSHlNi +.. section: Core and Builtins + +Corrected a race condition in classes derived from threading.local: the +first member set by a thread could be saved in another thread's dictionary. + +.. + +.. bpo: 3004 +.. date: 7050 +.. nonce: P4g_vU +.. section: Core and Builtins + +Minor change to slice.indices(): the start and stop arguments are now +treated identically, making the behaviour easier to describe and understand. +For example, slice(None, -10, 1).indices(9) now returns (0, 0, 1) instead of +(0, -1, 1), and slice(None, 10, -1).indices(10) returns (9, 9, -1) instead +of (9, 10, -1). + +.. + +.. bpo: 3219 +.. date: 7049 +.. nonce: 6awi9c +.. section: Core and Builtins + +Calling a function with repeated keyword arguments, f(a=2, a=23), would not +cause a syntax error. This was a regression from 2.4 caused by the switch +to the new compiler. + +.. + +.. bpo: 2862 +.. date: 7048 +.. nonce: R-Avyy +.. section: Core and Builtins + +Make int and float freelist management consistent with other freelists. +Changes their CompactFreeList apis into ClearFreeList apis and calls them +via gc.collect(). + +.. + +.. bpo: 3554 +.. date: 7047 +.. nonce: _5DO8B +.. section: Library + +ctypes.string_at and ctypes.wstring_at did call Python api functions without +holding the GIL, which could lead to a fatal error when they failed. + +.. + +.. bpo: 799428 +.. date: 7046 +.. nonce: kA7sJS +.. section: Library + +Fix Tkinter.Misc._nametowidget to unwrap Tcl command objects. + +.. + +.. bpo: 3395 +.. date: 7045 +.. nonce: j6q9M6 +.. section: Library + +fix reference in test_multiprocessing to old debugInfo method + +.. + +.. bpo: 3312 +.. date: 7044 +.. nonce: pGNZVY +.. section: Library + +Fix two crashes in sqlite3. + +.. + +.. bpo: 1608818 +.. date: 7043 +.. nonce: FtvGGk +.. section: Library + +Fix misbehavior in os.listdir() if readdir() fails. + +.. + +.. bpo: 3125 +.. date: 7042 +.. nonce: fEAPxY +.. section: Library + +Remove copy_reg in multiprocessing and replace it with +ForkingPickler.register() to resolve conflict with ctypes. + +.. + +.. bpo: 3090 +.. date: 7041 +.. nonce: Dl5Ar4 +.. section: Library + +Fixed ARCHFLAGS parsing on OS/X + +.. + +.. bpo: 3313 +.. date: 7040 +.. nonce: wvm6HP +.. section: Library + +Fixed a crash when a failed dlopen() call does not set a valid dlerror() +message. + +.. + +.. bpo: 3258 +.. date: 7039 +.. nonce: JBBmgi +.. section: Library + +Fixed a crash when a ctypes POINTER type to an incomplete structure was +created. + +.. + +.. bpo: 3339 +.. date: 7038 +.. nonce: L4Fn9f +.. section: Library + +dummy_thread.acquire() should not return None. + +.. + +.. bpo: 3285 +.. date: 7037 +.. nonce: 9B3FF_ +.. section: Library + +Fractions from_float() and from_decimal() accept Integral arguments. + +.. + +.. bpo: 3301 +.. date: 7036 +.. nonce: 063oaQ +.. section: Library + +Bisect module behaved badly when lo was negative. + +.. + +.. bpo: 839496 +.. date: 7035 +.. nonce: pl02h- +.. section: Library + +SimpleHTTPServer used to open text files in text mode. This is both +unnecessary (HTTP allows text content to be sent in several forms) and wrong +because the actual transmitted size could differ from the content-length. +The problem had been corrected in the 2.4 branch, but never merged into +trunk. + +.. + +.. bpo: 2663 +.. date: 7034 +.. nonce: j037TB +.. section: Library + +add filtering capability to shutil.copytree(). + +.. + +.. bpo: 1622 +.. date: 7033 +.. nonce: Yi7nBf +.. section: Library + +Correct interpretation of various ZIP header fields. + +.. + +.. bpo: 1526 +.. date: 7032 +.. nonce: GTmFzB +.. section: Library + +Allow more than 64k files to be added to Zip64 file. + +.. + +.. bpo: 1746 +.. date: 7031 +.. nonce: 9HT8Dq +.. section: Library + +Correct handling of zipfile archive comments (previously archives with +comments over 4k were flagged as invalid). Allow writing Zip files with +archives by setting the 'comment' attribute of a ZipFile. + +.. + +.. bpo: 449227 +.. date: 7030 +.. nonce: 5LsZeI +.. section: Library + +The rlcompleter module now adds "(" to callable objects when completed. + +.. + +.. bpo: 3190 +.. date: 7029 +.. nonce: VtDnou +.. section: Library + +Pydoc now hides the automatic module attribute __package__ (the handling is +now the same as that of other special attributes like __name__). + +.. + +.. bpo: 2885 +.. date: 7028 +.. nonce: uiHEVr +.. section: Library + +The urllib.urlopen() function has been deprecated for removal in Python 3.0 +in favor of urllib2.urlopen(). + +.. + +.. bpo: 2113 +.. date: 7027 +.. nonce: bYWyrt +.. section: Library + +Fix error in subprocess.Popen if the select system call is interrupted by a +signal. + +.. + +.. bpo: 3309 +.. date: 7026 +.. nonce: Y7DVRF +.. section: Library + +Fix bz2.BZFile iterator to release its internal lock properly when raising +an exception due to the bz2file being closed. Prevents a deadlock. + +.. + +.. bpo: 3094 +.. date: 7025 +.. nonce: DuUvkr +.. section: Library + +httplib.HTTPSConnection Host: headers no longer include the redundant ":443" +port number designation when the connection is using the default https port +(443). + +.. + +.. bpo: 874900 +.. date: 7024 +.. nonce: O4a6qo +.. section: Library + +after an os.fork() call the threading module state is cleaned up in the +child process to prevent deadlock and report proper thread counts if the new +process uses the threading module. + +.. + +.. bpo: 0 +.. date: 7023 +.. nonce: qnkMJb +.. section: Tests + +test.test_support.catch_warning now keeps track of all warnings it sees and +is now better documented. Explicit unit tests for this context manager have +been added to test_warnings. + +.. + +.. bpo: 3215 +.. date: 7022 +.. nonce: JA6IUI +.. section: Build + +Build sqlite3 as sqlite3.dll, not sqlite3.pyd. + +.. + +.. bpo: 0 +.. date: 7021 +.. nonce: A25wbC +.. section: Documentation + +Document that robotparser has been renamed to urllib.robotparser in Python +3.0. + +.. + +.. bpo: 0 +.. date: 7020 +.. nonce: k24KZW +.. section: Documentation + +Document that urlparse has been renamed to urllib.parse in Python 3.0. + +.. + +.. bpo: 0 +.. date: 7019 +.. nonce: wtGKB7 +.. section: Documentation + +Document that urllib2 is split across multiple modules and renamed in Python +3.0. + +.. + +.. bpo: 0 +.. date: 7018 +.. nonce: kWfaYS +.. section: Documentation + +Document that urllib is split across multiple modules and renamed in Python +3.0. diff --git a/Misc/NEWS.d/2.6b3.rst b/Misc/NEWS.d/2.6b3.rst new file mode 100644 index 0000000000..6b23d6c19c --- /dev/null +++ b/Misc/NEWS.d/2.6b3.rst @@ -0,0 +1,531 @@ +.. bpo: 1878 +.. date: 7111 +.. nonce: exCmjh +.. release date: 20-Aug-2008 +.. section: Core and Builtins + +Remove Py_TPFLAGS_HAVE_VERSION_TAG from Py_TPFLAGS_DEFAULT when not building +the core. This means 3rd party extensions do not automatically benefit from +the class attribute cache; they will have to explicitly add +Py_TPFLAGS_HAVE_VERSION_TAG to their tp_flags field if they care. This is a +backwards compatibility feature; in 3.0, all types will use the cache by +default. + +.. + +.. bpo: 0 +.. date: 7110 +.. nonce: 7crJgG +.. section: Core and Builtins + +Keyword arguments can now follow starred arguments. (``f(a, *args, +keyword=23)`` is now valid syntax.) + +.. + +.. bpo: 0 +.. date: 7109 +.. nonce: OfzhCP +.. section: Core and Builtins + +ctypes function pointers that are COM methods have a boolean True value +again. + +.. + +.. bpo: 3139 +.. date: 7108 +.. nonce: j4FT95 +.. section: Core and Builtins + +Make buffer-interface thread-safe wrt. PyArg_ParseTuple, by denying s# to +parse objects that have a releasebuffer procedure, and introducing s*. + +.. + +.. bpo: 3537 +.. date: 7107 +.. nonce: Jd1RRZ +.. section: Core and Builtins + +Fix an assertion failure when an empty but presized dict object was stored +in the freelist. + +.. + +.. bpo: 1481296 +.. date: 7106 +.. nonce: 9MXKTf +.. section: Core and Builtins + +Make long(float('nan')) and int(float('nan')) raise ValueError consistently +across platforms. + +.. + +.. bpo: 3479 +.. date: 7105 +.. nonce: 2x4rkT +.. section: Core and Builtins + +On platforms where sizeof(int) is smaller than sizeof(long) (64bit Unix, for +example), unichr() would truncate its argument and return u'\x00' for +unichr(2**32). Now it properly raises an OverflowError. + +.. + +.. bpo: 0 +.. date: 7104 +.. nonce: dpio6h +.. section: Core and Builtins + +Apply security patches from Apple. + +.. + +.. bpo: 2542 +.. date: 7103 +.. nonce: OGrPLh +.. section: Core and Builtins + +Now that issubclass() may call arbitrary code, ensure that +PyErr_ExceptionMatches returns 0 when an exception occurs there. + +.. + +.. bpo: 1819 +.. date: 7102 +.. nonce: LzrD36 +.. section: Core and Builtins + +function calls with several named parameters are now on average 35% faster +(as measured by pybench). + +.. + +.. bpo: 2378 +.. date: 7101 +.. nonce: jnJN2_ +.. section: Core and Builtins + +An unexpected UnboundLocalError or NameError could appear when the python +debugger steps into a class statement: the free variables (local variables +defined in an outer scope) would be deleted from the outer scope. + +.. + +.. bpo: 2620 +.. date: 7100 +.. nonce: g7NRZZ +.. section: Core and Builtins + +Overflow checking when allocating or reallocating memory was not always +being done properly in some python types and extension modules. +PyMem_MALLOC, PyMem_REALLOC, PyMem_NEW and PyMem_RESIZE have all been +updated to perform better checks and places in the code that would +previously leak memory on the error path when such an allocation failed have +been fixed. + +.. + +.. bpo: 3612 +.. date: 7099 +.. nonce: RX3nFS +.. section: Library + +Added some missing basic types in ctypes.wintypes. + +.. + +.. bpo: 0 +.. date: 7098 +.. nonce: 6arfb- +.. section: Library + +The methods ``is_in_tuple()``, ``is_vararg()``, and ``is_keywordarg()`` of +symtable.Symbol have been deprecated for removal in 3.0 and the next +release. + +.. + +.. bpo: 2234 +.. date: 7097 +.. nonce: ZY7qAp +.. section: Library + +distutils failed for some versions of the cygwin compiler. The version +reported by these tools does not necessarily follow the python version +numbering scheme, so the module is less strict when parsing it. + +.. + +.. bpo: 2235 +.. date: 7096 +.. nonce: lZ4uDf +.. section: Library + +Added Py3k warnings for types which will become unhashable under the +stricter __hash__ inheritance rules in 3.0. Several types which did not meet +the rules for hash invariants and were already unhashable in 3.0 have now +been explicitly flagged as unhashable in 2.6 as well (collections.Mapping, +collections.Set, unittest.TestSuite, xml.dom.minidom.NamedNodeMap, +numbers.Number, UserList.UserList) + +.. + +.. bpo: 0 +.. date: 7095 +.. nonce: njv0Yv +.. section: Library + +Update __all__ for cookielib, csv, os, urllib2, and weakref to include +things imported into the module but exposed as part of the module's API. + +.. + +.. bpo: 0 +.. date: 7094 +.. nonce: IOULx3 +.. section: Library + +Remove an unneeded import of abc.ABCMeta from 'inspect'. + +.. + +.. bpo: 0 +.. date: 7093 +.. nonce: ui1bpi +.. section: Library + +Remove unneeded imports of 'sys' and 'warnings' from 'io'. + +.. + +.. bpo: 0 +.. date: 7092 +.. nonce: 5UlHtd +.. section: Library + +Remove unneeded imports of 'warnings' from shelve, filecmp, and +dummy_thread. + +.. + +.. bpo: 3575 +.. date: 7091 +.. nonce: f0B44V +.. section: Library + +Incremental decoder's decode function now takes bytearray by using 's*' +instead of 't#'. + +.. + +.. bpo: 2222 +.. date: 7090 +.. nonce: 76LS-7 +.. section: Library + +Fixed reference leak when occurred os.rename() fails unicode conversion on +2nd parameter. (windows only) + +.. + +.. bpo: 2464 +.. date: 7089 +.. nonce: Hm7gBN +.. section: Library + +urllib2 now supports a malformation in the URL received in a redirect. + +.. + +.. bpo: 0 +.. date: 7088 +.. nonce: 1-8Grp +.. section: Library + +Silence the DeprecationWarning raised when importing mimetools in +BaseHTTPServer, cgi (and rfc822), httplib. + +.. + +.. bpo: 2776 +.. date: 7087 +.. nonce: pcfDP0 +.. section: Library + +fixed small issue when handling a URL with double slash after a 302 response +in the case of not going through a proxy. + +.. + +.. bpo: 2676 +.. date: 7086 +.. nonce: muz1Bh +.. section: Library + +in the email package, content-type parsing was hanging on pathological input +because of quadratic or exponential behaviour of a regular expression. + +.. + +.. bpo: 3476 +.. date: 7085 +.. nonce: Gdp5Hg +.. section: Library + +binary buffered reading through the new "io" library is now thread-safe. + +.. + +.. bpo: 0 +.. date: 7084 +.. nonce: 4jao1V +.. section: Library + +Silence the DeprecationWarning of rfc822 when it is imported by mimetools +since mimetools itself is deprecated. Because modules are cached, all +subsequent imports of rfc822 will not raise a visible DeprecationWarning. + +.. + +.. bpo: 3134 +.. date: 7083 +.. nonce: sGPHeo +.. section: Library + +shutil referenced undefined WindowsError symbol. + +.. + +.. bpo: 1342811 +.. date: 7082 +.. nonce: Mf5TLp +.. section: Library + +Fix leak in Tkinter.Menu.delete. Commands associated to menu entries were +not deleted. + +.. + +.. bpo: 0 +.. date: 7081 +.. nonce: XIC5LX +.. section: Library + +Copied the implementation of reduce() to _functools.reduce() to have a +version that did not raise a DeprecationWarning under -3. + +.. + +.. bpo: 3205 +.. date: 7080 +.. nonce: RcrD2G +.. section: Library + +When iterating over a BZ2File fails allocating memory, raise a MemoryError +rather than silently stop the iteration. + +.. + +.. bpo: 3487 +.. date: 7079 +.. nonce: LoL0Xp +.. section: Library + +sre "bytecode" validator. Passing invalid "re-bytecode" to _sre.compile() +will now be rejected. This should not affect anybody since the re.compile() +function never generates invalid re-bytecode. + +.. + +.. bpo: 3436 +.. date: 7078 +.. nonce: H10Gz5 +.. section: Library + +Make csv.DictReader's fieldnames attribute a property so that upon first +access it can be automatically initialized from the csv file if it wasn't +initialized during instantiation. + +.. + +.. bpo: 2338 +.. date: 7077 +.. nonce: jB97v8 +.. section: Library + +Create imp.reload() to help with transitioning to Python 3.0 as the reload() +built-in has been removed. + +.. + +.. bpo: 0 +.. date: 7076 +.. nonce: YAmZW- +.. section: Library + +Changed code in the following modules/packages to remove warnings raised +while running under the ``-3`` flag: aifc, asynchat, asyncore, bdb, bsddb, +ConfigParser, cookielib, csv, difflib, distutils, DocXMLRPCServer, email, +filecmp, fileinput, inspect, logging, modulefinder, pdb, pickle, profile, +pstats, pydoc, re, rlcompleter, SimpleXMLRPCServer, shelve, socket, +subprocess, sqlite3, tarfile, Tkinter, test.test_support, textwrap, +threading, tokenize, traceback, urlparse, wsgiref, xml, xmlrpclib. + +.. + +.. bpo: 3039 +.. date: 7075 +.. nonce: 6106lp +.. section: Library + +Fix tarfile.TarFileCompat.writestr() which always raised an AttributeError. + +.. + +.. bpo: 2523 +.. date: 7074 +.. nonce: F9osM5 +.. section: Library + +Fix quadratic behaviour when read()ing a binary file without asking for a +specific length. This problem only affected files opened using the new "io" +module, not the built-in open() function. + +.. + +.. bpo: 3449 +.. date: 7073 +.. nonce: HIJRJS +.. section: Library + +Update decimal module to use most recent specification (v. 1.68) and tests +(v. 2.58) from IBM. + +.. + +.. bpo: 3437 +.. date: 7072 +.. nonce: mFS0ML +.. section: Library + +Bug fix in robotparser parsing of Allow: lines. + +.. + +.. bpo: 1592 +.. date: 7071 +.. nonce: zq1SOI +.. section: Library + +Improve error reporting when operations are attempted on a closed shelf. + +.. + +.. bpo: 0 +.. date: 7070 +.. nonce: q6AI_C +.. section: Library + +Deprecate the "ast" parser function aliases. + +.. + +.. bpo: 3120 +.. date: 7069 +.. nonce: x-kAFj +.. section: Library + +On 64-bit Windows the subprocess module was truncating handles. + +.. + +.. bpo: 3303 +.. date: 7068 +.. nonce: MGj8zT +.. section: Library + +Fix a crash in locale.strcoll() when calling it with invalid arguments. + +.. + +.. bpo: 3302 +.. date: 7067 +.. nonce: qnZ5Ic +.. section: Library + +Fix several crashes when calling locale's gettext functions with None +arguments. + +.. + +.. bpo: 3389 +.. date: 7066 +.. nonce: Dhf3EA +.. section: Library + +Allow resolving dotted names for handlers in logging configuration files. + +.. + +.. bpo: 0 +.. date: 7065 +.. nonce: wtYP5i +.. section: Library + +Deprecate the sunaudio module for removal in Python 3.0. + +.. + +.. bpo: 3394 +.. date: 7064 +.. nonce: PDdapW +.. section: Library + +zipfile.writestr sets external attributes when passed a file name rather +than a ZipInfo instance, so files are extracted with mode 0600 rather than +000 under Unix. + +.. + +.. bpo: 1857 +.. date: 7063 +.. nonce: VLu5_h +.. section: Library + +subprocess.Popen.poll gained an additional _deadstate keyword argument in +python 2.5, this broke code that subclassed Popen to include its own poll +method. Fixed my moving _deadstate to an _internal_poll method. + +.. + +.. bpo: 0 +.. date: 7062 +.. nonce: y_hE4z +.. section: Build + +Generate the PatternGrammar pickle during "make install". + +.. + +.. bpo: 2235 +.. date: 7061 +.. nonce: BMunQV +.. section: Documentation + +the C API function PyObject_HashNotImplemented and its interaction with the +tp_hash slot (added in 2.6b2) are now documented + +.. + +.. bpo: 643841 +.. date: 7060 +.. nonce: Dc77Ec +.. section: Documentation + +The language reference now provides more detailed coverage of the lookup +process for special methods. The disclaimers regarding lack of coverage of +new-style classes have also been removed, since the coverage is now fairly +reasonable. diff --git a/Misc/NEWS.d/2.6rc1.rst b/Misc/NEWS.d/2.6rc1.rst new file mode 100644 index 0000000000..8555980cef --- /dev/null +++ b/Misc/NEWS.d/2.6rc1.rst @@ -0,0 +1,517 @@ +.. bpo: 3642 +.. date: 7164 +.. nonce: TraQw9 +.. release date: 12-Sep-2008 +.. section: Core and Builtins + +Suppress warning in obmalloc when size_t is larger than uint. + +.. + +.. bpo: 3743 +.. date: 7163 +.. nonce: _AUYYI +.. section: Core and Builtins + +In a few places, PY_FORMAT_SIZE_T was incorrectly used with +PyString_FromFormat or PyErr_Format to display size_t values. The macro +PY_FORMAT_SIZE_T is designed to select the correct format for the OS +``printf`` function, whereas PyString_FromFormat has an independent +implementation and uses "%zd" on all platforms for size_t values. This makes +a difference on win64, where ``printf`` needs "%Id" to display 64bit values. + +.. + +.. bpo: 3634 +.. date: 7162 +.. nonce: q1zzTV +.. section: Core and Builtins + +_weakref.ref(Exception).__init__() gave invalid return value on error. + +.. + +.. bpo: 3777 +.. date: 7161 +.. nonce: NkvE9K +.. section: Core and Builtins + +long() applied to a float object now always return a long object; previously +an int would be returned for small values. the __long__ method is allowed to +return either an int or a long, but the behaviour of float objects should +not change to respect backward compatibility. + +.. + +.. bpo: 3751 +.. date: 7160 +.. nonce: afWsF3 +.. section: Core and Builtins + +str.rpartition would perform a left-partition when called with a unicode +argument. + +.. + +.. bpo: 3683 +.. date: 7159 +.. nonce: CbyWTH +.. section: Core and Builtins + +Fix compilation when --without-threads is given. + +.. + +.. bpo: 3668 +.. date: 7158 +.. nonce: y5pFso +.. section: Core and Builtins + +Fix a memory leak with the "s*" argument parser in PyArg_ParseTuple and +friends, which occurred when the argument for "s*" was correctly parsed but +parsing of subsequent arguments failed. + +.. + +.. bpo: 2534 +.. date: 7157 +.. nonce: ZzJgOR +.. section: Core and Builtins + +speed up isinstance() and issubclass() by 50-70%, so as to match Python 2.5 +speed despite the __instancecheck__ / __subclasscheck__ mechanism. In the +process, fix a bug where isinstance() and issubclass(), when given a tuple +of classes as second argument, were looking up __instancecheck__ / +__subclasscheck__ on the tuple rather than on each type object. + +.. + +.. bpo: 0 +.. date: 7156 +.. nonce: IOhEYG +.. section: Core and Builtins + +Fix crashes on memory allocation failure found with failmalloc. + +.. + +.. bpo: 0 +.. date: 7155 +.. nonce: 7fUtnU +.. section: Core and Builtins + +Fix memory leaks found with valgrind and update suppressions file. + +.. + +.. bpo: 0 +.. date: 7154 +.. nonce: C2iKX_ +.. section: Core and Builtins + +Fix compiler warnings in opt mode which would lead to invalid memory reads. + +.. + +.. bpo: 0 +.. date: 7153 +.. nonce: F8qIAG +.. section: Core and Builtins + +Fix problem using wrong name in decimal module reported by pychecker. + +.. + +.. bpo: 0 +.. date: 7152 +.. nonce: 9G7-79 +.. section: Core and Builtins + +Silenced another compiler warning about a used but not defined function +'stringlib_contains_obj'. + +.. + +.. bpo: 0 +.. date: 7151 +.. nonce: cL5FNH +.. section: Core and Builtins + +Added warnings on the use of ``__getslice__``, ``__setslice__``, or +``__delslice__``. + +.. + +.. bpo: 3678 +.. date: 7150 +.. nonce: tSSebH +.. section: Core and Builtins + +Correctly pass LDFLAGS and LDLAST to the linker on shared library targets in +the Makefile. + +.. + +.. bpo: 1204 +.. date: 7149 +.. nonce: 9IuIp4 +.. section: Core and Builtins + +The configure script now tests for additional libraries that may be required +when linking against readline. This fixes issues with x86_64 builds on some +platforms (a few Linux flavors and OpenBSD). + +.. + +.. bpo: 0 +.. date: 7148 +.. nonce: Amo-aR +.. section: C API + +Aliased PyObject_Bytes to PyObject_Str. + +.. + +.. bpo: 3640 +.. date: 7147 +.. nonce: wZzbae +.. section: Library + +Pickling a list or a dict uses less local variables, to reduce stack usage +in the case of deeply nested objects. + +.. + +.. bpo: 3629 +.. date: 7146 +.. nonce: 2q6K2c +.. section: Library + +Fix sre "bytecode" validator for an end case. + +.. + +.. bpo: 3811 +.. date: 7145 +.. nonce: 1qgQ9c +.. section: Library + +The Unicode database was updated to 5.1. + +.. + +.. bpo: 3781 +.. date: 7144 +.. nonce: HYW5OU +.. section: Library + +Further warnings.catch_warnings() cleanup to prevent silent misbehaviour +when a single instance is nested in multiple with statements, or when the +methods are invoked in the wrong order. + +.. + +.. bpo: 3809 +.. date: 7143 +.. nonce: 2A-aqP +.. section: Library + +Fixed spurious 'test.blah' file left behind by test_logging. + +.. + +.. bpo: 3781 +.. date: 7142 +.. nonce: jpkn0I +.. section: Library + +Clean up the API for warnings.catch_warnings() by having it return a list or +None rather than a custom object. + +.. + +.. bpo: 1638033 +.. date: 7141 +.. nonce: kT2UVI +.. section: Library + +Cookie.Morsel gained the httponly attribute. + +.. + +.. bpo: 3535 +.. date: 7140 +.. nonce: dxRVxE +.. section: Library + +zipfile couldn't read some zip files larger than 2GB. + +.. + +.. bpo: 3776 +.. date: 7139 +.. nonce: Ct7r55 +.. section: Library + +Deprecate the bsddb package for removal in 3.0. + +.. + +.. bpo: 3762 +.. date: 7138 +.. nonce: R3t7Yb +.. section: Library + +platform.architecture() fails if python is lanched via its symbolic link. + +.. + +.. bpo: 3772 +.. date: 7137 +.. nonce: 9RUdoE +.. section: Library + +Fixed regression problem in StreamHandler.emit(). + +.. + +.. bpo: 600362 +.. date: 7136 +.. nonce: bb-Gpk +.. section: Library + +Relocated parse_qs() and parse_qsl(), from the cgi module to the urlparse +one. Added a PendingDeprecationWarning in the old module, it will be +deprecated in the future. + +.. + +.. bpo: 2562 +.. date: 7135 +.. nonce: gvBsX4 +.. section: Library + +Fix distutils PKG-INFO writing logic to allow having non-ascii characters +and Unicode in setup.py meta-data. + +.. + +.. bpo: 3726 +.. date: 7134 +.. nonce: oNy3vR +.. section: Library + +Allow spaces in separators in logging configuration files. + +.. + +.. bpo: 3719 +.. date: 7133 +.. nonce: vt_7GX +.. section: Library + +platform.architecture() fails if there are spaces in the path to the Python +binary. + +.. + +.. bpo: 3602 +.. date: 7132 +.. nonce: SFNmF7 +.. section: Library + +Moved test.test_support.catch_warning() to warnings.catch_warnings() along +with some API cleanup. Expanding the tests for catch_warnings() also led to +an improvement in the raising of a DeprecationWarning related to +warnings.warn_explicit(). + +.. + +.. bpo: 0 +.. date: 7131 +.. nonce: Fxi-Xv +.. section: Library + +The deprecation warnings for the old camelCase threading API were removed. + +.. + +.. bpo: 0 +.. date: 7130 +.. nonce: _Wmj88 +.. section: Library + +logging: fixed lack of use of encoding attribute specified on a stream. + +.. + +.. bpo: 0 +.. date: 7129 +.. nonce: yON-CX +.. section: Library + +Silenced a trivial compiler warning in the sqlite module. + +.. + +.. bpo: 0 +.. date: 7128 +.. nonce: UdFFop +.. section: Library + +Fixed two format strings in the _collections module. + +.. + +.. bpo: 3703 +.. date: 7127 +.. nonce: JVWmi4 +.. section: Library + +_fileio.FileIO gave unhelpful error message when trying to open a directory. + +.. + +.. bpo: 3708 +.. date: 7126 +.. nonce: dbhr5L +.. section: Library + +os.urandom no longer goes into an infinite loop when passed a non-integer +floating point number. + +.. + +.. bpo: 3110 +.. date: 7125 +.. nonce: TXNjN7 +.. section: Library + +multiprocessing fails to compiel on solaris 10 due to missing SEM_VALUE_MAX. + +.. + +.. bpo: 4301 +.. date: 7124 +.. nonce: To_Er1 +.. section: Library + +Patch the logging module to add processName support, remove +_check_logger_class from multiprocessing. + +.. + +.. bpo: 2975 +.. date: 7123 +.. nonce: 3nTVpN +.. section: Library + +When compiling several extension modules with Visual Studio 2008 from the +same python interpreter, some environment variables would grow without +limit. + +.. + +.. bpo: 3643 +.. date: 7122 +.. nonce: r2JHSh +.. section: Library + +Added a few more checks to _testcapi to prevent segfaults by exploitation of +poor argument checking. + +.. + +.. bpo: 0 +.. date: 7121 +.. nonce: WeFjzv +.. section: Library + +sqlite3: Changed docstring of iterdump() to mark method as "Non-standard". + +.. + +.. bpo: 3103 +.. date: 7120 +.. nonce: WO-2NA +.. section: Library + +Reduced globals symbols used by sqlite3 module and made sure all remaining +ones have "pysqlite_" prefix. + +.. + +.. bpo: 3846 +.. date: 7119 +.. nonce: IF6rMt +.. section: Library + +Release the GIL during sqlite3_prepare calls. This improves concurrent +access to the same SQLite database from multiple threads/processes. + +.. + +.. bpo: 3781 +.. date: 7118 +.. nonce: c8hFsy +.. section: Tests + +Add test.test_support.check_warnings() as a convenience wrapper for +warnings.catch_warnings() that makes it easier to check that expected +warning messages are being reported. + +.. + +.. bpo: 3796 +.. date: 7117 +.. nonce: 04E6Gg +.. section: Tests + +Some tests functions were not enabled in test_float. + +.. + +.. bpo: 3768 +.. date: 7116 +.. nonce: wK7GYq +.. section: Tests + +Move test_py3kwarn over to the new API for catch_warnings(). + +.. + +.. bpo: 3833 +.. date: 7115 +.. nonce: 8gZDgB +.. section: Build + +Use a different upgrade code for Win64 installers. + +.. + +.. bpo: 2271 +.. date: 7114 +.. nonce: 8MXC-o +.. section: Build + +Set SecureCustomProperties so that installation will properly use the +TARGETDIR even for unprivileged users. + +.. + +.. bpo: 0 +.. date: 7113 +.. nonce: 4XBUzg +.. section: Build + +Allow passing the MSI file name to merge.py. + +.. + +.. bpo: 3758 +.. date: 7112 +.. nonce: xZ4Rlj +.. section: Build + +Rename the 'check' target to 'patchcheck' so as to not clash with GNU build +target guidelines. diff --git a/Misc/NEWS.d/2.6rc2.rst b/Misc/NEWS.d/2.6rc2.rst new file mode 100644 index 0000000000..37d435d83b --- /dev/null +++ b/Misc/NEWS.d/2.6rc2.rst @@ -0,0 +1,39 @@ +.. bpo: 0 +.. date: 7168 +.. nonce: 0ihWh2 +.. release date: 17-Sep-2008 +.. section: Library + +Security Issue #2: imageop did not validate arguments correctly and could +segfault as a result. + +.. + +.. bpo: 3886 +.. date: 7167 +.. nonce: l6kzFl +.. section: Library + +Possible integer overflows in the _hashopenssl module were closed. + +.. + +.. bpo: 3850 +.. date: 7166 +.. nonce: AJBbYw +.. section: Tools/Demos + +recursion tests in Tools/scripts/find_recursion_limit.py can raise +AttributeError instead of RuntimeError, depending in which C API call +exactly the recursion limit is exceeded. Consequently, both exception types +are caught and silenced. + +.. + +.. bpo: 3617 +.. date: 7165 +.. nonce: aR1Dim +.. section: Build + +Include a licensing statement regarding the Microsoft C runtime in the +Windows installer. diff --git a/Misc/NEWS.d/2.7.1.rst b/Misc/NEWS.d/2.7.1.rst new file mode 100644 index 0000000000..00072c17bf --- /dev/null +++ b/Misc/NEWS.d/2.7.1.rst @@ -0,0 +1,187 @@ +.. bpo: 2236 +.. date: 8293 +.. nonce: 1Mj4VJ +.. release date: 2010-11-27 +.. section: Library + +distutils' mkpath ignored the mode parameter. + +.. + +.. bpo: 0 +.. date: 8292 +.. nonce: NFeWRc +.. section: Library + +Fix typo in one sdist option (medata-check). + +.. + +.. bpo: 10323 +.. date: 8291 +.. nonce: rFKI3X +.. section: Library + +itertools.islice() now consumes the minimum number of inputs before +stopping. Formerly, the final state of the underlying iterator was +undefined. + +.. + +.. bpo: 10565 +.. date: 8290 +.. nonce: g3L9da +.. section: Library + +The collections.Iterator ABC now checks for both ``__iter__`` and ``next``. + +.. + +.. bpo: 10092 +.. date: 8289 +.. nonce: -B7ynY +.. section: Library + +Properly reset locale in calendar.Locale*Calendar classes. + +.. + +.. bpo: 10459 +.. date: 8288 +.. nonce: G0RFoD +.. section: Library + +Update CJK character names to Unicode 5.2. + +.. + +.. bpo: 6098 +.. date: 8287 +.. nonce: CKisab +.. section: Library + +Don't claim DOM level 3 conformance in minidom. + +.. + +.. bpo: 10561 +.. date: 8286 +.. nonce: gxs6bQ +.. section: Library + +In pdb, clear the breakpoints by the breakpoint number. + +.. + +.. bpo: 5762 +.. date: 8285 +.. nonce: ADvGzb +.. section: Library + +Fix AttributeError raised by ``xml.dom.minidom`` when an empty XML namespace +attribute is encountered. + +.. + +.. bpo: 1710703 +.. date: 8284 +.. nonce: NAAh-d +.. section: Library + +Write structures for an empty ZIP archive when a ZipFile is created in modes +'a' or 'w' and then closed without adding any files. Raise BadZipfile +(rather than IOError) when opening small non-ZIP files. + +.. + +.. bpo: 4493 +.. date: 8283 +.. nonce: idMjMG +.. section: Library + +urllib2 adds '/' in front of path components which does not start with '/. +Common behavior exhibited by browsers and other clients. + +.. + +.. bpo: 10407 +.. date: 8282 +.. nonce: f8LrF_ +.. section: Library + +Fix one NameError in distutils. + +.. + +.. bpo: 10198 +.. date: 8281 +.. nonce: 7ruhdY +.. section: Library + +fix duplicate header written to wave files when writeframes() is called +without data. + +.. + +.. bpo: 10467 +.. date: 8280 +.. nonce: uNWGiY +.. section: Library + +Fix BytesIO.readinto() after seeking into a position after the end of the +file. + +.. + +.. bpo: 5111 +.. date: 8279 +.. nonce: XegYFR +.. section: Library + +IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru. + +.. + +.. bpo: 6378 +.. date: 8278 +.. nonce: ovcYOt +.. section: IDLE + +idle.bat now runs with the appropriate Python version rather than the system +default. Patch by Sridhar Ratnakumar. + +.. + +.. bpo: 0 +.. date: 8277 +.. nonce: 64ssfS +.. section: Build + +Backport r83399 to allow test_distutils to pass on installed versions. + +.. + +.. bpo: 1303434 +.. date: 8276 +.. nonce: AVO6EG +.. section: Build + +Generate ZIP file containing all PDBs. + +.. + +.. bpo: 9424 +.. date: 8275 +.. nonce: BO5Jfa +.. section: Tests + +Replace deprecated assert* methods in the Python test suite. + +.. + +.. bpo: 10299 +.. date: 8274 +.. nonce: ERtbPa +.. section: Documentation + +List the built-in functions in a table in functions.rst. diff --git a/Misc/NEWS.d/2.7.10.rst b/Misc/NEWS.d/2.7.10.rst new file mode 100644 index 0000000000..45e82325a2 --- /dev/null +++ b/Misc/NEWS.d/2.7.10.rst @@ -0,0 +1,7 @@ +.. bpo: 22931 +.. date: 9589 +.. nonce: 4CuWYD +.. release date: 2015-05-23 +.. section: Library + +Allow '[' and ']' in cookie values. diff --git a/Misc/NEWS.d/2.7.10rc1.rst b/Misc/NEWS.d/2.7.10rc1.rst new file mode 100644 index 0000000000..cad34e3b9a --- /dev/null +++ b/Misc/NEWS.d/2.7.10rc1.rst @@ -0,0 +1,906 @@ +.. bpo: 23971 +.. date: 9588 +.. nonce: fQZtJr +.. release date: 2015-05-10 +.. section: Core and Builtins + +Fix underestimated presizing in dict.fromkeys(). + +.. + +.. bpo: 23757 +.. date: 9587 +.. nonce: Q9kwY_ +.. section: Core and Builtins + +PySequence_Tuple() incorrectly called the concrete list API when the data +was a list subclass. + +.. + +.. bpo: 23629 +.. date: 9586 +.. nonce: r9Mt2C +.. section: Core and Builtins + +Fix the default __sizeof__ implementation for variable-sized objects. + +.. + +.. bpo: 23055 +.. date: 9585 +.. nonce: rRkRIJ +.. section: Core and Builtins + +Fixed a buffer overflow in PyUnicode_FromFormatV. Analysis and fix by Guido +Vranken. + +.. + +.. bpo: 23048 +.. date: 9584 +.. nonce: X5BUd3 +.. section: Core and Builtins + +Fix jumping out of an infinite while loop in the pdb. + +.. + +.. bpo: 0 +.. date: 9583 +.. nonce: fgX8Qe +.. section: Library + +The keywords attribute of functools.partial is now always a dictionary. + +.. + +.. bpo: 20274 +.. date: 9582 +.. nonce: uVHogg +.. section: Library + +When calling a _sqlite.Connection, it now complains if passed any keyword +arguments. Previously it silently ignored them. + +.. + +.. bpo: 20274 +.. date: 9581 +.. nonce: hBst4M +.. section: Library + +Remove ignored and erroneous "kwargs" parameters from three METH_VARARGS +methods on _sqlite.Connection. + +.. + +.. bpo: 24134 +.. date: 9580 +.. nonce: TT0kHE +.. section: Library + +assertRaises() and assertRaisesRegexp() checks are not longer successful if +the callable is None. + +.. + +.. bpo: 23008 +.. date: 9579 +.. nonce: OZFCd- +.. section: Library + +Fixed resolving attributes with boolean value is False in pydoc. + +.. + +.. bpo: 24099 +.. date: 9578 +.. nonce: 2uAHX7 +.. section: Library + +Fix use-after-free bug in heapq's siftup and siftdown functions. (See also: +bpo-24100, bpo-24101) + +.. + +.. bpo: 0 +.. date: 9577 +.. nonce: OuI94b +.. section: Library + +Backport collections.deque fixes from Python 3.5. Prevents reentrant +badness during deletion by deferring the decref until the container has been +restored to a consistent state. + +.. + +.. bpo: 23842 +.. date: 9576 +.. nonce: 8UD2q_ +.. section: Library + +os.major(), os.minor() and os.makedev() now support ints again. + +.. + +.. bpo: 23811 +.. date: 9575 +.. nonce: B6tzf9 +.. section: Library + +Add missing newline to the PyCompileError error message. Patch by Alex +Shkop. + +.. + +.. bpo: 17898 +.. date: 9574 +.. nonce: EsbCnX +.. section: Library + +Fix exception in gettext.py when parsing certain plural forms. + +.. + +.. bpo: 23865 +.. date: 9573 +.. nonce: PtSLgU +.. section: Library + +close() methods in multiple modules now are idempotent and more robust at +shutdown. If they need to release multiple resources, all are released even +if errors occur. + +.. + +.. bpo: 23881 +.. date: 9572 +.. nonce: CYmvWv +.. section: Library + +urllib.ftpwrapper constructor now closes the socket if the FTP connection +failed. + +.. + +.. bpo: 15133 +.. date: 9571 +.. nonce: iHpkhw +.. section: Library + +_tkinter.tkapp.getboolean() now supports long and Tcl_Obj and always returns +bool. tkinter.BooleanVar now validates input values (accepted bool, int, +long, str, unicode, and Tcl_Obj). tkinter.BooleanVar.get() now always +returns bool. + +.. + +.. bpo: 23338 +.. date: 9570 +.. nonce: ZYMGN1 +.. section: Library + +Fixed formatting ctypes error messages on Cygwin. Patch by Makoto Kato. + +.. + +.. bpo: 16840 +.. date: 9569 +.. nonce: kKIhPm +.. section: Library + +Tkinter now supports 64-bit integers added in Tcl 8.4 and arbitrary +precision integers added in Tcl 8.5. + +.. + +.. bpo: 23834 +.. date: 9568 +.. nonce: 1w5YIz +.. section: Library + +Fix socket.sendto(), use the C long type to store the result of sendto() +instead of the C int type. + +.. + +.. bpo: 21526 +.. date: 9567 +.. nonce: QQEXrR +.. section: Library + +Tkinter now supports new boolean type in Tcl 8.5. + +.. + +.. bpo: 23838 +.. date: 9566 +.. nonce: IX6FPX +.. section: Library + +linecache now clears the cache and returns an empty result on MemoryError. + +.. + +.. bpo: 23742 +.. date: 9565 +.. nonce: _EkAIa +.. section: Library + +ntpath.expandvars() no longer loses unbalanced single quotes. + +.. + +.. bpo: 21802 +.. date: 9564 +.. nonce: ygSM2A +.. section: Library + +The reader in BufferedRWPair now is closed even when closing writer failed +in BufferedRWPair.close(). + +.. + +.. bpo: 23671 +.. date: 9563 +.. nonce: zWPm-a +.. section: Library + +string.Template now allows specifying the "self" parameter as a keyword +argument. string.Formatter now allows specifying the "self" and the +"format_string" parameters as keyword arguments. + +.. + +.. bpo: 21560 +.. date: 9562 +.. nonce: lqfYv8 +.. section: Library + +An attempt to write a data of wrong type no longer cause GzipFile +corruption. Original patch by Wolfgang Maier. + +.. + +.. bpo: 23647 +.. date: 9561 +.. nonce: pX2qrx +.. section: Library + +Increase impalib's MAXLINE to accommodate modern mailbox sizes. + +.. + +.. bpo: 23539 +.. date: 9560 +.. nonce: 5BVUim +.. section: Library + +If body is None, http.client.HTTPConnection.request now sets Content-Length +to 0 for PUT, POST, and PATCH headers to avoid 411 errors from some web +servers. + +.. + +.. bpo: 23136 +.. date: 9559 +.. nonce: 1bnpnb +.. section: Library + +_strptime now uniformly handles all days in week 0, including Dec 30 of +previous year. Based on patch by Jim Carroll. + +.. + +.. bpo: 23138 +.. date: 9558 +.. nonce: 4vMoMZ +.. section: Library + +Fixed parsing cookies with absent keys or values in cookiejar. Patch by +Demian Brecht. + +.. + +.. bpo: 23051 +.. date: 9557 +.. nonce: Vi5tCZ +.. section: Library + +multiprocessing.Pool methods imap() and imap_unordered() now handle +exceptions raised by an iterator. Patch by Alon Diamant and Davin Potts. + +.. + +.. bpo: 22928 +.. date: 9556 +.. nonce: 1bJJIG +.. section: Library + +Disabled HTTP header injections in httplib. Original patch by Demian Brecht. + +.. + +.. bpo: 23615 +.. date: 9555 +.. nonce: SRSoav +.. section: Library + +Module tarfile is now can be reloaded with imp.reload(). + +.. + +.. bpo: 22853 +.. date: 9554 +.. nonce: LUBedC +.. section: Library + +Fixed a deadlock when use multiprocessing.Queue at import time. Patch by +Florian Finkernagel and Davin Potts. + +.. + +.. bpo: 23476 +.. date: 9553 +.. nonce: 82QV9I +.. section: Library + +In the ssl module, enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST flag on +certificate stores when it is available. + +.. + +.. bpo: 23576 +.. date: 9552 +.. nonce: 98F-PP +.. section: Library + +Avoid stalling in SSL reads when EOF has been reached in the SSL layer but +the underlying connection hasn't been closed. + +.. + +.. bpo: 23504 +.. date: 9551 +.. nonce: o31h5I +.. section: Library + +Added an __all__ to the types module. + +.. + +.. bpo: 23458 +.. date: 9550 +.. nonce: QGBFRr +.. section: Library + +On POSIX, the file descriptor kept open by os.urandom() is now set to non +inheritable + +.. + +.. bpo: 22113 +.. date: 9549 +.. nonce: L5Fo5c +.. section: Library + +struct.pack_into() now supports new buffer protocol (in particular accepts +writable memoryview). + +.. + +.. bpo: 814253 +.. date: 9548 +.. nonce: AJWDsY +.. section: Library + +Warnings now are raised when group references and conditional group +references are used in lookbehind assertions in regular expressions. (See +also: bpo-9179) + +.. + +.. bpo: 23215 +.. date: 9547 +.. nonce: VHVSVX +.. section: Library + +Multibyte codecs with custom error handlers that ignores errors consumed too +much memory and raised SystemError or MemoryError. Original patch by Aleksi +Torhamo. + +.. + +.. bpo: 5700 +.. date: 9546 +.. nonce: iA5yzL +.. section: Library + +io.FileIO() called flush() after closing the file. flush() was not called in +close() if closefd=False. + +.. + +.. bpo: 21548 +.. date: 9545 +.. nonce: Rr1l-c +.. section: Library + +Fix pydoc.synopsis() and pydoc.apropos() on modules with empty docstrings. +Initial patch by Yuyang Guo. + +.. + +.. bpo: 22885 +.. date: 9544 +.. nonce: c3937m +.. section: Library + +Fixed arbitrary code execution vulnerability in the dumbdbm module. +Original patch by Claudiu Popa. + +.. + +.. bpo: 23481 +.. date: 9543 +.. nonce: ZWwliG +.. section: Library + +Remove RC4 from the SSL module's default cipher list. + +.. + +.. bpo: 21849 +.. date: 9542 +.. nonce: XUnTp8 +.. section: Library + +Fixed xmlrpclib serialization of non-ASCII unicode strings in the +multiprocessing module. + +.. + +.. bpo: 21840 +.. date: 9541 +.. nonce: PrOwSC +.. section: Library + +Fixed expanding unicode variables of form $var in posixpath.expandvars(). +Fixed all os.path implementations on unicode-disabled builds. + +.. + +.. bpo: 23367 +.. date: 9540 +.. nonce: kHnFiz +.. section: Library + +Fix possible overflows in the unicodedata module. + +.. + +.. bpo: 23363 +.. date: 9539 +.. nonce: -koaol +.. section: Library + +Fix possible overflow in itertools.permutations. + +.. + +.. bpo: 23364 +.. date: 9538 +.. nonce: 3yBV-6 +.. section: Library + +Fix possible overflow in itertools.product. + +.. + +.. bpo: 23365 +.. date: 9537 +.. nonce: h5jLQ9 +.. section: Library + +Fixed possible integer overflow in itertools.combinations_with_replacement. + +.. + +.. bpo: 23366 +.. date: 9536 +.. nonce: tyAfm8 +.. section: Library + +Fixed possible integer overflow in itertools.combinations. + +.. + +.. bpo: 23191 +.. date: 9535 +.. nonce: 55Cwcb +.. section: Library + +fnmatch functions that use caching are now threadsafe. + +.. + +.. bpo: 18518 +.. date: 9534 +.. nonce: JXgicC +.. section: Library + +timeit now rejects statements which can't be compiled outside a function or +a loop (e.g. "return" or "break"). + +.. + +.. bpo: 19996 +.. date: 9533 +.. nonce: FvMyH0 +.. section: Library + +Make :mod:`httplib` ignore headers with no name rather than assuming the +body has started. + +.. + +.. bpo: 20188 +.. date: 9532 +.. nonce: xocY-2 +.. section: Library + +Support Application-Layer Protocol Negotiation (ALPN) in the ssl module. + +.. + +.. bpo: 23248 +.. date: 9531 +.. nonce: FjcyCP +.. section: Library + +Update ssl error codes from latest OpenSSL git master. + +.. + +.. bpo: 23098 +.. date: 9530 +.. nonce: 7VwF3K +.. section: Library + +64-bit dev_t is now supported in the os module. + +.. + +.. bpo: 23063 +.. date: 9529 +.. nonce: 9-UJRs +.. section: Library + +In the disutils' check command, fix parsing of reST with code or code-block +directives. + +.. + +.. bpo: 21356 +.. date: 9528 +.. nonce: 8NY75J +.. section: Library + +Make ssl.RAND_egd() optional to support LibreSSL. The availability of the +function is checked during the compilation. Patch written by Bernard Spil. + +.. + +.. bpo: 0 +.. date: 9527 +.. nonce: SZRSxn +.. section: Library + +Backport the context argument to ftplib.FTP_TLS. + +.. + +.. bpo: 23111 +.. date: 9526 +.. nonce: A6CAZK +.. section: Library + +Maximize compatibility in protocol versions of ftplib.FTP_TLS. + +.. + +.. bpo: 23112 +.. date: 9525 +.. nonce: dZGf82 +.. section: Library + +Fix SimpleHTTPServer to correctly carry the query string and fragment when +it redirects to add a trailing slash. + +.. + +.. bpo: 22585 +.. date: 9524 +.. nonce: F4BkNo +.. section: Library + +On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(), instead of +reading /dev/urandom, to get pseudo-random bytes. + +.. + +.. bpo: 23093 +.. date: 9523 +.. nonce: cP7OqD +.. section: Library + +In the io, module allow more operations to work on detached streams. + +.. + +.. bpo: 23071 +.. date: 9522 +.. nonce: 3BSqF7 +.. section: Library + +Added missing names to codecs.__all__. Patch by Martin Panter. + +.. + +.. bpo: 23016 +.. date: 9521 +.. nonce: wctkY3 +.. section: Library + +A warning no longer produces an AttributeError when sys.stderr is None. + +.. + +.. bpo: 21032 +.. date: 9520 +.. nonce: wxT_41 +.. section: Library + +Fixed socket leak if HTTPConnection.getresponse() fails. Original patch by +Martin Panter. + +.. + +.. bpo: 22609 +.. date: 9519 +.. nonce: mmLoeb +.. section: Library + +Constructors and update methods of mapping classes in the collections module +now accept the self keyword argument. + +.. + +.. bpo: 23006 +.. date: 9518 +.. nonce: 6-u4Mv +.. section: Documentation + +Improve the documentation and indexing of dict.__missing__. Add an entry in +the language datamodel special methods section. Revise and index its +discussion in the stdtypes mapping/dict section. Backport the code example +from 3.4. + +.. + +.. bpo: 21514 +.. date: 9517 +.. nonce: 1H16T6 +.. section: Documentation + +The documentation of the json module now refers to new JSON RFC 7159 instead +of obsoleted RFC 4627. + +.. + +.. bpo: 23330 +.. date: 9516 +.. nonce: LTlKDp +.. section: Tools/Demos + +h2py now supports arbitrary filenames in #include. + +.. + +.. bpo: 6639 +.. date: 9515 +.. nonce: rmjUmG +.. section: Tools/Demos + +Module-level turtle functions no longer raise TclError after closing the +window. + +.. + +.. bpo: 22314 +.. date: 9514 +.. nonce: ws6xsH +.. section: Tools/Demos + +pydoc now works when the LINES environment variable is set. + +.. + +.. bpo: 18905 +.. date: 9513 +.. nonce: oKTvz5 +.. section: Tools/Demos + +"pydoc -p 0" now outputs actually used port. Based on patch by Wieland +Hoffmann. + +.. + +.. bpo: 23345 +.. date: 9512 +.. nonce: HIGBKx +.. section: Tools/Demos + +Prevent test_ssl failures with large OpenSSL patch level values (like +0.9.8zc). + +.. + +.. bpo: 23799 +.. date: 9511 +.. nonce: IZtmH_ +.. section: Tests + +Added test.test_support.start_threads() for running and cleaning up multiple +threads. + +.. + +.. bpo: 22390 +.. date: 9510 +.. nonce: UPVFnq +.. section: Tests + +test.regrtest now emits a warning if temporary files or directories are left +after running a test. + +.. + +.. bpo: 23583 +.. date: 9509 +.. nonce: bY8AbM +.. section: Tests + +Added tests for standard IO streams in IDLE. + +.. + +.. bpo: 23392 +.. date: 9508 +.. nonce: Pe7_WK +.. section: Tests + +Added tests for marshal C API that works with FILE*. + +.. + +.. bpo: 18982 +.. date: 9507 +.. nonce: TynSM6 +.. section: Tests + +Add tests for CLI of the calendar module. + +.. + +.. bpo: 19949 +.. date: 9506 +.. nonce: yw7T54 +.. section: Tests + +The test_xpickle test now tests compatibility with installed Python 2.7 and +reports skipped tests. Based on patch by Zachary Ware. + +.. + +.. bpo: 11578 +.. date: 9505 +.. nonce: 1IaAXh +.. section: Tests + +Backported test for the timeit module. + +.. + +.. bpo: 22943 +.. date: 9504 +.. nonce: t0MW3A +.. section: Tests + +bsddb tests are locale independend now. + +.. + +.. bpo: 23583 +.. date: 9503 +.. nonce: ApIRL5 +.. section: IDLE + +Fixed writing unicode to standard output stream in IDLE. + +.. + +.. bpo: 20577 +.. date: 9502 +.. nonce: Y71IMj +.. section: IDLE + +Configuration of the max line length for the FormatParagraph extension has +been moved from the General tab of the Idle preferences dialog to the +FormatParagraph tab of the Config Extensions dialog. Patch by Tal Einat. + +.. + +.. bpo: 16893 +.. date: 9501 +.. nonce: JfHAA4 +.. section: IDLE + +Update Idle doc chapter to match current Idle and add new information. + +.. + +.. bpo: 23180 +.. date: 9500 +.. nonce: cE_89F +.. section: IDLE + +Rename IDLE "Windows" menu item to "Window". Patch by Al Sweigart. + +.. + +.. bpo: 15506 +.. date: 9499 +.. nonce: nh8KlR +.. section: Build + +Use standard PKG_PROG_PKG_CONFIG autoconf macro in the configure script. + +.. + +.. bpo: 23032 +.. date: 9498 +.. nonce: F8fiIl +.. section: Build + +Fix installer build failures on OS X 10.4 Tiger by disabling assembly code +in the OpenSSL build. + +.. + +.. bpo: 23686 +.. date: 9497 +.. nonce: QZBsvh +.. section: Build + +Update OS X 10.5 installer and Windows builds to use OpenSSL 1.0.2a. + +.. + +.. bpo: 23998 +.. date: 9496 +.. nonce: z7mlLW +.. section: C API + +PyImport_ReInitLock() now checks for lock allocation error + +.. + +.. bpo: 22079 +.. date: 9495 +.. nonce: zhs2qM +.. section: C API + +PyType_Ready() now checks that statically allocated type has no dynamically +allocated bases. diff --git a/Misc/NEWS.d/2.7.11.rst b/Misc/NEWS.d/2.7.11.rst new file mode 100644 index 0000000000..bb8fd15845 --- /dev/null +++ b/Misc/NEWS.d/2.7.11.rst @@ -0,0 +1,8 @@ +.. bpo: 25624 +.. date: 9702 +.. nonce: ed-fM0 +.. release date: 2015-12-05 +.. section: Library + +ZipFile now always writes a ZIP_STORED header for directory entries. Patch +by Dingyuan Wang. diff --git a/Misc/NEWS.d/2.7.11rc1.rst b/Misc/NEWS.d/2.7.11rc1.rst new file mode 100644 index 0000000000..f995ed0aff --- /dev/null +++ b/Misc/NEWS.d/2.7.11rc1.rst @@ -0,0 +1,1127 @@ +.. bpo: 25678 +.. date: 9701 +.. nonce: aOCs4y +.. release date: 2015-11-21 +.. section: Core and Builtins + +Avoid buffer overreads when int(), long(), float(), and compile() are passed +buffer objects. These objects are not necessarily terminated by a null +byte, but the functions assumed they were. + +.. + +.. bpo: 25388 +.. date: 9700 +.. nonce: Yl4HRL +.. section: Core and Builtins + +Fixed tokenizer hang when processing undecodable source code with a null +byte. + +.. + +.. bpo: 22995 +.. date: 9699 +.. nonce: 90kpuP +.. section: Core and Builtins + +Default implementation of __reduce__ and __reduce_ex__ now rejects builtin +types with not defined __new__. + +.. + +.. bpo: 7267 +.. date: 9698 +.. nonce: eje_k4 +.. section: Core and Builtins + +format(int, 'c') now raises OverflowError when the argument is not in +range(0, 256). + +.. + +.. bpo: 24806 +.. date: 9697 +.. nonce: Nb0znT +.. section: Core and Builtins + +Prevent builtin types that are not allowed to be subclassed from being +subclassed through multiple inheritance. + +.. + +.. bpo: 24848 +.. date: 9696 +.. nonce: HlUSuy +.. section: Core and Builtins + +Fixed a number of bugs in UTF-7 decoding of misformed data. + +.. + +.. bpo: 25003 +.. date: 9695 +.. nonce: -bdxOl +.. section: Core and Builtins + +os.urandom() doesn't use getentropy() on Solaris because getentropy() is +blocking, whereas os.urandom() should not block. getentropy() is supported +since Solaris 11.3. + +.. + +.. bpo: 21167 +.. date: 9694 +.. nonce: uom-Dq +.. section: Core and Builtins + +NAN operations are now handled correctly when python is compiled with ICC +even if -fp-model strict is not specified. + +.. + +.. bpo: 24467 +.. date: 9693 +.. nonce: BAJ80- +.. section: Core and Builtins + +Fixed possible buffer over-read in bytearray. The bytearray object now +always allocates place for trailing null byte and it's buffer now is always +null-terminated. + +.. + +.. bpo: 19543 +.. date: 9692 +.. nonce: OT7JMe +.. section: Core and Builtins + +encode() and decode() methods and constructors of str, unicode and bytearray +classes now emit deprecation warning for known non-text encodings when +Python is ran with the -3 option. + +.. + +.. bpo: 24115 +.. date: 9691 +.. nonce: y9e_MO +.. section: Core and Builtins + +Update uses of PyObject_IsTrue(), PyObject_Not(), PyObject_IsInstance(), +PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle +errors correctly. + +.. + +.. bpo: 4753 +.. date: 9690 +.. nonce: o7jpYf +.. section: Core and Builtins + +On compilers where it is supported, use "computed gotos" for bytecode +dispatch in the interpreter. This improves interpretation performance. + +.. + +.. bpo: 22939 +.. date: 9689 +.. nonce: grBMzV +.. section: Core and Builtins + +Fixed integer overflow in iterator object. Original patch by Clement +Rouault. + +.. + +.. bpo: 24102 +.. date: 9688 +.. nonce: 9T6h3m +.. section: Core and Builtins + +Fixed exception type checking in standard error handlers. + +.. + +.. bpo: 10128 +.. date: 9687 +.. nonce: 0pRKCf +.. section: Library + +backport issue #10845's mitigation of incompatibilities between the +multiprocessing module and directory and zipfile execution. Multiprocessing +on Windows will now automatically skip rerunning __main__ in spawned +processes, rather than failing with AssertionError. + +.. + +.. bpo: 25578 +.. date: 9686 +.. nonce: G6S-ft +.. section: Library + +Fix (another) memory leak in SSLSocket.getpeercer(). + +.. + +.. bpo: 25590 +.. date: 9685 +.. nonce: aCt-yW +.. section: Library + +In the Readline completer, only call getattr() once per attribute. + +.. + +.. bpo: 25530 +.. date: 9684 +.. nonce: hDFkwu +.. section: Library + +Disable the vulnerable SSLv3 protocol by default when creating +ssl.SSLContext. + +.. + +.. bpo: 25569 +.. date: 9683 +.. nonce: CfvQjK +.. section: Library + +Fix memory leak in SSLSocket.getpeercert(). + +.. + +.. bpo: 7759 +.. date: 9682 +.. nonce: a72qAb +.. section: Library + +Fixed the mhlib module on filesystems that doesn't support link counting for +directories. + +.. + +.. bpo: 892902 +.. date: 9681 +.. nonce: V_kMwt +.. section: Library + +Fixed pickling recursive objects. + +.. + +.. bpo: 18010 +.. date: 9680 +.. nonce: pHcjnp +.. section: Library + +Fix the pydoc GUI's search function to handle exceptions from importing +packages. + +.. + +.. bpo: 25515 +.. date: 9679 +.. nonce: fQsyYG +.. section: Library + +Always use os.urandom as a source of randomness in uuid.uuid4. + +.. + +.. bpo: 21827 +.. date: 9678 +.. nonce: k2oreR +.. section: Library + +Fixed textwrap.dedent() for the case when largest common whitespace is a +substring of smallest leading whitespace. Based on patch by Robert Li. + +.. + +.. bpo: 21709 +.. date: 9677 +.. nonce: hiATOK +.. section: Library + +Fix the logging module to not depend upon __file__ being set properly to get +the filename of its caller from the stack. This allows it to work if run in +a frozen or embedded environment where the module's .__file__ attribute does +not match its code object's .co_filename. + +.. + +.. bpo: 25319 +.. date: 9676 +.. nonce: iyuglv +.. section: Library + +When threading.Event is reinitialized, the underlying condition should use a +regular lock rather than a recursive lock. + +.. + +.. bpo: 25232 +.. date: 9675 +.. nonce: KhKjCE +.. section: Library + +Fix CGIRequestHandler to split the query from the URL at the first question +mark (?) rather than the last. Patch from Xiang Zhang. + +.. + +.. bpo: 24657 +.. date: 9674 +.. nonce: h2Ag7y +.. section: Library + +Prevent CGIRequestHandler from collapsing slashes in the query part of the +URL as if it were a path. Patch from Xiang Zhang. + +.. + +.. bpo: 22958 +.. date: 9673 +.. nonce: 04wca1 +.. section: Library + +Constructor and update method of weakref.WeakValueDictionary now accept the +self keyword argument. + +.. + +.. bpo: 22609 +.. date: 9672 +.. nonce: aTCKbk +.. section: Library + +Constructor and the update method of collections.UserDict now accept the +self keyword argument. + +.. + +.. bpo: 25203 +.. date: 9671 +.. nonce: IgDEbt +.. section: Library + +Failed readline.set_completer_delims() no longer left the module in +inconsistent state. + +.. + +.. bpo: 19143 +.. date: 9670 +.. nonce: 76SBSO +.. section: Library + +platform module now reads Windows version from kernel32.dll to avoid +compatibility shims. + +.. + +.. bpo: 25135 +.. date: 9669 +.. nonce: gVHNy- +.. section: Library + +Make deque_clear() safer by emptying the deque before clearing. This helps +avoid possible reentrancy issues. + +.. + +.. bpo: 24684 +.. date: 9668 +.. nonce: 7ewUAL +.. section: Library + +socket.socket.getaddrinfo() now calls PyUnicode_AsEncodedString() instead of +calling the encode() method of the host, to handle correctly custom unicode +string with an encode() method which doesn't return a byte string. The +encoder of the IDNA codec is now called directly instead of calling the +encode() method of the string. + +.. + +.. bpo: 24982 +.. date: 9667 +.. nonce: sGMMAR +.. section: Library + +shutil.make_archive() with the "zip" format now adds entries for directories +(including empty directories) in ZIP file. + +.. + +.. bpo: 17849 +.. date: 9666 +.. nonce: prwvGY +.. section: Library + +Raise a sensible exception if an invalid response is received for a HTTP +tunnel request, as seen with some servers that do not support tunnelling. +Initial patch from Cory Benfield. + +.. + +.. bpo: 16180 +.. date: 9665 +.. nonce: 6IUcNS +.. section: Library + +Exit pdb if file has syntax error, instead of trapping user in an infinite +loop. Patch by Xavier de Gaye. + +.. + +.. bpo: 22812 +.. date: 9664 +.. nonce: kLCF0G +.. section: Library + +Fix unittest discovery examples. Patch from Pam McA'Nulty. + +.. + +.. bpo: 24634 +.. date: 9663 +.. nonce: 7bnVgr +.. section: Library + +Importing uuid should not try to load libc on Windows + +.. + +.. bpo: 23652 +.. date: 9662 +.. nonce: DdZRSr +.. section: Library + +Make it possible to compile the select module against the libc headers from +the Linux Standard Base, which do not include some EPOLL macros. Initial +patch by Matt Frank. + +.. + +.. bpo: 15138 +.. date: 9661 +.. nonce: PXj7mj +.. section: Library + +Speed up base64.urlsafe_b64{en,de}code considerably. + +.. + +.. bpo: 23319 +.. date: 9660 +.. nonce: FXyUH- +.. section: Library + +Fix ctypes.BigEndianStructure, swap correctly bytes. Patch written by +Matthieu Gautier. + +.. + +.. bpo: 23254 +.. date: 9659 +.. nonce: zNiy1X +.. section: Library + +Document how to close the TCPServer listening socket. Patch from Martin +Panter. + +.. + +.. bpo: 17527 +.. date: 9658 +.. nonce: ve9fyw +.. section: Library + +Add PATCH to wsgiref.validator. Patch from Luca Sbardella. + +.. + +.. bpo: 24613 +.. date: 9657 +.. nonce: QZrd_P +.. section: Library + +Calling array.fromstring() with self is no longer allowed to prevent the +use-after-free error. Patch by John Leitch. + +.. + +.. bpo: 24708 +.. date: 9656 +.. nonce: WIZWbu +.. section: Library + +Fix possible integer overflow in strop.replace(). + +.. + +.. bpo: 24620 +.. date: 9655 +.. nonce: rrnxB- +.. section: Library + +Random.setstate() now validates the value of state last element. + +.. + +.. bpo: 13938 +.. date: 9654 +.. nonce: e5NSE1 +.. section: Library + +2to3 converts StringTypes to a tuple. Patch from Mark Hammond. + +.. + +.. bpo: 24611 +.. date: 9653 +.. nonce: _KNs8d +.. section: Library + +Fixed compiling the posix module on non-Windows platforms without mknod() or +makedev() (e.g. on Unixware). + +.. + +.. bpo: 18684 +.. date: 9652 +.. nonce: S2es0F +.. section: Library + +Fixed reading out of the buffer in the re module. + +.. + +.. bpo: 24259 +.. date: 9651 +.. nonce: vMAi1A +.. section: Library + +tarfile now raises a ReadError if an archive is truncated inside a data +segment. + +.. + +.. bpo: 24514 +.. date: 9650 +.. nonce: _xRb2r +.. section: Library + +tarfile now tolerates number fields consisting of only whitespace. + +.. + +.. bpo: 20387 +.. date: 9649 +.. nonce: aAbWbQ +.. section: Library + +Restore semantic round-trip correctness in tokenize/untokenize for tab- +indented blocks. + +.. + +.. bpo: 24456 +.. date: 9648 +.. nonce: swkJgS +.. section: Library + +Fixed possible buffer over-read in adpcm2lin() and lin2adpcm() functions of +the audioop module. Fixed SystemError when the state is not a tuple. Fixed +possible memory leak. + +.. + +.. bpo: 24481 +.. date: 9647 +.. nonce: EsJTQ7 +.. section: Library + +Fix possible memory corruption with large profiler info strings in hotshot. + +.. + +.. bpo: 24489 +.. date: 9646 +.. nonce: GJnMcW +.. section: Library + +ensure a previously set C errno doesn't disturb cmath.polar(). + +.. + +.. bpo: 19543 +.. date: 9645 +.. nonce: 8XxBDj +.. section: Library + +io.TextIOWrapper (and hence io.open()) now uses the internal codec marking +system added to emit deprecation warning for known non-text encodings at +stream construction time when Python is ran with the -3 option. + +.. + +.. bpo: 24264 +.. date: 9644 +.. nonce: 3zMc38 +.. section: Library + +Fixed buffer overflow in the imageop module. + +.. + +.. bpo: 5633 +.. date: 9643 +.. nonce: JNzKZq +.. section: Library + +Fixed timeit when the statement is a string and the setup is not. + +.. + +.. bpo: 24326 +.. date: 9642 +.. nonce: 4t_6Gy +.. section: Library + +Fixed audioop.ratecv() with non-default weightB argument. Original patch by +David Moore. + +.. + +.. bpo: 22095 +.. date: 9641 +.. nonce: iISzxM +.. section: Library + +Fixed HTTPConnection.set_tunnel with default port. The port value in the +host header was set to "None". Patch by Demian Brecht. + +.. + +.. bpo: 24257 +.. date: 9640 +.. nonce: L_efq0 +.. section: Library + +Fixed segmentation fault in sqlite3.Row constructor with faked cursor type. + +.. + +.. bpo: 24286 +.. date: 9639 +.. nonce: QTU65z +.. section: Library + +Dict view were not registered with the MappingView abstract base classes. +This caused key and item views in OrderedDict to not be equal to their +regular dict counterparts. + +.. + +.. bpo: 22107 +.. date: 9638 +.. nonce: 2F8k4W +.. section: Library + +tempfile.gettempdir() and tempfile.mkdtemp() now try again when a directory +with the chosen name already exists on Windows as well as on Unix. +tempfile.mkstemp() now fails early if parent directory is not valid (not +exists or is a file) on Windows. + +.. + +.. bpo: 6598 +.. date: 9637 +.. nonce: JdZNDt +.. section: Library + +Increased time precision and random number range in email.utils.make_msgid() +to strengthen the uniqueness of the message ID. + +.. + +.. bpo: 24091 +.. date: 9636 +.. nonce: vBNeTI +.. section: Library + +Fixed various crashes in corner cases in cElementTree. + +.. + +.. bpo: 15267 +.. date: 9635 +.. nonce: xT65mc +.. section: Library + +HTTPConnection.request() now is compatible with old-style classes (such as +TemporaryFile). Original patch by Atsuo Ishimoto. + +.. + +.. bpo: 20014 +.. date: 9634 +.. nonce: NfHQd1 +.. section: Library + +array.array() now accepts unicode typecodes. Based on patch by Vajrasky +Kok. + +.. + +.. bpo: 23637 +.. date: 9633 +.. nonce: 1yFWAy +.. section: Library + +Showing a warning no longer fails with UnicodeError. Formatting unicode +warning in the file with the path containing non-ascii characters no longer +fails with UnicodeError. + +.. + +.. bpo: 24134 +.. date: 9632 +.. nonce: 4cPfh1 +.. section: Library + +Reverted issue #24134 changes. + +.. + +.. bpo: 15348 +.. date: 9631 +.. nonce: d1Fg01 +.. section: IDLE + +Stop the debugger engine (normally in a user process) before closing the +debugger window (running in the IDLE process). This prevents the +RuntimeErrors that were being caught and ignored. + +.. + +.. bpo: 24455 +.. date: 9630 +.. nonce: x6YqtE +.. section: IDLE + +Prevent IDLE from hanging when a) closing the shell while the debugger is +active (15347); b) closing the debugger with the [X] button (15348); and c) +activating the debugger when already active (24455). The patch by Mark +Roseman does this by making two changes. 1. Suspend and resume the +gui.interaction method with the tcl vwait mechanism intended for this +purpose (instead of root.mainloop & .quit). 2. In gui.run, allow any +existing interaction to terminate first. + +.. + +.. bpo: 0 +.. date: 9629 +.. nonce: Yp9LRY +.. section: IDLE + +Change 'The program' to 'Your program' in an IDLE 'kill program?' message to +make it clearer that the program referred to is the currently running user +program, not IDLE itself. + +.. + +.. bpo: 24750 +.. date: 9628 +.. nonce: xgsi-K +.. section: IDLE + +Improve the appearance of the IDLE editor window status bar. Patch by Mark +Roseman. + +.. + +.. bpo: 25313 +.. date: 9627 +.. nonce: xMXHpO +.. section: IDLE + +Change the handling of new built-in text color themes to better address the +compatibility problem introduced by the addition of IDLE Dark. Consistently +use the revised idleConf.CurrentTheme everywhere in idlelib. + +.. + +.. bpo: 24782 +.. date: 9626 +.. nonce: PCsWad +.. section: IDLE + +Extension configuration is now a tab in the IDLE Preferences dialog rather +than a separate dialog. The former tabs are now a sorted list. Patch by +Mark Roseman. + +.. + +.. bpo: 22726 +.. date: 9625 +.. nonce: x8T0dA +.. section: IDLE + +Re-activate the config dialog help button with some content about the other +buttons and the new IDLE Dark theme. + +.. + +.. bpo: 24820 +.. date: 9624 +.. nonce: TFPJhr +.. section: IDLE + +IDLE now has an 'IDLE Dark' built-in text color theme. It is more or less +IDLE Classic inverted, with a cobalt blue background. Strings, comments, +keywords, ... are still green, red, orange, ... . To use it with IDLEs +released before November 2015, hit the 'Save as New Custom Theme' button and +enter a new name, such as 'Custom Dark'. The custom theme will work with +any IDLE release, and can be modified. + +.. + +.. bpo: 25224 +.. date: 9623 +.. nonce: 5Llwo4 +.. section: IDLE + +README.txt is now an idlelib index for IDLE developers and curious users. +The previous user content is now in the IDLE doc chapter. 'IDLE' now means +'Integrated Development and Learning Environment'. + +.. + +.. bpo: 24820 +.. date: 9622 +.. nonce: ZUz9Fn +.. section: IDLE + +Users can now set breakpoint colors in Settings -> Custom Highlighting. +Original patch by Mark Roseman. + +.. + +.. bpo: 24972 +.. date: 9621 +.. nonce: uc0uNo +.. section: IDLE + +Inactive selection background now matches active selection background, as +configured by users, on all systems. Found items are now always highlighted +on Windows. Initial patch by Mark Roseman. + +.. + +.. bpo: 24570 +.. date: 9620 +.. nonce: s3EkNn +.. section: IDLE + +Idle: make calltip and completion boxes appear on Macs affected by a tk +regression. Initial patch by Mark Roseman. + +.. + +.. bpo: 24988 +.. date: 9619 +.. nonce: tXqq4T +.. section: IDLE + +Idle ScrolledList context menus (used in debugger) now work on Mac Aqua. +Patch by Mark Roseman. + +.. + +.. bpo: 24801 +.. date: 9618 +.. nonce: -bj_Ou +.. section: IDLE + +Make right-click for context menu work on Mac Aqua. Patch by Mark Roseman. + +.. + +.. bpo: 25173 +.. date: 9617 +.. nonce: EZzrPg +.. section: IDLE + +Associate tkinter messageboxes with a specific widget. For Mac OSX, make +them a 'sheet'. Patch by Mark Roseman. + +.. + +.. bpo: 25198 +.. date: 9616 +.. nonce: -j_BV7 +.. section: IDLE + +Enhance the initial html viewer now used for Idle Help. * Properly indent +fixed-pitch text (patch by Mark Roseman). * Give code snippet a very Sphinx- +like light blueish-gray background. * Re-use initial width and height set by +users for shell and editor. * When the Table of Contents (TOC) menu is used, +put the section header at the top of the screen. + +.. + +.. bpo: 25225 +.. date: 9615 +.. nonce: 9pvdq6 +.. section: IDLE + +Condense and rewrite Idle doc section on text colors. + +.. + +.. bpo: 21995 +.. date: 9614 +.. nonce: C5Rmzx +.. section: IDLE + +Explain some differences between IDLE and console Python. + +.. + +.. bpo: 22820 +.. date: 9613 +.. nonce: hix_8X +.. section: IDLE + +Explain need for *print* when running file from Idle editor. + +.. + +.. bpo: 25224 +.. date: 9612 +.. nonce: UVMYQq +.. section: IDLE + +Doc: augment Idle feature list and no-subprocess section. + +.. + +.. bpo: 25219 +.. date: 9611 +.. nonce: 8_9DYg +.. section: IDLE + +Update doc for Idle command line options. Some were missing and notes were +not correct. + +.. + +.. bpo: 24861 +.. date: 9610 +.. nonce: Ecg2yT +.. section: IDLE + +Most of idlelib is private and subject to change. Use idleib.idle.* to start +Idle. See idlelib.__init__.__doc__. + +.. + +.. bpo: 25199 +.. date: 9609 +.. nonce: ih7yY3 +.. section: IDLE + +Idle: add synchronization comments for future maintainers. + +.. + +.. bpo: 16893 +.. date: 9608 +.. nonce: bZtPgJ +.. section: IDLE + +Replace help.txt with help.html for Idle doc display. The new +idlelib/help.html is rstripped Doc/build/html/library/idle.html. It looks +better than help.txt and will better document Idle as released. The tkinter +html viewer that works for this file was written by Mark Roseman. The now +unused EditorWindow.HelpDialog class and helt.txt file are deprecated. + +.. + +.. bpo: 24199 +.. date: 9607 +.. nonce: VKnZEv +.. section: IDLE + +Deprecate unused idlelib.idlever with possible removal in 3.6. + +.. + +.. bpo: 24790 +.. date: 9606 +.. nonce: hD1hlj +.. section: IDLE + +Remove extraneous code (which also create 2 & 3 conflicts). + +.. + +.. bpo: 23672 +.. date: 9605 +.. nonce: 8td2se +.. section: IDLE + +Allow Idle to edit and run files with astral chars in name. Patch by Mohd +Sanad Zaki Rizvi. + +.. + +.. bpo: 24745 +.. date: 9604 +.. nonce: edbziT +.. section: IDLE + +Idle editor default font. Switch from Courier to platform-sensitive +TkFixedFont. This should not affect current customized font selections. If +there is a problem, edit $HOME/.idlerc/config-main.cfg and remove 'fontxxx' +entries from [Editor Window]. Patch by Mark Roseman. + +.. + +.. bpo: 21192 +.. date: 9603 +.. nonce: CdbipH +.. section: IDLE + +Idle editor. When a file is run, put its name in the restart bar. Do not +print false prompts. Original patch by Adnan Umer. + +.. + +.. bpo: 13884 +.. date: 9602 +.. nonce: vVcO1E +.. section: IDLE + +Idle menus. Remove tearoff lines. Patch by Roger Serwy. + +.. + +.. bpo: 15809 +.. date: 9601 +.. nonce: mfawdr +.. section: IDLE + +IDLE shell now uses locale encoding instead of Latin1 for decoding unicode +literals. + +.. + +.. bpo: 24952 +.. date: 9600 +.. nonce: aJv9x1 +.. section: Documentation + +Clarify the default size argument of stack_size() in the "threading" and +"thread" modules. Patch from Mattip. + +.. + +.. bpo: 20769 +.. date: 9599 +.. nonce: ZUc9z9 +.. section: Documentation + +Improve reload() docs. Patch by Dorian Pula. + +.. + +.. bpo: 23589 +.. date: 9598 +.. nonce: rjU421 +.. section: Documentation + +Remove duplicate sentence from the FAQ. Patch by Yongzhi Pan. + +.. + +.. bpo: 22155 +.. date: 9597 +.. nonce: 6Kq5Tv +.. section: Documentation + +Add File Handlers subsection with createfilehandler to Tkinter doc. Remove +obsolete example from FAQ. Patch by Martin Panter. + +.. + +.. bpo: 24751 +.. date: 9596 +.. nonce: pL2pbj +.. section: Tests + +When running regrtest with the ``-w`` command line option, a test run is no +longer marked as a failure if all tests succeed when re-run. + +.. + +.. bpo: 0 +.. date: 9595 +.. nonce: yeHJKJ +.. section: Tests + +PCbuild\rt.bat now accepts an unlimited number of arguments to pass along to +regrtest.py. Previously there was a limit of 9. + +.. + +.. bpo: 24915 +.. date: 9594 +.. nonce: N9MrQY +.. section: Build + +When doing a PGO build, the test suite is now used instead of pybench; Clang +support was also added as part off this work. Initial patch by Alecsandru +Patrascu of Intel. + +.. + +.. bpo: 24986 +.. date: 9593 +.. nonce: 1WyXeU +.. section: Build + +It is now possible to build Python on Windows without errors when external +libraries are not available. + +.. + +.. bpo: 24508 +.. date: 9592 +.. nonce: m8-La8 +.. section: Build + +Backported the MSBuild project files from Python 3.5. The backported files +replace the old project files in PCbuild; the old files moved to PC/VS9.0 +and remain supported. + +.. + +.. bpo: 24603 +.. date: 9591 +.. nonce: PyHyF5 +.. section: Build + +Update Windows builds and OS X 10.5 installer to use OpenSSL 1.0.2d. + +.. + +.. bpo: 25022 +.. date: 9590 +.. nonce: vAt_zr +.. section: Windows + +Removed very outdated PC/example_nt/ directory. diff --git a/Misc/NEWS.d/2.7.12.rst b/Misc/NEWS.d/2.7.12.rst new file mode 100644 index 0000000000..1b2099a4a0 --- /dev/null +++ b/Misc/NEWS.d/2.7.12.rst @@ -0,0 +1,26 @@ +.. bpo: 27641 +.. date: 9821 +.. nonce: Fhtvhi +.. release date: 2016-06-25 +.. section: Build + +The configure script now inserts comments into the makefile to prevent the +pgen executable from being cross-compiled. + +.. + +.. bpo: 26930 +.. date: 9820 +.. nonce: 9JUeSD +.. section: Build + +Update Windows builds to use OpenSSL 1.0.2h. + +.. + +.. bpo: 27365 +.. date: 9819 +.. nonce: y8CVsn +.. section: IDLE + +Fix about dialog. diff --git a/Misc/NEWS.d/2.7.12rc1.rst b/Misc/NEWS.d/2.7.12rc1.rst new file mode 100644 index 0000000000..c86df3979d --- /dev/null +++ b/Misc/NEWS.d/2.7.12rc1.rst @@ -0,0 +1,1161 @@ +.. bpo: 20041 +.. date: 9818 +.. nonce: TypyGp +.. release date: 2016-06-12 +.. section: Core and Builtins + +Fixed TypeError when frame.f_trace is set to None. Patch by Xavier de Gaye. + +.. + +.. bpo: 25702 +.. date: 9817 +.. nonce: ipxyJs +.. section: Core and Builtins + +A --with-lto configure option has been added that will enable link time +optimizations at build time during a make profile-opt. Some compilers and +toolchains are known to not produce stable code when using LTO, be sure to +test things thoroughly before relying on it. It can provide a few % speed up +over profile-opt alone. + +.. + +.. bpo: 26168 +.. date: 9816 +.. nonce: -nPBL6 +.. section: Core and Builtins + +Fixed possible refleaks in failing Py_BuildValue() with the "N" format unit. + +.. + +.. bpo: 27039 +.. date: 9815 +.. nonce: Zj7tV7 +.. section: Core and Builtins + +Fixed bytearray.remove() for values greater than 127. Patch by Joe Jevnik. + +.. + +.. bpo: 4806 +.. date: 9814 +.. nonce: BOapuA +.. section: Core and Builtins + +Avoid masking the original TypeError exception when using star (*) unpacking +and the exception was raised from a generator. Based on patch by Hagen +Fürstenau. + +.. + +.. bpo: 26659 +.. date: 9813 +.. nonce: 5PRa83 +.. section: Core and Builtins + +Make the builtin slice type support cycle collection. + +.. + +.. bpo: 26718 +.. date: 9812 +.. nonce: K5PQ8j +.. section: Core and Builtins + +super.__init__ no longer leaks memory if called multiple times. NOTE: A +direct call of super.__init__ is not endorsed! + +.. + +.. bpo: 13410 +.. date: 9811 +.. nonce: wyldQ4 +.. section: Core and Builtins + +Fixed a bug in PyUnicode_Format where it failed to properly ignore errors +from a __int__() method. + +.. + +.. bpo: 26494 +.. date: 9810 +.. nonce: Ar7ILt +.. section: Core and Builtins + +Fixed crash on iterating exhausting iterators. Affected classes are generic +sequence iterators, iterators of bytearray, list, tuple, set, frozenset, +dict, OrderedDict and corresponding views. + +.. + +.. bpo: 26581 +.. date: 9809 +.. nonce: yNA7nm +.. section: Core and Builtins + +If coding cookie is specified multiple times on a line in Python source code +file, only the first one is taken to account. + +.. + +.. bpo: 22836 +.. date: 9808 +.. nonce: cimt1y +.. section: Core and Builtins + +Ensure exception reports from PyErr_Display() and PyErr_WriteUnraisable() +are sensible even when formatting them produces secondary errors. This +affects the reports produced by sys.__excepthook__() and when __del__() +raises an exception. + +.. + +.. bpo: 22847 +.. date: 9807 +.. nonce: 6baj9f +.. section: Core and Builtins + +Improve method cache efficiency. + +.. + +.. bpo: 25843 +.. date: 9806 +.. nonce: t2kGug +.. section: Core and Builtins + +When compiling code, don't merge constants if they are equal but have a +different types. For example, ``f1, f2 = lambda: 1, lambda: 1.0`` is now +correctly compiled to two different functions: ``f1()`` returns ``1`` +(``int``) and ``f2()`` returns ``1.0`` (``int``), even if ``1`` and ``1.0`` +are equal. + +.. + +.. bpo: 22995 +.. date: 9805 +.. nonce: Rhr9Dh +.. section: Core and Builtins + +[UPDATE] Remove the one of the pickleability tests in _PyObject_GetState() +due to regressions observed in Cython-based projects. + +.. + +.. bpo: 25961 +.. date: 9804 +.. nonce: Hdjjw0 +.. section: Core and Builtins + +Disallowed null characters in the type name. + +.. + +.. bpo: 22995 +.. date: 9803 +.. nonce: Wq0E86 +.. section: Core and Builtins + +Instances of extension types with a state that aren't subclasses of list or +dict and haven't implemented any pickle-related methods (__reduce__, +__reduce_ex__, __getnewargs__, __getnewargs_ex__, or __getstate__), can no +longer be pickled. Including memoryview. + +.. + +.. bpo: 20440 +.. date: 9802 +.. nonce: GCwOfH +.. section: Core and Builtins + +Massive replacing unsafe attribute setting code with special macro +Py_SETREF. + +.. + +.. bpo: 25421 +.. date: 9801 +.. nonce: c47YEL +.. section: Core and Builtins + +__sizeof__ methods of builtin types now use dynamic basic size. This allows +sys.getsize() to work correctly with their subclasses with __slots__ +defined. + +.. + +.. bpo: 19543 +.. date: 9800 +.. nonce: FLtPTG +.. section: Core and Builtins + +Added Py3k warning for decoding unicode. + +.. + +.. bpo: 24097 +.. date: 9799 +.. nonce: Vt4E-i +.. section: Core and Builtins + +Fixed crash in object.__reduce__() if slot name is freed inside __getattr__. + +.. + +.. bpo: 24731 +.. date: 9798 +.. nonce: F4USDN +.. section: Core and Builtins + +Fixed crash on converting objects with special methods __str__, __trunc__, +and __float__ returning instances of subclasses of str, long, and float to +subclasses of str, long, and float correspondingly. + +.. + +.. bpo: 26478 +.. date: 9797 +.. nonce: n0dB8e +.. section: Core and Builtins + +Fix semantic bugs when using binary operators with dictionary views and +tuples. + +.. + +.. bpo: 26171 +.. date: 9796 +.. nonce: 8SaQEa +.. section: Core and Builtins + +Fix possible integer overflow and heap corruption in zipimporter.get_data(). + +.. + +.. bpo: 26556 +.. date: 9795 +.. nonce: v5j2uL +.. section: Library + +Update expat to 2.1.1, fixes CVE-2015-1283. + +.. + +.. bpo: 0 +.. date: 9794 +.. nonce: qP8WT- +.. section: Library + +Fix TLS stripping vulnerability in smptlib, CVE-2016-0772. Reported by Team +Oststrom + +.. + +.. bpo: 7356 +.. date: 9793 +.. nonce: cS5wgj +.. section: Library + +ctypes.util: Make parsing of ldconfig output independent of the locale. + +.. + +.. bpo: 25738 +.. date: 9792 +.. nonce: I_1jpQ +.. section: Library + +Stop BaseHTTPServer.BaseHTTPRequestHandler.send_error() from sending a +message body for 205 Reset Content. Also, don't send the Content-Type +header field in responses that don't have a body. Based on patch by Susumu +Koshiba. + +.. + +.. bpo: 21313 +.. date: 9791 +.. nonce: W30MBr +.. section: Library + +Fix the "platform" module to tolerate when sys.version contains truncated +build information. + +.. + +.. bpo: 27211 +.. date: 9790 +.. nonce: _7HYjx +.. section: Library + +Fix possible memory corruption in io.IOBase.readline(). + +.. + +.. bpo: 27114 +.. date: 9789 +.. nonce: bGCuAM +.. section: Library + +Fix SSLContext._load_windows_store_certs fails with PermissionError + +.. + +.. bpo: 14132 +.. date: 9788 +.. nonce: Gpiuxk +.. section: Library + +Fix urllib.request redirect handling when the target only has a query +string. Fix by Ján Janech. + +.. + +.. bpo: 0 +.. date: 9787 +.. nonce: bMrCz8 +.. section: Library + +Removed the requirements for the ctypes and modulefinder modules to be +compatible with earlier Python versions. + +.. + +.. bpo: 22274 +.. date: 9786 +.. nonce: 0RHDMN +.. section: Library + +In the subprocess module, allow stderr to be redirected to stdout even when +stdout is not redirected. Patch by Akira Li. + +.. + +.. bpo: 12045 +.. date: 9785 +.. nonce: LEH09W +.. section: Library + +Avoid duplicate execution of command in ctypes.util._get_soname(). Patch by +Sijin Joseph. + +.. + +.. bpo: 26960 +.. date: 9784 +.. nonce: 2l_IOl +.. section: Library + +Backported #16270 from Python 3 to Python 2, to prevent urllib from hanging +when retrieving certain FTP files. + +.. + +.. bpo: 25745 +.. date: 9783 +.. nonce: -n8acU +.. section: Library + +Fixed leaking a userptr in curses panel destructor. + +.. + +.. bpo: 17765 +.. date: 9782 +.. nonce: hiSVS1 +.. section: Library + +weakref.ref() no longer silently ignores keyword arguments. Patch by Georg +Brandl. + +.. + +.. bpo: 26873 +.. date: 9781 +.. nonce: _qIPUp +.. section: Library + +xmlrpclib now raises ResponseError on unsupported type tags instead of +silently return incorrect result. + +.. + +.. bpo: 24114 +.. date: 9780 +.. nonce: RMRMtM +.. section: Library + +Fix an uninitialized variable in `ctypes.util`. + +The bug only occurs on SunOS when the ctypes implementation searches for the +`crle` program. Patch by Xiang Zhang. Tested on SunOS by Kees Bos. + +.. + +.. bpo: 26864 +.. date: 9779 +.. nonce: DFsgvI +.. section: Library + +In urllib, change the proxy bypass host checking against no_proxy to be +case-insensitive, and to not match unrelated host names that happen to have +a bypassed hostname as a suffix. Patch by Xiang Zhang. + +.. + +.. bpo: 26804 +.. date: 9778 +.. nonce: 6b9_UW +.. section: Library + +urllib will prefer lower_case proxy environment variables over UPPER_CASE or +Mixed_Case ones. Patch contributed by Hans-Peter Jansen. + +.. + +.. bpo: 26837 +.. date: 9777 +.. nonce: IKt9NJ +.. section: Library + +assertSequenceEqual() now correctly outputs non-stringified differing items. +This affects assertListEqual() and assertTupleEqual(). + +.. + +.. bpo: 26822 +.. date: 9776 +.. nonce: rYSL4W +.. section: Library + +itemgetter, attrgetter and methodcaller objects no longer silently ignore +keyword arguments. + +.. + +.. bpo: 26657 +.. date: 9775 +.. nonce: dfteub +.. section: Library + +Fix directory traversal vulnerability with SimpleHTTPServer on Windows. +This fixes a regression that was introduced in 2.7.7. Based on patch by +Philipp Hagemeister. + +.. + +.. bpo: 19377 +.. date: 9774 +.. nonce: Al9S53 +.. section: Library + +Add .svg to mimetypes.types_map. + +.. + +.. bpo: 13952 +.. date: 9773 +.. nonce: SOoTVE +.. section: Library + +Add .csv to mimetypes.types_map. Patch by Geoff Wilson. + +.. + +.. bpo: 16329 +.. date: 9772 +.. nonce: nuXD8W +.. section: Library + +Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola'. + +.. + +.. bpo: 23735 +.. date: 9771 +.. nonce: Y5oQ9r +.. section: Library + +Handle terminal resizing with Readline 6.3+ by installing our own SIGWINCH +handler. Patch by Eric Price. + +.. + +.. bpo: 26644 +.. date: 9770 +.. nonce: 7tt1tk +.. section: Library + +Raise ValueError rather than SystemError when a negative length is passed to +SSLSocket.recv() or read(). + +.. + +.. bpo: 23804 +.. date: 9769 +.. nonce: PP63Ff +.. section: Library + +Fix SSL recv(0) and read(0) methods to return zero bytes instead of up to +1024. + +.. + +.. bpo: 24266 +.. date: 9768 +.. nonce: YZgVyM +.. section: Library + +Ctrl+C during Readline history search now cancels the search mode when +compiled with Readline 7. + +.. + +.. bpo: 23857 +.. date: 9767 +.. nonce: u94yEL +.. section: Library + +Implement PEP 493, adding a Python-2-only ssl module API and environment +variable to configure the default handling of SSL/TLS certificates for HTTPS +connections. + +.. + +.. bpo: 26313 +.. date: 9766 +.. nonce: xhX2Gu +.. section: Library + +ssl.py _load_windows_store_certs fails if windows cert store is empty. Patch +by Baji. + +.. + +.. bpo: 26513 +.. date: 9765 +.. nonce: HoPepy +.. section: Library + +Fixes platform module detection of Windows Server + +.. + +.. bpo: 23718 +.. date: 9764 +.. nonce: AMPC0o +.. section: Library + +Fixed parsing time in week 0 before Jan 1. Original patch by Tamás Bence +Gedai. + +.. + +.. bpo: 26177 +.. date: 9763 +.. nonce: HlSWer +.. section: Library + +Fixed the keys() method for Canvas and Scrollbar widgets. + +.. + +.. bpo: 15068 +.. date: 9762 +.. nonce: bcHtiw +.. section: Library + +Got rid of excessive buffering in the fileinput module. The bufsize +parameter is no longer used. + +.. + +.. bpo: 2202 +.. date: 9761 +.. nonce: EPsrOA +.. section: Library + +Fix UnboundLocalError in AbstractDigestAuthHandler.get_algorithm_impls. +Initial patch by Mathieu Dupuy. + +.. + +.. bpo: 26475 +.. date: 9760 +.. nonce: JXVccY +.. section: Library + +Fixed debugging output for regular expressions with the (?x) flag. + +.. + +.. bpo: 26385 +.. date: 9759 +.. nonce: mfwNyt +.. section: Library + +Remove the file if the internal fdopen() call in NamedTemporaryFile() fails. +Based on patch by Silent Ghost. + +.. + +.. bpo: 26309 +.. date: 9758 +.. nonce: TSTJ3A +.. section: Library + +In the "SocketServer" module, shut down the request (closing the connected +socket) when verify_request() returns false. Based on patch by Aviv +Palivoda. + +.. + +.. bpo: 25939 +.. date: 9757 +.. nonce: I-qK2E +.. section: Library + +On Windows open the cert store readonly in ssl.enum_certificates. + +.. + +.. bpo: 24303 +.. date: 9756 +.. nonce: FDBJWM +.. section: Library + +Fix random EEXIST upon multiprocessing semaphores creation with Linux PID +namespaces enabled. + +.. + +.. bpo: 25698 +.. date: 9755 +.. nonce: Id3NAo +.. section: Library + +Importing module if the stack is too deep no longer replaces imported module +with the empty one. + +.. + +.. bpo: 12923 +.. date: 9754 +.. nonce: HPAu-B +.. section: Library + +Reset FancyURLopener's redirect counter even if there is an exception. +Based on patches by Brian Brazil and Daniel Rocco. + +.. + +.. bpo: 25945 +.. date: 9753 +.. nonce: guNgNM +.. section: Library + +Fixed a crash when unpickle the functools.partial object with wrong state. +Fixed a leak in failed functools.partial constructor. "args" and "keywords" +attributes of functools.partial have now always types tuple and dict +correspondingly. + +.. + +.. bpo: 19883 +.. date: 9752 +.. nonce: z9TsO6 +.. section: Library + +Fixed possible integer overflows in zipimport. + +.. + +.. bpo: 26147 +.. date: 9751 +.. nonce: UA8O6s +.. section: Library + +xmlrpclib now works with unicode not encodable with used non-UTF-8 encoding. + +.. + +.. bpo: 16620 +.. date: 9750 +.. nonce: rxpn_Y +.. section: Library + +Fixed AttributeError in msilib.Directory.glob(). + +.. + +.. bpo: 21847 +.. date: 9749 +.. nonce: smLnll +.. section: Library + +Fixed xmlrpclib on Unicode-disabled builds. + +.. + +.. bpo: 6500 +.. date: 9748 +.. nonce: n8NGo4 +.. section: Library + +Fixed infinite recursion in urllib2.Request.__getattr__(). + +.. + +.. bpo: 26083 +.. date: 9747 +.. nonce: siyOnS +.. section: Library + +Workaround a subprocess bug that raises an incorrect "ValueError: insecure +string pickle" exception instead of the actual exception on some platforms +such as Mac OS X when an exception raised in the forked child process prior +to the exec() was large enough that it overflowed the internal errpipe_read +pipe buffer. + +.. + +.. bpo: 24103 +.. date: 9746 +.. nonce: gWAG0r +.. section: Library + +Fixed possible use after free in ElementTree.iterparse(). + +.. + +.. bpo: 20954 +.. date: 9745 +.. nonce: H9-NYO +.. section: Library + +_args_from_interpreter_flags used by multiprocessing and some tests no +longer behaves incorrectly in the presence of the PYTHONHASHSEED environment +variable. + +.. + +.. bpo: 14285 +.. date: 9744 +.. nonce: Z5YcQy +.. section: Library + +When executing a package with the "python -m package" option, and package +initialization raises ImportError, a proper traceback is now reported. + +.. + +.. bpo: 6478 +.. date: 9743 +.. nonce: -Bi9Hb +.. section: Library + +_strptime's regexp cache now is reset after changing timezone with +time.tzset(). + +.. + +.. bpo: 25718 +.. date: 9742 +.. nonce: D9mHZF +.. section: Library + +Fixed copying object with state with boolean value is false. + +.. + +.. bpo: 25742 +.. date: 9741 +.. nonce: y6AAQ4 +.. section: Library + +:func:`locale.setlocale` now accepts a Unicode string for its second +parameter. + +.. + +.. bpo: 10131 +.. date: 9740 +.. nonce: a7tptz +.. section: Library + +Fixed deep copying of minidom documents. Based on patch by Marian Ganisin. + +.. + +.. bpo: 25725 +.. date: 9739 +.. nonce: mGRrqb +.. section: Library + +Fixed a reference leak in cPickle.loads() when unpickling invalid data +including tuple instructions. + +.. + +.. bpo: 25663 +.. date: 9738 +.. nonce: Ofwfqa +.. section: Library + +In the Readline completer, avoid listing duplicate global names, and search +the global namespace before searching builtins. + +.. + +.. bpo: 25688 +.. date: 9737 +.. nonce: 8P1HOv +.. section: Library + +Fixed file leak in ElementTree.iterparse() raising an error. + +.. + +.. bpo: 23914 +.. date: 9736 +.. nonce: vQS48b +.. section: Library + +Fixed SystemError raised by CPickle unpickler on broken data. + +.. + +.. bpo: 25924 +.. date: 9735 +.. nonce: Uxr2vt +.. section: Library + +Avoid unnecessary serialization of getaddrinfo(3) calls on OS X versions +10.5 or higher. Original patch by A. Jesse Jiryu Davis. + +.. + +.. bpo: 26406 +.. date: 9734 +.. nonce: ihvhF4 +.. section: Library + +Avoid unnecessary serialization of getaddrinfo(3) calls on current versions +of OpenBSD and NetBSD. Patch by A. Jesse Jiryu Davis. + +.. + +.. bpo: 5124 +.. date: 9733 +.. nonce: 4kwBvM +.. section: IDLE + +Paste with text selected now replaces the selection on X11. This matches how +paste works on Windows, Mac, most modern Linux apps, and ttk widgets. +Original patch by Serhiy Storchaka. + +.. + +.. bpo: 24759 +.. date: 9732 +.. nonce: ccmySu +.. section: IDLE + +Make clear in idlelib.idle_test.__init__ that the directory is a private +implementation of test.test_idle and tool for maintainers. + +.. + +.. bpo: 26673 +.. date: 9731 +.. nonce: dh0_Ij +.. section: IDLE + +When tk reports font size as 0, change to size 10. Such fonts on Linux +prevented the configuration dialog from opening. + +.. + +.. bpo: 27044 +.. date: 9730 +.. nonce: 4y7tyM +.. section: IDLE + +Add ConfigDialog.remove_var_callbacks to stop memory leaks. + +.. + +.. bpo: 0 +.. date: 9729 +.. nonce: _YJfG7 +.. section: IDLE + +In the 'IDLE-console differences' section of the IDLE doc, clarify how +running with IDLE affects sys.modules and the standard streams. + +.. + +.. bpo: 25507 +.. date: 9728 +.. nonce: bx-miX +.. section: IDLE + +fix incorrect change in IOBinding that prevented printing. Change also +prevented saving shell window with non-ascii characters. Augment IOBinding +htest to include all major IOBinding functions. + +.. + +.. bpo: 25905 +.. date: 9727 +.. nonce: FzNb3B +.. section: IDLE + +Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION MARK in +README.txt and open this and NEWS.txt with 'ascii'. Re-encode CREDITS.txt to +utf-8 and open it with 'utf-8'. + +.. + +.. bpo: 26417 +.. date: 9726 +.. nonce: XmSxEK +.. section: IDLE + +Prevent spurious errors and incorrect defaults when installing IDLE 2.7 on +OS X: default configuration settings are no longer installed from OS X +specific copies. + +.. + +.. bpo: 26736 +.. date: 9725 +.. nonce: U_Hyqo +.. section: Documentation + +Used HTTPS for external links in the documentation if possible. + +.. + +.. bpo: 6953 +.. date: 9724 +.. nonce: Zk6rno +.. section: Documentation + +Rework the Readline module documentation to group related functions +together, and add more details such as what underlying Readline functions +and variables are accessed. + +.. + +.. bpo: 26014 +.. date: 9723 +.. nonce: C3Hbb7 +.. section: Documentation + +Guide users to the newer packaging documentation as was done for Python 3.x. +In particular, the top-level 2.7 documentation page now links to the newer +installer and distributions pages rather than the legacy install and +Distutils pages; these are still linked to in the library/distutils doc +page. + +.. + +.. bpo: 21916 +.. date: 9722 +.. nonce: muwCyp +.. section: Tests + +Added tests for the turtle module. Patch by ingrid, Gregory Loyse and Jelle +Zijlstra. + +.. + +.. bpo: 25940 +.. date: 9721 +.. nonce: PgiLVN +.. section: Tests + +Changed test_ssl to use self-signed.pythontest.net. This avoids relying on +svn.python.org, which recently changed root certificate. + +.. + +.. bpo: 25616 +.. date: 9720 +.. nonce: Qr-60p +.. section: Tests + +Tests for OrderedDict are extracted from test_collections into separate file +test_ordered_dict. + +.. + +.. bpo: 22359 +.. date: 9719 +.. nonce: laY9yB +.. section: Build + +Avoid incorrect recursive $(MAKE), and disable the rules for running pgen +when cross-compiling. The pgen output is normally saved with the source +code anyway, and is still regenerated when doing a native build. Patch by +Jonas Wagner and Xavier de Gaye. + +.. + +.. bpo: 19450 +.. date: 9718 +.. nonce: iS8xhV +.. section: Build + +Update Windows builds to use SQLite 3.8.11.0. + +.. + +.. bpo: 27229 +.. date: 9717 +.. nonce: C2NDch +.. section: Build + +Fix the cross-compiling pgen rule for in-tree builds. Patch by Xavier de +Gaye. + +.. + +.. bpo: 17603 +.. date: 9716 +.. nonce: 102DA- +.. section: Build + +Avoid error about nonexistant fileblocks.o file by using a lower-level check +for st_blocks in struct stat. + +.. + +.. bpo: 26465 +.. date: 9715 +.. nonce: _YR608 +.. section: Build + +Update Windows builds to use OpenSSL 1.0.2g. + +.. + +.. bpo: 24421 +.. date: 9714 +.. nonce: 2zY7vM +.. section: Build + +Compile Modules/_math.c once, before building extensions. Previously it +could fail to compile properly if the math and cmath builds were concurrent. + +.. + +.. bpo: 25824 +.. date: 9713 +.. nonce: u0HToh +.. section: Build + +Fixes sys.winver to not include any architecture suffix. + +.. + +.. bpo: 25348 +.. date: 9712 +.. nonce: u6_BaQ +.. section: Build + +Added ``--pgo`` and ``--pgo-job`` arguments to ``PCbuild\build.bat`` for +building with Profile-Guided Optimization. The old +``PCbuild\build_pgo.bat`` script is now deprecated, and simply calls +``PCbuild\build.bat --pgo %*``. + +.. + +.. bpo: 25827 +.. date: 9711 +.. nonce: yg3DMM +.. section: Build + +Add support for building with ICC to ``configure``, including a new +``--with-icc`` flag. + +.. + +.. bpo: 25696 +.. date: 9710 +.. nonce: 2R_wIv +.. section: Build + +Fix installation of Python on UNIX with make -j9. + +.. + +.. bpo: 26930 +.. date: 9709 +.. nonce: Sqz2O3 +.. section: Build + +Update OS X 10.5+ 32-bit-only installer to build and link with OpenSSL +1.0.2h. + +.. + +.. bpo: 26268 +.. date: 9708 +.. nonce: I3-YLh +.. section: Build + +Update Windows builds to use OpenSSL 1.0.2f. + +.. + +.. bpo: 25136 +.. date: 9707 +.. nonce: Vi-fmO +.. section: Build + +Support Apple Xcode 7's new textual SDK stub libraries. + +.. + +.. bpo: 26799 +.. date: 9706 +.. nonce: gK2VXX +.. section: Tools/Demos + +Fix python-gdb.py: don't get C types once when the Python code is loaded, +but get C types on demand. The C types can change if python-gdb.py is loaded +before the Python executable. Patch written by Thomas Ilsche. + +.. + +.. bpo: 30255 +.. date: 9705 +.. nonce: EGf-zW +.. section: C API + +PySlice_GetIndicesEx now clips the step to [-PY_SSIZE_T_MAX, PY_SSIZE_T_MAX] +instead of [-PY_SSIZE_T_MAX-1, PY_SSIZE_T_MAX]. This makes it safe to do +"step = -step" when reversing a slice. + +.. + +.. bpo: 26476 +.. date: 9704 +.. nonce: oJrb6q +.. section: C API + +Fixed compilation error when use PyErr_BadInternalCall() in C++. Patch by +Jeroen Demeyer. + +.. + +.. bpo: 17500 +.. date: 9703 +.. nonce: QTZbRV +.. section: Windows + +Remove unused and outdated icons. (See also: +https://github.com/python/pythondotorg/issues/945) diff --git a/Misc/NEWS.d/2.7.13.rst b/Misc/NEWS.d/2.7.13.rst new file mode 100644 index 0000000000..0d065e841d --- /dev/null +++ b/Misc/NEWS.d/2.7.13.rst @@ -0,0 +1,7 @@ +.. bpo: 5322 +.. date: 9926 +.. nonce: _CaEiN +.. release date: 2016-12-17 +.. section: Core and Builtins + +Revert a37cc3d926ec. diff --git a/Misc/NEWS.d/2.7.13rc1.rst b/Misc/NEWS.d/2.7.13rc1.rst new file mode 100644 index 0000000000..26ffeea2b3 --- /dev/null +++ b/Misc/NEWS.d/2.7.13rc1.rst @@ -0,0 +1,1025 @@ +.. bpo: 5322 +.. date: 9925 +.. nonce: 8Fq059 +.. release date: 2016-12-03 +.. section: Core and Builtins + +Fixed setting __new__ to a PyCFunction inside Python code. Original patch by +Andreas Stührk. + +.. + +.. bpo: 28847 +.. date: 9924 +.. nonce: iG6VRD +.. section: Core and Builtins + +dumbdbm no longer writes the index file in when it is not changed and +supports reading read-only files. + +.. + +.. bpo: 11145 +.. date: 9923 +.. nonce: 3BeZaz +.. section: Core and Builtins + +Fixed miscellaneous issues with C-style formatting of types with custom +__oct__ and __hex__. + +.. + +.. bpo: 24469 +.. date: 9922 +.. nonce: dl8lJ4 +.. section: Core and Builtins + +Fixed memory leak caused by int subclasses without overridden tp_free (e.g. +C-inherited Cython classes). + +.. + +.. bpo: 19398 +.. date: 9921 +.. nonce: RYbEGH +.. section: Core and Builtins + +Extra slash no longer added to sys.path components in case of empty compile- +time PYTHONPATH components. + +.. + +.. bpo: 21720 +.. date: 9920 +.. nonce: XSd6LI +.. section: Core and Builtins + +Improve exception message when the type of fromlist is unicode. fromlist +parameter of __import__() only accepts str in Python 2 and this will help to +identify the problem especially when the unicode_literals future import is +used. + +.. + +.. bpo: 26906 +.. date: 9919 +.. nonce: YBjcwI +.. section: Core and Builtins + +Resolving special methods of uninitialized type now causes implicit +initialization of the type instead of a fail. + +.. + +.. bpo: 18287 +.. date: 9918 +.. nonce: k6jffS +.. section: Core and Builtins + +PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas +Koep. + +.. + +.. bpo: 24098 +.. date: 9917 +.. nonce: XqlP_1 +.. section: Core and Builtins + +Fixed possible crash when AST is changed in process of compiling it. + +.. + +.. bpo: 28350 +.. date: 9916 +.. nonce: 8M5Eg9 +.. section: Core and Builtins + +String constants with null character no longer interned. + +.. + +.. bpo: 27942 +.. date: 9915 +.. nonce: ZGuhns +.. section: Core and Builtins + +String constants now interned recursively in tuples and frozensets. + +.. + +.. bpo: 15578 +.. date: 9914 +.. nonce: xSQWiu +.. section: Core and Builtins + +Correctly incref the parent module while importing. + +.. + +.. bpo: 26307 +.. date: 9913 +.. nonce: Puk2rd +.. section: Core and Builtins + +The profile-opt build now applies PGO to the built-in modules. + +.. + +.. bpo: 26020 +.. date: 9912 +.. nonce: niLbLa +.. section: Core and Builtins + +set literal evaluation order did not match documented behaviour. + +.. + +.. bpo: 27870 +.. date: 9911 +.. nonce: Y0u34u +.. section: Core and Builtins + +A left shift of zero by a large integer no longer attempts to allocate large +amounts of memory. + +.. + +.. bpo: 25604 +.. date: 9910 +.. nonce: UkeHGy +.. section: Core and Builtins + +Fix a minor bug in integer true division; this bug could potentially have +caused off-by-one-ulp results on platforms with unreliable ldexp +implementations. + +.. + +.. bpo: 27473 +.. date: 9909 +.. nonce: d8HWze +.. section: Core and Builtins + +Fixed possible integer overflow in str, unicode and bytearray concatenations +and repetitions. Based on patch by Xiang Zhang. + +.. + +.. bpo: 27507 +.. date: 9908 +.. nonce: 3pX0Be +.. section: Core and Builtins + +Add integer overflow check in bytearray.extend(). Patch by Xiang Zhang. + +.. + +.. bpo: 27581 +.. date: 9907 +.. nonce: KezjNt +.. section: Core and Builtins + +Don't rely on wrapping for overflow check in PySequence_Tuple(). Patch by +Xiang Zhang. + +.. + +.. bpo: 23908 +.. date: 9906 +.. nonce: xXL6_c +.. section: Core and Builtins + +os functions, open() and the io.FileIO constructor now reject unicode paths +with embedded null character on Windows instead of silently truncating them. + +.. + +.. bpo: 27514 +.. date: 9905 +.. nonce: NLbwPG +.. section: Core and Builtins + +Make having too many statically nested blocks a SyntaxError instead of +SystemError. + +.. + +.. bpo: 25659 +.. date: 9904 +.. nonce: lE2IlT +.. section: Library + +In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy() +methods on abstract classes like Array. + +.. + +.. bpo: 28563 +.. date: 9903 +.. nonce: iweEiw +.. section: Library + +Fixed possible DoS and arbitrary code execution when handle plural form +selections in the gettext module. The expression parser now supports exact +syntax supported by GNU gettext. + +.. + +.. bpo: 28387 +.. date: 9902 +.. nonce: 1clJu7 +.. section: Library + +Fixed possible crash in _io.TextIOWrapper deallocator when the garbage +collector is invoked in other thread. Based on patch by Sebastian Cufre. + +.. + +.. bpo: 28449 +.. date: 9901 +.. nonce: 5JK6ES +.. section: Library + +tarfile.open() with mode "r" or "r:" now tries to open a tar file with +compression before trying to open it without compression. Otherwise it had +50% chance failed with ignore_zeros=True. + +.. + +.. bpo: 25464 +.. date: 9900 +.. nonce: DTGbbr +.. section: Library + +Fixed HList.header_exists() in Tix module by adding a workaround to Tix +library bug. + +.. + +.. bpo: 28488 +.. date: 9899 +.. nonce: TgO112 +.. section: Library + +shutil.make_archive() no longer adds entry "./" to ZIP archive. + +.. + +.. bpo: 28480 +.. date: 9898 +.. nonce: Qh4Xeq +.. section: Library + +Fix error building _sqlite3 module when multithreading is disabled. + +.. + +.. bpo: 24452 +.. date: 9897 +.. nonce: m9Kyg3 +.. section: Library + +Make webbrowser support Chrome on Mac OS X. + +.. + +.. bpo: 26293 +.. date: 9896 +.. nonce: 2mjvwX +.. section: Library + +Fixed writing ZIP files that starts not from the start of the file. Offsets +in ZIP file now are relative to the start of the archive in conforming to +the specification. + +.. + +.. bpo: 0 +.. date: 9895 +.. nonce: 81jNns +.. section: Library + +Fix possible integer overflows and crashes in the mmap module with unusual +usage patterns. + +.. + +.. bpo: 27897 +.. date: 9894 +.. nonce: wfWe9B +.. section: Library + +Fixed possible crash in sqlite3.Connection.create_collation() if pass +invalid string-like object as a name. Original patch by Xiang Zhang. + +.. + +.. bpo: 1703178 +.. date: 9893 +.. nonce: meb49K +.. section: Library + +Fix the ability to pass the --link-objects option to the distutils build_ext +command. + +.. + +.. bpo: 28253 +.. date: 9892 +.. nonce: aLfmhe +.. section: Library + +Fixed calendar functions for extreme months: 0001-01 and 9999-12. + +Methods itermonthdays() and itermonthdays2() are reimplemented so that they +don't call itermonthdates() which can cause datetime.date under/overflow. + +.. + +.. bpo: 27963 +.. date: 9891 +.. nonce: XDgr3L +.. section: Library + +Fixed possible null pointer dereference in ctypes.set_conversion_mode(). +Patch by Xiang Zhang. + +.. + +.. bpo: 28284 +.. date: 9890 +.. nonce: kHbh7e +.. section: Library + +Strengthen resistance of ``_json.encode_basestring_ascii()`` to integer +overflow. + +.. + +.. bpo: 27611 +.. date: 9889 +.. nonce: yfOkD6 +.. section: Library + +Fixed support of default root window in the Tix module. + +.. + +.. bpo: 24363 +.. date: 9888 +.. nonce: PVQg7r +.. section: Library + +When parsing HTTP header fields, if an invalid line is encountered, skip it +and continue parsing. Previously, no more header fields were parsed, which +could lead to fields for HTTP framing like Content-Length and Transfer- +Encoding being overlooked. + +.. + +.. bpo: 27599 +.. date: 9887 +.. nonce: itvm8T +.. section: Library + +Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp(). + +.. + +.. bpo: 25969 +.. date: 9886 +.. nonce: qSPkl- +.. section: Library + +Update the lib2to3 grammar to handle the unpacking generalizations added in +3.5. + +.. + +.. bpo: 24594 +.. date: 9885 +.. nonce: 9CnFVS +.. section: Library + +Validates persist parameter when opening MSI database + +.. + +.. bpo: 27570 +.. date: 9884 +.. nonce: pU0Zie +.. section: Library + +Avoid zero-length memcpy() etc calls with null source pointers in the +"ctypes" and "array" modules. + +.. + +.. bpo: 22450 +.. date: 9883 +.. nonce: aWpdde +.. section: Library + +urllib now includes an "Accept: */*" header among the default headers. This +makes the results of REST API requests more consistent and predictable +especially when proxy servers are involved. + +.. + +.. bpo: 0 +.. date: 9882 +.. nonce: PVZStR +.. section: Library + +lib2to3.pgen3.driver.load_grammar() now creates a stable cache file between +runs given the same Grammar.txt input regardless of the hash randomization +setting. + +.. + +.. bpo: 27691 +.. date: 9881 +.. nonce: TMYF5_ +.. section: Library + +Fix ssl module's parsing of GEN_RID subject alternative name fields in X.509 +certs. + +.. + +.. bpo: 27850 +.. date: 9880 +.. nonce: kIVQ0m +.. section: Library + +Remove 3DES from ssl module's default cipher list to counter measure sweet32 +attack (CVE-2016-2183). + +.. + +.. bpo: 27766 +.. date: 9879 +.. nonce: WI70Tc +.. section: Library + +Add ChaCha20 Poly1305 to ssl module's default ciper list. (Required OpenSSL +1.1.0 or LibreSSL). + +.. + +.. bpo: 26470 +.. date: 9878 +.. nonce: QGu_wo +.. section: Library + +Port ssl and hashlib module to OpenSSL 1.1.0. + +.. + +.. bpo: 27944 +.. date: 9877 +.. nonce: EVXdfk +.. section: Library + +Fix some memory-corruption bugs in the log reading code of the _hotshot +module. + +.. + +.. bpo: 27934 +.. date: 9876 +.. nonce: ucQE3p +.. section: Library + +Use ``float.__repr__`` instead of plain ``repr`` when JSON- encoding an +instance of a float subclass. Thanks Eddie James. + +.. + +.. bpo: 27861 +.. date: 9875 +.. nonce: DBYuo9 +.. section: Library + +Fixed a crash in sqlite3.Connection.cursor() when a factory creates not a +cursor. Patch by Xiang Zhang. + +.. + +.. bpo: 19884 +.. date: 9874 +.. nonce: MO8AWH +.. section: Library + +Avoid spurious output on OS X with Gnu Readline. + +.. + +.. bpo: 10513 +.. date: 9873 +.. nonce: tQIQD_ +.. section: Library + +Fix a regression in Connection.commit(). Statements should not be reset +after a commit. + +.. + +.. bpo: 2466 +.. date: 9872 +.. nonce: VRNlkg +.. section: Library + +posixpath.ismount now correctly recognizes mount points which the user does +not have permission to access. + +.. + +.. bpo: 27783 +.. date: 9871 +.. nonce: 6fCCY9 +.. section: Library + +Fix possible usage of uninitialized memory in operator.methodcaller. + +.. + +.. bpo: 27774 +.. date: 9870 +.. nonce: FDcik1 +.. section: Library + +Fix possible Py_DECREF on unowned object in _sre. + +.. + +.. bpo: 27760 +.. date: 9869 +.. nonce: gxMjp4 +.. section: Library + +Fix possible integer overflow in binascii.b2a_qp. + +.. + +.. bpo: 0 +.. date: 9868 +.. nonce: Ny9oPv +.. section: Library + +In the curses module, raise an error if window.getstr() or window.instr() is +passed a negative value. + +.. + +.. bpo: 27758 +.. date: 9867 +.. nonce: x9DC4R +.. section: Library + +Fix possible integer overflow in the _csv module for large record lengths. + +.. + +.. bpo: 23369 +.. date: 9866 +.. nonce: nqChyE +.. section: Library + +Fixed possible integer overflow in _json.encode_basestring_ascii. + +.. + +.. bpo: 27568 +.. date: 9865 +.. nonce: OnuO9s +.. section: Library + +Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the HTTP_PROXY variable +when REQUEST_METHOD environment is set, which indicates that the script is +in CGI mode. + +.. + +.. bpo: 27130 +.. date: 9864 +.. nonce: zVvNDt +.. section: Library + +In the "zlib" module, fix handling of large buffers (typically 2 or 4 GiB). +Previously, inputs were limited to 2 GiB, and compression and decompression +operations did not properly handle results of 2 or 4 GiB. + +.. + +.. bpo: 23804 +.. date: 9863 +.. nonce: ipFvxc +.. section: Library + +Fix SSL zero-length recv() calls to not block and not raise an error about +unclean EOF. + +.. + +.. bpo: 27466 +.. date: 9862 +.. nonce: C_3a8E +.. section: Library + +Change time format returned by http.cookie.time2netscape, confirming the +netscape cookie format and making it consistent with documentation. + +.. + +.. bpo: 22115 +.. date: 9861 +.. nonce: Vpj2aH +.. section: Library + +Fixed tracing Tkinter variables: trace_vdelete() with wrong mode no longer +break tracing, trace_vinfo() now always returns a list of pairs of strings. + +.. + +.. bpo: 27079 +.. date: 9860 +.. nonce: c7d0Ym +.. section: Library + +Fixed curses.ascii functions isblank(), iscntrl() and ispunct(). + +.. + +.. bpo: 22636 +.. date: 9859 +.. nonce: 3fQW_g +.. section: Library + +Avoid shell injection problems with ctypes.util.find_library(). + +.. + +.. bpo: 27330 +.. date: 9858 +.. nonce: GJaFCV +.. section: Library + +Fixed possible leaks in the ctypes module. + +.. + +.. bpo: 27238 +.. date: 9857 +.. nonce: Q6v6Qv +.. section: Library + +Got rid of bare excepts in the turtle module. Original patch by Jelle +Zijlstra. + +.. + +.. bpo: 26386 +.. date: 9856 +.. nonce: 9L3Ut4 +.. section: Library + +Fixed ttk.TreeView selection operations with item id's containing spaces. + +.. + +.. bpo: 25455 +.. date: 9855 +.. nonce: tj_49f +.. section: Library + +Fixed a crash in repr of cElementTree.Element with recursive tag. + +.. + +.. bpo: 21201 +.. date: 9854 +.. nonce: wLCKiA +.. section: Library + +Improves readability of multiprocessing error message. Thanks to Wojciech +Walczak for patch. + +.. + +.. bpo: 27854 +.. date: 9853 +.. nonce: 8L_TJb +.. section: IDLE + +Make Help => IDLE Help work again on Windows. Include idlelib/help.html in +2.7 Windows installer. + +.. + +.. bpo: 25507 +.. date: 9852 +.. nonce: bQVsMZ +.. section: IDLE + +Add back import needed for 2.x encoding warning box. Add pointer to +'Encoding declaration' in Language Reference. + +.. + +.. bpo: 15308 +.. date: 9851 +.. nonce: zZxn8m +.. section: IDLE + +Add 'interrupt execution' (^C) to Shell menu. Patch by Roger Serwy, updated +by Bayard Randel. + +.. + +.. bpo: 27922 +.. date: 9850 +.. nonce: UEtEv9 +.. section: IDLE + +Stop IDLE tests from 'flashing' gui widgets on the screen. + +.. + +.. bpo: 17642 +.. date: 9849 +.. nonce: B0BNOB +.. section: IDLE + +add larger font sizes for classroom projection. + +.. + +.. bpo: 0 +.. date: 9848 +.. nonce: zWZs6o +.. section: IDLE + +Add version to title of IDLE help window. + +.. + +.. bpo: 25564 +.. date: 9847 +.. nonce: GN0p14 +.. section: IDLE + +In section on IDLE -- console differences, mention that using exec means +that __builtins__ is defined for each statement. + +.. + +.. bpo: 27714 +.. date: 9846 +.. nonce: bUEDsI +.. section: IDLE + +text_textview and test_autocomplete now pass when re-run in the same +process. This occurs when test_idle fails when run with the -w option but +without -jn. Fix warning from test_config. + +.. + +.. bpo: 27452 +.. date: 9845 +.. nonce: RtWnyR +.. section: IDLE + +add line counter and crc to IDLE configHandler test dump. + +.. + +.. bpo: 27365 +.. date: 9844 +.. nonce: y7ys_A +.. section: IDLE + +Allow non-ascii chars in IDLE NEWS.txt, for contributor names. + +.. + +.. bpo: 27245 +.. date: 9843 +.. nonce: u9aKO1 +.. section: IDLE + +IDLE: Cleanly delete custom themes and key bindings. Previously, when IDLE +was started from a console or by import, a cascade of warnings was emitted. +Patch by Serhiy Storchaka. + +.. + +.. bpo: 28513 +.. date: 9842 +.. nonce: L3joAz +.. section: Documentation + +Documented command-line interface of zipfile. + +.. + +.. bpo: 16484 +.. date: 9841 +.. nonce: ITzcGg +.. section: Documentation + +Change the default PYTHONDOCS URL to "https:", and fix the resulting links +to use lowercase. Patch by Sean Rodman, test by Kaushik Nadikuditi. + +.. + +.. bpo: 28666 +.. date: 9840 +.. nonce: sbGV2K +.. section: Tests + +Now test.test_support.rmtree is able to remove unwritable or unreadable +directories. + +.. + +.. bpo: 23839 +.. date: 9839 +.. nonce: zsT_L9 +.. section: Tests + +Various caches now are cleared before running every test file. + +.. + +.. bpo: 27369 +.. date: 9838 +.. nonce: LG7U2D +.. section: Tests + +In test_pyexpat, avoid testing an error message detail that changed in Expat +2.2.0. + +.. + +.. bpo: 10656 +.. date: 9837 +.. nonce: pR8FFU +.. section: Build + +Fix out-of-tree building on AIX. Patch by Tristan Carel and Michael +Haubenwallner. + +.. + +.. bpo: 26359 +.. date: 9836 +.. nonce: CLz6qy +.. section: Build + +Rename --with-optimiations to --enable-optimizations. + +.. + +.. bpo: 28248 +.. date: 9835 +.. nonce: KY_-en +.. section: Build + +Update Windows build and OS X installers to use OpenSSL 1.0.2j. + +.. + +.. bpo: 28258 +.. date: 9834 +.. nonce: pQNUId +.. section: Build + +Fixed build with Estonian locale (distclean target in Makefile). Patch by +Arfrever Frehtes Taifersar Arahesis. + +.. + +.. bpo: 26661 +.. date: 9833 +.. nonce: Z_HNbs +.. section: Build + +setup.py now detects system libffi with multiarch wrapper. + +.. + +.. bpo: 15819 +.. date: 9832 +.. nonce: Wi3naX +.. section: Build + +The Include directory in the build tree is already searched; drop unused +code trying to add it again. + +.. + +.. bpo: 27566 +.. date: 9831 +.. nonce: xDWjEb +.. section: Build + +Fix clean target in freeze makefile (patch by Lisa Roach) + +.. + +.. bpo: 27983 +.. date: 9830 +.. nonce: jL_1n8 +.. section: Build + +Cause lack of llvm-profdata tool when using clang as required for PGO +linking to be a configure time error rather than make time when --with- +optimizations is enabled. Also improve our ability to find the llvm- +profdata tool on MacOS and some Linuxes. + +.. + +.. bpo: 26359 +.. date: 9829 +.. nonce: WXBL-Y +.. section: Build + +Add the --with-optimizations configure flag. + +.. + +.. bpo: 10910 +.. date: 9828 +.. nonce: ZdRayb +.. section: Build + +Avoid C++ compilation errors on FreeBSD and OS X. Also update FreedBSD +version checks for the original ctype UTF-8 workaround. + +.. + +.. bpo: 27806 +.. date: 9827 +.. nonce: DEhPsm +.. section: Build + +Fix 32-bit builds on macOS Sierra 10.12 broken by removal of deprecated +QuickTime/QuickTime.h header file. Patch by Aleks Bunin. + +.. + +.. bpo: 28676 +.. date: 9826 +.. nonce: 41PL3Q +.. section: Build + +Prevent missing 'getentropy' declaration warning on macOS. Initial patch by +Gareth Rees. + +.. + +.. bpo: 27952 +.. date: 9825 +.. nonce: OO-hBo +.. section: Tools/Demos + +Get Tools/scripts/fixcid.py working with the current "re" module, avoid +invalid Python backslash escapes, and fix a bug parsing escaped C quote +signs. + +.. + +.. bpo: 27932 +.. date: 9824 +.. nonce: mtgl-6 +.. section: Windows + +Prevent memory leak in win32_ver(). + +.. + +.. bpo: 27888 +.. date: 9823 +.. nonce: xClILd +.. section: Windows + +Prevent Windows installer from displaying console windows and failing when +pip cannot be installed/uninstalled. + +.. + +.. bpo: 28440 +.. date: 9822 +.. nonce: KBMmDg +.. section: macOS + +No longer add /Library/Python/site-packages, the Apple-supplied system +Python site-packages directory, to sys.path for macOS framework builds. The +coupling between the two Python instances often caused confusion and, as of +macOS 10.12, changes to the site-packages layout can cause pip component +installations to fail. This change reverts the effects introduced in 2.7.0 +by Issue #4865. If you are using a package with both the Apple system +Python 2.7 and a user-installed Python 2.7, you will need to ensure that +copies of the package are installed with both Python instances. diff --git a/Misc/NEWS.d/2.7.1rc1.rst b/Misc/NEWS.d/2.7.1rc1.rst new file mode 100644 index 0000000000..8de80ed40e --- /dev/null +++ b/Misc/NEWS.d/2.7.1rc1.rst @@ -0,0 +1,1726 @@ +.. bpo: 10221 +.. date: 8273 +.. nonce: 4NppnX +.. release date: 2010-11-13 +.. section: Core and Builtins + +dict.pop(k) now has a key error message that includes the missing key (same +message d[k] returns for missing keys). + +.. + +.. bpo: 10125 +.. date: 8272 +.. nonce: Zs0ZsA +.. section: Core and Builtins + +Don't segfault when the iterator passed to ``file.writelines()`` closes the +file. + +.. + +.. bpo: 10186 +.. date: 8271 +.. nonce: _LgTkO +.. section: Core and Builtins + +Fix the SyntaxError caret when the offset is equal to the length of the +offending line. + +.. + +.. bpo: 9997 +.. date: 8270 +.. nonce: mGq7Dd +.. section: Core and Builtins + +Don't let the name "top" have special significance in scope resolution. + +.. + +.. bpo: 9862 +.. date: 8269 +.. nonce: 18PjRQ +.. section: Core and Builtins + +Compensate for broken PIPE_BUF in AIX by hard coding its value as the +default 512 when compiling on AIX. + +.. + +.. bpo: 9675 +.. date: 8268 +.. nonce: grRY0l +.. section: Core and Builtins + +CObject use is marked as a Py3k warning, not a deprecation warning. + +.. + +.. bpo: 10068 +.. date: 8267 +.. nonce: CYBiNW +.. section: Core and Builtins + +Global objects which have reference cycles with their module's dict are now +cleared again. This causes issue #7140 to appear again. + +.. + +.. bpo: 9869 +.. date: 8266 +.. nonce: gwgHCl +.. section: Core and Builtins + +Make long() and PyNumber_Long return something of type long for a class +whose __long__ method returns a plain int. This fixes an interpreter crash +when initializing an instance of a long subclass from an object whose +__long__ method returns a plain int. + +.. + +.. bpo: 10006 +.. date: 8265 +.. nonce: QMA2kC +.. section: Core and Builtins + +type.__abstractmethods__ now raises an AttributeError. + +.. + +.. bpo: 9797 +.. date: 8264 +.. nonce: YxisFn +.. section: Core and Builtins + +pystate.c wrongly assumed that zero couldn't be a valid thread-local storage +key. + +.. + +.. bpo: 4947 +.. date: 8263 +.. nonce: abA0AT +.. section: Core and Builtins + +The write() method of sys.stdout and sys.stderr uses their encoding and +errors attributes instead of using utf-8 in strict mode, to get the same +behaviour than the print statement. + +.. + +.. bpo: 9737 +.. date: 8262 +.. nonce: JlusIM +.. section: Core and Builtins + +Fix a crash when trying to delete a slice or an item from a memoryview +object. + +.. + +.. bpo: 0 +.. date: 8261 +.. nonce: MI1h1F +.. section: Core and Builtins + +Restore GIL in nis_cat in case of error. + +.. + +.. bpo: 9688 +.. date: 8260 +.. nonce: PTAKBL +.. section: Core and Builtins + +__basicsize__ and __itemsize__ must be accessed as Py_ssize_t. + +.. + +.. bpo: 8530 +.. date: 8259 +.. nonce: 4OlxZq +.. section: Core and Builtins + +Prevent stringlib fastsearch from reading beyond the front of an array. + +.. + +.. bpo: 83755 +.. date: 8258 +.. nonce: LFoGKM +.. section: Core and Builtins + +Implicit set-to-frozenset conversion was not thread-safe. + +.. + +.. bpo: 9416 +.. date: 8257 +.. nonce: EqecrW +.. section: Core and Builtins + +Fix some issues with complex formatting where the output with no type +specifier failed to match the str output: + +- format(complex(-0.0, 2.0), '-') omitted the real part from the output, - +format(complex(0.0, 2.0), '-') included a sign and parentheses. + +.. + +.. bpo: 7616 +.. date: 8256 +.. nonce: AOGmSj +.. section: Core and Builtins + +Fix copying of overlapping memoryview slices with the Intel compiler. + +.. + +.. bpo: 9926 +.. date: 8255 +.. nonce: J4BGGY +.. section: Library + +Wrapped TestSuite subclass does not get __call__ executed + +.. + +.. bpo: 4471 +.. date: 8254 +.. nonce: ZJDlrs +.. section: Library + +Properly shutdown socket in IMAP.shutdown(). Patch by Lorenzo M. Catucci. + +.. + +.. bpo: 10126 +.. date: 8253 +.. nonce: zvTZV- +.. section: Library + +Fix distutils' test_build when Python was built with --enable-shared. + +.. + +.. bpo: 0 +.. date: 8252 +.. nonce: NFeWRc +.. section: Library + +Fix typo in one sdist option (medata-check). + +.. + +.. bpo: 9199 +.. date: 8251 +.. nonce: 8WF_Pp +.. section: Library + +Fix incorrect use of distutils.cmd.Command.announce. + +.. + +.. bpo: 1718574 +.. date: 8250 +.. nonce: iqLV20 +.. section: Library + +Fix options that were supposed to accept arguments but did not in +build_clib. + +.. + +.. bpo: 9281 +.. date: 8249 +.. nonce: 0xYNfM +.. section: Library + +Prevent race condition with mkdir in distutils. Patch by Arfrever. + +.. + +.. bpo: 10229 +.. date: 8248 +.. nonce: 10oNS7 +.. section: Library + +Fix caching error in gettext. + +.. + +.. bpo: 10252 +.. date: 8247 +.. nonce: pGhEYO +.. section: Library + +Close file objects in a timely manner in distutils code and tests. Patch by +Brian Brazil, completed by Éric Araujo. + +.. + +.. bpo: 10311 +.. date: 8246 +.. nonce: u1t7up +.. section: Library + +The signal module now restores errno before returning from its low-level +signal handler. Patch by Hallvard B Furuseth. + +.. + +.. bpo: 10038 +.. date: 8245 +.. nonce: 5EKcD7 +.. section: Library + +json.loads() on str should always return unicode (regression from Python +2.6). Patch by Walter Dörwald. + +.. + +.. bpo: 120176 +.. date: 8244 +.. nonce: 9k2NaP +.. section: Library + +Wrapped TestSuite subclass does not get __call__ executed. + +.. + +.. bpo: 6706 +.. date: 8243 +.. nonce: Es-Yrw +.. section: Library + +asyncore accept() method no longer raises EWOULDBLOCK/ECONNABORTED on +incomplete connection attempt but returns None instead. + +.. + +.. bpo: 10266 +.. date: 8242 +.. nonce: BZ9duO +.. section: Library + +uu.decode didn't close in_file explicitly when it was given as a filename. +Patch by Brian Brazil. + +.. + +.. bpo: 10246 +.. date: 8241 +.. nonce: NPG3oL +.. section: Library + +uu.encode didn't close file objects explicitly when filenames were given to +it. Patch by Brian Brazil. + +.. + +.. bpo: 10253 +.. date: 8240 +.. nonce: TL1F90 +.. section: Library + +FileIO leaks a file descriptor when trying to open a file for append that +isn't seekable. Patch by Brian Brazil. + +.. + +.. bpo: 6105 +.. date: 8239 +.. nonce: qt9xTV +.. section: Library + +json.dumps now respects OrderedDict's iteration order. + +.. + +.. bpo: 9295 +.. date: 8238 +.. nonce: M7y0mB +.. section: Library + +Fix a crash under Windows when calling close() on a file object with custom +buffering from two threads at once. + +.. + +.. bpo: 5027 +.. date: 8237 +.. nonce: 6mYRNc +.. section: Library + +The standard ``xml`` namespace is now understood by +xml.sax.saxutils.XMLGenerator as being bound to +http://www.w3.org/XML/1998/namespace. Patch by Troy J. Farrell. + +.. + +.. bpo: 10163 +.. date: 8236 +.. nonce: Lrvd6I +.. section: Library + +Skip unreadable registry keys during mimetypes initialization. + +.. + +.. bpo: 5117 +.. date: 8235 +.. nonce: FzD7qd +.. section: Library + +Fixed root directory related issue on posixpath.relpath() and +ntpath.relpath(). + +.. + +.. bpo: 9409 +.. date: 8234 +.. nonce: HRnhHT +.. section: Library + +Fix the regex to match all kind of filenames, for interactive debugging in +doctests. + +.. + +.. bpo: 6612 +.. date: 8233 +.. nonce: qaqnnh +.. section: Library + +Fix site and sysconfig to catch os.getcwd() error, eg. if the current +directory was deleted. Patch written by W. Trevor King. + +.. + +.. bpo: 10045 +.. date: 8232 +.. nonce: iz6KpQ +.. section: Library + +Improved performance when writing after seeking past the end of the "file" +in cStringIO. + +.. + +.. bpo: 9948 +.. date: 8231 +.. nonce: FOv8kp +.. section: Library + +Fixed problem of losing filename case information. + +.. + +.. bpo: 9437 +.. date: 8230 +.. nonce: a95HEb +.. section: Library + +Fix building C extensions with non-default LDFLAGS. + +.. + +.. bpo: 9759 +.. date: 8229 +.. nonce: aGsQic +.. section: Library + +GzipFile now raises ValueError when an operation is attempted after the file +is closed. Patch by Jeffrey Finkelstein. + +.. + +.. bpo: 9042 +.. date: 8228 +.. nonce: dQTK_C +.. section: Library + +Fix interaction of custom translation classes and caching in gettext. + +.. + +.. bpo: 9065 +.. date: 8227 +.. nonce: PTsv6_ +.. section: Library + +tarfile no longer uses "root" as the default for the uname and gname field. + +.. + +.. bpo: 1050268 +.. date: 8226 +.. nonce: oOtGVD +.. section: Library + +parseaddr now correctly quotes double quote and backslash characters that +appear inside quoted strings in email addresses. + +.. + +.. bpo: 10004 +.. date: 8225 +.. nonce: NTY_zM +.. section: Library + +quoprimime no longer generates a traceback when confronted with invalid +characters after '=' in a Q-encoded word. + +.. + +.. bpo: 9950 +.. date: 8224 +.. nonce: omOgj_ +.. section: Library + +Fix socket.sendall() crash or misbehaviour when a signal is received. Now +sendall() properly calls signal handlers if necessary, and retries sending +if these returned successfully, including on sockets with a timeout. + +.. + +.. bpo: 9947 +.. date: 8223 +.. nonce: YCbARo +.. section: Library + +logging: Fixed locking bug in stopListening. + +.. + +.. bpo: 9945 +.. date: 8222 +.. nonce: DTIygY +.. section: Library + +logging: Fixed locking bugs in addHandler/removeHandler. + +.. + +.. bpo: 9936 +.. date: 8221 +.. nonce: evd1vv +.. section: Library + +Fixed executable lines' search in the trace module. + +.. + +.. bpo: 9928 +.. date: 8220 +.. nonce: S5LHD8 +.. section: Library + +Properly initialize the types exported by the bz2 module. + +.. + +.. bpo: 9854 +.. date: 8219 +.. nonce: DxDKln +.. section: Library + +The default read() implementation in io.RawIOBase now handles non-blocking +readinto() returning None correctly. + +.. + +.. bpo: 9729 +.. date: 8218 +.. nonce: mSCrBH +.. section: Library + +Fix the signature of SSLSocket.recvfrom() and SSLSocket.sendto() to match +the corresponding socket methods. Also, fix various SSLSocket methods to +raise socket.error rather than an unhelpful TypeError when called on an +unconnected socket. Original patch by Andrew Bennetts. + +.. + +.. bpo: 9826 +.. date: 8217 +.. nonce: OHvlzj +.. section: Library + +OrderedDict.__repr__ can now handle self-referential values: d['x'] = d. + +.. + +.. bpo: 767645 +.. date: 8216 +.. nonce: YgbDPp +.. section: Library + +Set os.path.supports_unicode_filenames to True on Mac OS X. + +.. + +.. bpo: 9837 +.. date: 8215 +.. nonce: EZowT2 +.. section: Library + +The read() method of ZipExtFile objects (as returned by ZipFile.open()) +could return more bytes than requested. + +.. + +.. bpo: 9825 +.. date: 8214 +.. nonce: MVYNUl +.. section: Library + +removed __del__ from the definition of collections.OrderedDict. This +prevents user-created self-referencing ordered dictionaries from becoming +permanently uncollectable GC garbage. The downside is that removing __del__ +means that the internal doubly-linked list has to wait for GC collection +rather than freeing memory immediately when the refcnt drops to zero. + +.. + +.. bpo: 9816 +.. date: 8213 +.. nonce: jOgfeD +.. section: Library + +random.Random.jumpahead(n) did not produce a sufficiently different internal +state for small values of n. Fixed by salting the value. + +.. + +.. bpo: 9792 +.. date: 8212 +.. nonce: 6d8KN7 +.. section: Library + +In case of connection failure, socket.create_connection() would swallow the +exception and raise a new one, making it impossible to fetch the original +errno, or to filter timeout errors. Now the original error is re-raised. + +.. + +.. bpo: 9758 +.. date: 8211 +.. nonce: bTCX3s +.. section: Library + +When fcntl.ioctl() was called with mutable_flag set to True, and the passed +buffer was exactly 1024 bytes long, the buffer wouldn't be updated back +after the system call. Original patch by Brian Brazil. + +.. + +.. bpo: 1100562 +.. date: 8210 +.. nonce: w61Crx +.. section: Library + +Fix deep-copying of objects derived from the list and dict types. Patch by +Michele Orrù and Björn Lindqvist. + +.. + +.. bpo: 7005 +.. date: 8209 +.. nonce: MVOzyL +.. section: Library + +Fixed output of None values for RawConfigParser.write and +ConfigParser.write. + +.. + +.. bpo: 808164 +.. date: 8208 +.. nonce: P5YO_B +.. section: Library + +Fixed socket.close to avoid references to globals, to avoid issues when +socket.close is called from a __del__ method. + +.. + +.. bpo: 2986 +.. date: 8207 +.. nonce: BeBn_s +.. section: Library + +difflib.SequenceMatcher gets a new parameter, autojunk, which can be set to +False to turn off the previously undocumented 'popularity' heuristic. Patch +by Terry Reedy and Eli Bendersky + +.. + +.. bpo: 8797 +.. date: 8206 +.. nonce: IkQxYA +.. section: Library + +urllib2 does a retry for Basic Authentication failure instead of falling +into recursion. + +.. + +.. bpo: 1194222 +.. date: 8205 +.. nonce: UXCJLq +.. section: Library + +email.utils.parsedate now returns RFC2822 compliant four character years +even if the message contains RFC822 two character years. + +.. + +.. bpo: 8750 +.. date: 8204 +.. nonce: ldqODt +.. section: Library + +Fixed MutableSet's methods to correctly handle reflexive operations, namely +x -= x and x ^= x. + +.. + +.. bpo: 9129 +.. date: 8203 +.. nonce: AYXAAf +.. section: Library + +smtpd.py is vulnerable to DoS attacks deriving from missing error handling +when accepting a new connection. + +.. + +.. bpo: 658749 +.. date: 8202 +.. nonce: THL2I_ +.. section: Library + +asyncore's connect() method now correctly interprets winsock errors. + +.. + +.. bpo: 9501 +.. date: 8201 +.. nonce: G-M-pc +.. section: Library + +Fixed logging regressions in cleanup code. + +.. + +.. bpo: 9214 +.. date: 8200 +.. nonce: j1o-Zo +.. section: Library + +Set operations on KeysView or ItemsView in the collections module now +correctly return a set. (Patch by Eli Bendersky.) + +.. + +.. bpo: 9617 +.. date: 8199 +.. nonce: blJoL4 +.. section: Library + +Signals received during a low-level write operation aren't ignored by the +buffered IO layer anymore. + +.. + +.. bpo: 2521 +.. date: 8198 +.. nonce: iTl7ZU +.. section: Library + +Use weakrefs on for caching in the abc module, so that classes are not held +onto after they are deleted elsewhere. + +.. + +.. bpo: 9626 +.. date: 8197 +.. nonce: Vowb6X +.. section: Library + +the view methods for collections.OrderedDict() were returning the unordered +versions inherited from dict. Those methods are now overridden to provide +ordered views. + +.. + +.. bpo: 8688 +.. date: 8196 +.. nonce: fFdtWn +.. section: Library + +MANIFEST files created by distutils now include a magic comment indicating +they are generated. Manually maintained MANIFESTs without this marker will +not be overwritten or removed. + +.. + +.. bpo: 7467 +.. date: 8195 +.. nonce: 2aq5Vk +.. section: Library + +when reading a file from a ZIP archive, its CRC is checked and a BadZipfile +error is raised if it doesn't match (as used to be the case in Python 2.5 +and earlier). + +.. + +.. bpo: 9550 +.. date: 8194 +.. nonce: gz0PSS +.. section: Library + +a BufferedReader could issue an additional read when the original read +request had been satisfied, which could block indefinitely when the +underlying raw IO channel was e.g. a socket. Report and original patch by +Jason V. Miller. + +.. + +.. bpo: 9551 +.. date: 8193 +.. nonce: 2q2VFJ +.. section: Library + +Don't raise TypeError when setting the value to None for SafeConfigParser +instances constructed with allow_no_value == True. + +.. + +.. bpo: 6915 +.. date: 8192 +.. nonce: Nh2L6- +.. section: Library + +Under Windows, os.listdir() didn't release the Global Interpreter Lock +around all system calls. Original patch by Ryan Kelly. + +.. + +.. bpo: 3757 +.. date: 8191 +.. nonce: Dfue1t +.. section: Library + +thread-local objects now support cyclic garbage collection. Thread-local +objects involved in reference cycles will be deallocated timely by the +cyclic GC, even if the underlying thread is still running. + +.. + +.. bpo: 6231 +.. date: 8190 +.. nonce: fvS6jF +.. section: Library + +Fix xml.etree.ElementInclude to include the tail of the current node. + +.. + +.. bpo: 6869 +.. date: 8189 +.. nonce: SI1hyJ +.. section: Library + +Fix a refcount problem in the _ctypes extension. + +.. + +.. bpo: 5504 +.. date: 8188 +.. nonce: DyvVKo +.. section: Library + +ctypes should now work with systems where mmap can't be PROT_WRITE and +PROT_EXEC. + +.. + +.. bpo: 8280 +.. date: 8187 +.. nonce: PrpMXx +.. section: Library + +urllib2's Request method will remove fragements in the url. This is how it +is supposed to work, wget and curl do the same. Previous behavior was +wrong. + +.. + +.. bpo: 2944 +.. date: 8186 +.. nonce: uva4MG +.. section: Library + +asyncore doesn't handle connection refused correctly. + +.. + +.. bpo: 3196 +.. date: 8185 +.. nonce: oFknaj +.. section: Library + +email header decoding is now forgiving if an RFC2047 encoded word encoded in +base64 is lacking padding. + +.. + +.. bpo: 9444 +.. date: 8184 +.. nonce: KdKxOB +.. section: Library + +Argparse now uses the first element of prefix_chars as the option character +for the added 'h/help' option if prefix_chars does not contain a '-', +instead of raising an error. + +.. + +.. bpo: 9354 +.. date: 8183 +.. nonce: 4mGRrJ +.. section: Library + +Provide getsockopt() in asyncore's file_wrapper. + +.. + +.. bpo: 9428 +.. date: 8182 +.. nonce: 0pea6y +.. section: Library + +Fix running scripts with the profile/cProfile modules from the command line. + +.. + +.. bpo: 7781 +.. date: 8181 +.. nonce: qJIM6S +.. section: Library + +Fix restricting stats by entry counts in the pstats interactive browser. + +.. + +.. bpo: 9209 +.. date: 8180 +.. nonce: q5h2aM +.. section: Library + +Do not crash in the pstats interactive browser on invalid regular +expressions. + +.. + +.. bpo: 7372 +.. date: 8179 +.. nonce: bjWkFm +.. section: Library + +Fix pstats regression when stripping paths from profile data generated with +the profile module. + +.. + +.. bpo: 4108 +.. date: 8178 +.. nonce: SGW4tp +.. section: Library + +In urllib.robotparser, if there are multiple 'User-agent: *' entries, +consider the first one. + +.. + +.. bpo: 8397 +.. date: 8177 +.. nonce: xNl1c0 +.. section: Library + +Raise an error when attempting to mix iteration and regular reads on a +BZ2File object, rather than returning incorrect results. + +.. + +.. bpo: 5294 +.. date: 8176 +.. nonce: OW1qhg +.. section: Library + +Fix the behavior of pdb's "continue" command when called in the top-level +debugged frame. + +.. + +.. bpo: 5727 +.. date: 8175 +.. nonce: sYm_N8 +.. section: Library + +Restore the ability to use readline when calling into pdb in doctests. + +.. + +.. bpo: 6719 +.. date: 8174 +.. nonce: _9t4CD +.. section: Library + +In pdb, do not stop somewhere in the encodings machinery if the source file +to be debugged is in a non-builtin encoding. + +.. + +.. bpo: 8048 +.. date: 8173 +.. nonce: UMKE5S +.. section: Library + +Prevent doctests from failing when sys.displayhook has been reassigned. + +.. + +.. bpo: 8015 +.. date: 8172 +.. nonce: YNaP75 +.. section: Library + +In pdb, do not crash when an empty line is entered as a breakpoint command. + +.. + +.. bpo: 9448 +.. date: 8171 +.. nonce: UD0blh +.. section: Library + +Fix a leak of OS resources (mutexes or semaphores) when re-initializing a +buffered IO object by calling its ``__init__`` method. + +.. + +.. bpo: 7909 +.. date: 8170 +.. nonce: KNWthV +.. section: Library + +Do not touch paths with the special prefixes ``\\.\`` or ``\\?\`` in +ntpath.normpath(). + +.. + +.. bpo: 5146 +.. date: 8169 +.. nonce: f9NwCU +.. section: Library + +Handle UID THREAD command correctly in imaplib. + +.. + +.. bpo: 5147 +.. date: 8168 +.. nonce: ANusbF +.. section: Library + +Fix the header generated for cookie files written by +http.cookiejar.MozillaCookieJar. + +.. + +.. bpo: 8198 +.. date: 8167 +.. nonce: WrGm2c +.. section: Library + +In pydoc, output all help text to the correct stream when sys.stdout is +reassigned. + +.. + +.. bpo: 7395 +.. date: 8166 +.. nonce: FkZk7v +.. section: Library + +Fix tracebacks in pstats interactive browser. + +.. + +.. bpo: 8230 +.. date: 8165 +.. nonce: pBkzM8 +.. section: Library + +Fix Lib/test/sortperf.py. + +.. + +.. bpo: 1713 +.. date: 8164 +.. nonce: fknkI- +.. section: Library + +Fix os.path.ismount(), which returned true for symbolic links across +devices. + +.. + +.. bpo: 8826 +.. date: 8163 +.. nonce: PcQ9NA +.. section: Library + +Properly load old-style "expires" attribute in http.cookies. + +.. + +.. bpo: 1690103 +.. date: 8162 +.. nonce: 5tT47_ +.. section: Library + +Fix initial namespace for code run with trace.main(). + +.. + +.. bpo: 8471 +.. date: 8161 +.. nonce: RqN6fc +.. section: Library + +In doctest, properly reset the output stream to an empty string when Unicode +was previously output. + +.. + +.. bpo: 8620 +.. date: 8160 +.. nonce: qQR7E1 +.. section: Library + +when a Cmd is fed input that reaches EOF without a final newline, it no +longer truncates the last character of the last command line. + +.. + +.. bpo: 6213 +.. date: 8159 +.. nonce: oyAtZ0 +.. section: Library + +Implement getstate() and setstate() methods of utf-8-sig and utf-16 +incremental encoders. + +.. + +.. bpo: 7113 +.. date: 8158 +.. nonce: vO-_y8 +.. section: Library + +Speed up loading in ConfigParser. Patch by Łukasz Langa. + +.. + +.. bpo: 3704 +.. date: 8157 +.. nonce: UbuUn3 +.. section: Library + +cookielib was not properly handling URLs with a / in the parameters. + +.. + +.. bpo: 9032 +.. date: 8156 +.. nonce: zX39th +.. section: Library + +XML-RPC client retries the request on EPIPE error. The EPIPE error occurs +when the server closes the socket and the client sends a big XML-RPC +request. + +.. + +.. bpo: 5542 +.. date: 8155 +.. nonce: v5vo1o +.. section: Library + +Remove special logic that closes HTTPConnection socket on EPIPE. + +.. + +.. bpo: 4629 +.. date: 8154 +.. nonce: warUcf +.. section: Library + +getopt raises an error if an argument ends with = whereas getopt doesn't +except a value (eg. --help= is rejected if getopt uses ['help='] long +options). + +.. + +.. bpo: 7895 +.. date: 8153 +.. nonce: citB4G +.. section: Library + +platform.mac_ver() no longer crashes after calling os.fork() + +.. + +.. bpo: 5395 +.. date: 8152 +.. nonce: _AaZih +.. section: Library + +array.fromfile() would raise a spurious EOFError when an I/O error occurred. +Now an IOError is raised instead. Patch by chuck (Jan Hosang). + +.. + +.. bpo: 7646 +.. date: 8151 +.. nonce: af6LG8 +.. section: Library + +The fnmatch pattern cache no longer grows without bound. + +.. + +.. bpo: 9136 +.. date: 8150 +.. nonce: GFQg0c +.. section: Library + +Fix 'dictionary changed size during iteration' RuntimeError produced when +profiling the decimal module. This was due to a dangerous iteration over +'locals()' in Context.__init__. + +.. + +.. bpo: 0 +.. date: 8149 +.. nonce: aX1_fT +.. section: Library + +Fix extreme speed issue in Decimal.pow when the base is an exact power of 10 +and the exponent is tiny (for example, Decimal(10) ** +Decimal('1e-999999999')). + +.. + +.. bpo: 9161 +.. date: 8148 +.. nonce: 8Az_aI +.. section: Library + +Fix regression in optparse's acceptance of unicode strings in add_option +calls. + +.. + +.. bpo: 9130 +.. date: 8147 +.. nonce: cB_z-D +.. section: Library + +Fix validation of relative imports in parser module. + +.. + +.. bpo: 9128 +.. date: 8146 +.. nonce: 2OKBVh +.. section: Library + +Fix validation of class decorators in parser module. + +.. + +.. bpo: 9164 +.. date: 8145 +.. nonce: SK5COV +.. section: Library + +Ensure sysconfig handles dupblice archs while building on OSX + +.. + +.. bpo: 9315 +.. date: 8144 +.. nonce: cZkTvS +.. section: Library + +Fix for the trace module to record correct class name for tracing methods. + +.. + +.. bpo: 9054 +.. date: 8143 +.. nonce: UkA-OR +.. section: Library + +Fix a crash occurring when using the pyexpat module with expat version +2.0.1. + +.. + +.. bpo: 10003 +.. date: 8142 +.. nonce: AzaOdd +.. section: Library + +Allow handling of SIGBREAK on Windows. Fixes a regression introduced by +issue #9324. + +.. + +.. bpo: 8734 +.. date: 8141 +.. nonce: f1CtFi +.. section: Library + +Avoid crash in msvcrt.get_osfhandle() when an invalid file descriptor is +provided. Patch by Pascal Chambon. + +.. + +.. bpo: 7736 +.. date: 8140 +.. nonce: 7n0AS1 +.. section: Library + +Release the GIL around calls to opendir() and closedir() in the posix +module. Patch by Marcin Bachry. + +.. + +.. bpo: 0 +.. date: 8139 +.. nonce: Z5wyzY +.. section: Library + +As a result of issue #2521, the _weakref module is now compiled into the +interpreter by default. + +.. + +.. bpo: 9324 +.. date: 8138 +.. nonce: c_m8af +.. section: Library + +Add parameter validation to signal.signal on Windows in order to prevent +crashes. + +.. + +.. bpo: 9526 +.. date: 8137 +.. nonce: 8aO189 +.. section: Library + +Remove some outdated (int) casts that were preventing the array module from +working correctly with arrays of more than 2**31 elements. + +.. + +.. bpo: 0 +.. date: 8136 +.. nonce: yfc3zR +.. section: Library + +Fix memory leak in ssl._ssl._test_decode_cert. + +.. + +.. bpo: 8065 +.. date: 8135 +.. nonce: c5wBHe +.. section: Library + +Fix memory leak in readline module (from failure to free the result of +history_get_history_state()). + +.. + +.. bpo: 9450 +.. date: 8134 +.. nonce: 16iwLn +.. section: Library + +Fix memory leak in readline.replace_history_item and +readline.remove_history_item for readline version >= 5.0. + +.. + +.. bpo: 8105 +.. date: 8133 +.. nonce: GM5E7v +.. section: Library + +Validate file descriptor passed to mmap.mmap on Windows. + +.. + +.. bpo: 1019882 +.. date: 8132 +.. nonce: VnQ_2J +.. section: Library + +Fix IndexError when loading certain hotshot stats. + +.. + +.. bpo: 9422 +.. date: 8131 +.. nonce: MWxuZj +.. section: Library + +Fix memory leak when re-initializing a struct.Struct object. + +.. + +.. bpo: 7900 +.. date: 8130 +.. nonce: s8mvNz +.. section: Library + +The getgroups(2) system call on MacOSX behaves rather oddly compared to +other unix systems. In particular, os.getgroups() does not reflect any +changes made using os.setgroups() but basically always returns the same +information as the id command. + +os.getgroups() can now return more than 16 groups on MacOSX. + +.. + +.. bpo: 9277 +.. date: 8129 +.. nonce: yRnO3Z +.. section: Library + +Fix bug in struct.pack for bools in standard mode (e.g., struct.pack('>?')): +if conversion to bool raised an exception then that exception wasn't +properly propagated on machines where char is unsigned. + +.. + +.. bpo: 7567 +.. date: 8128 +.. nonce: hujTBu +.. section: Library + +Don't call `setupterm' twice. + +.. + +.. bpo: 7287 +.. date: 8127 +.. nonce: 6G503Q +.. section: Tools/Demos + +Demo/imputil/knee.py was removed. + +.. + +.. bpo: 9188 +.. date: 8126 +.. nonce: XIcIjV +.. section: Tools/Demos + +The gdb extension now handles correctly narrow (UCS2) as well as wide (UCS4) +unicode builds for both the host interpreter (embedded inside gdb) and the +interpreter under test. + +.. + +.. bpo: 8852 +.. date: 8125 +.. nonce: WD9-r5 +.. section: Build + +Allow the socket module to build on OpenSolaris. + +.. + +.. bpo: 10054 +.. date: 8124 +.. nonce: Pi5IJn +.. section: Build + +Some platforms provide uintptr_t in inttypes.h. Patch by Akira Kitada. + +.. + +.. bpo: 10055 +.. date: 8123 +.. nonce: xfTPZn +.. section: Build + +Make json C89-compliant in UCS4 mode. + +.. + +.. bpo: 1633863 +.. date: 8122 +.. nonce: 08O8Og +.. section: Build + +Don't ignore $CC under AIX. + +.. + +.. bpo: 9810 +.. date: 8121 +.. nonce: JACTWC +.. section: Build + +Compile bzip2 source files in python's project file directly. It used to be +built with bzip2's makefile. + +.. + +.. bpo: 941346 +.. date: 8120 +.. nonce: 4aE21V +.. section: Build + +Improve the build process under AIX and allow Python to be built as a shared +library. Patch by Sébastien Sablé. + +.. + +.. bpo: 4026 +.. date: 8119 +.. nonce: 2Kz_uL +.. section: Build + +Make the fcntl extension build under AIX. Patch by Sébastien Sablé. + +.. + +.. bpo: 3101 +.. date: 8118 +.. nonce: zq3p0s +.. section: Build + +Helper functions _add_one_to_index_C() and _add_one_to_index_F() become +_Py_add_one_to_index_C() and _Py_add_one_to_index_F(), respectively. + +.. + +.. bpo: 9700 +.. date: 8117 +.. nonce: tC4cof +.. section: Build + +define HAVE_BROKEN_POSIX_SEMAPHORES under AIX 6.x. Patch by Sébastien +Sablé. + +.. + +.. bpo: 9280 +.. date: 8116 +.. nonce: 2PISFF +.. section: Build + +Make sharedinstall depend on sharedmods. + +.. + +.. bpo: 9275 +.. date: 8115 +.. nonce: DcFin- +.. section: Build + +The OSX installer once again installs links to binaries in +``/usr/local/bin``. + +.. + +.. bpo: 9392 +.. date: 8114 +.. nonce: aY7w6w +.. section: Build + +A framework build on OSX will once again use a versioned name of the +``2to3`` tool, that is you can use ``2to3-2.7`` to select the Python 2.7 +edition of 2to3. + +.. + +.. bpo: 9701 +.. date: 8113 +.. nonce: hgaEU8 +.. section: Build + +The MacOSX installer can patch the shell profile to ensure that the "bin" +directory inside the framework is on the shell's search path. This feature +now also supports the ZSH shell. + +.. + +.. bpo: 7473 +.. date: 8112 +.. nonce: NuS196 +.. section: Build + +avoid link errors when building a framework with a different set of +architectures than the one that is currently installed. + +.. + +.. bpo: 9978 +.. date: 8111 +.. nonce: PgNzKW +.. section: Tests + +Wait until subprocess completes initialization. (Win32KillTests in test_os) + +.. + +.. bpo: 9894 +.. date: 8110 +.. nonce: 9cw69_ +.. section: Tests + +Do not hardcode ENOENT in test_subprocess. + +.. + +.. bpo: 9323 +.. date: 8109 +.. nonce: qAJ8-i +.. section: Tests + +Make test.regrtest.__file__ absolute, this was not always the case when +running profile or trace, for example. + +.. + +.. bpo: 9315 +.. date: 8108 +.. nonce: f1i0qq +.. section: Tests + +Added tests for the trace module. Patch by Eli Bendersky. + +.. + +.. bpo: 0 +.. date: 8107 +.. nonce: AVwNn9 +.. section: Tests + +Strengthen test_unicode with explicit type checking for assertEqual tests. + +.. + +.. bpo: 8857 +.. date: 8106 +.. nonce: Hy6Qmf +.. section: Tests + +Provide a test case for socket.getaddrinfo. + +.. + +.. bpo: 7564 +.. date: 8105 +.. nonce: ps-pN3 +.. section: Tests + +Skip test_ioctl if another process is attached to /dev/tty. + +.. + +.. bpo: 8433 +.. date: 8104 +.. nonce: kMuB7u +.. section: Tests + +Fix test_curses failure with newer versions of ncurses. + +.. + +.. bpo: 9496 +.. date: 8103 +.. nonce: UDIGR0 +.. section: Tests + +Provide a test suite for the rlcompleter module. Patch by Michele Orrù. + +.. + +.. bpo: 8605 +.. date: 8102 +.. nonce: jxIp6Y +.. section: Tests + +Skip test_gdb if Python is compiled with optimizations. + +.. + +.. bpo: 9568 +.. date: 8101 +.. nonce: OoJYE5 +.. section: Tests + +Fix test_urllib2_localnet on OS X 10.3. + +.. + +.. bpo: 9817 +.. date: 8100 +.. nonce: sk3Q3T +.. section: Documentation + +Add expat COPYING file; add expat, libffi and expat licenses to +Doc/license.rst. + +.. + +.. bpo: 9524 +.. date: 8099 +.. nonce: Es25xw +.. section: Documentation + +Document that two CTRL* signals are meant for use only with os.kill. + +.. + +.. bpo: 9255 +.. date: 8098 +.. nonce: tp81US +.. section: Documentation + +Document that the 'test' package is for internal Python use only. + +.. + +.. bpo: 7829 +.. date: 8097 +.. nonce: o1BLF0 +.. section: Documentation + +Document in dis that bytecode is an implementation detail. diff --git a/Misc/NEWS.d/2.7.2.rst b/Misc/NEWS.d/2.7.2.rst new file mode 100644 index 0000000000..346afb15b8 --- /dev/null +++ b/Misc/NEWS.d/2.7.2.rst @@ -0,0 +1,16 @@ +.. bpo: 12009 +.. date: 8463 +.. nonce: nQPg8Y +.. release date: 2011-06-11 +.. section: Library + +Fixed regression in netrc file comment handling. + +.. + +.. bpo: 1221 +.. date: 8462 +.. nonce: vFJB6t +.. section: Library + +Make pyexpat.__version__ equal to the Python version. diff --git a/Misc/NEWS.d/2.7.2rc1.rst b/Misc/NEWS.d/2.7.2rc1.rst new file mode 100644 index 0000000000..0b6f7c02d2 --- /dev/null +++ b/Misc/NEWS.d/2.7.2rc1.rst @@ -0,0 +1,1661 @@ +.. bpo: 9670 +.. date: 8461 +.. nonce: D4p50W +.. release date: 2011-05-29 +.. section: Core and Builtins + +Increase the default stack size for secondary threads on Mac OS X and +FreeBSD to reduce the chances of a crash instead of a "maximum recursion +depth" RuntimeError exception. (patch by Ronald Oussoren) + +.. + +.. bpo: 0 +.. date: 8460 +.. nonce: w122h9 +.. section: Core and Builtins + +Correct lookup of __dir__ on objects. This allows old-style classes to have +__dir__. It also causes errors besides AttributeError found on lookup to be +propagated. + +.. + +.. bpo: 1195 +.. date: 8459 +.. nonce: rUvlec +.. section: Core and Builtins + +Fix input() if it is interrupted by CTRL+d and then CTRL+c, clear the end- +of-file indicator after CTRL+d. + +.. + +.. bpo: 8651 +.. date: 8458 +.. nonce: KT0VWy +.. section: Core and Builtins + +PyArg_Parse*() functions raise an OverflowError if the file doesn't have +PY_SSIZE_T_CLEAN define and the size doesn't fit in an int (length bigger +than 2^31-1 bytes). + +.. + +.. bpo: 8651 +.. date: 8457 +.. nonce: d-KV9c +.. section: Core and Builtins + +Fix "z#" format of PyArg_Parse*() function: the size was not written if +PY_SSIZE_T_CLEAN is defined. + +.. + +.. bpo: 9756 +.. date: 8456 +.. nonce: L962XN +.. section: Core and Builtins + +When calling a method descriptor or a slot wrapper descriptor, the check of +the object type doesn't read the __class__ attribute anymore. Fix a crash if +a class override its __class__ attribute (e.g. a proxy of the str type). +Patch written by Andreas Stührk. + +.. + +.. bpo: 10517 +.. date: 8455 +.. nonce: eHRgPe +.. section: Core and Builtins + +After fork(), reinitialize the TLS used by the PyGILState_* APIs, to avoid a +crash with the pthread implementation in RHEL 5. Patch by Charles-François +Natali. + +.. + +.. bpo: 6780 +.. date: 8454 +.. nonce: MS1yFK +.. section: Core and Builtins + +fix starts/endswith error message to mention that tuples are accepted too. + +.. + +.. bpo: 5057 +.. date: 8453 +.. nonce: BMmS2n +.. section: Core and Builtins + +fix a bug in the peepholer that led to non-portable pyc files between narrow +and wide builds while optimizing BINARY_SUBSCR on non-BMP chars (e.g. +u"\U00012345"[0]). + +.. + +.. bpo: 11650 +.. date: 8452 +.. nonce: r47Jvk +.. section: Core and Builtins + +PyOS_StdioReadline() retries fgets() if it was interrupted (EINTR), for +example if the program is stopped with CTRL+z on Mac OS X. Patch written by +Charles-Francois Natali. + +.. + +.. bpo: 11144 +.. date: 8451 +.. nonce: FE1cYC +.. section: Core and Builtins + +Ensure that int(a_float) returns an int whenever possible. Previously, there +were some corner cases where a long was returned even though the result was +within the range of an int. + +.. + +.. bpo: 11450 +.. date: 8450 +.. nonce: ulI9xJ +.. section: Core and Builtins + +Don't truncate hg version info in Py_GetBuildInfo() when there are many tags +(e.g. when using mq). Patch by Nadeem Vawda. + +.. + +.. bpo: 10451 +.. date: 8449 +.. nonce: wlYiI8 +.. section: Core and Builtins + +memoryview objects could allow mutating a readable buffer. Initial patch by +Ross Lagerwall. + +.. + +.. bpo: 10892 +.. date: 8448 +.. nonce: ATjwD_ +.. section: Core and Builtins + +Don't segfault when trying to delete __abstractmethods__ from a class. + +.. + +.. bpo: 8020 +.. date: 8447 +.. nonce: aERuZE +.. section: Core and Builtins + +Avoid a crash where the small objects allocator would read non-Python +managed memory while it is being modified by another thread. Patch by Matt +Bandy. + +.. + +.. bpo: 11004 +.. date: 8446 +.. nonce: 2Wj4t8 +.. section: Core and Builtins + +Repaired edge case in deque.count(). + +.. + +.. bpo: 8278 +.. date: 8445 +.. nonce: 8P-kMi +.. section: Core and Builtins + +On Windows and with a NTFS filesystem, os.stat() and os.utime() can now +handle dates after 2038. + +.. + +.. bpo: 4236 +.. date: 8444 +.. nonce: kMjQK6 +.. section: Core and Builtins + +Py_InitModule4 now checks the import machinery directly rather than the +Py_IsInitialized flag, avoiding a Fatal Python error in certain +circumstances when an import is done in __del__. + +.. + +.. bpo: 11828 +.. date: 8443 +.. nonce: nBlnst +.. section: Core and Builtins + +startswith and endswith don't accept None as slice index. Patch by Torsten +Becker. + +.. + +.. bpo: 10674 +.. date: 8442 +.. nonce: ZNFQ1f +.. section: Core and Builtins + +Remove unused 'dictmaker' rule from grammar. + +.. + +.. bpo: 10596 +.. date: 8441 +.. nonce: r05xzm +.. section: Core and Builtins + +Fix float.__mod__ to have the same behaviour as float.__divmod__ with +respect to signed zeros. -4.0 % 4.0 should be 0.0, not -0.0. + +.. + +.. bpo: 11386 +.. date: 8440 +.. nonce: wrrB8K +.. section: Core and Builtins + +bytearray.pop() now throws IndexError when the bytearray is empty, instead +of OverflowError. + +.. + +.. bpo: 12161 +.. date: 8439 +.. nonce: CmDpNV +.. section: Library + +Cause StringIO.getvalue() to raise a ValueError when used on a closed +StringIO instance. + +.. + +.. bpo: 12182 +.. date: 8438 +.. nonce: IWruZQ +.. section: Library + +Fix pydoc.HTMLDoc.multicolumn() if Python uses the new (true) division +(python -Qnew). Patch written by Ralf W. Grosse-Kunstleve. + +.. + +.. bpo: 12175 +.. date: 8437 +.. nonce: 9M55CV +.. section: Library + +RawIOBase.readall() now returns None if read() returns None. + +.. + +.. bpo: 12175 +.. date: 8436 +.. nonce: U3k4iw +.. section: Library + +FileIO.readall() now raises a ValueError instead of an IOError if the file +is closed. + +.. + +.. bpo: 1441530 +.. date: 8435 +.. nonce: pSlnFk +.. section: Library + +In imaplib, use makefile() to wrap the SSL socket to avoid heap +fragmentation and MemoryError with some malloc implementations. + +.. + +.. bpo: 12100 +.. date: 8434 +.. nonce: 4sb-gJ +.. section: Library + +Don't reset incremental encoders of CJK codecs at each call to their +encode() method anymore, but continue to call the reset() method if the +final argument is True. + +.. + +.. bpo: 12124 +.. date: 8433 +.. nonce: qpMI7g +.. section: Library + +zipimport doesn't keep a reference to zlib.decompress() anymore to be able +to unload the module. + +.. + +.. bpo: 10154 +.. date: 8432 +.. nonce: 4iPVr8 +.. section: Library + +change the normalization of UTF-8 to "UTF-8" instead of "UTF8" in the locale +module as the latter is not supported MacOSX and OpenBSD. (See also: +bpo-10090) + +.. + +.. bpo: 9516 +.. date: 8431 +.. nonce: WLkxuC +.. section: Library + +avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell. + +.. + +.. bpo: 12050 +.. date: 8430 +.. nonce: v6HF9i +.. section: Library + +zlib.decompressobj().decompress() now clears the unconsumed_tail attribute +when called without a max_length argument. + +.. + +.. bpo: 12062 +.. date: 8429 +.. nonce: fUVuyO +.. section: Library + +In the `io` module, fix a flushing bug when doing a certain type of I/O +sequence on a file opened in read+write mode (namely: reading, seeking a bit +forward, writing, then seeking before the previous write but still within +buffered data, and writing again). + +.. + +.. bpo: 8498 +.. date: 8428 +.. nonce: XooGVI +.. section: Library + +In socket.accept(), allow specifying 0 as a backlog value in order to accept +exactly one connection. Patch by Daniel Evers. + +.. + +.. bpo: 12012 +.. date: 8427 +.. nonce: raFUoR +.. section: Library + +ssl.PROTOCOL_SSLv2 becomes optional. + +.. + +.. bpo: 11927 +.. date: 8426 +.. nonce: UqvRAV +.. section: Library + +SMTP_SSL now uses port 465 by default as documented. Patch by Kasun Herath. + +.. + +.. bpo: 11999 +.. date: 8425 +.. nonce: aLa-HD +.. section: Library + +fixed sporadic sync failure mailbox.Maildir due to its trying to detect +mtime changes by comparing to the system clock instead of to the previous +value of the mtime. + +.. + +.. bpo: 10684 +.. date: 8424 +.. nonce: Ctye6o +.. section: Library + +shutil.move used to delete a folder on case insensitive filesystems when the +source and destination name where the same except for the case. + +.. + +.. bpo: 11982 +.. date: 8423 +.. nonce: 4CiHRO +.. section: Library + +fix json.loads('""') to return u'' rather than ''. + +.. + +.. bpo: 11277 +.. date: 8422 +.. nonce: 4nCUxv +.. section: Library + +mmap.mmap() calls fcntl(fd, F_FULLFSYNC) on Mac OS X to get around a mmap +bug with sparse files. Patch written by Steffen Daode Nurpmeso. + +.. + +.. bpo: 10761 +.. date: 8421 +.. nonce: rwSQE7 +.. section: Library + +Fix tarfile.extractall failure when symlinked files are present. Initial +patch by Scott Leerssen. + +.. + +.. bpo: 11763 +.. date: 8420 +.. nonce: LPGrnG +.. section: Library + +don't use difflib in TestCase.assertMultiLineEqual if the strings are too +long. + +.. + +.. bpo: 11236 +.. date: 8419 +.. nonce: DyWdnL +.. section: Library + +getpass.getpass responds to ctrl-c or ctrl-z on terminal. + +.. + +.. bpo: 11768 +.. date: 8418 +.. nonce: HRg5Hy +.. section: Library + +The signal handler of the signal module only calls Py_AddPendingCall() for +the first signal to fix a deadlock on reentrant or parallel calls. +PyErr_SetInterrupt() writes also into the wake up file. + +.. + +.. bpo: 11875 +.. date: 8417 +.. nonce: xFn-yD +.. section: Library + +collections.OrderedDict's __reduce__ was temporarily mutating the object +instead of just working on a copy. + +.. + +.. bpo: 11442 +.. date: 8416 +.. nonce: Jta8go +.. section: Library + +Add a charset parameter to the Content-type in SimpleHTTPServer to avoid XSS +attacks. + +.. + +.. bpo: 11467 +.. date: 8415 +.. nonce: th8B0N +.. section: Library + +Fix urlparse behavior when handling urls which contains scheme specific part +only digits. Patch by Santoso Wijaya. + +.. + +.. bpo: 0 +.. date: 8414 +.. nonce: MOd782 +.. section: Library + +collections.Counter().copy() now works correctly for subclasses. + +.. + +.. bpo: 11474 +.. date: 8413 +.. nonce: UKTAWA +.. section: Library + +Fix the bug with url2pathname() handling of '/C|/' on Windows. Patch by +Santoso Wijaya. + +.. + +.. bpo: 9233 +.. date: 8412 +.. nonce: AIRcqi +.. section: Library + +Fix json.loads('{}') to return a dict (instead of a list), when _json is not +available. + +.. + +.. bpo: 11703 +.. date: 8411 +.. nonce: hwI5Mw +.. section: Library + +urllib2.geturl() does not return correct url when the original url contains +#fragment. + +.. + +.. bpo: 10019 +.. date: 8410 +.. nonce: J7QVFU +.. section: Library + +Fixed regression in json module where an indent of 0 stopped adding newlines +and acted instead like 'None'. + +.. + +.. bpo: 5162 +.. date: 8409 +.. nonce: UYJrO- +.. section: Library + +Treat services like frozen executables to allow child spawning from +multiprocessing.forking on Windows. + +.. + +.. bpo: 4877 +.. date: 8408 +.. nonce: 4B7uDJ +.. section: Library + +Fix a segfault in xml.parsers.expat while attempting to parse a closed file. + +.. + +.. bpo: 11830 +.. date: 8407 +.. nonce: tFEtWl +.. section: Library + +Remove unnecessary introspection code in the decimal module. It was causing +a failed import in the Turkish locale where the locale sensitive str.upper() +method caused a name mismatch. + +.. + +.. bpo: 8428 +.. date: 8406 +.. nonce: vVu7J6 +.. section: Library + +Fix a race condition in multiprocessing.Pool when terminating worker +processes: new processes would be spawned while the pool is being shut down. +Patch by Charles-François Natali. + +.. + +.. bpo: 7311 +.. date: 8405 +.. nonce: lRokCQ +.. section: Library + +Fix HTMLParser to accept non-ASCII attribute values. + +.. + +.. bpo: 10963 +.. date: 8404 +.. nonce: _J-MW9 +.. section: Library + +Ensure that subprocess.communicate() never raises EPIPE. + +.. + +.. bpo: 11662 +.. date: 8403 +.. nonce: GpHbgk +.. section: Library + +Make urllib and urllib2 ignore redirections if the scheme is not HTTP, HTTPS +or FTP (CVE-2011-1521). + +.. + +.. bpo: 11256 +.. date: 8402 +.. nonce: AVqrHZ +.. section: Library + +Fix inspect.getcallargs on functions that take only keyword arguments. + +.. + +.. bpo: 11696 +.. date: 8401 +.. nonce: dzz7nM +.. section: Library + +Fix ID generation in msilib. + +.. + +.. bpo: 9696 +.. date: 8400 +.. nonce: Nh0u8J +.. section: Library + +Fix exception incorrectly raised by xdrlib.Packer.pack_int when trying to +pack a negative (in-range) integer. + +.. + +.. bpo: 11675 +.. date: 8399 +.. nonce: qFfmkU +.. section: Library + +multiprocessing.[Raw]Array objects created from an integer size are now +zeroed on creation. This matches the behaviour specified by the +documentation. + +.. + +.. bpo: 7639 +.. date: 8398 +.. nonce: PKfmwz +.. section: Library + +Fix short file name generation in bdist_msi. + +.. + +.. bpo: 11666 +.. date: 8397 +.. nonce: Hni56e +.. section: Library + +let help() display named tuple attributes and methods that start with a +leading underscore. + +.. + +.. bpo: 11673 +.. date: 8396 +.. nonce: uXlx4W +.. section: Library + +Fix multiprocessing Array and RawArray constructors to accept a size of type +'long', rather than only accepting 'int'. + +.. + +.. bpo: 10042 +.. date: 8395 +.. nonce: SCtRiD +.. section: Library + +Fixed the total_ordering decorator to handle cross-type comparisons that +could lead to infinite recursion. + +.. + +.. bpo: 10979 +.. date: 8394 +.. nonce: FjyVrT +.. section: Library + +unittest stdout buffering now works with class and module setup and +teardown. + +.. + +.. bpo: 11569 +.. date: 8393 +.. nonce: fp461F +.. section: Library + +use absolute path to the sysctl command in multiprocessing to ensure that it +will be found regardless of the shell PATH. This ensures that +multiprocessing.cpu_count works on default installs of MacOSX. + +.. + +.. bpo: 11500 +.. date: 8392 +.. nonce: SOGd4Y +.. section: Library + +Fixed a bug in the os x proxy bypass code for fully qualified IP addresses +in the proxy exception list. + +.. + +.. bpo: 11131 +.. date: 8391 +.. nonce: PnmRwo +.. section: Library + +Fix sign of zero in plus and minus operations when the context rounding mode +is ROUND_FLOOR. + +.. + +.. bpo: 5622 +.. date: 8390 +.. nonce: dM7tnW +.. section: Library + +Fix curses.wrapper to raise correct exception if curses initialization +fails. + +.. + +.. bpo: 11391 +.. date: 8389 +.. nonce: hdoRPe +.. section: Library + +Writing to a mmap object created with ``mmap.PROT_READ|mmap.PROT_EXEC`` +would segfault instead of raising a TypeError. Patch by Charles-François +Natali. + +.. + +.. bpo: 11306 +.. date: 8388 +.. nonce: 2rXDt4 +.. section: Library + +mailbox in certain cases adapts to an inability to open certain files in +read-write mode. Previously it detected this by checking for EACCES, now it +also checks for EROFS. + +.. + +.. bpo: 11265 +.. date: 8387 +.. nonce: Y51oyn +.. section: Library + +asyncore now correctly handles EPIPE, EBADF and EAGAIN errors on accept(), +send() and recv(). + +.. + +.. bpo: 11326 +.. date: 8386 +.. nonce: 2GUPyU +.. section: Library + +Add the missing connect_ex() implementation for SSL sockets, and make it +work for non-blocking connects. + +.. + +.. bpo: 10956 +.. date: 8385 +.. nonce: ArNOt6 +.. section: Library + +Buffered I/O classes retry reading or writing after a signal has arrived and +the handler returned successfully. + +.. + +.. bpo: 10680 +.. date: 8384 +.. nonce: pAmFnC +.. section: Library + +Fix mutually exclusive arguments for argument groups in argparse. + +.. + +.. bpo: 4681 +.. date: 8383 +.. nonce: I20jgq +.. section: Library + +Allow mmap() to work on file sizes and offsets larger than 4GB, even on +32-bit builds. Initial patch by Ross Lagerwall, adapted for 32-bit Windows. + +.. + +.. bpo: 10360 +.. date: 8382 +.. nonce: JAYw4l +.. section: Library + +In WeakSet, do not raise TypeErrors when testing for membership of non- +weakrefable objects. + +.. + +.. bpo: 10549 +.. date: 8381 +.. nonce: 15cASW +.. section: Library + +Fix pydoc traceback when text-documenting certain classes. + +.. + +.. bpo: 940286 +.. date: 8380 +.. nonce: cPglIg +.. section: Library + +pydoc.Helper.help() ignores input/output init parameters. + +.. + +.. bpo: 11171 +.. date: 8379 +.. nonce: ZXEFXT +.. section: Library + +Fix detection of config/Makefile when --prefix != --exec-prefix, which +caused Python to not start. + +.. + +.. bpo: 11116 +.. date: 8378 +.. nonce: J0xgWH +.. section: Library + +any error during addition of a message to a mailbox now causes a rollback, +instead of leaving the mailbox partially modified. + +.. + +.. bpo: 8275 +.. date: 8377 +.. nonce: -TRADs +.. section: Library + +Fix passing of callback arguments with ctypes under Win64. Patch by Stan +Mihai. + +.. + +.. bpo: 10949 +.. date: 8376 +.. nonce: sknBTt +.. section: Library + +Improved robustness of rotating file handlers. + +.. + +.. bpo: 10955 +.. date: 8375 +.. nonce: RSqPRN +.. section: Library + +Fix a potential crash when trying to mmap() a file past its length. Initial +patch by Ross Lagerwall. + +.. + +.. bpo: 10898 +.. date: 8374 +.. nonce: 2VhVxS +.. section: Library + +Allow compiling the posix module when the C library defines a symbol named +FSTAT. + +.. + +.. bpo: 10916 +.. date: 8373 +.. nonce: xpdEg8 +.. section: Library + +mmap should not segfault when a file is mapped using 0 as length and a non- +zero offset, and an attempt to read past the end of file is made (IndexError +is raised instead). Patch by Ross Lagerwall. + +.. + +.. bpo: 10875 +.. date: 8372 +.. nonce: RSNYLS +.. section: Library + +Update Regular Expression HOWTO; patch by 'SilentGhost'. + +.. + +.. bpo: 10827 +.. date: 8371 +.. nonce: vjZCZr +.. section: Library + +Changed the rules for 2-digit years. The time.asctime function will now +format any year when ``time.accept2dyear`` is false and will accept years >= +1000 otherwise. The year range accepted by ``time.mktime`` and +``time.strftime`` is still system dependent, but ``time.mktime`` will now +accept full range supported by the OS. Conversion of 2-digit years to +4-digit is deprecated. + +.. + +.. bpo: 10869 +.. date: 8370 +.. nonce: 3xBkWx +.. section: Library + +Fixed bug where ast.increment_lineno modified the root node twice. + +.. + +.. bpo: 7858 +.. date: 8369 +.. nonce: DKZMOA +.. section: Library + +Raise an error properly when os.utime() fails under Windows on an existing +file. + +.. + +.. bpo: 3839 +.. date: 8368 +.. nonce: zMNSit +.. section: Library + +wsgiref should not override a Content-Length header set by the application. +Initial patch by Clovis Fabricio. + +.. + +.. bpo: 10806 +.. date: 8367 +.. nonce: dEztuB +.. section: Library + +Fix subprocess pipes when some of the standard file descriptors (0, 1, 2) +are closed in the parent process. Initial patch by Ross Lagerwall. (See +also: bpo-9905) + +.. + +.. bpo: 4662 +.. date: 8366 +.. nonce: m3fHnI +.. section: Library + +os.tempnam(), os.tmpfile() and os.tmpnam() now raise a py3k +DeprecationWarning. + +.. + +.. bpo: 0 +.. date: 8365 +.. nonce: t8RJ2P +.. section: Library + +Subclasses of collections.OrderedDict now work correctly with __missing__. + +.. + +.. bpo: 10753 +.. date: 8364 +.. nonce: pjcQCT +.. section: Library + +Characters ';', '=' and ',' in the PATH_INFO environment variable won't be +quoted when the URI is constructed by the wsgiref.util 's request_uri +method. According to RFC 3986, these characters can be a part of params in +PATH component of URI and need not be quoted. + +.. + +.. bpo: 10738 +.. date: 8363 +.. nonce: GT7QZa +.. section: Library + +Fix webbrowser.Opera.raise_opts + +.. + +.. bpo: 9824 +.. date: 8362 +.. nonce: vJBIAh +.. section: Library + +SimpleCookie now encodes , and ; in values to cater to how browsers actually +parse cookies. + +.. + +.. bpo: 1379416 +.. date: 8361 +.. nonce: fpWgER +.. section: Library + +eliminated a source of accidental unicode promotion in +email.header.Header.encode. + +.. + +.. bpo: 5258 +.. date: 8360 +.. nonce: fNenmJ +.. section: Library + +if site.py encounters a .pth file that generates an error, it now prints the +filename, line number, and traceback to stderr and skips the rest of that +individual file, instead of stopping processing entirely. (See also: +bpo-10642) + +.. + +.. bpo: 10750 +.. date: 8359 +.. nonce: o-KFTn +.. section: Library + +The ``raw`` attribute of buffered IO objects is now read-only. + +.. + +.. bpo: 10242 +.. date: 8358 +.. nonce: uwgK8s +.. section: Library + +unittest.TestCase.assertItemsEqual makes too many assumptions about input. + +.. + +.. bpo: 10611 +.. date: 8357 +.. nonce: y67Wpv +.. section: Library + +SystemExit should not cause a unittest test run to exit. + +.. + +.. bpo: 6791 +.. date: 8356 +.. nonce: b5b4M7 +.. section: Library + +Limit header line length (to 65535 bytes) in http.client, to avoid denial of +services from the other party. + +.. + +.. bpo: 9907 +.. date: 8355 +.. nonce: EC_Wry +.. section: Library + +Fix tab handling on OSX when using editline by calling rl_initialize first, +then setting our custom defaults, then reading .editrc. + +.. + +.. bpo: 4188 +.. date: 8354 +.. nonce: nIr5eF +.. section: Library + +Avoid creating dummy thread objects when logging operations from the +threading module (with the internal verbose flag activated). + +.. + +.. bpo: 9721 +.. date: 8353 +.. nonce: G8i-SO +.. section: Library + +Fix the behavior of urljoin when the relative url starts with a ';' +character. Patch by Wes Chow. + +.. + +.. bpo: 10714 +.. date: 8352 +.. nonce: 2ytXWI +.. section: Library + +Limit length of incoming request in http.server to 65536 bytes for security +reasons. Initial patch by Ross Lagerwall. + +.. + +.. bpo: 9558 +.. date: 8351 +.. nonce: Zu3z6Q +.. section: Library + +Fix distutils.command.build_ext with VS 8.0. + +.. + +.. bpo: 10695 +.. date: 8350 +.. nonce: 9PoZLI +.. section: Library + +passing the port as a string value to telnetlib no longer causes debug mode +to fail. + +.. + +.. bpo: 10478 +.. date: 8349 +.. nonce: 3rusTg +.. section: Library + +Reentrant calls inside buffered IO objects (for example by way of a signal +handler) now raise a RuntimeError instead of freezing the current process. + +.. + +.. bpo: 10497 +.. date: 8348 +.. nonce: KCVp0v +.. section: Library + +Fix incorrect use of gettext in argparse. + +.. + +.. bpo: 10464 +.. date: 8347 +.. nonce: oT76Cm +.. section: Library + +netrc now correctly handles lines with embedded '#' characters. + +.. + +.. bpo: 1731717 +.. date: 8346 +.. nonce: 1WiN2u +.. section: Library + +Fixed the problem where subprocess.wait() could cause an OSError exception +when The OS had been told to ignore SIGCLD in our process or otherwise not +wait for exiting child processes. + +.. + +.. bpo: 9509 +.. date: 8345 +.. nonce: Oh-iMy +.. section: Library + +argparse now properly handles IOErrors raised by argparse.FileType. + +.. + +.. bpo: 9348 +.. date: 8344 +.. nonce: zsJPPj +.. section: Library + +Raise an early error if argparse nargs and metavar don't match. + +.. + +.. bpo: 8982 +.. date: 8343 +.. nonce: fTONNH +.. section: Library + +Improve the documentation for the argparse Namespace object. + +.. + +.. bpo: 9343 +.. date: 8342 +.. nonce: 9T-Qyz +.. section: Library + +Document that argparse parent parsers must be configured before their +children. + +.. + +.. bpo: 9026 +.. date: 8341 +.. nonce: 2xqEFT +.. section: Library + +Fix order of argparse sub-commands in help messages. + +.. + +.. bpo: 9347 +.. date: 8340 +.. nonce: R8xBsQ +.. section: Library + +Fix formatting for tuples in argparse type= error messages. + +.. + +.. bpo: 0 +.. date: 8339 +.. nonce: qXxXWp +.. section: Library + +Stop using the old interface for providing methods and attributes in the +_sre module. Among other things, this gives these classes ``__class__`` +attributes. (See #12099) + +.. + +.. bpo: 10169 +.. date: 8338 +.. nonce: OXJ9Nh +.. section: Library + +Fix argument parsing in socket.sendto() to avoid error masking. + +.. + +.. bpo: 12051 +.. date: 8337 +.. nonce: 7HjY_U +.. section: Library + +Fix segfault in json.dumps() while encoding highly-nested objects using the +C accelerations. + +.. + +.. bpo: 12017 +.. date: 8336 +.. nonce: w25YNq +.. section: Library + +Fix segfault in json.loads() while decoding highly-nested objects using the +C accelerations. + +.. + +.. bpo: 1838 +.. date: 8335 +.. nonce: EzKU3z +.. section: Library + +Prevent segfault in ctypes, when _as_parameter_ on a class is set to an +instance of the class. + +.. + +.. bpo: 678250 +.. date: 8334 +.. nonce: a5vtlO +.. section: Library + +Make mmap flush a noop on ACCESS_READ and ACCESS_COPY. + +.. + +.. bpo: 11718 +.. date: 8333 +.. nonce: giS1iY +.. section: IDLE + +IDLE's open module dialog couldn't find the __init__.py file in a package. + +.. + +.. bpo: 12590 +.. date: 8332 +.. nonce: dcDjo7 +.. section: IDLE + +IDLE editor window now always displays the first line when opening a long +file. With Tk 8.5, the first line was hidden. + +.. + +.. bpo: 11088 +.. date: 8331 +.. nonce: 08NI5v +.. section: IDLE + +don't crash when using F5 to run a script in IDLE on MacOSX with Tk 8.5. + +.. + +.. bpo: 10940 +.. date: 8330 +.. nonce: qwi3cm +.. section: IDLE + +Workaround an IDLE hang on Mac OS X 10.6 when using the menu accelerators +for Open Module, Go to Line, and New Indent Width. The accelerators still +work but no longer appear in the menu items. + +.. + +.. bpo: 10907 +.. date: 8329 +.. nonce: BHHc_r +.. section: IDLE + +Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5, rather than the +currently problematic Apple-supplied one, when running with the 64-/32-bit +installer variant. + +.. + +.. bpo: 11052 +.. date: 8328 +.. nonce: avmtSQ +.. section: IDLE + +Correct IDLE menu accelerators on Mac OS X for Save commands. + +.. + +.. bpo: 6075 +.. date: 8327 +.. nonce: AHKNEZ +.. section: IDLE + +IDLE on Mac OS X now works with both Carbon AquaTk and Cocoa AquaTk. + +.. + +.. bpo: 10404 +.. date: 8326 +.. nonce: CBzs_G +.. section: IDLE + +Use ctl-button-1 on OSX for the context menu in Idle. + +.. + +.. bpo: 10107 +.. date: 8325 +.. nonce: Bsx-F4 +.. section: IDLE + +Warn about unsaved files in IDLE on OSX. + +.. + +.. bpo: 10406 +.. date: 8324 +.. nonce: HKSefS +.. section: IDLE + +Enable Rstrip IDLE extension on OSX (just like on other platforms). + +.. + +.. bpo: 6378 +.. date: 8323 +.. nonce: Vr_x3W +.. section: IDLE + +Further adjust idle.bat to start associated Python + +.. + +.. bpo: 11896 +.. date: 8322 +.. nonce: XPwdkw +.. section: IDLE + +Save on Close failed despite selecting "Yes" in dialog. + +.. + +.. bpo: 4676 +.. date: 8321 +.. nonce: qQkued +.. section: IDLE + + toggle failing on Tk 8.5, causing IDLE exits and strange selection +behavior. Improve selection extension behaviour. + +.. + +.. bpo: 3851 +.. date: 8320 +.. nonce: iy6ENX +.. section: IDLE + + toggle non-functional when NumLock set on Windows. + +.. + +.. bpo: 11217 +.. date: 8319 +.. nonce: mIEwfc +.. section: Build + +For 64-bit/32-bit Mac OS X universal framework builds, ensure "make install" +creates symlinks in --prefix bin for the "-32" files in the framework bin +directory like the installer does. + +.. + +.. bpo: 11411 +.. date: 8318 +.. nonce: 1m9fjv +.. section: Build + +Fix 'make DESTDIR=' with a relative destination. + +.. + +.. bpo: 10709 +.. date: 8317 +.. nonce: QpLCFk +.. section: Build + +Add updated AIX notes in Misc/README.AIX. + +.. + +.. bpo: 11184 +.. date: 8316 +.. nonce: sGfAXw +.. section: Build + +Fix large-file support on AIX. + +.. + +.. bpo: 941346 +.. date: 8315 +.. nonce: heMADD +.. section: Build + +Fix broken shared library build on AIX. + +.. + +.. bpo: 11268 +.. date: 8314 +.. nonce: Lgcka6 +.. section: Build + +Prevent Mac OS X Installer failure if Documentation package had previously +been installed. + +.. + +.. bpo: 11079 +.. date: 8313 +.. nonce: Y0Hh5V +.. section: Build + +The /Applications/Python x.x folder created by the Mac OS X installers now +includes a link to the installed documentation. + +.. + +.. bpo: 11054 +.. date: 8312 +.. nonce: BN3sYU +.. section: Build + +Allow Mac OS X installer builds to again work on 10.5 with the system- +provided Python. + +.. + +.. bpo: 10843 +.. date: 8311 +.. nonce: EdyFR6 +.. section: Build + +Update third-party library versions used in OS X 32-bit installer builds: +bzip2 1.0.6, readline 6.1.2, SQLite 3.7.4 (with FTS3/FTS4 and RTREE +enabled), and ncursesw 5.5 (wide-char support enabled). + +.. + +.. bpo: 0 +.. date: 8310 +.. nonce: nsY3xU +.. section: Build + +Don't run pgen twice when using make -j. + +.. + +.. bpo: 7716 +.. date: 8309 +.. nonce: KkZ-2b +.. section: Build + +Under Solaris, don't assume existence of /usr/xpg4/bin/grep in the configure +script but use $GREP instead. Patch by Fabian Groffen. + +.. + +.. bpo: 10475 +.. date: 8308 +.. nonce: LVKSbB +.. section: Build + +Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD and DragonFly +BSD. Patch by Nicolas Joly. + +.. + +.. bpo: 10655 +.. date: 8307 +.. nonce: WauLJp +.. section: Build + +Fix the build on PowerPC on Linux with GCC when building with timestamp +profiling (--with-tsc): the preprocessor test for the PowerPC support now +looks for "__powerpc__" as well as "__ppc__": the latter seems to only be +present on OS X; the former is the correct one for Linux with GCC. + +.. + +.. bpo: 1099 +.. date: 8306 +.. nonce: KikOsu +.. section: Build + +Fix the build on MacOSX when building a framework with pydebug using GCC +4.0. + +.. + +.. bpo: 11164 +.. date: 8305 +.. nonce: w2nrYU +.. section: Tests + +Remove obsolete allnodes test from minidom test. + +.. + +.. bpo: 12205 +.. date: 8304 +.. nonce: gVhWmC +.. section: Tests + +Fix test_subprocess failure due to uninstalled test data. + +.. + +.. bpo: 5723 +.. date: 8303 +.. nonce: Lfg1OX +.. section: Tests + +Improve json tests to be executed with and without accelerations. + +.. + +.. bpo: 11910 +.. date: 8302 +.. nonce: HhQx49 +.. section: Tests + +Fix test_heapq to skip the C tests when _heapq is missing. + +.. + +.. bpo: 0 +.. date: 8301 +.. nonce: i8QOXe +.. section: Tests + +Fix test_startfile to wait for child process to terminate before finishing. + +.. + +.. bpo: 11719 +.. date: 8300 +.. nonce: ojamUL +.. section: Tests + +Fix message about unexpected test_msilib skip on non-Windows platforms. +Patch by Nadeem Vawda. + +.. + +.. bpo: 7108 +.. date: 8299 +.. nonce: xaF3OE +.. section: Tests + +Fix test_commands to not fail when special attributes ('@' or '.') appear in +'ls -l' output. + +.. + +.. bpo: 11490 +.. date: 8298 +.. nonce: I86Gxz +.. section: Tests + +test_subprocess:test_leaking_fds_on_error no longer gives a false positive +if the last directory in the path is inaccessible. + +.. + +.. bpo: 10822 +.. date: 8297 +.. nonce: P0VrIZ +.. section: Tests + +Fix test_posix:test_getgroups failure under Solaris. Patch by Ross +Lagerwall. + +.. + +.. bpo: 6293 +.. date: 8296 +.. nonce: J7ur1U +.. section: Tests + +Have regrtest.py echo back sys.flags. This is done by default in whole runs +and enabled selectively using ``--header`` when running an explicit list of +tests. Original patch by Collin Winter. + +.. + +.. bpo: 775964 +.. date: 8295 +.. nonce: 7a2XLN +.. section: Tests + +test_grp now skips YP/NIS entries instead of failing when encountering them. + +.. + +.. bpo: 7110 +.. date: 8294 +.. nonce: SyQreJ +.. section: Tests + +regrtest now sends test failure reports and single-failure tracebacks to +stderr rather than stdout. diff --git a/Misc/NEWS.d/2.7.3rc1.rst b/Misc/NEWS.d/2.7.3rc1.rst new file mode 100644 index 0000000000..1fdc19f5fd --- /dev/null +++ b/Misc/NEWS.d/2.7.3rc1.rst @@ -0,0 +1,1916 @@ +.. bpo: 13020 +.. date: 8656 +.. nonce: 7y51PJ +.. release date: 2012-02-23 +.. section: Core and Builtins + +Fix a reference leak when allocating a structsequence object fails. Patch +by Suman Saha. + +.. + +.. bpo: 13703 +.. date: 8655 +.. nonce: 8FylqY +.. section: Core and Builtins + +oCERT-2011-003: add -R command-line option and PYTHONHASHSEED environment +variable, to provide an opt-in way to protect against denial of service +attacks due to hash collisions within the dict and set types. Patch by +David Malcolm, based on work by Victor Stinner. + +.. + +.. bpo: 11235 +.. date: 8654 +.. nonce: 6wzkv- +.. section: Core and Builtins + +Fix OverflowError when trying to import a source file whose modification +time doesn't fit in a 32-bit timestamp. + +.. + +.. bpo: 11638 +.. date: 8653 +.. nonce: M-D70Z +.. section: Core and Builtins + +Unicode strings in 'name' and 'version' no longer cause UnicodeDecodeErrors. + +.. + +.. bpo: 0 +.. date: 8652 +.. nonce: 2J4kRL +.. section: Core and Builtins + +Fix the fix for issue #12149: it was incorrect, although it had the side +effect of appearing to resolve the issue. Thanks to Mark Shannon for +noticing. + +.. + +.. bpo: 13546 +.. date: 8651 +.. nonce: iNNZwK +.. section: Core and Builtins + +Fixed an overflow issue that could crash the intepreter when calling +sys.setrecursionlimit((1<<31)-1). + +.. + +.. bpo: 13333 +.. date: 8650 +.. nonce: jkzjPN +.. section: Core and Builtins + +The UTF-7 decoder now accepts lone surrogates (the encoder already accepts +them). + +.. + +.. bpo: 10519 +.. date: 8649 +.. nonce: vnPUhZ +.. section: Core and Builtins + +Avoid unnecessary recursive function calls in setobject.c. + +.. + +.. bpo: 13268 +.. date: 8648 +.. nonce: 1add1A +.. section: Core and Builtins + +Fix the assert statement when a tuple is passed as the message. + +.. + +.. bpo: 13018 +.. date: 8647 +.. nonce: WRySxn +.. section: Core and Builtins + +Fix reference leaks in error paths in dictobject.c. Patch by Suman Saha. + +.. + +.. bpo: 12604 +.. date: 8646 +.. nonce: dDegux +.. section: Core and Builtins + +VTRACE macro expanded to no-op in _sre.c to avoid compiler warnings. Patch +by Josh Triplett and Petri Lehtinen. + +.. + +.. bpo: 7833 +.. date: 8645 +.. nonce: NcSnnJ +.. section: Core and Builtins + +Extension modules built using distutils on Windows will no longer include a +"manifest" to prevent them failing at import time in some embedded +situations. + +.. + +.. bpo: 13186 +.. date: 8644 +.. nonce: 8x-IKP +.. section: Core and Builtins + +Fix __delitem__ on old-style instances when invoked through +PySequence_DelItem. + +.. + +.. bpo: 13156 +.. date: 8643 +.. nonce: YQ_oHA +.. section: Core and Builtins + +Revert the patch for issue #10517 (reset TLS upon fork()), which was only +relevant for the native pthread TLS implementation. + +.. + +.. bpo: 7732 +.. date: 8642 +.. nonce: Su45lo +.. section: Core and Builtins + +Fix a crash on importing a module if a directory has the same name than a +Python module (e.g. "__init__.py"): don't close the file twice. + +.. + +.. bpo: 12973 +.. date: 8641 +.. nonce: i36yPj +.. section: Core and Builtins + +Fix overflow checks that invoked undefined behaviour in int.__pow__. These +overflow checks were causing int.__pow__ to produce incorrect results with +recent versions of Clang, as a result of the compiler optimizing the check +away. Also fix similar overflow checks in list_repeat (listobject.c) and +islice_next (itertoolsmodule.c). These bugs caused test failures with +recent versions of Clang. + +.. + +.. bpo: 12266 +.. date: 8640 +.. nonce: SifsgD +.. section: Core and Builtins + +Fix str.capitalize() to correctly uppercase/lowercase titlecased and cased +non-letter characters. + +.. + +.. bpo: 12610 +.. date: 8639 +.. nonce: ppRi5I +.. section: Core and Builtins + +Verify that user generated AST has correct string and identifier types +before compiling. (See also: bpo-12609) + +.. + +.. bpo: 11627 +.. date: 8638 +.. nonce: sfRw_E +.. section: Core and Builtins + +Fix segfault when __new__ on an exception returns a non-exception class. + +.. + +.. bpo: 12149 +.. date: 8637 +.. nonce: tp-PTF +.. section: Core and Builtins + +Update the method cache after a type's dictionnary gets cleared by the +garbage collector. This fixes a segfault when an instance and its type get +caught in a reference cycle, and the instance's deallocator calls one of the +methods on the type (e.g. when subclassing IOBase). Diagnosis and patch by +Davide Rizzo. + +.. + +.. bpo: 12501 +.. date: 8636 +.. nonce: 25PdW1 +.. section: Core and Builtins + +Remove Py3k warning for callable. callable() is supported again in Python +3.2. + +.. + +.. bpo: 9611 +.. date: 8635 +.. nonce: tQEmuh +.. section: Core and Builtins + +FileIO.read(), FileIO.readinto(), FileIO.write() and os.write() clamp the +length to INT_MAX on Windows. (See also: bpo-9015) + +.. + +.. bpo: 1195 +.. date: 8634 +.. nonce: Tp_J8Y +.. section: Core and Builtins + +my_fgets() now always clears errors before calling fgets(). Fix the +following case: sys.stdin.read() stopped with CTRL+d (end of file), +raw_input() interrupted by CTRL+c. + +.. + +.. bpo: 10860 +.. date: 8633 +.. nonce: _w3Kvl +.. section: Core and Builtins + +httplib now correctly handles an empty port after port delimiter in URLs. + +.. + +.. bpo: 0 +.. date: 8632 +.. nonce: dh7XT7 +.. section: Core and Builtins + +dict_proxy objects now display their contents rather than just the class +name. + +.. + +.. bpo: 8033 +.. date: 8631 +.. nonce: vZ-AWU +.. section: Library + +sqlite3: Fix 64-bit integer handling in user functions on 32-bit +architectures. Initial patch by Philippe Devalkeneer. + +.. + +.. bpo: 0 +.. date: 8630 +.. nonce: Apd_xz +.. section: Library + +HTMLParser is now able to handle slashes in the start tag. + +.. + +.. bpo: 14001 +.. date: 8629 +.. nonce: Za_h38 +.. section: Library + +CVE-2012-0845: xmlrpc: Fix an endless loop in SimpleXMLRPCServer upon +malformed POST request. + +.. + +.. bpo: 2489 +.. date: 8628 +.. nonce: EENP1J +.. section: Library + +pty.spawn could consume 100% cpu when it encountered an EOF. + +.. + +.. bpo: 13014 +.. date: 8627 +.. nonce: bfZLHS +.. section: Library + +Fix a possible reference leak in SSLSocket.getpeercert(). + +.. + +.. bpo: 13987 +.. date: 8626 +.. nonce: rZLDDo +.. section: Library + +HTMLParser is now able to handle EOFs in the middle of a construct and +malformed start tags. + +.. + +.. bpo: 13015 +.. date: 8625 +.. nonce: bxws6S +.. section: Library + +Fix a possible reference leak in defaultdict.__repr__. Patch by Suman Saha. + +.. + +.. bpo: 13979 +.. date: 8624 +.. nonce: Q0ci2w +.. section: Library + +A bug in ctypes.util.find_library that caused the wrong library name to be +returned has been fixed. + +.. + +.. bpo: 1326113 +.. date: 8623 +.. nonce: QvF-XL +.. section: Library + +distutils' build_ext command --libraries option now correctly parses +multiple values separated by whitespace or commas. + +.. + +.. bpo: 13993 +.. date: 8622 +.. nonce: 4g3z3P +.. section: Library + +HTMLParser is now able to handle broken end tags. + +.. + +.. bpo: 13960 +.. date: 8621 +.. nonce: g0TjwZ +.. section: Library + +HTMLParser is now able to handle broken comments. + +.. + +.. bpo: 9750 +.. date: 8620 +.. nonce: CsQyVM +.. section: Library + +Fix sqlite3.Connection.iterdump on tables and fields with a name that is a +keyword or contains quotes. Patch by Marko Kohtala. + +.. + +.. bpo: 13994 +.. date: 8619 +.. nonce: pnLrEB +.. section: Library + +Earlier partial revert of Distutils enhancements in 2.7 has left two +versions of customize_compiler, the original in distutils.sysconfig and +another copy in distutils.ccompiler, with some parts of distutils calling +one and others using the other. Complete the revert back to only having one +in distutils.sysconfig as is the case in 3.x. + +.. + +.. bpo: 13590 +.. date: 8618 +.. nonce: b6Qvrj +.. section: Library + +On OS X 10.7 and 10.6 with Xcode 4.2, building Distutils-based packages with +C extension modules may fail because Apple has removed gcc-4.2, the version +used to build python.org 64-bit/32-bit Pythons. If the user does not +explicitly override the default C compiler by setting the CC environment +variable, Distutils will now attempt to compile extension modules with clang +if gcc-4.2 is required but not found. Also as a convenience, if the user +does explicitly set CC, substitute its value as the default compiler in the +Distutils LDSHARED configuration variable for OS X. (Note, the python.org +32-bit-only Pythons use gcc-4.0 and the 10.4u SDK, neither of which are +available in Xcode 4. This change does not attempt to override settings to +support their use with Xcode 4.) + +.. + +.. bpo: 9021 +.. date: 8617 +.. nonce: A0WRsT +.. section: Library + +Add an introduction to the copy module documentation. + +.. + +.. bpo: 6005 +.. date: 8616 +.. nonce: cy8Z22 +.. section: Library + +Examples in the socket library documentation use sendall, where relevant, +instead send method. + +.. + +.. bpo: 10811 +.. date: 8615 +.. nonce: m6b_ZC +.. section: Library + +Fix recursive usage of cursors. Instead of crashing, raise a +ProgrammingError now. + +.. + +.. bpo: 13676 +.. date: 8614 +.. nonce: IwPgKL +.. section: Library + +Handle strings with embedded zeros correctly in sqlite3. + +.. + +.. bpo: 13806 +.. date: 8613 +.. nonce: Y34Lg3 +.. section: Library + +The size check in audioop decompression functions was too strict and could +reject valid compressed data. Patch by Oleg Plakhotnyuk. + +.. + +.. bpo: 13885 +.. date: 8612 +.. nonce: fTNryk +.. section: Library + +CVE-2011-3389: the _ssl module would always disable the CBC IV attack +countermeasure. + +.. + +.. bpo: 6631 +.. date: 8611 +.. nonce: FyxhCp +.. section: Library + +Disallow relative file paths in urllib urlopen methods. + +.. + +.. bpo: 13781 +.. date: 8610 +.. nonce: xWnNcZ +.. section: Library + +Prevent gzip.GzipFile from using the dummy filename provided by file objects +opened with os.fdopen(). + +.. + +.. bpo: 13589 +.. date: 8609 +.. nonce: sQsnEf +.. section: Library + +Fix some serialization primitives in the aifc module. Patch by Oleg +Plakhotnyuk. + +.. + +.. bpo: 13803 +.. date: 8608 +.. nonce: WnPIts +.. section: Library + +Under Solaris, distutils doesn't include bitness in the directory name. + +.. + +.. bpo: 13642 +.. date: 8607 +.. nonce: 8qUg-G +.. section: Library + +Unquote before b64encoding user:password during Basic Authentication. Patch +contributed by Joonas Kuorilehto and Michele Orrù. + +.. + +.. bpo: 13636 +.. date: 8606 +.. nonce: eWRf1t +.. section: Library + +Weak ciphers are now disabled by default in the ssl module (except when +SSLv2 is explicitly asked for). + +.. + +.. bpo: 12798 +.. date: 8605 +.. nonce: ggdsmY +.. section: Library + +Updated the mimetypes documentation. + +.. + +.. bpo: 13639 +.. date: 8604 +.. nonce: X0z3dn +.. section: Library + +Accept unicode filenames in tarfile.open(mode="w|gz"). + +.. + +.. bpo: 1785 +.. date: 8603 +.. nonce: DKL5I8 +.. section: Library + +Fix inspect and pydoc with misbehaving descriptors. + +.. + +.. bpo: 7502 +.. date: 8602 +.. nonce: lIMyju +.. section: Library + +Fix equality comparison for DocTestCase instances. Patch by Cédric Krier. + +.. + +.. bpo: 11870 +.. date: 8601 +.. nonce: 85bAB9 +.. section: Library + +threading: Properly reinitialize threads internal locks and condition +variables to avoid deadlocks in child processes. + +.. + +.. bpo: 8035 +.. date: 8600 +.. nonce: yzn_Oa +.. section: Library + +urllib: Fix a bug where the client could remain stuck after a redirection or +an error. + +.. + +.. bpo: 0 +.. date: 8599 +.. nonce: xZO873 +.. section: Library + +tarfile.py: Correctly detect bzip2 compressed streams with blocksizes other +than 900k. + +.. + +.. bpo: 13573 +.. date: 8598 +.. nonce: 2oPaJa +.. section: Library + +The csv.writer now uses the repr() for floats rather than str(). This allows +floats to round-trip without loss of precision. + +.. + +.. bpo: 13439 +.. date: 8597 +.. nonce: H8wdOt +.. section: Library + +Fix many errors in turtle docstrings. + +.. + +.. bpo: 12856 +.. date: 8596 +.. nonce: 7eIfN8 +.. section: Library + +Ensure child processes do not inherit the parent's random seed for filename +generation in the tempfile module. Patch by Brian Harring. + +.. + +.. bpo: 13458 +.. date: 8595 +.. nonce: EHyzED +.. section: Library + +Fix a memory leak in the ssl module when decoding a certificate with a +subjectAltName. Patch by Robert Xiao. + +.. + +.. bpo: 13415 +.. date: 8594 +.. nonce: Ap8joO +.. section: Library + +os.unsetenv() doesn't ignore errors anymore. + +.. + +.. bpo: 13322 +.. date: 8593 +.. nonce: Ect89q +.. section: Library + +Fix BufferedWriter.write() to ensure that BlockingIOError is raised when the +wrapped raw file is non-blocking and the write would block. Previous code +assumed that the raw write() would raise BlockingIOError, but +RawIOBase.write() is defined to returned None when the call would block. +Patch by sbt. + +.. + +.. bpo: 13358 +.. date: 8592 +.. nonce: kPO1ja +.. section: Library + +HTMLParser now calls handle_data only once for each CDATA. + +.. + +.. bpo: 4147 +.. date: 8591 +.. nonce: wQbNcw +.. section: Library + +minidom's toprettyxml no longer adds whitespace around a text node when it +is the only child of an element. Initial patch by Dan Kenigsberg. + +.. + +.. bpo: 1745761 +.. date: 8590 +.. nonce: zfO1ng +.. section: Library + +HTMLParser now correctly handles non-valid attributes, including adjacent +and unquoted attributes. (See also: bpo-755670, bpo-13357, bpo-12629, +bpo-1200313) + +.. + +.. bpo: 13373 +.. date: 8589 +.. nonce: 8wM3bP +.. section: Library + +multiprocessing.Queue.get() could sometimes block indefinitely when called +with a timeout. Patch by Arnaud Ysmal. + +.. + +.. bpo: 3067 +.. date: 8588 +.. nonce: yjMIU9 +.. section: Library + +Enhance the documentation and docstring of locale.setlocale(). + +.. + +.. bpo: 13254 +.. date: 8587 +.. nonce: CKJxT0 +.. section: Library + +Fix Maildir initialization so that maildir contents are read correctly. + +.. + +.. bpo: 13140 +.. date: 8586 +.. nonce: EguPSD +.. section: Library + +Fix the daemon_threads attribute of ThreadingMixIn. + +.. + +.. bpo: 2892 +.. date: 8585 +.. nonce: kugtRq +.. section: Library + +preserve iterparse events in case of SyntaxError. + +.. + +.. bpo: 670664 +.. date: 8584 +.. nonce: dPMzKt +.. section: Library + +Fix HTMLParser to correctly handle the content of ```` +and ````. + +.. + +.. bpo: 10817 +.. date: 8583 +.. nonce: 2NZ4yV +.. section: Library + +Fix urlretrieve function to raise ContentTooShortError even when reporthook +is None. Patch by Jyrki Pulliainen. + +.. + +.. bpo: 7334 +.. date: 8582 +.. nonce: HVmJ5I +.. section: Library + +close source files on ElementTree.parse and iterparse. + +.. + +.. bpo: 13232 +.. date: 8581 +.. nonce: WWF7QZ +.. section: Library + +logging: Improved logging of exceptions in the presence of multiple +encodings. + +.. + +.. bpo: 10332 +.. date: 8580 +.. nonce: E9qFmi +.. section: Library + +multiprocessing: fix a race condition when a Pool is closed before all tasks +have completed. + +.. + +.. bpo: 1548891 +.. date: 8579 +.. nonce: isTjAs +.. section: Library + +The cStringIO.StringIO() constructor now encodes unicode arguments with the +system default encoding just like the write() method does, instead of +converting it to a raw buffer. This also fixes handling of unicode input in +the shlex module (#6988, #1170). + +.. + +.. bpo: 9168 +.. date: 8578 +.. nonce: eLGWkL +.. section: Library + +now smtpd is able to bind privileged port. + +.. + +.. bpo: 12529 +.. date: 8577 +.. nonce: TX2NNI +.. section: Library + +fix cgi.parse_header issue on strings with double-quotes and semicolons +together. Patch by Ben Darnell and Petri Lehtinen. + +.. + +.. bpo: 6090 +.. date: 8576 +.. nonce: 8BVasJ +.. section: Library + +zipfile raises a ValueError when a document with a timestamp earlier than +1980 is provided. Patch contributed by Petri Lehtinen. + +.. + +.. bpo: 13194 +.. date: 8575 +.. nonce: b0HQpu +.. section: Library + +zlib.compressobj().copy() and zlib.decompressobj().copy() are now available +on Windows. + +.. + +.. bpo: 13114 +.. date: 8574 +.. nonce: qtS6EQ +.. section: Library + +Fix the distutils commands check and register when the long description is a +Unicode string with non-ASCII characters. + +.. + +.. bpo: 7367 +.. date: 8573 +.. nonce: 2xoC41 +.. section: Library + +Fix pkgutil.walk_paths to skip directories whose contents cannot be read. + +.. + +.. bpo: 7425 +.. date: 8572 +.. nonce: e4gH2x +.. section: Library + +Prevent pydoc -k failures due to module import errors. (Backport to 2.7 of +existing 3.x fix) + +.. + +.. bpo: 13099 +.. date: 8571 +.. nonce: hhmbgp +.. section: Library + +Fix sqlite3.Cursor.lastrowid under a Turkish locale. Reported and diagnosed +by Thomas Kluyver. + +.. + +.. bpo: 7689 +.. date: 8570 +.. nonce: --iH31 +.. section: Library + +Allow pickling of dynamically created classes when their metaclass is +registered with copy_reg. Patch by Nicolas M. Thiéry and Craig Citro. + +.. + +.. bpo: 13058 +.. date: 8569 +.. nonce: KJ3kEA +.. section: Library + +ossaudiodev: fix a file descriptor leak on error. Patch by Thomas Jarosch. + +.. + +.. bpo: 12931 +.. date: 8568 +.. nonce: b6La4G +.. section: Library + +xmlrpclib now encodes Unicode URI to ISO-8859-1, instead of failing with a +UnicodeDecodeError. + +.. + +.. bpo: 8933 +.. date: 8567 +.. nonce: yiVHCJ +.. section: Library + +distutils' PKG-INFO files will now correctly report Metadata-Version: 1.1 +instead of 1.0 if a Classifier or Download-URL field is present. + +.. + +.. bpo: 8286 +.. date: 8566 +.. nonce: 9gJAZN +.. section: Library + +The distutils command sdist will print a warning message instead of crashing +when an invalid path is given in the manifest template. + +.. + +.. bpo: 12841 +.. date: 8565 +.. nonce: VRTnfy +.. section: Library + +tarfile unnecessarily checked the existence of numerical user and group ids +on extraction. If one of them did not exist the respective id of the current +user (i.e. root) was used for the file and ownership information was lost. + +.. + +.. bpo: 10946 +.. date: 8564 +.. nonce: HYgRut +.. section: Library + +The distutils commands bdist_dumb, bdist_wininst and bdist_msi now respect a +--skip-build option given to bdist. + +.. + +.. bpo: 12287 +.. date: 8563 +.. nonce: _b1Hy3 +.. section: Library + +Fix a stack corruption in ossaudiodev module when the FD is greater than +FD_SETSIZE. + +.. + +.. bpo: 12839 +.. date: 8562 +.. nonce: YFQywe +.. section: Library + +Fix crash in zlib module due to version mismatch. Fix by Richard M. Tew. + +.. + +.. bpo: 12786 +.. date: 8561 +.. nonce: Wv58St +.. section: Library + +Set communication pipes used by subprocess.Popen CLOEXEC to avoid them being +inherited by other subprocesses. + +.. + +.. bpo: 4106 +.. date: 8560 +.. nonce: CWHsfS +.. section: Library + +Fix occasional exceptions printed out by multiprocessing on interpreter +shutdown. + +.. + +.. bpo: 11657 +.. date: 8559 +.. nonce: K6NkKs +.. section: Library + +Fix sending file descriptors over 255 over a multiprocessing Pipe. + +.. + +.. bpo: 12213 +.. date: 8558 +.. nonce: nL3AJE +.. section: Library + +Fix a buffering bug with interleaved reads and writes that could appear on +io.BufferedRandom streams. + +.. + +.. bpo: 12326 +.. date: 8557 +.. nonce: oR88Sz +.. section: Library + +sys.platform is now always 'linux2' on Linux, even if Python is compiled on +Linux 3. + +.. + +.. bpo: 13007 +.. date: 8556 +.. nonce: 6OcUii +.. section: Library + +whichdb should recognize gdbm 1.9 magic numbers. + +.. + +.. bpo: 9173 +.. date: 8555 +.. nonce: 7CSZen +.. section: Library + +Let shutil._make_archive work if the logger argument is None. + +.. + +.. bpo: 12650 +.. date: 8554 +.. nonce: hY2GLb +.. section: Library + +Fix a race condition where a subprocess.Popen could leak resources +(FD/zombie) when killed at the wrong time. + +.. + +.. bpo: 12752 +.. date: 8553 +.. nonce: 3uiyON +.. section: Library + +Fix regression which prevented locale.normalize() from accepting unicode +strings. + +.. + +.. bpo: 12683 +.. date: 8552 +.. nonce: pySdFM +.. section: Library + +urlparse updated to include svn as schemes that uses relative paths. (svn +from 1.5 onwards support relative path). + +.. + +.. bpo: 11933 +.. date: 8551 +.. nonce: voGTke +.. section: Library + +Fix incorrect mtime comparison in distutils. + +.. + +.. bpo: 11104 +.. date: 8550 +.. nonce: EZRzAK +.. section: Library + +Fix the behavior of distutils' sdist command with manually-maintained +MANIFEST files. (See also: bpo-8688) + +.. + +.. bpo: 8887 +.. date: 8549 +.. nonce: GV2FAG +.. section: Library + +"pydoc somebuiltin.somemethod" (or help('somebuiltin.somemethod') in Python +code) now finds the doc of the method. + +.. + +.. bpo: 12603 +.. date: 8548 +.. nonce: wO8DQ8 +.. section: Library + +Fix pydoc.synopsis() on files with non-negative st_mtime. + +.. + +.. bpo: 12514 +.. date: 8547 +.. nonce: e1PR4a +.. section: Library + +Use try/finally to assure the timeit module restores garbage collections +when it is done. + +.. + +.. bpo: 12607 +.. date: 8546 +.. nonce: t5RWHt +.. section: Library + +In subprocess, fix issue where if stdin, stdout or stderr is given as a low +fd, it gets overwritten. + +.. + +.. bpo: 12102 +.. date: 8545 +.. nonce: VJSgGA +.. section: Library + +Document that buffered files must be flushed before being used with mmap. +Patch by Steffen Daode Nurpmeso. + +.. + +.. bpo: 12560 +.. date: 8544 +.. nonce: 9ydkW_ +.. section: Library + +Build libpython.so on OpenBSD. Patch by Stefan Sperling. + +.. + +.. bpo: 1813 +.. date: 8543 +.. nonce: M1IkRm +.. section: Library + +Fix codec lookup and setting/getting locales under Turkish locales. + +.. + +.. bpo: 10883 +.. date: 8542 +.. nonce: _e0WlS +.. section: Library + +Fix socket leaks in urllib when using FTP. + +.. + +.. bpo: 12592 +.. date: 8541 +.. nonce: -EZrk3 +.. section: Library + +Make Python build on OpenBSD 5 (and future major releases). + +.. + +.. bpo: 12372 +.. date: 8540 +.. nonce: 7QRSzO +.. section: Library + +POSIX semaphores are broken on AIX: don't use them. + +.. + +.. bpo: 12571 +.. date: 8539 +.. nonce: qrkjgh +.. section: Library + +Add a plat-linux3 directory mirroring the plat-linux2 directory, so that +"import DLFCN" and other similar imports work on Linux 3.0. + +.. + +.. bpo: 7484 +.. date: 8538 +.. nonce: 0bZoAH +.. section: Library + +smtplib no longer puts <> around addresses in VRFY and EXPN commands; they +aren't required and in fact postfix doesn't support that form. + +.. + +.. bpo: 11603 +.. date: 8537 +.. nonce: B016rQ +.. section: Library + +Fix a crash when __str__ is rebound as __repr__. Patch by Andreas Stührk. + +.. + +.. bpo: 12502 +.. date: 8536 +.. nonce: p8Kedr +.. section: Library + +asyncore: fix polling loop with AF_UNIX sockets. + +.. + +.. bpo: 4376 +.. date: 8535 +.. nonce: 6yUats +.. section: Library + +ctypes now supports nested structures in an endian different than the parent +structure. Patch by Vlad Riscutia. + +.. + +.. bpo: 12493 +.. date: 8534 +.. nonce: qaPq_Q +.. section: Library + +subprocess: Popen.communicate() now also handles EINTR errors if the process +has only one pipe. + +.. + +.. bpo: 12467 +.. date: 8533 +.. nonce: x0sMKt +.. section: Library + +warnings: fix a race condition if a warning is emitted at shutdown, if +globals()['__file__'] is None. + +.. + +.. bpo: 12352 +.. date: 8532 +.. nonce: Htm8Oe +.. section: Library + +Fix a deadlock in multiprocessing.Heap when a block is freed by the garbage +collector while the Heap lock is held. + +.. + +.. bpo: 9516 +.. date: 8531 +.. nonce: v8AhHk +.. section: Library + +On Mac OS X, change Distutils to no longer globally attempt to check or set +the MACOSX_DEPLOYMENT_TARGET environment variable for the interpreter +process. This could cause failures in non-Distutils subprocesses and was +unreliable since tests or user programs could modify the interpreter +environment after Distutils set it. Instead, have Distutils set the +deployment target only in the environment of each build subprocess. It is +still possible to globally override the default by setting +MACOSX_DEPLOYMENT_TARGET before launching the interpreter; its value must be +greater or equal to the default value, the value with which the interpreter +was built. + +.. + +.. bpo: 11802 +.. date: 8530 +.. nonce: 6ktAp2 +.. section: Library + +The cache in filecmp now has a maximum size of 100 so that it won't grow +without bound. + +.. + +.. bpo: 12404 +.. date: 8529 +.. nonce: bS5-Qf +.. section: Library + +Remove C89 incompatible code from mmap module. Patch by Akira Kitada. + +.. + +.. bpo: 11700 +.. date: 8528 +.. nonce: VpdGS5 +.. section: Library + +mailbox proxy object close methods can now be called multiple times without +error, and _ProxyFile now closes the wrapped file. + +.. + +.. bpo: 12133 +.. date: 8527 +.. nonce: Ag9yty +.. section: Library + +AbstractHTTPHandler.do_open() of urllib.request closes the HTTP connection +if its getresponse() method fails with a socket error. Patch written by Ezio +Melotti. + +.. + +.. bpo: 9284 +.. date: 8526 +.. nonce: -NhBcF +.. section: Library + +Allow inspect.findsource() to find the source of doctest functions. + +.. + +.. bpo: 10694 +.. date: 8525 +.. nonce: JD6qXr +.. section: Library + +zipfile now ignores garbage at the end of a zipfile. + +.. + +.. bpo: 11583 +.. date: 8524 +.. nonce: Wu1xMh +.. section: Library + +Speed up os.path.isdir on Windows by using GetFileAttributes instead of +os.stat. + +.. + +.. bpo: 12080 +.. date: 8523 +.. nonce: oDmVxk +.. section: Library + +Fix a performance issue in Decimal._power_exact that caused some corner-case +Decimal.__pow__ calls to take an unreasonably long time. + +.. + +.. bpo: 0 +.. date: 8522 +.. nonce: aMnclC +.. section: Library + +Named tuples now work correctly with vars(). + +.. + +.. bpo: 0 +.. date: 8521 +.. nonce: qdHiJw +.. section: Library + +sys.setcheckinterval() now updates the current ticker count as well as +updating the check interval, so if the user decreases the check interval, +the ticker doesn't have to wind down to zero from the old starting point +before the new interval takes effect. And if the user increases the +interval, it makes sure the new limit takes effect right away rather have an +early task switch before recognizing the new interval. + +.. + +.. bpo: 12085 +.. date: 8520 +.. nonce: cu9-Sp +.. section: Library + +Fix an attribute error in subprocess.Popen destructor if the constructor has +failed, e.g. because of an undeclared keyword argument. Patch written by +Oleg Oshmyan. + +.. + +.. bpo: 9041 +.. date: 8519 +.. nonce: iLXuHK +.. section: Library + +An issue in ctypes.c_longdouble, ctypes.c_double, and ctypes.c_float that +caused an incorrect exception to be returned in the case of overflow has +been fixed. + +.. + +.. bpo: 0 +.. date: 8518 +.. nonce: zRuNTM +.. section: Library + +bsddb module: Erratic behaviour of "DBEnv->rep_elect()" because a typo. +Possible crash. + +.. + +.. bpo: 13774 +.. date: 8517 +.. nonce: -HkPbH +.. section: Library + +json: Fix a SystemError when a bogus encoding is passed to json.loads(). + +.. + +.. bpo: 9975 +.. date: 8516 +.. nonce: 2SRKp5 +.. section: Library + +socket: Fix incorrect use of flowinfo and scope_id. Patch by Vilmos Nebehaj. + +.. + +.. bpo: 13159 +.. date: 8515 +.. nonce: Zoj0wD +.. section: Library + +FileIO, BZ2File, and the built-in file class now use a linear-time buffer +growth strategy instead of a quadratic one. + +.. + +.. bpo: 13070 +.. date: 8514 +.. nonce: zcoYVY +.. section: Library + +Fix a crash when a TextIOWrapper caught in a reference cycle would be +finalized after the reference to its underlying BufferedRWPair's writer got +cleared by the GC. + +.. + +.. bpo: 12881 +.. date: 8513 +.. nonce: IpOO6j +.. section: Library + +ctypes: Fix segfault with large structure field names. + +.. + +.. bpo: 13013 +.. date: 8512 +.. nonce: KLH96V +.. section: Library + +ctypes: Fix a reference leak in PyCArrayType_from_ctype. Thanks to Suman +Saha for finding the bug and providing a patch. + +.. + +.. bpo: 13022 +.. date: 8511 +.. nonce: zeo8hs +.. section: Library + +Fix: _multiprocessing.recvfd() doesn't check that file descriptor was +actually received. + +.. + +.. bpo: 12483 +.. date: 8510 +.. nonce: IpGhKV +.. section: Library + +ctypes: Fix a crash when the destruction of a callback object triggers the +garbage collector. + +.. + +.. bpo: 12950 +.. date: 8509 +.. nonce: Z7xl-R +.. section: Library + +Fix passing file descriptors in multiprocessing, under OpenIndiana/Illumos. + +.. + +.. bpo: 12764 +.. date: 8508 +.. nonce: YtBoIj +.. section: Library + +Fix a crash in ctypes when the name of a Structure field is not a string. + +.. + +.. bpo: 9651 +.. date: 8507 +.. nonce: INPcwf +.. section: Library + +Fix a crash when ctypes.create_string_buffer(0) was passed to some functions +like file.write(). + +.. + +.. bpo: 10309 +.. date: 8506 +.. nonce: -z_Mxz +.. section: Library + +Define _GNU_SOURCE so that mremap() gets the proper signature. Without +this, architectures where sizeof void* != sizeof int are broken. Patch +given by Hallvard B Furuseth. + +.. + +.. bpo: 964437 +.. date: 8505 +.. nonce: buwNGK +.. section: IDLE + +Make IDLE help window non-modal. Patch by Guilherme Polo and Roger Serwy. + +.. + +.. bpo: 13933 +.. date: 8504 +.. nonce: 5CAw8l +.. section: IDLE + +IDLE auto-complete did not work with some imported module, like hashlib. +(Patch by Roger Serwy) + +.. + +.. bpo: 13506 +.. date: 8503 +.. nonce: ztXHhD +.. section: IDLE + +Add '' to path for IDLE Shell when started and restarted with Restart Shell. +Original patches by Marco Scataglini and Roger Serwy. + +.. + +.. bpo: 4625 +.. date: 8502 +.. nonce: 2pS4tW +.. section: IDLE + +If IDLE cannot write to its recent file or breakpoint files, display a +message popup and continue rather than crash. (original patch by Roger +Serwy) + +.. + +.. bpo: 8793 +.. date: 8501 +.. nonce: 2eA1HO +.. section: IDLE + +Prevent IDLE crash when given strings with invalid hex escape sequences. + +.. + +.. bpo: 13296 +.. date: 8500 +.. nonce: bMHIFe +.. section: IDLE + +Fix IDLE to clear compile __future__ flags on shell restart. (Patch by Roger +Serwy) + +.. + +.. bpo: 14409 +.. date: 8499 +.. nonce: 8SNyRR +.. section: IDLE + +IDLE now properly executes commands in the Shell window when it cannot read +the normal config files on startup and has to use the built-in default key +bindings. There was previously a bug in one of the defaults. + +.. + +.. bpo: 3573 +.. date: 8498 +.. nonce: yIQRtd +.. section: IDLE + +IDLE hangs when passing invalid command line args (directory(ies) instead of +file(s)). + +.. + +.. bpo: 6807 +.. date: 8497 +.. nonce: lfskSG +.. section: Build + +Run msisupport.mak earlier. + +.. + +.. bpo: 10580 +.. date: 8496 +.. nonce: GkwWHF +.. section: Build + +Minor grammar change in Windows installer. + +.. + +.. bpo: 12627 +.. date: 8495 +.. nonce: pVGmbv +.. section: Build + +Implement PEP 394 for Python 2.7 ("python2"). + +.. + +.. bpo: 8746 +.. date: 8494 +.. nonce: z-aagT +.. section: Build + +Correct faulty configure checks so that os.chflags() and os.lchflags() are +once again built on systems that support these functions (*BSD and OS X). +Also add new stat file flags for OS X (UF_HIDDEN and UF_COMPRESSED). + +.. + +.. bpo: 14053 +.. date: 8493 +.. nonce: tR4DDC +.. section: Tools/Demos + +patchcheck.py ("make patchcheck") now works with MQ patches. Patch by +Francisco Martín Brugué. + +.. + +.. bpo: 13930 +.. date: 8492 +.. nonce: jUdfJ- +.. section: Tools/Demos + +2to3 is now able to write its converted output files to another directory +tree as well as copying unchanged files and altering the file suffix. See +its new -o, -W and --add-suffix options. This makes it more useful in many +automated code translation workflows. + +.. + +.. bpo: 10639 +.. date: 8491 +.. nonce: ZGu-0K +.. section: Tools/Demos + +reindent.py no longer converts newlines and will raise an error if +attempting to convert a file with mixed newlines. + +.. + +.. bpo: 13628 +.. date: 8490 +.. nonce: XznUD3 +.. section: Tools/Demos + +python-gdb.py is now able to retrieve more frames in the Python traceback if +Python is optimized. + +.. + +.. bpo: 15467 +.. date: 8489 +.. nonce: Ilkvjd +.. section: Tests + +Move helpers for __sizeof__ tests into test_support. Patch by Serhiy +Storchaka. + +.. + +.. bpo: 11689 +.. date: 8488 +.. nonce: n1UPYK +.. section: Tests + +Fix a variable scoping error in an sqlite3 test. Initial patch by Torsten +Landschoff. + +.. + +.. bpo: 10881 +.. date: 8487 +.. nonce: CG7Ecn +.. section: Tests + +Fix test_site failures with OS X framework builds. + +.. + +.. bpo: 13901 +.. date: 8486 +.. nonce: ICKGPH +.. section: Tests + +Prevent test_distutils failures on OS X with --enable-shared. + +.. + +.. bpo: 13304 +.. date: 8485 +.. nonce: jDDi97 +.. section: Tests + +Skip test case if user site-packages disabled (-s or PYTHONNOUSERSITE). +(Patch by Carl Meyer) + +.. + +.. bpo: 13218 +.. date: 8484 +.. nonce: EZ3jnV +.. section: Tests + +Fix test_ssl failures on Debian/Ubuntu. + +.. + +.. bpo: 12821 +.. date: 8483 +.. nonce: fmA715 +.. section: Tests + +Fix test_fcntl failures on OpenBSD 5. + +.. + +.. bpo: 12331 +.. date: 8482 +.. nonce: ZSPeJW +.. section: Tests + +The test suite for lib2to3 can now run from an installed Python. + +.. + +.. bpo: 12549 +.. date: 8481 +.. nonce: S4urNL +.. section: Tests + +Correct test_platform to not fail when OS X returns 'x86_64' as the +processor type on some Mac systems. + +.. + +.. bpo: 0 +.. date: 8480 +.. nonce: EofQqr +.. section: Tests + +Skip network tests when getaddrinfo() returns EAI_AGAIN, meaning a temporary +failure in name resolution. + +.. + +.. bpo: 11812 +.. date: 8479 +.. nonce: jeNaCB +.. section: Tests + +Solve transient socket failure to connect to 'localhost' in +test_telnetlib.py. + +.. + +.. bpo: 0 +.. date: 8478 +.. nonce: cUdl39 +.. section: Tests + +Solved a potential deadlock in test_telnetlib.py. Related to issue #11812. + +.. + +.. bpo: 0 +.. date: 8477 +.. nonce: QtTimW +.. section: Tests + +Avoid failing in test_robotparser when mueblesmoraleda.com is flaky and an +overzealous DNS service (e.g. OpenDNS) redirects to a placeholder Web site. + +.. + +.. bpo: 0 +.. date: 8476 +.. nonce: Vvh-2P +.. section: Tests + +Avoid failing in test_urllibnet.test_bad_address when some overzealous DNS +service (e.g. OpenDNS) resolves a non-existent domain name. The test is now +skipped instead. + +.. + +.. bpo: 8716 +.. date: 8475 +.. nonce: -qUe-z +.. section: Tests + +Avoid crashes caused by Aqua Tk on OSX when attempting to run test_tk or +test_ttk_guionly under a username that is not currently logged in to the +console windowserver (as may be the case under buildbot or ssh). + +.. + +.. bpo: 12141 +.. date: 8474 +.. nonce: -5YCgZ +.. section: Tests + +Install a copy of template C module file so that test_build_ext of +test_distutils is no longer silently skipped when run outside of a build +directory. + +.. + +.. bpo: 8746 +.. date: 8473 +.. nonce: I497O- +.. section: Tests + +Add additional tests for os.chflags() and os.lchflags(). Patch by Garrett +Cooper. + +.. + +.. bpo: 10736 +.. date: 8472 +.. nonce: 60t_7a +.. section: Tests + +Fix test_ttk test_widgets failures with Cocoa Tk 8.5.9 on Mac OS X. (Patch +by Ronald Oussoren) + +.. + +.. bpo: 12057 +.. date: 8471 +.. nonce: 7QVG6T +.. section: Tests + +Add tests for ISO 2022 codecs (iso2022_jp, iso2022_jp_2, iso2022_kr). + +.. + +.. bpo: 13491 +.. date: 8470 +.. nonce: zMFNID +.. section: Documentation + +Fix many errors in sqlite3 documentation. Initial patch for #13491 by +Johannes Vogel. (See also: bpo-13995) + +.. + +.. bpo: 13402 +.. date: 8469 +.. nonce: VSNrG0 +.. section: Documentation + +Document absoluteness of sys.executable. + +.. + +.. bpo: 13883 +.. date: 8468 +.. nonce: atFSNh +.. section: Documentation + +PYTHONCASEOK also works on OS X, OS/2, and RiscOS. + +.. + +.. bpo: 2134 +.. date: 8467 +.. nonce: lkdzru +.. section: Documentation + +The tokenize documentation has been clarified to explain why all operator +and delimiter tokens are treated as token.OP tokens. + +.. + +.. bpo: 13513 +.. date: 8466 +.. nonce: Z6l39q +.. section: Documentation + +Fix io.IOBase documentation to correctly link to the io.IOBase.readline +method instead of the readline module. + +.. + +.. bpo: 13237 +.. date: 8465 +.. nonce: EVVjZK +.. section: Documentation + +Reorganise subprocess documentation to emphasise convenience functions and +the most commonly needed arguments to Popen. + +.. + +.. bpo: 13141 +.. date: 8464 +.. nonce: rDLimI +.. section: Documentation + +Demonstrate recommended style for SocketServer examples. diff --git a/Misc/NEWS.d/2.7.3rc2.rst b/Misc/NEWS.d/2.7.3rc2.rst new file mode 100644 index 0000000000..8927310b2e --- /dev/null +++ b/Misc/NEWS.d/2.7.3rc2.rst @@ -0,0 +1,10 @@ +.. bpo: 14234 +.. date: 8657 +.. nonce: 3-5k8_ +.. release date: 2012-03-17 +.. section: Library + +CVE-2012-0876: Randomize hashes of xml attributes in the hash table internal +to the pyexpat module's copy of the expat library to avoid a denial of +service due to hash collisions. Patch by David Malcolm with some +modifications by the expat project. diff --git a/Misc/NEWS.d/2.7.4.rst b/Misc/NEWS.d/2.7.4.rst new file mode 100644 index 0000000000..5fbe3ab378 --- /dev/null +++ b/Misc/NEWS.d/2.7.4.rst @@ -0,0 +1,64 @@ +.. bpo: 17550 +.. date: 9013 +.. nonce: zn8gOk +.. release date: 2013-04-06 +.. section: Build + +Fix the --enable-profiling configure switch. + +.. + +.. bpo: 15801 +.. date: 9012 +.. nonce: zsLcEY +.. section: Core and Builtins + +With string % formatting, relax the type check for a mapping such that any +type with a __getitem__ can be used on the right hand side. + +.. + +.. bpo: 17625 +.. date: 9011 +.. nonce: SoDm9J +.. section: IDLE + +In IDLE, close the replace dialog after it is used. + +.. + +.. bpo: 17835 +.. date: 9010 +.. nonce: mJdR71 +.. section: Tests + +Fix test_io when the default OS pipe buffer size is larger than one million +bytes. + +.. + +.. bpo: 17531 +.. date: 9009 +.. nonce: 7PzWC2 +.. section: Tests + +Fix tests that thought group and user ids were always the int type. Also, +always allow -1 as a valid group and user id. + +.. + +.. bpo: 17533 +.. date: 9008 +.. nonce: XGejM9 +.. section: Tests + +Fix test_xpickle with older versions of Python 2.5. + +.. + +.. bpo: 17538 +.. date: 9007 +.. nonce: M8FVLz +.. section: Documentation + +Document XML vulnerabilties diff --git a/Misc/NEWS.d/2.7.4rc1.rst b/Misc/NEWS.d/2.7.4rc1.rst new file mode 100644 index 0000000000..bb0bd5f948 --- /dev/null +++ b/Misc/NEWS.d/2.7.4rc1.rst @@ -0,0 +1,3419 @@ +.. bpo: 10211 +.. date: 9006 +.. nonce: JF6QJN +.. release date: 2013-03-23 +.. section: Core and Builtins + +Buffer objects expose the new buffer interface internally + +.. + +.. bpo: 16445 +.. date: 9005 +.. nonce: EF19nl +.. section: Core and Builtins + +Fixed potential segmentation fault when deleting an exception message. + +.. + +.. bpo: 17275 +.. date: 9004 +.. nonce: Aqerft +.. section: Core and Builtins + +Corrected class name in init error messages of the C version of +BufferedWriter and BufferedRandom. + +.. + +.. bpo: 7963 +.. date: 9003 +.. nonce: FWJtUT +.. section: Core and Builtins + +Fixed misleading error message that issued when object is called without +arguments. + +.. + +.. bpo: 5308 +.. date: 9002 +.. nonce: s5uAbP +.. section: Core and Builtins + +Raise ValueError when marshalling too large object (a sequence with size >= +2**31), instead of producing illegal marshal data. + +.. + +.. bpo: 17043 +.. date: 9001 +.. nonce: 4OVhGk +.. section: Core and Builtins + +The unicode-internal decoder no longer read past the end of input buffer. + +.. + +.. bpo: 16979 +.. date: 9000 +.. nonce: jTR3Oe +.. section: Core and Builtins + +Fix error handling bugs in the unicode-escape-decode decoder. + +.. + +.. bpo: 10156 +.. date: 8999 +.. nonce: iEZGhY +.. section: Core and Builtins + +In the interpreter's initialization phase, unicode globals are now +initialized dynamically as needed. + +.. + +.. bpo: 16975 +.. date: 8998 +.. nonce: H9EsG9 +.. section: Core and Builtins + +Fix error handling bug in the escape-decode decoder. + +.. + +.. bpo: 14850 +.. date: 8997 +.. nonce: EhU_If +.. section: Core and Builtins + +Now a charmap decoder treats U+FFFE as "undefined mapping" in any mapping, +not only in a Unicode string. + +.. + +.. bpo: 11461 +.. date: 8996 +.. nonce: xwn_Zw +.. section: Core and Builtins + +Fix the incremental UTF-16 decoder. Original patch by Amaury Forgeot d'Arc. + +.. + +.. bpo: 16367 +.. date: 8995 +.. nonce: lewlCg +.. section: Core and Builtins + +Fix FileIO.readall() on Windows for files larger than 2 GB. + +.. + +.. bpo: 15516 +.. date: 8994 +.. nonce: 5-JJO7 +.. section: Core and Builtins + +Fix a bug in PyString_FromFormat where it failed to properly ignore errors +from a __int__() method. + +.. + +.. bpo: 16839 +.. date: 8993 +.. nonce: aEw6ZB +.. section: Core and Builtins + +Fix a segfault when calling unicode() on a classic class early in +interpreter initialization. + +.. + +.. bpo: 16761 +.. date: 8992 +.. nonce: Z2d0Tr +.. section: Core and Builtins + +Calling ``int()`` and ``long()`` with *base* argument only now raises +TypeError. + +.. + +.. bpo: 16759 +.. date: 8991 +.. nonce: U0-CFS +.. section: Core and Builtins + +Support the full DWORD (unsigned long) range in Reg2Py when retrieving a +REG_DWORD value. This corrects functions like winreg.QueryValueEx that may +have been returning truncated values. + +.. + +.. bpo: 14420 +.. date: 8990 +.. nonce: uknqaC +.. section: Core and Builtins + +Support the full DWORD (unsigned long) range in Py2Reg when passed a +REG_DWORD value. Fixes ValueError in winreg.SetValueEx when given a long. + +.. + +.. bpo: 13863 +.. date: 8989 +.. nonce: jfoNlP +.. section: Core and Builtins + +Work around buggy 'fstat' implementation on Windows / NTFS that lead to +incorrect timestamps (off by one hour) being stored in .pyc files on some +systems. + +.. + +.. bpo: 16602 +.. date: 8988 +.. nonce: FjnLTD +.. section: Core and Builtins + +When a weakref's target was part of a long deallocation chain, the object +could remain reachable through its weakref even though its refcount had +dropped to zero. + +.. + +.. bpo: 9011 +.. date: 8987 +.. nonce: ENWTWf +.. section: Core and Builtins + +Fix hacky AST code that modified the CST when compiling a negated numeric +literal. + +.. + +.. bpo: 16306 +.. date: 8986 +.. nonce: H29SXn +.. section: Core and Builtins + +Fix multiple error messages when unknown command line parameters where +passed to the interpreter. Patch by Hieu Nguyen. + +.. + +.. bpo: 15379 +.. date: 8985 +.. nonce: Ix2NTb +.. section: Core and Builtins + +Fix passing of non-BMP characters as integers for the charmap decoder +(already working as unicode strings). Patch by Serhiy Storchaka. + +.. + +.. bpo: 16453 +.. date: 8984 +.. nonce: 0Zm9en +.. section: Core and Builtins + +Fix equality testing of dead weakref objects. + +.. + +.. bpo: 9535 +.. date: 8983 +.. nonce: hkixPD +.. section: Core and Builtins + +Fix pending signals that have been received but not yet handled by Python to +not persist after os.fork() in the child process. + +.. + +.. bpo: 15001 +.. date: 8982 +.. nonce: oD3gtX +.. section: Core and Builtins + +fix segfault on "del sys.modules['__main__']". Patch by Victor Stinner. + +.. + +.. bpo: 5057 +.. date: 8981 +.. nonce: 5HFeht +.. section: Core and Builtins + +the peepholer no longer optimizes subscription on unicode literals (e.g. +u'foo'[0]) in order to produce compatible pyc files between narrow and wide +builds. + +.. + +.. bpo: 8401 +.. date: 8980 +.. nonce: TslRZr +.. section: Core and Builtins + +assigning an int to a bytearray slice (e.g. b[3:4] = 5) now raises an error. + +.. + +.. bpo: 14700 +.. date: 8979 +.. nonce: 1hIs61 +.. section: Core and Builtins + +Fix buggy overflow checks for large width and precision in string formatting +operations. + +.. + +.. bpo: 16345 +.. date: 8978 +.. nonce: azvPpP +.. section: Core and Builtins + +Fix an infinite loop when ``fromkeys`` on a dict subclass received a +nonempty dict from the constructor. + +.. + +.. bpo: 6074 +.. date: 8977 +.. nonce: CXlveH +.. section: Core and Builtins + +Ensure cached bytecode files can always be updated by the user that created +them, even when the source file is read-only. + +.. + +.. bpo: 14783 +.. date: 8976 +.. nonce: Sk4dfh +.. section: Core and Builtins + +Improve int() and long() docstrings and switch docstrings for unicode(), +slice(), range(), and xrange() to use multi-line signatures. + +.. + +.. bpo: 16030 +.. date: 8975 +.. nonce: ljwmkM +.. section: Core and Builtins + +Fix overflow bug in computing the `repr` of an xrange object with large +start, step or length. + +.. + +.. bpo: 16029 +.. date: 8974 +.. nonce: zGzl68 +.. section: Core and Builtins + +Fix overflow bug occurring when pickling xranges with large start, step or +length. + +.. + +.. bpo: 16037 +.. date: 8973 +.. nonce: tA7cA2 +.. section: Core and Builtins + +Limit httplib's _read_status() function to work around broken HTTP servers +and reduce memory usage. It's actually a backport of a Python 3.2 fix. +Thanks to Adrien Kunysz. + +.. + +.. bpo: 16588 +.. date: 8972 +.. nonce: YKgxOa +.. section: Core and Builtins + +Silence unused-but-set warnings in Python/thread_pthread + +.. + +.. bpo: 13992 +.. date: 8971 +.. nonce: Jasaf2 +.. section: Core and Builtins + +The trashcan mechanism is now thread-safe. This eliminates sporadic crashes +in multi-thread programs when several long deallocator chains ran +concurrently and involved subclasses of built-in container types. + +.. + +.. bpo: 15801 +.. date: 8970 +.. nonce: gpcQV3 +.. section: Core and Builtins + +Make sure mappings passed to '%' formatting are actually subscriptable. + +.. + +.. bpo: 15604 +.. date: 8969 +.. nonce: q1V3sc +.. section: Core and Builtins + +Update uses of PyObject_IsTrue() to check for and handle errors correctly. +Patch by Serhiy Storchaka. + +.. + +.. bpo: 14579 +.. date: 8968 +.. nonce: Bcg1J1 +.. section: Core and Builtins + +Fix error handling bug in the utf-16 decoder. Patch by Serhiy Storchaka. + +.. + +.. bpo: 15368 +.. date: 8967 +.. nonce: iAaiat +.. section: Core and Builtins + +An issue that caused bytecode generation to be non-deterministic when using +randomized hashing (-R) has been fixed. + +.. + +.. bpo: 15897 +.. date: 8966 +.. nonce: GQpoBE +.. section: Core and Builtins + +zipimport.c doesn't check return value of fseek(). Patch by Felipe Cruz. + +.. + +.. bpo: 16369 +.. date: 8965 +.. nonce: GtRTux +.. section: Core and Builtins + +Global PyTypeObjects not initialized with PyType_Ready(...). + +.. + +.. bpo: 15033 +.. date: 8964 +.. nonce: gKl1Eg +.. section: Core and Builtins + +Fix the exit status bug when modules invoked using -m switch, return the +proper failure return value (1). Patch contributed by Jeff Knupp. + +.. + +.. bpo: 12268 +.. date: 8963 +.. nonce: 6mnsQI +.. section: Core and Builtins + +File readline, readlines and read() methods no longer lose data when an +underlying read system call is interrupted. IOError is no longer raised due +to a read system call returning EINTR from within these methods. + +.. + +.. bpo: 13512 +.. date: 8962 +.. nonce: KW8Du9 +.. section: Core and Builtins + +Create ~/.pypirc securely (CVE-2011-4944). Initial patch by Philip Jenvey, +tested by Mageia and Debian. + +.. + +.. bpo: 7719 +.. date: 8961 +.. nonce: O-kdp6 +.. section: Core and Builtins + +Make distutils ignore ``.nfs*`` files instead of choking later on. Initial +patch by SilentGhost and Jeff Ramnani. + +.. + +.. bpo: 10053 +.. date: 8960 +.. nonce: rOxp0i +.. section: Core and Builtins + +Don't close FDs when FileIO.__init__ fails. Loosely based on the work by +Hirokazu Yamamoto. + +.. + +.. bpo: 14775 +.. date: 8959 +.. nonce: AHE3Lc +.. section: Core and Builtins + +Fix a potential quadratic dict build-up due to the garbage collector +repeatedly trying to untrack dicts. + +.. + +.. bpo: 14494 +.. date: 8958 +.. nonce: OjJqfu +.. section: Core and Builtins + +Fix __future__.py and its documentation to note that absolute imports are +the default behavior in 3.0 instead of 2.7. Patch by Sven Marnach. + +.. + +.. bpo: 14761 +.. date: 8957 +.. nonce: A8TEE6 +.. section: Core and Builtins + +Fix potential leak on an error case in the import machinery. + +.. + +.. bpo: 14699 +.. date: 8956 +.. nonce: AuoeMs +.. section: Core and Builtins + +Fix calling the classmethod descriptor directly. + +.. + +.. bpo: 11603 +.. date: 8955 +.. nonce: aGsFsn +.. section: Core and Builtins + +Setting __repr__ to __str__ now raises a RuntimeError when repr() or str() +is called on such an object. + +.. + +.. bpo: 14658 +.. date: 8954 +.. nonce: jeSkqL +.. section: Core and Builtins + +Fix binding a special method to a builtin implementation of a special method +with a different name. + +.. + +.. bpo: 14612 +.. date: 8953 +.. nonce: uTBlpg +.. section: Core and Builtins + +Fix jumping around with blocks by setting f_lineno. + +.. + +.. bpo: 13889 +.. date: 8952 +.. nonce: 5jUbDL +.. section: Core and Builtins + +Check and (if necessary) set FPU control word before calling any of the +dtoa.c string <-> float conversion functions, on MSVC builds of Python. +This fixes issues when embedding Python in a Delphi app. + +.. + +.. bpo: 14505 +.. date: 8951 +.. nonce: oeGD4J +.. section: Core and Builtins + +Fix file descriptor leak when deallocating file objects created with +PyFile_FromString(). + +.. + +.. bpo: 14474 +.. date: 8950 +.. nonce: 8TuKNN +.. section: Core and Builtins + +Save and restore exception state in thread.start_new_thread() while writing +error message if the thread leaves an unhandled exception. + +.. + +.. bpo: 13019 +.. date: 8949 +.. nonce: LYHgJO +.. section: Core and Builtins + +Fix potential reference leaks in bytearray.extend(). Patch by Suman Saha. + +.. + +.. bpo: 14378 +.. date: 8948 +.. nonce: SYESoz +.. section: Core and Builtins + +Fix compiling ast.ImportFrom nodes with a "__future__" string as the module +name that was not interned. + +.. + +.. bpo: 14331 +.. date: 8947 +.. nonce: xcTH6m +.. section: Core and Builtins + +Use significantly less stack space when importing modules by allocating path +buffers on the heap instead of the stack. + +.. + +.. bpo: 14334 +.. date: 8946 +.. nonce: l8YQhg +.. section: Core and Builtins + +Prevent in a segfault in type.__getattribute__ when it was not passed +strings. Also fix segfaults in the __getattribute__ and __setattr__ methods +of old-style classes. + +.. + +.. bpo: 14161 +.. date: 8945 +.. nonce: VorA5N +.. section: Core and Builtins + +fix the __repr__ of file objects to escape the file name. + +.. + +.. bpo: 1469629 +.. date: 8944 +.. nonce: ej86Z- +.. section: Core and Builtins + +Allow cycles through an object's __dict__ slot to be collected. (For example +if ``x.__dict__ is x``). + +.. + +.. bpo: 13521 +.. date: 8943 +.. nonce: L_inbK +.. section: Core and Builtins + +dict.setdefault() now does only one lookup for the given key, making it +"atomic" for many purposes. Patch by Filip Gruszczyński. + +.. + +.. bpo: 1602133 +.. date: 8942 +.. nonce: lYqpUo +.. section: Core and Builtins + +on Mac OS X a shared library build (``--enable-shared``) now fills the +``os.environ`` variable correctly. + +.. + +.. bpo: 10538 +.. date: 8941 +.. nonce: F7Gerr +.. section: Core and Builtins + +When using the "s*" code with PyArg_ParseTuple() to fill a Py_buffer +structure with data from an object supporting only the old PyBuffer +interface, a reference to the source objects is now properly added to the +Py_buffer.obj member. + +.. + +.. bpo: 12718 +.. date: 8940 +.. nonce: lrGueo +.. section: Library + +Fix interaction with winpdb overriding __import__ by setting importer +attribute on BaseConfigurator instance. + +.. + +.. bpo: 17521 +.. date: 8939 +.. nonce: rDGKe7 +.. section: Library + +Corrected non-enabling of logger following two calls to fileConfig(). + +.. + +.. bpo: 17508 +.. date: 8938 +.. nonce: sO6qmY +.. section: Library + +Corrected MemoryHandler configuration in dictConfig() where the target +handler wasn't configured first. + +.. + +.. bpo: 10212 +.. date: 8937 +.. nonce: XGXAQQ +.. section: Library + +cStringIO and struct.unpack support new buffer objects. + +.. + +.. bpo: 12098 +.. date: 8936 +.. nonce: kcQpDY +.. section: Library + +multiprocessing on Windows now starts child processes using the same +sys.flags as the current process. Initial patch by Sergey Mezentsev. + +.. + +.. bpo: 8862 +.. date: 8935 +.. nonce: WpBti_ +.. section: Library + +Fixed curses cleanup when getkey is interrupted by a signal. + +.. + +.. bpo: 9090 +.. date: 8934 +.. nonce: FUyySi +.. section: Library + +When a socket with a timeout fails with EWOULDBLOCK or EAGAIN, retry the +select() loop instead of bailing out. This is because select() can +incorrectly report a socket as ready for reading (for example, if it +received some data with an invalid checksum). + +.. + +.. bpo: 1285086 +.. date: 8933 +.. nonce: U7ONBL +.. section: Library + +Get rid of the refcounting hack and speed up urllib.unquote(). + +.. + +.. bpo: 17368 +.. date: 8932 +.. nonce: y8QiJd +.. section: Library + +Fix an off-by-one error in the Python JSON decoder that caused a failure +while decoding empty object literals when object_pairs_hook was specified. + +.. + +.. bpo: 17278 +.. date: 8931 +.. nonce: pOF4An +.. section: Library + +Fix a crash in heapq.heappush() and heapq.heappop() when the list is being +resized concurrently. + +.. + +.. bpo: 17018 +.. date: 8930 +.. nonce: l8_sa8 +.. section: Library + +Make Process.join() retry if os.waitpid() fails with EINTR. + +.. + +.. bpo: 14720 +.. date: 8929 +.. nonce: rjT0OJ +.. section: Library + +sqlite3: Convert datetime microseconds correctly. Patch by Lowe Thiderman. + +.. + +.. bpo: 17225 +.. date: 8928 +.. nonce: Z396fN +.. section: Library + +JSON decoder now counts columns in the first line starting with 1, as in +other lines. + +.. + +.. bpo: 7842 +.. date: 8927 +.. nonce: p2kMAC +.. section: Library + +backported fix for py_compile.compile() syntax error handling. + +.. + +.. bpo: 13153 +.. date: 8926 +.. nonce: IN7Ddm +.. section: Library + +Tkinter functions now raise TclError instead of ValueError when a unicode +argument contains non-BMP character. + +.. + +.. bpo: 9669 +.. date: 8925 +.. nonce: Td9alB +.. section: Library + +Protect re against infinite loops on zero-width matching in non-greedy +repeat. Patch by Matthew Barnett. + +.. + +.. bpo: 13169 +.. date: 8924 +.. nonce: txDMgH +.. section: Library + +The maximal repetition number in a regular expression has been increased +from 65534 to 2147483647 (on 32-bit platform) or 4294967294 (on 64-bit). + +.. + +.. bpo: 16743 +.. date: 8923 +.. nonce: 7vwfDN +.. section: Library + +Fix mmap overflow check on 32 bit Windows. + +.. + +.. bpo: 11311 +.. date: 8922 +.. nonce: NvgObQ +.. section: Library + +StringIO.readline(0) now returns an empty string as all other file-like +objects. + +.. + +.. bpo: 16800 +.. date: 8921 +.. nonce: HxSo58 +.. section: Library + +tempfile.gettempdir() no longer left temporary files when the disk is full. +Original patch by Amir Szekely. + +.. + +.. bpo: 13555 +.. date: 8920 +.. nonce: bXG1a4 +.. section: Library + +cPickle now supports files larger than 2 GiB. + +.. + +.. bpo: 17052 +.. date: 8919 +.. nonce: TEWdzQ +.. section: Library + +unittest discovery should use self.testLoader. + +.. + +.. bpo: 4591 +.. date: 8918 +.. nonce: 9wJlD8 +.. section: Library + +Uid and gid values larger than 2**31 are supported now. + +.. + +.. bpo: 17141 +.. date: 8917 +.. nonce: pXFICp +.. section: Library + +random.vonmisesvariate() no more hangs for large kappas. + +.. + +.. bpo: 17149 +.. date: 8916 +.. nonce: ONtJnJ +.. section: Library + +Fix random.vonmisesvariate to always return results in the range [0, +2*math.pi]. + +.. + +.. bpo: 1470548 +.. date: 8915 +.. nonce: xr_CsJ +.. section: Library + +XMLGenerator now works with UTF-16 and UTF-32 encodings. + +.. + +.. bpo: 6975 +.. date: 8914 +.. nonce: 4GoPXW +.. section: Library + +os.path.realpath() now correctly resolves multiple nested symlinks on POSIX +platforms. + +.. + +.. bpo: 7358 +.. date: 8913 +.. nonce: -jPlTz +.. section: Library + +cStringIO.StringIO now supports writing to and reading from a stream larger +than 2 GiB on 64-bit systems. + +.. + +.. bpo: 10355 +.. date: 8912 +.. nonce: lkhqo9 +.. section: Library + +In SpooledTemporaryFile class mode and name properties and xreadlines method +now work for unrolled files. encoding and newlines properties now removed +as they have no sense and always produced AttributeError. + +.. + +.. bpo: 16686 +.. date: 8911 +.. nonce: zT_bpe +.. section: Library + +Fixed a lot of bugs in audioop module. Fixed crashes in avgpp(), maxpp() +and ratecv(). Fixed an integer overflow in add(), bias(), and ratecv(). +reverse(), lin2lin() and ratecv() no more lose precision for 32-bit samples. +max() and rms() no more returns a negative result and various other +functions now work correctly with 32-bit sample -0x80000000. + +.. + +.. bpo: 17073 +.. date: 8910 +.. nonce: wlCar1 +.. section: Library + +Fix some integer overflows in sqlite3 module. + +.. + +.. bpo: 6083 +.. date: 8909 +.. nonce: MVAIwI +.. section: Library + +Fix multiple segmentation faults occurred when PyArg_ParseTuple parses +nested mutating sequence. + +.. + +.. bpo: 5289 +.. date: 8908 +.. nonce: 4azz2m +.. section: Library + +Fix ctypes.util.find_library on Solaris. + +.. + +.. bpo: 17106 +.. date: 8907 +.. nonce: -2_cbV +.. section: Library + +Fix a segmentation fault in io.TextIOWrapper when an underlying stream or a +decoder produces data of an unexpected type (i.e. when io.TextIOWrapper +initialized with text stream or use bytes-to-bytes codec). + +.. + +.. bpo: 13994 +.. date: 8906 +.. nonce: Y89GZB +.. section: Library + +Add compatibility alias in distutils.ccompiler for +distutils.sysconfig.customize_compiler. + +.. + +.. bpo: 15633 +.. date: 8905 +.. nonce: t407yZ +.. section: Library + +httplib.HTTPResponse is now mark closed when the server sends less than the +advertised Content-Length. + +.. + +.. bpo: 15881 +.. date: 8904 +.. nonce: UfzKmP +.. section: Library + +Fixed atexit hook in multiprocessing. + +.. + +.. bpo: 14340 +.. date: 8903 +.. nonce: 6XMfoZ +.. section: Library + +Upgrade the embedded expat library to version 2.1.0. + +.. + +.. bpo: 11159 +.. date: 8902 +.. nonce: P-3Mf3 +.. section: Library + +SAX parser now supports unicode file names. + +.. + +.. bpo: 6972 +.. date: 8901 +.. nonce: e2Lq4T +.. section: Library + +The zipfile module no longer overwrites files outside of its destination +path when extracting malicious zip files. + +.. + +.. bpo: 17049 +.. date: 8900 +.. nonce: CoOx8W +.. section: Library + +Localized calendar methods now return unicode if a locale includes an +encoding and the result string contains month or weekday (was regression +from Python 2.6). + +.. + +.. bpo: 4844 +.. date: 8899 +.. nonce: jvXWfL +.. section: Library + +ZipFile now raises BadZipfile when opens a ZIP file with an incomplete "End +of Central Directory" record. Original patch by Guilherme Polo and Alan +McIntyre. + +.. + +.. bpo: 15505 +.. date: 8898 +.. nonce: -pH9Mh +.. section: Library + +`unittest.installHandler` no longer assumes SIGINT handler is set to a +callable object. + +.. + +.. bpo: 17051 +.. date: 8897 +.. nonce: erKg1U +.. section: Library + +Fix a memory leak in os.path.isdir() on Windows. Patch by Robert Xiao. + +.. + +.. bpo: 13454 +.. date: 8896 +.. nonce: 81rUI- +.. section: Library + +Fix a crash when deleting an iterator created by itertools.tee() if all +other iterators were very advanced before. + +.. + +.. bpo: 16992 +.. date: 8895 +.. nonce: s_RXIM +.. section: Library + +On Windows in signal.set_wakeup_fd, validate the file descriptor argument. + +.. + +.. bpo: 15861 +.. date: 8894 +.. nonce: gGkxCM +.. section: Library + +tkinter now correctly works with lists and tuples containing strings with +whitespaces, backslashes or unbalanced braces. + +.. + +.. bpo: 10527 +.. date: 8893 +.. nonce: EuNKip +.. section: Library + +Use poll() instead of select() for multiprocessing pipes. + +.. + +.. bpo: 9720 +.. date: 8892 +.. nonce: XPXDks +.. section: Library + +zipfile now writes correct local headers for files larger than 4 GiB. + +.. + +.. bpo: 13899 +.. date: 8891 +.. nonce: yz3hXA +.. section: Library + +\A, \Z, and \B now correctly match the A, Z, and B literals when used inside +character classes (e.g. '[\A]'). Patch by Matthew Barnett. + +.. + +.. bpo: 16398 +.. date: 8890 +.. nonce: JU7cL4 +.. section: Library + +Optimize deque.rotate() so that it only moves pointers and doesn't touch the +underlying data with increfs and decrefs. + +.. + +.. bpo: 15109 +.. date: 8889 +.. nonce: Qk6XVt +.. section: Library + +Fix regression in sqlite3's iterdump method where it would die with an +encoding error if the database contained string values containing non-ASCII. +(Regression was introduced by fix for 9750). + +.. + +.. bpo: 15545 +.. date: 8888 +.. nonce: FCBNNV +.. section: Library + +Fix regression in sqlite3's iterdump method where it was failing if the +connection used a row factory (such as sqlite3.Row) that produced unsortable +objects. (Regression was introduced by fix for 9750). + +.. + +.. bpo: 16828 +.. date: 8887 +.. nonce: KB886T +.. section: Library + +Fix error incorrectly raised by bz2.compress(''). Patch by Martin Packman. + +.. + +.. bpo: 9586 +.. date: 8886 +.. nonce: 9tuKgR +.. section: Library + +Redefine SEM_FAILED on MacOSX to keep compiler happy. + +.. + +.. bpo: 10527 +.. date: 8885 +.. nonce: 7btVvN +.. section: Library + +make multiprocessing use poll() instead of select() if available. + +.. + +.. bpo: 16485 +.. date: 8884 +.. nonce: aUJyTZ +.. section: Library + +Now file descriptors are closed if file header patching failed on closing an +aifc file. + +.. + +.. bpo: 12065 +.. date: 8883 +.. nonce: FBZpyD +.. section: Library + +connect_ex() on an SSL socket now returns the original errno when the +socket's timeout expires (it used to return None). + +.. + +.. bpo: 16713 +.. date: 8882 +.. nonce: YX5wyQ +.. section: Library + +Fix the parsing of tel url with params using urlparse module. + +.. + +.. bpo: 16443 +.. date: 8881 +.. nonce: SnGosi +.. section: Library + +Add docstrings to regular expression match objects. Patch by Anton Kasyanov. + +.. + +.. bpo: 8853 +.. date: 8880 +.. nonce: vSQPAG +.. section: Library + +Allow port to be of type long for socket.getaddrinfo(). + +.. + +.. bpo: 16597 +.. date: 8879 +.. nonce: z8uMEN +.. section: Library + +In buffered and text IO, call close() on the underlying stream if invoking +flush() fails. + +.. + +.. bpo: 15701 +.. date: 8878 +.. nonce: rAh1Sy +.. section: Library + +Fix HTTPError info method call to return the headers information. + +.. + +.. bpo: 16646 +.. date: 8877 +.. nonce: Tc3vsq +.. section: Library + +ftplib.FTP.makeport() might lose socket error details. (patch by Serhiy +Storchaka) + +.. + +.. bpo: 16626 +.. date: 8876 +.. nonce: P9xKcu +.. section: Library + +Fix infinite recursion in glob.glob() on Windows when the pattern contains a +wildcard in the drive or UNC path. Patch by Serhiy Storchaka. + +.. + +.. bpo: 16298 +.. date: 8875 +.. nonce: kN3o52 +.. section: Library + +In HTTPResponse.read(), close the socket when there is no Content-Length and +the incoming stream is finished. Patch by Eran Rundstein. + +.. + +.. bpo: 16248 +.. date: 8874 +.. nonce: yOopnt +.. section: Library + +Disable code execution from the user's home directory by tkinter when the -E +flag is passed to Python. Patch by Zachary Ware. + +.. + +.. bpo: 16628 +.. date: 8873 +.. nonce: qnWML3 +.. section: Library + +Fix a memory leak in ctypes.resize(). + +.. + +.. bpo: 13614 +.. date: 8872 +.. nonce: buqA2j +.. section: Library + +Fix setup.py register failure with invalid rst in description. Patch by +Julien Courteau and Pierre Paul Lefebvre. + +.. + +.. bpo: 10182 +.. date: 8871 +.. nonce: 0nH79H +.. section: Library + +The re module doesn't truncate indices to 32 bits anymore. Patch by Serhiy +Storchaka. + +.. + +.. bpo: 16573 +.. date: 8870 +.. nonce: kKjx72 +.. section: Library + +In 2to3, treat enumerate() like a consuming call, so superfluous list() +calls aren't added to filter(), map(), and zip() which are directly passed +enumerate(). + +.. + +.. bpo: 1160 +.. date: 8869 +.. nonce: n79fOA +.. section: Library + +Fix compiling large regular expressions on UCS2 builds. Patch by Serhiy +Storchaka. + +.. + +.. bpo: 14313 +.. date: 8868 +.. nonce: WpDB93 +.. section: Library + +zipfile now raises NotImplementedError when the compression type is unknown. + +.. + +.. bpo: 16408 +.. date: 8867 +.. nonce: iqzks4 +.. section: Library + +Fix file descriptors not being closed in error conditions in the zipfile +module. Patch by Serhiy Storchaka. + +.. + +.. bpo: 16327 +.. date: 8866 +.. nonce: uVAHv3 +.. section: Library + +The subprocess module no longer leaks file descriptors used for +stdin/stdout/stderr pipes to the child when fork() fails. + +.. + +.. bpo: 14396 +.. date: 8865 +.. nonce: aUgPuV +.. section: Library + +Handle the odd rare case of waitpid returning 0 when not expected in +subprocess.Popen.wait(). + +.. + +.. bpo: 16411 +.. date: 8864 +.. nonce: 9Mn07O +.. section: Library + +Fix a bug where zlib.decompressobj().flush() might try to access previously- +freed memory. Patch by Serhiy Storchaka. + +.. + +.. bpo: 16350 +.. date: 8863 +.. nonce: b77tF6 +.. section: Library + +zlib.decompressobj().decompress() now accumulates data from successive calls +after EOF in unused_data, instead of only saving the argument to the last +call. decompressobj().flush() now correctly sets unused_data and +unconsumed_tail. A bug in the handling of MemoryError when setting the +unconsumed_tail attribute has also been fixed. Patch by Serhiy Storchaka. + +.. + +.. bpo: 12759 +.. date: 8862 +.. nonce: c7p8aw +.. section: Library + +sre_parse now raises a proper error when the name of the group is missing. +Initial patch by Serhiy Storchaka. + +.. + +.. bpo: 16152 +.. date: 8861 +.. nonce: Lypvsp +.. section: Library + +fix tokenize to ignore whitespace at the end of the code when no newline is +found. Patch by Ned Batchelder. + +.. + +.. bpo: 16230 +.. date: 8860 +.. nonce: Y7XU0- +.. section: Library + +Fix a crash in select.select() when one of the lists changes size while +iterated on. Patch by Serhiy Storchaka. + +.. + +.. bpo: 16228 +.. date: 8859 +.. nonce: zsna-8 +.. section: Library + +Fix a crash in the json module where a list changes size while it is being +encoded. Patch by Serhiy Storchaka. + +.. + +.. bpo: 14897 +.. date: 8858 +.. nonce: OGbALj +.. section: Library + +Enhance error messages of struct.pack and struct.pack_into. Patch by Matti +Mäki. + +.. + +.. bpo: 12890 +.. date: 8857 +.. nonce: kDaDxa +.. section: Library + +cgitb no longer prints spurious

tags in text mode when the logdir option +is specified. + +.. + +.. bpo: 14398 +.. date: 8856 +.. nonce: jPT4ME +.. section: Library + +Fix size truncation and overflow bugs in the bz2 module. + +.. + +.. bpo: 5148 +.. date: 8855 +.. nonce: VHoO2C +.. section: Library + +Ignore 'U' in mode given to gzip.open() and gzip.GzipFile(). + +.. + +.. bpo: 16220 +.. date: 8854 +.. nonce: KAtvbg +.. section: Library + +wsgiref now always calls close() on an iterable response. Patch by Brent +Tubbs. + +.. + +.. bpo: 16461 +.. date: 8853 +.. nonce: 4XLB7L +.. section: Library + +Wave library should be able to deal with 4GB wav files, and sample rate of +44100 Hz. + +.. + +.. bpo: 16176 +.. date: 8852 +.. nonce: iZz-x5 +.. section: Library + +Properly identify Windows 8 via platform.platform() + +.. + +.. bpo: 15756 +.. date: 8851 +.. nonce: cV4TEW +.. section: Library + +subprocess.poll() now properly handles errno.ECHILD to return a returncode +of 0 when the child has already exited or cannot be waited on. + +.. + +.. bpo: 12376 +.. date: 8850 +.. nonce: mkpQwv +.. section: Library + +Pass on parameters in TextTestResult.__init__ super call + +.. + +.. bpo: 15222 +.. date: 8849 +.. nonce: lOnn6t +.. section: Library + +Insert blank line after each message in mbox mailboxes + +.. + +.. bpo: 16013 +.. date: 8848 +.. nonce: lJImKp +.. section: Library + +Fix CSV Reader parsing issue with ending quote characters. Patch by Serhiy +Storchaka. + +.. + +.. bpo: 15421 +.. date: 8847 +.. nonce: SUEEPv +.. section: Library + +fix an OverflowError in Calendar.itermonthdates() after datetime.MAXYEAR. +Patch by Cédric Krier. + +.. + +.. bpo: 15970 +.. date: 8846 +.. nonce: 8deo2K +.. section: Library + +xml.etree.ElementTree now serializes correctly the empty HTML elements +'meta' and 'param'. + +.. + +.. bpo: 15676 +.. date: 8845 +.. nonce: V_auQh +.. section: Library + +Now "mmap" check for empty files before doing the offset check. Patch by +Steven Willis. + +.. + +.. bpo: 15340 +.. date: 8844 +.. nonce: Aqn0c1 +.. section: Library + +Fix importing the random module when /dev/urandom cannot be opened. This +was a regression caused by the hash randomization patch. + +.. + +.. bpo: 15841 +.. date: 8843 +.. nonce: M11nwa +.. section: Library + +The readable(), writable() and seekable() methods of io.BytesIO and +io.StringIO objects now raise ValueError when the object has been closed. +Patch by Alessandro Moura. + +.. + +.. bpo: 16112 +.. date: 8842 +.. nonce: 7UQthq +.. section: Library + +platform.architecture does not correctly escape argument to /usr/bin/file. +Patch by David Benjamin. + +.. + +.. bpo: 12776 +.. date: 8841 +.. nonce: MzM-xL +.. section: Library + +call argparse type function (specified by add_argument) only once. Before, +the type function was called twice in the case where the default was +specified and the argument was given as well. This was especially +problematic for the FileType type, as a default file would always be opened, +even if a file argument was specified on the command line. (See also: +bpo-11839) + +.. + +.. bpo: 15906 +.. date: 8840 +.. nonce: sY-Tgu +.. section: Library + +Fix a regression in argparse caused by the preceding change, when +action='append', type='str' and default=[]. + +.. + +.. bpo: 13370 +.. date: 8839 +.. nonce: E9RveK +.. section: Library + +Ensure that ctypes works on Mac OS X when Python is compiled using the clang +compiler + +.. + +.. bpo: 15544 +.. date: 8838 +.. nonce: 3QjWdU +.. section: Library + +Fix Decimal.__float__ to work with payload-carrying NaNs. + +.. + +.. bpo: 15199 +.. date: 8837 +.. nonce: iOOV1X +.. section: Library + +Fix JavaScript's default MIME type to application/javascript. Patch by +Bohuslav Kabrda. + +.. + +.. bpo: 15477 +.. date: 8836 +.. nonce: 9gGqPw +.. section: Library + +In cmath and math modules, add workaround for platforms whose system- +supplied log1p function doesn't respect signs of zeros. + +.. + +.. bpo: 11062 +.. date: 8835 +.. nonce: ZhTF21 +.. section: Library + +Fix adding a message from file to Babyl mailbox. + +.. + +.. bpo: 15646 +.. date: 8834 +.. nonce: VbhKq4 +.. section: Library + +Prevent equivalent of a fork bomb when using multiprocessing on Windows +without the "if __name__ == '__main__'" idiom. + +.. + +.. bpo: 15567 +.. date: 8833 +.. nonce: MGuZ8N +.. section: Library + +Fix NameError when running threading._test + +.. + +.. bpo: 15424 +.. date: 8832 +.. nonce: 6ZaCfJ +.. section: Library + +Add a __sizeof__ implementation for array objects. Patch by Ludwig Hähne. + +.. + +.. bpo: 15538 +.. date: 8831 +.. nonce: CJHtAs +.. section: Library + +Fix compilation of the getnameinfo() / getaddrinfo() emulation code. Patch +by Philipp Hagemeister. + +.. + +.. bpo: 12288 +.. date: 8830 +.. nonce: EeBUVC +.. section: Library + +Consider '0' and '0.0' as valid initialvalue for tkinter SimpleDialog. + +.. + +.. bpo: 15489 +.. date: 8829 +.. nonce: P9-vH9 +.. section: Library + +Add a __sizeof__ implementation for BytesIO objects. Patch by Serhiy +Storchaka. + +.. + +.. bpo: 15469 +.. date: 8828 +.. nonce: eFsJXX +.. section: Library + +Add a __sizeof__ implementation for deque objects. Patch by Serhiy +Storchaka. + +.. + +.. bpo: 15487 +.. date: 8827 +.. nonce: vtEBtw +.. section: Library + +Add a __sizeof__ implementation for buffered I/O objects. Patch by Serhiy +Storchaka. + +.. + +.. bpo: 15512 +.. date: 8826 +.. nonce: JO3bbV +.. section: Library + +Add a __sizeof__ implementation for parser. Patch by Serhiy Storchaka. + +.. + +.. bpo: 15402 +.. date: 8825 +.. nonce: MWs0d1 +.. section: Library + +An issue in the struct module that caused sys.getsizeof to return incorrect +results for struct.Struct instances has been fixed. Initial patch by Serhiy +Storchaka. + +.. + +.. bpo: 15232 +.. date: 8824 +.. nonce: R723JW +.. section: Library + +when mangle_from is True, email.Generator now correctly mangles lines that +start with 'From ' that occur in a MIME preamble or epilog. + +.. + +.. bpo: 13922 +.. date: 8823 +.. nonce: mg0ypz +.. section: Library + +argparse no longer incorrectly strips '--'s that appear after the first one. + +.. + +.. bpo: 12353 +.. date: 8822 +.. nonce: S3NUQb +.. section: Library + +argparse now correctly handles null argument values. + +.. + +.. bpo: 6493 +.. date: 8821 +.. nonce: onAuOo +.. section: Library + +An issue in ctypes on Windows that caused structure bitfields of type +ctypes.c_uint32 and width 32 to incorrectly be set has been fixed. + +.. + +.. bpo: 14635 +.. date: 8820 +.. nonce: R89rsl +.. section: Library + +telnetlib will use poll() rather than select() when possible to avoid +failing due to the select() file descriptor limit. + +.. + +.. bpo: 15247 +.. date: 8819 +.. nonce: XQlOgY +.. section: Library + +FileIO now raises an error when given a file descriptor pointing to a +directory. + +.. + +.. bpo: 14591 +.. date: 8818 +.. nonce: WiL398 +.. section: Library + +Fix bug in Random.jumpahead that could produce an invalid Mersenne Twister +state on 64-bit machines. + +.. + +.. bpo: 5346 +.. date: 8817 +.. nonce: KazqNd +.. section: Library + +Preserve permissions of mbox, MMDF and Babyl mailbox files on flush(). + +.. + +.. bpo: 15219 +.. date: 8816 +.. nonce: q8ah8W +.. section: Library + +Fix a reference leak when hashlib.new() is called with invalid parameters. + +.. + +.. bpo: 9559 +.. date: 8815 +.. nonce: HNrpSz +.. section: Library + +If messages were only added, a new file is no longer created and renamed +over the old file when flush() is called on an mbox, MMDF or Babyl mailbox. + +.. + +.. bpo: 14653 +.. date: 8814 +.. nonce: wxr1Hp +.. section: Library + +email.utils.mktime_tz() no longer relies on system mktime() when timezone +offest is supplied. + +.. + +.. bpo: 6056 +.. date: 8813 +.. nonce: QB7JkF +.. section: Library + +Make multiprocessing use setblocking(True) on the sockets it uses. Original +patch by J Derek Wilson. + +.. + +.. bpo: 15101 +.. date: 8812 +.. nonce: IWvk9X +.. section: Library + +Make pool finalizer avoid joining current thread. + +.. + +.. bpo: 15054 +.. date: 8811 +.. nonce: tE72L_ +.. section: Library + +A bug in tokenize.tokenize that caused string literals with 'b' and 'br' +prefixes to be incorrectly tokenized has been fixed. Patch by Serhiy +Storchaka. + +.. + +.. bpo: 15036 +.. date: 8810 +.. nonce: Mhm512 +.. section: Library + +Mailbox no longer throws an error if a flush is done between operations when +removing or changing multiple items in mbox, MMDF, or Babyl mailboxes. + +.. + +.. bpo: 10133 +.. date: 8809 +.. nonce: RredST +.. section: Library + +Make multiprocessing deallocate buffer if socket read fails. Patch by +Hallvard B Furuseth. + +.. + +.. bpo: 13854 +.. date: 8808 +.. nonce: ms8PU3 +.. section: Library + +Make multiprocessing properly handle non-integer non-string argument to +SystemExit. + +.. + +.. bpo: 12157 +.. date: 8807 +.. nonce: awxWQJ +.. section: Library + +Make pool.map() empty iterables correctly. Initial patch by mouad. + +.. + +.. bpo: 14036 +.. date: 8806 +.. nonce: wfrN3N +.. section: Library + +Add an additional check to validate that port in urlparse does not go in +illegal range and returns None. + +.. + +.. bpo: 14888 +.. date: 8805 +.. nonce: 8d3GPF +.. section: Library + +Fix misbehaviour of the _md5 module when called on data larger than 2**32 +bytes. + +.. + +.. bpo: 15908 +.. date: 8804 +.. nonce: xfD3R4 +.. section: Library + +Fix misbehaviour of the sha1 module when called on data larger than 2**32 +bytes. + +.. + +.. bpo: 15910 +.. date: 8803 +.. nonce: Xik0eY +.. section: Library + +Fix misbehaviour of _md5 and sha1 modules when "updating" on data larger +than 2**32 bytes. + +.. + +.. bpo: 14875 +.. date: 8802 +.. nonce: pGNN-W +.. section: Library + +Use float('inf') instead of float('1e66666') in the json module. + +.. + +.. bpo: 14572 +.. date: 8801 +.. nonce: FxInwF +.. section: Library + +Prevent build failures with pre-3.5.0 versions of sqlite3, such as was +shipped with Centos 5 and Mac OS X 10.4. + +.. + +.. bpo: 14426 +.. date: 8800 +.. nonce: GSay45 +.. section: Library + +Correct the Date format in Expires attribute of Set-Cookie Header in +Cookie.py. + +.. + +.. bpo: 14721 +.. date: 8799 +.. nonce: 3gDakm +.. section: Library + +Send proper header, Content-length: 0 when the body is an empty string ''. +Initial Patch contributed by Arve Knudsen. + +.. + +.. bpo: 14072 +.. date: 8798 +.. nonce: 4bVZye +.. section: Library + +Fix parsing of 'tel' URIs in urlparse by making the check for ports +stricter. + +.. + +.. bpo: 9374 +.. date: 8797 +.. nonce: 73g_V_ +.. section: Library + +Generic parsing of query and fragment portions of url for any scheme. +Supported both by RFC3986 and RFC2396. + +.. + +.. bpo: 14798 +.. date: 8796 +.. nonce: uw_PT- +.. section: Library + +Fix the functions in pyclbr to raise an ImportError when the first part of a +dotted name is not a package. Patch by Xavier de Gaye. + +.. + +.. bpo: 14832 +.. date: 8795 +.. nonce: ZyLvfY +.. section: Library + +fixed the order of the argument references in the error message produced by +unittest's assertItemsEqual. + +.. + +.. bpo: 14829 +.. date: 8794 +.. nonce: yWZKyP +.. section: Library + +Fix bisect issues under 64-bit Windows. + +.. + +.. bpo: 14777 +.. date: 8793 +.. nonce: SS0XEf +.. section: Library + +tkinter may return undecoded UTF-8 bytes as a string when accessing the Tk +clipboard. Modify clipboard_get() to first request type UTF8_STRING when no +specific type is requested in an X11 windowing environment, falling back to +the current default type STRING if that fails. Original patch by Thomas +Kluyver. + +.. + +.. bpo: 12541 +.. date: 8792 +.. nonce: srvUYa +.. section: Library + +Be lenient with quotes around Realm field with HTTP Basic Authentation in +urllib2. + +.. + +.. bpo: 14662 +.. date: 8791 +.. nonce: kBgGen +.. section: Library + +Prevent shutil failures on OS X when destination does not support chflag +operations. Patch by Hynek Schlawack. + +.. + +.. bpo: 14157 +.. date: 8790 +.. nonce: QVP6vO +.. section: Library + +Fix time.strptime failing without a year on February 29th. Patch by Hynek +Schlawack. + +.. + +.. bpo: 14768 +.. date: 8789 +.. nonce: UFzrQa +.. section: Library + +os.path.expanduser('~/a') doesn't work correctly when HOME is '/'. + +.. + +.. bpo: 13183 +.. date: 8788 +.. nonce: WXohoU +.. section: Library + +Fix pdb skipping frames after hitting a breakpoint and running step. Patch +by Xavier de Gaye. + +.. + +.. bpo: 14664 +.. date: 8787 +.. nonce: pdyfQE +.. section: Library + +It is now possible to use @unittest.skip{If,Unless} on a test class that +doesn't inherit from TestCase (i.e. a mixin). + +.. + +.. bpo: 14160 +.. date: 8786 +.. nonce: eP9a5e +.. section: Library + +TarFile.extractfile() failed to resolve symbolic links when the links were +not located in an archive subdirectory. + +.. + +.. bpo: 14638 +.. date: 8785 +.. nonce: cfMimX +.. section: Library + +pydoc now treats non-string __name__ values as if they were missing, instead +of raising an error. + +.. + +.. bpo: 13684 +.. date: 8784 +.. nonce: GMakQh +.. section: Library + +Fix httplib tunnel issue of infinite loops for certain sites which send EOF +without trailing \r\n. + +.. + +.. bpo: 14308 +.. date: 8783 +.. nonce: VI_YtW +.. section: Library + +Fix an exception when a "dummy" thread is in the threading module's active +list after a fork(). + +.. + +.. bpo: 14538 +.. date: 8782 +.. nonce: l61eIV +.. section: Library + +HTMLParser can now parse correctly start tags that contain a bare '/'. + +.. + +.. bpo: 14452 +.. date: 8781 +.. nonce: TPNgz8 +.. section: Library + +SysLogHandler no longer inserts a UTF-8 BOM into the message. + +.. + +.. bpo: 13496 +.. date: 8780 +.. nonce: ZTq6yk +.. section: Library + +Fix potential overflow in bisect.bisect algorithm when applied to a +collection of size > sys.maxsize / 2. + +.. + +.. bpo: 14399 +.. date: 8779 +.. nonce: ucnoq5 +.. section: Library + +zipfile now recognizes that the archive has been modified even if only the +comment is changed. As a consequence of this fix, ZipFile is now a new +style class. + +.. + +.. bpo: 7978 +.. date: 8778 +.. nonce: DdYwzu +.. section: Library + +SocketServer now restarts the select() call when EINTR is returned. This +avoids crashing the server loop when a signal is received. Patch by Jerzy +Kozera. + +.. + +.. bpo: 10340 +.. date: 8777 +.. nonce: QZDDK- +.. section: Library + +asyncore - properly handle EINVAL in dispatcher constructor on OSX; avoid to +call handle_connect in case of a disconnected socket which was not meant to +connect. + +.. + +.. bpo: 12757 +.. date: 8776 +.. nonce: lfCCKo +.. section: Library + +Fix the skipping of doctests when python is run with -OO so that it works in +unittest's verbose mode as well as non-verbose mode. + +.. + +.. bpo: 13694 +.. date: 8775 +.. nonce: qresWC +.. section: Library + +asynchronous connect in asyncore.dispatcher does not set addr attribute. + +.. + +.. bpo: 10484 +.. date: 8774 +.. nonce: NgDSdJ +.. section: Library + +Fix the CGIHTTPServer's PATH_INFO handling problem. + +.. + +.. bpo: 11199 +.. date: 8773 +.. nonce: UMivCa +.. section: Library + +Fix the with urllib which hangs on particular ftp urls. + +.. + +.. bpo: 14252 +.. date: 8772 +.. nonce: -5zjL9 +.. section: Library + +Fix subprocess.Popen.terminate() to not raise an error under Windows when +the child process has already exited. + +.. + +.. bpo: 14195 +.. date: 8771 +.. nonce: XpCJYQ +.. section: Library + +An issue that caused weakref.WeakSet instances to incorrectly return True +for a WeakSet instance 'a' in both 'a < a' and 'a > a' has been fixed. + +.. + +.. bpo: 14159 +.. date: 8770 +.. nonce: -rJiOd +.. section: Library + +Fix the len() of weak sets to return a better approximation when some +objects are dead or dying. Moreover, the implementation is now O(1) rather +than O(n). + +.. + +.. bpo: 2945 +.. date: 8769 +.. nonce: QZCfeH +.. section: Library + +Make the distutils upload command aware of bdist_rpm products. + +.. + +.. bpo: 6884 +.. date: 8768 +.. nonce: w-DWFF +.. section: Library + +Fix long-standing bugs with MANIFEST.in parsing in distutils on Windows. + +.. + +.. bpo: 16441 +.. date: 8767 +.. nonce: zm1gad +.. section: Library + +Avoid excessive memory usage working with large gzip files using the gzip +module. + +.. + +.. bpo: 15782 +.. date: 8766 +.. nonce: c-rtHz +.. section: Library + +Prevent compile errors of OS X Carbon modules _Fm, _Qd, and _Qdoffs when +compiling with an SDK of 10.7 or later. The OS X APIs they wrap have long +been deprecated and have now been removed with 10.7. These modules were +already empty for 64-bit builds and have been removed in Python 3. + +.. + +.. bpo: 17477 +.. date: 8765 +.. nonce: mkozKG +.. section: Library + +Update the bsddb module to pybsddb 5.3.0, supporting db-5.x, and dropping +support for db-4.1 and db-4.2. + +.. + +.. bpo: 17192 +.. date: 8764 +.. nonce: U0oKFo +.. section: Library + +Update the ctypes module's libffi to v3.0.13. This specifically addresses a +stack misalignment issue on x86 and issues on some more recent platforms. + +.. + +.. bpo: 12268 +.. date: 8763 +.. nonce: cWvcGA +.. section: Library + +The io module file object write methods no longer abort early when a write +system calls is interrupted (EINTR). + +.. + +.. bpo: 0 +.. date: 8762 +.. nonce: R41GNw +.. section: Library + +Fix the leak of a dict in the time module when used in an embedded +interpreter that is repeatedly initialized and shutdown and reinitialized. + +.. + +.. bpo: 12268 +.. date: 8761 +.. nonce: _DnsP2 +.. section: Library + +File readline, readlines and read or readall methods no longer lose data +when an underlying read system call is interrupted within an io module +object. IOError is no longer raised due to a read system call returning +EINTR from within these methods. + +.. + +.. bpo: 16012 +.. date: 8760 +.. nonce: O3e6G- +.. section: Library + +Fix a regression in pyexpat. The parser's UseForeignDTD() method doesn't +require an argument again. + +.. + +.. bpo: 13590 +.. date: 8759 +.. nonce: 1aEwh4 +.. section: Library + +OS X Xcode 4 - improve support for universal extension modules In +particular, fix extension module build failures when trying to use 32-bit- +only installer Pythons on systems with Xcode 4 (currently OS X 10.8, 10.7, +and optionally 10.6). * Backport 3.3.0 fixes to 2.7 branch (for release in +2.7.4) * Since Xcode 4 removes ppc support, extension module builds now +check for ppc compiler support and by default remove ppc and ppc64 archs +when they are not available. * Extension module builds now revert to using +system installed headers and libs (/usr and /System/Library) if the SDK +used to build the interpreter is not installed or has moved. * Try to +avoid building extension modules with deprecated and problematic Apple +llvm-gcc compiler. If original compiler is not available, use clang +instead by default. + +.. + +.. bpo: 0 +.. date: 8758 +.. nonce: hHxr-m +.. section: IDLE + +IDLE was displaying spurious SystemExit tracebacks when running scripts that +terminated by raising SystemExit (i.e. unittest and turtledemo). + +.. + +.. bpo: 9290 +.. date: 8757 +.. nonce: Msbacw +.. section: IDLE + +In IDLE the sys.std* streams now implement io.TextIOBase interface and +support all mandatory methods and properties. + +.. + +.. bpo: 16829 +.. date: 8756 +.. nonce: u44Uel +.. section: IDLE + +IDLE printing no longer fails if there are spaces or other special +characters in the file path. + +.. + +.. bpo: 16819 +.. date: 8755 +.. nonce: rcJDrk +.. section: IDLE + +IDLE method completion now correctly works for unicode literals. + +.. + +.. bpo: 16504 +.. date: 8754 +.. nonce: othtN_ +.. section: IDLE + +IDLE now catches SyntaxErrors raised by tokenizer. Patch by Roger Serwy. + +.. + +.. bpo: 1207589 +.. date: 8753 +.. nonce: 0bmiue +.. section: IDLE + +Add Cut/Copy/Paste items to IDLE right click Context Menu. Patch by Todd +Rovito. + +.. + +.. bpo: 13052 +.. date: 8752 +.. nonce: ulRmqo +.. section: IDLE + +Fix IDLE crashing when replace string in Search/Replace dialog ended with +'\'. Patch by Roger Serwy. + +.. + +.. bpo: 9803 +.. date: 8751 +.. nonce: lJhnei +.. section: IDLE + +Don't close IDLE on saving if breakpoint is open. Patch by Roger Serwy. + +.. + +.. bpo: 14958 +.. date: 8750 +.. nonce: fWA3Eh +.. section: IDLE + +Change IDLE systax highlighting to recognize all string and byte literals +currently supported in Python 2.7. + +.. + +.. bpo: 14962 +.. date: 8749 +.. nonce: W_t8Sw +.. section: IDLE + +Update text coloring in IDLE shell window after changing options. Patch by +Roger Serwy. + +.. + +.. bpo: 10997 +.. date: 8748 +.. nonce: D59Zo_ +.. section: IDLE + +Prevent a duplicate entry in IDLE's "Recent Files" menu. + +.. + +.. bpo: 12510 +.. date: 8747 +.. nonce: 5hlN77 +.. section: IDLE + +Attempting to get invalid tooltip no longer closes IDLE. Original patch by +Roger Serwy. + +.. + +.. bpo: 10365 +.. date: 8746 +.. nonce: DI-DrH +.. section: IDLE + +File open dialog now works instead of crashing even when parent window is +closed. Patch by Roger Serwy. + +.. + +.. bpo: 14876 +.. date: 8745 +.. nonce: 73XqgG +.. section: IDLE + +Use user-selected font for highlight configuration. Patch by Roger Serwy. + +.. + +.. bpo: 14409 +.. date: 8744 +.. nonce: 8SNyRR +.. section: IDLE + +IDLE now properly executes commands in the Shell window when it cannot read +the normal config files on startup and has to use the built-in default key +bindings. There was previously a bug in one of the defaults. + +.. + +.. bpo: 3573 +.. date: 8743 +.. nonce: FIbWrY +.. section: IDLE + +IDLE hangs when passing invalid command line args (directory(ies) instead of +file(s)) (Patch by Guilherme Polo) + +.. + +.. bpo: 5219 +.. date: 8742 +.. nonce: We72rp +.. section: IDLE + +Prevent event handler cascade in IDLE. + +.. + +.. bpo: 15318 +.. date: 8741 +.. nonce: H1-iES +.. section: IDLE + +Prevent writing to sys.stdin. + +.. + +.. bpo: 13532 +.. date: 8740 +.. nonce: csNEK_ +.. section: IDLE + +Check that arguments to sys.stdout.write are strings. (See also: bpo-15319) + +.. + +.. bpo: 10365 +.. date: 8739 +.. nonce: MInibr +.. section: IDLE + +File open dialog now works instead of crashing even when parent window is +closed while dialog is open. + +.. + +.. bpo: 14018 +.. date: 8738 +.. nonce: HjN-7b +.. section: IDLE + +Update checks for unstable system Tcl/Tk versions on OS X to include +versions shipped with OS X 10.7 and 10.8 in addition to 10.6. + +.. + +.. bpo: 15853 +.. date: 8737 +.. nonce: Re1tK- +.. section: IDLE + +Prevent IDLE crash on OS X when opening Preferences menu with certain +versions of Tk 8.5. Initial patch by Kevin Walzer. + +.. + +.. bpo: 16702 +.. date: 8736 +.. nonce: 3Xf_t- +.. section: Tests + +test_urllib2_localnet tests now correctly ignores proxies for localhost +tests. + +.. + +.. bpo: 13447 +.. date: 8735 +.. nonce: _wys-6 +.. section: Tests + +Add a test file to host regression tests for bugs in the scripts found in +the Tools directory. + +.. + +.. bpo: 11420 +.. date: 8734 +.. nonce: J5oaxT +.. section: Tests + +make test suite pass with -B/DONTWRITEBYTECODE set. Initial patch by Thomas +Wouters. + +.. + +.. bpo: 17299 +.. date: 8733 +.. nonce: N_JA1r +.. section: Tests + +Add test coverage for cPickle with file objects and general IO objects. +Original patch by Aman Shah. + +.. + +.. bpo: 11963 +.. date: 8732 +.. nonce: _g8d_g +.. section: Tests + +remove human verification from test_parser and test_subprocess. + +.. + +.. bpo: 17249 +.. date: 8731 +.. nonce: wGvw7G +.. section: Tests + +convert a test in test_capi to use unittest and reap threads. + +.. + +.. bpo: 0 +.. date: 8730 +.. nonce: eaH1rt +.. section: Tests + +We now run both test_email.py and test_email_renamed.py when running the +test_email regression test. test_email_renamed contains some tests that +test_email does not. + +.. + +.. bpo: 17041 +.. date: 8729 +.. nonce: 57V5iD +.. section: Tests + +Fix testing when Python is configured with the --without-doc-strings option. + +.. + +.. bpo: 15539 +.. date: 8728 +.. nonce: a1_G0Q +.. section: Tests + +Added regression tests for Tools/scripts/pindent.py. + +.. + +.. bpo: 15324 +.. date: 8727 +.. nonce: VlPGUN +.. section: Tests + +Fix regrtest parsing of --fromfile and --randomize options. + +.. + +.. bpo: 16618 +.. date: 8726 +.. nonce: a2Xoyn +.. section: Tests + +Add more regression tests for glob. Patch by Serhiy Storchaka. + +.. + +.. bpo: 16664 +.. date: 8725 +.. nonce: CxbZwX +.. section: Tests + +Add regression tests for glob's behaviour concerning entries starting with a +".". Patch by Sebastian Kreft. + +.. + +.. bpo: 15747 +.. date: 8724 +.. nonce: TE3rVk +.. section: Tests + +ZFS always returns EOPNOTSUPP when attempting to set the UF_IMMUTABLE flag +(via either chflags or lchflags); refactor affected tests in test_posix.py +to account for this. + +.. + +.. bpo: 16549 +.. date: 8723 +.. nonce: 9ENPOM +.. section: Tests + +Add tests for json.tools. Initial patch by Berker Peksag and Serhiy +Storchaka. + +.. + +.. bpo: 16559 +.. date: 8722 +.. nonce: JvxWbq +.. section: Tests + +Add more tests for the json module, including some from the official test +suite at json.org. Patch by Serhiy Storchaka. + +.. + +.. bpo: 16274 +.. date: 8721 +.. nonce: 9-uVb_ +.. section: Tests + +Fix test_asyncore on Solaris. Patch by Giampaolo Rodola'. + +.. + +.. bpo: 15040 +.. date: 8720 +.. nonce: F30TYe +.. section: Tests + +Close files in mailbox tests for PyPy compatibility. Original patch by Matti +Picus. + +.. + +.. bpo: 15802 +.. date: 8719 +.. nonce: Ow-zrD +.. section: Tests + +Fix test logic in TestMaildir.test_create_tmp. Patch by Serhiy Storchaka. + +.. + +.. bpo: 15765 +.. date: 8718 +.. nonce: rH6KB2 +.. section: Tests + +Extend a previous fix to Solaris and OpenBSD for quirky getcwd() behaviour +(issue #9185) to NetBSD as well. + +.. + +.. bpo: 15615 +.. date: 8717 +.. nonce: C9YuEt +.. section: Tests + +Add some tests for the json module's handling of invalid input data. Patch +by Kushal Das. + +.. + +.. bpo: 15496 +.. date: 8716 +.. nonce: tm76dD +.. section: Tests + +Add directory removal helpers for tests on Windows. Patch by Jeremy Kloth. + +.. + +.. bpo: 15043 +.. date: 8715 +.. nonce: R2j8Hb +.. section: Tests + +test_gdb is now skipped entirely if gdb security settings block loading of +the gdb hooks + +.. + +.. bpo: 14589 +.. date: 8714 +.. nonce: 9aNtuR +.. section: Tests + +Update certificate chain for sha256.tbs-internet.com, fixing a test failure +in test_ssl. + +.. + +.. bpo: 16698 +.. date: 8713 +.. nonce: RgmYjY +.. section: Tests + +Skip posix test_getgroups when built with OS X deployment target prior to +10.6. + +.. + +.. bpo: 17111 +.. date: 8712 +.. nonce: ypc66r +.. section: Tests + +Prevent test_surrogates (test_fileio) failure on OS X 10.4. + +.. + +.. bpo: 17425 +.. date: 8711 +.. nonce: wTCSht +.. section: Build + +Build against openssl 0.9.8y on Windows. + +.. + +.. bpo: 16004 +.. date: 8710 +.. nonce: 5o_DZo +.. section: Build + +Add `make touch`. + +.. + +.. bpo: 5033 +.. date: 8709 +.. nonce: HKAgDA +.. section: Build + +Fix building of the sqlite3 extension module when the SQLite library version +has "beta" in it. Patch by Andreas Pelme. + +.. + +.. bpo: 17228 +.. date: 8708 +.. nonce: CCkAM0 +.. section: Build + +Fix building without pymalloc. + +.. + +.. bpo: 17086 +.. date: 8707 +.. nonce: iNoopm +.. section: Build + +Backport the patches from the 3.3 branch to cross-build the package. + +.. + +.. bpo: 3754 +.. date: 8706 +.. nonce: sUdOUp +.. section: Build + +fix typo in pthread AC_CACHE_VAL. + +.. + +.. bpo: 17029 +.. date: 8705 +.. nonce: dUd1NT +.. section: Build + +Let h2py search the multiarch system include directory. + +.. + +.. bpo: 16953 +.. date: 8704 +.. nonce: tW1KVY +.. section: Build + +Fix socket module compilation on platforms with HAVE_BROKEN_POLL. Patch by +Jeffrey Armstrong. + +.. + +.. bpo: 16836 +.. date: 8703 +.. nonce: JZ-zO7 +.. section: Build + +Enable IPv6 support even if IPv6 is disabled on the build host. + +.. + +.. bpo: 15923 +.. date: 8702 +.. nonce: PIv70V +.. section: Build + +fix a mistake in asdl_c.py that resulted in a TypeError after 2801bf875a24 +(see #15801). + +.. + +.. bpo: 11715 +.. date: 8701 +.. nonce: M3MapP +.. section: Build + +Fix multiarch detection without having Debian development tools (dpkg-dev) +installed. + +.. + +.. bpo: 15819 +.. date: 8700 +.. nonce: 09XLHb +.. section: Build + +Make sure we can build Python out-of-tree from a readonly source directory. +(Somewhat related to Issue #9860.) + +.. + +.. bpo: 15822 +.. date: 8699 +.. nonce: aLjenQ +.. section: Build + +Ensure 2to3 grammar pickles are properly installed. + +.. + +.. bpo: 15560 +.. date: 8698 +.. nonce: I8yMU0 +.. section: Build + +Fix building _sqlite3 extension on OS X with an SDK. + +.. + +.. bpo: 8847 +.. date: 8697 +.. nonce: lqI_r8 +.. section: Build + +Disable COMDAT folding in Windows PGO builds. + +.. + +.. bpo: 14018 +.. date: 8696 +.. nonce: RHawO_ +.. section: Build + +Fix OS X Tcl/Tk framework checking when using OS X SDKs. + +.. + +.. bpo: 16256 +.. date: 8695 +.. nonce: vrx66r +.. section: Build + +OS X installer now sets correct permissions for doc directory. + +.. + +.. bpo: 8767 +.. date: 8694 +.. nonce: swHbgQ +.. section: Build + +Restore building with --disable-unicode. Patch by Stefano Taschini. + +.. + +.. bpo: 0 +.. date: 8693 +.. nonce: wZLzuy +.. section: Build + +Build against bzip2 1.0.6 and openssl 0.9.8x on Windows. + +.. + +.. bpo: 14557 +.. date: 8692 +.. nonce: UCbIq7 +.. section: Build + +Fix extensions build on HP-UX. Patch by Adi Roiban. + +.. + +.. bpo: 14437 +.. date: 8691 +.. nonce: 61tmQt +.. section: Build + +Fix building the _io module under Cygwin. + +.. + +.. bpo: 15587 +.. date: 8690 +.. nonce: gR7vei +.. section: Build + +Enable Tk high-resolution text rendering on Macs with Retina displays. +Applies to Tkinter apps, such as IDLE, on OS X framework builds linked with +Cocoa Tk 8.5. + +.. + +.. bpo: 17161 +.. date: 8689 +.. nonce: 8Qr4fl +.. section: Build + +make install now also installs a python2 and python man page. + +.. + +.. bpo: 16848 +.. date: 8688 +.. nonce: CtyvVC +.. section: Build + +python-config now returns proper --ldflags values for OS X framework builds. + +.. + +.. bpo: 17156 +.. date: 8687 +.. nonce: iaFJiz +.. section: Tools/Demos + +pygettext.py now correctly escapes non-ascii characters. + +.. + +.. bpo: 15539 +.. date: 8686 +.. nonce: 6bqqV- +.. section: Tools/Demos + +Fix a number of bugs in Tools/scripts/pindent.py. Now pindent.py works with +a "with" statement. pindent.py no longer produces improper indentation. +pindent.py now works with continued lines broken after "class" or "def" +keywords and with continuations at the start of line. + +.. + +.. bpo: 16476 +.. date: 8685 +.. nonce: xAomrd +.. section: Tools/Demos + +Fix json.tool to avoid including trailing whitespace. + +.. + +.. bpo: 13301 +.. date: 8684 +.. nonce: A4WOk5 +.. section: Tools/Demos + +use ast.literal_eval() instead of eval() in Tools/i18n/msgfmt.py. Patch by +Serhiy Storchaka. + +.. + +.. bpo: 15041 +.. date: 8683 +.. nonce: nMyhwF +.. section: Documentation + +Update "see also" list in tkinter documentation. + +.. + +.. bpo: 17412 +.. date: 8682 +.. nonce: 9xIwEh +.. section: Documentation + +update 2.7 Doc/make.bat to also use sphinx-1.0.7. + +.. + +.. bpo: 17047 +.. date: 8681 +.. nonce: sVzpby +.. section: Documentation + +remove doubled words in docs and docstrings reported by Serhiy Storchaka and +Matthew Barnett. + +.. + +.. bpo: 16406 +.. date: 8680 +.. nonce: _Z8alE +.. section: Documentation + +combine the pages for uploading and registering to PyPI. + +.. + +.. bpo: 16403 +.. date: 8679 +.. nonce: wPuYgA +.. section: Documentation + +Document how distutils uses the maintainer field in PKG-INFO. Patch by Jyrki +Pulliainen. + +.. + +.. bpo: 16695 +.. date: 8678 +.. nonce: O3-q4k +.. section: Documentation + +Document how glob handles filenames starting with a dot. Initial patch by +Jyrki Pulliainen. + +.. + +.. bpo: 8890 +.. date: 8677 +.. nonce: ldKgWT +.. section: Documentation + +Stop advertising an insecure practice by replacing uses of the /tmp +directory with better alternatives in the documentation. Patch by Geoff +Wilson. + +.. + +.. bpo: 17203 +.. date: 8676 +.. nonce: b42JWx +.. section: Documentation + +add long option names to unittest discovery docs. + +.. + +.. bpo: 13094 +.. date: 8675 +.. nonce: ujdNxz +.. section: Documentation + +add "Why do lambdas defined in a loop with different values all return the +same result?" programming FAQ. + +.. + +.. bpo: 14901 +.. date: 8674 +.. nonce: o_thZo +.. section: Documentation + +Update portions of the Windows FAQ. Patch by Ashish Nitin Patil. + +.. + +.. bpo: 15990 +.. date: 8673 +.. nonce: 41C5_M +.. section: Documentation + +Improve argument/parameter documentation. + +.. + +.. bpo: 16400 +.. date: 8672 +.. nonce: kDLZRV +.. section: Documentation + +Update the description of which versions of a given package PyPI displays. + +.. + +.. bpo: 15677 +.. date: 8671 +.. nonce: _0vY-h +.. section: Documentation + +Document that zlib and gzip accept a compression level of 0 to mean 'no +compression'. Patch by Brian Brazil. + +.. + +.. bpo: 8040 +.. date: 8670 +.. nonce: R8VAys +.. section: Documentation + +added a version switcher to the documentation. Patch by Yury Selivanov. + +.. + +.. bpo: 16115 +.. date: 8669 +.. nonce: Ba1MH_ +.. section: Documentation + +Improve subprocess.Popen() documentation around args, shell, and executable +arguments. + +.. + +.. bpo: 15979 +.. date: 8668 +.. nonce: UATtRZ +.. section: Documentation + +Improve timeit documentation. + +.. + +.. bpo: 16036 +.. date: 8667 +.. nonce: AGR4Am +.. section: Documentation + +Improve documentation of built-in int()'s signature and arguments. + +.. + +.. bpo: 15935 +.. date: 8666 +.. nonce: Ik7Y0z +.. section: Documentation + +Clarification of argparse docs, re: add_argument() type and default +arguments. Patch contributed by Chris Jerdonek. + +.. + +.. bpo: 13769 +.. date: 8665 +.. nonce: TfRtQT +.. section: Documentation + +Document the effect of ensure_ascii to the return type of JSON decoding +functions. + +.. + +.. bpo: 14880 +.. date: 8664 +.. nonce: bfazFx +.. section: Documentation + +Fix kwargs notation in csv.reader, .writer & .register_dialect. Patch by +Chris Rebert. + +.. + +.. bpo: 14674 +.. date: 8663 +.. nonce: AMOJT_ +.. section: Documentation + +Add a discussion of the json module's standard compliance. Patch by Chris +Rebert. + +.. + +.. bpo: 15630 +.. date: 8662 +.. nonce: ijhqyT +.. section: Documentation + +Add an example for "continue" stmt in the tutorial. Patch by Daniel Ellis. + +.. + +.. bpo: 13557 +.. date: 8661 +.. nonce: IHzHRn +.. section: Documentation + +Clarify effect of giving two different namespaces to exec or execfile(). + +.. + +.. bpo: 14034 +.. date: 8660 +.. nonce: 34GDTv +.. section: Documentation + +added the argparse tutorial. + +.. + +.. bpo: 15250 +.. date: 8659 +.. nonce: vLLPGK +.. section: Documentation + +Document that filecmp.dircmp compares files shallowly. Patch contributed by +Chris Jerdonek. + +.. + +.. bpo: 15116 +.. date: 8658 +.. nonce: uDQI_8 +.. section: Documentation + +Remove references to appscript as it is no longer being supported. diff --git a/Misc/NEWS.d/2.7.5.rst b/Misc/NEWS.d/2.7.5.rst new file mode 100644 index 0000000000..f2093128ba --- /dev/null +++ b/Misc/NEWS.d/2.7.5.rst @@ -0,0 +1,510 @@ +.. bpo: 15535 +.. date: 9067 +.. nonce: UcBEvl +.. release date: 2013-05-12 +.. section: Core and Builtins + +Fixed regression in the pickling of named tuples by removing the __dict__ +property introduced in 2.7.4. + +.. + +.. bpo: 17857 +.. date: 9066 +.. nonce: 7cCKDk +.. section: Core and Builtins + +Prevent build failures with pre-3.5.0 versions of sqlite3, such as was +shipped with Centos 5 and Mac OS X 10.4. + +.. + +.. bpo: 17703 +.. date: 9065 +.. nonce: eLf2tu +.. section: Core and Builtins + +Fix a regression where an illegal use of Py_DECREF() after interpreter +finalization can cause a crash. + +.. + +.. bpo: 16447 +.. date: 9064 +.. nonce: Nqypja +.. section: Core and Builtins + +Fixed potential segmentation fault when setting __name__ on a class. + +.. + +.. bpo: 17610 +.. date: 9063 +.. nonce: QpIzEB +.. section: Core and Builtins + +Don't rely on non-standard behavior of the C qsort() function. + +.. + +.. bpo: 17979 +.. date: 9062 +.. nonce: l6BtNx +.. section: Library + +Fixed the re module in build with --disable-unicode. + +.. + +.. bpo: 17606 +.. date: 9061 +.. nonce: yNd47F +.. section: Library + +Fixed support of encoded byte strings in the XMLGenerator .characters() and +ignorableWhitespace() methods. Original patch by Sebastian Ortiz Vasquez. + +.. + +.. bpo: 16601 +.. date: 9060 +.. nonce: _FiBrB +.. section: Library + +Restarting iteration over tarfile no more continues from where it left off. +Patch by Michael Birtwell. + +.. + +.. bpo: 16584 +.. date: 9059 +.. nonce: 6yyCuX +.. section: Library + +in filecomp._cmp, catch IOError as well as os.error. Patch by Till Maas. + +.. + +.. bpo: 17926 +.. date: 9058 +.. nonce: nv5fLf +.. section: Library + +Fix dbm.__contains__ on 64-bit big-endian machines. + +.. + +.. bpo: 19267 +.. date: 9057 +.. nonce: SXv-Bh +.. section: Library + +Fix support of multibyte encoding (ex: UTF-16) in the logging module. + +.. + +.. bpo: 17918 +.. date: 9056 +.. nonce: qtEN-L +.. section: Library + +When using SSLSocket.accept(), if the SSL handshake failed on the new +socket, the socket would linger indefinitely. Thanks to Peter Saveliev for +reporting. + +.. + +.. bpo: 17289 +.. date: 9055 +.. nonce: NPHOks +.. section: Library + +The readline module now plays nicer with external modules or applications +changing the rl_completer_word_break_characters global variable. Initial +patch by Bradley Froehle. + +.. + +.. bpo: 12181 +.. date: 9054 +.. nonce: Dq2moC +.. section: Library + +select module: Fix struct kevent definition on OpenBSD 64-bit platforms. +Patch by Federico Schwindt. + +.. + +.. bpo: 14173 +.. date: 9053 +.. nonce: mZM9Pr +.. section: Library + +Avoid crashing when reading a signal handler during interpreter shutdown. + +.. + +.. bpo: 16316 +.. date: 9052 +.. nonce: AOkxPd +.. section: Library + +mimetypes now recognizes the .xz and .txz (.tar.xz) extensions. + +.. + +.. bpo: 17192 +.. date: 9051 +.. nonce: F-vIFl +.. section: Library + +Restore the patch for Issue #10309 which was ommitted in 2.7.4 when updating +the bundled version of libffi used by ctypes. + +.. + +.. bpo: 17843 +.. date: 9050 +.. nonce: 9IBe9A +.. section: Library + +Removed test data file that was triggering false-positive virus warnings +with certain antivirus software. + +.. + +.. bpo: 17353 +.. date: 9049 +.. nonce: 6Wiqfl +.. section: Library + +Plistlib emitted empty data tags with deeply nested datastructures + +.. + +.. bpo: 11714 +.. date: 9048 +.. nonce: EZxzYl +.. section: Library + +Use 'with' statements to assure a Semaphore releases a condition variable. +Original patch by Thomas Rachel. + +.. + +.. bpo: 17795 +.. date: 9047 +.. nonce: IgVwMv +.. section: Library + +Reverted backwards-incompatible change in SysLogHandler with Unix domain +sockets. + +.. + +.. bpo: 17555 +.. date: 9046 +.. nonce: 9klJCB +.. section: Library + +Fix ForkAwareThreadLock so that size of after fork registry does not grow +exponentially with generation of process. + +.. + +.. bpo: 17710 +.. date: 9045 +.. nonce: p-amHh +.. section: Library + +Fix cPickle raising a SystemError on bogus input. + +.. + +.. bpo: 17341 +.. date: 9044 +.. nonce: DI-1AO +.. section: Library + +Include the invalid name in the error messages from re about invalid group +names. + +.. + +.. bpo: 17016 +.. date: 9043 +.. nonce: lQnMI8 +.. section: Library + +Get rid of possible pointer wraparounds and integer overflows in the re +module. Patch by Nickolai Zeldovich. + +.. + +.. bpo: 17536 +.. date: 9042 +.. nonce: E6rcrn +.. section: Library + +Add to webbrowser's browser list: xdg-open, gvfs-open, www-browser, x-www- +browser, chromium browsers, iceweasel, iceape. + +.. + +.. bpo: 17656 +.. date: 9041 +.. nonce: wtQq2x +.. section: Library + +Fix extraction of zip files with unicode member paths. + +.. + +.. bpo: 17666 +.. date: 9040 +.. nonce: L8Gq8u +.. section: Library + +Fix reading gzip files with an extra field. + +.. + +.. bpo: 13150 +.. date: 9039 +.. nonce: fW-wYi +.. section: Library + +sysconfig no longer parses the Makefile and config.h files when imported, +instead doing it at build time. This makes importing sysconfig faster and +reduces Python startup time by 20%. (See also: bpo-17512) + +.. + +.. bpo: 13163 +.. date: 9038 +.. nonce: oHSKa5 +.. section: Library + +Rename operands in smtplib.SMTP._get_socket to correct names; fixes +otherwise misleading output in tracebacks and when when debug is on. + +.. + +.. bpo: 17526 +.. date: 9037 +.. nonce: wiYvlk +.. section: Library + +fix an IndexError raised while passing code without filename to +inspect.findsource(). Initial patch by Tyler Doyle. + +.. + +.. bpo: 17547 +.. date: 9036 +.. nonce: yVllRd +.. section: Build + +In configure, explicitly pass -Wformat for the benefit for GCC 4.8. + +.. + +.. bpo: 17682 +.. date: 9035 +.. nonce: UJyp1a +.. section: Build + +Add the _io module to Modules/Setup.dist (commented out). + +.. + +.. bpo: 17086 +.. date: 9034 +.. nonce: PPxAFs +.. section: Build + +Search the include and library directories provided by the compiler. + +.. + +.. bpo: 17928 +.. date: 9033 +.. nonce: y6tiT2 +.. section: Tests + +Fix test_structmembers on 64-bit big-endian machines. + +.. + +.. bpo: 17883 +.. date: 9032 +.. nonce: SrO_uE +.. section: Tests + +Fix buildbot testing of Tkinter on Windows. Patch by Zachary Ware. + +.. + +.. bpo: 7855 +.. date: 9031 +.. nonce: ZbX91d +.. section: Tests + +Add tests for ctypes/winreg for issues found in IronPython. Initial patch by +Dino Viehland. + +.. + +.. bpo: 17712 +.. date: 9030 +.. nonce: RqkHUB +.. section: Tests + +Fix test_gdb failures on Ubuntu 13.04. + +.. + +.. bpo: 17065 +.. date: 9029 +.. nonce: rql8lF +.. section: Tests + +Use process-unique key for winreg tests to avoid failures if test is run +multiple times in parallel (eg: on a buildbot host). + +.. + +.. bpo: 17838 +.. date: 9028 +.. nonce: -DDdhT +.. section: IDLE + +Allow sys.stdin to be reassigned. + +.. + +.. bpo: 14735 +.. date: 9027 +.. nonce: lbbw49 +.. section: IDLE + +Update IDLE docs to omit "Control-z on Windows". + +.. + +.. bpo: 17585 +.. date: 9026 +.. nonce: oXlcVX +.. section: IDLE + +Fixed IDLE regression. Now closes when using exit() or quit(). + +.. + +.. bpo: 17657 +.. date: 9025 +.. nonce: rGfxNo +.. section: IDLE + +Show full Tk version in IDLE's about dialog. Patch by Todd Rovito. + +.. + +.. bpo: 17613 +.. date: 9024 +.. nonce: MfAJ31 +.. section: IDLE + +Prevent traceback when removing syntax colorizer in IDLE. + +.. + +.. bpo: 1207589 +.. date: 9023 +.. nonce: wqzkjh +.. section: IDLE + +Backwards-compatibility patch for right-click menu in IDLE. + +.. + +.. bpo: 16887 +.. date: 9022 +.. nonce: -tb-0g +.. section: IDLE + +IDLE now accepts Cancel in tabify/untabify dialog box. + +.. + +.. bpo: 14254 +.. date: 9021 +.. nonce: heeMG- +.. section: IDLE + +IDLE now handles readline correctly across shell restarts. + +.. + +.. bpo: 17614 +.. date: 9020 +.. nonce: 9pmpYW +.. section: IDLE + +IDLE no longer raises exception when quickly closing a file. + +.. + +.. bpo: 6698 +.. date: 9019 +.. nonce: fXoiv2 +.. section: IDLE + +IDLE now opens just an editor window when configured to do so. + +.. + +.. bpo: 8900 +.. date: 9018 +.. nonce: jkW99r +.. section: IDLE + +Using keyboard shortcuts in IDLE to open a file no longer raises an +exception. + +.. + +.. bpo: 6649 +.. date: 9017 +.. nonce: uwGice +.. section: IDLE + +Fixed missing exit status in IDLE. Patch by Guilherme Polo. + +.. + +.. bpo: 17390 +.. date: 9016 +.. nonce: o3w4vc +.. section: IDLE + +Display Python version on Idle title bar. Initial patch by Edmond Burnett. + +.. + +.. bpo: 15940 +.. date: 9015 +.. nonce: XL62xu +.. section: Documentation + +Specify effect of locale on time functions. + +.. + +.. bpo: 6696 +.. date: 9014 +.. nonce: -aRVrf +.. section: Documentation + +add documentation for the Profile objects, and improve profile/cProfile +docs. Patch by Tom Pinckney. diff --git a/Misc/NEWS.d/2.7.6.rst b/Misc/NEWS.d/2.7.6.rst new file mode 100644 index 0000000000..51ab9bcb9b --- /dev/null +++ b/Misc/NEWS.d/2.7.6.rst @@ -0,0 +1,37 @@ +.. bpo: 19435 +.. date: 9186 +.. nonce: kXqMz3 +.. release date: 2013-11-10 +.. section: Library + +Fix directory traversal attack on CGIHttpRequestHandler. + +.. + +.. bpo: 19426 +.. date: 9185 +.. nonce: PwatP7 +.. section: IDLE + +Fixed the opening of Python source file with specified encoding. + +.. + +.. bpo: 19457 +.. date: 9184 +.. nonce: HGwEFx +.. section: Tests + +Fixed xmlcharrefreplace tests on wide build when tests are loaded from +.py[co] files. + +.. + +.. bpo: 15663 +.. date: 9183 +.. nonce: p-vVTG +.. section: Build + +Revert OS X installer built-in Tcl/Tk support for 2.7.6. Some third-party +projects, such as Matplotlib and PIL/Pillow, depended on being able to build +with Tcl and Tk frameworks in /Library/Frameworks. diff --git a/Misc/NEWS.d/2.7.6rc1.rst b/Misc/NEWS.d/2.7.6rc1.rst new file mode 100644 index 0000000000..32ee2e61ca --- /dev/null +++ b/Misc/NEWS.d/2.7.6rc1.rst @@ -0,0 +1,1130 @@ +.. bpo: 18603 +.. date: 9182 +.. nonce: 7SMyAQ +.. release date: 2013-10-26 +.. section: Core and Builtins + +Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the Python executable +and not removed by the linker's optimizer. + +.. + +.. bpo: 19279 +.. date: 9181 +.. nonce: bXi_a1 +.. section: Core and Builtins + +UTF-7 decoder no more produces illegal unicode strings. + +.. + +.. bpo: 18739 +.. date: 9180 +.. nonce: ZUuspY +.. section: Core and Builtins + +Fix an inconsistency between math.log(n) and math.log(long(n)); the results +could be off from one another by a ulp or two. + +.. + +.. bpo: 13461 +.. date: 9179 +.. nonce: ExV3tX +.. section: Core and Builtins + +Fix a crash in the "replace" error handler on 64-bit platforms. Patch by +Yogesh Chaudhari. + +.. + +.. bpo: 15866 +.. date: 9178 +.. nonce: meZHE- +.. section: Core and Builtins + +The xmlcharrefreplace error handler no more produces two XML entities for a +non-BMP character on narrow build. + +.. + +.. bpo: 18184 +.. date: 9177 +.. nonce: xLNVG3 +.. section: Core and Builtins + +PyUnicode_FromFormat() and PyUnicode_FromFormatV() now raise OverflowError +when an argument of %c format is out of range. + +.. + +.. bpo: 18137 +.. date: 9176 +.. nonce: a_Vsor +.. section: Core and Builtins + +Detect integer overflow on precision in float.__format__() and +complex.__format__(). + +.. + +.. bpo: 18038 +.. date: 9175 +.. nonce: Q8prhd +.. section: Core and Builtins + +SyntaxError raised during compilation sources with illegal encoding now +always contains an encoding name. + +.. + +.. bpo: 18019 +.. date: 9174 +.. nonce: HdAInl +.. section: Core and Builtins + +Fix crash in the repr of dictionaries containing their own views. + +.. + +.. bpo: 18427 +.. date: 9173 +.. nonce: XEBN6L +.. section: Core and Builtins + +str.replace could crash the interpreter with huge strings. + +.. + +.. bpo: 19393 +.. date: 9172 +.. nonce: ytbAwl +.. section: Library + +Fix symtable.symtable function to not be confused when there are functions +or classes named "top". + +.. + +.. bpo: 19327 +.. date: 9171 +.. nonce: S7Xvxs +.. section: Library + +Fixed the working of regular expressions with too big charset. + +.. + +.. bpo: 19350 +.. date: 9170 +.. nonce: MCCKjK +.. section: Library + +Increasing the test coverage of macurl2path. Patch by Colin Williams. + +.. + +.. bpo: 19352 +.. date: 9169 +.. nonce: 3TfAkY +.. section: Library + +Fix unittest discovery when a module can be reached through several paths +(e.g. under Debian/Ubuntu with virtualenv). + +.. + +.. bpo: 15207 +.. date: 9168 +.. nonce: piOBBi +.. section: Library + +Fix mimetypes to read from correct part of Windows registry Original patch +by Dave Chambers + +.. + +.. bpo: 8964 +.. date: 9167 +.. nonce: dzU2FB +.. section: Library + +fix platform._sys_version to handle IronPython 2.6+. Patch by Martin +Matusiak. + +.. + +.. bpo: 16038 +.. date: 9166 +.. nonce: TZGbSo +.. section: Library + +CVE-2013-1752: ftplib: Limit amount of data read by limiting the call to +readline(). Original patch by Michał Jastrzębski and Giampaolo Rodola. + +.. + +.. bpo: 19276 +.. date: 9165 +.. nonce: Y69Qmv +.. section: Library + +Fixed the wave module on 64-bit big-endian platforms. + +.. + +.. bpo: 18458 +.. date: 9164 +.. nonce: 6Bs0gr +.. section: Library + +Prevent crashes with newer versions of libedit. Its readline emulation has +changed from 0-based indexing to 1-based like gnu readline. Original patch +by Ronald Oussoren. + +.. + +.. bpo: 18919 +.. date: 9163 +.. nonce: rIO3MQ +.. section: Library + +If the close() method of a writer in the sunau or wave module failed, second +invocation of close() and destructor no more raise an exception. Second +invocation of close() on sunau writer now has no effects. The aifc module +now accepts lower case of names of the 'ulaw' and 'alaw' codecs. + +.. + +.. bpo: 19131 +.. date: 9162 +.. nonce: eZXzpr +.. section: Library + +The aifc module now correctly reads and writes sampwidth of compressed +streams. + +.. + +.. bpo: 19158 +.. date: 9161 +.. nonce: GvkZuU +.. section: Library + +A rare race in BoundedSemaphore could allow .release() too often. + +.. + +.. bpo: 18037 +.. date: 9160 +.. nonce: pmZRS7 +.. section: Library + +2to3 now escapes '\u' and '\U' in native strings. + +.. + +.. bpo: 19137 +.. date: 9159 +.. nonce: kdJchn +.. section: Library + +The pprint module now correctly formats empty set and frozenset and +instances of set and frozenset subclasses. + +.. + +.. bpo: 16040 +.. date: 9158 +.. nonce: xg3xlX +.. section: Library + +CVE-2013-1752: nntplib: Limit maximum line lengths to 2048 to prevent +readline() calls from consuming too much memory. Patch by Jyrki Pulliainen. + +.. + +.. bpo: 12641 +.. date: 9157 +.. nonce: r9sIyX +.. section: Library + +Avoid passing "-mno-cygwin" to the mingw32 compiler, except when necessary. +Patch by Oscar Benjamin. + +.. + +.. bpo: 0 +.. date: 9156 +.. nonce: 08TsG5 +.. section: Library + +Properly initialize all fields of a SSL object after allocation. + +.. + +.. bpo: 4366 +.. date: 9155 +.. nonce: lDEdfK +.. section: Library + +Fix building extensions on all platforms when --enable-shared is used. + +.. + +.. bpo: 18950 +.. date: 9154 +.. nonce: AoZ5GZ +.. section: Library + +Fix miscellaneous bugs in the sunau module. Au_read.readframes() now updates +current file position and reads correct number of frames from multichannel +stream. Au_write.writeframesraw() now correctly updates current file +position. Au_read and Au_write now correctly work with file object if start +file position is not a zero. + +.. + +.. bpo: 18050 +.. date: 9153 +.. nonce: LUKrBT +.. section: Library + +Fixed an incompatibility of the re module with Python 2.7.3 and older +binaries. + +.. + +.. bpo: 19037 +.. date: 9152 +.. nonce: OfBhoU +.. section: Library + +The mailbox module now makes all changes to maildir files before moving them +into place, to avoid race conditions with other programs that may be +accessing the maildir directory. + +.. + +.. bpo: 14984 +.. date: 9151 +.. nonce: iRbFp4 +.. section: Library + +On POSIX systems, when netrc is called without a filename argument (and +therefore is reading the user's $HOME/.netrc file), it now enforces the same +security rules as typical ftp clients: the .netrc file must be owned by the +user that owns the process and must not be readable by any other user. + +.. + +.. bpo: 17324 +.. date: 9150 +.. nonce: 0PkOTi +.. section: Library + +Fix http.server's request handling case on trailing '/'. Patch contributed +by Vajrasky Kok. + +.. + +.. bpo: 19018 +.. date: 9149 +.. nonce: mntKOW +.. section: Library + +The heapq.merge() function no longer suppresses IndexError in the underlying +iterables. + +.. + +.. bpo: 18784 +.. date: 9148 +.. nonce: ocU3GG +.. section: Library + +The uuid module no more attempts to load libc via ctypes.CDLL, if all +necessary functions are already found in libuuid. Patch by Evgeny Sologubov. + +.. + +.. bpo: 14971 +.. date: 9147 +.. nonce: cc8xNA +.. section: Library + +unittest test discovery no longer gets confused when a function has a +different __name__ than its name in the TestCase class dictionary. + +.. + +.. bpo: 18672 +.. date: 9146 +.. nonce: CIblDh +.. section: Library + +Fixed format specifiers for Py_ssize_t in debugging output in the _sre +module. + +.. + +.. bpo: 18830 +.. date: 9145 +.. nonce: Uzi-Y4 +.. section: Library + +inspect.getclasstree() no more produces duplicated entries even when input +list contains duplicates. + +.. + +.. bpo: 18909 +.. date: 9144 +.. nonce: XSu98N +.. section: Library + +Fix _tkinter.tkapp.interpaddr() on Windows 64-bit, don't cast 64-bit pointer +to long (32 bits). + +.. + +.. bpo: 18876 +.. date: 9143 +.. nonce: 30Ist9 +.. section: Library + +The FileIO.mode attribute now better reflects the actual mode under which +the file was opened. Patch by Erik Bray. + +.. + +.. bpo: 18851 +.. date: 9142 +.. nonce: -YsF6X +.. section: Library + +Avoid a double close of subprocess pipes when the child process fails +starting. + +.. + +.. bpo: 18418 +.. date: 9141 +.. nonce: _SFG8w +.. section: Library + +After fork(), reinit all threads states, not only active ones. Patch by A. +Jesse Jiryu Davis. + +.. + +.. bpo: 11973 +.. date: 9140 +.. nonce: uPtBvG +.. section: Library + +Fix a problem in kevent. The flags and fflags fields are now properly +handled as unsigned. + +.. + +.. bpo: 16809 +.. date: 9139 +.. nonce: TF5mD7 +.. section: Library + +Fixed some tkinter incompatibilities with Tcl/Tk 8.6. + +.. + +.. bpo: 16809 +.. date: 9138 +.. nonce: WqSHdP +.. section: Library + +Tkinter's splitlist() and split() methods now accept Tcl_Obj argument. + +.. + +.. bpo: 17119 +.. date: 9137 +.. nonce: sfp47f +.. section: Library + +Fixed integer overflows when processing large Unicode strings and tuples in +the tkinter module. + +.. + +.. bpo: 15233 +.. date: 9136 +.. nonce: 8YQW0- +.. section: Library + +Python now guarantees that callables registered with the atexit module will +be called in a deterministic order. + +.. + +.. bpo: 18747 +.. date: 9135 +.. nonce: tPZkbG +.. section: Library + +Re-seed OpenSSL's pseudo-random number generator after fork. A +pthread_atfork() parent handler is used to seed the PRNG with pid, time and +some stack data. + +.. + +.. bpo: 8865 +.. date: 9134 +.. nonce: cKBSJh +.. section: Library + +Concurrent invocation of select.poll.poll() now raises a RuntimeError +exception. Patch by Christian Schubert. + +.. + +.. bpo: 13461 +.. date: 9133 +.. nonce: nLeS2R +.. section: Library + +Fix a crash in the TextIOWrapper.tell method on 64-bit platforms. Patch by +Yogesh Chaudhari. + +.. + +.. bpo: 18777 +.. date: 9132 +.. nonce: VLsjOw +.. section: Library + +The ssl module now uses the new CRYPTO_THREADID API of OpenSSL 1.0.0+ +instead of the deprecated CRYPTO id callback function. + +.. + +.. bpo: 18768 +.. date: 9131 +.. nonce: r3TSCo +.. section: Library + +Correct doc string of RAND_edg(). Patch by Vajrasky Kok. + +.. + +.. bpo: 18178 +.. date: 9130 +.. nonce: i4hnf- +.. section: Library + +Fix ctypes on BSD. dlmalloc.c was compiled twice which broke malloc weak +symbols. + +.. + +.. bpo: 18709 +.. date: 9129 +.. nonce: DWzpRe +.. section: Library + +Fix CVE-2013-4238. The SSL module now handles NULL bytes inside +subjectAltName correctly. Formerly the module has used OpenSSL's +GENERAL_NAME_print() function to get the string representation of ASN.1 +strings for ``rfc822Name`` (email), ``dNSName`` (DNS) and +``uniformResourceIdentifier`` (URI). + +.. + +.. bpo: 18756 +.. date: 9128 +.. nonce: moRUfX +.. section: Library + +Improve error reporting in os.urandom() when the failure is due to something +else than /dev/urandom not existing (for example, exhausting the file +descriptor limit). + +.. + +.. bpo: 0 +.. date: 9127 +.. nonce: b9GShY +.. section: Library + +Fix tkinter regression introduced by the security fix in issue #16248. + +.. + +.. bpo: 18676 +.. date: 9126 +.. nonce: WAq1iB +.. section: Library + +Change 'positive' to 'non-negative' in queue.py put and get docstrings and +ValueError messages. Patch by Zhongyue Luo + +.. + +.. bpo: 17998 +.. date: 9125 +.. nonce: hIbru5 +.. section: Library + +Fix an internal error in regular expression engine. + +.. + +.. bpo: 17557 +.. date: 9124 +.. nonce: s6BEMI +.. section: Library + +Fix os.getgroups() to work with the modified behavior of getgroups(2) on OS +X 10.8. Original patch by Mateusz Lenik. + +.. + +.. bpo: 18455 +.. date: 9123 +.. nonce: t1b0R_ +.. section: Library + +multiprocessing should not retry connect() with same socket. + +.. + +.. bpo: 18513 +.. date: 9122 +.. nonce: 12JUZi +.. section: Library + +Fix behaviour of cmath.rect w.r.t. signed zeros on OS X 10.8 + gcc. + +.. + +.. bpo: 18101 +.. date: 9121 +.. nonce: hWfUNM +.. section: Library + +Tcl.split() now process Unicode strings nested in a tuple as it do with byte +strings. + +.. + +.. bpo: 18347 +.. date: 9120 +.. nonce: r98Yh- +.. section: Library + +ElementTree's html serializer now preserves the case of closing tags. + +.. + +.. bpo: 17261 +.. date: 9119 +.. nonce: FBzLVh +.. section: Library + +Ensure multiprocessing's proxies use proper address. + +.. + +.. bpo: 17097 +.. date: 9118 +.. nonce: npje1S +.. section: Library + +Make multiprocessing ignore EINTR. + +.. + +.. bpo: 18155 +.. date: 9117 +.. nonce: P-O3wv +.. section: Library + +The csv module now correctly handles csv files that use a delimiter +character that has a special meaning in regexes, instead of throwing an +exception. + +.. + +.. bpo: 18135 +.. date: 9116 +.. nonce: AYPE8L +.. section: Library + +ssl.SSLSocket.write() now raises an OverflowError if the input string in +longer than 2 gigabytes. The ssl module does not support partial write. + +.. + +.. bpo: 18167 +.. date: 9115 +.. nonce: CE6ZMO +.. section: Library + +cgi.FieldStorage no longer fails to handle multipart/form-data when \r\n +appears at end of 65535 bytes without other newlines. + +.. + +.. bpo: 17403 +.. date: 9114 +.. nonce: gtIhUd +.. section: Library + +urllib.parse.robotparser normalizes the urls before adding to ruleline. This +helps in handling certain types invalid urls in a conservative manner. Patch +contributed by Mher Movsisyan. + +.. + +.. bpo: 0 +.. date: 9113 +.. nonce: jM5EPF +.. section: Library + +Implement inequality on weakref.WeakSet. + +.. + +.. bpo: 17981 +.. date: 9112 +.. nonce: kIczv7 +.. section: Library + +Closed socket on error in SysLogHandler. + +.. + +.. bpo: 18015 +.. date: 9111 +.. nonce: 85_YuN +.. section: Library + +Fix unpickling of 2.7.3 and 2.7.4 namedtuples. + +.. + +.. bpo: 17754 +.. date: 9110 +.. nonce: xa6Bc3 +.. section: Library + +Make ctypes.util.find_library() independent of the locale. + +.. + +.. bpo: 0 +.. date: 9109 +.. nonce: 9OGCJH +.. section: Library + +Fix typos in the multiprocessing module. + +.. + +.. bpo: 17269 +.. date: 9108 +.. nonce: 7LxyKz +.. section: Library + +Workaround for socket.getaddrinfo crash on MacOS X with port None or "0" and +flags AI_NUMERICSERV. + +.. + +.. bpo: 18080 +.. date: 9107 +.. nonce: 8bMdE3 +.. section: Library + +When building a C extension module on OS X, if the compiler is overridden +with the CC environment variable, use the new compiler as the default for +linking if LDSHARED is not also overridden. This restores Distutils +behavior introduced in 2.7.3 and inadvertently dropped in 2.7.4. + +.. + +.. bpo: 18071 +.. date: 9106 +.. nonce: 2FwU0S +.. section: Library + +C extension module builds on OS X could fail with TypeError if the Xcode +command line tools were not installed. + +.. + +.. bpo: 18113 +.. date: 9105 +.. nonce: 7w81KJ +.. section: Library + +Fixed a refcount leak in the curses.panel module's set_userptr() method. +Reported by Atsuo Ishimoto. + +.. + +.. bpo: 18849 +.. date: 9104 +.. nonce: Q0kF0R +.. section: Library + +Fixed a Windows-specific tempfile bug where collision with an existing +directory caused mkstemp and related APIs to fail instead of retrying. +Report and fix by Vlad Shcherbina. + +.. + +.. bpo: 19400 +.. date: 9103 +.. nonce: QAqpk5 +.. section: Library + +Prevent extension module build failures with Xcode 5 on OS X 10.8+ when +using a universal Python that included a PPC architecture, such as with a +python.org 32-bit-only binary installer. + +.. + +.. bpo: 18873 +.. date: 9102 +.. nonce: i_1Tf_ +.. section: Tools/Demos + +2to3 and the findnocoding.py script now detect Python source code encoding +only in comment lines. + +.. + +.. bpo: 18817 +.. date: 9101 +.. nonce: yma3Gh +.. section: Tools/Demos + +Fix a resource warning in Lib/aifc.py demo. + +.. + +.. bpo: 18439 +.. date: 9100 +.. nonce: W9DxeL +.. section: Tools/Demos + +Make patchcheck work on Windows for ACKS, NEWS. + +.. + +.. bpo: 18448 +.. date: 9099 +.. nonce: gMA5pg +.. section: Tools/Demos + +Fix a typo in Demo/newmetaclasses/Eiffel.py. + +.. + +.. bpo: 12990 +.. date: 9098 +.. nonce: E1geL- +.. section: Tools/Demos + +The "Python Launcher" on OSX could not launch python scripts that have paths +that include wide characters. + +.. + +.. bpo: 16067 +.. date: 9097 +.. nonce: xeYOfj +.. section: Build + +Add description into MSI file to replace installer's temporary name. + +.. + +.. bpo: 18256 +.. date: 9096 +.. nonce: PiEkYT +.. section: Build + +Compilation fix for recent AIX releases. Patch by David Edelsohn. + +.. + +.. bpo: 18098 +.. date: 9095 +.. nonce: KZmfoE +.. section: Build + +The deprecated OS X Build Applet.app fails to build on OS X 10.8 systems +because the Apple-deprecated QuickDraw headers have been removed from Xcode +4. Skip building it in this case. + +.. + +.. bpo: 1584 +.. date: 9094 +.. nonce: qjDxpR +.. section: Build + +Provide options to override default search paths for Tcl and Tk when +building _tkinter. + +.. + +.. bpo: 15663 +.. date: 9093 +.. nonce: 9Da_Rj +.. section: Build + +Tcl/Tk 8.5.15 is now included with the OS X 10.6+ 64-bit/32-bit installer +for 10.6+. It is no longer necessary to install a third-party version of +Tcl/Tk 8.5 to work around the problems in the Apple-supplied Tcl/Tk 8.5 +shipped in OS X 10.6 and later releases. + +.. + +.. bpo: 19019 +.. date: 9092 +.. nonce: 5W7lw_ +.. section: Build + +Change the OS X installer build script to use CFLAGS instead of OPT for +special build options. By setting OPT, some compiler-specific options like +-fwrapv were overridden and thus not used, which could result in broken +interpreters when building with clang. + +.. + +.. bpo: 18873 +.. date: 9091 +.. nonce: dyLPY9 +.. section: IDLE + +IDLE now detects Python source code encoding only in comment lines. + +.. + +.. bpo: 18988 +.. date: 9090 +.. nonce: 6CpesW +.. section: IDLE + +The "Tab" key now works when a word is already autocompleted. + +.. + +.. bpo: 18489 +.. date: 9089 +.. nonce: nOvxOH +.. section: IDLE + +Add tests for SearchEngine. Original patch by Phil Webster. + +.. + +.. bpo: 18429 +.. date: 9088 +.. nonce: F1lTq1 +.. section: IDLE + +Format / Format Paragraph, now works when comment blocks are selected. As +with text blocks, this works best when the selection only includes complete +lines. + +.. + +.. bpo: 18226 +.. date: 9087 +.. nonce: 5HtrW1 +.. section: IDLE + +Add docstrings and unittests for FormatParagraph.py. Original patches by +Todd Rovito and Phil Webster. + +.. + +.. bpo: 18279 +.. date: 9086 +.. nonce: UoF-oR +.. section: IDLE + +Format - Strip trailing whitespace no longer marks a file as changed when it +has not been changed. This fix followed the addition of a test file +originally written by Phil Webster (the issue's main goal). + +.. + +.. bpo: 18539 +.. date: 9085 +.. nonce: _ddWOv +.. section: IDLE + +Calltips now work for float default arguments. + +.. + +.. bpo: 7136 +.. date: 9084 +.. nonce: 7horQf +.. section: IDLE + +In the Idle File menu, "New Window" is renamed "New File". Patch by Tal +Einat, Roget Serwy, and Todd Rovito. + +.. + +.. bpo: 8515 +.. date: 9083 +.. nonce: wY13t0 +.. section: IDLE + +Set __file__ when run file in IDLE. Initial patch by Bruce Frederiksen. + +.. + +.. bpo: 5492 +.. date: 9082 +.. nonce: LCx7lq +.. section: IDLE + +Avoid traceback when exiting IDLE caused by a race condition. + +.. + +.. bpo: 17511 +.. date: 9081 +.. nonce: 6XqdTH +.. section: IDLE + +Keep IDLE find dialog open after clicking "Find Next". Original patch by +Sarah K. + +.. + +.. bpo: 15392 +.. date: 9080 +.. nonce: rB5VoV +.. section: IDLE + +Create a unittest framework for IDLE. Preliminary patch by Rajagopalasarma +Jayakrishnan See Lib/idlelib/idle_test/README.txt for how to run Idle tests. + +.. + +.. bpo: 14146 +.. date: 9079 +.. nonce: -n5gzd +.. section: IDLE + +Highlight source line while debugging on Windows. + +.. + +.. bpo: 17532 +.. date: 9078 +.. nonce: wgA70Z +.. section: IDLE + +Always include Options menu for IDLE on OS X. Patch by Guilherme Simões. + +.. + +.. bpo: 18919 +.. date: 9077 +.. nonce: BOq1BY +.. section: Tests + +Added tests for the sunau module. Unified and extended tests for audio +modules: aifc, sunau and wave. + +.. + +.. bpo: 18792 +.. date: 9076 +.. nonce: 5RkYdK +.. section: Tests + +Use "127.0.0.1" or "::1" instead of "localhost" as much as possible, since +"localhost" goes through a DNS lookup under recent Windows versions. + +.. + +.. bpo: 18357 +.. date: 9075 +.. nonce: jRiyQA +.. section: Tests + +add tests for dictview set difference. Patch by Fraser Tweedale. + +.. + +.. bpo: 11185 +.. date: 9074 +.. nonce: McIHeT +.. section: Tests + +Fix test_wait4 under AIX. Patch by Sébastien Sablé. + +.. + +.. bpo: 18094 +.. date: 9073 +.. nonce: VeMh1H +.. section: Tests + +test_uuid no more reports skipped tests as passed. + +.. + +.. bpo: 11995 +.. date: 9072 +.. nonce: varfN1 +.. section: Tests + +test_pydoc doesn't import all sys.path modules anymore. + +.. + +.. bpo: 18758 +.. date: 9071 +.. nonce: hMCi7Z +.. section: Documentation + +Fixed and improved cross-references. + +.. + +.. bpo: 18718 +.. date: 9070 +.. nonce: CtpK5H +.. section: Documentation + +datetime documentation contradictory on leap second support. + +.. + +.. bpo: 17701 +.. date: 9069 +.. nonce: FtTZ66 +.. section: Documentation + +Improving strftime documentation. + +.. + +.. bpo: 17844 +.. date: 9068 +.. nonce: R4Gssa +.. section: Documentation + +Refactor a documentation of Python specific encodings. Add links to encoders +and decoders for binary-to-binary codecs. diff --git a/Misc/NEWS.d/2.7.7.rst b/Misc/NEWS.d/2.7.7.rst new file mode 100644 index 0000000000..fbad9ad3b8 --- /dev/null +++ b/Misc/NEWS.d/2.7.7.rst @@ -0,0 +1,16 @@ +.. bpo: 21462 +.. date: 9328 +.. nonce: Ee4oKH +.. release date: 2014-05-31 +.. section: Build + +Build the Windows installers with OpenSSL 1.0.1g. + +.. + +.. bpo: 19866 +.. date: 9327 +.. nonce: 15D08i +.. section: Build + +Include some test data in the Windows installers, so tests don't fail. diff --git a/Misc/NEWS.d/2.7.7rc1.rst b/Misc/NEWS.d/2.7.7rc1.rst new file mode 100644 index 0000000000..93ef5695c6 --- /dev/null +++ b/Misc/NEWS.d/2.7.7rc1.rst @@ -0,0 +1,1376 @@ +.. bpo: 21350 +.. date: 9326 +.. nonce: jnq6gO +.. release date: 2014-05-17 +.. section: Core and Builtins + +Fix file.writelines() to accept arbitrary buffer objects, as advertised. +Patch by Brian Kearns. + +.. + +.. bpo: 20437 +.. date: 9325 +.. nonce: 9Rsiua +.. section: Core and Builtins + +Fixed 43 potential bugs when deleting object references. + +.. + +.. bpo: 21134 +.. date: 9324 +.. nonce: ZL4SKo +.. section: Core and Builtins + +Fix segfault when str is called on an uninitialized UnicodeEncodeError, +UnicodeDecodeError, or UnicodeTranslateError object. + +.. + +.. bpo: 20494 +.. date: 9323 +.. nonce: uGIFPX +.. section: Core and Builtins + +Ensure that free()d memory arenas are really released on POSIX systems +supporting anonymous memory mappings. Patch by Charles-François Natali. + +.. + +.. bpo: 17825 +.. date: 9322 +.. nonce: toRoZf +.. section: Core and Builtins + +Cursor "^" is correctly positioned for SyntaxError and IndentationError. + +.. + +.. bpo: 0 +.. date: 9321 +.. nonce: nfw3S8 +.. section: Core and Builtins + +Raise a better error when non-unicode codecs are used for a file's coding +cookie. + +.. + +.. bpo: 17976 +.. date: 9320 +.. nonce: w402Bf +.. section: Core and Builtins + +Fixed potential problem with file.write() not detecting IO error by +inspecting the return value of fwrite(). Based on patches by Jaakko Moisio +and Victor Stinner. + +.. + +.. bpo: 14432 +.. date: 9319 +.. nonce: kZ1mYr +.. section: Core and Builtins + +Generator now clears the borrowed reference to the thread state. Fix a crash +when a generator is created in a C thread that is destroyed while the +generator is still used. The issue was that a generator contains a frame, +and the frame kept a reference to the Python state of the destroyed C +thread. The crash occurs when a trace function is setup. + +.. + +.. bpo: 19932 +.. date: 9318 +.. nonce: ZU_tXW +.. section: Core and Builtins + +Fix typo in import.h, missing whitespaces in function prototypes. + +.. + +.. bpo: 19638 +.. date: 9317 +.. nonce: lh5Awt +.. section: Core and Builtins + +Fix possible crash / undefined behaviour from huge (more than 2 billion +characters) input strings in _Py_dg_strtod. + +.. + +.. bpo: 12546 +.. date: 9316 +.. nonce: kDqF_s +.. section: Core and Builtins + +Allow \x00 to be used as a fill character when using str, int, float, and +complex __format__ methods. + +.. + +.. bpo: 10744 +.. date: 9315 +.. nonce: kfV0wm +.. section: Library + +Fix PEP 3118 format strings on ctypes objects with a nontrivial shape. + +.. + +.. bpo: 7776 +.. date: 9314 +.. nonce: DFUgrv +.. section: Library + +Backport Fix ``Host:'' header and reconnection when using +http.client.HTTPConnection.set_tunnel() from Python 3. Patch by Nikolaus +Rath. + +.. + +.. bpo: 21306 +.. date: 9313 +.. nonce: 8ABvGX +.. section: Library + +Backport hmac.compare_digest from Python 3. This is part of PEP 466. + +.. + +.. bpo: 21470 +.. date: 9312 +.. nonce: uH-yCD +.. section: Library + +Do a better job seeding the random number generator by using enough bytes to +span the full state space of the Mersenne Twister. + +.. + +.. bpo: 21469 +.. date: 9311 +.. nonce: _fFGuq +.. section: Library + +Reduced the risk of false positives in robotparser by checking to make sure +that robots.txt has been read or does not exist prior to returning True in +can_fetch(). + +.. + +.. bpo: 21321 +.. date: 9310 +.. nonce: wUkTON +.. section: Library + +itertools.islice() now releases the reference to the source iterator when +the slice is exhausted. Patch by Anton Afanasyev. + +.. + +.. bpo: 9291 +.. date: 9309 +.. nonce: QlHuPo +.. section: Library + +Do not attempt to re-encode mimetype data read from registry in ANSI mode. +Initial patches by Dmitry Jemerov & Vladimir Iofik. + +.. + +.. bpo: 21349 +.. date: 9308 +.. nonce: G6dnGO +.. section: Library + +Passing a memoryview to _winreg.SetValueEx now correctly raises a TypeError +where it previously crashed the interpreter. Patch by Brian Kearns + +.. + +.. bpo: 21529 +.. date: 9307 +.. nonce: 57R_Fc +.. section: Library + +Fix arbitrary memory access in JSONDecoder.raw_decode with a negative second +parameter. Bug reported by Guido Vranken. (See also: CVE-2014-4616) + +.. + +.. bpo: 21172 +.. date: 9306 +.. nonce: dQ7yY7 +.. section: Library + +isinstance check relaxed from dict to collections.Mapping. + +.. + +.. bpo: 21191 +.. date: 9305 +.. nonce: T8gLBH +.. section: Library + +In os.fdopen, never close the file descriptor when an exception happens. + +.. + +.. bpo: 21149 +.. date: 9304 +.. nonce: cnjwMR +.. section: Library + +Improved thread-safety in logging cleanup during interpreter shutdown. +Thanks to Devin Jeanpierre for the patch. + +.. + +.. bpo: 0 +.. date: 9303 +.. nonce: WKcVnZ +.. section: Library + +Fix possible overflow bug in strop.expandtabs. You shouldn't be using this +module! + +.. + +.. bpo: 20145 +.. date: 9302 +.. nonce: JeZoJn +.. section: Library + +`assertRaisesRegex` now raises a TypeError if the second argument is not a +string or compiled regex. + +.. + +.. bpo: 21058 +.. date: 9301 +.. nonce: SqznP1 +.. section: Library + +Fix a leak of file descriptor in tempfile.NamedTemporaryFile(), close the +file descriptor if os.fdopen() fails + +.. + +.. bpo: 20283 +.. date: 9300 +.. nonce: v0Vs9V +.. section: Library + +RE pattern methods now accept the string keyword parameters as documented. +The pattern and source keyword parameters are left as deprecated aliases. + +.. + +.. bpo: 11599 +.. date: 9299 +.. nonce: 9QOXf4 +.. section: Library + +When an external command (e.g. compiler) fails, distutils now prints out the +whole command line (instead of just the command name) if the environment +variable DISTUTILS_DEBUG is set. + +.. + +.. bpo: 4931 +.. date: 9298 +.. nonce: uF10hr +.. section: Library + +distutils should not produce unhelpful "error: None" messages anymore. +distutils.util.grok_environment_error is kept but doc-deprecated. + +.. + +.. bpo: 0 +.. date: 9297 +.. nonce: mdcWGA +.. section: Library + +Improve the random module's default seeding to use 256 bits of entropy from +os.urandom(). This was already done for Python 3, mildly improving security +with a bigger seed space. + +.. + +.. bpo: 15618 +.. date: 9296 +.. nonce: r5_ACR +.. section: Library + +Make turtle.py compatible with 'from __future__ import unicode_literals'. +Initial patch by Juancarlo Añez. + +.. + +.. bpo: 20501 +.. date: 9295 +.. nonce: Jwfgph +.. section: Library + +fileinput module no longer reads whole file into memory when using +fileinput.hook_encoded. + +.. + +.. bpo: 6815 +.. date: 9294 +.. nonce: poU-vm +.. section: Library + +os.path.expandvars() now supports non-ASCII Unicode environment variables +names and values. + +.. + +.. bpo: 20635 +.. date: 9293 +.. nonce: ZKwOpn +.. section: Library + +Fixed grid_columnconfigure() and grid_rowconfigure() methods of Tkinter +widgets to work in wantobjects=True mode. + +.. + +.. bpo: 17671 +.. date: 9292 +.. nonce: 8tHRKJ +.. section: Library + +Fixed a crash when use non-initialized io.BufferedRWPair. Based on patch by +Stephen Tu. + +.. + +.. bpo: 8478 +.. date: 9291 +.. nonce: OS7q1h +.. section: Library + +Untokenizer.compat processes first token from iterator input. Patch based on +lines from Georg Brandl, Eric Snow, and Gareth Rees. + +.. + +.. bpo: 20594 +.. date: 9290 +.. nonce: BVHxPd +.. section: Library + +Avoid name clash with the libc function posix_close. + +.. + +.. bpo: 19856 +.. date: 9289 +.. nonce: jFhYW_ +.. section: Library + +shutil.move() failed to move a directory to other directory on Windows if +source name ends with os.altsep. + +.. + +.. bpo: 14983 +.. date: 9288 +.. nonce: H_gs8w +.. section: Library + +email.generator now always adds a line end after each MIME boundary marker, +instead of doing so only when there is an epilogue. This fixes an RFC +compliance bug and solves an issue with signed MIME parts. + +.. + +.. bpo: 20013 +.. date: 9287 +.. nonce: erNy8V +.. section: Library + +Some imap servers disconnect if the current mailbox is deleted, and imaplib +did not handle that case gracefully. Now it handles the 'bye' correctly. + +.. + +.. bpo: 20426 +.. date: 9286 +.. nonce: f0ozAP +.. section: Library + +When passing the re.DEBUG flag, re.compile() displays the debug output every +time it is called, regardless of the compilation cache. + +.. + +.. bpo: 20368 +.. date: 9285 +.. nonce: BlXEFo +.. section: Library + +The null character now correctly passed from Tcl to Python (in unicode +strings only). Improved error handling in variables-related commands. + +.. + +.. bpo: 20435 +.. date: 9284 +.. nonce: _UNhlH +.. section: Library + +Fix _pyio.StringIO.getvalue() to take into account newline translation +settings. + +.. + +.. bpo: 20288 +.. date: 9283 +.. nonce: 6zUZe3 +.. section: Library + +fix handling of invalid numeric charrefs in HTMLParser. + +.. + +.. bpo: 19456 +.. date: 9282 +.. nonce: 6HhsFx +.. section: Library + +ntpath.join() now joins relative paths correctly when a drive is present. + +.. + +.. bpo: 8260 +.. date: 9281 +.. nonce: nf7gg9 +.. section: Library + +The read(), readline() and readlines() methods of codecs.StreamReader +returned incomplete data when were called after readline() or read(size). +Based on patch by Amaury Forgeot d'Arc. + +.. + +.. bpo: 20374 +.. date: 9280 +.. nonce: EWofHb +.. section: Library + +Fix build with GNU readline >= 6.3. + +.. + +.. bpo: 14548 +.. date: 9279 +.. nonce: ClAkmE +.. section: Library + +Make multiprocessing finalizers check pid before running to cope with +possibility of gc running just after fork. (Backport from 3.x.) + +.. + +.. bpo: 20262 +.. date: 9278 +.. nonce: co0t1R +.. section: Library + +Warnings are raised now when duplicate names are added in the ZIP file or +too long ZIP file comment is truncated. + +.. + +.. bpo: 20270 +.. date: 9277 +.. nonce: hDccjr +.. section: Library + +urllib and urlparse now support empty ports. + +.. + +.. bpo: 20243 +.. date: 9276 +.. nonce: nApKCK +.. section: Library + +TarFile no longer raise ReadError when opened in write mode. + +.. + +.. bpo: 20245 +.. date: 9275 +.. nonce: 93kf_h +.. section: Library + +The open functions in the tarfile module now correctly handle empty mode. + +.. + +.. bpo: 20086 +.. date: 9274 +.. nonce: RV3SGi +.. section: Library + +Restored the use of locale-independent mapping instead of locale-dependent +str.lower() in locale.normalize(). + +.. + +.. bpo: 20246 +.. date: 9273 +.. nonce: CC8uTq +.. section: Library + +Fix buffer overflow in socket.recvfrom_into. + +.. + +.. bpo: 19082 +.. date: 9272 +.. nonce: Qv6W7t +.. section: Library + +Working SimpleXMLRPCServer and xmlrpclib examples, both in modules and +documentation. + +.. + +.. bpo: 13107 +.. date: 9271 +.. nonce: YgEEME +.. section: Library + +argparse and optparse no longer raises an exception when output a help on +environment with too small COLUMNS. Based on patch by Elazar Gershuni. + +.. + +.. bpo: 20207 +.. date: 9270 +.. nonce: ziIyF1 +.. section: Library + +Always disable SSLv2 except when PROTOCOL_SSLv2 is explicitly asked for. + +.. + +.. bpo: 20072 +.. date: 9269 +.. nonce: FzVG15 +.. section: Library + +Fixed multiple errors in tkinter with wantobjects is False. + +.. + +.. bpo: 1065986 +.. date: 9268 +.. nonce: pSaw56 +.. section: Library + +pydoc can now handle unicode strings. + +.. + +.. bpo: 16039 +.. date: 9267 +.. nonce: Cy3_BL +.. section: Library + +CVE-2013-1752: Change use of readline in imaplib module to limit line +length. Patch by Emil Lind. + +.. + +.. bpo: 19422 +.. date: 9266 +.. nonce: 1dRaPS +.. section: Library + +Explicitly disallow non-SOCK_STREAM sockets in the ssl module, rather than +silently let them emit clear text data. + +.. + +.. bpo: 20027 +.. date: 9265 +.. nonce: dtB7OG +.. section: Library + +Fixed locale aliases for devanagari locales. + +.. + +.. bpo: 20067 +.. date: 9264 +.. nonce: MlnlYd +.. section: Library + +Tkinter variables now work when wantobjects is false. + +.. + +.. bpo: 19020 +.. date: 9263 +.. nonce: _16K__ +.. section: Library + +Tkinter now uses splitlist() instead of split() in configure methods. + +.. + +.. bpo: 12226 +.. date: 9262 +.. nonce: -vXCBM +.. section: Library + +HTTPS is now used by default when connecting to PyPI. + +.. + +.. bpo: 20048 +.. date: 9261 +.. nonce: YvvUoW +.. section: Library + +Fixed ZipExtFile.peek() when it is called on the boundary of the uncompress +buffer and read() goes through more than one readbuffer. + +.. + +.. bpo: 20034 +.. date: 9260 +.. nonce: GlYpNX +.. section: Library + +Updated alias mapping to most recent locale.alias file from X.org +distribution using makelocalealias.py. + +.. + +.. bpo: 5815 +.. date: 9259 +.. nonce: FxSb0P +.. section: Library + +Fixed support for locales with modifiers. Fixed support for locale +encodings with hyphens. + +.. + +.. bpo: 20026 +.. date: 9258 +.. nonce: KO1jB6 +.. section: Library + +Fix the sqlite module to handle correctly invalid isolation level (wrong +type). + +.. + +.. bpo: 18829 +.. date: 9257 +.. nonce: QPwJFn +.. section: Library + +csv.Dialect() now checks type for delimiter, escapechar and quotechar +fields. Original patch by Vajrasky Kok. + +.. + +.. bpo: 19855 +.. date: 9256 +.. nonce: TtBUO6 +.. section: Library + +uuid.getnode() on Unix now looks on the PATH for the executables used to +find the mac address, with /sbin and /usr/sbin as fallbacks. + +.. + +.. bpo: 20007 +.. date: 9255 +.. nonce: IaSnPo +.. section: Library + +HTTPResponse.read(0) no more prematurely closes connection. Original patch +by Simon Sapin. + +.. + +.. bpo: 19912 +.. date: 9254 +.. nonce: TviIPi +.. section: Library + +Fixed numerous bugs in ntpath.splitunc(). + +.. + +.. bpo: 19623 +.. date: 9253 +.. nonce: cPL8XH +.. section: Library + +Fixed writing to unseekable files in the aifc module. Fixed writing 'ulaw' +(lower case) compressed AIFC files. + +.. + +.. bpo: 17919 +.. date: 9252 +.. nonce: H5iGXv +.. section: Library + +select.poll.register() again works with poll.POLLNVAL on AIX. Fixed integer +overflow in the eventmask parameter. + +.. + +.. bpo: 17200 +.. date: 9251 +.. nonce: y1euZh +.. section: Library + +telnetlib's read_until and expect timeout was broken by the fix to Issue +#14635 in Python 2.7.4 to be interpreted as milliseconds instead of seconds +when the platform supports select.poll (ie: everywhere). It is now treated +as seconds once again. + +.. + +.. bpo: 19099 +.. date: 9250 +.. nonce: U4CHJk +.. section: Library + +The struct module now supports Unicode format strings. + +.. + +.. bpo: 19878 +.. date: 9249 +.. nonce: 7oVPCy +.. section: Library + +Fix segfault in bz2 module after calling __init__ twice with non-existent +filename. Initial patch by Vajrasky Kok. + +.. + +.. bpo: 16373 +.. date: 9248 +.. nonce: 9drXFZ +.. section: Library + +Prevent infinite recursion for ABC Set class comparisons. + +.. + +.. bpo: 19138 +.. date: 9247 +.. nonce: xwKrX_ +.. section: Library + +doctest's IGNORE_EXCEPTION_DETAIL now allows a match when no exception +detail exists (no colon following the exception's name, or a colon does +follow but no text follows the colon). + +.. + +.. bpo: 16231 +.. date: 9246 +.. nonce: BospTf +.. section: Library + +Fixed pickle.Pickler to only fallback to its default pickling behaviour when +Pickler.persistent_id returns None, but not for any other false values. +This allows false values other than None to be used as persistent IDs. This +behaviour is consistent with cPickle. + +.. + +.. bpo: 11508 +.. date: 9245 +.. nonce: fx7Abs +.. section: Library + +Fixed uuid.getnode() and uuid.uuid1() on environment with virtual interface. +Original patch by Kent Frazier. + +.. + +.. bpo: 11489 +.. date: 9244 +.. nonce: 3ZQHi8 +.. section: Library + +JSON decoder now accepts lone surrogates. + +.. + +.. bpo: 0 +.. date: 9243 +.. nonce: mrzJif +.. section: Library + +Fix test.test_support.bind_port() to not cause an error when Python was +compiled on a system with SO_REUSEPORT defined in the headers but run on a +system with an OS kernel that does not support that new socket option. + +.. + +.. bpo: 19633 +.. date: 9242 +.. nonce: XJNQit +.. section: Library + +Fixed writing not compressed 16- and 32-bit wave files on big-endian +platforms. + +.. + +.. bpo: 19449 +.. date: 9241 +.. nonce: F2TbC_ +.. section: Library + +in csv's writerow, handle non-string keys when generating the error message +that certain keys are not in the 'fieldnames' list. + +.. + +.. bpo: 12853 +.. date: 9240 +.. nonce: Hf7EYH +.. section: Library + +Fix NameError in distutils.command.upload. + +.. + +.. bpo: 19523 +.. date: 9239 +.. nonce: tNiY9i +.. section: Library + +Closed FileHandler leak which occurred when delay was set. + +.. + +.. bpo: 1575020 +.. date: 9238 +.. nonce: skWyvl +.. section: Library + +Fixed support of 24-bit wave files on big-endian platforms. + +.. + +.. bpo: 19480 +.. date: 9237 +.. nonce: MY3dmW +.. section: Library + +HTMLParser now accepts all valid start-tag names as defined by the HTML5 +standard. + +.. + +.. bpo: 17827 +.. date: 9236 +.. nonce: HJGFDL +.. section: Library + +Add the missing documentation for ``codecs.encode`` and ``codecs.decode``. + +.. + +.. bpo: 6157 +.. date: 9235 +.. nonce: ZW67ae +.. section: Library + +Fixed Tkinter.Text.debug(). Original patch by Guilherme Polo. + +.. + +.. bpo: 6160 +.. date: 9234 +.. nonce: Mr5UuA +.. section: Library + +The bbox() method of tkinter.Spinbox now returns a tuple of integers instead +of a string. Based on patch by Guilherme Polo. + +.. + +.. bpo: 19286 +.. date: 9233 +.. nonce: TUZetF +.. section: Library + +Directories in ``package_data`` are no longer added to the filelist, +preventing failure outlined in the ticket. + +.. + +.. bpo: 6676 +.. date: 9232 +.. nonce: CJu5On +.. section: Library + +Ensure a meaningful exception is raised when attempting to parse more than +one XML document per pyexpat xmlparser instance. (Original patches by +Hirokazu Yamamoto and Amaury Forgeot d'Arc, with suggested wording by David +Gutteridge) + +.. + +.. bpo: 21311 +.. date: 9231 +.. nonce: JsDF8H +.. section: Library + +Avoid exception in _osx_support with non-standard compiler configurations. +Patch by John Szakmeister. + +.. + +.. bpo: 3561 +.. date: 9230 +.. nonce: DuNr6C +.. section: Tools/Demos + +The Windows installer now has an option, off by default, for placing the +Python installation into the system "Path" environment variable. This was +backported from Python 3.3. + +.. + +.. bpo: 0 +.. date: 9229 +.. nonce: _-ge-g +.. section: Tools/Demos + +Add support for ``yield from`` to 2to3. + +.. + +.. bpo: 0 +.. date: 9228 +.. nonce: dpFbyZ +.. section: Tools/Demos + +Add support for the PEP 465 matrix multiplication operator to 2to3. + +.. + +.. bpo: 19936 +.. date: 9227 +.. nonce: moet1K +.. section: Tools/Demos + +Added executable bits or shebang lines to Python scripts which requires +them. Disable executable bits and shebang lines in test and benchmark files +in order to prevent using a random system python, and in source files of +modules which don't provide command line interface. + +.. + +.. bpo: 18104 +.. date: 9226 +.. nonce: 8Fj9Pf +.. section: IDLE + +Add idlelib/idle_test/htest.py with a few sample tests to begin +consolidating and improving human-validated tests of Idle. Change other +files as needed to work with htest. Running the module as __main__ runs all +tests. + +.. + +.. bpo: 21139 +.. date: 9225 +.. nonce: kqetng +.. section: IDLE + +Change default paragraph width to 72, the PEP 8 recommendation. + +.. + +.. bpo: 21284 +.. date: 9224 +.. nonce: KKJfmv +.. section: IDLE + +Paragraph reformat test passes after user changes reformat width. + +.. + +.. bpo: 20406 +.. date: 9223 +.. nonce: AgBe_5 +.. section: IDLE + +Use Python application icons for Idle window title bars. Patch mostly by +Serhiy Storchaka. + +.. + +.. bpo: 21029 +.. date: 9222 +.. nonce: JnlAAt +.. section: IDLE + +Occurrences of "print" are now consistently colored as being a keyword (the +colorizer doesn't know if print functions are enabled in the source). + +.. + +.. bpo: 17721 +.. date: 9221 +.. nonce: 8Jh8C1 +.. section: IDLE + +Remove non-functional configuration dialog help button until we make it +actually gives some help when clicked. Patch by Guilherme Simões. + +.. + +.. bpo: 17390 +.. date: 9220 +.. nonce: 9m6ZhV +.. section: IDLE + +Add Python version to Idle editor window title bar. Original patches by +Edmond Burnett and Kent Johnson. + +.. + +.. bpo: 20058 +.. date: 9219 +.. nonce: KnDlhH +.. section: IDLE + +sys.stdin.readline() in IDLE now always returns only one line. + +.. + +.. bpo: 19481 +.. date: 9218 +.. nonce: b5EHmn +.. section: IDLE + +print() of unicode, str or bytearray subclass instance in IDLE no more +hangs. + +.. + +.. bpo: 18270 +.. date: 9217 +.. nonce: lu6dRW +.. section: IDLE + +Prevent possible IDLE AttributeError on OS X when no initial shell window is +present. + +.. + +.. bpo: 17654 +.. date: 9216 +.. nonce: NbzhNS +.. section: IDLE + +Ensure IDLE menus are customized properly on OS X for non-framework builds +and for all variants of Tk. + +.. + +.. bpo: 17752 +.. date: 9215 +.. nonce: P8iG44 +.. section: Tests + +Fix distutils tests when run from the installed location. + +.. + +.. bpo: 18604 +.. date: 9214 +.. nonce: Q00Xrj +.. section: Tests + +Consolidated checks for GUI availability. All platforms now at least check +whether Tk can be instantiated when the GUI resource is requested. + +.. + +.. bpo: 20946 +.. date: 9213 +.. nonce: iI4MlK +.. section: Tests + +Correct alignment assumptions of some ctypes tests. + +.. + +.. bpo: 20743 +.. date: 9212 +.. nonce: hxZQUf +.. section: Tests + +Fix a reference leak in test_tcl. + +.. + +.. bpo: 20510 +.. date: 9211 +.. nonce: X9p_K2 +.. section: Tests + +Rewrote test_exit in test_sys to match existing comments, use modern +unittest features, and use helpers from test.script_helper instead of using +subprocess directly. Initial patch by Gareth Rees. + +.. + +.. bpo: 20532 +.. date: 9210 +.. nonce: qsOt4d +.. section: Tests + +Tests which use _testcapi now are marked as CPython only. + +.. + +.. bpo: 19920 +.. date: 9209 +.. nonce: suOIC7 +.. section: Tests + +Added tests for TarFile.list(). Based on patch by Vajrasky Kok. + +.. + +.. bpo: 19990 +.. date: 9208 +.. nonce: Lp1MVj +.. section: Tests + +Added tests for the imghdr module. Based on patch by Claudiu Popa. + +.. + +.. bpo: 19804 +.. date: 9207 +.. nonce: xIHIl7 +.. section: Tests + +The test_find_mac test in test_uuid is now skipped if the ifconfig +executable is not available. + +.. + +.. bpo: 19886 +.. date: 9206 +.. nonce: nqDFRC +.. section: Tests + +Use better estimated memory requirements for bigmem tests. + +.. + +.. bpo: 0 +.. date: 9205 +.. nonce: 6LQ8qX +.. section: Tests + +Backported tests for Tkinter variables. + +.. + +.. bpo: 19320 +.. date: 9204 +.. nonce: 9x_cw5 +.. section: Tests + +test_tcl no longer fails when wantobjects is false. + +.. + +.. bpo: 19683 +.. date: 9203 +.. nonce: iD76Cq +.. section: Tests + +Removed empty tests from test_minidom. Initial patch by Ajitesh Gupta. + +.. + +.. bpo: 19928 +.. date: 9202 +.. nonce: dwOQ95 +.. section: Tests + +Implemented a test for repr() of cell objects. + +.. + +.. bpo: 19595 +.. date: 9201 +.. nonce: q5oNE_ +.. section: Tests + +Re-enabled a long-disabled test in test_winsound. (See also: bpo-19987) + +.. + +.. bpo: 19588 +.. date: 9200 +.. nonce: EXKxpC +.. section: Tests + +Fixed tests in test_random that were silently skipped most of the time. +Patch by Julian Gindi. + +.. + +.. bpo: 17883 +.. date: 9199 +.. nonce: rQfRpP +.. section: Tests + +Tweak test_tcl testLoadWithUNC to skip the test in the event of a permission +error on Windows and to properly report other skip conditions. + +.. + +.. bpo: 17883 +.. date: 9198 +.. nonce: 12qN1i +.. section: Tests + +Backported _is_gui_available() in test.test_support to avoid hanging Windows +buildbots on test_ttk_guionly. + +.. + +.. bpo: 18702 +.. date: 9197 +.. nonce: a2jP-V +.. section: Tests + +All skipped tests now reported as skipped. (See also: bpo-19572) + +.. + +.. bpo: 19085 +.. date: 9196 +.. nonce: Gcl9XX +.. section: Tests + +Added basic tests for all tkinter widget options. + +.. + +.. bpo: 20605 +.. date: 9195 +.. nonce: uef5pT +.. section: Tests + +Make test_socket getaddrinfo OS X segfault test more robust. + +.. + +.. bpo: 20939 +.. date: 9194 +.. nonce: x3KQ35 +.. section: Tests + +Avoid various network test failures due to new redirect of +http://www.python.org/ to https://www.python.org: use http://www.example.com +instead. + +.. + +.. bpo: 21093 +.. date: 9193 +.. nonce: CcpRim +.. section: Tests + +Prevent failures of ctypes test_macholib on OS X if a copy of libz exists in +$HOME/lib or /usr/local/lib. + +.. + +.. bpo: 21285 +.. date: 9192 +.. nonce: cU9p2E +.. section: Build + +Refactor and fix curses configure check to always search in a ncursesw +directory. + +.. + +.. bpo: 20255 +.. date: 9191 +.. nonce: P9HfTR +.. section: Documentation + +Update the about and bugs pages. + +.. + +.. bpo: 18840 +.. date: 9190 +.. nonce: _2UItV +.. section: Documentation + +Introduce the json module in the tutorial, and de-emphasize the pickle +module. + +.. + +.. bpo: 19795 +.. date: 9189 +.. nonce: z5sbe1 +.. section: Documentation + +Improved markup of True/False constants. + +.. + +.. bpo: 21303 +.. date: 9188 +.. nonce: AHY5As +.. section: Windows + +Updated the version of Tcl/Tk included in the installer from 8.5.2 to +8.5.15. (See also: bpo-20565) + +.. + +.. bpo: 0 +.. date: 9187 +.. nonce: FhpkVS +.. section: macOS + +As of 2.7.8, the 32-bit-only installer will support OS X 10.5 and later +systems as is currently done for Python 3.x installers. For 2.7.7 only, we +will provide three installers: the legacy deprecated 10.3+ 32-bit-only +format; the newer 10.5+ 32-bit-only format; and the unchanged 10.6+ +64-/32-bit format. Although binary installers will no longer be available +from python.org as of 2.7.8, it will still be possible to build from source +on 10.3.9 and 10.4 systems if necessary. See Mac/BuildScript/README.txt for +more information. diff --git a/Misc/NEWS.d/2.7.8.rst b/Misc/NEWS.d/2.7.8.rst new file mode 100644 index 0000000000..bd4462c1bd --- /dev/null +++ b/Misc/NEWS.d/2.7.8.rst @@ -0,0 +1,433 @@ +.. bpo: 4346 +.. date: 9373 +.. nonce: UASH7u +.. release date: 2014-06-29 +.. section: Core and Builtins + +In PyObject_CallMethod and PyObject_CallMethodObjArgs, don't overwrite the +error set in PyObject_GetAttr. + +.. + +.. bpo: 21831 +.. date: 9372 +.. nonce: LMoAu3 +.. section: Core and Builtins + +Avoid integer overflow when large sizes and offsets are given to the buffer +type. CVE-2014-7185. + +.. + +.. bpo: 19656 +.. date: 9371 +.. nonce: H_jvEi +.. section: Core and Builtins + +Running Python with the -3 option now also warns about non-ascii bytes +literals. + +.. + +.. bpo: 21642 +.. date: 9370 +.. nonce: CjIqaU +.. section: Core and Builtins + +If the conditional if-else expression, allow an integer written with no +space between itself and the ``else`` keyword (e.g. ``True if 42else +False``) to be valid syntax. + +.. + +.. bpo: 21523 +.. date: 9369 +.. nonce: f_PPYO +.. section: Core and Builtins + +Fix over-pessimistic computation of the stack effect of some opcodes in the +compiler. This also fixes a quadratic compilation time issue noticeable +when compiling code with a large number of "and" and "or" operators. + +.. + +.. bpo: 21652 +.. date: 9368 +.. nonce: kCNkbE +.. section: Library + +Prevent mimetypes.type_map from containing unicode keys on Windows. + +.. + +.. bpo: 21729 +.. date: 9367 +.. nonce: oa2kD6 +.. section: Library + +Used the "with" statement in the dbm.dumb module to ensure files closing. + +.. + +.. bpo: 21672 +.. date: 9366 +.. nonce: iMRNWM +.. section: Library + +Fix the behavior of ntpath.join on UNC-style paths. + +.. + +.. bpo: 19145 +.. date: 9365 +.. nonce: cRrKpW +.. section: Library + +The times argument for itertools.repeat now handles negative values the same +way for keyword arguments as it does for positional arguments. + +.. + +.. bpo: 21832 +.. date: 9364 +.. nonce: PBA0Uu +.. section: Library + +Require named tuple inputs to be exact strings. + +.. + +.. bpo: 8343 +.. date: 9363 +.. nonce: 2KNnCH +.. section: Library + +Named group error messages in the re module did not show the name of the +erroneous group. + +.. + +.. bpo: 21491 +.. date: 9362 +.. nonce: suNKZf +.. section: Library + +SocketServer: Fix a race condition in child processes reaping. + +.. + +.. bpo: 21635 +.. date: 9361 +.. nonce: ET3OJZ +.. section: Library + +The difflib SequenceMatcher.get_matching_blocks() method cache didn't match +the actual result. The former was a list of tuples and the latter was a +list of named tuples. + +.. + +.. bpo: 21722 +.. date: 9360 +.. nonce: WTHuRy +.. section: Library + +The distutils "upload" command now exits with a non-zero return code when +uploading fails. Patch by Martin Dengler. + +.. + +.. bpo: 21766 +.. date: 9359 +.. nonce: 0xk_xC +.. section: Library + +Prevent a security hole in CGIHTTPServer by URL unquoting paths before +checking for a CGI script at that path. + +.. + +.. bpo: 21310 +.. date: 9358 +.. nonce: 2mjByJ +.. section: Library + +Fixed possible resource leak in failed open(). + +.. + +.. bpo: 21304 +.. date: 9357 +.. nonce: xXyySz +.. section: Library + +Backport the key derivation function hashlib.pbkdf2_hmac from Python 3 per +PEP 466. + +.. + +.. bpo: 11709 +.. date: 9356 +.. nonce: JdObvL +.. section: Library + +Fix the pydoc.help function to not fail when sys.stdin is not a valid file. + +.. + +.. bpo: 13223 +.. date: 9355 +.. nonce: 9AzEbN +.. section: Library + +Fix pydoc.writedoc so that the HTML documentation for methods that use +'self' in the example code is generated correctly. + +.. + +.. bpo: 21552 +.. date: 9354 +.. nonce: uVy4tM +.. section: Library + +Fixed possible integer overflow of too long string lengths in the tkinter +module on 64-bit platforms. + +.. + +.. bpo: 14315 +.. date: 9353 +.. nonce: YzZzS8 +.. section: Library + +The zipfile module now ignores extra fields in the central directory that +are too short to be parsed instead of letting a struct.unpack error bubble +up as this "bad data" appears in many real world zip files in the wild and +is ignored by other zip tools. + +.. + +.. bpo: 21402 +.. date: 9352 +.. nonce: GuVy1L +.. section: Library + +Tkinter.ttk now works when default root window is not set. + +.. + +.. bpo: 10203 +.. date: 9351 +.. nonce: gERvVk +.. section: Library + +sqlite3.Row now truly supports sequence protocol. In particulr it supports +reverse() and negative indices. Original patch by Claudiu Popa. + +.. + +.. bpo: 8743 +.. date: 9350 +.. nonce: I6_2r3 +.. section: Library + +Fix interoperability between set objects and the collections.Set() abstract +base class. + +.. + +.. bpo: 21481 +.. date: 9349 +.. nonce: YDrlf7 +.. section: Library + +Argparse equality and inequality tests now return NotImplemented when +comparing to an unknown type. + +.. + +.. bpo: 21940 +.. date: 9348 +.. nonce: VlIRz7 +.. section: IDLE + +Add unittest for WidgetRedirector. Initial patch by Saimadhav Heblikar. + +.. + +.. bpo: 18592 +.. date: 9347 +.. nonce: sMG-SZ +.. section: IDLE + +Add unittest for SearchDialogBase. Patch by Phil Webster. + +.. + +.. bpo: 21694 +.. date: 9346 +.. nonce: 1oLmRo +.. section: IDLE + +Add unittest for ParenMatch. Patch by Saimadhav Heblikar. + +.. + +.. bpo: 21686 +.. date: 9345 +.. nonce: TAkFB0 +.. section: IDLE + +add unittest for HyperParser. Original patch by Saimadhav Heblikar. + +.. + +.. bpo: 12387 +.. date: 9344 +.. nonce: XO7Ozk +.. section: IDLE + +Add missing upper(lower)case versions of default Windows key bindings for +Idle so Caps Lock does not disable them. Patch by Roger Serwy. + +.. + +.. bpo: 21695 +.. date: 9343 +.. nonce: g-t0Tm +.. section: IDLE + +Closing a Find-in-files output window while the search is still in progress +no longer closes Idle. + +.. + +.. bpo: 18910 +.. date: 9342 +.. nonce: ke8lMK +.. section: IDLE + +Add unittest for textView. Patch by Phil Webster. + +.. + +.. bpo: 18292 +.. date: 9341 +.. nonce: ks_3wm +.. section: IDLE + +Add unittest for AutoExpand. Patch by Saihadhav Heblikar. + +.. + +.. bpo: 18409 +.. date: 9340 +.. nonce: 7fe-aK +.. section: IDLE + +Add unittest for AutoComplete. Patch by Phil Webster. + +.. + +.. bpo: 20155 +.. date: 9339 +.. nonce: nphzS3 +.. section: Tests + +Changed HTTP method names in failing tests in test_httpservers so that +packet filtering software (specifically Windows Base Filtering Engine) does +not interfere with the transaction semantics expected by the tests. + +.. + +.. bpo: 19493 +.. date: 9338 +.. nonce: SwbzLQ +.. section: Tests + +Refactored the ctypes test package to skip tests explicitly rather than +silently. + +.. + +.. bpo: 18492 +.. date: 9337 +.. nonce: ylPRU7 +.. section: Tests + +All resources are now allowed when tests are not run by regrtest.py. + +.. + +.. bpo: 21605 +.. date: 9336 +.. nonce: qsLV8d +.. section: Tests + +Added tests for Tkinter images. + +.. + +.. bpo: 21493 +.. date: 9335 +.. nonce: NqhRsy +.. section: Tests + +Added test for ntpath.expanduser(). Original patch by Claudiu Popa. + +.. + +.. bpo: 19925 +.. date: 9334 +.. nonce: dhMx08 +.. section: Tests + +Added tests for the spwd module. Original patch by Vajrasky Kok. + +.. + +.. bpo: 13355 +.. date: 9333 +.. nonce: gCByXK +.. section: Tests + +random.triangular() no longer fails with a ZeroDivisionError when low equals +high. + +.. + +.. bpo: 21522 +.. date: 9332 +.. nonce: b-VwFW +.. section: Tests + +Added Tkinter tests for Listbox.itemconfigure(), +PanedWindow.paneconfigure(), and Menu.entryconfigure(). + +.. + +.. bpo: 20635 +.. date: 9331 +.. nonce: mzWmoS +.. section: Tests + +Added tests for Tk geometry managers. + +.. + +.. bpo: 21811 +.. date: 9330 +.. nonce: 3_Xyr- +.. section: Build + +Anticipated fixes to support OS X versions > 10.9. + +.. + +.. bpo: 21671 +.. date: 9329 +.. nonce: sm-hhO +.. section: Windows + +The bundled version of OpenSSL has been updated to 1.0.1h. (See also: +CVE-2014-0224) diff --git a/Misc/NEWS.d/2.7.9.rst b/Misc/NEWS.d/2.7.9.rst new file mode 100644 index 0000000000..15cbfe98cb --- /dev/null +++ b/Misc/NEWS.d/2.7.9.rst @@ -0,0 +1,65 @@ +.. bpo: 22959 +.. date: 9494 +.. nonce: FioVGu +.. release date: 2014-12-10 +.. section: Library + +Remove the *check_hostname* parameter of httplib.HTTPSConnection. The +*context* parameter should be used instead. + +.. + +.. bpo: 16043 +.. date: 9493 +.. nonce: TGIC7t +.. section: Library + +Add a default limit for the amount of data xmlrpclib.gzip_decode will +return. This resolves CVE-2013-1753. + +.. + +.. bpo: 16042 +.. date: 9492 +.. nonce: 7I3FPy +.. section: Library + +CVE-2013-1752: smtplib: Limit amount of data read by limiting the call to +readline(). Original patch by Christian Heimes. + +.. + +.. bpo: 16041 +.. date: 9491 +.. nonce: TyhfVi +.. section: Library + +In poplib, limit maximum line length read from the server to prevent +CVE-2013-1752. + +.. + +.. bpo: 22960 +.. date: 9490 +.. nonce: J-KiZ3 +.. section: Library + +Add a context argument to xmlrpclib.ServerProxy. + +.. + +.. bpo: 22935 +.. date: 9489 +.. nonce: -vY3lc +.. section: Build + +Allow the ssl module to be compiled if openssl doesn't support SSL 3. + +.. + +.. bpo: 17128 +.. date: 9488 +.. nonce: JMdOBP +.. section: Build + +Use private version of OpenSSL for 2.7.9 OS X 10.5+ installer. diff --git a/Misc/NEWS.d/2.7.9rc1.rst b/Misc/NEWS.d/2.7.9rc1.rst new file mode 100644 index 0000000000..45782bd9e5 --- /dev/null +++ b/Misc/NEWS.d/2.7.9rc1.rst @@ -0,0 +1,1124 @@ +.. bpo: 21963 +.. date: 9487 +.. nonce: eUwKx1 +.. release date: 2014-11-25 +.. section: Core and Builtins + +backout issue #1856 patch (avoid crashes and lockups when daemon threads run +while the interpreter is shutting down; instead, these threads are now +killed when they try to take the GIL), as it seems to break some existing +code. + +.. + +.. bpo: 22604 +.. date: 9486 +.. nonce: yii-It +.. section: Core and Builtins + +Fix assertion error in debug mode when dividing a complex number by +(nan+0j). + +.. + +.. bpo: 22470 +.. date: 9485 +.. nonce: Lc7ZPK +.. section: Core and Builtins + +Fixed integer overflow issues in "backslashreplace" and "xmlcharrefreplace" +error handlers. + +.. + +.. bpo: 22526 +.. date: 9484 +.. nonce: Oc9lar +.. section: Core and Builtins + +Fix iterating through files with lines longer than 2^31 bytes. + +.. + +.. bpo: 22519 +.. date: 9483 +.. nonce: zTlQLy +.. section: Core and Builtins + +Fix overflow checking in PyString_Repr. + +.. + +.. bpo: 22518 +.. date: 9482 +.. nonce: C9T6ed +.. section: Core and Builtins + +Fix integer overflow issues in latin-1 encoding. + +.. + +.. bpo: 22379 +.. date: 9481 +.. nonce: 4_3Ge- +.. section: Core and Builtins + +Fix empty exception message in a TypeError raised in ``str.join``. + +.. + +.. bpo: 22221 +.. date: 9480 +.. nonce: t0BE8h +.. section: Core and Builtins + +Now the source encoding declaration on the second line isn't effective if +the first line contains anything except a comment. + +.. + +.. bpo: 22023 +.. date: 9479 +.. nonce: id5Xei +.. section: Core and Builtins + +Fix ``%S``, ``%R`` and ``%V`` formats of :c:func:`PyUnicode_FromFormat`. + +.. + +.. bpo: 21591 +.. date: 9478 +.. nonce: hJVYlf +.. section: Core and Builtins + +Correctly handle qualified exec statements in tuple form by moving +compatibility layer from run-time to AST transformation. + +.. + +.. bpo: 22417 +.. date: 9477 +.. nonce: To4b7U +.. section: Library + +Verify certificates by default in httplib (PEP 476). + +.. + +.. bpo: 22927 +.. date: 9476 +.. nonce: TKaKOP +.. section: Library + +Allow urllib.urlopen to take a *context* parameter to control SSL settings +for HTTPS connections. + +.. + +.. bpo: 22921 +.. date: 9475 +.. nonce: a4wx1C +.. section: Library + +Allow SSLContext to take the *hostname* parameter even if OpenSSL doesn't +support SNI. + +.. + +.. bpo: 9003 +.. date: 9474 +.. nonce: VCncsy +.. section: Library + +httplib.HTTPSConnection, urllib2.HTTPSHandler and urllib2.urlopen now take +optional arguments to allow for server certificate checking, as recommended +in public uses of HTTPS. This backport is part of PEP 467. (See also: +bpo-22366) + +.. + +.. bpo: 12728 +.. date: 9473 +.. nonce: rHZmXO +.. section: Library + +Different Unicode characters having the same uppercase but different +lowercase are now matched in case-insensitive regular expressions. + +.. + +.. bpo: 22821 +.. date: 9472 +.. nonce: 30cQ-U +.. section: Library + +Fixed fcntl() with integer argument on 64-bit big-endian platforms. + +.. + +.. bpo: 17293 +.. date: 9471 +.. nonce: Hk06bO +.. section: Library + +uuid.getnode() now determines MAC address on AIX using netstat. Based on +patch by Aivars Kalvāns. + +.. + +.. bpo: 22769 +.. date: 9470 +.. nonce: PunnvQ +.. section: Library + +Fixed ttk.Treeview.tag_has() when called without arguments. + +.. + +.. bpo: 22787 +.. date: 9469 +.. nonce: QIzbnh +.. section: Library + +Allow the keyfile argument of SSLContext.load_cert_chain to be None. + +.. + +.. bpo: 22775 +.. date: 9468 +.. nonce: 9X-KKA +.. section: Library + +Fixed unpickling of Cookie.SimpleCookie with protocol 2. Patch by Tim +Graham. + +.. + +.. bpo: 22776 +.. date: 9467 +.. nonce: xNcRse +.. section: Library + +Brought excluded code into the scope of a try block in SysLogHandler.emit(). + +.. + +.. bpo: 17381 +.. date: 9466 +.. nonce: IrcC9I +.. section: Library + +Fixed ranges handling in case-insensitive regular expressions. + +.. + +.. bpo: 19329 +.. date: 9465 +.. nonce: f3o3tr +.. section: Library + +Optimized compiling charsets in regular expressions. + +.. + +.. bpo: 22410 +.. date: 9464 +.. nonce: 99YFdd +.. section: Library + +Module level functions in the re module now cache compiled locale-dependent +regular expressions taking into account the locale. + +.. + +.. bpo: 8876 +.. date: 9463 +.. nonce: A83Av4 +.. section: Library + +distutils now falls back to copying files when hard linking doesn't work. +This allows use with special filesystems such as VirtualBox shared folders. + +.. + +.. bpo: 9351 +.. date: 9462 +.. nonce: u5UI-6 +.. section: Library + +Defaults set with set_defaults on an argparse subparser are no longer +ignored when also set on the parent parser. + +.. + +.. bpo: 20421 +.. date: 9461 +.. nonce: iR0S1s +.. section: Library + +Add a .version() method to SSL sockets exposing the actual protocol version +in use. + +.. + +.. bpo: 22435 +.. date: 9460 +.. nonce: Mrmeio +.. section: Library + +Fix a file descriptor leak when SocketServer bind fails. + +.. + +.. bpo: 13664 +.. date: 9459 +.. nonce: tjVs9o +.. section: Library + +GzipFile now supports non-ascii Unicode filenames. + +.. + +.. bpo: 13096 +.. date: 9458 +.. nonce: rsailB +.. section: Library + +Fixed segfault in CTypes POINTER handling of large values. + +.. + +.. bpo: 11694 +.. date: 9457 +.. nonce: JuDrch +.. section: Library + +Raise ConversionError in xdrlib as documented. Patch by Filip Gruszczyński +and Claudiu Popa. + +.. + +.. bpo: 1686 +.. date: 9456 +.. nonce: -w9zEU +.. section: Library + +Fix string.Template when overriding the pattern attribute. + +.. + +.. bpo: 11866 +.. date: 9455 +.. nonce: xrvbIC +.. section: Library + +Eliminated race condition in the computation of names for new threads. + +.. + +.. bpo: 22219 +.. date: 9454 +.. nonce: l9Enh9 +.. section: Library + +The zipfile module CLI now adds entries for directories (including empty +directories) in ZIP file. + +.. + +.. bpo: 22449 +.. date: 9453 +.. nonce: nFW_Fl +.. section: Library + +In the ssl.SSLContext.load_default_certs, consult the environmental +variables SSL_CERT_DIR and SSL_CERT_FILE on Windows. + +.. + +.. bpo: 8473 +.. date: 9452 +.. nonce: QcfDba +.. section: Library + +doctest.testfile now uses universal newline mode to read the test file. + +.. + +.. bpo: 20076 +.. date: 9451 +.. nonce: -7OIVB +.. section: Library + +Added non derived UTF-8 aliases to locale aliases table. + +.. + +.. bpo: 20079 +.. date: 9450 +.. nonce: qM949O +.. section: Library + +Added locales supported in glibc 2.18 to locale alias table. + +.. + +.. bpo: 22530 +.. date: 9449 +.. nonce: 4EcK4x +.. section: Library + +Allow the ``group()`` method of regular expression match objects to take a +``long`` as an index. + +.. + +.. bpo: 22517 +.. date: 9448 +.. nonce: qT6-aB +.. section: Library + +When an io.BufferedRWPair object is deallocated, clear its weakrefs. + +.. + +.. bpo: 10510 +.. date: 9447 +.. nonce: N-ntcD +.. section: Library + +distutils register and upload methods now use HTML standards compliant CRLF +line endings. + +.. + +.. bpo: 9850 +.. date: 9446 +.. nonce: D-UnVi +.. section: Library + +Fixed macpath.join() for empty first component. Patch by Oleg Oshmyan. + +.. + +.. bpo: 20912 +.. date: 9445 +.. nonce: cAq3mZ +.. section: Library + +Now directories added to ZIP file have correct Unix and MS-DOS directory +attributes. + +.. + +.. bpo: 21866 +.. date: 9444 +.. nonce: hSc4wM +.. section: Library + +ZipFile.close() no longer writes ZIP64 central directory records if +allowZip64 is false. + +.. + +.. bpo: 22415 +.. date: 9443 +.. nonce: VKFghV +.. section: Library + +Fixed debugging output of the GROUPREF_EXISTS opcode in the re module. + +.. + +.. bpo: 22423 +.. date: 9442 +.. nonce: Rtb4oT +.. section: Library + +Unhandled exception in thread no longer causes unhandled AttributeError when +sys.stderr is None. + +.. + +.. bpo: 22419 +.. date: 9441 +.. nonce: FqH4aC +.. section: Library + +Limit the length of incoming HTTP request in wsgiref server to 65536 bytes +and send a 414 error code for higher lengths. Patch contributed by Devin +Cook. + +.. + +.. bpo: 0 +.. date: 9440 +.. nonce: y7r3O2 +.. section: Library + +Lax cookie parsing in http.cookies could be a security issue when combined +with non-standard cookie handling in some Web browsers. Reported by Sergey +Bobrov. + +.. + +.. bpo: 21147 +.. date: 9439 +.. nonce: w9DE17 +.. section: Library + +sqlite3 now raises an exception if the request contains a null character +instead of truncating it. Based on patch by Victor Stinner. + +.. + +.. bpo: 21951 +.. date: 9438 +.. nonce: 3vS4LK +.. section: Library + +Fixed a crash in Tkinter on AIX when called Tcl command with empty string or +tuple argument. + +.. + +.. bpo: 21951 +.. date: 9437 +.. nonce: _CCC4v +.. section: Library + +Tkinter now most likely raises MemoryError instead of crash if the memory +allocation fails. + +.. + +.. bpo: 22226 +.. date: 9436 +.. nonce: T1ZMPY +.. section: Library + +First letter no longer is stripped from the "status" key in the result of +Treeview.heading(). + +.. + +.. bpo: 22051 +.. date: 9435 +.. nonce: cUjFqL +.. section: Library + +turtledemo no longer reloads examples to re-run them. Initialization of +variables and gui setup should be done in main(), which is called each time +a demo is run, but not on import. + +.. + +.. bpo: 21597 +.. date: 9434 +.. nonce: aPTCWJ +.. section: Library + +The separator between the turtledemo text pane and the drawing canvas can +now be grabbed and dragged with a mouse. The code text pane can be widened +to easily view or copy the full width of the text. The canvas can be +widened on small screens. Original patches by Jan Kanis and Lita Cho. + +.. + +.. bpo: 18132 +.. date: 9433 +.. nonce: 2R2nwM +.. section: Library + +Turtledemo buttons no longer disappear when the window is shrunk. Original +patches by Jan Kanis and Lita Cho. + +.. + +.. bpo: 22312 +.. date: 9432 +.. nonce: WP13o8 +.. section: Library + +Fix ntpath.splitdrive IndexError. + +.. + +.. bpo: 22216 +.. date: 9431 +.. nonce: Cmalu6 +.. section: Library + +smtplib now resets its state more completely after a quit. The most obvious +consequence of the previous behavior was a STARTTLS failure during a +connect/starttls/quit/connect/starttls sequence. + +.. + +.. bpo: 21305 +.. date: 9430 +.. nonce: Fl8I5B +.. section: Library + +os.urandom now caches a fd to /dev/urandom. This is a PEP 466 backport from +Python 3. + +.. + +.. bpo: 21307 +.. date: 9429 +.. nonce: U7iiqX +.. section: Library + +As part of PEP 466, backport hashlib.algorithms_guaranteed and +hashlib.algorithms_available. + +.. + +.. bpo: 22259 +.. date: 9428 +.. nonce: 6v9wLm +.. section: Library + +Fix segfault when attempting to fopen a file descriptor corresponding to a +directory. + +.. + +.. bpo: 22236 +.. date: 9427 +.. nonce: 1utXkg +.. section: Library + +Fixed Tkinter images copying operations in NoDefaultRoot mode. + +.. + +.. bpo: 22191 +.. date: 9426 +.. nonce: 1K-CmD +.. section: Library + +Fixed warnings.__all__. + +.. + +.. bpo: 21308 +.. date: 9425 +.. nonce: _z9b8i +.. section: Library + +Backport numerous features from Python's ssl module. This is part of PEP +466. + +.. + +.. bpo: 15696 +.. date: 9424 +.. nonce: PTwXYJ +.. section: Library + +Add a __sizeof__ implementation for mmap objects on Windows. + +.. + +.. bpo: 8797 +.. date: 9423 +.. nonce: aJcIPu +.. section: Library + +Raise HTTPError on failed Basic Authentication immediately. Initial patch by +Sam Bull. + +.. + +.. bpo: 22068 +.. date: 9422 +.. nonce: wCdaW0 +.. section: Library + +Avoided reference loops with Variables and Fonts in Tkinter. + +.. + +.. bpo: 21448 +.. date: 9421 +.. nonce: THJSYB +.. section: Library + +Changed FeedParser feed() to avoid O(N**2) behavior when parsing long line. +Original patch by Raymond Hettinger. + +.. + +.. bpo: 17923 +.. date: 9420 +.. nonce: YI_QjG +.. section: Library + +glob() patterns ending with a slash no longer match non-dirs on AIX. Based +on patch by Delhallt. + +.. + +.. bpo: 21975 +.. date: 9419 +.. nonce: MI8ntO +.. section: Library + +Fixed crash when using uninitialized sqlite3.Row (in particular when +unpickling pickled sqlite3.Row). sqlite3.Row is now initialized in the +__new__() method. + +.. + +.. bpo: 16037 +.. date: 9418 +.. nonce: q6A9-W +.. section: Library + +HTTPMessage.readheaders() raises an HTTPException when more than 100 headers +are read. Patch by Jyrki Pulliainen and Daniel Eriksson. + +.. + +.. bpo: 21580 +.. date: 9417 +.. nonce: BUIf7o +.. section: Library + +Now Tkinter correctly handles binary "data" and "maskdata" configure options +of tkinter.PhotoImage. + +.. + +.. bpo: 19612 +.. date: 9416 +.. nonce: xvU6AH +.. section: Library + +subprocess.communicate() now also ignores EINVAL when using at least two +pipes. + +.. + +.. bpo: 0 +.. date: 9415 +.. nonce: aDlT3j +.. section: Library + +Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError on +closed socket. + +.. + +.. bpo: 16133 +.. date: 9414 +.. nonce: 6cKWd2 +.. section: Library + +The asynchat.async_chat.handle_read() method now ignores socket.error() +exceptions with blocking I/O errors: EAGAIN, EALREADY, EINPROGRESS, or +EWOULDBLOCK. + +.. + +.. bpo: 21990 +.. date: 9413 +.. nonce: _lujpf +.. section: Library + +Clean-up unnecessary and slow inner class definition in saxutils +(Contributed by Alex Gaynor). + +.. + +.. bpo: 1730136 +.. date: 9412 +.. nonce: sqWp2M +.. section: Library + +Fix the comparison between a tkFont.Font and an object of another kind. + +.. + +.. bpo: 19884 +.. date: 9411 +.. nonce: 6cbo0V +.. section: Library + +readline: Disable the meta modifier key if stdout is not a terminal to not +write the ANSI sequence "\033[1034h" into stdout. This sequence is used on +some terminal (ex: TERM=xterm-256color") to enable support of 8 bit +characters. + +.. + +.. bpo: 22017 +.. date: 9410 +.. nonce: BojGgr +.. section: Library + +Correct reference counting error in the initialization of the _warnings +module. + +.. + +.. bpo: 21868 +.. date: 9409 +.. nonce: q_ZIvF +.. section: Library + +Prevent turtle crash when undo buffer set to a value less than one. + +.. + +.. bpo: 21151 +.. date: 9408 +.. nonce: T7tb9Q +.. section: Library + +Fixed a segfault in the _winreg module when ``None`` is passed as a +``REG_BINARY`` value to SetValueEx. Patch by John Ehresman. + +.. + +.. bpo: 21090 +.. date: 9407 +.. nonce: 20Ooif +.. section: Library + +io.FileIO.readall() does not ignore I/O errors anymore. Before, it ignored +I/O errors if at least the first C call read() succeed. + +.. + +.. bpo: 19870 +.. date: 9406 +.. nonce: 3QBvmj +.. section: Library + +BaseCookie now parses 'secure' and 'httponly' flags. Backport of issue +#16611. + +.. + +.. bpo: 21923 +.. date: 9405 +.. nonce: hXnoZa +.. section: Library + +Prevent AttributeError in distutils.sysconfig.customize_compiler due to +possible uninitialized _config_vars. + +.. + +.. bpo: 21323 +.. date: 9404 +.. nonce: yRf1v6 +.. section: Library + +Fix CGIHTTPServer to again handle scripts in CGI subdirectories, broken by +the fix for security issue #19435. Patch by Zach Byrne. + +.. + +.. bpo: 22199 +.. date: 9403 +.. nonce: SIwKds +.. section: Library + +Make get_makefile_filename() available in Lib/sysconfig.py for 2.7 to match +other versions of sysconfig. + +.. + +.. bpo: 3068 +.. date: 9402 +.. nonce: TYjXTA +.. section: IDLE + +Add Idle extension configuration dialog to Options menu. Changes are written +to HOME/.idlerc/config-extensions.cfg. Original patch by Tal Einat. + +.. + +.. bpo: 16233 +.. date: 9401 +.. nonce: sOadNo +.. section: IDLE + +A module browser (File : Class Browser, Alt+C) requires an editor window +with a filename. When Class Browser is requested otherwise, from a shell, +output window, or 'Untitled' editor, Idle no longer displays an error box. +It now pops up an Open Module box (Alt+M). If a valid name is entered and a +module is opened, a corresponding browser is also opened. + +.. + +.. bpo: 4832 +.. date: 9400 +.. nonce: GRKi9M +.. section: IDLE + +Save As to type Python files automatically adds .py to the name you enter +(even if your system does not display it). Some systems automatically add +.txt when type is Text files. + +.. + +.. bpo: 21986 +.. date: 9399 +.. nonce: 04GUv2 +.. section: IDLE + +Code objects are not normally pickled by the pickle module. To match this, +they are no longer pickled when running under Idle. + +.. + +.. bpo: 22221 +.. date: 9398 +.. nonce: d87SuA +.. section: IDLE + +IDLE now ignores the source encoding declaration on the second line if the +first line contains anything except a comment. + +.. + +.. bpo: 17390 +.. date: 9397 +.. nonce: I4vHFh +.. section: IDLE + +Adjust Editor window title; remove 'Python', move version to end. + +.. + +.. bpo: 14105 +.. date: 9396 +.. nonce: -FZwYH +.. section: IDLE + +Idle debugger breakpoints no longer disappear when inserting or deleting +lines. + +.. + +.. bpo: 22381 +.. date: 9395 +.. nonce: 6ngdZW +.. section: Library + +Update zlib to 1.2.8. + +.. + +.. bpo: 22176 +.. date: 9394 +.. nonce: rgbRyg +.. section: Library + +Update the ctypes module's libffi to v3.1. This release adds support for +the Linux AArch64 and POWERPC ELF ABIv2 little endian architectures. + +.. + +.. bpo: 10712 +.. date: 9393 +.. nonce: rnd0oc +.. section: Tools/Demos + +2to3 has a new "asserts" fixer that replaces deprecated names of unittest +methods (e.g. failUnlessEqual -> assertEqual). + +.. + +.. bpo: 22221 +.. date: 9392 +.. nonce: vONLqA +.. section: Tools/Demos + +2to3 and the findnocoding.py script now ignore the source encoding +declaration on the second line if the first line contains anything except a +comment. + +.. + +.. bpo: 22201 +.. date: 9391 +.. nonce: k1Awbh +.. section: Tools/Demos + +Command-line interface of the zipfile module now correctly extracts ZIP +files with directory entries. Patch by Ryan Wilson. + +.. + +.. bpo: 22236 +.. date: 9390 +.. nonce: ginJSI +.. section: Tests + +Tkinter tests now don't reuse default root window. New root window is +created for every test class. + +.. + +.. bpo: 18004 +.. date: 9389 +.. nonce: jPXten +.. section: Tests + +test_overflow in test_list by mistake consumed 40 GiB of memory on 64-bit +systems. + +.. + +.. bpo: 21976 +.. date: 9388 +.. nonce: Slq6se +.. section: Tests + +Fix test_ssl to accept LibreSSL version strings. Thanks to William Orr. + +.. + +.. bpo: 22770 +.. date: 9387 +.. nonce: FxAh91 +.. section: Tests + +Prevent some Tk segfaults on OS X when running gui tests. + +.. + +.. bpo: 20221 +.. date: 9386 +.. nonce: _yAetK +.. section: Build + +Removed conflicting (or circular) hypot definition when compiled with VS +2010 or above. Initial patch by Tabrez Mohammed. + +.. + +.. bpo: 16537 +.. date: 9385 +.. nonce: llFo71 +.. section: Build + +Check whether self.extensions is empty in setup.py. Patch by Jonathan +Hosmer. + +.. + +.. bpo: 0 +.. date: 9384 +.. nonce: YZUllw +.. section: Build + +The documentation Makefile no longer automatically downloads Sphinx. Users +are now required to have Sphinx already installed to build the +documentation. + +.. + +.. bpo: 21958 +.. date: 9383 +.. nonce: 3rq4qR +.. section: Build + +Define HAVE_ROUND when building with Visual Studio 2013 and above. Patch by +Zachary Turner. + +.. + +.. bpo: 15759 +.. date: 9382 +.. nonce: iGLR6O +.. section: Build + +"make suspicious", "make linkcheck" and "make doctest" in Doc/ now display +special message when and only when there are failures. + +.. + +.. bpo: 21166 +.. date: 9381 +.. nonce: KAl7aO +.. section: Build + +Prevent possible segfaults and other random failures of python --generate- +posix-vars in pybuilddir.txt build target. + +.. + +.. bpo: 18096 +.. date: 9380 +.. nonce: ELyAUJ +.. section: Build + +Fix library order returned by python-config. + +.. + +.. bpo: 17219 +.. date: 9379 +.. nonce: q8ueQ0 +.. section: Build + +Add library build dir for Python extension cross-builds. + +.. + +.. bpo: 22877 +.. date: 9378 +.. nonce: nq_snR +.. section: Build + +PEP 477 - OS X installer now installs pip. + +.. + +.. bpo: 22878 +.. date: 9377 +.. nonce: y4UnOy +.. section: Build + +PEP 477 - "make install" and "make altinstall" can now install or upgrade +pip, using the bundled pip provided by the backported ensurepip module. A +configure option, --with-ensurepip[=upgrade|install|no], is available to set +the option for subsequent installs; the default for Python 2 in "no" (do not +install or upgrade pip). The option can also be set with "make [alt]install +ENSUREPIP=[upgrade|install|no]". + +.. + +.. bpo: 17896 +.. date: 9376 +.. nonce: o79rHM +.. section: Windows + +The Windows build scripts now expect external library sources to be in +``PCbuild\..\externals`` rather than ``PCbuild\..\..``. + +.. + +.. bpo: 17717 +.. date: 9375 +.. nonce: y1zoye +.. section: Windows + +The Windows build scripts now use a copy of NASM pulled from svn.python.org +to build OpenSSL. + +.. + +.. bpo: 22644 +.. date: 9374 +.. nonce: gosBki +.. section: Windows + +The bundled version of OpenSSL has been updated to 1.0.1j. diff --git a/Misc/NEWS.d/2.7.rst b/Misc/NEWS.d/2.7.rst new file mode 100644 index 0000000000..fad05370ac --- /dev/null +++ b/Misc/NEWS.d/2.7.rst @@ -0,0 +1,46 @@ +.. bpo: 0 +.. date: 8096 +.. nonce: HgSXMh +.. release date: 2010-07-03 +.. section: Core and Builtins + +Prevent assignment to set literals. + +.. + +.. bpo: 1868 +.. date: 8095 +.. nonce: 8rTkvC +.. section: Library + +Eliminate subtle timing issues in thread-local objects by getting rid of the +cached copy of thread-local attribute dictionary. + +.. + +.. bpo: 9125 +.. date: 8094 +.. nonce: bm97Ws +.. section: Library + +Add recognition of 'except ... as ...' syntax to parser module. + +.. + +.. bpo: 7673 +.. date: 8093 +.. nonce: cDxsD2 +.. section: Library + +Fix security vulnerability (CVE-2010-2089) in the audioop module, ensure +that the input string length is a multiple of the frame size. + +.. + +.. bpo: 9075 +.. date: 8092 +.. nonce: kvxac2 +.. section: Library + +In the ssl module, remove the setting of a ``debug`` flag on an OpenSSL +structure. diff --git a/Misc/NEWS.d/2.7a1.rst b/Misc/NEWS.d/2.7a1.rst new file mode 100644 index 0000000000..5d0f99c623 --- /dev/null +++ b/Misc/NEWS.d/2.7a1.rst @@ -0,0 +1,5751 @@ +.. bpo: 7419 +.. date: 7759 +.. nonce: k1cFGq +.. release date: 2009-12-05 +.. section: Core and Builtins + +``locale.setlocale()`` could crash the interpreter on Windows when called +with invalid values. + +.. + +.. bpo: 3382 +.. date: 7758 +.. nonce: gtmT4T +.. section: Core and Builtins + +'F' formatting for float and complex now convert the result to upper case. +This only affects 'inf' and 'nan', since 'f' no longer converts to 'g' for +large values. + +.. + +.. bpo: 0 +.. date: 7757 +.. nonce: fw7KHO +.. section: Core and Builtins + +Remove switch from "%f" formatting to "%g" formatting for floats larger than +1e50 in absolute value. + +.. + +.. bpo: 0 +.. date: 7756 +.. nonce: npJH0D +.. section: Core and Builtins + +Remove restrictions on precision when formatting floats. E.g., "%.120g" % +1e-100 used to raise OverflowError, but now gives the requested 120 +significant digits instead. + +.. + +.. bpo: 0 +.. date: 7755 +.. nonce: Z3-djS +.. section: Core and Builtins + +Add Py3k warnings for parameter names in parentheses. + +.. + +.. bpo: 7362 +.. date: 7754 +.. nonce: wy5JgV +.. section: Core and Builtins + +Give a proper error message for ``def f((x)=3): pass``. + +.. + +.. bpo: 7085 +.. date: 7753 +.. nonce: 1mo7hs +.. section: Core and Builtins + +Fix crash when importing some extensions in a thread on MacOSX 10.6. + +.. + +.. bpo: 7117 +.. date: 7752 +.. nonce: 3_1LKC +.. section: Core and Builtins + +``repr(x)`` for a float x returns a result based on the shortest decimal +string that's guaranteed to round back to x under correct rounding (with +round-half-to-even rounding mode). Previously it gave a string based on +rounding x to 17 decimal digits. repr(x) for a complex number behaves +similarly. On platforms where the correctly-rounded strtod and dtoa code is +not supported (see below), repr is unchanged. + +.. + +.. bpo: 7117 +.. date: 7751 +.. nonce: 6am3Rw +.. section: Core and Builtins + +On almost all platforms: float-to-string and string-to-float conversions +within Python are now correctly rounded. Places these conversions occur +include: str for floats and complex numbers; the float and complex +constructors; old-style and new-style numeric formatting; serialization and +deserialization of floats and complex numbers using marshal, pickle and +json; parsing of float and imaginary literals in Python code; Decimal-to- +float conversion. + +The conversions use a Python-adapted version of David Gay's well-known +dtoa.c, providing correctly-rounded strtod and dtoa C functions. This code +is supported on Windows, and on Unix-like platforms using gcc, icc or suncc +as the C compiler. There may be a small number of platforms on which +correct operation of this code cannot be guaranteed, so the code is not +used: notably, this applies to platforms where the C double format is not +IEEE 754 binary64, and to platforms on x86 hardware where the x87 FPU is set +to 64-bit precision and Python's configure script is unable to determine how +to change the FPU precision. On these platforms conversions use the +platform strtod and dtoa, as before. + +.. + +.. bpo: 7117 +.. date: 7750 +.. nonce: 2KoEdA +.. section: Core and Builtins + +Backport round implementation from Python 3.x. ``round()`` now uses the +correctly-rounded string <-> float conversions described above (when +available), and so produces correctly rounded results that will display +nicely under the float repr. There are two related small changes: (1) round +now accepts any class with an ``__index__()`` method for its second argument +(but no longer accepts floats for the second argument), and (2) an +excessively large second integer argument (e.g., ``round(1.234, 10**100)``) +no longer raises an exception. + +.. + +.. bpo: 1757126 +.. date: 7749 +.. nonce: W4QhUw +.. section: Core and Builtins + +Fix the cyrillic-asian alias for the ptcp154 encoding. + +.. + +.. bpo: 0 +.. date: 7748 +.. nonce: mZpsla +.. section: Core and Builtins + +Fix several issues with ``compile()``. The input can now contain Windows +and Mac newlines and is no longer required to end in a newline. + +.. + +.. bpo: 0 +.. date: 7747 +.. nonce: sUbwH3 +.. section: Core and Builtins + +Remove length limitation when constructing a complex number from a unicode +string. + +.. + +.. bpo: 7244 +.. date: 7746 +.. nonce: qAVavO +.. section: Core and Builtins + +``itertools.izip_longest()`` no longer ignores exceptions raised during the +formation of an output tuple. + +.. + +.. bpo: 1087418 +.. date: 7745 +.. nonce: dyFZpg +.. section: Core and Builtins + +Boost performance of bitwise operations for longs. + +.. + +.. bpo: 1722344 +.. date: 7744 +.. nonce: QqabuR +.. section: Core and Builtins + +``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. + +.. + +.. bpo: 7168 +.. date: 7743 +.. nonce: pYjKia +.. section: Core and Builtins + +Document ``PyFloat_AsString()`` and ``PyFloat_AsReprString()``, and note +that they are unsafe and deprecated. + +.. + +.. bpo: 7120 +.. date: 7742 +.. nonce: Ft2RxW +.. section: Core and Builtins + +logging: Remove import of multiprocessing which is causing crash in GAE. + +.. + +.. bpo: 7140 +.. date: 7741 +.. nonce: KNTZLI +.. section: Core and Builtins + +The ``__dict__`` of a module should not be cleared unless the module is the +only object holding a reference to it. + +.. + +.. bpo: 1754094 +.. date: 7740 +.. nonce: I0gQmd +.. section: Core and Builtins + +Improve the stack depth calculation in the compiler. There should be no +other effect than a small decrease in memory use. Patch by Christopher Tur +Lesniewski-Laas. + +.. + +.. bpo: 7084 +.. date: 7739 +.. nonce: kUk5-B +.. section: Core and Builtins + +Fix a (very unlikely) crash when printing a list from one thread, and +mutating it from another one. Patch by Scott Dial. + +.. + +.. bpo: 1571184 +.. date: 7738 +.. nonce: EqTH98 +.. section: Core and Builtins + +The Unicode database contains properties for more characters. The tables for +code points representing numeric values, white spaces or line breaks are now +generated from the official Unicode Character Database files, and include +information from the Unihan.txt file. + +.. + +.. bpo: 7050 +.. date: 7737 +.. nonce: DM5jYL +.. section: Core and Builtins + +Fix a SystemError when trying to use unpacking and augmented assignment. + +.. + +.. bpo: 5329 +.. date: 7736 +.. nonce: bkqqa- +.. section: Core and Builtins + +Fix ``os.popen*`` regression from 2.5 with commands as a sequence running +through the shell. Patch by Jean-Paul Calderone and Jani Hakala. + +.. + +.. bpo: 7019 +.. date: 7735 +.. nonce: sCk9wW +.. section: Core and Builtins + +Raise ValueError when unmarshalling bad long data, instead of producing +internally inconsistent Python longs. + +.. + +.. bpo: 6990 +.. date: 7734 +.. nonce: 19LcUf +.. section: Core and Builtins + +Fix ``threading.local`` subclasses leaving old state around after a +reference cycle GC which could be recycled by new locals. + +.. + +.. bpo: 6300 +.. date: 7733 +.. nonce: 6gPIDy +.. section: Core and Builtins + +unicode.encode, unicode.decode, str.decode, and str.encode now take keyword +arguments. + +.. + +.. bpo: 6922 +.. date: 7732 +.. nonce: _MuLB9 +.. section: Core and Builtins + +Fix an infinite loop when trying to decode an invalid UTF-32 stream with a +non-raising error handler like "replace" or "ignore". + +.. + +.. bpo: 6713 +.. date: 7731 +.. nonce: 89EnqN +.. section: Core and Builtins + +Improve performance of base 10 int -> string and long -> string conversions. + +.. + +.. bpo: 1590864 +.. date: 7730 +.. nonce: 8aex1L +.. section: Core and Builtins + +Fix potential deadlock when mixing threads and fork(). + +.. + +.. bpo: 6844 +.. date: 7729 +.. nonce: oWxRbN +.. section: Core and Builtins + +Do not emit DeprecationWarnings when accessing a "message" attribute on +exceptions that was set explicitly. + +.. + +.. bpo: 6846 +.. date: 7728 +.. nonce: q7b-Oy +.. section: Core and Builtins + +Fix bug where bytearray.pop() returns negative integers. + +.. + +.. bpo: 0 +.. date: 7727 +.. nonce: GQUdwf +.. section: Core and Builtins + +``classmethod()`` no longer checks if its argument is callable. + +.. + +.. bpo: 6750 +.. date: 7726 +.. nonce: _Pln31 +.. section: Core and Builtins + +A text file opened with ``io.open()`` could duplicate its output when +writing from multiple threads at the same time. + +.. + +.. bpo: 6704 +.. date: 7725 +.. nonce: OpSyKo +.. section: Core and Builtins + +Improve the col_offset in AST for "for" statements with a target of tuple +unpacking. + +.. + +.. bpo: 6707 +.. date: 7724 +.. nonce: DXTwpb +.. section: Core and Builtins + +``dir()`` on an uninitialized module caused a crash. + +.. + +.. bpo: 6540 +.. date: 7723 +.. nonce: NsoPR8 +.. section: Core and Builtins + +Fixed crash for ``bytearray.translate()`` with invalid parameters. + +.. + +.. bpo: 6573 +.. date: 7722 +.. nonce: VBwjtf +.. section: Core and Builtins + +``set.union()`` stopped processing inputs if an instance of self occurred in +the argument chain. + +.. + +.. bpo: 1616979 +.. date: 7721 +.. nonce: YHyBWF +.. section: Core and Builtins + +Added the cp720 (Arabic DOS) encoding. + +.. + +.. bpo: 6070 +.. date: 7720 +.. nonce: -wC7vb +.. section: Core and Builtins + +On posix platforms import no longer copies the execute bit from the .py file +to the .pyc file if it is set. Patch by Marco N. + +.. + +.. bpo: 4618 +.. date: 7719 +.. nonce: B-bSRk +.. section: Core and Builtins + +When unicode arguments are passed to ``print()``, the default separator and +end should be unicode also. + +.. + +.. bpo: 6119 +.. date: 7718 +.. nonce: 94FrLZ +.. section: Core and Builtins + +Fixed an incorrect Py3k warning about order comparisons of built-in +functions and methods. + +.. + +.. bpo: 6347 +.. date: 7717 +.. nonce: VBKK7h +.. section: Core and Builtins + +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. + +.. + +.. bpo: 4856 +.. date: 7716 +.. nonce: RhxQ0Y +.. section: Core and Builtins + +Remove checks for win NT. + +.. + +.. bpo: 2016 +.. date: 7715 +.. nonce: ZTf6oS +.. section: Core and Builtins + +Fixed a crash in a corner case where the dictionary of keyword arguments +could be modified during the function call setup. + +.. + +.. bpo: 0 +.. date: 7714 +.. nonce: uhA2zk +.. section: Core and Builtins + +Removed the ipaddr module. + +.. + +.. bpo: 6329 +.. date: 7713 +.. nonce: j7fwCJ +.. section: Core and Builtins + +Fixed iteration for memoryview objects (it was being blocked because it +wasn't recognized as a sequence). + +.. + +.. bpo: 6289 +.. date: 7712 +.. nonce: zQqm8L +.. section: Core and Builtins + +Encoding errors from ``compile()`` were being masked. + +.. + +.. bpo: 0 +.. date: 7711 +.. nonce: s6jnqm +.. section: Core and Builtins + +When no module is given in a relative import, the module field of the +ImportFrom AST node is now None instead of an empty string. + +.. + +.. bpo: 0 +.. date: 7710 +.. nonce: dFzVxY +.. section: Core and Builtins + +Assignment to None using import statements now raises a SyntaxError. + +.. + +.. bpo: 4547 +.. date: 7709 +.. nonce: 4fI3tX +.. section: Core and Builtins + +When debugging a very large function, it was not always possible to update +the lineno attribute of the current frame. + +.. + +.. bpo: 5330 +.. date: 7708 +.. nonce: HPvn6G +.. section: Core and Builtins + +C functions called with keyword arguments were not reported by the various +profiling modules (profile, cProfile). Patch by Hagen Fürstenau. + +.. + +.. bpo: 5982 +.. date: 7707 +.. nonce: c_mt6_ +.. section: Core and Builtins + +staticmethod and classmethod now expose the wrapped function with +``__func__``. + +.. + +.. bpo: 0 +.. date: 7706 +.. nonce: w77qV4 +.. section: Core and Builtins + +Added support for multiple context managers in the same with-statement. +Deprecated ``contextlib.nested()`` which is no longer needed. + +.. + +.. bpo: 6101 +.. date: 7705 +.. nonce: 4tQTZX +.. section: Core and Builtins + +A new opcode, SETUP_WITH, has been added to speed up the with statement and +correctly lookup the __enter__ and __exit__ special methods. + +.. + +.. bpo: 5829 +.. date: 7704 +.. nonce: Zt7a5o +.. section: Core and Builtins + +complex("1e500") no longer raises OverflowError. This makes it consistent +with float("1e500") and interpretation of real and imaginary literals. + +.. + +.. bpo: 3527 +.. date: 7703 +.. nonce: Eyqquq +.. section: Core and Builtins + +Removed Py_WIN_WIDE_FILENAMES which is not used any more. + +.. + +.. bpo: 0 +.. date: 7702 +.. nonce: 2yrH_o +.. section: Core and Builtins + +``__instancecheck__()`` and ``__subclasscheck__()`` are now completely +ignored on classic classes and instances. + +.. + +.. bpo: 5994 +.. date: 7701 +.. nonce: woNvhx +.. section: Core and Builtins + +The marshal module now has docstrings. + +.. + +.. bpo: 5981 +.. date: 7700 +.. nonce: LkapH9 +.. section: Core and Builtins + +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'). + +.. + +.. bpo: 5920 +.. date: 7699 +.. nonce: ZoI1xB +.. section: Core and Builtins + +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. + +.. + +.. bpo: 5890 +.. date: 7698 +.. nonce: sbCAtW +.. section: Core and Builtins + +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__. + +.. + +.. bpo: 4426 +.. date: 7697 +.. nonce: Ny5_Rg +.. section: Core and Builtins + +The UTF-7 decoder was too strict and didn't accept some legal sequences. +Patch by Nick Barnes and Victor Stinner. + +.. + +.. bpo: 1588 +.. date: 7696 +.. nonce: 8-XCeQ +.. section: Core and Builtins + +Add complex.__format__. For example, ``format(complex(1, 2./3), '.5')`` now +produces a sensible result. + +.. + +.. bpo: 5864 +.. date: 7695 +.. nonce: UElc0c +.. section: Core and Builtins + +Fix empty format code formatting for floats so that it never gives more than +the requested number of significant digits. + +.. + +.. bpo: 5793 +.. date: 7694 +.. nonce: 0DjdQj +.. section: Core and Builtins + +Rationalize isdigit / isalpha / tolower, etc. Includes new Py_ISDIGIT / +Py_ISALPHA / Py_TOLOWER, etc. in pctypes.h. + +.. + +.. bpo: 4971 +.. date: 7693 +.. nonce: G5AyFS +.. section: Core and Builtins + +Fix titlecase for characters that are their own titlecase, but not their own +uppercase. + +.. + +.. bpo: 5835 +.. date: 7692 +.. nonce: SBkH58 +.. section: Core and Builtins + +Deprecate PyOS_ascii_formatd and replace it with _PyOS_double_to_string or +PyOS_double_to_string. + +.. + +.. bpo: 5283 +.. date: 7691 +.. nonce: p_vsQP +.. section: Core and Builtins + +Setting __class__ in __del__ caused a segfault. + +.. + +.. bpo: 5816 +.. date: 7690 +.. nonce: 5WDdX0 +.. section: Core and Builtins + +``complex(repr(z))`` now recovers z exactly, even when z involves nans, infs +or negative zeros. + +.. + +.. bpo: 0 +.. date: 7689 +.. nonce: ld0JdT +.. section: Core and Builtins + +Implement PEP 378, Format Specifier for Thousands Separator, for floats, +ints, and longs. + +.. + +.. bpo: 5515 +.. date: 7688 +.. nonce: H1aLcI +.. section: Core and Builtins + +'n' formatting for ints, longs, and floats handles leading zero formatting +poorly. + +.. + +.. bpo: 5772 +.. date: 7687 +.. nonce: tXqVft +.. section: Core and Builtins + +For float.__format__, don't add a trailing ".0" if we're using no type code +and we have an exponent. + +.. + +.. bpo: 3166 +.. date: 7686 +.. nonce: oL_y0x +.. section: Core and Builtins + +Make long -> float (and int -> float) conversions correctly rounded. + +.. + +.. bpo: 5787 +.. date: 7685 +.. nonce: iV1WRE +.. section: Core and Builtins + +``object.__getattribute__(some_type, "__bases__")`` segfaulted on some +built-in types. + +.. + +.. bpo: 1869 +.. date: 7684 +.. nonce: cQ4HTO +.. section: Core and Builtins + +Fix a couple of minor round() issues. ``round(5e15+1)`` was giving 5e15+2; +``round(-0.0)`` was losing the sign of the zero. + +.. + +.. bpo: 5759 +.. date: 7683 +.. nonce: j3dL9W +.. section: Core and Builtins + +float() didn't call __float__ on str subclasses. + +.. + +.. bpo: 5704 +.. date: 7682 +.. nonce: TDk8Ck +.. section: Core and Builtins + +The "-3" command-line option now implies "-t". + +.. + +.. bpo: 2170 +.. date: 7681 +.. nonce: 35irN6 +.. section: Core and Builtins + +Refactored ``xml.dom.minidom.normalize``, increasing both its clarity and +its speed. + +.. + +.. bpo: 2396 +.. date: 7680 +.. nonce: v-oJ0Q +.. section: Core and Builtins + +The memoryview object was backported from Python 3.1. + +.. + +.. bpo: 0 +.. date: 7679 +.. nonce: wxbCGj +.. section: Core and Builtins + +Fix a problem in PyErr_NormalizeException that leads to "undetected errors" +when hitting the recursion limit under certain circumstances. + +.. + +.. bpo: 1665206 +.. date: 7678 +.. nonce: D9xyVJ +.. section: Core and Builtins + +Remove the last eager import in _warnings.c and make it lazy. + +.. + +.. bpo: 4865 +.. date: 7677 +.. nonce: 9T7IVK +.. section: Core and Builtins + +On MacOSX /Library/Python/2.7/site-packages is added to the end sys.path, +for compatibility with the system install of Python. + +.. + +.. bpo: 4688 +.. date: 7676 +.. nonce: k7jSS9 +.. section: Core and Builtins + +Add a heuristic so that tuples and dicts containing only untrackable objects +are not tracked by the garbage collector. This can reduce the size of +collections and therefore the garbage collection overhead on long-running +programs, depending on their particular use of datatypes. + +.. + +.. bpo: 5512 +.. date: 7675 +.. nonce: 0akWHy +.. section: Core and Builtins + +Rewrite PyLong long division algorithm (x_divrem) to improve its +performance. Long divisions and remainder operations are now between 50% +and 150% faster. + +.. + +.. bpo: 4258 +.. date: 7674 +.. nonce: VzQaoh +.. section: Core and Builtins + +Make it possible to use base 2**30 instead of base 2**15 for the internal +representation of integers, for performance reasons. Base 2**30 is enabled +by default on 64-bit machines. Add --enable-big-digits option to configure, +which overrides the default. Add sys.long_info structseq to provide +information about the internal format. + +.. + +.. bpo: 4034 +.. date: 7673 +.. nonce: WdZVvE +.. section: Core and Builtins + +Fix weird attribute error messages of the traceback object. (As a result +traceback.__members__ no longer exists.) + +.. + +.. bpo: 4474 +.. date: 7672 +.. nonce: d-gOFs +.. section: Core and Builtins + +PyUnicode_FromWideChar now converts characters outside the BMP to surrogate +pairs, on systems with sizeof(wchar_t) == 4 and sizeof(Py_UNICODE) == 2. + +.. + +.. bpo: 5237 +.. date: 7671 +.. nonce: TC5vHj +.. section: Core and Builtins + +Allow auto-numbered fields in str.format(). For example: ``'{} {}'.format(1, +2) == '1 2'``. + +.. + +.. bpo: 3652 +.. date: 7670 +.. nonce: LS7lbT +.. section: Core and Builtins + +Make the 'line' argument for ``warnings.showwarning()`` a requirement. +Means the DeprecationWarning from Python 2.6 can go away. + +.. + +.. bpo: 5247 +.. date: 7669 +.. nonce: FherHz +.. section: Core and Builtins + +Improve error message when unknown format codes are used when using +``str.format()`` with str, unicode, long, int, and float arguments. + +.. + +.. bpo: 0 +.. date: 7668 +.. nonce: UMEr-l +.. section: Core and Builtins + +Running Python with the -3 option now also warns about classic division for +ints and longs. + +.. + +.. bpo: 5260 +.. date: 7667 +.. nonce: Em88-S +.. section: Core and Builtins + +Long integers now consume less memory: average saving is 2 bytes per long on +a 32-bit system and 6 bytes per long on a 64-bit system. + +.. + +.. bpo: 5186 +.. date: 7666 +.. nonce: j1is78 +.. section: Core and Builtins + +Reduce hash collisions for objects with no __hash__ method by rotating the +object pointer by 4 bits to the right. + +.. + +.. bpo: 4575 +.. date: 7665 +.. nonce: kbytK5 +.. section: Core and Builtins + +Fix Py_IS_INFINITY macro to work correctly on x87 FPUs: it now forces its +argument to double before testing for infinity. + +.. + +.. bpo: 4978 +.. date: 7664 +.. nonce: 1CHApa +.. section: Core and Builtins + +Passing keyword arguments as unicode strings is now allowed. + +.. + +.. bpo: 1242657 +.. date: 7663 +.. nonce: XDCnZa +.. section: Core and Builtins + +the __len__() and __length_hint__() calls in several tools were suppressing +all exceptions. These include list(), filter(), map(), zip(), and +bytearray(). + +.. + +.. bpo: 0 +.. date: 7662 +.. nonce: cFart9 +.. section: Core and Builtins + +os.ftruncate raises OSErrors instead of IOErrors for consistency with other +os functions. + +.. + +.. bpo: 4991 +.. date: 7661 +.. nonce: ALUxl0 +.. section: Core and Builtins + +Passing invalid file descriptors to io.FileIO now raises an OSError. + +.. + +.. bpo: 4807 +.. date: 7660 +.. nonce: zBKF-Y +.. section: Core and Builtins + +Port the _winreg module to Windows CE. + +.. + +.. bpo: 4935 +.. date: 7659 +.. nonce: FCRsi7 +.. section: Core and Builtins + +The overflow checking code in the expandtabs() method common to str, bytes +and bytearray could be optimized away by the compiler, letting the +interpreter segfault instead of raising an error. + +.. + +.. bpo: 3720 +.. date: 7658 +.. nonce: AhqraF +.. section: Core and Builtins + +Fix a crash when an iterator modifies its class and removes its __next__ +method. + +.. + +.. bpo: 4893 +.. date: 7657 +.. nonce: 6cqBTr +.. section: Core and Builtins + +Use NT threading on CE. + +.. + +.. bpo: 4915 +.. date: 7656 +.. nonce: 687QYF +.. section: Core and Builtins + +Port sysmodule to Windows CE. + +.. + +.. bpo: 4074 +.. date: 7655 +.. nonce: P6W6AU +.. section: Core and Builtins + +Change the criteria for doing a full garbage collection (i.e. collecting the +oldest generation) so that allocating lots of objects without destroying +them does not show quadratic performance. Based on a proposal by Martin von +Löwis at http://mail.python.org/pipermail/python-dev/2008-June/080579.html. + +.. + +.. bpo: 4850 +.. date: 7654 +.. nonce: I2rQxz +.. section: Core and Builtins + +Change COUNT_ALLOCS variables to Py_ssize_t. + +.. + +.. bpo: 1180193 +.. date: 7653 +.. nonce: pCkOCz +.. section: Core and Builtins + +When importing a module from a .pyc (or .pyo) file with an existing .py +counterpart, override the co_filename attributes of all code objects if the +original filename is obsolete (which can happen if the file has been +renamed, moved, or if it is accessed through different paths). Patch by +Ziga Seilnacht and Jean-Paul Calderone. + +.. + +.. bpo: 4075 +.. date: 7652 +.. nonce: Ccn4nr +.. section: Core and Builtins + +Use ``OutputDebugStringW()`` in Py_FatalError. + +.. + +.. bpo: 4797 +.. date: 7651 +.. nonce: X8BGMK +.. section: Core and Builtins + +IOError.filename was not set when _fileio.FileIO failed to open file with +`str' filename on Windows. + +.. + +.. bpo: 3680 +.. date: 7650 +.. nonce: sDYVgF +.. section: Core and Builtins + +Reference cycles created through a dict, set or deque iterator did not get +collected. + +.. + +.. bpo: 4701 +.. date: 7649 +.. nonce: KCWdVt +.. section: Core and Builtins + +PyObject_Hash now implicitly calls PyType_Ready on types where the tp_hash +and tp_dict slots are both NULL. + +.. + +.. bpo: 4764 +.. date: 7648 +.. nonce: 9uJcCX +.. section: Core and Builtins + +With io.open, IOError.filename is set when trying to open a directory on +POSIX systems. + +.. + +.. bpo: 4764 +.. date: 7647 +.. nonce: m87cQp +.. section: Core and Builtins + +IOError.filename is set when trying to open a directory on POSIX systems. + +.. + +.. bpo: 4759 +.. date: 7646 +.. nonce: jS_IUc +.. section: Core and Builtins + +None is now allowed as the first argument of ``bytearray.translate()``. It +was always allowed for ``bytes.translate()``. + +.. + +.. bpo: 0 +.. date: 7645 +.. nonce: NJHPw5 +.. section: Core and Builtins + +Added test case to ensure attempts to read from a file opened for writing +fail. + +.. + +.. bpo: 2467 +.. date: 7644 +.. nonce: hTdCDO +.. section: Core and Builtins + +gc.DEBUG_STATS reported invalid elapsed times. Also, always print elapsed +times, not only when some objects are uncollectable/unreachable. Original +patch by Neil Schemenauer. + +.. + +.. bpo: 3439 +.. date: 7643 +.. nonce: FDqFob +.. section: Core and Builtins + +Add a bit_length method to int and long. + +.. + +.. bpo: 2183 +.. date: 7642 +.. nonce: N4TSpS +.. section: Core and Builtins + +Simplify and optimize bytecode for list comprehensions. Original patch by +Neal Norwitz. + +.. + +.. bpo: 4597 +.. date: 7641 +.. nonce: tAXQWn +.. section: Core and Builtins + +Fixed exception handling when the __exit__ function of a context manager +returns a value that cannot be converted to a bool. + +.. + +.. bpo: 4597 +.. date: 7640 +.. nonce: nQOPGV +.. section: Core and Builtins + +Fixed several opcodes that weren't always propagating exceptions. + +.. + +.. bpo: 4445 +.. date: 7639 +.. nonce: irvsqZ +.. section: Core and Builtins + +Replace ``sizeof(PyStringObject)`` with ``offsetof(PyStringObject, ob_sval) ++ 1`` when allocating memory for str instances. On a typical machine this +saves 3 bytes of memory (on average) per string allocation. + +.. + +.. bpo: 3996 +.. date: 7638 +.. nonce: MarU4T +.. section: Core and Builtins + +On Windows, the PyOS_CheckStack function would cause the interpreter to +abort ("Fatal Python error: Could not reset the stack!") instead of throwing +a MemoryError. + +.. + +.. bpo: 3689 +.. date: 7637 +.. nonce: CNYxlz +.. section: Core and Builtins + +The list reversed iterator now supports __length_hint__ instead of __len__. +Behavior now matches other reversed iterators. + +.. + +.. bpo: 4367 +.. date: 7636 +.. nonce: fmKFqn +.. section: Core and Builtins + +Python would segfault during compiling when the unicodedata module couldn't +be imported and \N escapes were present. + +.. + +.. bpo: 4233 +.. date: 7635 +.. nonce: iQj976 +.. section: Core and Builtins + +Changed semantic of ``_fileio.FileIO``'s ``close()`` method on file objects +with closefd=False. The file descriptor is still kept open but the file +object behaves like a closed file. The ``FileIO`` object also got a new +readonly attribute ``closefd``. + +.. + +.. bpo: 4348 +.. date: 7634 +.. nonce: 8mh_bw +.. section: Core and Builtins + +Some bytearray methods returned that didn't cause any change to the +bytearray, returned the same bytearray instead of a copy. + +.. + +.. bpo: 4317 +.. date: 7633 +.. nonce: GGUHMc +.. section: Core and Builtins + +Fixed a crash in the ``imageop.rgb2rgb8()`` function. + +.. + +.. bpo: 4230 +.. date: 7632 +.. nonce: Ndmrfx +.. section: Core and Builtins + +If ``__getattr__`` is a descriptor, it now functions correctly. + +.. + +.. bpo: 4048 +.. date: 7631 +.. nonce: KmD4Fy +.. section: Core and Builtins + +The parser module now correctly validates relative imports. + +.. + +.. bpo: 4225 +.. date: 7630 +.. nonce: 7zU-HH +.. section: Core and Builtins + +``from __future__ import unicode_literals`` didn't work in an exec +statement. + +.. + +.. bpo: 4176 +.. date: 7629 +.. nonce: qhcxIs +.. section: Core and Builtins + +Fixed a crash when pickling an object which ``__reduce__`` method does not +return iterators for the 4th and 5th items. + +.. + +.. bpo: 4209 +.. date: 7628 +.. nonce: iE6R1Z +.. section: Core and Builtins + +Enabling unicode_literals and the print_function in the same __future__ +import didn't work. + +.. + +.. bpo: 0 +.. date: 7627 +.. nonce: EZzjhE +.. section: Core and Builtins + +Using ``nonlocal`` as a variable name will now raise a Py3k SyntaxWarning +because it is a reserved word in 3.x. + +.. + +.. bpo: 0 +.. date: 7626 +.. nonce: 6ugG-L +.. section: Core and Builtins + +On windows, ``os.chdir()`` given unicode was not working if +GetCurrentDirectoryW returned a path longer than MAX_PATH. (But It's +doubtful this code path is really executed because I cannot move to such +directory on win2k) + +.. + +.. bpo: 4069 +.. date: 7625 +.. nonce: KZVhcT +.. section: Core and Builtins + +When ``set.remove(element)`` is used with a set element, the element is +temporarily replaced with an equivalent frozenset. But the eventual +KeyError would always report the empty ``frozenset()`` as the missing key. +Now it correctly refers to the initial element. + +.. + +.. bpo: 4509 +.. date: 7624 +.. nonce: s_M7sU +.. section: Core and Builtins + +Various issues surrounding resize of bytearray objects to which there are +buffer exports. + +.. + +.. bpo: 4748 +.. date: 7623 +.. nonce: VdAMxK +.. section: Core and Builtins + +Lambda generators no longer return a value. + +.. + +.. bpo: 3582 +.. date: 7622 +.. nonce: lPZMhV +.. section: Core and Builtins + +Use native TLS functions on Windows + +.. + +.. bpo: 0 +.. date: 7621 +.. nonce: -7Es2G +.. section: Core and Builtins + +The re.sub(), re.subn() and re.split() functions now accept a flags +parameter. + +.. + +.. bpo: 3845 +.. date: 7620 +.. nonce: 1zs3tX +.. section: Core and Builtins + +In PyRun_SimpleFileExFlags avoid invalid memory access with short file +names. + +.. + +.. bpo: 1113244 +.. date: 7619 +.. nonce: 0youo- +.. section: Core and Builtins + +Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)' to avoid +compiler warnings. + +.. + +.. bpo: 5705 +.. date: 7618 +.. nonce: sV9axH +.. section: Core and Builtins + +os.setuid() would not accept values > 2**31-1 but pwd.getpwnam() returned +them on 64bit platforms. + +.. + +.. bpo: 5108 +.. date: 7617 +.. nonce: dAFFuh +.. section: Core and Builtins + +Handle %s like %S and %R in PyUnicode_FromFormatV(): Call +PyUnicode_DecodeUTF8() once, remember the result and output it in a second +step. This avoids problems with counting UTF-8 bytes that ignores the effect +of using the replace error handler in PyUnicode_DecodeUTF8(). + +.. + +.. bpo: 3739 +.. date: 7616 +.. nonce: M2kAQq +.. section: Core and Builtins + +The unicode-internal encoder now reports the number of characters consumed +like any other encoder (instead of the number of bytes). + +.. + +.. bpo: 2422 +.. date: 7615 +.. nonce: wzigzB +.. section: Core and Builtins + +When compiled with the ``--with-valgrind`` option, the pymalloc allocator +will be automatically disabled when running under Valgrind. This gives +improved memory leak detection when running under Valgrind, while taking +advantage of pymalloc at other times. + +.. + +.. bpo: 0 +.. date: 7614 +.. nonce: hEj501 +.. section: Library + +Add count() and reverse() methods to collections.deque(). + +.. + +.. bpo: 0 +.. date: 7613 +.. nonce: uRsKsO +.. section: Library + +Fix variations of extending deques: d.extend(d) d.extendleft(d) d+=d + +.. + +.. bpo: 6986 +.. date: 7612 +.. nonce: SdGPr9 +.. section: Library + +Fix crash in the JSON C accelerator when called with the wrong parameter +types. Patch by Victor Stinner. + +.. + +.. bpo: 0 +.. date: 7611 +.. nonce: NFsq2E +.. section: Library + +logging: Added optional "secure" parameter to SMTPHandler, to enable use of +TLS with authentication credentials. + +.. + +.. bpo: 1923 +.. date: 7610 +.. nonce: knrn4i +.. section: Library + +Fixed the removal of meaningful spaces when PKG-INFO is generated in +Distutils. Patch by Stephen Emslie. + +.. + +.. bpo: 4120 +.. date: 7609 +.. nonce: 3cH4Sr +.. section: Library + +Drop reference to CRT from manifest when building extensions with +msvc9compiler. + +.. + +.. bpo: 7333 +.. date: 7608 +.. nonce: 2fKr4C +.. section: Library + +The ``posix`` module gains an ``initgroups()`` function providing access to +the initgroups(3) C library call on Unix systems which implement it. Patch +by Jean-Paul Calderone. + +.. + +.. bpo: 7408 +.. date: 7607 +.. nonce: rgPHXu +.. section: Library + +Fixed distutils.tests.sdist so it doesn't check for group ownership when the +group is not forced, because the group may be different from the user's +group and inherit from its container when the test is run. + +.. + +.. bpo: 1515 +.. date: 7606 +.. nonce: xkpoux +.. section: Library + +Enable use of deepcopy() with instance methods. Patch by Robert Collins. + +.. + +.. bpo: 7403 +.. date: 7605 +.. nonce: FwNMdd +.. section: Library + +logging: Fixed possible race condition in lock creation. + +.. + +.. bpo: 6845 +.. date: 7604 +.. nonce: TrdLOB +.. section: Library + +Add restart support for binary upload in ftplib. The ``storbinary()`` +method of FTP and FTP_TLS objects gains an optional "rest" argument. Patch +by Pablo Mouzo. + +.. + +.. bpo: 5788 +.. date: 7603 +.. nonce: eXZYrC +.. section: Library + +``datetime.timedelta`` objects get a new ``total_seconds()`` method +returning the total number of seconds in the duration. Patch by Brian +Quinlan. + +.. + +.. bpo: 6615 +.. date: 7602 +.. nonce: L1bwX7 +.. section: Library + +logging: Used weakrefs in internal handler list. + +.. + +.. bpo: 1488943 +.. date: 7601 +.. nonce: bGsZyB +.. section: Library + +``difflib.Differ`` doesn't always add hints for tab characters. + +.. + +.. bpo: 6123 +.. date: 7600 +.. nonce: 7jPAMR +.. section: Library + +tarfile now opens empty archives correctly and consistently raises ReadError +on empty files. + +.. + +.. bpo: 7354 +.. date: 7599 +.. nonce: JiC3ff +.. section: Library + +distutils.tests.test_msvc9compiler - dragfullwindows can be 2. + +.. + +.. bpo: 5037 +.. date: 7598 +.. nonce: OuRtI7 +.. section: Library + +Proxy the __unicode__ special method to __unicode__ instead of __str__. + +.. + +.. bpo: 7341 +.. date: 7597 +.. nonce: ePPgs_ +.. section: Library + +Close the internal file object in the TarFile constructor in case of an +error. + +.. + +.. bpo: 7293 +.. date: 7596 +.. nonce: O5Dcu2 +.. section: Library + +``distutils.test_msvc9compiler`` is fixed to work on any fresh Windows box. +Help provided by David Bolen. + +.. + +.. bpo: 7328 +.. date: 7595 +.. nonce: I7W1pc +.. section: Library + +pydoc no longer corrupts sys.path when run with the '-m' switch. + +.. + +.. bpo: 2054 +.. date: 7594 +.. nonce: CqsOHR +.. section: Library + +ftplib now provides an FTP_TLS class to do secure FTP using TLS or SSL. +Patch by Giampaolo Rodola'. + +.. + +.. bpo: 4969 +.. date: 7593 +.. nonce: etEJDg +.. section: Library + +The mimetypes module now reads the MIME database from the registry under +Windows. Patch by Gabriel Genellina. + +.. + +.. bpo: 6816 +.. date: 7592 +.. nonce: FkQHgU +.. section: Library + +runpy now provides a run_path function that allows Python code to execute +file paths that refer to source or compiled Python files as well as +zipfiles, directories and other valid sys.path entries that contain a +__main__.py file. This allows applications that run other Python scripts to +support the same flexibility as the CPython command line itself. + +.. + +.. bpo: 7318 +.. date: 7591 +.. nonce: 5Q1hkQ +.. section: Library + +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. + +.. + +.. bpo: 7197 +.. date: 7590 +.. nonce: 0cm1Qm +.. section: Library + +Allow unittest.TextTestRunner objects to be pickled and unpickled. This +fixes crashes under Windows when trying to run test_multiprocessing in +verbose mode. + +.. + +.. bpo: 7282 +.. date: 7589 +.. nonce: PGSXX5 +.. section: Library + +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()``. + +.. + +.. bpo: 7264 +.. date: 7588 +.. nonce: gXNBWt +.. section: Library + +Fix a possible deadlock when deallocating thread-local objects which are +part of a reference cycle. + +.. + +.. bpo: 7211 +.. date: 7587 +.. nonce: wuvMbi +.. section: Library + +Allow 64-bit values for the ``ident`` and ``data`` fields of kevent objects +on 64-bit systems. Patch by Michael Broghton. + +.. + +.. bpo: 6896 +.. date: 7586 +.. nonce: rXqOUx +.. section: Library + +``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. + +.. + +.. bpo: 7246 +.. date: 7585 +.. nonce: vVWoc1 +.. section: Library + +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. (See also: bpo-7208) + +.. + +.. bpo: 7233 +.. date: 7584 +.. nonce: Bfx5J4 +.. section: Library + +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. + +.. + +.. bpo: 4750 +.. date: 7583 +.. nonce: qsUXdQ +.. section: Library + +Store the basename of the original filename in the gzip FNAME header as +required by RFC 1952. + +.. + +.. bpo: 1180 +.. date: 7582 +.. nonce: ajrI93 +.. section: Library + +Added a new global option to ignore ~/.pydistutils.cfg in Distutils. + +.. + +.. bpo: 7218 +.. date: 7581 +.. nonce: _fm9R5 +.. section: Library + +Fix test_site for win32, the directory comparison was done with an +uppercase. + +.. + +.. bpo: 7205 +.. date: 7580 +.. nonce: QiP1X- +.. section: Library + +Fix a possible deadlock when using a BZ2File object from several threads at +once. + +.. + +.. bpo: 7071 +.. date: 7579 +.. nonce: QFsV-G +.. section: Library + +byte-compilation in Distutils is now done with respect to +sys.dont_write_bytecode. + +.. + +.. bpo: 7066 +.. date: 7578 +.. nonce: FQTn5e +.. section: Library + +archive_util.make_archive now restores the cwd if an error is raised. +Initial patch by Ezio Melotti. + +.. + +.. bpo: 6218 +.. date: 7577 +.. nonce: GFU36I +.. section: Library + +io.StringIO and io.BytesIO instances are now picklable with protocol 2. + +.. + +.. bpo: 7077 +.. date: 7576 +.. nonce: NfTfRo +.. section: Library + +logging: SysLogHandler now treats Unicode as per RFC 5424. + +.. + +.. bpo: 7099 +.. date: 7575 +.. nonce: fxh-zw +.. section: Library + +Decimal.is_normal now returns True for numbers with exponent larger than +emax. + +.. + +.. bpo: 5833 +.. date: 7574 +.. nonce: bCmU3a +.. section: Library + +Fix extra space character in readline completion with the GNU readline +library version 6.0. + +.. + +.. bpo: 7133 +.. date: 7573 +.. nonce: m6rxoT +.. section: Library + +SSL objects now support the new buffer API. + +.. + +.. bpo: 7149 +.. date: 7572 +.. nonce: J_eq7B +.. section: Library + +urllib fails on OSX in the proxy detection code. + +.. + +.. bpo: 7069 +.. date: 7571 +.. nonce: v9P7a0 +.. section: Library + +Make inspect.isabstract() return a boolean. + +.. + +.. bpo: 0 +.. date: 7570 +.. nonce: mxZpdI +.. section: Library + +Add support to the ``ihooks`` module for relative imports. + +.. + +.. bpo: 6894 +.. date: 7569 +.. nonce: 1peOts +.. section: Library + +Fixed the issue urllib2 doesn't respect "no_proxy" environment. + +.. + +.. bpo: 7086 +.. date: 7568 +.. nonce: mZidvN +.. section: Library + +Added TCP support to SysLogHandler, and tidied up some anachronisms in the +code which were a relic of 1.5.2 compatibility. + +.. + +.. bpo: 7082 +.. date: 7567 +.. nonce: 0CSJXy +.. section: Library + +When falling back to the MIME 'name' parameter, the correct place to look +for it is the Content-Type header. + +.. + +.. bpo: 7048 +.. date: 7566 +.. nonce: TXR5Xr +.. section: Library + +Force Decimal.logb to round its result when that result is too large to fit +in the current precision. + +.. + +.. bpo: 6516 +.. date: 7565 +.. nonce: omgsNx +.. section: Library + +Added owner/group support when creating tar archives in Distutils. + +.. + +.. bpo: 7031 +.. date: 7564 +.. nonce: n09dXD +.. section: Library + +Add ``TestCase.assert(Not)IsInstance()`` methods. + +.. + +.. bpo: 6790 +.. date: 7563 +.. nonce: Z8U9rk +.. section: Library + +Make it possible again to pass an ``array.array`` to +``httplib.HTTPConnection.send``. Patch by Kirk McDonald. + +.. + +.. bpo: 6236 +.. date: 7562 +.. nonce: cfUWek +.. section: Library + +Fix various failures in the `io` module under AIX and other platforms, when +using a non-gcc compiler. Patch by egreen. (See also: bpo-6348) + +.. + +.. bpo: 6954 +.. date: 7561 +.. nonce: Xr-JVf +.. section: Library + +Fixed crash when using DISTUTILS_DEBUG flag in Distutils. + +.. + +.. bpo: 6851 +.. date: 7560 +.. nonce: Hvzfi2 +.. section: Library + +Fix urllib.urlopen crash on secondairy threads on OSX 10.6 + +.. + +.. bpo: 4606 +.. date: 7559 +.. nonce: mPxDNW +.. section: Library + +Passing 'None' if ctypes argtype is set to POINTER(...) does now always +result in NULL. + +.. + +.. bpo: 5042 +.. date: 7558 +.. nonce: eHTDqZ +.. section: Library + +ctypes Structure sub-subclass does now initialize correctly with base class +positional arguments. + +.. + +.. bpo: 6938 +.. date: 7557 +.. nonce: qq4x0H +.. section: Library + +Fix a TypeError in string formatting of a multiprocessing debug message. + +.. + +.. bpo: 6635 +.. date: 7556 +.. nonce: hMzo5g +.. section: Library + +Fix profiler printing usage message. + +.. + +.. bpo: 6856 +.. date: 7555 +.. nonce: pxRVCd +.. section: Library + +Add a filter keyword argument to TarFile.add(). + +.. + +.. bpo: 6163 +.. date: 7554 +.. nonce: RIBPzi +.. section: Library + +Fixed HP-UX runtime library dir options in distutils.unixcompiler. Initial +patch by Sridhar Ratnakumar and Michael Haubenwallner. + +.. + +.. bpo: 6857 +.. date: 7553 +.. nonce: HdfUqZ +.. section: Library + +Default format() alignment should be '>' for Decimal instances. + +.. + +.. bpo: 6795 +.. date: 7552 +.. nonce: q74KXT +.. section: Library + +int(Decimal('nan')) now raises ValueError instead of returning NaN or +raising InvalidContext. Also, fix infinite recursion in +long(Decimal('nan')). + +.. + +.. bpo: 6850 +.. date: 7551 +.. nonce: qs_7UF +.. section: Library + +Fix bug in Decimal._parse_format_specifier for formats with no type +specifier. + +.. + +.. bpo: 4937 +.. date: 7550 +.. nonce: q3smbI +.. section: Library + +plat-mac/bundlebuilder refers to non-existing version.plist. + +.. + +.. bpo: 6838 +.. date: 7549 +.. nonce: OOrAC0 +.. section: Library + +Use a list to accumulate the value instead of repeatedly concatenating +strings in httplib's HTTPResponse._read_chunked providing a significant +speed increase when downloading large files servend with a Transfer-Encoding +of 'chunked'. + +.. + +.. bpo: 5275 +.. date: 7548 +.. nonce: -iW5eK +.. section: Library + +In Cookie's Cookie.load(), properly handle non-string arguments as +documented. + +.. + +.. bpo: 2666 +.. date: 7547 +.. nonce: XO1rSx +.. section: Library + +Handle BROWSER environment variable properly for unknown browser names in +the webbrowser module. + +.. + +.. bpo: 6054 +.. date: 7546 +.. nonce: 593-Mx +.. section: Library + +Do not normalize stored pathnames in tarfile. + +.. + +.. bpo: 6794 +.. date: 7545 +.. nonce: k5-rmk +.. section: Library + +Fix Decimal.compare_total and Decimal.compare_total_mag: NaN payloads are +now ordered by integer value rather than lexicographically. + +.. + +.. bpo: 6693 +.. date: 7544 +.. nonce: _dWH_f +.. section: Library + +New functions in site.py to get user/global site packages paths. + +.. + +.. bpo: 0 +.. date: 7543 +.. nonce: tZF7Ai +.. section: Library + +The thread.lock type now supports weak references. + +.. + +.. bpo: 1356969 +.. date: 7542 +.. nonce: fTwnvR +.. section: Library + +Add missing info methods in Tix.HList. + +.. + +.. bpo: 1522587 +.. date: 7541 +.. nonce: z2n84F +.. section: Library + +New constants and methods for the Tix.Grid widget. + +.. + +.. bpo: 1250469 +.. date: 7540 +.. nonce: Mbak0x +.. section: Library + +Fix the return value of Tix.PanedWindow.panes. + +.. + +.. bpo: 1119673 +.. date: 7539 +.. nonce: rSCSoq +.. section: Library + +Do not override Tkinter.Text methods when creating a ScrolledText. + +.. + +.. bpo: 6665 +.. date: 7538 +.. nonce: 4ep0tD +.. section: Library + +Fix fnmatch to properly match filenames with newlines in them. + +.. + +.. bpo: 1135 +.. date: 7537 +.. nonce: 3A5Z-R +.. section: Library + +Add the XView and YView mix-ins to avoid duplicating the xview* and yview* +methods. + +.. + +.. bpo: 6629 +.. date: 7536 +.. nonce: 095djT +.. section: Library + +Fix a data corruption issue in the new `io` package, 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. + +.. + +.. bpo: 4660 +.. date: 7535 +.. nonce: xyTC5J +.. section: Library + +If a multiprocessing.JoinableQueue.put() was preempted, it was possible to +get a spurious 'task_done() called too many times' error. + +.. + +.. bpo: 1628205 +.. date: 7534 +.. nonce: Bkm9lB +.. section: Library + +Socket file objects returned by socket.socket.makefile() now properly +handles EINTR within the read, readline, write & flush methods. The +socket.sendall() method now properly handles interrupted system calls. + +.. + +.. bpo: 6595 +.. date: 7533 +.. nonce: 5kBbXa +.. section: Library + +The Decimal constructor now allows arbitrary Unicode decimal digits in +input, as recommended by the standard. Previously it was restricted to +accepting [0-9]. + +.. + +.. bpo: 6511 +.. date: 7532 +.. nonce: Qzfkov +.. section: Library + +ZipFile now raises BadZipfile (instead of an IOError) when opening an empty +or very small file. + +.. + +.. bpo: 6553 +.. date: 7531 +.. nonce: Tr4HDD +.. section: Library + +Fixed a crash in cPickle.load(), when given a file-like object containing +incomplete data. + +.. + +.. bpo: 6545 +.. date: 7530 +.. nonce: q91_KL +.. section: Library + +Removed assert statements in distutils.Extension, so the behavior is similar +when used with -O. + +.. + +.. bpo: 0 +.. date: 7529 +.. nonce: QiwXfr +.. section: Library + +unittest has been split up into a package. All old names should still work. + +.. + +.. bpo: 6431 +.. date: 7528 +.. nonce: tKBkPb +.. section: Library + +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. + +.. + +.. bpo: 6415 +.. date: 7527 +.. nonce: QOMg1q +.. section: Library + +Fixed warnings.warn segfault on bad formatted string. + +.. + +.. bpo: 6466 +.. date: 7526 +.. nonce: j5IKKm +.. section: Library + +Now distutils.cygwinccompiler and distutils.emxccompiler uses the same +refactored function to get gcc/ld/dllwrap versions numbers. It's +``distutils.util.get_compiler_versions()``. Added deprecation warnings for +the obsolete get_versions() functions. + +.. + +.. bpo: 6433 +.. date: 7525 +.. nonce: FJUeBp +.. section: Library + +Fixed issues with multiprocessing.pool.map hanging on empty list. + +.. + +.. bpo: 6314 +.. date: 7524 +.. nonce: oq2Uzy +.. section: Library + +logging: Extra checks on the "level" argument in more places. + +.. + +.. bpo: 2622 +.. date: 7523 +.. nonce: khlgNf +.. section: Library + +Fixed an ImportError when importing email.messsage from a standalone +application built with py2exe or py2app. + +.. + +.. bpo: 6455 +.. date: 7522 +.. nonce: xHz4mF +.. section: Library + +Fixed test_build_ext under win32. + +.. + +.. bpo: 6377 +.. date: 7521 +.. nonce: Or-Jam +.. section: Library + +Enabled the compiler option, and deprecate its usage as an attribute. + +.. + +.. bpo: 6413 +.. date: 7520 +.. nonce: dVuHyQ +.. section: Library + +Fixed the log level in distutils.dist for announce. + +.. + +.. bpo: 3392 +.. date: 7519 +.. nonce: M_DdFb +.. section: Library + +The subprocess communicate() method no longer fails in select() when file +descriptors are large; communicate() now uses poll() when possible. + +.. + +.. bpo: 6403 +.. date: 7518 +.. nonce: kDwSzy +.. section: Library + +Fixed package path usage in build_ext. + +.. + +.. bpo: 5155 +.. date: 7517 +.. nonce: G_HFri +.. section: Library + +multiprocessing.Process._bootstrap was unconditionally calling +"os.close(sys.stdin.fileno())" resulting in file descriptor errors. (See +also: bpo-5313, bpo-5331) + +.. + +.. bpo: 6365 +.. date: 7516 +.. nonce: eWJ_Cl +.. section: Library + +Distutils build_ext inplace mode was copying the compiled extension in a +subdirectory if the extension name had dots. + +.. + +.. bpo: 6344 +.. date: 7515 +.. nonce: l35xXH +.. section: Library + +Fixed a crash of mmap.read() when passed a negative argument. + +.. + +.. bpo: 5230 +.. date: 7514 +.. nonce: EhUbpW +.. section: Library + +pydoc would report no documentation found if a module generated a 'not +found' import error when loaded; it now reports the import errors. Thanks to +Lucas Prado Melo for initial fix and collaboration on the tests. + +.. + +.. bpo: 6314 +.. date: 7513 +.. nonce: g55uyy +.. section: Library + +``logging.basicConfig()`` performs extra checks on the "level" argument. + +.. + +.. bpo: 6164 +.. date: 7512 +.. nonce: 6QByEi +.. section: Library + +Added an AIX specific linker argument in Distutils unixcompiler. Original +patch by Sridhar Ratnakumar. + +.. + +.. bpo: 6274 +.. date: 7511 +.. nonce: eQoMPr +.. section: Library + +Fixed possible file descriptors leak in subprocess.py. + +.. + +.. bpo: 6189 +.. date: 7510 +.. nonce: aY-0-v +.. section: Library + +Restored compatibility of subprocess.py with Python 2.2. + +.. + +.. bpo: 6287 +.. date: 7509 +.. nonce: i5loQG +.. section: Library + +Added the license field in Distutils documentation. + +.. + +.. bpo: 6286 +.. date: 7508 +.. nonce: j2u4Wn +.. section: Library + +Now Distutils upload command is based on urllib2 instead of httplib, +allowing the usage of http_proxy. + +.. + +.. bpo: 6271 +.. date: 7507 +.. nonce: nMZxcE +.. section: Library + +mmap tried to close invalid file handle (-1) for anonymous maps on Unix. + +.. + +.. bpo: 6215 +.. date: 7506 +.. nonce: e-D-t7 +.. section: Library + +All bug fixes and enhancements from the Python 3.1 io library (including the +fast C implementation) have been backported to the standard ``io`` module. + +.. + +.. bpo: 6258 +.. date: 7505 +.. nonce: dwBSws +.. section: Library + +Support AMD64 in bdist_msi. + +.. + +.. bpo: 6252 +.. date: 7504 +.. nonce: sYTPyU +.. section: Library + +Fixed bug in next rollover time computation in TimedRotatingFileHandler. + +.. + +.. bpo: 6263 +.. date: 7503 +.. nonce: 5RhZzP +.. section: Library + +Fixed syntax error in distutils.cygwincompiler. + +.. + +.. bpo: 5201 +.. date: 7502 +.. nonce: Wt3Orj +.. section: Library + +distutils.sysconfig.parse_makefile() now understands ``$$`` in Makefiles. +This prevents compile errors when using syntax like: +``LDFLAGS='-rpath=\$$LIB:/some/other/path'``. Patch by Floris Bruynooghe. + +.. + +.. bpo: 5767 +.. date: 7501 +.. nonce: N_vQVh +.. section: Library + +Removed sgmlop support from xmlrpclib. + +.. + +.. bpo: 6131 +.. date: 7500 +.. nonce: yV_s9j +.. section: Library + +test_modulefinder leaked when run after test_distutils. Patch by Hirokazu +Yamamoto. + +.. + +.. bpo: 6048 +.. date: 7499 +.. nonce: 8c4ttr +.. section: Library + +Now Distutils uses the tarfile module in archive_util. + +.. + +.. bpo: 6121 +.. date: 7498 +.. nonce: u-IDuG +.. section: Library + +pydoc now ignores leading and trailing spaces in the argument to the 'help' +function. + +.. + +.. bpo: 0 +.. date: 7497 +.. nonce: zlEDRS +.. section: Library + +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. + +.. + +.. bpo: 6050 +.. date: 7496 +.. nonce: tl_8xc +.. section: Library + +Don't fail extracting a directory from a zipfile if the directory already +exists. + +.. + +.. bpo: 5311 +.. date: 7495 +.. nonce: 0oOK6H +.. section: Library + +bdist_msi can now build packages that do not depend on a specific Python +version. + +.. + +.. bpo: 1309352 +.. date: 7494 +.. nonce: WM3egI +.. section: Library + +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). + +.. + +.. bpo: 1424152 +.. date: 7493 +.. nonce: ajujge +.. section: Library + +Fix for httplib, urllib2 to support SSL while working through proxy. +Original patch by Christopher Li, changes made by Senthil Kumaran. + +.. + +.. bpo: 1983 +.. date: 7492 +.. nonce: 4NQtSC +.. section: Library + +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. + +.. + +.. bpo: 4066 +.. date: 7491 +.. nonce: 2iOjZ9 +.. section: Library + +smtplib.SMTP_SSL._get_socket now correctly returns the socket. Patch by +Farhan Ahmad, test by Marcin Bachry. + +.. + +.. bpo: 6062 +.. date: 7490 +.. nonce: 9WLZ5z +.. section: Library + +In distutils, fixed the package option of build_ext. Feedback and tests on +pywin32 by Tim Golden. + +.. + +.. bpo: 6053 +.. date: 7489 +.. nonce: WvTL0w +.. section: Library + +Fixed distutils tests on win32. Patch by Hirokazu Yamamoto. + +.. + +.. bpo: 6046 +.. date: 7488 +.. nonce: cMZ2Tc +.. section: Library + +Fixed the library extension when distutils build_ext is used in place. +Initial patch by Roumen Petrov. + +.. + +.. bpo: 6041 +.. date: 7487 +.. nonce: sw57bD +.. section: Library + +Now distutils `sdist` and `register` commands use `check` as a subcommand. + +.. + +.. bpo: 2116 +.. date: 7486 +.. nonce: 8p8xN6 +.. section: Library + +Weak references and weak dictionaries now support copy()ing and +deepcopy()ing. + +.. + +.. bpo: 1655 +.. date: 7485 +.. nonce: M-5sGT +.. section: Library + +Make imaplib IPv6-capable. Patch by Derek Morr. + +.. + +.. bpo: 5918 +.. date: 7484 +.. nonce: x-8Oxl +.. section: Library + +Fix a crash in the parser module. + +.. + +.. bpo: 1664 +.. date: 7483 +.. nonce: sRl46y +.. section: Library + +Make nntplib IPv6-capable. Patch by Derek Morr. + +.. + +.. bpo: 6022 +.. date: 7482 +.. nonce: Y3dUhe +.. section: Library + +A test file was created in the current working directory by test_get_outputs +in Distutils. + +.. + +.. bpo: 4050 +.. date: 7481 +.. nonce: mjHlfF +.. section: Library + +inspect.findsource/getsource now raise an IOError if the 'source' file is a +binary. Patch by Brodie Rao, tests by Daniel Diniz. + +.. + +.. bpo: 5977 +.. date: 7480 +.. nonce: xcP2Su +.. section: Library + +distutils build_ext.get_outputs was not taking into account the inplace +option. Initial patch by kxroberto. + +.. + +.. bpo: 5984 +.. date: 7479 +.. nonce: evqxbf +.. section: Library + +distutils.command.build_ext.check_extensions_list checks were broken for +old-style extensions. + +.. + +.. bpo: 5971 +.. date: 7478 +.. nonce: IQW2NO +.. section: Library + +StreamHandler.handleError now swallows IOErrors which occur when trying to +print a traceback. + +.. + +.. bpo: 5976 +.. date: 7477 +.. nonce: 01_dSR +.. section: Library + +Fixed Distutils test_check_environ. + +.. + +.. bpo: 5900 +.. date: 7476 +.. nonce: uMqjsO +.. section: Library + +Ensure RUNPATH is added to extension modules with RPATH if GNU ld is used. +Original patch by Floris Bruynooghe. + +.. + +.. bpo: 5941 +.. date: 7475 +.. nonce: Xdk_6Y +.. section: Library + +Distutils build_clib command was not working anymore because of an +incomplete customization of the archiver command. Added ARFLAGS in the +Makefile besides AR and make Distutils use it. Original patch by David +Cournapeau. + +.. + +.. bpo: 5955 +.. date: 7474 +.. nonce: rZM3XY +.. section: Library + +aifc's close method did not close the file it wrapped, now it does. This +also means getfp method now returns the real fp. + +.. + +.. bpo: 4875 +.. date: 7473 +.. nonce: lozHFb +.. section: Library + +On win32, ctypes.util.find_library does no longer return directories. + +.. + +.. bpo: 5142 +.. date: 7472 +.. nonce: XGXII1 +.. section: Library + +Add the ability to skip modules while stepping to pdb. + +.. + +.. bpo: 1309567 +.. date: 7471 +.. nonce: wcqooN +.. section: Library + +Fix linecache behavior of stripping subdirectories when looking for files +given by a relative filename. + +.. + +.. bpo: 5692 +.. date: 7470 +.. nonce: XbbGod +.. section: Library + +In ``zipfile.Zipfile``, fix wrong path calculation when extracting a file to +the root directory. + +.. + +.. bpo: 5913 +.. date: 7469 +.. nonce: Gg7oAA +.. section: Library + +``os.listdir()`` should fail for empty path on windows. + +.. + +.. bpo: 5084 +.. date: 7468 +.. nonce: 28LIEg +.. section: Library + +Unpickling now interns the attribute names of pickled objects, saving memory +and avoiding growth in size of subsequent pickles. Proposal and original +patch by Jake McGuire. + +.. + +.. bpo: 3002 +.. date: 7467 +.. nonce: Q2Bwlw +.. section: Library + +``shutil.copyfile()`` and ``shutil.copytree()`` now raise an error when a +named pipe is encountered, rather than blocking infinitely. + +.. + +.. bpo: 3959 +.. date: 7466 +.. nonce: JOcNpv +.. section: Library + +The ipaddr module has been added to the standard library. Contributed by +Google. + +.. + +.. bpo: 2245 +.. date: 7465 +.. nonce: wM6yIG +.. section: Library + +aifc now skips chunk types it doesn't recognize, per spec. + +.. + +.. bpo: 5874 +.. date: 7464 +.. nonce: Wrh4pp +.. section: Library + +distutils.tests.test_config_cmd is not locale-sensitive anymore. + +.. + +.. bpo: 4305 +.. date: 7463 +.. nonce: yHp6W2 +.. section: Library + +ctypes should now build again on mipsel-linux-gnu + +.. + +.. bpo: 1734234 +.. date: 7462 +.. nonce: I3S_a6 +.. section: Library + +Massively speedup ``unicodedata.normalize()`` when the string is already in +normalized form, by performing a quick check beforehand. Original patch by +Rauli Ruohonen. + +.. + +.. bpo: 5853 +.. date: 7461 +.. nonce: oKokIP +.. section: Library + +Calling a function of the mimetypes module from several threads at once +could hit the recursion limit if the mimetypes database hadn't been +initialized before. + +.. + +.. bpo: 5854 +.. date: 7460 +.. nonce: 8o0llM +.. section: Library + +Updated __all__ to include some missing names and remove some names which +should not be exported. + +.. + +.. bpo: 5810 +.. date: 7459 +.. nonce: LFr2OK +.. section: Library + +Fixed Distutils test_build_scripts so it uses +``sysconfig.get_config_vars()``. + +.. + +.. bpo: 4951 +.. date: 7458 +.. nonce: 9eKc7j +.. section: Library + +Fixed failure in test_httpservers. + +.. + +.. bpo: 3102 +.. date: 7457 +.. nonce: LDgk6Z +.. section: Library + +All global symbols that the _ctypes extension defines are now prefixed with +'Py' or '_ctypes'. + +.. + +.. bpo: 5041 +.. date: 7456 +.. nonce: 8SM2Q6 +.. section: Library + +ctypes does now allow pickling wide character. + +.. + +.. bpo: 5812 +.. date: 7455 +.. nonce: DG4u35 +.. section: Library + +For the two-argument form of the Fraction constructor, ``Fraction(m, n)``, m +and n are permitted to be arbitrary Rational instances. + +.. + +.. bpo: 5812 +.. date: 7454 +.. nonce: bdeIy6 +.. section: Library + +Fraction('1e6') is valid: more generally, any string that's valid for +float() is now valid for Fraction(), with the exception of strings +representing NaNs and infinities. + +.. + +.. bpo: 5795 +.. date: 7453 +.. nonce: _5SXcu +.. section: Library + +Fixed test_distutils failure on Debian ppc. + +.. + +.. bpo: 5768 +.. date: 7452 +.. nonce: Lx3FBy +.. section: Library + +Fixed bug in Unicode output logic and test case for same. + +.. + +.. bpo: 1161031 +.. date: 7451 +.. nonce: vIHCeg +.. section: Library + +Fix readwrite select flag handling: POLLPRI now results in a +handle_expt_event call, not handle_read_event, and POLLERR and POLLNVAL now +call handle_close, not handle_expt_event. Also, dispatcher now has an +'ignore_log_types' attribute for suppressing log messages, which is set to +'warning' by default. + +.. + +.. bpo: 5607 +.. date: 7450 +.. nonce: GlYpK6 +.. section: Library + +Fixed Distutils test_get_platform for Mac OS X fat binaries. + +.. + +.. bpo: 5741 +.. date: 7449 +.. nonce: sKDQuN +.. section: Library + +Don't disallow "%%" (which is an escape for "%") when setting a value in +SafeConfigParser. + +.. + +.. bpo: 5732 +.. date: 7448 +.. nonce: BxEaO_ +.. section: Library + +Added a new command in Distutils: check. + +.. + +.. bpo: 5731 +.. date: 7447 +.. nonce: tCA4Qq +.. section: Library + +Distutils bdist_wininst no longer worked on non-Windows platforms. Initial +patch by Paul Moore. + +.. + +.. bpo: 2254 +.. date: 7446 +.. nonce: XwszLk +.. section: Library + +Fix CGIHTTPServer information disclosure. Relative paths are now collapsed +within the url properly before looking in cgi_directories. + +.. + +.. bpo: 5095 +.. date: 7445 +.. nonce: xiSRDz +.. section: Library + +Added bdist_msi to the list of bdist supported formats. Initial fix by +Steven Bethard. + +.. + +.. bpo: 1491431 +.. date: 7444 +.. nonce: aNp23F +.. section: Library + +Fixed distutils.filelist.glob_to_re for edge cases. Initial fix by Wayne +Davison. + +.. + +.. bpo: 5693 +.. date: 7443 +.. nonce: M0PEHJ +.. section: Library + +TestSuite.__iter__ can now be consistently overridden in subclasses. + +.. + +.. bpo: 5694 +.. date: 7442 +.. nonce: ZvKxFR +.. section: Library + +Removed spurious test output in Distutils (test_clean). + +.. + +.. bpo: 5471 +.. date: 7441 +.. nonce: BKf7Q4 +.. section: Library + +Fix os.path.expanduser() for $HOME set to '/'. + +.. + +.. bpo: 1326077 +.. date: 7440 +.. nonce: if0OW2 +.. section: Library + +Fix the formatting of SyntaxErrors by the traceback module. + +.. + +.. bpo: 1726172 +.. date: 7439 +.. nonce: e2vy9u +.. section: Library + +Fix IndexError in the case of and empty response in ftplib. + +.. + +.. bpo: 2625 +.. date: 7438 +.. nonce: _XRRkk +.. section: Library + +Added missing iteritems() call to the for loop in mailbox.MH.get_message(). + +.. + +.. bpo: 5585 +.. date: 7437 +.. nonce: YAZXyy +.. section: Library + +Add the ability to call an initializer to multiprocessing.manager so that +users can install custom handlers/etc. + +.. + +.. bpo: 3551 +.. date: 7436 +.. nonce: Cu6Cul +.. section: Library + +Patch multiprocessing to raise a proper exception if the size of the object +when writefile is called causes an ERROR_NO_SYSTEM_RESOURCES. Added docs to +note the limitation. + +.. + +.. bpo: 0 +.. date: 7435 +.. nonce: xAXTK2 +.. section: Library + +unittest.assertNotEqual() now uses the inequality operator (!=) instead of +the equality operator. + +.. + +.. bpo: 6001 +.. date: 7434 +.. nonce: oWiMFG +.. section: Library + +Test discovery for unittest. Implemented in unittest.TestLoader.discover and +from the command line. + +.. + +.. bpo: 5679 +.. date: 7433 +.. nonce: GDbJ3F +.. section: Library + +The methods unittest.TestCase.addCleanup and doCleanups were added. +addCleanup allows you to add cleanup functions that will be called +unconditionally (after setUp if setUp fails, otherwise after tearDown). This +allows for much simpler resource allocation and deallocation during tests. + +.. + +.. bpo: 3379 +.. date: 7432 +.. nonce: yfUkbC +.. section: Library + +unittest.main now takes an optional exit argument. If False main doesn't +call sys.exit allowing it to be used from the interactive interpreter. + +.. + +.. bpo: 5995 +.. date: 7431 +.. nonce: S0agLh +.. section: Library + +unittest.main now takes an optional verbosity argument allowing test modules +to be run with a higher than default verbosity. + +.. + +.. bpo: 5995 +.. date: 7430 +.. nonce: zjk0GI +.. section: Library + +A fix to allow you to run "python -m unittest test_module" or "python -m +unittest test_module.TestClass" from the command line. + +.. + +.. bpo: 5728 +.. date: 7429 +.. nonce: wPx88T +.. section: Library + +unittest.TestResult has new startTestRun and stopTestRun methods; called +immediately before and after a test run. + +.. + +.. bpo: 5663 +.. date: 7428 +.. nonce: FdiDuS +.. section: Library + +Better failure messages for unittest asserts. Default assertTrue and +assertFalse messages are now useful. TestCase has a longMessage attribute. +This defaults to False, but if set to True useful error messages are shown +in addition to explicit messages passed to assert methods. + +.. + +.. bpo: 3110 +.. date: 7427 +.. nonce: ybmLDs +.. section: Library + +Add additional protect around SEM_VALUE_MAX for multiprocessing. + +.. + +.. bpo: 0 +.. date: 7426 +.. nonce: PTlc4y +.. section: Library + +In Pdb, prevent the reassignment of __builtin__._ by sys.displayhook on +printing out values. + +.. + +.. bpo: 4572 +.. date: 7425 +.. nonce: yh5ziP +.. section: Library + +Added SEEK_* symbolic constants to io module. + +.. + +.. bpo: 1665206 +.. date: 7424 +.. nonce: 8AhGz1 +.. section: Library + +Move imports in cgitb to the top of the module instead of performing them in +functions. Helps prevent import deadlocking in threads. + +.. + +.. bpo: 5647 +.. date: 7423 +.. nonce: KPmSmW +.. section: Library + +MutableSet.__iand__() no longer mutates self during iteration. + +.. + +.. bpo: 0 +.. date: 7422 +.. nonce: t0Sm7D +.. section: Library + +Actually make the SimpleXMLRPCServer CGI handler work. + +.. + +.. bpo: 2522 +.. date: 7421 +.. nonce: TTa0fi +.. section: Library + +locale.format() now checks its first argument to ensure it has been passed +only one pattern, avoiding mysterious errors where it appeared that it was +failing to do localization. + +.. + +.. bpo: 5583 +.. date: 7420 +.. nonce: GNjR3y +.. section: Library + +Added optional extensions in Distutils. Initial patch by Georg Brandl. + +.. + +.. bpo: 5619 +.. date: 7419 +.. nonce: IkF1og +.. section: Library + +Multiprocessing children disobey the debug flag and causes popups on windows +buildbots. Patch applied to work around this issue. + +.. + +.. bpo: 5632 +.. date: 7418 +.. nonce: OcociP +.. section: Library + +Thread.ident was None for the main thread and threads not created with the +threading module. + +.. + +.. bpo: 5400 +.. date: 7417 +.. nonce: zmbm0t +.. section: Library + +Added patch for multiprocessing on netbsd compilation/support. + +.. + +.. bpo: 5387 +.. date: 7416 +.. nonce: uvZ11E +.. section: Library + +Fixed mmap.move crash by integer overflow. + +.. + +.. bpo: 5261 +.. date: 7415 +.. nonce: py6jc9 +.. section: Library + +Patch multiprocessing's semaphore.c to support context manager use: "with +multiprocessing.Lock()" works now. + +.. + +.. bpo: 5177 +.. date: 7414 +.. nonce: eRUMiM +.. section: Library + +Multiprocessing's SocketListener class now uses socket.SO_REUSEADDR on all +connections so that the user no longer needs to wait 120 seconds for the +socket to expire. + +.. + +.. bpo: 0 +.. date: 7413 +.. nonce: pFfCqO +.. section: Library + +Adjusted _tkinter to compile without warnings when WITH_THREAD is not +defined (part of issue #5035). + +.. + +.. bpo: 5561 +.. date: 7412 +.. nonce: 11jxV4 +.. section: Library + +Removed the sys.version_info shortcuts from platform's python_version() and +python_version_tuple() since they produced different output compared to +previous Python versions. + +.. + +.. bpo: 1034053 +.. date: 7411 +.. nonce: kAn84D +.. section: Library + +unittest now supports skipping tests and expected failures. + +.. + +.. bpo: 0 +.. date: 7410 +.. nonce: GHZyr1 +.. section: Library + +The unittest.TestCase.assertRaises() method now returns a context manager +when not given a callable so that code to be tested can be written inline +using a with statement. + +.. + +.. bpo: 2578 +.. date: 7409 +.. nonce: JvL31E +.. section: Library + +The unittest.TestCase.assertEqual() now displays the differences in lists, +tuples, dicts and sets on failure. Many new handy type and comparison +specific assert* methods have been added that fail with error messages +actually useful for debugging. Contributed in part by Google. + +.. + +.. bpo: 5068 +.. date: 7408 +.. nonce: MXgCgm +.. section: Library + +Fixed the tarfile._BZ2Proxy.read() method that would loop forever on +incomplete input. That caused tarfile.open() to hang when used with mode +'r' or 'r:bz2' and a fileobj argument that contained no data or partial +bzip2 compressed data. + +.. + +.. bpo: 5536 +.. date: 7407 +.. nonce: 9f--jv +.. section: Library + +urllib.urlretrieve makes sure to close the file it's writing to even if an +exception occurs. + +.. + +.. bpo: 5381 +.. date: 7406 +.. nonce: qzMSVP +.. section: Library + +Added object_pairs_hook to the json module. This allows OrderedDicts to be +built by the decoder. + +.. + +.. bpo: 2110 +.. date: 7405 +.. nonce: VVQTv0 +.. section: Library + +Add support for thousands separator and 'n' type specifier to +``Decimal.__format__()``. + +.. + +.. bpo: 0 +.. date: 7404 +.. nonce: E4kk25 +.. section: Library + +Fix Decimal.__format__ bug that swapped the meanings of the '<' and '>' +alignment characters. + +.. + +.. bpo: 1222 +.. date: 7403 +.. nonce: o6ET8T +.. section: Library + +``locale.format()`` bug when the thousands separator is a space character. + +.. + +.. bpo: 5472 +.. date: 7402 +.. nonce: y52FYs +.. section: Library + +Fixed distutils.test_util tear down. Original patch by Tim Golden. + +.. + +.. bpo: 0 +.. date: 7401 +.. nonce: 353Xjd +.. section: Library + +collections.deque objects now have a read-only attribute called maxlen. + +.. + +.. bpo: 2638 +.. date: 7400 +.. nonce: NX9HHb +.. section: Library + +Show a window constructed with tkSimpleDialog.Dialog only after it is has +been populated and properly configured in order to prevent window flashing. + +.. + +.. bpo: 4792 +.. date: 7399 +.. nonce: jK4Q6l +.. section: Library + +Prevent a segfault in _tkinter by using the guaranteed to be safe interp +argument given to the PythonCmd in place of the Tcl interpreter taken from a +PythonCmd_ClientData. + +.. + +.. bpo: 5193 +.. date: 7398 +.. nonce: cT2tgG +.. section: Library + +Guarantee that Tkinter.Text.search returns a string. + +.. + +.. bpo: 5394 +.. date: 7397 +.. nonce: i2Ffk- +.. section: Library + +Removed > 2.3 syntax from distutils.msvc9compiler. Original patch by Akira +Kitada. + +.. + +.. bpo: 5385 +.. date: 7396 +.. nonce: I6RMU3 +.. section: Library + +Fixed mmap crash after resize failure on windows. + +.. + +.. bpo: 5179 +.. date: 7395 +.. nonce: J-DtY4 +.. section: Library + +Fixed subprocess handle leak on failure on windows. + +.. + +.. bpo: 0 +.. date: 7394 +.. nonce: 7zHVyM +.. section: Library + +PEP 372: Added collections.OrderedDict(). + +.. + +.. bpo: 0 +.. date: 7393 +.. nonce: 7DzM2Y +.. section: Library + +The _asdict() for method for namedtuples now returns an OrderedDict(). + +.. + +.. bpo: 0 +.. date: 7392 +.. nonce: 4id7jq +.. section: Library + +The configparser module now defaults to using an ordered dictionary. + +.. + +.. bpo: 4308 +.. date: 7391 +.. nonce: 7O6QSe +.. section: Library + +httplib.IncompleteRead's repr doesn't include all of the data all ready +received. + +.. + +.. bpo: 5401 +.. date: 7390 +.. nonce: L67vEY +.. section: Library + +Fixed a performance problem in mimetypes when ``from mimetypes import +guess_extension`` was used. + +.. + +.. bpo: 1733986 +.. date: 7389 +.. nonce: v6ClaV +.. section: Library + +Fixed mmap crash on Windows in accessing elements of second map object with +same tagname but larger size than first map. + +.. + +.. bpo: 5386 +.. date: 7388 +.. nonce: Mfoc4E +.. section: Library + +mmap.write_byte didn't check map size, so it could cause buffer overrun. + +.. + +.. bpo: 1533164 +.. date: 7387 +.. nonce: oSDeo2 +.. section: Library + +Installed but not listed *.pyo was breaking Distutils bdist_rpm command. + +.. + +.. bpo: 5378 +.. date: 7386 +.. nonce: Nu7yhK +.. section: Library + +Added --quiet option to Distutils bdist_rpm command. + +.. + +.. bpo: 5052 +.. date: 7385 +.. nonce: tuRmM7 +.. section: Library + +Make Distutils compatible with 2.3 again. + +.. + +.. bpo: 0 +.. date: 7384 +.. nonce: i4QWFU +.. section: Library + +Deprecated methods of symtable.Symbol have been removed: is_keywordarg(), +is_vararg(), and is_in_tuple(). + +.. + +.. bpo: 5316 +.. date: 7383 +.. nonce: gdWjbL +.. section: Library + +Fixed buildbot failures introduced by multiple inheritance in Distutils +tests. + +.. + +.. bpo: 5287 +.. date: 7382 +.. nonce: m3xQet +.. section: Library + +Add exception handling around findCaller() call to help out IronPython. + +.. + +.. bpo: 5282 +.. date: 7381 +.. nonce: oc64yd +.. section: Library + +Fixed mmap resize on 32bit Windows and Unix. When ``offset > 0``, the file +was resized to wrong size. + +.. + +.. bpo: 5292 +.. date: 7380 +.. nonce: K-iKkZ +.. section: Library + +Fixed mmap crash on its boundary access m[len(m)]. + +.. + +.. bpo: 2279 +.. date: 7379 +.. nonce: T7t8d0 +.. section: Library + +distutils.sdist.add_defaults now add files from the package_data and the +data_files metadata. + +.. + +.. bpo: 5257 +.. date: 7378 +.. nonce: asNrGx +.. section: Library + +Refactored all tests in distutils, so they use support.TempdirManager, to +avoid writing in the tests directory. + +.. + +.. bpo: 4524 +.. date: 7377 +.. nonce: Y3L_fh +.. section: Library + +distutils build_script command failed with --with-suffix=3. Initial patch by +Amaury Forgeot d'Arc. + +.. + +.. bpo: 2461 +.. date: 7376 +.. nonce: RD653P +.. section: Library + +Added tests for distutils.util. + +.. + +.. bpo: 1008086 +.. date: 7375 +.. nonce: BbViq- +.. section: Library + +Fixed socket.inet_aton() to always return 4 bytes even on LP64 platforms +(most 64-bit Linux, bsd, unix systems). + +.. + +.. bpo: 5203 +.. date: 7374 +.. nonce: _dsCYh +.. section: Library + +Fixed ctypes segfaults when passing a unicode string to a function without +argtypes (only occurs if HAVE_USABLE_WCHAR_T is false). + +.. + +.. bpo: 3386 +.. date: 7373 +.. nonce: KG-Ru5 +.. section: Library + +distutils.sysconfig.get_python_lib prefix argument was ignored under NT and +OS2. Patch by Philip Jenvey. + +.. + +.. bpo: 5128 +.. date: 7372 +.. nonce: RLP-Ij +.. section: Library + +Make compileall properly inspect bytecode to determine if needs to be +recreated. This avoids a timing hole thanks to the old reliance on the +ctime of the files involved. + +.. + +.. bpo: 5122 +.. date: 7371 +.. nonce: 45BIdZ +.. section: Library + +Synchronize tk load failure check to prevent a potential deadlock. + +.. + +.. bpo: 1818 +.. date: 7370 +.. nonce: _i2lg8 +.. section: Library + +collections.namedtuple() now supports a keyword argument 'rename' which lets +invalid fieldnames be automatically converted to positional names in the +form, _1, _2, ... + +.. + +.. bpo: 4890 +.. date: 7369 +.. nonce: frM5Ou +.. section: Library + +Handle empty text search pattern in Tkinter.Text.search. + +.. + +.. bpo: 5170 +.. date: 7368 +.. nonce: qiqrbO +.. section: Library + +Fixed Unicode output bug in logging and added test case. This is a +regression which did not occur in 2.5. + +.. + +.. bpo: 4512 +.. date: 7367 +.. nonce: WCcn7w +.. section: Library + +Promote ``ZipImporter._get_filename()`` to be a public documented method +``ZipImporter.get_filename()``. + +.. + +.. bpo: 4195 +.. date: 7366 +.. nonce: 462RKE +.. section: Library + +The ``runpy`` module (and the ``-m`` switch) now support the execution of +packages by looking for and executing a ``__main__`` submodule when a +package name is supplied. Initial patch by Andi Vajda. + +.. + +.. bpo: 1731706 +.. date: 7365 +.. nonce: WZ5WX5 +.. section: Library + +Call Tcl_ConditionFinalize for Tcl_Conditions that will not be used again +(this requires Tcl/Tk 8.3.1), also fix a memory leak in Tkapp_Call when +calling from a thread different than the one that created the Tcl +interpreter. Patch by Robert Hancock. + +.. + +.. bpo: 1520877 +.. date: 7364 +.. nonce: 8L5pMp +.. section: Library + +Now distutils.sysconfig reads $AR from the environment/Makefile. Patch by +Douglas Greiman. + +.. + +.. bpo: 4285 +.. date: 7363 +.. nonce: 3vlvS6 +.. section: Library + +Change sys.version_info to be a named tuple. Patch by Ross Light. + +.. + +.. bpo: 1276768 +.. date: 7362 +.. nonce: xGRlK_ +.. section: Library + +The verbose option was not used in the code of distutils.file_util and +distutils.dir_util. + +.. + +.. bpo: 5132 +.. date: 7361 +.. nonce: lYsgxj +.. section: Library + +Fixed trouble building extensions under Solaris with --enabled-shared +activated. Initial patch by Dave Peterson. + +.. + +.. bpo: 1581476 +.. date: 7360 +.. nonce: 8PPtxr +.. section: Library + +Always use the Tcl global namespace when calling into Tcl. + +.. + +.. bpo: 2047 +.. date: 7359 +.. nonce: W29q2y +.. section: Library + +shutil.move() could believe that its destination path was inside its source +path if it began with the same letters (e.g. "src" vs. "src.new"). + +.. + +.. bpo: 4920 +.. date: 7358 +.. nonce: 4C6Tka +.. section: Library + +Fixed .next() vs .__next__() issues in the ABCs for Iterator and MutableSet. + +.. + +.. bpo: 0 +.. date: 7357 +.. nonce: St1AK1 +.. section: Library + +Added the ttk module. See issue #2983: Ttk support for Tkinter. + +.. + +.. bpo: 5021 +.. date: 7356 +.. nonce: w66Gt4 +.. section: Library + +doctest.testfile() did not create __name__ and collections.namedtuple() +relied on __name__ being defined. + +.. + +.. bpo: 0 +.. date: 7355 +.. nonce: iqhL-t +.. section: Library + +Backport importlib from Python 3.1. Only the import_module() function has +been backported to help facilitate transitions from 2.7 to 3.1. + +.. + +.. bpo: 1885 +.. date: 7354 +.. nonce: PtaVKd +.. section: Library + +distutils: When running sdist with --formats=tar,gztar the tar file was +overridden by the gztar one. + +.. + +.. bpo: 4863 +.. date: 7353 +.. nonce: WAd1yO +.. section: Library + +distutils.mwerkscompiler has been removed. + +.. + +.. bpo: 0 +.. date: 7352 +.. nonce: N87zoU +.. section: Library + +Added new itertools functions: combinations_with_replacement() and +compress(). + +.. + +.. bpo: 5032 +.. date: 7351 +.. nonce: Hc_HF9 +.. section: Library + +Added a step argument to itertools.count() and allowed non-integer +arguments. + +.. + +.. bpo: 0 +.. date: 7350 +.. nonce: htGT5q +.. section: Library + +Fix and properly document the multiprocessing module's logging support, +expose the internal levels and provide proper usage examples. + +.. + +.. bpo: 1672332 +.. date: 7349 +.. nonce: PilXzF +.. section: Library + +Fix unpickling of subnormal floats, which was producing a ValueError on some +platforms. + +.. + +.. bpo: 3881 +.. date: 7348 +.. nonce: bIWN64 +.. section: Library + +Help Tcl to load even when started through the unreadable local symlink to +"Program Files" on Vista. + +.. + +.. bpo: 4710 +.. date: 7347 +.. nonce: ZjbAFp +.. section: Library + +Extract directories properly in the zipfile module; allow adding directories +to a zipfile. + +.. + +.. bpo: 3807 +.. date: 7346 +.. nonce: E4I458 +.. section: Library + +_multiprocessing build fails when configure is passed --without-threads +argument. When this occurs, _multiprocessing will be disabled, and not +compiled. + +.. + +.. bpo: 5008 +.. date: 7345 +.. nonce: n1uR4V +.. section: Library + +When a file is opened in append mode with the new IO library, do an explicit +seek to the end of file (so that e.g. tell() returns the file size rather +than 0). This is consistent with the behaviour of the traditional 2.x file +object. + +.. + +.. bpo: 5013 +.. date: 7344 +.. nonce: AZ9WNo +.. section: Library + +Fixed a bug in FileHandler which occurred when the delay parameter was set. + +.. + +.. bpo: 4998 +.. date: 7343 +.. nonce: AomdSw +.. section: Library + +The memory saving effect of __slots__ had been lost on Fractions which +inherited from numbers.py which did not have __slots__ defined. The numbers +hierarchy now has its own __slots__ declarations. + +.. + +.. bpo: 3321 +.. date: 7342 +.. nonce: 4gfMOk +.. section: Library + +_multiprocessing.Connection() doesn't check handle; added checks for *nix +machines for negative handles and large int handles. Without this check it +is possible to segfault the interpreter. + +.. + +.. bpo: 4449 +.. date: 7341 +.. nonce: O4I8D7 +.. section: Library + +AssertionError in mp_benchmarks.py, caused by an underlying issue in +sharedctypes.py. + +.. + +.. bpo: 1225107 +.. date: 7340 +.. nonce: p6wro7 +.. section: Library + +inspect.isclass() returned True for instances with a custom __getattr__. + +.. + +.. bpo: 3997 +.. date: 7339 +.. nonce: kDqtnQ +.. section: Library + +Zipfiles generated with more than 65536 files could not be opened with other +applications. + +.. + +.. bpo: 1162154 +.. date: 7338 +.. nonce: QHeSnh +.. section: Library + +``inspect.getmembers()`` now skips attributes that raise AttributeError, +e.g. a __slots__ attribute which has not been set. + +.. + +.. bpo: 1696199 +.. date: 7337 +.. nonce: cR113m +.. section: Library + +Add collections.Counter() for rapid and convenient counting. + +.. + +.. bpo: 3860 +.. date: 7336 +.. nonce: f8AZsh +.. section: Library + +GzipFile and BZ2File now support the context management protocol. + +.. + +.. bpo: 4272 +.. date: 7335 +.. nonce: auf_M0 +.. section: Library + +Add an optional argument to the GzipFile constructor to override the +timestamp in the gzip stream. The default value remains the current time. +The information can be used by e.g. gunzip when decompressing. Patch by +Jacques Frechet. + +.. + +.. bpo: 0 +.. date: 7334 +.. nonce: 7sDs9W +.. section: Library + +Restore Python 2.3 compatibility for decimal.py. + +.. + +.. bpo: 1702551 +.. date: 7333 +.. nonce: If0hpw +.. section: Library + +distutils sdist was not excluding VCS directories under Windows. Initial +solution by Guy Dalberto. + +.. + +.. bpo: 0 +.. date: 7332 +.. nonce: exKvPN +.. section: Library + +The _tkinter module functions "createfilehandler", "deletefilehandler", +"createtimerhandler", "mainloop", "dooneevent" and "quit" have been +deprecated for removal in 3.x + +.. + +.. bpo: 4796 +.. date: 7331 +.. nonce: UBKEyz +.. section: Library + +Added Decimal.from_float() and Context.create_decimal_from_float() to the +decimal module. + +.. + +.. bpo: 4812 +.. date: 7330 +.. nonce: 2hPczw +.. section: Library + +Add missing underscore prefix to some internal-use-only constants in the +decimal module. (Dec_0 becomes _Dec_0, etc.) + +.. + +.. bpo: 4795 +.. date: 7329 +.. nonce: _vA-Zf +.. section: Library + +inspect.isgeneratorfunction() returns False instead of None when the +function is not a generator. + +.. + +.. bpo: 4702 +.. date: 7328 +.. nonce: ybmQBP +.. section: Library + +Throwing a DistutilsPlatformError instead of IOError in case no MSVC +compiler is found under Windows. Original patch by Philip Jenvey. + +.. + +.. bpo: 4646 +.. date: 7327 +.. nonce: 7wQSEv +.. section: Library + +distutils was choking on empty options arg in the setup function. Original +patch by Thomas Heller. + +.. + +.. bpo: 0 +.. date: 7326 +.. nonce: cAjOp1 +.. section: Library + +Fractions.from_float() no longer loses precision for integers too big to +cast as floats. + +.. + +.. bpo: 4790 +.. date: 7325 +.. nonce: aKNjhn +.. section: Library + +The nsmallest() and nlargest() functions in the heapq module did unnecessary +work in the common case where no key function was specified. + +.. + +.. bpo: 3767 +.. date: 7324 +.. nonce: sY2Wyh +.. section: Library + +Convert Tk object to string in tkColorChooser. + +.. + +.. bpo: 3248 +.. date: 7323 +.. nonce: 6UId_r +.. section: Library + +Allow placing ScrolledText in a PanedWindow. + +.. + +.. bpo: 4444 +.. date: 7322 +.. nonce: oBxx2k +.. section: Library + +Allow assertRaises() to be used as a context handler, so that the code under +test can be written inline if more practical. + +.. + +.. bpo: 4739 +.. date: 7321 +.. nonce: VoYRrw +.. section: Library + +Add pydoc help topics for symbols, so that e.g. help('@') works as expected +in the interactive environment. + +.. + +.. bpo: 4756 +.. date: 7320 +.. nonce: pscfIt +.. section: Library + +zipfile.is_zipfile() now supports file-like objects. Patch by Gabriel +Genellina. + +.. + +.. bpo: 4400 +.. date: 7319 +.. nonce: CSFvcN +.. section: Library + +.pypirc default generated file was broken in distutils. + +.. + +.. bpo: 4736 +.. date: 7318 +.. nonce: qftNAR +.. section: Library + +io.BufferedRWPair's closed property now functions properly. + +.. + +.. bpo: 3954 +.. date: 7317 +.. nonce: vPsfgT +.. section: Library + +Fix a potential SystemError in _hotshot.logreader error handling. + +.. + +.. bpo: 4574 +.. date: 7316 +.. nonce: CXYnzF +.. section: Library + +Fix a crash in io.IncrementalNewlineDecoder when a carriage return encodes +to more than one byte in the source encoding (e.g. UTF-16) and gets split on +a chunk boundary. + +.. + +.. bpo: 4223 +.. date: 7315 +.. nonce: UCATW5 +.. section: Library + +inspect.getsource() will now correctly display source code for packages +loaded via zipimport (or any other conformant PEP 302 loader). Original +patch by Alexander Belopolsky. + +.. + +.. bpo: 4201 +.. date: 7314 +.. nonce: hdQbIQ +.. section: Library + +pdb can now access and display source code loaded via zipimport (or any +other conformant PEP 302 loader). Original patch by Alexander Belopolsky. + +.. + +.. bpo: 4197 +.. date: 7313 +.. nonce: IA6tPh +.. section: Library + +Doctests in modules loaded via zipimport (or any other PEP 302 conformant +loader) will now work correctly in most cases (they are still subject to the +constraints that exist for all code running from inside a module loaded via +a PEP 302 loader and attempting to perform IO operations based on __file__). +Original patch by Alexander Belopolsky. + +.. + +.. bpo: 4082 +.. date: 7312 +.. nonce: jpnXzi +.. section: Library + +Add runpy support to zipimport in a manner that allows backporting to +maintenance branches. Original patch by Alexander Belopolsky. (See also: +bpo-4512) + +.. + +.. bpo: 4163 +.. date: 7311 +.. nonce: r4afWs +.. section: Library + +Use unicode-friendly word splitting in the textwrap functions when given a +Unicode string. + +.. + +.. bpo: 4616 +.. date: 7310 +.. nonce: EfehU4 +.. section: Library + +TarFile.utime(): Restore directory times on Windows. + +.. + +.. bpo: 4084 +.. date: 7309 +.. nonce: CgsU1v +.. section: Library + +Fix max, min, max_mag and min_mag Decimal methods to give correct results in +the case where one argument is a quiet NaN and the other is a finite number +that requires rounding. + +.. + +.. bpo: 1030250 +.. date: 7308 +.. nonce: s-KbFX +.. section: Library + +Distutils created directories even when run with the --dry-run option. + +.. + +.. bpo: 4483 +.. date: 7307 +.. nonce: H2pFWf +.. section: Library + +_dbm module now builds on systems with gdbm & gdbm_compat libs. + +.. + +.. bpo: 4529 +.. date: 7306 +.. nonce: J-M1ot +.. section: Library + +Fix the parser module's validation of try-except-finally statements. + +.. + +.. bpo: 4458 +.. date: 7305 +.. nonce: d68Oc- +.. section: Library + +getopt.gnu_getopt() now recognizes a single "-" as an argument, not a +malformed option. + +.. + +.. bpo: 0 +.. date: 7304 +.. nonce: JcSDah +.. section: Library + +Added the subprocess.check_output() convenience function to get output from +a subprocess on success or raise an exception on error. + +.. + +.. bpo: 1055234 +.. date: 7303 +.. nonce: PJDWMZ +.. section: Library + +cgi.parse_header(): Fixed parsing of header parameters to support unusual +filenames (such as those containing semi-colons) in Content-Disposition +headers. + +.. + +.. bpo: 4384 +.. date: 7302 +.. nonce: 5W6yrD +.. section: Library + +Added logging integration with warnings module using captureWarnings(). +This change includes a NullHandler which does nothing; it will be of use to +library developers who want to avoid the "No handlers could be found for +logger XXX" message which can appear if the library user doesn't configure +logging. + +.. + +.. bpo: 3741 +.. date: 7301 +.. nonce: ugW7ZS +.. section: Library + +DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an exception. + +.. + +.. bpo: 4363 +.. date: 7300 +.. nonce: zbP2s9 +.. section: Library + +The uuid.uuid1() and uuid.uuid4() functions now work even if the ctypes +module is not present. + +.. + +.. bpo: 0 +.. date: 7299 +.. nonce: 9ohu2f +.. section: Library + +FileIO's mode attribute now always includes ``"b"``. + +.. + +.. bpo: 4116 +.. date: 7298 +.. nonce: CD_MP7 +.. section: Library + +Resolve member name conflict in ScrolledCanvas.__init__. + +.. + +.. bpo: 0 +.. date: 7297 +.. nonce: QmONdW +.. section: Library + +httplib.HTTPConnection.putheader() now accepts an arbitrary number of values +for any header, matching what the documentation has claimed for a while. + +.. + +.. bpo: 3774 +.. date: 7296 +.. nonce: qhBNNQ +.. section: Library + +Fixed an error when create a Tkinter menu item without command and then +remove it. + +.. + +.. bpo: 0 +.. date: 7295 +.. nonce: NbETIR +.. section: Library + +Fixed a modulefinder crash on certain relative imports. + +.. + +.. bpo: 4150 +.. date: 7294 +.. nonce: Q8jnkP +.. section: Library + +Pdb's "up" command now works for generator frames in post-mortem debugging. + +.. + +.. bpo: 4092 +.. date: 7293 +.. nonce: cgu8U7 +.. section: Library + +Return ArgInfo as promised in the documentation from inspect.getargvalues. + +.. + +.. bpo: 3935 +.. date: 7292 +.. nonce: xo6LXH +.. section: Library + +Properly support list subclasses in bisect's C implementation. + +.. + +.. bpo: 4014 +.. date: 7291 +.. nonce: VPepZh +.. section: Library + +Don't claim that Python has an Alpha release status, in addition to claiming +it is Mature. + +.. + +.. bpo: 4730 +.. date: 7290 +.. nonce: Gb-t2A +.. section: Library + +Fixed the cPickle module to handle correctly astral characters when protocol +0 is used. + +.. + +.. bpo: 1594 +.. date: 7289 +.. nonce: HEsHsF +.. section: Library + +MacOS.GetCreatorAndType now always returns a big-endian result, to be +consistent with Apple tools. + +.. + +.. bpo: 900949 +.. date: 7288 +.. nonce: WLxHoH +.. section: Library + +plat-mac/videoreader.py no longer relies on a non-existing module. + +.. + +.. bpo: 16278952 +.. date: 7287 +.. nonce: lzPQW7 +.. section: Library + +plat-mac/videoreader.py now correctly imports MediaDescr + +.. + +.. bpo: 1737832 +.. date: 7286 +.. nonce: cQdLju +.. section: Library + +plat-mac/EasyDialog.py no longer uses the broken aepack module. + +.. + +.. bpo: 1149804 +.. date: 7285 +.. nonce: -5eLwa +.. section: Library + +macostools.mkdirs now even works when another process creates one of the +needed subdirectories. + +.. + +.. bpo: 900506 +.. date: 7284 +.. nonce: kVZAZL +.. section: Library + +added --no-zipimport flag to the bundlebuilder script. + +.. + +.. bpo: 841800 +.. date: 7283 +.. nonce: XCnSdr +.. section: Library + +bundlebuilder now works with 'python -O'. + +.. + +.. bpo: 4861 +.. date: 7282 +.. nonce: sIt_9h +.. section: Library + +ctypes.util.find_library(): Robustify. Fix library detection on biarch +systems. Try to rely on ldconfig only, without using objdump and gcc. + +.. + +.. bpo: 5104 +.. date: 7281 +.. nonce: YzzKtZ +.. section: Library + +The socket module now raises OverflowError when 16-bit port and protocol +numbers are supplied outside the allowed 0-65536 range on bind() and +getservbyport(). + +.. + +.. bpo: 999042 +.. date: 7280 +.. nonce: cVohJD +.. section: Library + +The Python compiler now handles explict global statements correctly (should +be assigned using STORE_GLOBAL opcode). + +.. + +.. bpo: 2703 +.. date: 7279 +.. nonce: nHzm3m +.. section: Library + +SimpleXMLRPCDispatcher.__init__: Provide default values for new arguments +introduced in 2.5. + +.. + +.. bpo: 5828 +.. date: 7278 +.. nonce: vKsQ82 +.. section: Library + +Fixed bogus logic in makeunicodedata.py and regenerated the Unicode database +(This fixes u'\u1d79'.lower() == '\x00'). + +.. + +.. bpo: 0 +.. date: 7277 +.. nonce: aOxIb2 +.. section: Library + +Windows locale mapping updated to Vista. + +.. + +.. bpo: 5150 +.. date: 7276 +.. nonce: ROvOEC +.. section: IDLE + +IDLE's format menu now has an option to strip trailing whitespace. + +.. + +.. bpo: 5847 +.. date: 7275 +.. nonce: XwEpMA +.. section: IDLE + +Remove -n switch on "Edit with IDLE" menu item. + +.. + +.. bpo: 0 +.. date: 7274 +.. nonce: 0fQMGL +.. section: IDLE + +idle.py modified and simplified to better support developing experimental +versions of IDLE which are not installed in the standard location. + +.. + +.. bpo: 5559 +.. date: 7273 +.. nonce: GKhgt1 +.. section: IDLE + +OutputWindow/PyShell right click menu "Go to file/line" wasn't working with +file paths containing spaces. + +.. + +.. bpo: 5783 +.. date: 7272 +.. nonce: oZFpQE +.. section: IDLE + +Windows: Version string for the .chm help file changed, file not being +accessed. Patch by Guilherme Polo/ + +.. + +.. bpo: 1529142 +.. date: 7271 +.. nonce: _7kvP5 +.. section: IDLE + +Allow multiple IDLE GUI/subprocess pairs to exist simultaneously. Thanks to +David Scherer for suggesting the use of an ephemeral port for the GUI. +Patch by Weeble. + +.. + +.. bpo: 0 +.. date: 7270 +.. nonce: D4DReJ +.. section: IDLE + +Remove port spec from run.py and fix bug where subprocess fails to extract +port from command line when warnings are present. + +.. + +.. bpo: 5129 +.. date: 7269 +.. nonce: eVAJqn +.. section: IDLE + +Tk 8.5 Text widget requires 'wordprocessor' tabstyle attr to handle mixed +space/tab properly. Patch by Guilherme Polo. + +.. + +.. bpo: 3549 +.. date: 7268 +.. nonce: nZ7He6 +.. section: IDLE + +On MacOS the preferences menu was not present + +.. + +.. bpo: 0 +.. date: 7267 +.. nonce: fyANj_ +.. section: Tools/Demos + +Ttk demos added in Demo/tkinter/ttk/. + +.. + +.. bpo: 4677 +.. date: 7266 +.. nonce: 4BCeec +.. section: Tools/Demos + +Add two list comprehension tests to pybench. + +.. + +.. bpo: 6603 +.. date: 7265 +.. nonce: I-Evb7 +.. section: Build + +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. + +.. + +.. bpo: 0 +.. date: 7264 +.. nonce: fOuNOF +.. section: Build + +Add 2 new options to ``--with-universal-archs`` on MacOSX: ``intel`` builds +a distribution with ``i386`` and ``x86_64`` architectures, while ``3-way`` +builds a distribution with the ``ppc``, ``i386`` and ``x86_64`` +architectures. + +.. + +.. bpo: 6802 +.. date: 7263 +.. nonce: I0PGjW +.. section: Build + +Fix build issues on MacOSX 10.6. + +.. + +.. bpo: 6244 +.. date: 7262 +.. nonce: hQGLlr +.. section: Build + +Allow detect_tkinter to look for Tcl/Tk 8.6. + +.. + +.. bpo: 5390 +.. date: 7261 +.. nonce: ZnkJkB +.. section: Build + +Add uninstall icon independent of whether file extensions are installed. + +.. + +.. bpo: 5809 +.. date: 7260 +.. nonce: WMK90h +.. section: Build + +Specifying both --enable-framework and --enable-shared is an error. +Configure now explicitly tells you about this. + +.. + +.. bpo: 3585 +.. date: 7259 +.. nonce: eB4RFU +.. section: Build + +Add pkg-config support. It creates a python-2.7.pc file and a python.pc +symlink in the $(LIBDIR)/pkgconfig directory. Patch by Clinton Roy. + +.. + +.. bpo: 6094 +.. date: 7258 +.. nonce: shJUAU +.. section: Build + +Build correctly with Subversion 1.7. + +.. + +.. bpo: 5726 +.. date: 7257 +.. nonce: nHrlsd +.. section: Build + +Make Modules/ld_so_aix return the actual exit code of the linker, rather +than always exit successfully. Patch by Floris Bruynooghe. + +.. + +.. bpo: 4587 +.. date: 7256 +.. nonce: nnNweB +.. section: Build + +Add configure option --with-dbmliborder=db1:db2:... to specify the order +that backends for the dbm extension are checked. + +.. + +.. bpo: 0 +.. date: 7255 +.. nonce: 9K_NPs +.. section: Build + +Link the shared python library with $(MODLIBS). + +.. + +.. bpo: 5134 +.. date: 7254 +.. nonce: JmNLWO +.. section: Build + +Silence compiler warnings when compiling sqlite with VC++. + +.. + +.. bpo: 4494 +.. date: 7253 +.. nonce: IGajo- +.. section: Build + +Fix build with Py_NO_ENABLE_SHARED on Windows. + +.. + +.. bpo: 4895 +.. date: 7252 +.. nonce: S-3ytm +.. section: Build + +Use _strdup on Windows CE. + +.. + +.. bpo: 4472 +.. date: 7251 +.. nonce: UbvbZD +.. section: Build + +``configure --enable-shared`` now works on OSX. + +.. + +.. bpo: 4728 +.. date: 7250 +.. nonce: FPe7Wi +.. section: Build + +WORDS_BIGEDIAN is now correct in Universal builds. (See also: bpo-4060) + +.. + +.. bpo: 4389 +.. date: 7249 +.. nonce: UrR3rH +.. section: Build + +Add icon to the uninstall entry in "add-and-remove-programs". + +.. + +.. bpo: 4289 +.. date: 7248 +.. nonce: xDo3LW +.. section: Build + +Remove Cancel button from AdvancedDlg. + +.. + +.. bpo: 1656675 +.. date: 7247 +.. nonce: yhrY5M +.. section: Build + +Register a drop handler for .py* files on Windows. + +.. + +.. bpo: 4120 +.. date: 7246 +.. nonce: AJJ_Yg +.. section: Build + +Exclude manifest from extension modules in VS2008. + +.. + +.. bpo: 4091 +.. date: 7245 +.. nonce: j3E4hq +.. section: Build + +Install pythonxy.dll in system32 again. + +.. + +.. bpo: 4018 +.. date: 7244 +.. nonce: UVtBMQ +.. section: Build + +Disable "for me" installations on Vista. + +.. + +.. bpo: 3758 +.. date: 7243 +.. nonce: cBcoI8 +.. section: Build + +Add ``patchcheck`` build target to ``.PHONY``. + +.. + +.. bpo: 4204 +.. date: 7242 +.. nonce: NQswDc +.. section: Build + +Fixed module build errors on FreeBSD 4. + +.. + +.. bpo: 6556 +.. date: 7241 +.. nonce: Qn6fFV +.. section: Documentation + +Fixed the Distutils configuration files location explanation for Windows. + +.. + +.. bpo: 6801 +.. date: 7240 +.. nonce: yMIrow +.. section: Documentation + +symmetric_difference_update also accepts ``|``. Thanks to Carl Chenet. + +.. + +.. bpo: 7528 +.. date: 7239 +.. nonce: CxgEcB +.. section: C API + +Add PyLong_AsLongAndOverflow (backported from py3k). + +.. + +.. bpo: 7228 +.. date: 7238 +.. nonce: Kj3IXX +.. section: C API + +Add '%lld' and '%llu' support to PyString_FromFormat(V) and PyErr_Format, on +machines with HAVE_LONG_LONG defined. + +.. + +.. bpo: 0 +.. date: 7237 +.. nonce: XqzKYC +.. section: C API + +Add new C-API function PyOS_string_to_double, and deprecated PyOS_ascii_atof +and PyOS_ascii_strtod. + +.. + +.. bpo: 0 +.. date: 7236 +.. nonce: EzTAcl +.. section: C API + +Removed _PyOS_double_to_string. Use PyOS_double_to_string instead. This is +in preparation for (but not strictly related to) issue #7117, short float +repr. + +.. + +.. bpo: 6624 +.. date: 7235 +.. nonce: qPXO6F +.. section: C API + +PyArg_ParseTuple with "s" format when parsing argument with NULL: Bogus +TypeError detail string. + +.. + +.. bpo: 5954 +.. date: 7234 +.. nonce: bl2-P2 +.. section: C API + +Add a PyFrame_GetLineNumber() function to replace most uses of +PyCode_Addr2Line(). + +.. + +.. bpo: 5959 +.. date: 7233 +.. nonce: wmWB5t +.. section: C API + +Add a PyCode_NewEmpty() function to create a new empty code object at a +specified file, function, and line number. + +.. + +.. bpo: 1419652 +.. date: 7232 +.. nonce: Q6BERX +.. section: C API + +Change the first argument to PyImport_AppendInittab() to ``const char *`` as +the string is stored beyond the call. + +.. + +.. bpo: 0 +.. date: 7231 +.. nonce: hva90Q +.. section: C API + +Some PyBytes_* aliases have been removed because they don't exist in 3.x. + +.. + +.. bpo: 5175 +.. date: 7230 +.. nonce: r1a8Ms +.. section: C API + +PyLong_AsUnsignedLongLong now raises OverflowError for negative arguments. +Previously, it raised TypeError. + +.. + +.. bpo: 4720 +.. date: 7229 +.. nonce: Mb6W01 +.. section: C API + +The format for PyArg_ParseTupleAndKeywords can begin with '|'. + +.. + +.. bpo: 3632 +.. date: 7228 +.. nonce: upPC86 +.. section: C API + +From the gdb debugger, the 'pyo' macro can now be called when the GIL is +released, or owned by another thread. + +.. + +.. bpo: 4122 +.. date: 7227 +.. nonce: fhMq7A +.. section: C API + +On Windows, fix a compilation error when using the Py_UNICODE_ISSPACE macro +in an extension module. + +.. + +.. bpo: 4293 +.. date: 7226 +.. nonce: QdarHx +.. section: C API + +Py_AddPendingCall() is now thread safe and can be used for asynchronous +notifications to python from any thread. Documentation added. + +.. + +.. bpo: 6508 +.. date: 7225 +.. nonce: R3EvXY +.. section: Library + +Add posix.{getresuid,getresgid,setresuid,setresgid}. + +.. + +.. bpo: 7078 +.. date: 7224 +.. nonce: 90Z604 +.. section: Library + +Set struct.__doc__ from _struct.__doc__. + +.. + +.. bpo: 3366 +.. date: 7223 +.. nonce: U1DfAJ +.. section: Library + +Add erf, erfc, expm1, gamma, lgamma functions to math module. + +.. + +.. bpo: 6823 +.. date: 7222 +.. nonce: m4cwqj +.. section: Library + +Allow time.strftime() to accept a tuple with a isdst field outside of the +range of [-1, 1] by normalizing the value to within that range. + +.. + +.. bpo: 6877 +.. date: 7221 +.. nonce: CMXt7p +.. section: Library + +Make it possible to link the readline extension to libedit on OSX. + +.. + +.. bpo: 6944 +.. date: 7220 +.. nonce: A9aMl7 +.. section: Library + +Fix a SystemError when socket.getnameinfo() was called with something other +than a tuple as first argument. + +.. + +.. bpo: 6865 +.. date: 7219 +.. nonce: 8EKGt5 +.. section: Library + +Fix reference counting issue in the initialization of the pwd module. + +.. + +.. bpo: 6848 +.. date: 7218 +.. nonce: yoWK1A +.. section: Library + +Fix curses module build failure on OS X 10.6. + +.. + +.. bpo: 0 +.. date: 7217 +.. nonce: k2iXEM +.. section: Library + +Fix a segfault in expat when given a specially crafted input lead to the +tokenizer not stopping. CVE-2009-3720. + +.. + +.. bpo: 6561 +.. date: 7216 +.. nonce: tJwGr- +.. section: Library + +'\d' in a regex now matches only characters with Unicode category 'Nd' +(Number, Decimal Digit). Previously it also matched characters with +category 'No'. + +.. + +.. bpo: 1523 +.. date: 7215 +.. nonce: GYRz49 +.. section: Library + +Remove deprecated overflow wrapping for struct.pack with an integer format +code ('bBhHiIlLqQ'). Packing an out-of-range integer now consistently +raises struct.error. + +.. + +.. bpo: 1530559 +.. date: 7214 +.. nonce: 0TjrtL +.. section: Library + +Fix various struct.pack inconsistencies for the integer formats +('bBhHiIlLqQ'). In the following, '*' represents any of '=', '<', '>'. + +- Packing a float now always gives a Deprecation Warning. Previously it +only warned for 'I', 'L', '*B', '*H', '*I', '*L'. + +- If x is not an int, long or float, then packing x will always result in +struct.error. Previously an x with an __int__ method could be packed by +'b', 'B', 'h', 'H', 'i', 'l', '*b', '*h' ,'*i', '*l', and an x with a +__long__ method could be packed by 'q', 'Q', '*q', '*Q'; for x with +neither __int__ nor __long__, TypeError used to be raised (with a +confusing error message) for 'I', 'L', '*B', '*H', '*I', '*L', and +struct.error in other cases. + +Note: as of Python 2.7 beta 1, the above is out of date. In 2.7 beta 1, any +argument with an __int__ method can be packed, but use of this feature +triggers a DeprecationWarning. (See also: bpo-1741130) + +.. + +.. bpo: 4873 +.. date: 7213 +.. nonce: X6xp5Z +.. section: Library + +Fix resource leaks in error cases of pwd and grp. + +.. + +.. bpo: 4751 +.. date: 7212 +.. nonce: 6sPqcu +.. section: Library + +For hashlib algorithms provided by OpenSSL, the Python GIL is now released +during computation on data lengths >= 2048 bytes. + +.. + +.. bpo: 3745 +.. date: 7211 +.. nonce: UWvSDY +.. section: Library + +Fix hashlib to always reject unicode and non buffer-api supporting objects +as input no matter how it was compiled (built in implementations or external +openssl library). NOTE: Undone in 2.7a2. + +.. + +.. bpo: 4397 +.. date: 7210 +.. nonce: v3SDSI +.. section: Library + +Fix occasional test_socket failure on OS X. + +.. + +.. bpo: 4279 +.. date: 7209 +.. nonce: 4RY6FX +.. section: Library + +Fix build of parsermodule under Cygwin. + +.. + +.. bpo: 4051 +.. date: 7208 +.. nonce: CWy5So +.. section: Library + +Prevent conflict of UNICODE macros in cPickle. + +.. + +.. bpo: 4228 +.. date: 7207 +.. nonce: 6AP3nQ +.. section: Library + +Pack negative values the same way as 2.4 in struct's L format. + +.. + +.. bpo: 1040026 +.. date: 7206 +.. nonce: f_lNlD +.. section: Library + +Fix os.times result on systems where HZ is incorrect. + +.. + +.. bpo: 3167 +.. date: 7205 +.. nonce: Wq3nLl +.. section: Library + +Fix test_math failures for log, log10 on Solaris, OpenBSD. (See also: +bpo-3682) + +.. + +.. bpo: 4365 +.. date: 7204 +.. nonce: 1v_32N +.. section: Library + +Add crtassem.h constants to the msvcrt module. + +.. + +.. bpo: 4396 +.. date: 7203 +.. nonce: 3vmXT4 +.. section: Library + +The parser module now correctly validates the with statement. + +.. + +.. bpo: 5228 +.. date: 7202 +.. nonce: lDpzrP +.. section: Library + +Make functools.partial objects can now be pickled. + +.. + +.. bpo: 7431 +.. date: 7201 +.. nonce: gQvWFz +.. section: Tests + +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. + +.. + +.. bpo: 7324 +.. date: 7200 +.. nonce: qx7wYQ +.. section: Tests + +Add a sanity check to regrtest argument parsing to catch the case of an +option with no handler. + +.. + +.. bpo: 7312 +.. date: 7199 +.. nonce: owJk3R +.. section: Tests + +Add a -F flag to run the selected tests in a loop until a test fails. Can +be combined with -j. + +.. + +.. bpo: 7295 +.. date: 7198 +.. nonce: ukZhHi +.. section: Tests + +Do not use a hardcoded file name in test_tarfile. + +.. + +.. bpo: 7270 +.. date: 7197 +.. nonce: am_b1S +.. section: Tests + +Add some dedicated unit tests for multi-thread synchronization primitives +such as Lock, RLock, Condition, Event and Semaphore. + +.. + +.. bpo: 7222 +.. date: 7196 +.. nonce: iKJspN +.. section: Tests + +Make thread "reaping" more reliable so that reference leak-chasing test runs +give sensible results. The previous method of reaping threads could return +successfully while some Thread objects were still referenced. This also +introduces a new private function: ``thread._count()``. + +.. + +.. bpo: 7151 +.. date: 7195 +.. nonce: U07hpR +.. section: Tests + +Fixed regrtest -j so that output to stderr from a test no longer runs the +risk of causing the worker thread to fail. + +.. + +.. bpo: 7055 +.. date: 7194 +.. nonce: 3okJ5l +.. section: Tests + +test___all__ now greedily detects all modules which have an __all__ +attribute, rather than using a hardcoded and incomplete list. + +.. + +.. bpo: 7058 +.. date: 7193 +.. nonce: 3DkUXi +.. section: Tests + +Added save/restore for things like sys.argv and cwd to runtest_inner in +regrtest, with warnings if the called test modifies them, and a new section +in the summary report at the end. + +.. + +.. bpo: 7042 +.. date: 7192 +.. nonce: b8v3FJ +.. section: Tests + +Fix test_signal (test_itimer_virtual) failure on OS X 10.6. + +.. + +.. bpo: 6806 +.. date: 7191 +.. nonce: hS_Ys4 +.. section: Tests + +test_platform failed under OS X 10.6.0 because ``sw_ver`` leaves off the +trailing 0 in the version number. + +.. + +.. bpo: 5450 +.. date: 7190 +.. nonce: c2vdqn +.. section: Tests + +Moved tests involving loading tk from Lib/test/test_tcl to Lib/lib- +tk/test/test_tkinter/test_loadtk. With this, these tests demonstrate the +same behaviour as test_ttkguionly (and now also test_tk) which is to skip +the tests if DISPLAY is defined but can't be used. + +.. + +.. bpo: 6152 +.. date: 7189 +.. nonce: EkeKpL +.. section: Tests + +New option '-j'/'--multiprocess' for regrtest allows running regression +tests in parallel, shortening the total runtime. + +.. + +.. bpo: 5354 +.. date: 7188 +.. nonce: vIbbLT +.. section: Tests + +New test support function import_fresh_module() makes it easy to import both +normal and optimised versions of modules. test_heapq and test_warnings have +been adjusted to use it, tests for other modules with both C and Python +implementations in the stdlib can be adjusted to use it over time. + +.. + +.. bpo: 0 +.. date: 7187 +.. nonce: bTuQvV +.. section: Tests + +Fix test_warnings to no longer reset the warnings filter. + +.. + +.. bpo: 0 +.. date: 7186 +.. nonce: Mmlolu +.. section: Tests + +Fix test_logging to no longer reset the warnings filter. + +.. + +.. bpo: 5635 +.. date: 7185 +.. nonce: 8Yq1dn +.. section: Tests + +Fix running test_sys with tracing enabled. + +.. + +.. bpo: 0 +.. date: 7184 +.. nonce: t8Gnx4 +.. section: Tests + +regrtest no longer treats ImportError as equivalent to SkipTest. Imports +that should cause a test to be skipped are now done using import_module from +test support, which does the conversion. + +.. + +.. bpo: 5083 +.. date: 7183 +.. nonce: imHnrP +.. section: Tests + +New 'gui' resource for regrtest. + +.. + +.. bpo: 5837 +.. date: 7182 +.. nonce: s1idZB +.. section: Tests + +Certain sequences of calls to set() and unset() for +support.EnvironmentVarGuard objects restored the environment variables +incorrectly on __exit__. + +.. + +.. bpo: 2389 +.. date: 7181 +.. nonce: w0L9Yb +.. section: Tests + +Array objects are now pickled in a portable manner. + +.. + +.. bpo: 5611 +.. date: 7180 +.. nonce: UOPr-Q +.. section: Windows + +Auto-detect whether a C file uses tabs or spaces in Vim. diff --git a/Misc/NEWS.d/2.7a2.rst b/Misc/NEWS.d/2.7a2.rst new file mode 100644 index 0000000000..fa13081168 --- /dev/null +++ b/Misc/NEWS.d/2.7a2.rst @@ -0,0 +1,457 @@ +.. bpo: 0 +.. date: 7804 +.. nonce: jherxT +.. release date: 2010-01-09 +.. section: Core and Builtins + +The ``__complex__()`` method is now looked up on the class of instances to +make it consistent with other special methods. + +.. + +.. bpo: 7462 +.. date: 7803 +.. nonce: E1r1bi +.. section: Core and Builtins + +Implement the stringlib fast search algorithm for the `rfind`, `rindex`, +`rsplit` and `rpartition` methods. Patch by Florent Xicluna. + +.. + +.. bpo: 5080 +.. date: 7802 +.. nonce: Wb4q9j +.. section: Core and Builtins + +A number of functions and methods previously produced a DeprecationWarning +when passed a float argument where an integer was expected. These functions +and methods now raise TypeError instead. The majority of the effects of +this change are in the extension modules, but some core functions and +methods are affected: notably the 'chr', 'range' and 'xrange' builtins, and +many unicode/str methods. + +.. + +.. bpo: 7604 +.. date: 7801 +.. nonce: tTzdbD +.. section: Core and Builtins + +Deleting an unset slotted attribute did not raise an AttributeError. + +.. + +.. bpo: 7534 +.. date: 7800 +.. nonce: UJiEZi +.. section: Core and Builtins + +Fix handling of IEEE specials (infinities, nans, negative zero) in ** +operator. The behaviour now conforms to that described in C99 Annex F. + +.. + +.. bpo: 7579 +.. date: 7799 +.. nonce: cmOrYb +.. section: Core and Builtins + +The msvcrt module now has docstrings for all its functions. + +.. + +.. bpo: 7413 +.. date: 7798 +.. nonce: g6Euap +.. section: Core and Builtins + +Passing '\0' as the separator to datetime.datetime.isoformat() used to drop +the time part of the result. + +.. + +.. bpo: 1811 +.. date: 7797 +.. nonce: e1nd7g +.. section: Core and Builtins + +Improve accuracy and cross-platform consistency for true division of +integers: the result of a/b is now correctly rounded for ints a and b (at +least on IEEE 754 platforms), and in particular does not depend on the +internal representation of a long. + +.. + +.. bpo: 6108 +.. date: 7796 +.. nonce: j3A6pp +.. section: Core and Builtins + +``unicode(exception)`` and ``str(exception)`` should return the same message +when only ``__str__()`` (and not ``__unicode__()``) is overridden in the +subclass. + +.. + +.. bpo: 6834 +.. date: 7795 +.. nonce: iPCAPI +.. section: Core and Builtins + +Replace the implementation for the 'python' and 'pythonw' executables on +OSX. + +These executables now work properly with the arch(1) command: ``arch -ppc +python`` will start a universal binary version of python in PPC mode (unlike +previous releases). + +.. + +.. bpo: 1680159 +.. date: 7794 +.. nonce: zCoubo +.. section: Core and Builtins + +Unicode coercion during an 'in' operation no longer masks the underlying +error when the coercion fails for the left hand operand. + +.. + +.. bpo: 7491 +.. date: 7793 +.. nonce: bGallI +.. section: Core and Builtins + +Metaclass's __cmp__ method was ignored. + +.. + +.. bpo: 7466 +.. date: 7792 +.. nonce: zrhYS4 +.. section: Core and Builtins + +Segmentation fault when the garbage collector is called in the middle of +populating a tuple. Patch by Florent Xicluna. + +.. + +.. bpo: 6963 +.. date: 7791 +.. nonce: TJvFT0 +.. section: Library + +Added "maxtasksperchild" argument to ``multiprocessing.Pool``, allowing for +a maximum number of tasks within the pool to be completed by the worker +before that worker is terminated, and a new one created to replace it. + +.. + +.. bpo: 7617 +.. date: 7790 +.. nonce: duSdpP +.. section: Library + +Make sure distutils.unixccompiler.UnixCCompiler recognizes gcc when it has a +fully qualified configuration prefix. Initial patch by Arfrever. + +.. + +.. bpo: 7092 +.. date: 7789 +.. nonce: 8Bxjpz +.. section: Library + +Remove py3k warning when importing cPickle. 2to3 handles renaming of +`cPickle` to `pickle`. The warning was annoying since there's no +alternative to cPickle if you care about performance. Patch by Florent +Xicluna. + +.. + +.. bpo: 7455 +.. date: 7788 +.. nonce: 4QZ2RC +.. section: Library + +Fix possible crash in cPickle on invalid input. Patch by Victor Stinner. + +.. + +.. bpo: 7092 +.. date: 7787 +.. nonce: z80fv1 +.. section: Library + +Fix the DeprecationWarnings emitted by the standard library when using the +-3 flag. Patch by Florent Xicluna. + +.. + +.. bpo: 7471 +.. date: 7786 +.. nonce: Flh7OS +.. section: Library + +Improve the performance of GzipFile's buffering mechanism, and make it +implement the ``io.BufferedIOBase`` ABC to allow for further speedups by +wrapping it in an ``io.BufferedReader``. Patch by Nir Aides. + +.. + +.. bpo: 3972 +.. date: 7785 +.. nonce: T0AsF9 +.. section: Library + +``httplib.HTTPConnection`` now accepts an optional source_address parameter +to allow specifying where your connections come from. + +.. + +.. bpo: 0 +.. date: 7784 +.. nonce: VuT7xt +.. section: Library + +``socket.create_connection()`` now accepts an optional source_address +parameter. + +.. + +.. bpo: 5511 +.. date: 7783 +.. nonce: qXXb66 +.. section: Library + +``zipfile.ZipFile`` can now be used as a context manager. Initial patch by +Brian Curtin. + +.. + +.. bpo: 0 +.. date: 7782 +.. nonce: jVBfGB +.. section: Library + +Distutils now correctly identifies the build architecture as "x86_64" when +building on OSX 10.6 without "-arch" flags. + +.. + +.. bpo: 7556 +.. date: 7781 +.. nonce: 9TArd4 +.. section: Library + +Distutils' msvc9compiler now opens the MSVC Manifest file in text mode. + +.. + +.. bpo: 7552 +.. date: 7780 +.. nonce: cuagLV +.. section: Library + +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. + +.. + +.. bpo: 7231 +.. date: 7779 +.. nonce: PtW-pZ +.. section: Library + +urllib2 cannot handle https with proxy requiring auth. Patch by Tatsuhiro +Tsujikawa. + +.. + +.. bpo: 7349 +.. date: 7778 +.. nonce: qwbHfI +.. section: Library + +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. + +.. + +.. bpo: 7348 +.. date: 7777 +.. nonce: 47KswH +.. section: Library + +``StringIO.StringIO.readline(-1)`` now acts as if it got no argument like +other file objects. + +.. + +.. bpo: 7357 +.. date: 7776 +.. nonce: EteBpH +.. section: Library + +tarfile no longer suppresses fatal extraction errors by default. + +.. + +.. bpo: 7470 +.. date: 7775 +.. nonce: IW_7wI +.. section: Library + +logging: Fix bug in Unicode encoding fallback. + +.. + +.. bpo: 5949 +.. date: 7774 +.. nonce: oAWtv2 +.. section: Library + +Fixed IMAP4_SSL hang when the IMAP server response is missing proper end-of- +line termination. + +.. + +.. bpo: 7457 +.. date: 7773 +.. nonce: n8Bkqb +.. section: Library + +Added a read_pkg_file method to ``distutils.dist.DistributionMetadata``. + +.. + +.. bpo: 3745 +.. date: 7772 +.. nonce: 1on7AT +.. section: Library + +Undo the 2.7a1 change to have hashlib to reject unicode and non buffer API +supporting objects as input. That behavior is for 3.x only. + +.. + +.. bpo: 7767 +.. date: 7771 +.. nonce: XmNIZJ +.. section: C API + +New function ``PyLong_AsLongLongAndOverflow()`` added, analogous to +``PyLong_AsLongAndOverflow()``. + +.. + +.. bpo: 5080 +.. date: 7770 +.. nonce: bMlEGy +.. section: C API + +The argument parsing functions ``PyArg_ParseTuple()``, +``PyArg_ParseTupleAndKeywords()``, ``PyArg_VaParse()``, +``PyArg_VaParseTupleAndKeywords()`` and ``PyArg_Parse()`` no longer accept +float arguments for integer format codes (other than 'L'): previously an +attempt to pass a float resulted in a DeprecationWarning; now it gives a +TypeError. For the 'L' format code (which previously had no warning) there +is now a DeprecationWarning. + +.. + +.. bpo: 7033 +.. date: 7769 +.. nonce: koLSHo +.. section: C API + +Function ``PyErr_NewExceptionWithDoc()`` added. + +.. + +.. bpo: 6491 +.. date: 7768 +.. nonce: mDJ_mR +.. section: Build + +Allow --with-dbmliborder to specify that no dbms will be built. + +.. + +.. bpo: 6943 +.. date: 7767 +.. nonce: HhHPsy +.. section: Build + +Use pkg-config to find the libffi headers when the ``--with-system-ffi`` +flag is used. + +.. + +.. bpo: 7609 +.. date: 7766 +.. nonce: w1witS +.. section: Build + +Add a ``--with-system-expat`` option that causes the system's expat library +to be used for the pyexpat module instead of the one included with Python. + +.. + +.. bpo: 7589 +.. date: 7765 +.. nonce: uh9YyY +.. section: Build + +Only build the nis module when the correct header files are found. + +.. + +.. bpo: 0 +.. date: 7764 +.. nonce: 6WvEdi +.. section: Build + +Switch to OpenSSL 0.9.8l and sqlite 3.6.21 on Windows. + +.. + +.. bpo: 7541 +.. date: 7763 +.. nonce: V8g0W6 +.. section: Build + +when using ``python-config`` with a framework install the compiler might use +the wrong library. + +.. + +.. bpo: 7376 +.. date: 7762 +.. nonce: Y0Cani +.. section: Tests + +Instead of running a self-test (which was failing) when called with no +arguments, doctest.py now gives a usage message. + +.. + +.. bpo: 7396 +.. date: 7761 +.. nonce: WRRHMZ +.. section: Tests + +Fix regrtest -s, which was broken by the -j enhancement. + +.. + +.. bpo: 7498 +.. date: 7760 +.. nonce: Cpaz-t +.. section: Tests + +test_multiprocessing now uses test_support.find_unused_port instead of a +hardcoded port number in test_rapid_restart. diff --git a/Misc/NEWS.d/2.7a3.rst b/Misc/NEWS.d/2.7a3.rst new file mode 100644 index 0000000000..02c0778ce1 --- /dev/null +++ b/Misc/NEWS.d/2.7a3.rst @@ -0,0 +1,442 @@ +.. bpo: 5677 +.. date: 7847 +.. nonce: b0Qejz +.. release date: 2010-02-06 +.. section: Core and Builtins + +Explicitly forbid write operations on read-only file objects, and read +operations on write-only file objects. On Windows, the system C library +would return a bogus result; on Solaris, it was possible to crash the +interpreter. Patch by Stefan Krah. + +.. + +.. bpo: 7853 +.. date: 7846 +.. nonce: 7BnJKC +.. section: Core and Builtins + +Normalize exceptions before they are passed to a context manager's +``__exit__()`` method. + +.. + +.. bpo: 7385 +.. date: 7845 +.. nonce: OVCbWd +.. section: Core and Builtins + +Fix a crash in ``PyMemoryView_FromObject()`` when ``PyObject_GetBuffer()`` +fails. Patch by Florent Xicluna. + +.. + +.. bpo: 7819 +.. date: 7844 +.. nonce: tGsOrJ +.. section: Core and Builtins + +Check ``sys.call_tracing()`` arguments types. + +.. + +.. bpo: 7788 +.. date: 7843 +.. nonce: 4T4M13 +.. section: Core and Builtins + +Fix an interpreter crash produced by deleting a list slice with very large +step value. + +.. + +.. bpo: 7766 +.. date: 7842 +.. nonce: aejr9M +.. section: Core and Builtins + +Change ``sys.getwindowsversion()`` return value to a named tuple and add the +additional members returned in an OSVERSIONINFOEX structure. The new +members are service_pack_major, service_pack_minor, suite_mask, and +product_type. + +.. + +.. bpo: 7561 +.. date: 7841 +.. nonce: dYmand +.. section: Core and Builtins + +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. + +.. + +.. bpo: 7622 +.. date: 7840 +.. nonce: yL5cXb +.. section: Core and Builtins + +Improve the split(), rsplit(), splitlines() and replace() methods of bytes, +bytearray and unicode objects by using a common implementation based on +stringlib's fast search. Patch by Florent Xicluna. + +.. + +.. bpo: 7632 +.. date: 7839 +.. nonce: djAkIG +.. section: Core and Builtins + +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. + +.. + +.. bpo: 7319 +.. date: 7838 +.. nonce: CIP64d +.. section: Core and Builtins + +Silence ``DeprecationWarning`` by default when the -3 option is not used. +(See also: bpo-7770) + +.. + +.. bpo: 2335 +.. date: 7837 +.. nonce: NB-Xpf +.. section: Core and Builtins + +Backport set literals syntax from Python 3.x. + +.. + +.. bpo: 2333 +.. date: 7836 +.. nonce: yWLBy3 +.. section: Core and Builtins + +Backport set and dict comprehensions syntax from Python 3.x. + +.. + +.. bpo: 1967 +.. date: 7835 +.. nonce: RryGx3 +.. section: Core and Builtins + +Backport dictionary views from Python 3.x. + +.. + +.. bpo: 9137 +.. date: 7834 +.. nonce: DgWODo +.. section: Library + +Fix issue in MutableMapping.update, which incorrectly treated keyword +arguments called 'self' or 'other' specially. + +.. + +.. bpo: 7835 +.. date: 7833 +.. nonce: jlbrK8 +.. section: Library + +shelve should no longer produce mysterious warnings during interpreter +shutdown. + +.. + +.. bpo: 2746 +.. date: 7832 +.. nonce: F6UqCX +.. section: Library + +Don't escape ampersands and angle brackets ("&", "<", ">") in XML processing +instructions and comments. These raw characters are allowed by the XML +specification, and are necessary when outputting e.g. PHP code in a +processing instruction. Patch by Neil Muller. + +.. + +.. bpo: 7869 +.. date: 7831 +.. nonce: 1QS851 +.. section: Library + +logging: Improved diagnostic for format-time errors. + +.. + +.. bpo: 7868 +.. date: 7830 +.. nonce: PXTr9t +.. section: Library + +logging: Added loggerClass attribute to Manager. + +.. + +.. bpo: 7851 +.. date: 7829 +.. nonce: 7OtUnx +.. section: Library + +logging: Clarification on logging configuration files. + +.. + +.. bpo: 4772 +.. date: 7828 +.. nonce: 9_Y3av +.. section: Library + +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. + +.. + +.. bpo: 0 +.. date: 7827 +.. nonce: DG4Srd +.. section: Library + +logging: Implemented PEP 391. + +.. + +.. bpo: 6939 +.. date: 7826 +.. nonce: 8fBhhK +.. section: Library + +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. + +.. + +.. bpo: 7610 +.. date: 7825 +.. nonce: 2DXmYZ +.. section: Library + +Reworked implementation of the internal ``zipfile.ZipExtFile`` class used to +represent files stored inside an archive. The new implementation is +significantly faster and can be wrapped in an ``io.BufferedReader`` object +for more speedups. It also solves an issue where interleaved calls to +``read()`` and ``readline()`` give wrong results. Patch by Nir Aides. + +.. + +.. bpo: 7792 +.. date: 7824 +.. nonce: ncH8BS +.. section: Library + +Registering non-classes to ABCs raised an obscure error. + +.. + +.. bpo: 0 +.. date: 7823 +.. nonce: RpNACh +.. section: Library + +Removed the deprecated functions ``verify()`` and ``vereq()`` from +Lib/test/test_support.py. + +.. + +.. bpo: 7773 +.. date: 7822 +.. nonce: x2tWld +.. section: Library + +Fix an UnboundLocalError in ``platform.linux_distribution()`` when the +release file is empty. + +.. + +.. bpo: 7748 +.. date: 7821 +.. nonce: YlAgV- +.. section: Library + +Since unicode values are supported for some metadata options in Distutils, +the DistributionMetadata get_* methods will now return a utf-8 encoded +string for them. This ensures that the upload and register commands send +the correct values to PyPI without any error. + +.. + +.. bpo: 1670765 +.. date: 7820 +.. nonce: 9eCqJl +.. section: Library + +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. + +.. + +.. bpo: 7701 +.. date: 7819 +.. nonce: e9a5VO +.. section: Library + +Fix crash in ``binascii.b2a_uu()`` in debug mode when given a 1-byte +argument. Patch by Victor Stinner. + +.. + +.. bpo: 3299 +.. date: 7818 +.. nonce: AzzK85 +.. section: Library + +Fix possible crash in the _sre module when given bad argument values in +debug mode. Patch by Victor Stinner. + +.. + +.. bpo: 7703 +.. date: 7817 +.. nonce: FNoqUO +.. section: Library + +Add support for the new buffer API to functions of the binascii module. +Backported from py3k by Florent Xicluna, with some additional tests. + +.. + +.. bpo: 2846 +.. date: 7816 +.. nonce: 1yXo1U +.. section: Library + +Add support for gzip.GzipFile reading zero-padded files. Patch by Brian +Curtin. + +.. + +.. bpo: 5827 +.. date: 7815 +.. nonce: HqdXuX +.. section: Library + +Make sure that normpath preserves unicode. Initial patch by Matt Giuca. + +.. + +.. bpo: 5372 +.. date: 7814 +.. nonce: t3pYj8 +.. section: Library + +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. + +.. + +.. bpo: 0 +.. date: 7813 +.. nonce: nL49In +.. section: Library + +Expat: Fix DoS via XML document with malformed UTF-8 sequences +(CVE_2009_3560). + +.. + +.. bpo: 7632 +.. date: 7812 +.. nonce: AWDxJU +.. section: Build + +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. + +.. + +.. bpo: 7658 +.. date: 7811 +.. nonce: oUBbSZ +.. section: Build + +Ensure that the new pythonw executable works on OSX 10.4 + +.. + +.. bpo: 7714 +.. date: 7810 +.. nonce: 27wQ2M +.. section: Build + +Use ``gcc -dumpversion`` to detect the version of GCC on MacOSX. + +.. + +.. bpo: 7661 +.. date: 7809 +.. nonce: ggMDHr +.. section: Build + +Allow ctypes to be built from a non-ASCII directory path. Patch by Florent +Xicluna. + +.. + +.. bpo: 0 +.. date: 7808 +.. nonce: KgUrLn +.. section: Tools/Demos + +iobench (a file I/O benchmark) and ccbench (a concurrency benchmark) were +added to the ``Tools`` directory. They were previously living in the +sandbox. + +.. + +.. bpo: 7728 +.. date: 7807 +.. nonce: f9wo4c +.. section: Tests + +test_timeout was changed to use ``test_support.bind_port()`` instead of a +hard coded port. + +.. + +.. bpo: 0 +.. date: 7806 +.. nonce: Dx9g36 +.. section: Documentation + +Updated "Using Python" documentation to include description of CPython's -J, +-U and -X options. + +.. + +.. bpo: 0 +.. date: 7805 +.. nonce: vllYdR +.. section: Documentation + +Updated Python manual page (options -B, -O0, -s, environment variables +PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE). diff --git a/Misc/NEWS.d/2.7a4.rst b/Misc/NEWS.d/2.7a4.rst new file mode 100644 index 0000000000..08a0518fd0 --- /dev/null +++ b/Misc/NEWS.d/2.7a4.rst @@ -0,0 +1,440 @@ +.. bpo: 7544 +.. date: 7892 +.. nonce: TTDd8s +.. release date: 2010-03-06 +.. section: Core and Builtins + +Preallocate thread memory before creating the thread to avoid a fatal error +in low memory condition. + +.. + +.. bpo: 7820 +.. date: 7891 +.. nonce: hEaQ9f +.. section: Core and Builtins + +The parser tokenizer restores all bytes in the right if the BOM check fails. + +.. + +.. bpo: 7309 +.. date: 7890 +.. nonce: pAF_KB +.. section: Core and Builtins + +Fix unchecked attribute access when converting UnicodeEncodeError, +UnicodeDecodeError, and UnicodeTranslateError to strings. + +.. + +.. bpo: 7649 +.. date: 7889 +.. nonce: KS0hoy +.. section: Core and Builtins + +"u'%c' % char" now behaves like "u'%s' % char" and raises a +UnicodeDecodeError if 'char' is a byte string that can't be decoded using +the default encoding. + +.. + +.. bpo: 6902 +.. date: 7888 +.. nonce: RDRX1R +.. section: Core and Builtins + +Fix problem with built-in types format incorrectly with 0 padding. + +.. + +.. bpo: 2560 +.. date: 7887 +.. nonce: kdK-75 +.. section: Core and Builtins + +Remove an unnecessary 'for' loop from ``my_fgets()`` in Parser/myreadline.c. + +.. + +.. bpo: 7988 +.. date: 7886 +.. nonce: 9h758B +.. section: Core and Builtins + +Fix default alignment to be right aligned for ``complex.__format__``. Now +it matches other numeric types. + +.. + +.. bpo: 5211 +.. date: 7885 +.. nonce: bktLaF +.. section: Core and Builtins + +The complex type no longer uses implicit coercion in mixed-type binary +arithmetic operations. + +.. + +.. bpo: 7904 +.. date: 7884 +.. nonce: fiQRfj +.. section: Library + +Changes to urllib.parse.urlsplit to handle schemes as defined by RFC3986. +Anything before :// is considered a scheme and is followed by an authority +(or netloc) and by '/' led path, which is optional. + +.. + +.. bpo: 1555570 +.. date: 7883 +.. nonce: ruR9CS +.. section: Library + +email no longer inserts extra blank lines when a \r\n combo crosses an 8192 +byte boundary. + +.. + +.. bpo: 6906 +.. date: 7882 +.. nonce: BJTdHl +.. section: Library + +Tk should not set Unicode environment variables on Windows. + +.. + +.. bpo: 1054943 +.. date: 7881 +.. nonce: uHWve2 +.. section: Library + +Fix ``unicodedata.normalize('NFC', text)`` for the Public Review Issue #29 +(http://unicode.org/review/pr-29.html). + +.. + +.. bpo: 7494 +.. date: 7880 +.. nonce: ZnUIo2 +.. section: Library + +Fix a crash in ``_lsprof`` (cProfile) after clearing the profiler, reset +also the pointer to the current pointer context. + +.. + +.. bpo: 7232 +.. date: 7879 +.. nonce: dD983K +.. section: Library + +Add support for the context management protocol to the ``tarfile.TarFile`` +class. + +.. + +.. bpo: 7250 +.. date: 7878 +.. nonce: SqXm2h +.. section: Library + +Fix info leak of os.environ across multi-run uses of +``wsgiref.handlers.CGIHandler``. + +.. + +.. bpo: 1729305 +.. date: 7877 +.. nonce: pRiKEW +.. section: Library + +Fix doctest to handle encode error with "backslashreplace". + +.. + +.. bpo: 691291 +.. date: 7876 +.. nonce: SkVfbl +.. section: Library + +``codecs.open()`` should not convert end of lines on reading and writing. + +.. + +.. bpo: 7975 +.. date: 7875 +.. nonce: lm8Hlp +.. section: Library + +Correct regression in dict methods supported by bsddb.dbshelve. + +.. + +.. bpo: 7959 +.. date: 7874 +.. nonce: 0Si0xg +.. section: Library + +ctypes callback functions are now registered correctly with the cycle +garbage collector. + +.. + +.. bpo: 7970 +.. date: 7873 +.. nonce: zsdvhZ +.. section: Library + +``email.Generator.flatten`` now correctly flattens message/rfc822 messages +parsed by ``email.Parser.HeaderParser``. + +.. + +.. bpo: 3426 +.. date: 7872 +.. nonce: bunX9f +.. section: Library + +``os.path.abspath`` now returns unicode when its arg is unicode. + +.. + +.. bpo: 7633 +.. date: 7871 +.. nonce: kpPZYL +.. section: Library + +In the decimal module, ``Context`` class methods (with the exception of +canonical and is_canonical) now accept instances of int and long wherever a +Decimal instance is accepted, and implicitly convert that argument to +Decimal. Previously only some arguments were converted. + +.. + +.. bpo: 6003 +.. date: 7870 +.. nonce: TAoZ-e +.. section: Library + +Add an argument to ``zipfile.Zipfile.writestr`` to specify the compression +type. + +.. + +.. bpo: 7893 +.. date: 7869 +.. nonce: IFB3BV +.. section: Library + +``unittest.TextTestResult`` is made public and a ``resultclass`` argument +added to the TextTestRunner constructor allowing a different result class to +be used without having to subclass. + +.. + +.. bpo: 7588 +.. date: 7868 +.. nonce: rOCPeT +.. section: Library + +``unittest.TextTestResult.getDescription`` now includes the test name in +failure reports even if the test has a docstring. + +.. + +.. bpo: 5801 +.. date: 7867 +.. nonce: eOropo +.. section: Library + +Remove spurious empty lines in wsgiref. + +.. + +.. bpo: 1537721 +.. date: 7866 +.. nonce: cM7u3p +.. section: Library + +Add a ``writeheader()`` method to ``csv.DictWriter``. + +.. + +.. bpo: 7427 +.. date: 7865 +.. nonce: c1z170 +.. section: Library + +Improve the representation of httplib.BadStatusLine exceptions. + +.. + +.. bpo: 7481 +.. date: 7864 +.. nonce: FOM-ZK +.. section: Library + +When a ``threading.Thread`` failed to start it would leave the instance +stuck in initial state and present in ``threading.enumerate()``. + +.. + +.. bpo: 1068268 +.. date: 7863 +.. nonce: GTy8EE +.. section: Library + +The subprocess module now handles EINTR in internal ``os.waitpid()`` and +``os.read()`` system calls where appropriate. + +.. + +.. bpo: 6729 +.. date: 7862 +.. nonce: WSzBED +.. section: Library + +Add ``ctypes.c_ssize_t`` to represent ssize_t. + +.. + +.. bpo: 6247 +.. date: 7861 +.. nonce: qqe0rR +.. section: Library + +The argparse module has been added to the standard library. + +.. + +.. bpo: 0 +.. date: 7860 +.. nonce: sY1Wyi +.. section: Library + +The sqlite3 module was updated to pysqlite 2.6.0. This fixes several +obscure bugs and allows loading SQLite extensions from shared libraries. + +.. + +.. bpo: 7808 +.. date: 7859 +.. nonce: Onia6y +.. section: Library + +Fix reference leaks in _bsddb and related tests. + +.. + +.. bpo: 6544 +.. date: 7858 +.. nonce: NLvwqS +.. section: Library + +Fix a reference leak in the kqueue implementation's error handling. + +.. + +.. bpo: 0 +.. date: 7857 +.. nonce: yVX0tF +.. section: Library + +Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as +msvcr100.dll is not a platform assembly anymore. + +.. + +.. bpo: 7242 +.. date: 7856 +.. nonce: VzdbKI +.. section: Library + +On Solaris 9 and earlier calling ``os.fork()`` from within a thread could +raise an incorrect RuntimeError about not holding the import lock. The +import lock is now reinitialized after fork. + +.. + +.. bpo: 7999 +.. date: 7855 +.. nonce: -6kN7B +.. section: Library + +``os.setreuid()`` and ``os.setregid()`` would refuse to accept a -1 +parameter on some platforms such as OS X. + +.. + +.. bpo: 7849 +.. date: 7854 +.. nonce: XQLva6 +.. section: Tests + +The utility ``test.test_support.check_warnings()`` verifies if warnings are +effectively raised. A new utility ``check_py3k_warnings()`` is available. + +.. + +.. bpo: 0 +.. date: 7853 +.. nonce: iFGi5W +.. section: Tests + +The four path modules (genericpath, macpath, ntpath, posixpath) share a +common TestCase for some tests: test_genericpath.CommonTest. + +.. + +.. bpo: 0 +.. date: 7852 +.. nonce: xd6x8Q +.. section: Tests + +Print platform information when running the whole test suite, or using the +``--verbose`` flag. + +.. + +.. bpo: 767675 +.. date: 7851 +.. nonce: cR-mRY +.. section: Tests + +Enable test_pep277 on POSIX platforms with Unicode-friendly filesystem +encoding. + +.. + +.. bpo: 6292 +.. date: 7850 +.. nonce: RJOYAi +.. section: Tests + +For the moment at least, the test suite runs cleanly if python is run with +the -OO flag. Tests requiring docstrings are skipped. + +.. + +.. bpo: 7712 +.. date: 7849 +.. nonce: Co5Xm7 +.. section: Tests + +test_support gained a new ``temp_cwd`` context manager which is now also +used by regrtest to run all the tests in a temporary directory. The +original CWD is saved in ``test.test_support.SAVEDCWD``. Thanks to Florent +Xicluna who helped with the patch. + +.. + +.. bpo: 3920 +.. date: 7848 +.. nonce: 5cWPGY +.. section: Build + +Define _BSD_SOURCE on OpenBSD 4.4 through 4.9. (See also: bpo-7903) diff --git a/Misc/NEWS.d/2.7b1.rst b/Misc/NEWS.d/2.7b1.rst new file mode 100644 index 0000000000..cfa710ed8c --- /dev/null +++ b/Misc/NEWS.d/2.7b1.rst @@ -0,0 +1,802 @@ +.. bpo: 7301 +.. date: 7972 +.. nonce: dlecRg +.. release date: 2010-04-10 +.. section: Core and Builtins + +Add environment variable $PYTHONWARNINGS. + +.. + +.. bpo: 8329 +.. date: 7971 +.. nonce: ZUTObm +.. section: Core and Builtins + +Don't return the same lists from select.select when no fds are changed. + +.. + +.. bpo: 8259 +.. date: 7970 +.. nonce: NNoD66 +.. section: Core and Builtins + +``1L << (2**31)`` no longer produces an 'outrageous shift error' on 64-bit +machines. The shift count for either left or right shift is permitted to be +up to sys.maxsize. + +.. + +.. bpo: 0 +.. date: 7969 +.. nonce: iwBvru +.. section: Core and Builtins + +Ensure that tokenization of identifiers is not affected by locale. + +.. + +.. bpo: 1222585 +.. date: 7968 +.. nonce: emqFT3 +.. section: Core and Builtins + +Added LDCXXSHARED for C++ support. Patch by Arfrever. + +.. + +.. bpo: 0 +.. date: 7967 +.. nonce: jCkZ20 +.. section: Core and Builtins + +Raise a TypeError when trying to delete a T_STRING_INPLACE struct member. + +.. + +.. bpo: 7994 +.. date: 7966 +.. nonce: ZEBSAJ +.. section: Core and Builtins + +Issue a PendingDeprecationWarning if object.__format__ is called with a non- +empty format string. This is an effort to future-proof user code. If a +derived class does not currently implement __format__ but later adds its own +__format__, it would most likely break user code that had supplied a format +string. This will be changed to a DeprecationWarning in Python 3.3 and it +will be an error in Python 3.4. + +.. + +.. bpo: 8268 +.. date: 7965 +.. nonce: usS51U +.. section: Core and Builtins + +Old-style classes (not just instances) now support weak references. + +.. + +.. bpo: 8211 +.. date: 7964 +.. nonce: InhXpq +.. section: Core and Builtins + +Save/restore CFLAGS around AC_PROG_CC in configure.in, in case it is set. + +.. + +.. bpo: 1583863 +.. date: 7963 +.. nonce: tSkjxk +.. section: Core and Builtins + +A unicode subclass can now override the __unicode__ method + +.. + +.. bpo: 6474 +.. date: 7962 +.. nonce: yFxVuM +.. section: Core and Builtins + +Make error message from passing an inadequate number of keyword arguments to +a function correct. + +.. + +.. bpo: 8164 +.. date: 7961 +.. nonce: uRYEY5 +.. section: Core and Builtins + +Don't allow lambda functions to have a docstring. + +.. + +.. bpo: 3137 +.. date: 7960 +.. nonce: Em70dh +.. section: Core and Builtins + +Don't ignore errors at startup, especially a keyboard interrupt (SIGINT). +If an error occurs while importing the site module, the error is printed and +Python exits. Initialize the GIL before importing the site module. + +.. + +.. bpo: 0 +.. date: 7959 +.. nonce: kIQmnN +.. section: Core and Builtins + +Code objects now support weak references. + +.. + +.. bpo: 5277 +.. date: 7958 +.. nonce: CQ8CXN +.. section: Library + +Fix quote counting when parsing RFC 2231 encoded parameters. + +.. + +.. bpo: 8321 +.. date: 7957 +.. nonce: Tul_aA +.. section: Library + +Give access to OpenSSL version numbers from the `ssl` module, using the new +attributes `ssl.OPENSSL_VERSION`, `ssl.OPENSSL_VERSION_INFO` and +`ssl.OPENSSL_VERSION_NUMBER`. + +.. + +.. bpo: 8310 +.. date: 7956 +.. nonce: 6fu8uc +.. section: Library + +Allow dis to examine new style classes. + +.. + +.. bpo: 8257 +.. date: 7955 +.. nonce: PzabSZ +.. section: Library + +The Decimal construct now accepts a float instance directly, converting that +float to a Decimal of equal value: + +>>> Decimal(1.1) +Decimal('1.100000000000000088817841970012523233890533447265625') + +.. + +.. bpo: 0 +.. date: 7954 +.. nonce: 02C1gn +.. section: Library + +collections.Counter() now supports a subtract() method. + +.. + +.. bpo: 0 +.. date: 7953 +.. nonce: or8thG +.. section: Library + +The functools module now has a total_ordering() class decorator to simplify +the specification of rich comparisons. + +.. + +.. bpo: 0 +.. date: 7952 +.. nonce: nshtA2 +.. section: Library + +The functools module also adds cmp_to_key() as a tool to transition old- +style comparison functions to new-style key-functions. + +.. + +.. bpo: 8294 +.. date: 7951 +.. nonce: 42HIIC +.. section: Library + +The Fraction constructor now accepts Decimal and float instances directly. + +.. + +.. bpo: 7279 +.. date: 7950 +.. nonce: v1uyoh +.. section: Library + +Comparisons involving a Decimal signaling NaN now signal InvalidOperation +instead of returning False. (Comparisons involving a quiet NaN are +unchanged.) Also, Decimal quiet NaNs are now hashable; Decimal signaling +NaNs remain unhashable. + +.. + +.. bpo: 2531 +.. date: 7949 +.. nonce: ELCENf +.. section: Library + +Comparison operations between floats and Decimal instances now return a +result based on the numeric values of the operands; previously they returned +an arbitrary result based on the relative ordering of id(float) and +id(Decimal). + +.. + +.. bpo: 8233 +.. date: 7948 +.. nonce: xJkVL4 +.. section: Library + +When run as a script, py_compile.py optionally takes a single argument `-` +which tells it to read files to compile from stdin. Each line is read on +demand and the named file is compiled immediately. (Original patch by Piotr +Ożarowski). + +.. + +.. bpo: 3135 +.. date: 7947 +.. nonce: 5u_w3h +.. section: Library + +Add ``inspect.getcallargs()``, which binds arguments to a function like a +normal call. + +.. + +.. bpo: 0 +.. date: 7946 +.. nonce: CTbVhT +.. section: Library + +Backwards incompatible change: Unicode codepoints line tabulation (0x0B) and +form feed (0x0C) are now considered linebreaks, as specified in Unicode +Standard Annex #14. See issue #7643. http://www.unicode.org/reports/tr14/ + +.. + +.. bpo: 0 +.. date: 7945 +.. nonce: Y0P_8n +.. section: Library + +Comparisons using one of <, <=, >, >= between a complex instance and a +Fractions instance now raise TypeError instead of returning True/False. +This makes Fraction <=> complex comparisons consistent with int <=> complex, +float <=> complex, and complex <=> complex comparisons. + +.. + +.. bpo: 0 +.. date: 7944 +.. nonce: POrUTx +.. section: Library + +Addition of ``WeakSet`` to the ``weakref`` module. + +.. + +.. bpo: 0 +.. date: 7943 +.. nonce: 6xyUXj +.. section: Library + +logging: Added LOG_FTP to SysLogHandler and updated documentation. + +.. + +.. bpo: 8205 +.. date: 7942 +.. nonce: GK6syz +.. section: Library + +Remove the "Modules" directory from sys.path when Python is running from the +build directory (POSIX only). + +.. + +.. bpo: 7667 +.. date: 7941 +.. nonce: 581UIL +.. section: Library + +Fix doctest failures with non-ASCII paths. + +.. + +.. bpo: 7512 +.. date: 7940 +.. nonce: 3tQWru +.. section: Library + +shutil.copystat() could raise an OSError when the filesystem didn't support +chflags() (for example ZFS under FreeBSD). The error is now silenced. + +.. + +.. bpo: 7703 +.. date: 7939 +.. nonce: _QnWbZ +.. section: Library + +ctypes supports both buffer() and memoryview(). The former is deprecated. + +.. + +.. bpo: 7860 +.. date: 7938 +.. nonce: DV2Y4E +.. section: Library + +platform.uname now reports the correct 'machine' type when Python is running +in WOW64 mode on 64 bit Windows. + +.. + +.. bpo: 0 +.. date: 7937 +.. nonce: ZMh4CS +.. section: Library + +logging: Added getChild utility method to Logger and added isEnabledFor +method to LoggerAdapter. + +.. + +.. bpo: 8201 +.. date: 7936 +.. nonce: Zsfq9o +.. section: Library + +logging: Handle situation of non-ASCII and Unicode logger names existing at +the same time, causing a Unicode error when configuration code attempted to +sort the existing loggers. + +.. + +.. bpo: 8200 +.. date: 7935 +.. nonce: QhAmka +.. section: Library + +logging: Handle errors when multiprocessing is not fully loaded when logging +occurs. + +.. + +.. bpo: 3890 +.. date: 7934 +.. nonce: LxiC0p +.. section: Library + +Fix recv() and recv_into() on non-blocking SSL sockets. Also, enable the +SSL_MODE_AUTO_RETRY flag on SSL sockets, so that blocking reads and writes +are always retried by OpenSSL itself. (See also: bpo-8222) + +.. + +.. bpo: 8179 +.. date: 7933 +.. nonce: 8H5ich +.. section: Library + +Fix macpath.realpath() on a non-existing path. + +.. + +.. bpo: 8024 +.. date: 7932 +.. nonce: OWylMQ +.. section: Library + +Update the Unicode database to 5.2. + +.. + +.. bpo: 8104 +.. date: 7931 +.. nonce: sE4WnG +.. section: Library + +socket.recv_into() and socket.recvfrom_into() now support writing into +objects supporting the new buffer API, for example bytearrays or +memoryviews. + +.. + +.. bpo: 4961 +.. date: 7930 +.. nonce: WDc-2x +.. section: Library + +Inconsistent/wrong result of askyesno function in tkMessageBox with +Tcl/Tk-8.5. + +.. + +.. bpo: 8140 +.. date: 7929 +.. nonce: GfkB7_ +.. section: Library + +Extend compileall to compile single files. Add -i option. + +.. + +.. bpo: 7774 +.. date: 7928 +.. nonce: BddO6b +.. section: Library + +Set sys.executable to an empty string if ``argv[0]`` has been set to a non +existent program name and Python is unable to retrieve the real program +name. + +.. + +.. bpo: 8117 +.. date: 7927 +.. nonce: CFgyRD +.. section: Library + +logging: Improved algorithm for computing initial rollover time for +``TimedRotatingFileHandler`` by using the modification time of an existing +log file to compute the next rollover time. If the log file does not exist, +the current time is used as the basis for the computation. + +.. + +.. bpo: 6472 +.. date: 7926 +.. nonce: c0VR0M +.. section: Library + +The ``xml.etree`` package is updated to ElementTree 1.3. The cElementTree +module is updated too. + +.. + +.. bpo: 7880 +.. date: 7925 +.. nonce: oSpS50 +.. section: Library + +Fix sysconfig when the python executable is a symbolic link. + +.. + +.. bpo: 7624 +.. date: 7924 +.. nonce: P9QTki +.. section: Library + +Fix ``isinstance(foo(), collections.Callable)`` for old-style classes. + +.. + +.. bpo: 7143 +.. date: 7923 +.. nonce: A30Qss +.. section: Library + +email: ``get_payload()`` used to strip any trailing newline from a base64 +transfer-encoded payload *after* decoding it; it no longer does. This is a +behavior change, so email's minor version number is now bumped, to version +4.0.2, for the 2.7 release. + +.. + +.. bpo: 8235 +.. date: 7922 +.. nonce: 7txk3- +.. section: Library + +_socket: Add the constant ``SO_SETFIB``. SO_SETFIB is a socket option +available on FreeBSD 7.1 and newer. + +.. + +.. bpo: 8038 +.. date: 7921 +.. nonce: GrZDC3 +.. section: Library + +unittest.TestCase.assertNotRegexpMatches + +.. + +.. bpo: 0 +.. date: 7920 +.. nonce: V2kHuO +.. section: Library + +Addition of -b command line option to unittest for buffering stdout / stderr +during test runs. + +.. + +.. bpo: 1220212 +.. date: 7919 +.. nonce: GqZ0L4 +.. section: Library + +Added os.kill support for Windows, including support for sending CTRL+C and +CTRL+BREAK events to console subprocesses. + +.. + +.. bpo: 8314 +.. date: 7918 +.. nonce: s45vVC +.. section: Library + +Fix unsigned long long bug in libffi on Sparc v8. + +.. + +.. bpo: 1039 +.. date: 7917 +.. nonce: BQUTJH +.. section: Library + +Fix os.execlp() crash with missing 2nd argument. (See also: bpo-8154) + +.. + +.. bpo: 8156 +.. date: 7916 +.. nonce: 5LG8uP +.. section: Library + +bsddb module updated to version 4.8.4. +http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.8.4. This update drops +support for Berkeley DB 4.0, and adds support for 4.8. + +.. + +.. bpo: 3928 +.. date: 7915 +.. nonce: kY8ENm +.. section: Library + +os.mknod() now available in Solaris, also. + +.. + +.. bpo: 8142 +.. date: 7914 +.. nonce: ArTkHw +.. section: Library + +Update libffi to the 3.0.9 release. + +.. + +.. bpo: 8300 +.. date: 7913 +.. nonce: fAkvVk +.. section: Library + +When passing a non-integer argument to struct.pack with any integer format +code, struct.pack first attempts to convert the non-integer using its +__index__ method. If that method is non-existent or raises TypeError it +goes on to try the __int__ method, as described below. + +.. + +.. bpo: 1530559 +.. date: 7912 +.. nonce: KXF5m2 +.. section: Library + +When passing a non-integer argument to struct.pack with *any* integer format +code (one of 'bBhHiIlLqQ'), struct.pack attempts to use the argument's +__int__ method to convert to an integer before packing. It also produces a +DeprecationWarning in this case. (In Python 2.6, the behaviour was +inconsistent: __int__ was used for some integer codes but not for others, +and the set of integer codes for which it was used differed between native +packing and standard packing.) + +.. + +.. bpo: 7347 +.. date: 7911 +.. nonce: RdqRiz +.. section: Library + +_winreg: Add CreateKeyEx and DeleteKeyEx, as well as fix a bug in the return +value of QueryReflectionKey. + +.. + +.. bpo: 7993 +.. date: 7910 +.. nonce: M7oNRJ +.. section: Tools/Demos + +Add a test of IO packet processing bandwidth to ccbench. It measures the +number of UDP packets processed per second depending on the number of +background CPU-bound Python threads. + +.. + +.. bpo: 0 +.. date: 7909 +.. nonce: KeNbfw +.. section: Tools/Demos + +python-config now supports multiple options on the same command line. + +.. + +.. bpo: 8032 +.. date: 7908 +.. nonce: gv-Du9 +.. section: Build + +For gdb7, a python-gdb.py file is added to the build, allowing to use +advanced gdb features when debugging Python. + +.. + +.. bpo: 1628484 +.. date: 7907 +.. nonce: wcrSr1 +.. section: Build + +The Makefile doesn't ignore the CFLAGS environment variable anymore. It +also forwards the LDFLAGS settings to the linker when building a shared +library. + +.. + +.. bpo: 6716 +.. date: 7906 +.. nonce: tQLBdR +.. section: Build + +Quote -x arguments of compileall in MSI installer. + +.. + +.. bpo: 7705 +.. date: 7905 +.. nonce: sw6ifg +.. section: Build + +Fix linking on FreeBSD. + +.. + +.. bpo: 0 +.. date: 7904 +.. nonce: Dm_ncE +.. section: Build + +Make sure that the FreeBSD build of the included libffi uses the proper +assembly file. + +.. + +.. bpo: 8276 +.. date: 7903 +.. nonce: 40pgLF +.. section: C API + +PyEval_CallObject() is now only available in macro form. The function +declaration, which was kept for backwards compatibility reasons, is now +removed (the macro was introduced in 1997!). + +.. + +.. bpo: 7992 +.. date: 7902 +.. nonce: 2eLlya +.. section: C API + +A replacement PyCObject API, PyCapsule, has been backported from Python 3.1. +All existing Python CObjects in the main distribution have been converted to +capsules. To address backwards-compatibility concerns, +PyCObject_AsVoidPtr() was changed to understand capsules. + +.. + +.. bpo: 3864 +.. date: 7901 +.. nonce: bkbNiO +.. section: Tests + +Skip three test_signal tests on freebsd6 because they fail if any thread was +previously started, most likely due to a platform bug. + +.. + +.. bpo: 8348 +.. date: 7900 +.. nonce: Nygf2t +.. section: Tests + +Fix test ftp url in test_urllib2net. + +.. + +.. bpo: 8204 +.. date: 7899 +.. nonce: iYMJ7_ +.. section: Tests + +Fix test_ttk notebook test by forcing focus. + +.. + +.. bpo: 8344 +.. date: 7898 +.. nonce: kt2Sq_ +.. section: Tests + +Fix test_ttk bug on FreeBSD. + +.. + +.. bpo: 8193 +.. date: 7897 +.. nonce: T8MbIc +.. section: Tests + +Fix test_zlib failure with zlib 1.2.4. + +.. + +.. bpo: 8248 +.. date: 7896 +.. nonce: pBx5bT +.. section: Tests + +Add some tests for the bool type. Patch by Gregory Nofi. + +.. + +.. bpo: 8263 +.. date: 7895 +.. nonce: zNUf-5 +.. section: Tests + +Now regrtest.py will report a failure if it receives a KeyboardInterrupt +(SIGINT). + +.. + +.. bpo: 8180 +.. date: 7894 +.. nonce: yyLvZY +.. section: Tests + +Fix test_pep277 on OS X and add more tests for special Unicode normalization +cases. (See also: bpo-8207) + +.. + +.. bpo: 7783 +.. date: 7893 +.. nonce: K20ttO +.. section: Tests + +test.test_support.open_urlresource invalidates the outdated files from the +local cache. diff --git a/Misc/NEWS.d/2.7b2.rst b/Misc/NEWS.d/2.7b2.rst new file mode 100644 index 0000000000..caa336b742 --- /dev/null +++ b/Misc/NEWS.d/2.7b2.rst @@ -0,0 +1,666 @@ +.. bpo: 0 +.. date: 8039 +.. nonce: 8aqNKP +.. release date: 2010-05-08 +.. section: Core and Builtins + +Run Clang 2.7's static analyzer for ``Objects/`` and ``Python/``. + +.. + +.. bpo: 1533 +.. date: 8038 +.. nonce: 6FLjC9 +.. section: Core and Builtins + +Fix inconsistency in range function argument processing: any non-float non- +integer argument is now converted to an integer (if possible) using its +__int__ method. Previously, only small arguments were treated this way; +larger arguments (those whose __int__ was outside the range of a C long) +would produce a TypeError. + +.. + +.. bpo: 8202 +.. date: 8037 +.. nonce: UvqmQ2 +.. section: Core and Builtins + +``sys.argv[0]`` is now set to '-m' instead of '-c' when searching for the +module file to be executed with the -m command line option. + +.. + +.. bpo: 7319 +.. date: 8036 +.. nonce: Ry0QuX +.. section: Core and Builtins + +When -Q is used, do not silence DeprecationWarning. + +.. + +.. bpo: 7332 +.. date: 8035 +.. nonce: mCUzwz +.. section: Core and Builtins + +Remove the 16KB stack-based buffer in ``PyMarshal_ReadLastObjectFromFile``, +which doesn't bring any noticeable benefit compared to the dynamic memory +allocation fallback. Patch by Charles-François Natali. + +.. + +.. bpo: 8417 +.. date: 8034 +.. nonce: qcRfh8 +.. section: Core and Builtins + +Raise an OverflowError when an integer larger than sys.maxsize is passed to +bytearray. + +.. + +.. bpo: 7072 +.. date: 8033 +.. nonce: YGHQG7 +.. section: Core and Builtins + +``isspace(0xa0)`` is true on Mac OS X. + +.. + +.. bpo: 8404 +.. date: 8032 +.. nonce: 0krGPF +.. section: Core and Builtins + +Fix set operations on dictionary views. + +.. + +.. bpo: 8084 +.. date: 8031 +.. nonce: uiAFoS +.. section: Core and Builtins + +PEP 370 now conforms to system conventions for framework builds on MacOS X. +That is, ``python setup.py install --user`` will install into +``~/Library/Python/2.7`` instead of ``~/.local``. + +.. + +.. bpo: 8681 +.. date: 8030 +.. nonce: bnD2Mi +.. section: Library + +Make the zlib module's error messages more informative when the zlib itself +doesn't give any detailed explanation. + +.. + +.. bpo: 8571 +.. date: 8029 +.. nonce: BGxcud +.. section: Library + +Fix an internal error when compressing or decompressing a chunk larger than +1GB with the zlib module's compressor and decompressor objects. + +.. + +.. bpo: 8573 +.. date: 8028 +.. nonce: PZTYKm +.. section: Library + +asyncore ``_strerror()`` function might throw ValueError. + +.. + +.. bpo: 8483 +.. date: 8027 +.. nonce: gWRwCr +.. section: Library + +asyncore.dispatcher's __getattr__ method produced confusing error messages +when accessing undefined class attributes because of the cheap inheritance +with the underlying socket object. The cheap inheritance has been +deprecated. + +.. + +.. bpo: 4265 +.. date: 8026 +.. nonce: gtcR-h +.. section: Library + +``shutil.copyfile()`` was leaking file descriptors when disk fills. Patch +by Tres Seaver. + +.. + +.. bpo: 7755 +.. date: 8025 +.. nonce: k5FaAX +.. section: Library + +Use an unencumbered audio file for tests. + +.. + +.. bpo: 8621 +.. date: 8024 +.. nonce: 64sJJn +.. section: Library + +``uuid.uuid4()`` returned the same sequence of values in the parent and any +children created using ``os.fork`` on Mac OS X 10.6. + +.. + +.. bpo: 8313 +.. date: 8023 +.. nonce: lE868K +.. section: Library + +``traceback.format_exception_only()`` encodes unicode message to ASCII with +backslashreplace error handler if ``str(value)`` failed. + +.. + +.. bpo: 8567 +.. date: 8022 +.. nonce: agGfsd +.. section: Library + +Fix precedence of signals in Decimal module: when a Decimal operation raises +multiple signals and more than one of those signals is trapped, the +specification determines the order in which the signals should be handled. +In many cases this order wasn't being followed, leading to the wrong Python +exception being raised. + +.. + +.. bpo: 7865 +.. date: 8021 +.. nonce: YF-RSw +.. section: Library + +The close() method of :mod:`io` objects should not swallow exceptions raised +by the implicit flush(). Also ensure that calling close() several times is +supported. Patch by Pascal Chambon. + +.. + +.. bpo: 8576 +.. date: 8020 +.. nonce: P-vn7s +.. section: Library + +logging updated to remove usage of find_unused_port(). + +.. + +.. bpo: 4687 +.. date: 8019 +.. nonce: WuWPAI +.. section: Library + +Fix accuracy of garbage collection runtimes displayed with gc.DEBUG_STATS. + +.. + +.. bpo: 8354 +.. date: 8018 +.. nonce: ihPpD8 +.. section: Library + +The siginterrupt setting is now preserved for all signals, not just SIGCHLD. + +.. + +.. bpo: 7192 +.. date: 8017 +.. nonce: crfmVq +.. section: Library + +``webbrowser.get("firefox")`` now works on Mac OS X, as does +``webbrowser.get("safari")``. + +.. + +.. bpo: 8577 +.. date: 8016 +.. nonce: aNmUf8 +.. section: Library + +``distutils.sysconfig.get_python_inc()`` now makes a difference between the +build dir and the source dir when looking for "python.h" or "Include". + +.. + +.. bpo: 8464 +.. date: 8015 +.. nonce: dckIPz +.. section: Library + +tarfile no longer creates files with execute permissions set when mode="w|" +is used. + +.. + +.. bpo: 7834 +.. date: 8014 +.. nonce: 6FWkzA +.. section: Library + +Fix connect() of Bluetooth L2CAP sockets with recent versions of the Linux +kernel. Patch by Yaniv Aknin. + +.. + +.. bpo: 6312 +.. date: 8013 +.. nonce: ZgHCwc +.. section: Library + +Fix http HEAD request when the transfer encoding is chunked. It should +correctly return an empty response now. + +.. + +.. bpo: 7490 +.. date: 8012 +.. nonce: hT8uzG +.. section: Library + +To facilitate sharing of doctests between 2.x and 3.x test suites, the +``IGNORE_EXCEPTION_DETAIL`` directive now also ignores the module location +of the raised exception. Based on initial patch by Lennart Regebro. + +.. + +.. bpo: 8086 +.. date: 8011 +.. nonce: Nn01DF +.. section: Library + +In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline before the +certificate footer. Patch by Kyle VanderBeek. + +.. + +.. bpo: 8546 +.. date: 8010 +.. nonce: ZJV_Z2 +.. section: Library + +Reject None given as the buffering argument to ``_pyio.open()``. + +.. + +.. bpo: 8549 +.. date: 8009 +.. nonce: 9m7vbm +.. section: Library + +Fix compiling the _ssl extension under AIX. Patch by Sridhar Ratnakumar. + +.. + +.. bpo: 6656 +.. date: 8008 +.. nonce: oU6_NU +.. section: Library + +Fix locale.format_string to handle escaped percents and mappings. + +.. + +.. bpo: 2302 +.. date: 8007 +.. nonce: KqJUA8 +.. section: Library + +Fix a race condition in SocketServer.BaseServer.shutdown, where the method +could block indefinitely if called just before the event loop started +running. This also fixes the occasional freezes witnessed in +test_httpservers. + +.. + +.. bpo: 5103 +.. date: 8006 +.. nonce: mBe0-l +.. section: Library + +SSL handshake would ignore the socket timeout and block indefinitely if the +other end didn't respond. + +.. + +.. bpo: 0 +.. date: 8005 +.. nonce: XlQAbN +.. section: Library + +The do_handshake() method of SSL objects now adjusts the blocking mode of +the SSL structure if necessary (as other methods already do). + +.. + +.. bpo: 7507 +.. date: 8004 +.. nonce: PPZWiA +.. section: Library + +Quote "!" in pipes.quote(); it is special to some shells. + +.. + +.. bpo: 5238 +.. date: 8003 +.. nonce: HjIVqr +.. section: Library + +Calling makefile() on an SSL object would prevent the underlying socket from +being closed until all objects get truely destroyed. + +.. + +.. bpo: 7943 +.. date: 8002 +.. nonce: 0wcepT +.. section: Library + +Fix circular reference created when instantiating an SSL socket. Initial +patch by Péter Szabó. + +.. + +.. bpo: 8451 +.. date: 8001 +.. nonce: vWZKfu +.. section: Library + +Syslog module now uses basename(sys.argv[0]) instead of the string "python" +as the *ident*. openlog() arguments are all optional and keywords. + +.. + +.. bpo: 8108 +.. date: 8000 +.. nonce: gw3ghC +.. section: Library + +Fix the unwrap() method of SSL objects when the socket has a non-infinite +timeout. Also make that method friendlier with applications wanting to +continue using the socket in clear-text mode, by disabling OpenSSL's +internal readahead. Thanks to Darryl Miles for guidance. + +.. + +.. bpo: 8484 +.. date: 7999 +.. nonce: b9zFsh +.. section: Library + +Load all ciphers and digest algorithms when initializing the _ssl extension, +such that verification of some SSL certificates doesn't fail because of an +"unknown algorithm". + +.. + +.. bpo: 8437 +.. date: 7998 +.. nonce: iGGyX3 +.. section: Library + +Fix test_gdb failures, patch written by Dave Malcolm + +.. + +.. bpo: 4814 +.. date: 7997 +.. nonce: kc5m59 +.. section: Library + +The timeout parameter is now applied also for connections resulting from +PORT/EPRT commands. + +.. + +.. bpo: 8463 +.. date: 7996 +.. nonce: slxxrW +.. section: Library + +Add missing reference to bztar in shutil's documentation. + +.. + +.. bpo: 8438 +.. date: 7995 +.. nonce: TUjaAU +.. section: Library + +Remove reference to the missing "surrogateescape" encoding error handler +from the new IO library. + +.. + +.. bpo: 3817 +.. date: 7994 +.. nonce: 6zjb85 +.. section: Library + +ftplib.FTP.abort() method now considers 225 a valid response code as stated +in RFC-959 at chapter 5.4. + +.. + +.. bpo: 8279 +.. date: 7993 +.. nonce: MubiOg +.. section: Library + +Fix test_gdb failures. + +.. + +.. bpo: 8322 +.. date: 7992 +.. nonce: XVocgc +.. section: Library + +Add a *ciphers* argument to SSL sockets, so as to change the available +cipher list. Helps fix test_ssl with OpenSSL 1.0.0. + +.. + +.. bpo: 2987 +.. date: 7991 +.. nonce: FbxT-M +.. section: Library + +RFC 2732 support for urlparse (IPv6 addresses). Patch by Tony Locke and +Hans Ulrich Niedermann. + +.. + +.. bpo: 7585 +.. date: 7990 +.. nonce: stGadz +.. section: Library + +difflib context and unified diffs now place a tab between filename and date, +conforming to the 'standards' they were originally designed to follow. This +improves compatibility with patch tools. + +.. + +.. bpo: 7472 +.. date: 7989 +.. nonce: IghBPp +.. section: Library + +Fixed typo in email.encoders module; messages using ISO-2022 character sets +will now consistently use a Content-Transfer-Encoding of 7bit rather than +sometimes being marked as 8bit. + +.. + +.. bpo: 8330 +.. date: 7988 +.. nonce: LPDqBG +.. section: Library + +Fix expected output in test_gdb. + +.. + +.. bpo: 8374 +.. date: 7987 +.. nonce: bWoGdD +.. section: Library + +Update the internal alias table in the :mod:`locale` module to cover recent +locale changes and additions. + +.. + +.. bpo: 8644 +.. date: 7986 +.. nonce: JWO_61 +.. section: Library + +Improved accuracy of ``timedelta.total_seconds()``. + +.. + +.. bpo: 0 +.. date: 7985 +.. nonce: LYHXVb +.. section: Library + +Use Clang 2.7's static analyzer to find places to clean up some code. + +.. + +.. bpo: 0 +.. date: 7984 +.. nonce: jbiDIM +.. section: Library + +Build the ossaudio extension on GNU/kFreeBSD. + +.. + +.. bpo: 0 +.. date: 7983 +.. nonce: NCKMWo +.. section: Library + +On Windows, ctypes no longer checks the stack before and after calling a +foreign function. This allows using the unmodified libffi library. + +.. + +.. bpo: 8672 +.. date: 7982 +.. nonce: hs9Ync +.. section: Tests + +Add a zlib test ensuring that an incomplete stream can be handled by a +decompressor object without errors (it returns incomplete uncompressed +data). + +.. + +.. bpo: 8490 +.. date: 7981 +.. nonce: yG1Xr0 +.. section: Tests + +asyncore now has a more solid test suite which actually tests its API. + +.. + +.. bpo: 8576 +.. date: 7980 +.. nonce: Up6MTB +.. section: Tests + +Remove use of find_unused_port() in test_smtplib and test_multiprocessing. +Patch by Paul Moore. + +.. + +.. bpo: 7449 +.. date: 7979 +.. nonce: as77J5 +.. section: Tests + +Fix many tests to support Python compiled without thread support. Patches +written by Jerry Seutter. + +.. + +.. bpo: 8108 +.. date: 7978 +.. nonce: -PlMAS +.. section: Tests + +test_ftplib's non-blocking SSL server now has proper handling of SSL +shutdowns. + +.. + +.. bpo: 8625 +.. date: 7977 +.. nonce: E4dSUW +.. section: Build + +Turn off optimization in ``--with-pydebug`` builds with gcc. (Optimization +was unintentionally turned on in gcc --with-pydebug builds in 2.7 beta1 as a +result of the issue #1628484 fix, combined with autoconf's strange choice of +default CFLAGS produced by AC_PROG_CC for gcc.) + +.. + +.. bpo: 8509 +.. date: 7976 +.. nonce: N8vHHZ +.. section: Build + +Fix quoting in help strings and code snippets in configure.in. + +.. + +.. bpo: 3646 +.. date: 7975 +.. nonce: UyNDbm +.. section: Build + +It is now easily possible to install a Python framework into your home +directory on Mac OS X, see Mac/README for more information. + +.. + +.. bpo: 8510 +.. date: 7974 +.. nonce: 8MiUfR +.. section: Build + +Update to autoconf 2.65. + +.. + +.. bpo: 0 +.. date: 7973 +.. nonce: 18HloG +.. section: Windows + +Update the Vim syntax highlight file. diff --git a/Misc/NEWS.d/2.7rc1.rst b/Misc/NEWS.d/2.7rc1.rst new file mode 100644 index 0000000000..1984c09a6e --- /dev/null +++ b/Misc/NEWS.d/2.7rc1.rst @@ -0,0 +1,395 @@ +.. bpo: 8271 +.. date: 8078 +.. nonce: HKwc-i +.. release date: 2010-06-05 +.. section: Core and Builtins + +during the decoding of an invalid UTF-8 byte sequence, only the start byte +and the continuation byte(s) are now considered invalid, instead of the +number of bytes specified by the start byte. E.g.: +'\xf1\x80AB'.decode('utf-8', 'replace') now returns u'\ufffdAB' and replaces +with U+FFFD only the start byte ('\xf1') and the continuation byte ('\x80') +even if '\xf1' is the start byte of a 4-bytes sequence. Previous versions +returned a single u'\ufffd'. + +.. + +.. bpo: 8627 +.. date: 8077 +.. nonce: l2l6Zs +.. section: Core and Builtins + +Remove bogus "Overriding __cmp__ blocks inheritance of __hash__ in 3.x" +warning. Also fix "XXX undetected error" that arises from the "Overriding +__eq__ blocks inheritance ..." warning when turned into an exception: in +this case the exception simply gets ignored. + +.. + +.. bpo: 8748 +.. date: 8076 +.. nonce: bKymOB +.. section: Core and Builtins + +Fix two issues with comparisons between complex and integer objects. (1) +The comparison could incorrectly return True in some cases (2**53+1 == +complex(2**53) == 2**53), breaking transivity of equality. (2) The +comparison raised an OverflowError for large integers, leading to +unpredictable exceptions when combining integers and complex objects in sets +or dicts. + +.. + +.. bpo: 5211 +.. date: 8075 +.. nonce: BNwm54 +.. section: Core and Builtins + +Implicit coercion for the complex type is now completely removed. (Coercion +for arithmetic operations was already removed in 2.7 alpha 4, but coercion +for rich comparisons was accidentally left in.) + +.. + +.. bpo: 3798 +.. date: 8074 +.. nonce: L9n27k +.. section: Core and Builtins + +Write sys.exit() message to sys.stderr to use stderr encoding and error +handler, instead of writing to the C stderr file in utf-8 + +.. + +.. bpo: 7902 +.. date: 8073 +.. nonce: K75Ezw +.. section: Core and Builtins + +When using explicit relative import syntax, don't try implicit relative +import semantics. + +.. + +.. bpo: 7079 +.. date: 8072 +.. nonce: wEGBdB +.. section: Core and Builtins + +Fix a possible crash when closing a file object while using it from another +thread. Patch by Daniel Stutzbach. + +.. + +.. bpo: 8868 +.. date: 8071 +.. nonce: rg3J-W +.. section: Core and Builtins + +Fix that ensures that python scripts have access to the Window Server again +in a framework build on MacOSX 10.5 or earlier. + +.. + +.. bpo: 5753 +.. date: 8070 +.. nonce: 205374 +.. section: C API + +A new C API function, :cfunc:`PySys_SetArgvEx`, allows embedders of the +interpreter to set sys.argv without also modifying sys.path. This helps fix +`CVE-2008-5983 `_. + +.. + +.. bpo: 8302 +.. date: 8069 +.. nonce: U5tZ_l +.. section: Library + +SkipTest in unittest.TestCase.setUpClass or setUpModule is now reported as a +skip rather than an error. + +.. + +.. bpo: 8351 +.. date: 8068 +.. nonce: 8I5oO- +.. section: Library + +Excessively large diffs due to unittest.TestCase.assertSequenceEqual are no +longer included in failure reports. + +.. + +.. bpo: 8899 +.. date: 8067 +.. nonce: Q6oIpy +.. section: Library + +time.struct_time now has class and attribute docstrings. + +.. + +.. bpo: 4487 +.. date: 8066 +.. nonce: WdV86e +.. section: Library + +email now accepts as charset aliases all codec aliases accepted by the +codecs module. + +.. + +.. bpo: 6470 +.. date: 8065 +.. nonce: eVTlgU +.. section: Library + +Drop UNC prefix in FixTk. + +.. + +.. bpo: 5610 +.. date: 8064 +.. nonce: 3x0O2c +.. section: Library + +feedparser no longer eats extra characters at the end of a body part if the +body part ends with a \r\n. + +.. + +.. bpo: 8833 +.. date: 8063 +.. nonce: R9JBZA +.. section: Library + +tarfile created hard link entries with a size field != 0 by mistake. + +.. + +.. bpo: 1368247 +.. date: 8062 +.. nonce: OVD5zb +.. section: Library + +set_charset (and therefore MIMEText) now automatically encodes a unicode +_payload to the output_charset. + +.. + +.. bpo: 7150 +.. date: 8061 +.. nonce: kBTznJ +.. section: Library + +Raise OverflowError if the result of adding or subtracting timedelta from +date or datetime falls outside of the MINYEAR:MAXYEAR range. + +.. + +.. bpo: 6662 +.. date: 8060 +.. nonce: jpO1QX +.. section: Library + +Fix parsing of malformatted charref (&#bad;), patch written by Fredrik Håård + +.. + +.. bpo: 8016 +.. date: 8059 +.. nonce: vAmdrz +.. section: Library + +Add the CP858 codec. + +.. + +.. bpo: 3924 +.. date: 8058 +.. nonce: -W1f1B +.. section: Library + +Ignore cookies with invalid "version" field in cookielib. + +.. + +.. bpo: 6268 +.. date: 8057 +.. nonce: fQgJxL +.. section: Library + +Fix seek() method of codecs.open(), don't read or write the BOM twice after +seek(0). Fix also reset() method of codecs, UTF-16, UTF-32 and StreamWriter +classes. + +.. + +.. bpo: 5640 +.. date: 8056 +.. nonce: dpc6TZ +.. section: Library + +Fix Shift-JIS incremental encoder for error handlers different than +'strict'. + +.. + +.. bpo: 8782 +.. date: 8055 +.. nonce: asLuOV +.. section: Library + +Add a trailing newline in linecache.updatecache to the last line of files +without one. + +.. + +.. bpo: 8729 +.. date: 8054 +.. nonce: Nq_Uhf +.. section: Library + +Return NotImplemented from ``collections.Mapping.__eq__()`` when comparing +to a non-mapping. + +.. + +.. bpo: 8759 +.. date: 8053 +.. nonce: 0yDlu7 +.. section: Library + +Fix user paths in sysconfig for posix and os2 schemes. + +.. + +.. bpo: 1285086 +.. date: 8052 +.. nonce: U8BtXR +.. section: Library + +Speed up ``urllib.quote()`` and urllib.unquote for simple cases. + +.. + +.. bpo: 8688 +.. date: 8051 +.. nonce: gUJqmI +.. section: Library + +Distutils now recalculates MANIFEST every time. + +.. + +.. bpo: 5099 +.. date: 8050 +.. nonce: kmjFaU +.. section: Library + +The ``__del__()`` method of ``subprocess.Popen`` (and the methods it calls) +referenced global objects, causing errors to pop up during interpreter +shutdown. + +.. + +.. bpo: 7384 +.. date: 8049 +.. nonce: E16zrc +.. section: Library + +If the system readline library is linked against ncurses, the curses module +must be linked against ncurses as well. Otherwise it is not safe to load +both the readline and curses modules in an application. + +.. + +.. bpo: 2810 +.. date: 8048 +.. nonce: FSt0Y0 +.. section: Library + +Fix cases where the Windows registry API returns ERROR_MORE_DATA, requiring +a re-try in order to get the complete result. + +.. + +.. bpo: 8674 +.. date: 8047 +.. nonce: Q2kfWX +.. section: Library + +Fixed a number of incorrect or undefined-behaviour-inducing overflow checks +in the ``audioop`` module. + +.. + +.. bpo: 8889 +.. date: 8046 +.. nonce: 9IoVzA +.. section: Tests + +test_support.transient_internet rewritten so that the new checks also work +on FreeBSD, which lacks EAI_NODATA. + +.. + +.. bpo: 8835 +.. date: 8045 +.. nonce: FJzJvJ +.. section: Tests + +test_support.transient_internet() catches gaierror(EAI_NONAME) and +gaierror(EAI_NODATA) + +.. + +.. bpo: 7449 +.. date: 8044 +.. nonce: LeKyd_ +.. section: Tests + +Skip test_socketserver if threading support is disabled + +.. + +.. bpo: 0 +.. date: 8043 +.. nonce: b_na1a +.. section: Tests + +On darwin, ``test_site`` assumed that a framework build was being used, +leading to a failure where four directories were expected for site-packages +instead of two in a non-framework build. + +.. + +.. bpo: 0 +.. date: 8042 +.. nonce: g-v7fs +.. section: Build + +Display installer warning that Windows 2000 won't be supported in future +releases. + +.. + +.. bpo: 1759169 +.. date: 8041 +.. nonce: NW035m +.. section: Build + +Drop _XOPEN_SOURCE on Solaris, define it for multiprocessing only. (See +also: bpo-8864) + +.. + +.. bpo: 5464 +.. date: 8040 +.. nonce: R1pj9Y +.. section: Tools/Demos + +Implement plural forms in msgfmt.py. diff --git a/Misc/NEWS.d/2.7rc2.rst b/Misc/NEWS.d/2.7rc2.rst new file mode 100644 index 0000000000..6ad807590f --- /dev/null +++ b/Misc/NEWS.d/2.7rc2.rst @@ -0,0 +1,125 @@ +.. bpo: 9058 +.. date: 8091 +.. nonce: l34Hmg +.. release date: 2010-06-20 +.. section: Core and Builtins + +Remove assertions about INT_MAX in UnicodeDecodeError. + +.. + +.. bpo: 8202 +.. date: 8090 +.. nonce: D-a4-i +.. section: Core and Builtins + +Previous change to ``sys.argv[0]`` handling for -m command line option +reverted due to unintended side effects on handling of ``sys.path``. See +tracker issue for details. + +.. + +.. bpo: 8941 +.. date: 8089 +.. nonce: p6MUoO +.. section: Core and Builtins + +decoding big endian UTF-32 data in UCS-2 builds could crash the interpreter +with characters outside the Basic Multilingual Plane (higher than 0x10000). + +.. + +.. bpo: 0 +.. date: 8088 +.. nonce: diKrLc +.. section: Core and Builtins + +In the unicode/str.format(), raise a ValueError when indexes to arguments +are too large. + +.. + +.. bpo: 8854 +.. date: 8087 +.. nonce: gOjstX +.. section: Build + +Fix finding Visual Studio 2008 on Windows x64. + +.. + +.. bpo: 6589 +.. date: 8086 +.. nonce: nEjgGc +.. section: Library + +cleanup asyncore.socket_map in case smtpd.SMTPServer constructor raises an +exception. + +.. + +.. bpo: 8959 +.. date: 8085 +.. nonce: lO7u2O +.. section: Library + +fix regression caused by using unmodified libffi library on Windows. ctypes +does now again check the stack before and after calling foreign functions. + +.. + +.. bpo: 8720 +.. date: 8084 +.. nonce: rgLhvU +.. section: Library + +fix regression caused by fix for #4050 by making getsourcefile smart enough +to find source files in the linecache. + +.. + +.. bpo: 8986 +.. date: 8083 +.. nonce: f31LM5 +.. section: Library + +math.erfc was incorrectly raising OverflowError for values between -27.3 and +-30.0 on some platforms. + +.. + +.. bpo: 8924 +.. date: 8082 +.. nonce: ENI5YP +.. section: Library + +logging: Improved error handling for Unicode in exception text. + +.. + +.. bpo: 8948 +.. date: 8081 +.. nonce: BIIiQc +.. section: Library + +cleanup functions and class / module setups and teardowns are now honored in +unittest debug methods. + +.. + +.. bpo: 8909 +.. date: 8080 +.. nonce: OfU6lI +.. section: Documentation + +Added the size of the bitmap used in the installer created by distutils' +bdist_wininst. Patch by Anatoly Techtonik. + +.. + +.. bpo: 8362 +.. date: 8079 +.. nonce: KsG-3E +.. section: Windows + +Add maintainers.rst: list of module maintainers diff --git a/Misc/NEWS.d/next/Build/008.bpo-28768.b9_a6E.rst b/Misc/NEWS.d/next/Build/008.bpo-28768.b9_a6E.rst new file mode 100644 index 0000000000..702e14e1a9 --- /dev/null +++ b/Misc/NEWS.d/next/Build/008.bpo-28768.b9_a6E.rst @@ -0,0 +1 @@ +Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto diff --git a/Misc/NEWS.d/next/Build/009.bpo-29572.iZ1XKK.rst b/Misc/NEWS.d/next/Build/009.bpo-29572.iZ1XKK.rst new file mode 100644 index 0000000000..9bf71f90d8 --- /dev/null +++ b/Misc/NEWS.d/next/Build/009.bpo-29572.iZ1XKK.rst @@ -0,0 +1 @@ +Update Windows build and OS X installers to use OpenSSL 1.0.2k. diff --git a/Misc/NEWS.d/next/Build/010.bpo-29643.4DrjEB.rst b/Misc/NEWS.d/next/Build/010.bpo-29643.4DrjEB.rst new file mode 100644 index 0000000000..51f6667743 --- /dev/null +++ b/Misc/NEWS.d/next/Build/010.bpo-29643.4DrjEB.rst @@ -0,0 +1 @@ +Fix ``--enable-optimization`` configure option didn't work. diff --git a/Misc/NEWS.d/next/Build/011.bpo-27593.v87xEr.rst b/Misc/NEWS.d/next/Build/011.bpo-27593.v87xEr.rst new file mode 100644 index 0000000000..5b345e67a8 --- /dev/null +++ b/Misc/NEWS.d/next/Build/011.bpo-27593.v87xEr.rst @@ -0,0 +1,3 @@ +sys.version and the platform module python_build(), python_branch(), and +python_revision() functions now use git information rather than hg when +building from a repo. diff --git a/Misc/NEWS.d/next/Build/012.bpo-23404.PdYVWg.rst b/Misc/NEWS.d/next/Build/012.bpo-23404.PdYVWg.rst new file mode 100644 index 0000000000..0addfd094f --- /dev/null +++ b/Misc/NEWS.d/next/Build/012.bpo-23404.PdYVWg.rst @@ -0,0 +1,2 @@ +Don't regenerate generated files based on file modification time anymore: +the action is now explicit. Replace ``make touch`` with ``make regen-all``. diff --git a/Misc/NEWS.d/next/Build/013.bpo-29243.WDK4hT.rst b/Misc/NEWS.d/next/Build/013.bpo-29243.WDK4hT.rst new file mode 100644 index 0000000000..378e49f67b --- /dev/null +++ b/Misc/NEWS.d/next/Build/013.bpo-29243.WDK4hT.rst @@ -0,0 +1,3 @@ +Prevent unnecessary rebuilding of Python during ``make test``, ``make +install`` and some other make targets when configured with ``--enable- +optimizations``. diff --git a/Misc/NEWS.d/next/Core and Builtins/063.bpo-28932.QnLx8A.rst b/Misc/NEWS.d/next/Core and Builtins/063.bpo-28932.QnLx8A.rst new file mode 100644 index 0000000000..e20901189b --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/063.bpo-28932.QnLx8A.rst @@ -0,0 +1 @@ +Do not include if it does not exist. diff --git a/Misc/NEWS.d/next/Core and Builtins/064.bpo-29145.2x5NOb.rst b/Misc/NEWS.d/next/Core and Builtins/064.bpo-29145.2x5NOb.rst new file mode 100644 index 0000000000..36ccc229be --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/064.bpo-29145.2x5NOb.rst @@ -0,0 +1,2 @@ +Fix overflow checks in string, bytearray and unicode. Patch by jan matejek +and Xiang Zhang. diff --git a/Misc/NEWS.d/next/Core and Builtins/065.bpo-29028.BxGcd9.rst b/Misc/NEWS.d/next/Core and Builtins/065.bpo-29028.BxGcd9.rst new file mode 100644 index 0000000000..c17312217d --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/065.bpo-29028.BxGcd9.rst @@ -0,0 +1,2 @@ +Fixed possible use-after-free bugs in the subscription of the buffer object +with custom index object. diff --git a/Misc/NEWS.d/next/Core and Builtins/066.bpo-14376.xrKNqX.rst b/Misc/NEWS.d/next/Core and Builtins/066.bpo-14376.xrKNqX.rst new file mode 100644 index 0000000000..843bf810ad --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/066.bpo-14376.xrKNqX.rst @@ -0,0 +1 @@ +Allow sys.exit to accept longs as well as ints. Patch by Gareth Rees. diff --git a/Misc/NEWS.d/next/Core and Builtins/067.bpo-29347.1RPPGN.rst b/Misc/NEWS.d/next/Core and Builtins/067.bpo-29347.1RPPGN.rst new file mode 100644 index 0000000000..35fa106664 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/067.bpo-29347.1RPPGN.rst @@ -0,0 +1,2 @@ +Fixed possibly dereferencing undefined pointers when creating weakref +objects. diff --git a/Misc/NEWS.d/next/Core and Builtins/068.bpo-29602.qyyskC.rst b/Misc/NEWS.d/next/Core and Builtins/068.bpo-29602.qyyskC.rst new file mode 100644 index 0000000000..cc1366caf3 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/068.bpo-29602.qyyskC.rst @@ -0,0 +1,3 @@ +Fix incorrect handling of signed zeros in complex constructor for complex +subclasses and for inputs having a __complex__ method. Patch by Serhiy +Storchaka. diff --git a/Misc/NEWS.d/next/Core and Builtins/069.bpo-28598.QxbzQn.rst b/Misc/NEWS.d/next/Core and Builtins/069.bpo-28598.QxbzQn.rst new file mode 100644 index 0000000000..4757347a3d --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/069.bpo-28598.QxbzQn.rst @@ -0,0 +1,2 @@ +Support __rmod__ for subclasses of str being called before str.__mod__. +Patch by Martijn Pieters. diff --git a/Misc/NEWS.d/next/Core and Builtins/070.bpo-29935.2ZTSxR.rst b/Misc/NEWS.d/next/Core and Builtins/070.bpo-29935.2ZTSxR.rst new file mode 100644 index 0000000000..e035ac03b9 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/070.bpo-29935.2ZTSxR.rst @@ -0,0 +1,2 @@ +Fixed error messages in the index() method of tuple and list when pass +indices of wrong type. diff --git a/Misc/NEWS.d/next/Core and Builtins/071.bpo-25794.j0nJ5x.rst b/Misc/NEWS.d/next/Core and Builtins/071.bpo-25794.j0nJ5x.rst new file mode 100644 index 0000000000..ed9286f167 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/071.bpo-25794.j0nJ5x.rst @@ -0,0 +1,2 @@ +Fixed type.__setattr__() and type.__delattr__() for non-interned or unicode +attribute names. Based on patch by Eryk Sun. diff --git a/Misc/NEWS.d/next/Core and Builtins/072.bpo-27945.p29r3O.rst b/Misc/NEWS.d/next/Core and Builtins/072.bpo-27945.p29r3O.rst new file mode 100644 index 0000000000..da5b8d1a2c --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/072.bpo-27945.p29r3O.rst @@ -0,0 +1,3 @@ +Fixed various segfaults with dict when input collections are mutated during +searching, inserting or comparing. Based on patches by Duane Griffin and +Tim Mitchell. diff --git a/Misc/NEWS.d/next/Core and Builtins/073.bpo-30657.Q_r7JJ.rst b/Misc/NEWS.d/next/Core and Builtins/073.bpo-30657.Q_r7JJ.rst new file mode 100644 index 0000000000..9beaead492 --- /dev/null +++ b/Misc/NEWS.d/next/Core and Builtins/073.bpo-30657.Q_r7JJ.rst @@ -0,0 +1,2 @@ +Fixed possible integer overflow in PyString_DecodeEscape. Patch by Jay +Bosamiya. diff --git a/Misc/NEWS.d/next/Documentation/014.bpo-12067.8RbyOz.rst b/Misc/NEWS.d/next/Documentation/014.bpo-12067.8RbyOz.rst new file mode 100644 index 0000000000..72caeee623 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/014.bpo-12067.8RbyOz.rst @@ -0,0 +1,4 @@ +Rewrite Comparisons section in the Expressions chapter of the language +reference. Some of the details of comparing mixed types were incorrect or +ambiguous. Added default behaviour and consistency suggestions for user- +defined classes. Based on patch from Andy Maier. diff --git a/Misc/NEWS.d/next/Documentation/015.bpo-26355.SDq_8Y.rst b/Misc/NEWS.d/next/Documentation/015.bpo-26355.SDq_8Y.rst new file mode 100644 index 0000000000..2614c0ba85 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/015.bpo-26355.SDq_8Y.rst @@ -0,0 +1,2 @@ +Add canonical header link on each page to corresponding major version of the +documentation. Patch by Matthias Bussonnier. diff --git a/Misc/NEWS.d/next/Documentation/016.bpo-28929.Md7kb0.rst b/Misc/NEWS.d/next/Documentation/016.bpo-28929.Md7kb0.rst new file mode 100644 index 0000000000..acacdd0132 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/016.bpo-28929.Md7kb0.rst @@ -0,0 +1 @@ +Link the documentation to its source file on GitHub. diff --git a/Misc/NEWS.d/next/Documentation/017.bpo-30176.VivmCg.rst b/Misc/NEWS.d/next/Documentation/017.bpo-30176.VivmCg.rst new file mode 100644 index 0000000000..df73aeda64 --- /dev/null +++ b/Misc/NEWS.d/next/Documentation/017.bpo-30176.VivmCg.rst @@ -0,0 +1 @@ +Add missing attribute related constants in curses documentation. diff --git a/Misc/NEWS.d/next/Library/018.bpo-28925.9zLygi.rst b/Misc/NEWS.d/next/Library/018.bpo-28925.9zLygi.rst new file mode 100644 index 0000000000..b9a556ac20 --- /dev/null +++ b/Misc/NEWS.d/next/Library/018.bpo-28925.9zLygi.rst @@ -0,0 +1,2 @@ +cPickle now correctly propagates errors when unpickle instances of old-style +classes. diff --git a/Misc/NEWS.d/next/Library/019.bpo-19542.5tCkaK.rst b/Misc/NEWS.d/next/Library/019.bpo-19542.5tCkaK.rst new file mode 100644 index 0000000000..b330241c2a --- /dev/null +++ b/Misc/NEWS.d/next/Library/019.bpo-19542.5tCkaK.rst @@ -0,0 +1,2 @@ +Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop() +when a GC collection happens in another thread. diff --git a/Misc/NEWS.d/next/Library/020.bpo-29019.MO2AeR.rst b/Misc/NEWS.d/next/Library/020.bpo-29019.MO2AeR.rst new file mode 100644 index 0000000000..5e3ff0b9c4 --- /dev/null +++ b/Misc/NEWS.d/next/Library/020.bpo-29019.MO2AeR.rst @@ -0,0 +1,2 @@ +Fix dict.fromkeys(x) overallocates when x is sparce dict. Original patch by +Rasmus Villemoes. diff --git a/Misc/NEWS.d/next/Library/021.bpo-28923._hrXiL.rst b/Misc/NEWS.d/next/Library/021.bpo-28923._hrXiL.rst new file mode 100644 index 0000000000..057509f0c1 --- /dev/null +++ b/Misc/NEWS.d/next/Library/021.bpo-28923._hrXiL.rst @@ -0,0 +1,2 @@ +Remove editor artifacts from Tix.py, including encoding not recognized by +codecs.lookup. diff --git a/Misc/NEWS.d/next/Library/022.bpo-28998.NfBgmb.rst b/Misc/NEWS.d/next/Library/022.bpo-28998.NfBgmb.rst new file mode 100644 index 0000000000..fcd6ddbd3a --- /dev/null +++ b/Misc/NEWS.d/next/Library/022.bpo-28998.NfBgmb.rst @@ -0,0 +1 @@ +More APIs now support longs as well as ints. diff --git a/Misc/NEWS.d/next/Library/023.bpo-28427.vUd-va.rst b/Misc/NEWS.d/next/Library/023.bpo-28427.vUd-va.rst new file mode 100644 index 0000000000..e6eab05306 --- /dev/null +++ b/Misc/NEWS.d/next/Library/023.bpo-28427.vUd-va.rst @@ -0,0 +1,2 @@ +old keys should not remove new values from WeakValueDictionary when +collecting from another thread. diff --git a/Misc/NEWS.d/next/Library/024.bpo-9770.WJJnwP.rst b/Misc/NEWS.d/next/Library/024.bpo-9770.WJJnwP.rst new file mode 100644 index 0000000000..18abe3d6d2 --- /dev/null +++ b/Misc/NEWS.d/next/Library/024.bpo-9770.WJJnwP.rst @@ -0,0 +1 @@ +curses.ascii predicates now work correctly with negative integers. diff --git a/Misc/NEWS.d/next/Library/025.bpo-13051.YzC1Te.rst b/Misc/NEWS.d/next/Library/025.bpo-13051.YzC1Te.rst new file mode 100644 index 0000000000..87fe36e34a --- /dev/null +++ b/Misc/NEWS.d/next/Library/025.bpo-13051.YzC1Te.rst @@ -0,0 +1,2 @@ +Fixed recursion errors in large or resized curses.textpad.Textbox. Based on +patch by Tycho Andersen. diff --git a/Misc/NEWS.d/next/Library/026.bpo-29142._FTyvm.rst b/Misc/NEWS.d/next/Library/026.bpo-29142._FTyvm.rst new file mode 100644 index 0000000000..137a552e89 --- /dev/null +++ b/Misc/NEWS.d/next/Library/026.bpo-29142._FTyvm.rst @@ -0,0 +1,3 @@ +In urllib, suffixes in no_proxy environment variable with leading dots could +match related hostnames again (e.g. .b.c matches a.b.c). Patch by Milan +Oberkirch. diff --git a/Misc/NEWS.d/next/Library/027.bpo-29188.RI3v1Q.rst b/Misc/NEWS.d/next/Library/027.bpo-29188.RI3v1Q.rst new file mode 100644 index 0000000000..58a161779f --- /dev/null +++ b/Misc/NEWS.d/next/Library/027.bpo-29188.RI3v1Q.rst @@ -0,0 +1,4 @@ +Support glibc 2.24 on Linux: don't use getentropy() function but read from +/dev/urandom to get random bytes, for example in os.urandom(). On Linux, +getentropy() is implemented which getrandom() is blocking mode, whereas +os.urandom() should not block. diff --git a/Misc/NEWS.d/next/Library/028.bpo-29082.D5Xs7F.rst b/Misc/NEWS.d/next/Library/028.bpo-29082.D5Xs7F.rst new file mode 100644 index 0000000000..27de57506e --- /dev/null +++ b/Misc/NEWS.d/next/Library/028.bpo-29082.D5Xs7F.rst @@ -0,0 +1,2 @@ +Fixed loading libraries in ctypes by unicode names on Windows. Original +patch by Chi Hsuan Yen. diff --git a/Misc/NEWS.d/next/Library/029.bpo-29219.kxui7t.rst b/Misc/NEWS.d/next/Library/029.bpo-29219.kxui7t.rst new file mode 100644 index 0000000000..ab6725f596 --- /dev/null +++ b/Misc/NEWS.d/next/Library/029.bpo-29219.kxui7t.rst @@ -0,0 +1 @@ +Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances. diff --git a/Misc/NEWS.d/next/Library/030.bpo-29335._KC7IK.rst b/Misc/NEWS.d/next/Library/030.bpo-29335._KC7IK.rst new file mode 100644 index 0000000000..79e1748229 --- /dev/null +++ b/Misc/NEWS.d/next/Library/030.bpo-29335._KC7IK.rst @@ -0,0 +1,2 @@ +Fix subprocess.Popen.wait() when the child process has exited to a stopped +instead of terminated state (ex: when under ptrace). diff --git a/Misc/NEWS.d/next/Library/031.bpo-29354.TH2vMX.rst b/Misc/NEWS.d/next/Library/031.bpo-29354.TH2vMX.rst new file mode 100644 index 0000000000..f4ce088591 --- /dev/null +++ b/Misc/NEWS.d/next/Library/031.bpo-29354.TH2vMX.rst @@ -0,0 +1 @@ +Fixed inspect.getargs() for parameters which are cell variables. diff --git a/Misc/NEWS.d/next/Library/032.bpo-29110.IBWuZ2.rst b/Misc/NEWS.d/next/Library/032.bpo-29110.IBWuZ2.rst new file mode 100644 index 0000000000..da04bb13d7 --- /dev/null +++ b/Misc/NEWS.d/next/Library/032.bpo-29110.IBWuZ2.rst @@ -0,0 +1,2 @@ +Fix file object leak in aifc.open() when file is given as a filesystem path +and is not in valid AIFF format. Original patch by Anthony Zhang. diff --git a/Misc/NEWS.d/next/Library/033.bpo-27880.elFFAF.rst b/Misc/NEWS.d/next/Library/033.bpo-27880.elFFAF.rst new file mode 100644 index 0000000000..d51402d8b2 --- /dev/null +++ b/Misc/NEWS.d/next/Library/033.bpo-27880.elFFAF.rst @@ -0,0 +1,2 @@ +Fixed integer overflow in cPickle when pickle large strings or too many +objects. diff --git a/Misc/NEWS.d/next/Library/034.bpo-29861.t2ZoRK.rst b/Misc/NEWS.d/next/Library/034.bpo-29861.t2ZoRK.rst new file mode 100644 index 0000000000..c14091ab5b --- /dev/null +++ b/Misc/NEWS.d/next/Library/034.bpo-29861.t2ZoRK.rst @@ -0,0 +1,2 @@ +Release references to tasks, their arguments and their results as soon as +they are finished in multiprocessing.Pool. diff --git a/Misc/NEWS.d/next/Library/035.bpo-29942.CsGNuT.rst b/Misc/NEWS.d/next/Library/035.bpo-29942.CsGNuT.rst new file mode 100644 index 0000000000..39b8ba8f3e --- /dev/null +++ b/Misc/NEWS.d/next/Library/035.bpo-29942.CsGNuT.rst @@ -0,0 +1,2 @@ +Fix a crash in itertools.chain.from_iterable when encountering long runs of +empty iterables. diff --git a/Misc/NEWS.d/next/Library/036.bpo-27863.pPYHHI.rst b/Misc/NEWS.d/next/Library/036.bpo-27863.pPYHHI.rst new file mode 100644 index 0000000000..49f0f03d7b --- /dev/null +++ b/Misc/NEWS.d/next/Library/036.bpo-27863.pPYHHI.rst @@ -0,0 +1,2 @@ +Fixed multiple crashes in ElementTree caused by race conditions and wrong +types. diff --git a/Misc/NEWS.d/next/Library/037.bpo-30068.n4q47r.rst b/Misc/NEWS.d/next/Library/037.bpo-30068.n4q47r.rst new file mode 100644 index 0000000000..429673b83a --- /dev/null +++ b/Misc/NEWS.d/next/Library/037.bpo-30068.n4q47r.rst @@ -0,0 +1 @@ +_io._IOBase.readlines will check if it's closed first when hint is present. diff --git a/Misc/NEWS.d/next/Library/038.bpo-30011.2MLfQj.rst b/Misc/NEWS.d/next/Library/038.bpo-30011.2MLfQj.rst new file mode 100644 index 0000000000..687aaac8b9 --- /dev/null +++ b/Misc/NEWS.d/next/Library/038.bpo-30011.2MLfQj.rst @@ -0,0 +1 @@ +Fixed race condition in HTMLParser.unescape(). diff --git a/Misc/NEWS.d/next/Library/039.bpo-30061.ilxNPt.rst b/Misc/NEWS.d/next/Library/039.bpo-30061.ilxNPt.rst new file mode 100644 index 0000000000..f26dd554c2 --- /dev/null +++ b/Misc/NEWS.d/next/Library/039.bpo-30061.ilxNPt.rst @@ -0,0 +1,4 @@ +Fixed crashes in IOBase methods next() and readlines() when readline() or +next() respectively return non-sizeable object. Fixed possible other errors +caused by not checking results of PyObject_Size(), PySequence_Size(), or +PyMapping_Size(). diff --git a/Misc/NEWS.d/next/Library/040.bpo-30070.XM_B41.rst b/Misc/NEWS.d/next/Library/040.bpo-30070.XM_B41.rst new file mode 100644 index 0000000000..8e31371216 --- /dev/null +++ b/Misc/NEWS.d/next/Library/040.bpo-30070.XM_B41.rst @@ -0,0 +1 @@ +Fixed leaks and crashes in errors handling in the parser module. diff --git a/Misc/NEWS.d/next/Library/041.bpo-26293.wig0YG.rst b/Misc/NEWS.d/next/Library/041.bpo-26293.wig0YG.rst new file mode 100644 index 0000000000..ae97748164 --- /dev/null +++ b/Misc/NEWS.d/next/Library/041.bpo-26293.wig0YG.rst @@ -0,0 +1 @@ +Change resulted because of zipfile breakage. (See also: bpo-29094) diff --git a/Misc/NEWS.d/next/Library/042.bpo-30243.RHQt0v.rst b/Misc/NEWS.d/next/Library/042.bpo-30243.RHQt0v.rst new file mode 100644 index 0000000000..6037eaf255 --- /dev/null +++ b/Misc/NEWS.d/next/Library/042.bpo-30243.RHQt0v.rst @@ -0,0 +1,3 @@ +Removed the __init__ methods of _json's scanner and encoder. Misusing them +could cause memory leaks or crashes. Now scanner and encoder objects are +completely initialized in the __new__ methods. diff --git a/Misc/NEWS.d/next/Library/043.bpo-29990.HWV6KE.rst b/Misc/NEWS.d/next/Library/043.bpo-29990.HWV6KE.rst new file mode 100644 index 0000000000..7a6793095f --- /dev/null +++ b/Misc/NEWS.d/next/Library/043.bpo-29990.HWV6KE.rst @@ -0,0 +1 @@ +Fix range checking in GB18030 decoder. Original patch by Ma Lin. diff --git a/Misc/NEWS.d/next/Library/044.bpo-30342.87Qgur.rst b/Misc/NEWS.d/next/Library/044.bpo-30342.87Qgur.rst new file mode 100644 index 0000000000..83ac0a4a36 --- /dev/null +++ b/Misc/NEWS.d/next/Library/044.bpo-30342.87Qgur.rst @@ -0,0 +1,2 @@ +Fix sysconfig.is_python_build() if Python is built with Visual Studio 2008 +(VS 9.0). diff --git a/Misc/NEWS.d/next/Library/045.bpo-30329.Yb1MTr.rst b/Misc/NEWS.d/next/Library/045.bpo-30329.Yb1MTr.rst new file mode 100644 index 0000000000..d853028b60 --- /dev/null +++ b/Misc/NEWS.d/next/Library/045.bpo-30329.Yb1MTr.rst @@ -0,0 +1,3 @@ +imaplib now catchs the Windows socket WSAEINVAL error (code 10022) on +shutdown(SHUT_RDWR): An invalid operation was attempted. This error occurs +sometimes on SSL connections. diff --git a/Misc/NEWS.d/next/Library/046.bpo-30365.XVP7_M.rst b/Misc/NEWS.d/next/Library/046.bpo-30365.XVP7_M.rst new file mode 100644 index 0000000000..2fcdbac08b --- /dev/null +++ b/Misc/NEWS.d/next/Library/046.bpo-30365.XVP7_M.rst @@ -0,0 +1,3 @@ +Fixed a deprecation warning about the doctype() method of the +xml.etree.ElementTree.XMLParser class. Now it is emitted only when define +the doctype() method in the subclass of XMLParser. diff --git a/Misc/NEWS.d/next/Library/047.bpo-30365.eDwdmC.rst b/Misc/NEWS.d/next/Library/047.bpo-30365.eDwdmC.rst new file mode 100644 index 0000000000..15a5f1bbd9 --- /dev/null +++ b/Misc/NEWS.d/next/Library/047.bpo-30365.eDwdmC.rst @@ -0,0 +1,4 @@ +Running Python with the -3 option now emits deprecation warnings for +getchildren() and getiterator() methods of the Element class in the +xml.etree.cElementTree module and when pass the html argument to +xml.etree.ElementTree.XMLParser(). diff --git a/Misc/NEWS.d/next/Library/048.bpo-30363.l6J41Y.rst b/Misc/NEWS.d/next/Library/048.bpo-30363.l6J41Y.rst new file mode 100644 index 0000000000..7f25f4a155 --- /dev/null +++ b/Misc/NEWS.d/next/Library/048.bpo-30363.l6J41Y.rst @@ -0,0 +1,3 @@ +Running Python with the -3 option now warns about regular expression syntax +that is invalid or has different semantic in Python 3 or will change the +behavior in future Python versions. diff --git a/Misc/NEWS.d/next/Library/049.bpo-30375.9c8qM7.rst b/Misc/NEWS.d/next/Library/049.bpo-30375.9c8qM7.rst new file mode 100644 index 0000000000..cb0f7eb038 --- /dev/null +++ b/Misc/NEWS.d/next/Library/049.bpo-30375.9c8qM7.rst @@ -0,0 +1,3 @@ +Warnings emitted when compile a regular expression now always point to the +line in the user code. Previously they could point into inners of the re +module if emitted from inside of groups or conditionals. diff --git a/Misc/NEWS.d/next/Library/050.bpo-30003.BOl9HE.rst b/Misc/NEWS.d/next/Library/050.bpo-30003.BOl9HE.rst new file mode 100644 index 0000000000..ac449728fd --- /dev/null +++ b/Misc/NEWS.d/next/Library/050.bpo-30003.BOl9HE.rst @@ -0,0 +1 @@ +Fix handling escape characters in HZ codec. Based on patch by Ma Lin. diff --git a/Misc/NEWS.d/next/Library/051.bpo-30414.jGl1Lb.rst b/Misc/NEWS.d/next/Library/051.bpo-30414.jGl1Lb.rst new file mode 100644 index 0000000000..3bd0a23069 --- /dev/null +++ b/Misc/NEWS.d/next/Library/051.bpo-30414.jGl1Lb.rst @@ -0,0 +1,2 @@ +multiprocessing.Queue._feed background running thread do not break from main +loop on exception. diff --git a/Misc/NEWS.d/next/Library/052.bpo-30310.SAkE6e.rst b/Misc/NEWS.d/next/Library/052.bpo-30310.SAkE6e.rst new file mode 100644 index 0000000000..d6e8448d55 --- /dev/null +++ b/Misc/NEWS.d/next/Library/052.bpo-30310.SAkE6e.rst @@ -0,0 +1 @@ +tkFont now supports unicode options (e.g. font family). diff --git a/Misc/NEWS.d/next/Library/053.bpo-29960.g0wr3r.rst b/Misc/NEWS.d/next/Library/053.bpo-29960.g0wr3r.rst new file mode 100644 index 0000000000..0b37a4b96d --- /dev/null +++ b/Misc/NEWS.d/next/Library/053.bpo-29960.g0wr3r.rst @@ -0,0 +1,2 @@ +Preserve generator state when _random.Random.setstate() raises an exception. +Patch by Bryan Olson. diff --git a/Misc/NEWS.d/next/Library/054.bpo-30378.R_19_5.rst b/Misc/NEWS.d/next/Library/054.bpo-30378.R_19_5.rst new file mode 100644 index 0000000000..5994abe142 --- /dev/null +++ b/Misc/NEWS.d/next/Library/054.bpo-30378.R_19_5.rst @@ -0,0 +1,2 @@ +Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6 +addresses. diff --git a/Misc/NEWS.d/next/Library/055.bpo-30418.EwISQm.rst b/Misc/NEWS.d/next/Library/055.bpo-30418.EwISQm.rst new file mode 100644 index 0000000000..43e149daff --- /dev/null +++ b/Misc/NEWS.d/next/Library/055.bpo-30418.EwISQm.rst @@ -0,0 +1,2 @@ +On Windows, subprocess.Popen.communicate() now also ignore EINVAL on +stdin.write() if the child process is still running but closed the pipe. diff --git a/Misc/NEWS.d/next/Library/056.bpo-28994.9vzun1.rst b/Misc/NEWS.d/next/Library/056.bpo-28994.9vzun1.rst new file mode 100644 index 0000000000..80de944b4e --- /dev/null +++ b/Misc/NEWS.d/next/Library/056.bpo-28994.9vzun1.rst @@ -0,0 +1,2 @@ +The traceback no longer displayed for SystemExit raised in a callback +registered by atexit. diff --git a/Misc/NEWS.d/next/Library/061.bpo-30746.7drQI0.rst b/Misc/NEWS.d/next/Library/061.bpo-30746.7drQI0.rst new file mode 100644 index 0000000000..94803bb5f1 --- /dev/null +++ b/Misc/NEWS.d/next/Library/061.bpo-30746.7drQI0.rst @@ -0,0 +1,2 @@ +Prohibited the '=' character in environment variable names in +``os.putenv()`` and ``os.spawn*()``. diff --git a/Misc/NEWS.d/next/Library/062.bpo-29169.8ypApm.rst b/Misc/NEWS.d/next/Library/062.bpo-29169.8ypApm.rst new file mode 100644 index 0000000000..96d066d41d --- /dev/null +++ b/Misc/NEWS.d/next/Library/062.bpo-29169.8ypApm.rst @@ -0,0 +1 @@ +Update zlib to 1.2.11. diff --git a/Misc/NEWS.d/next/Security/057.bpo-29591.ExKblw.rst b/Misc/NEWS.d/next/Security/057.bpo-29591.ExKblw.rst new file mode 100644 index 0000000000..7394ac2ff0 --- /dev/null +++ b/Misc/NEWS.d/next/Security/057.bpo-29591.ExKblw.rst @@ -0,0 +1,5 @@ +.. original section: Library + +Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and +CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more +information. diff --git a/Misc/NEWS.d/next/Security/058.bpo-30500.j5KrEp.rst b/Misc/NEWS.d/next/Security/058.bpo-30500.j5KrEp.rst new file mode 100644 index 0000000000..5d47c5d2ec --- /dev/null +++ b/Misc/NEWS.d/next/Security/058.bpo-30500.j5KrEp.rst @@ -0,0 +1,6 @@ +.. original section: Library + +Fix urllib.splithost() to correctly parse fragments. For example, +``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the +``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an +authentification (``login@host``). diff --git a/Misc/NEWS.d/next/Security/059.bpo-30694.WkMWM_.rst b/Misc/NEWS.d/next/Security/059.bpo-30694.WkMWM_.rst new file mode 100644 index 0000000000..ebbd359e63 --- /dev/null +++ b/Misc/NEWS.d/next/Security/059.bpo-30694.WkMWM_.rst @@ -0,0 +1,10 @@ +.. original section: Library + +Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security +vulnerabilities including: CVE-2017-9233 (External entity infinite loop +DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix +regression bugs from 2.2.0's fix to CVE-2016-0718) and CVE-2012-0876 +(Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use os- +specific entropy sources like getrandom) doesn't impact Python, since Python +already gets entropy from the OS to set the expat secret using +``XML_SetHashSalt()``. diff --git a/Misc/NEWS.d/next/Security/060.bpo-30730.rJsyTH.rst b/Misc/NEWS.d/next/Security/060.bpo-30730.rJsyTH.rst new file mode 100644 index 0000000000..008aa706d4 --- /dev/null +++ b/Misc/NEWS.d/next/Security/060.bpo-30730.rJsyTH.rst @@ -0,0 +1,4 @@ +.. original section: Library + +Prevent environment variables injection in subprocess on Windows. Prevent +passing other environment variables and command arguments. diff --git a/Misc/NEWS.d/next/Tests/001.bpo-15083.Tz3ZZm.rst b/Misc/NEWS.d/next/Tests/001.bpo-15083.Tz3ZZm.rst new file mode 100644 index 0000000000..3554d9779b --- /dev/null +++ b/Misc/NEWS.d/next/Tests/001.bpo-15083.Tz3ZZm.rst @@ -0,0 +1 @@ +Convert ElementTree doctests to unittests. diff --git a/Misc/NEWS.d/next/Tests/002.bpo-28087.m8dc4R.rst b/Misc/NEWS.d/next/Tests/002.bpo-28087.m8dc4R.rst new file mode 100644 index 0000000000..5e33e56ad4 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/002.bpo-28087.m8dc4R.rst @@ -0,0 +1,3 @@ +Skip test_asyncore and test_eintr poll failures on macOS. Skip some tests of +select.poll when running on macOS due to unresolved issues with the +underlying system poll function on some macOS versions. diff --git a/Misc/NEWS.d/next/Tests/003.bpo-30197.hajYvd.rst b/Misc/NEWS.d/next/Tests/003.bpo-30197.hajYvd.rst new file mode 100644 index 0000000000..f447c7a598 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/003.bpo-30197.hajYvd.rst @@ -0,0 +1,5 @@ +Enhanced function swap_attr() in the test.test_support module. It now works +when delete replaced attribute inside the with statement. The old value of +the attribute (or None if it doesn't exist) now will be assigned to the +target of the "as" clause, if there is one. Also backported function +swap_item(). diff --git a/Misc/NEWS.d/next/Tests/004.bpo-30207.EiRhGi.rst b/Misc/NEWS.d/next/Tests/004.bpo-30207.EiRhGi.rst new file mode 100644 index 0000000000..8461ed4318 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/004.bpo-30207.EiRhGi.rst @@ -0,0 +1,5 @@ +To simplify backports from Python 3, the test.test_support module was +converted into a package and renamed to test.support. The +test.script_helper module was moved into the test.support package. Names +test.test_support and test.script_helper are left as aliases to test.support +and test.support.script_helper. diff --git a/Misc/NEWS.d/next/Tests/005.bpo-30223.TYC9rA.rst b/Misc/NEWS.d/next/Tests/005.bpo-30223.TYC9rA.rst new file mode 100644 index 0000000000..614a2e1b69 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/005.bpo-30223.TYC9rA.rst @@ -0,0 +1,3 @@ +To unify running tests in Python 2.7 and Python 3, the test package can be +run as a script. This is equivalent to running the test.regrtest module as +a script. diff --git a/Misc/NEWS.d/next/Tests/006.bpo-30236.vOYTDq.rst b/Misc/NEWS.d/next/Tests/006.bpo-30236.vOYTDq.rst new file mode 100644 index 0000000000..5b60803b17 --- /dev/null +++ b/Misc/NEWS.d/next/Tests/006.bpo-30236.vOYTDq.rst @@ -0,0 +1 @@ +Backported test.regrtest options -m/--match and -G/--failfast from Python 3. diff --git a/Misc/NEWS.d/next/Tests/007.bpo-11790.0actZf.rst b/Misc/NEWS.d/next/Tests/007.bpo-11790.0actZf.rst new file mode 100644 index 0000000000..9a29e2d93b --- /dev/null +++ b/Misc/NEWS.d/next/Tests/007.bpo-11790.0actZf.rst @@ -0,0 +1 @@ +Fix sporadic failures in test_multiprocessing.WithProcessesTestCondition.