from my computer

Embed Size (px)

Citation preview

  • 7/28/2019 from my computer

    1/134

    Python News+++++++++++

    What's New in Python 2.7.3 final?=================================

    *Release date: 2012-04-09*

    Library-------

    - Issue #6884: Fix long-standing bugs with MANIFEST.in parsing in distutilson Windows.

    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 adenial of service due to hash collisions. Patch by David Malcolm with somemodifications 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 objectfails. Patch by Suman Saha.

    - Issue #13703: oCERT-2011-003: add -R command-line option and PYTHONHASHSEEDenvironment variable, to provide an opt-in way to protect against denial ofservice attacks due to hash collisions within the dict and set types. Patchby David Malcolm, based on work by Victor Stinner.

    - Issue #11235: Fix OverflowError when trying to import a source file whosemodification time doesn't fit in a 32-bit timestamp.

    - Issue #11638: Unicode strings in 'name' and 'version' no longer causeUnicodeDecodeErrors.

    - Fix the fix for issue #12149: it was incorrect, although it had the sideeffect of appearing to resolve the issue. Thanks to Mark Shannon fornoticing.

    - Issue #13546: Fixed an overflow issue that could crash the intepreter whencalling sys.setrecursionlimit((1

  • 7/28/2019 from my computer

    2/134

    - Issue #10519: Avoid unnecessary recursive function calls insetobject.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 compilerwarnings. Patch by Josh Triplett and Petri Lehtinen.

    - Issue #7833: Extension modules built using distutils on Windows will nolonger include a "manifest" to prevent them failing at import time in someembedded situations.

    - Issue #13186: Fix __delitem__ on old-style instances when invoked throughPySequence_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 samename than a Python module (e.g. "__init__.py"): don't close the file twice.

    - Issue #12973: Fix overflow checks that invoked undefined behaviour inint.__pow__. These overflow checks were causing int.__pow__ to produceincorrect results with recent versions of Clang, as a result of thecompiler optimizing the check away. Also fix similar overflow checksin list_repeat (listobject.c) and islice_next (itertoolsmodule.c). Thesebugs caused test failures with recent versions of Clang.

    - Issue #12266: Fix str.capitalize() to correctly uppercase/lowercasetitlecased and cased non-letter characters.

    - Issues #12610 and #12609: Verify that user generated AST has correct stringand identifier types before compiling.

    - Issue #11627: Fix segfault when __new__ on a exception returns anon-exception class.

    - Issue #12149: Update the method cache after a type's dictionnary getscleared by the garbage collector. This fixes a segfault when an instanceand its type get caught in a reference cycle, and the instance'sdeallocator calls one of the methods on the type (e.g. when subclassingIOBase). Diagnosis and patch by Davide Rizzo.

    - Issue #12501: Remove Py3k warning for callable. callable() is supportedagain in Python 3.2.

    - Issue #9611, #9015: FileIO.read(), FileIO.readinto(), FileIO.write() andos.write() clamp the length to INT_MAX on Windows.

    - Issue #1195: my_fgets() now always clears errors before calling fgets(). Fixthe 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 portdelimiter in URLs.

  • 7/28/2019 from my computer

    3/134

    - dict_proxy objects now display their contents rather than just the classname.

    Library-------

    - Issue #8033: sqlite3: Fix 64-bit integer handling in user functionson 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 inSimpleXMLRPCServer 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 aconstruct 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 causedthe wrong library name to be returned has been fixed.

    - Issue #1326113: distutils' build_ext command --libraries option nowcorrectly 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 fieldswith a name that is a keyword or contains quotes. Patch by MarkoKohtala.

    - Issue #13994: Earlier partial revert of Distutils enhancements in 2.7has left two versions of customize_compiler, the original indistutils.sysconfig and another copy in distutils.ccompiler, with someparts of distutils calling one and others using the other.Complete the revert back to only having one in distutils.sysconfig asis the case in 3.x.

    - Issue #13590: On OS X 10.7 and 10.6 with Xcode 4.2, buildingDistutils-based packages with C extension modules may fail becauseApple has removed gcc-4.2, the version used to build python.org64-bit/32-bit Pythons. If the user does not explicitly overridethe default C compiler by setting the CC environment variable,

    Distutils will now attempt to compile extension modules with clangif gcc-4.2 is required but not found. Also as a convenience, ifthe user does explicitly set CC, substitute its value as the defaultcompiler in the Distutils LDSHARED configuration variable for OS X.(Note, the python.org 32-bit-only Pythons use gcc-4.0 and the 10.4uSDK, neither of which are available in Xcode 4. This change does notattempt to override settings to support their use with Xcode 4.)

    - Issue #9021: Add an introduction to the copy module documentation.

  • 7/28/2019 from my computer

    4/134

    - Issue #6005: Examples in the socket library documentation use sendall, whererelevant, instead send method.

    - Issue #10811: Fix recursive usage of cursors. Instead of crashing,raise a ProgrammingError now.

    - Issue #10881: Fix test_site failures with OS X framework builds.

    - 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 importedmodule, like hashlib. (Patch by Roger Serwy)

    - Issue #13901: Prevent test_distutils failures on OS X with --enable-shared.

    - Issue #13676: Handle strings with embedded zeros correctly in sqlite3.

    - Issue #13506: Add '' to path for IDLE Shell when started and restarted with Restart Shell.Original patches by Marco Scataglini and Roger Serwy.

    - Issue #13806: The size check in audioop decompression functions was toostrict and could reject valid compressed data. Patch by Oleg Plakhotnyuk.

    - Issue #13885: CVE-2011-3389: the _ssl module would always disable the CBCIV attack countermeasure.

    - Issue #6631: Disallow relative file paths in urllib urlopen methods.

    - Issue #13781: Prevent gzip.GzipFile from using the dummy filename provided byfile 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 BasicAuthentication. 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 byCdric Krier.

    - Issue #11870: threading: Properly reinitialize threads internal locks andcondition variables to avoid deadlocks in child processes.

    - Issue #8035: urllib: Fix a bug where the client could remain stuck after aredirection or an error.

  • 7/28/2019 from my computer

    5/134

    - Issue #4625: If IDLE cannot write to its recent file or breakpointfiles, display a message popup and continue rather than crash.(original patch by Roger Serwy)

    - tarfile.py: Correctly detect bzip2 compressed streams with blocksizesother 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 randomseed for filename generation in the tempfile module. Patch by BrianHarring.

    - Issue #13458: Fix a memory leak in the ssl module when decoding acertificate 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 israised 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 textnode when it is the only child of an element. Initial patch by DanKenigsberg.

    - Issue #8793: Prevent IDLE crash when given strings with invalid hex escapesequences.

    - 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 indefinitelywhen called with a timeout. Patch by Arnaud Ysmal.

    - Issue #3067: Enhance the documentation and docstring oflocale.setlocale().

    - Issue #13254: Fix Maildir initialization so that maildir contentsare 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 evenwhen reporthook is None. Patch by Jyrki Pulliainen.

    - Issue #13296: Fix IDLE to clear compile __future__ flags on shell restart.(Patch by Roger Serwy)

  • 7/28/2019 from my computer

    6/134

    - Issue #7334: close source files on ElementTree.parse and iterparse.

    - Issue #13232: logging: Improved logging of exceptions in the presence ofmultiple encodings.

    - Issue #10332: multiprocessing: fix a race condition when a Pool is closedbefore all tasks have completed.

    - Issue #1548891: The cStringIO.StringIO() constructor now encodes unicodearguments with the system default encoding just like the write() methoddoes, instead of converting it to a raw buffer. This also fixes handling ofunicode 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 andsemicolons together. Patch by Ben Darnell and Petri Lehtinen.

    - Issue #6090: zipfile raises a ValueError when a document with a timestampearlier than 1980 is provided. Patch contributed by Petri Lehtinen.

    - Issue #13194: zlib.compressobj().copy() and zlib.decompressobj().copy() arenow available on Windows.

    - Issue #13114: Fix the distutils commands check and register when thelong description is a Unicode string with non-ASCII characters.

    - Issue #7367: Fix pkgutil.walk_paths to skip directories whosecontents 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 theirmetaclass is registered with copy_reg. Patch by Nicolas M. Thiry andCraig Citro.

    - Issue #13058: ossaudiodev: fix a file descriptor leak on error. Patch byThomas Jarosch.

    - Issue #12931: xmlrpclib now encodes Unicode URI to ISO-8859-1, instead offailing with a UnicodeDecodeError.

    - Issue #8933: distutils' PKG-INFO files will now correctly reportMetadata-Version: 1.1 instead of 1.0 if a Classifier or Download-URL field ispresent.

    - Issue #8286: The distutils command sdist will print a warning message insteadof crashing when an invalid path is given in the manifest template.

    - Issue #12841: tarfile unnecessarily checked the existence of numerical userand group ids on extraction. If one of them did not exist the respective idof the current user (i.e. root) was used for the file and ownershipinformation was lost.

    - Issue #10946: The distutils commands bdist_dumb, bdist_wininst and bdist_msi

  • 7/28/2019 from my computer

    7/134

    now respect a --skip-build option given to bdist.

    - Issue #12287: Fix a stack corruption in ossaudiodev module when the FD isgreater 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 toavoid them being inherited by other subprocesses.

    - Issue #4106: Fix occasional exceptions printed out by multiprocessing oninterpreter shutdown.

    - Issue #11657: Fix sending file descriptors over 255 over a multiprocessingPipe.

    - Issue #12213: Fix a buffering bug with interleaved reads and writes thatcould appear on io.BufferedRandom streams.

    - Issue #12326: sys.platform is now always 'linux2' on Linux, even if Pythonis 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 leakresources (FD/zombie) when killed at the wrong time.

    - Issue #12752: Fix regression which prevented locale.normalize() fromaccepting unicode strings.

    - Issue #12683: urlparse updated to include svn as schemes that uses relativepaths. (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 withmanually-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 garbagecollections 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 usedwith 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 Turkishlocales.

  • 7/28/2019 from my computer

    8/134

    - 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-linux2directory, so that "import DLFCN" and other similar imports work onLinux 3.0.

    - Issue #7484: smtplib no longer puts around addresses in VRFY and EXPNcommands; 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 byAndreas Sthrk.

    - Issue #12502: asyncore: fix polling loop with AF_UNIX sockets.

    - Issue #4376: ctypes now supports nested structures in a endian different thanthe parent structure. Patch by Vlad Riscutia.

    - Issue #12493: subprocess: Popen.communicate() now also handles EINTR errorsif the process has only one pipe.

    - Issue #12467: warnings: fix a race condition if a warning is emitted atshutdown, if globals()['__file__'] is None.

    - Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed bythe garbage collector while the Heap lock is held.

    - Issue #9516: On Mac OS X, change Distutils to no longer globally attempt tocheck or set the MACOSX_DEPLOYMENT_TARGET environment variable for theinterpreter process. This could cause failures in non-Distutils subprocessesand was unreliable since tests or user programs could modify the interpreterenvironment after Distutils set it. Instead, have Distutils set the thedeployment target only in the environment of each build subprocess. It isstill possible to globally override the default by setting

    MACOSX_DEPLOYMENT_TARGET before launching the interpreter; its value must begreater or equal to the default value, the value with which the interpreterwas built.

    - Issue #11802: The cache in filecmp now has a maximum size of 100 so thatit won't grow without bound.

    - Issue #12404: Remove C89 incompatible code from mmap module. Patch by AkiraKitada.

    - Issue #11700: mailbox proxy object close methods can now be called multipletimes without error, and _ProxyFile now closes the wrapped file.

    - Issue #12133: AbstractHTTPHandler.do_open() of urllib.request closes the HTTPconnection if its getresponse() method fails with a socket error. Patchwritten by Ezio Melotti.

    - Issue #9284: Allow inspect.findsource() to find the source of doctestfunctions.

    - Issue #10694: zipfile now ignores garbage at the end of a zipfile.

    - Issue #11583: Speed up os.path.isdir on Windows by using GetFileAttributes

  • 7/28/2019 from my computer

    9/134

    instead of os.stat.

    - Issue #12080: Fix a performance issue in Decimal._power_exact that causedsome 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 asupdating 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 pointbefore the new interval takes effect. And if the user increases theinterval, it makes sure the new limit takes effect right away rather have anearly task switch before recognizing the new interval.

    - Issue #12085: Fix an attribute error in subprocess.Popen destructor if theconstructor has failed, e.g. because of an undeclared keyword argument. Patchwritten by Oleg Oshmyan.

    Extension Modules-----------------

    - 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 tojson.loads().

    - Issue #9975: socket: Fix incorrect use of flowinfo and scope_id. Patch byVilmos Nebehaj.

    - Issue #13159: FileIO, BZ2File, and the built-in file class now use alinear-time buffer growth strategy instead of a quadratic one.

    - Issue #13070: Fix a crash when a TextIOWrapper caught in a reference cyclewould be finalized after the reference to its underlying BufferedRWPair'swriter 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 thatfile descriptor was actually received.

    - Issue #12483: ctypes: Fix a crash when the destruction of a callbackobject triggers the garbage collector.

    - Issue #12950: Fix passing file descriptors in multiprocessing, underOpenIndiana/Illumos.

    - Issue #12764: Fix a crash in ctypes when the name of a Structure field is nota string.

    - Issue #9651: Fix a crash when ctypes.create_string_buffer(0) was passed tosome functions like file.write().

    - Issue #10309: Define _GNU_SOURCE so that mremap() gets the propersignature. Without this, architectures where sizeof void* != sizeof int arebroken. Patch given by Hallvard B Furuseth.

  • 7/28/2019 from my computer

    10/134

    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() andos.lchflags() are once again built on systems that support thesefunctions (*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 Martn Brugu.

    - Issue #13930: 2to3 is now able to write its converted output files to anotherdirectory tree as well as copying unchanged files and altering the filesuffix. 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 raisean error if attempting to convert a file with mixed newlines.

    - Issue #13628: python-gdb.py is now able to retrieve more frames in the Pythontraceback if Python is optimized.

    Tests-----

    - Issue #11689: Fix a variable scoping error in an sqlite3 test.Initial patch by Torsten Landschoff.

    - Issue #13304: Skip test case if user site-packages disabled (-s orPYTHONNOUSERSITE). (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 installedPython.

    - 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 temporaryfailure 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

  • 7/28/2019 from my computer

    11/134

    an overzealous DNS service (e.g. OpenDNS) redirects to a placeholderWeb site.

    - Avoid failing in test_urllibnet.test_bad_address when some overzealousDNS service (e.g. OpenDNS) resolves a non-existent domain name. The testis now skipped instead.

    - Issue #8716: Avoid crashes caused by Aqua Tk on OSX when attempting to runtest_tk or test_ttk_guionly under a username that is not currently loggedin to the console windowserver (as may be the case under buildbot or ssh).

    - Issue #12141: Install a copy of template C module file so thattest_build_ext of test_distutils is no longer silently skipped whenrun 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.9on Mac OS X. (Patch by Ronald Oussoren)

    - Issue #12057: Add tests for ISO 2022 codecs (iso2022_jp, iso2022_jp_2,iso2022_kr).

    Documentation-------------

    - Issue #13995: Fix errors in sqlite3's Cursor.rowcount documentation

    - 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 whyall 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 conveniencefunctions 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.

  • 7/28/2019 from my computer

    12/134

    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 onMac 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 bepropagated.

    - 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 filedoesn'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 notwritten 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 thestr type). Patch written by Andreas Sthrk.

    - Issue #10517: After fork(), reinitialize the TLS used by the PyGILState_*APIs, to avoid a crash with the pthread implementation in RHEL 5. Patchby Charles-Franois Natali.

    - Issue #6780: fix starts/endswith error message to mention that tuples areaccepted too.

    - Issue #5057: fix a bug in the peepholer that led to non-portable pyc filesbetween narrow and wide builds while optimizing BINARY_SUBSCR on non-BMPchars (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. Patchwritten 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() whenthere are many tags (e.g. when using mq). Patch by Nadeem Vawda.

    - Issue #10451: memoryview objects could allow to mutate a readable buffer.Initial patch by Ross Lagerwall.

    - Issue #10892: Don't segfault when trying to delete __abstractmethods__ from aclass.

  • 7/28/2019 from my computer

    13/134

    - Issue #8020: Avoid a crash where the small objects allocator would readnon-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 directlyrather than the Py_IsInitialized flag, avoiding a Fatal Pythonerror 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 asfloat.__divmod__ with respect to signed zeros. -4.0 % 4.0 should be0.0, not -0.0.

    - Issue #11386: bytearray.pop() now throws IndexError when the bytearray is

    empty, instead of OverflowError.Library-------

    - Issue #12590: IDLE editor window now always displays the first linewhen opening a long file. With Tk 8.5, the first line was hidden.

    - Issue #12161: Cause StringIO.getvalue() to raise a ValueError when used on aclosed 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 IOErrorif the file is closed.

    - Issue #1441530: In imaplib, use makefile() to wrap the SSL socket to avoidheap fragmentation and MemoryError with some malloc implementations.

    - Issue #12100: Don't reset incremental encoders of CJK codecs at each call totheir encode() method anymore, but continue to call the reset() method if thefinal argument is True.

    - Issue #12124: zipimport doesn't keep a reference to zlib.decompress() anymoreto be able to unload the module.

    - Issue #11088: don't crash when using F5 to run a script in IDLE on MacOSXwith Tk 8.5.

    - Issue #10154, #10090: change the normalization of UTF-8 to "UTF-8" insteadof "UTF8" in the locale module as the latter is not supported MacOSX and OpenB

    SD.

  • 7/28/2019 from my computer

    14/134

    - Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET isset in shell.

    - Issue #12050: zlib.decompressobj().decompress() now clears the unconsumed_tailattribute when called without a max_length argument.

    - Issue #12062: In the `io` module, fix a flushing bug when doing a certaintype 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 butstill within buffered data, and writing again).

    - Issue #8498: In socket.accept(), allow to specify 0 as a backlog value inorder to accept exactly one connection. Patch by Daniel Evers.

    - Issue #12012: ssl.PROTOCOL_SSLv2 becomes optional.

    - Issue #11164: Remove obsolete allnodes test from minidom test.

    - Issue #11927: SMTP_SSL now uses port 465 by default as documented. Patchby Kasun Herath.

    - Issue 11999: fixed sporadic sync failure mailbox.Maildir due to its trying todetect mtime changes by comparing to the system clock instead of to theprevious value of the mtime.

    - Issue #10684: shutil.move used to delete a folder on case insensitivefilesystems when the source and destination name where the same exceptfor 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 getaround a mmap bug with sparse files. Patch written by Steffen Daode Nurpmeso.

    - Issue #10761: Fix tarfile.extractall failure when symlinked files arepresent. Initial patch by Scott Leerssen.

    - Issue #11763: don't use difflib in TestCase.assertMultiLineEqual if thestrings 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 callsPy_AddPendingCall() for the first signal to fix a deadlock on reentrant orparallel calls. PyErr_SetInterrupt() writes also into the wake up file.

    - Issue #11875: collections.OrderedDict's __reduce__ was temporarilymutating 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 schemespecific 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.

  • 7/28/2019 from my computer

    15/134

    - 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 originalurl contains #fragment.

    - Issue #10019: Fixed regression in json module where an indent of 0 stoppedadding newlines and acted instead like 'None'.

    - Issue #5162: Treat services like frozen executables to allow child spawningfrom multiprocessing.forking on Windows.

    - Issue #4877: Fix a segfault in xml.parsers.expat while attempting to parsea closed file.

    - Issue #11830: Remove unnecessary introspection code in the decimal module.It was causing a failed import in the Turkish locale where the localesensitive str.upper() method caused a name mismatch.

    - Issue #8428: Fix a race condition in multiprocessing.Pool when terminatingworker processes: new processes would be spawned while the pool is beingshut down. Patch by Charles-Franois 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 thescheme is not HTTP, HTTPS or FTP (CVE-2011-1521).

    - Issue #11256: Fix inspect.getcallargs on functions that take only keywordarguments.

    - Issue #11696: Fix ID generation in msilib.

    - Issue #9696: Fix exception incorrectly raised by xdrlib.Packer.pack_int whentrying to pack a negative (in-range) integer.

    - Issue #11675: multiprocessing.[Raw]Array objects created from an integer sizeare now zeroed on creation. This matches the behaviour specified by thedocumentation.

    - Issue #7639: Fix short file name generation in bdist_msi.

    - Issue #11666: let help() display named tuple attributes and methodsthat start with a leading underscore.

    - Issue #11673: Fix multiprocessing Array and RawArray constructors to accept asize of type 'long', rather than only accepting 'int'.

    - Issue #10042: Fixed the total_ordering decorator to handle cross-typecomparisons that could lead to infinite recursion.

    - Issue #10979: unittest stdout buffering now works with class and modulesetup and teardown.

    - Issue #11569: use absolute path to the sysctl command in multiprocessing toensure that it will be found regardless of the shell PATH. This ensuresthat multiprocessing.cpu_count works on default installs of MacOSX.

  • 7/28/2019 from my computer

    16/134

    - Issue #11500: Fixed a bug in the os x proxy bypass code for fully qualifiedIP addresses in the proxy exception list.

    - Issue #11131: Fix sign of zero in plus and minus operations whenthe context rounding mode is ROUND_FLOOR.

    - Issue #5622: Fix curses.wrapper to raise correct exception if cursesinitialization fails.

    - Issue #11391: Writing to a mmap object created with``mmap.PROT_READ|mmap.PROT_EXEC`` would segfault instead of raising aTypeError. Patch by Charles-Franois Natali.

    - Issue #11306: mailbox in certain cases adapts to an inability to opencertain files in read-write mode. Previously it detected this bychecking for EACCES, now it also checks for EROFS.

    - Issue #11265: asyncore now correctly handles EPIPE, EBADF and EAGAIN errorson 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 inargparse.

    - Issue #4681: Allow mmap() to work on file sizes and offsets larger than4GB, even on 32-bit builds. Initial patch by Ross Lagerwall, adapted for32-bit Windows.

    - Issue #10360: In WeakSet, do not raise TypeErrors when testing formembership 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 causesa rollback, instead of leaving the mailbox partially modified.

    - Issue #8275: Fix passing of callback arguments with ctypes under Win64.Patch by Stan Mihai.

    - 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, ratherthan the currently problematic Apple-supplied one, when running with the64-/32-bit installer variant.

    - Issue #11052: Correct IDLE menu accelerators on Mac OS X for Savecommands.

  • 7/28/2019 from my computer

    17/134

    - Issue #10949: Improved robustness of rotating file handlers.

    - Issue #10955: Fix a potential crash when trying to mmap() a file past itslength. Initial patch by Ross Lagerwall.

    - Issue #10898: Allow compiling the posix module when the C library definesa symbol named FSTAT.

    - Issue #6075: IDLE on Mac OS X now works with both Carbon AquaTk andCocoa AquaTk.

    - Issue #10916: mmap should not segfault when a file is mapped using 0 aslength and a non-zero offset, and an attempt to read past the end of fileis 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.asctimefunction will now format any year when ``time.accept2dyear`` isfalse and will accept years >= 1000 otherwise. The year rangeaccepted by ``time.mktime`` and ``time.strftime`` is still systemdependent, but ``time.mktime`` will now accept full range supportedby the OS. Conversion of 2-digit years to 4-digit is deprecated.

    - Issue #10869: Fixed bug where ast.increment_lineno modified the rootnode twice.

    - Issue #7858: Raise an error properly when os.utime() fails under Windowson an existing file.

    - Issue #3839: wsgiref should not override a Content-Length header set bythe application. Initial patch by Clovis Fabricio.

    - Issue #10806, issue #9905: Fix subprocess pipes when some of the standardfile descriptors (0, 1, 2) are closed in the parent process. Initialpatch by Ross Lagerwall.

    - Issue #4662: os.tempnam(), os.tmpfile() and os.tmpnam() now raise a py3kDeprecationWarning.

    - Subclasses of collections.OrderedDict now work correctly with __missing__.

    - Issue #10753 - Characters ';', '=' and ',' in the PATH_INFO environmentvariable won't be quoted when the URI is constructed by the wsgiref.util 'srequest_uri method. According to RFC 3986, these characters can be a part ofparams 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 inemail.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 skipsthe rest of that individual file, instead of stopping processing entirely.

    - Issue #10750: The ``raw`` attribute of buffered IO objects is now read-only.

  • 7/28/2019 from my computer

    18/134

    - Issue #10242: unittest.TestCase.assertItemsEqual makes too many assumptionsabout 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 #10404: Use ctl-button-1 on OSX for the context menu in Idle.

    - Issue #9907: Fix tab handling on OSX when using editline by callingrl_initialize first, then setting our custom defaults, then reading .editrc.

    - Issue #4188: Avoid creating dummy thread objects when logging operationsfrom 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 bytesfor 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 longercauses debug mode to fail.

    - Issue #10107: Warn about unsaved files in IDLE on OSX.

    - Issue #10406: Enable Rstrip IDLE extension on OSX (just like on otherplatforms).

    - Issue #10478: Reentrant calls inside buffered IO objects (for example byway of a signal handler) now raise a RuntimeError instead of freezing thecurrent 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 anOSError exception when The OS had been told to ignore SIGCLD in our processor otherwise not wait for exiting child processes.

    - Issue #9509: argparse now properly handles IOErrors raised byargparse.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 beforetheir 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

  • 7/28/2019 from my computer

    19/134

    -----------------

    - Stop using the old interface for providing methods and attributes in the _sremodule. 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-nestedobjects using the C accelerations.

    - Issue #12017: Fix segfault in json.loads() while decoding highly-nestedobjects using the C accelerations.

    - Issue #1838: Prevent segfault in ctypes, when _as_parameter_ on a class is setto an instance of the class.

    - Issue #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.

    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 Documentationpackage had previously been installed.

    - Issue #11079: The /Applications/Python x.x folder created by the MacOS X installers now includes a link to the installed documentation.

    - Issue #11054: Allow Mac OS X installer builds to again work on 10.5 withthe system-provided Python.

    - Issue #10843: Update third-party library versions used in OS X32-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-charsupport enabled).

    - Don't run pgen twice when using make -j.

    - Issue #7716: Under Solaris, don't assume existence of /usr/xpg4/bin/grep inthe configure script but use $GREP instead. Patch by Fabian Groffen.

    - Issue #10475: Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSDand DragonFly BSD. Patch by Nicolas Joly.

    - Issue #10655: Fix the build on PowerPC on Linux with GCC when building withtimestamp profiling (--with-tsc): the preprocessor test for the PowerPCsupport now looks for "__powerpc__" as well as "__ppc__": the latter seems toonly be present on OS X; the former is the correct one for Linux with GCC.

  • 7/28/2019 from my computer

    20/134

    - Issue #1099: Fix the build on MacOSX when building a framework with pydebugusing GCC 4.0.

    IDLE----

    - Issue #11718: IDLE's open module dialog couldn't find the __init__.pyfile in a package.

    Tests-----

    - 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-Windowsplatforms. 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 afalse positive if the last directory in the path is inaccessible.

    - Issue #10822: Fix test_posix:test_getgroups failure under Solaris. Patchby Ross Lagerwall.

    - Issue #6293: Have regrtest.py echo back sys.flags. This is done by defaultin whole runs and enabled selectively using ``--header`` when running anexplicit list of tests. Original patch by Collin Winter.

    - Issue #775964: test_grp now skips YP/NIS entries instead of failing whenencountering them.

    - Issue #7110: regrtest now sends test failure reports and single-failuretracebacks 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 ofinputs before stopping. Formerly, the final state of the underlyingiterator was undefined.

  • 7/28/2019 from my computer

    21/134

    - 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 emptyXML namespace attribute is encountered.

    - Issue #1710703: Write structures for an empty ZIP archive when a ZipFile iscreated in modes 'a' or 'w' and then closed without adding any files. RaiseBadZipfile (rather than IOError) when opening small non-ZIP files.

    - Issue #4493: urllib2 adds '/' in front of path components which does notstart with '/. Common behavior exhibited by browsers and other clients.

    - Issue #6378: idle.bat now runs with the appropriate Python version rather thanthe system default. Patch by Sridhar Ratnakumar.

    - 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 theend of the file.

    - Issue #5111: IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru.

    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-----------------

  • 7/28/2019 from my computer

    22/134

    - Issue #10221: dict.pop(k) now has a key error message that includes themissing 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 thelength of the offending line.

    - Issue #9997: Don't let the name "top" have special significance in scoperesolution.

    - Issue #9862: Compensate for broken PIPE_BUF in AIX by hard codingits value as the default 512 when compiling on AIX.

    - Issue #9675: CObject use is marked as a Py3k warning, not a deprecationwarning.

    - Issue #10068: Global objects which have reference cycles with their module'sdict are now cleared again. This causes issue #7140 to appear again.

    - Issue #9869: Make long() and PyNumber_Long return something of typelong for a class whose __long__ method returns a plain int. Thisfixes 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 validthread-local storage key.

    - Issue #4947: The write() method of sys.stdout and sys.stderr uses theirencoding and errors attributes instead of using utf-8 in strict mode, to getthe same behaviour than the print statement.

    - Issue #9737: Fix a crash when trying to delete a slice or an item froma 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 frontof an array.

    - Issue #83755: Implicit set-to-frozenset conversion was not thread-safe.

    - Issue #9416: Fix some issues with complex formatting where theoutput 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 Intelcompiler.

    Library-------

    - Issue #9926: Wrapped TestSuite subclass does not get __call__ executed

  • 7/28/2019 from my computer

    23/134

    - Issue #4471: Properly shutdown socket in IMAP.shutdown(). Patch byLorenzo 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 didnot in build_clib.

    - Issue #9281: Prevent race condition with mkdir in distutils. Patch byArfrever.

    - Issue #10229: Fix caching error in gettext.

    - Issue #10252: Close file objects in a timely manner in distutils code andtests. Patch by Brian Brazil, completed by ric Araujo.

    - Issue #10311: The signal module now restores errno before returning fromits low-level signal handler. Patch by Hallvard B Furuseth.

    - Issue #10038: json.loads() on str should always return unicode (regressionfrom Python 2.6). Patch by Walter Drwald.

    - Issue #120176: Wrapped TestSuite subclass does not get __call__ executed.

    - Issue #6706: asyncore accept() method no longer raisesEWOULDBLOCK/ECONNABORTED on incomplete connection attempt but returns Noneinstead.

    - Issue #10266: uu.decode didn't close in_file explicitly when it was givenas a filename. Patch by Brian Brazil.

    - Issue #10246: uu.encode didn't close file objects explicitly when filenameswere given to it. Patch by Brian Brazil.

    - Issue #10253: FileIO leaks a file descriptor when trying to open a filefor 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 fileobject with custom buffering from two threads at once.

    - Issue #5027: The standard ``xml`` namespace is now understood byxml.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 mimetypesinitialization.

    - Issue #5117: Fixed root directory related issue on posixpath.relpath() andntpath.relpath().

    - Issue #9409: Fix the regex to match all kind of filenames, for interactivedebugging in doctests.

  • 7/28/2019 from my computer

    24/134

    - Issue #6612: Fix site and sysconfig to catch os.getcwd() error, eg. if thecurrent directory was deleted. Patch written by W. Trevor King.

    - Issue #10045: Improved performance when writing after seeking past theend 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 attemptedafter the file is closed. Patch by Jeffrey Finkelstein.

    - Issue #9042: Fix interaction of custom translation classes and caching ingettext.

    - Issue #9065: tarfile no longer uses "root" as the default for the uname andgname field.

    - Issue #1050268: parseaddr now correctly quotes double quote and backslashcharacters 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 isreceived. Now sendall() properly calls signal handlers if necessary,and retries sending if these returned successfully, including on socketswith 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 nowhandles non-blocking readinto() returning None correctly.

    - Issue #9729: Fix the signature of SSLSocket.recvfrom() andSSLSocket.sendto() to match the corresponding socket methods. Also,fix various SSLSocket methods to raise socket.error rather than anunhelpful TypeError when called on an unconnected socket. Original patchby Andrew Bennetts.

    - Issue #9826: OrderedDict.__repr__ can now handle self-referentialvalues: 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 byZipFile.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 frombecoming permanently uncollectable GC garbage. The downside is thatremoving __del__ means that the internal doubly-linked list has to wait for

  • 7/28/2019 from my computer

    25/134

    GC collection rather than freeing memory immediately when the refcnt dropsto zero.

    - Issue #9816: random.Random.jumpahead(n) did not produce a sufficientlydifferent internal state for small values of n. Fixed by salting thevalue.

    - Issue #9792: In case of connection failure, socket.create_connection()would swallow the exception and raise a new one, making it impossibleto fetch the original errno, or to filter timeout errors. Now theoriginal 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'tbe updated back after the system call. Original patch by Brian Brazil.

    - Issue #1100562: Fix deep-copying of objects derived from the list anddict types. Patch by Michele Orr and Bjrn Lindqvist.

    - Issue #7005: Fixed output of None values for RawConfigParser.write andConfigParser.write.

    - Issue #808164: Fixed socket.close to avoid references to globals, toavoid issues when socket.close is called from a __del__ method.

    - Issue #2986: difflib.SequenceMatcher gets a new parameter, autojunk, whichcan 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 offalling into recursion.

    - Issue #1194222: email.utils.parsedate now returns RFC2822 compliant fourcharacter years even if the message contains RFC822 two character years.

    - Issue #8750: Fixed MutableSet's methods to correctly handlereflexive operations, namely x -= x and x ^= x.

    - Issue #9129: smtpd.py is vulnerable to DoS attacks deriving from missingerror handling when accepting a new connection.

    - Issue #658749: asyncore's connect() method now correctly interprets winsockerrors.

    - Issue #9501: Fixed logging regressions in cleanup code.

    - Issue #9214: Set operations on KeysView or ItemsView in the collectionsmodule 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 classesare not held onto after they are deleted elsewhere.

    - Issue #9626: the view methods for collections.OrderedDict() were returningthe unordered versions inherited from dict. Those methods are nowoverridden to provide ordered views.

    - Issue #8688: MANIFEST files created by distutils now include a magic

  • 7/28/2019 from my computer

    26/134

    comment indicating they are generated. Manually maintained MANIFESTswithout this marker will not be overwritten or removed.

    - Issue #7467: when reading a file from a ZIP archive, its CRC is checkedand a BadZipfile error is raised if it doesn't match (as used to be thecase in Python 2.5 and earlier).

    - Issue #9550: a BufferedReader could issue an additional read when theoriginal read request had been satisfied, which could block indefinitelywhen the underlying raw IO channel was e.g. a socket. Report and originalpatch by Jason V. Miller.

    - Issue #9551: Don't raise TypeError when setting the value to None forSafeConfigParser instances constructed with allow_no_value == True.

    - Issue #6915: Under Windows, os.listdir() didn't release the GlobalInterpreter 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 deallocatedtimely by the cyclic GC, even if the underlying thread is still running.

    - Issue #6231: Fix xml.etree.ElementInclude to include the tail of thecurrent node.

    - Issue #6869: Fix a refcount problem in the _ctypes extension.

    - Issue5504 - ctypes should now work with systems where mmap can't bePROT_WRITE and PROT_EXEC.

    - Fix Issue8280 - urllib2's Request method will remove fragements in the url.This is how it is supposed to work, wget and curl do the same. Previousbehavior 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 asthe option character for the added 'h/help' option if prefix_charsdoes 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 fromthe command line.

    - Issue #7781: Fix restricting stats by entry counts in the pstatsinteractive browser.

    - Issue #9209: Do not crash in the pstats interactive browser on invalidregular expressions.

    - Issue #7372: Fix pstats regression when stripping paths from profiledata generated with the profile module.

    - Issue #4108: In urllib.robotparser, if there are multiple 'User-agent: *'entries, consider the first one.

  • 7/28/2019 from my computer

    27/134

    - Issue #8397: Raise an error when attempting to mix iteration and regularreads on a BZ2File object, rather than returning incorrect results.

    - Issue #5294: Fix the behavior of pdb's "continue" command when calledin the top-level debugged frame.

    - Issue #5727: Restore the ability to use readline when calling into pdbin doctests.

    - Issue #6719: In pdb, do not stop somewhere in the encodings machineryif the source file to be debugged is in a non-builtin encoding.

    - Issue #8048: Prevent doctests from failing when sys.displayhook hasbeen reassigned.

    - Issue #8015: In pdb, do not crash when an empty line is entered asa breakpoint command.

    - Issue #9448: Fix a leak of OS resources (mutexes or semaphores) whenre-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 byhttp.cookiejar.MozillaCookieJar.

    - Issue #8198: In pydoc, output all help text to the correct streamwhen 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 emptystring when Unicode was previously output.

    - Issue #8620: when a Cmd is fed input that reaches EOF without a finalnewline, 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 theparameters.

    - Issue #9032: XML-RPC client retries the request on EPIPE error. The EPIPEerror occurs when the server closes the socket and the client sends a bigXML-RPC request.

  • 7/28/2019 from my computer

    28/134

    - Issue #5542: Remove special logic that closes HTTPConnection socket on EPIPE.

    - Issue #4629: getopt raises an error if an argument ends with = whereas getoptdoesn't except a value (eg. --help= is rejected if getopt uses ['help='] longoptions).

    - Issue #7895: platform.mac_ver() no longer crashes after calling os.fork()

    - Issue #5395: array.fromfile() would raise a spurious EOFError when anI/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 wasdue to a dangerous iteration over 'locals()' in Context.__init__.

    - Fix extreme speed issue in Decimal.pow when the base is an exactpower 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 namefor tracing methods.

    Extension Modules-----------------

    - Issue #9054: Fix a crash occurring when using the pyexpat modulewith expat version 2.0.1.

    - Issue #10003: Allow handling of SIGBREAK on Windows. Fixes a regressionintroduced by issue #9324.

    - Issue #8734: Avoid crash in msvcrt.get_osfhandle() when an invalid filedescriptor 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 theinterpreter by default.

    - Issue #9324: Add parameter validation to signal.signal on Windows in orderto prevent crashes.

    - Issue #9526: Remove some outdated (int) casts that were preventingthe array module from working correctly with arrays of more than2**31 elements.

  • 7/28/2019 from my computer

    29/134

    - Fix memory leak in ssl._ssl._test_decode_cert.

    - Issue #8065: Fix memory leak in readline module (from failure tofree the result of history_get_history_state()).

    - Issue #9450: Fix memory leak in readline.replace_history_item andreadline.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 oddlycompared to other unix systems. In particular, os.getgroups() doesnot reflect any changes made using os.setgroups() but basicly alwaysreturns 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 exceptionthen 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 wellas wide (UCS4) unicode builds for both the host interpreter (embeddedinside 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 byAkira 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 filedirectly. It used to be built with bzip2's makefile.

    - Issue #941346: Improve the build process under AIX and allow Python tobe built as a shared library. Patch by Sbastien Sabl.

    - Issue #4026: Make the fcntl extension build under AIX. Patch by SbastienSabl.

    - Issue #3101: Helper functions _add_one_to_index_C() and

  • 7/28/2019 from my computer

    30/134

    _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 bySbastien 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 nameof the ``2to3`` tool, that is you can use ``2to3-2.7`` to select the Python2.7 edition of 2to3.

    - Issue #9701: The MacOSX installer can patch the shell profile to ensure thatthe "bin" directory inside the framework is on the shell's search path. Thisfeature now also supports the ZSH shell.

    - Issue #7473: avoid link errors when building a framework with a differentset of architectures than the one that is currently installed.

    Tests-----

    - Issue #9978: Wait until subprocess completes initialization. (Win32KillTestsin test_os)

    - Issue #9894: Do not hardcode ENOENT in test_subprocess.

    - Issue #9323: Make test.regrtest.__file__ absolute, this was not always thecase 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 byMichele 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 licensesto Doc/license.rst.

    - Issue #9524: Document that two CTRL* signals are meant for use onlywith os.kill.

    - Issue #9255: Document that the 'test' package is for internal Python use

  • 7/28/2019 from my computer

    31/134

    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 bygetting 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`` flagon 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 lineoption 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 crashthe interpreter with characters outside the Basic Multilingual Plane(higher than 0x10000).

    - In the unicode/str.format(), raise a ValueError when indexes to arguments aretoo large.

    Build-----

    - Issue #8854: Fix finding Visual Studio 2008 on Windows x64.

    Library

  • 7/28/2019 from my computer

    32/134

    -------

    - Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructorraises an exception.

    - Issue #8959: fix regression caused by using unmodified libffilibrary on Windows. ctypes does now again check the stack beforeand after calling foreign functions.

    - Issue #8720: fix regression caused by fix for #4050 by making getsourcefilesmart enough to find source files in the linecache.

    - Issue #8986: math.erfc was incorrectly raising OverflowError forvalues 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 arenow honored in unittest debug methods.

    Documentation-------------

    - Issues #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 thestart byte and the continuation byte(s) are now considered invalid, insteadof the number of bytes specified by the start byte.E.g.: '\xf1\x80AB'.decode('utf-8', 'replace') now returns u'\ufffdAB' andreplaces 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 ..." warningwhen turned into an exception: in this case the exception simplygets ignored.

    - Issue #8748: Fix two issues with comparisons between complex and integerobjects. (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, leadingto unpredictable exceptions when combining integers and complex objectsin sets or dicts.

  • 7/28/2019 from my computer

    33/134

    - Issue #5211: Implicit coercion for the complex type is now completelyremoved. (Coercion for arithmetic operations was already removed in 2.7alpha 4, but coercion for rich comparisons was accidentally left in.)

    - Issue #3798: Write sys.exit() message to sys.stderr to use stderr encodingand error handler, instead of writing to the C stderr file in utf-8

    - Issue #7902: When using explicit relative import syntax, don't try implicitrelative import semantics.

    - Issue #7079: Fix a possible crash when closing a file object while using itfrom another thread. Patch by Daniel Stutzbach.

    - Issue #8868: Fix that ensures that python scripts have access to theWindow 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 embeddersof the interpreter to set sys.argv without also modifying sys.path. Thishelps fix `CVE-2008-5983`_.

    Library-------

    - Issue #8302: SkipTest in unittest.TestCase.setUpClass or setUpModule is nowreported as a skip rather than an error.

    - Issue #8351: Excessively large diffs due tounittest.TestCase.assertSequenceEqual are no longer included in failurereports.

    - Issue #8899: time.struct_time now has class and atribute docstrings.

    - Issue #4487: email now accepts as charset aliases all codec aliasesaccepted by the codecs module.

    - Issue #6470: Drop UNC prefix in FixTk.

    - Issue #5610: feedparser no longer eats extra characters at the end ofa body part if the body part ends with a \r\n.

    - Issue #8833: tarfile created hard link entries with a size field != 0 bymistake.

    - Issue #1368247: set_charset (and therefore MIMEText) now automaticallyencodes a unicode _payload to the output_charset.

    - Issue #7150: Raise OverflowError if the result of adding or subtractingtimedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range.

    - Issue #6662: Fix parsing of malformatted charref (bad;), patch written byFredrik Hrd

    - Issue #8016: Add the CP858 codec.

    - Issue #3924: Ignore cookies with invalid "version" field in cookielib.

  • 7/28/2019 from my computer

    34/134

    - Issue #6268: Fix seek() method of codecs.open(), don't read or write the BOMtwice after seek(0). Fix also reset() method of codecs, UTF-16, UTF-32 andStreamWriter classes.

    - Issue #5640: Fix Shift-JIS incremental encoder for error handlers differentthan 'strict'.

    - Issue #8782: Add a trailing newline in linecache.updatecache to the last lineof files without one.

    - Issue #8729: Return NotImplemented from ``collections.Mapping.__eq__()`` whencomparing 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 simplecases.

    - Issue #8688: Distutils now recalculates MANIFEST everytime.

    - Issue #5099: The ``__del__()`` method of ``subprocess.Popen`` (and the methodsit calls) referenced global objects, causing errors to pop up duringinterpreter 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 itis not safe to load both the readline and curses modules in an application.

    - Issue #2810: Fix cases where the Windows registry API returnsERROR_MORE_DATA, requiring a re-try in order to get the complete result.

    - Issue #8674: Fixed a number of incorrect or undefined-behaviour-inducingoverflow checks in the ``audioop`` module.

    Tests-----

    - Issue #8889: test_support.transient_internet rewritten so that the newchecks 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-packagesinstead of two in a non-framework build.

    Build-----

    - Display installer warning that Windows 2000 won't be supported in futurereleases.

    - Issues #1759169, #8864: Drop _XOPEN_SOURCE on Solaris, define it for

  • 7/28/2019 from my computer

    35/134

    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: anynon-float non-integer argument is now converted to an integer (if possible)using its __int__ method. Previously, only small arguments were treated thisway; 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 searchingfor 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 noticeablebenefit compared to the dynamic memory allocation fallback. Patch byCharles-Franois Natali.

    - Issue #8417: Raise an OverflowError when an integer larger than sys.maxsize ispassed 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 buildson 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 thezlib itself doesn't give any detailed explanation.

    - Issue #8571: Fix an internal error when compressing or decompressing a chunklarger 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 errormessages when accessing undefined class attributes because of the cheapinheritance with the underlying socket object. The cheap inheritance has beendeprecated.

  • 7/28/2019 from my computer

    36/134

    - Issue #4265: ``shutil.copyfile()`` was leaking file descriptors when diskfills. Patch by Tres Seaver.

    - Issue #7755: Use an unencumbered audio file for tests.

    - Issue #8621: ``uuid.uuid4()`` returned the same sequence of values in theparent and any children created using ``os.fork`` on Mac OS X 10.6.

    - Issue #8313: ``traceback.format_exception_only()`` encodes unicode message toASCII with backslashreplace error handler if ``str(value)`` failed.

    - Issue #8567: Fix precedence of signals in Decimal module: when a Decimaloperation raises multiple signals and more than one of those signals istrapped, the specification determines the order in which the signals should behandled. In many cases this order wasn't being followed, leading to the wrongPython exception being raised.

    - Issue #7865: The close() method of :mod:`io` objects should not swallowexceptions 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 withgc.DEBUG_STATS.

    - Issue #8354: The siginterrupt setting is now preserved for all signals, notjust 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 differencebetween 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 whenmode="w|" is used.

    - Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions ofthe Linux kernel. Patch by Yaniv Aknin.

    - Issue #6312: Fix http HEAD request when the transfer encoding is chunked. Itshould correctly return an empty response now.

    - Issue #7490: To facilitate sharing of doctests between 2.x and 3.x testsuites, the ``IGNORE_EXCEPTION_DETAIL`` directive now also ignores the modulelocation of the raised exception. Based on initial patch by Lennart Regebro.

    - Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline beforethe 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 SridharRatnakumar.

    - Issue #6656: Fix locale.format_string to handle escaped percents and mappings.

  • 7/28/2019 from my computer

    37/134

    - Issue #2302: Fix a race condition in SocketServer.BaseServer.shutdown, wherethe method could block indefinitely if called just before the event loopstarted running. This also fixes the occasional freezes witnessed intest_httpservers.

    - Issue #5103: SSL handshake would ignore the socket timeout and blockindefinitely if the other end didn't respond.

    - The do_handshake() method of SSL objects now adjusts the blocking mode of theSSL 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 underlyingsocket from being closed until all objects get truely destroyed.

    - Issue #7943: Fix circular reference created when instantiating an SSL socket.Initial patch by Pter Szab.

    - Issue #8451: Syslog module now uses basename(sys.argv[0]) instead of thestring "python" as the *ident*. openlog() arguments are all optional andkeywords.

    - Issue #8108: Fix the unwrap() method of SSL objects when the socket has a

    non-infinite timeout. Also make that method friendlier with applicationswanting to continue using the socket in clear-text mode, by disablingOpenSSL's internal readahead. Thanks to Darryl Miles for guidance.

    - Issue #8484: Load all ciphers and digest algorithms when initializing the _sslextension, such that verification of some SSL certificates doesn't failbecause 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 connectionsresulting from PORT/EPRT commands.

    - Issue #8463: Add missing reference to bztar in shutil's documentation.

    - Issue #8438: Remove reference to the missing "surrogateescape" encoding errorhandler from the new IO library.

    - Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response codeas 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 theavailable cipher list. Helps fix test_ssl with OpenSSL 1.0.0.

    - Issue #2987: RFC 2732 support for urlparse (IPv6 addresses). Patch by TonyLocke and Hans Ulrich Niedermann.

    - Issue #7585: difflib context and unified diffs now place a tab betweenfilename and date, conforming to the 'standards' they were originally designedto follow. This improves compatibility with patch tools.

    - Issue #7472: Fixed typo in email.encoders module; messages using ISO-2022character sets will now consistently use a Content-Transfer-Encoding of 7bitrather than sometimes being marked as 8bit.

  • 7/28/2019 from my computer

    38/134

    - Issue #8330: Fix expected output in test_gdb.

    - Issue #8374: Update the internal alias table in the :mod:`locale` module tocover 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 does no longer check the stack before and after calling aforeign function. This allows to use the unmodified libffi library.

    Tests-----

    - Issue #8672: Add a zlib test ensuring that an incomplete stream can be handledby a decompressor object without errors (it returns incomplete uncompresseddata).

    - Issue #8490: asyncore now has a more solid test suite which actually tests itsAPI.

    - Issue #8576: Remove use of find_unused_port() in test_smtplib andtest_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 ofSSL shutdowns.

    Build-----

    - Issue #8625: Turn off optimization in ``--with-pydebug`` builds with gcc.(Optimization was unintentionally turned on in gcc --with-pydebug builds in2.7 beta1 as a result of the issue #1628484 fix, combined with autoconf'sstrange 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 yourhome 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?================================

  • 7/28/2019 from my computer

    39/134

    *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