Core and Builtins
-----------------
-Library
--------
-
-- Issue #11442: Add a charset parameter to the Content-type in SimpleHTTPServer
- to avoid XSS attacks.
+- 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 #11662: Make urllib and urllib2 ignore redirections if the
- scheme is not HTTP, HTTPS or FTP (CVE-2011-1521).
+- 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.
-What's New in Python 2.6.6 rc 2?
-================================
+- 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.
-*Release date: 2010-08-16*
+- Issue #10451: memoryview objects could allow to mutate a readable buffer.
+ Initial patch by Ross Lagerwall.
-Library
--------
+- Issue #10892: Don't segfault when trying to delete __abstractmethods__ from a
+ class.
-- Issue #9600: Don't use relative import for _multiprocessing on Windows.
+- 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 #8688: Revert regression introduced in 2.6.6rc1 (making Distutils
- recalculate MANIFEST every time).
+- Issue #11004: Repaired edge case in deque.count().
-- Issue #5798: Handle select.poll flag oddities properly on OS X.
- This fixes test_asynchat and test_smtplib failures on OS X.
+- Issue #8278: On Windows and with a NTFS filesystem, os.stat() and os.utime()
+ can now handle dates after 2038.
-- Issue #9543: Fix regression in socket.py introduced in Python 2.6.6 rc 1
- in r83624.
+- 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__.
-Extension Modules
------------------
+- Issue #10674: Remove unused 'dictmaker' rule from grammar.
-- Issue #7567: Don't call `setupterm' twice.
+- 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.
-Tests
------
+- Issue #11386: bytearray.pop() now throws IndexError when the bytearray is
+ empty, instead of OverflowError.
-- Issue #9568: Fix test_urllib2_localnet on OS X 10.3.
+Library
+-------
-- Issue #9145: Fix test_coercion failure in refleak runs.
++- Issue #11442: Add a charset parameter to the Content-type in SimpleHTTPServer
++ to avoid XSS attacks.
+
-- Issue #8433: Fix test_curses failure caused by newer versions of
- ncurses returning ERR from getmouse() when there are no mouse
- events available.
+- 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.
-What's New in Python 2.6.6 rc 1?
-================================
+- Issue #11474: Fix the bug with url2pathname() handling of '/C|/' on Windows.
+ Patch by Santoso Wijaya.
-*Release date: 2010-08-03*
+- Issue #9233: Fix json.loads('{}') to return a dict (instead of a list), when
+ _json is not available.
-Core and Builtins
------------------
+- Issue #11703: urllib2.geturl() does not return correct url when the original
+ url contains #fragment.
-- Issue #6213: Implement getstate() and setstate() methods of utf-8-sig and
- utf-16 incremental encoders.
+- Issue #10019: Fixed regression in json module where an indent of 0 stopped
+ adding newlines and acted instead like 'None'.
-- 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 #5162: Treat services like frozen executables to allow child spawning
+ from multiprocessing.forking on Windows.
-- Issue #9058: Remove assertions about INT_MAX in UnicodeDecodeError.
+- Issue #4877: Fix a segfault in xml.parsers.expat while attempting to parse
+ a closed file.
-- 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).
+- 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 #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 #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 #4108: In urllib.robotparser, if there are multiple 'User-agent: *'
- entries, consider the first one.
+- Issue #7311: Fix HTMLParser to accept non-ASCII attribute values.
-- Issue #9354: Provide getsockopt() in asyncore's file_wrapper.
+- Issue #10963: Ensure that subprocess.communicate() never raises EPIPE.
-- In the unicode/str.format(), raise a ValueError when indexes to arguments are
- too large.
+- Issue #11662: Make urllib and urllib2 ignore redirections if the
+ scheme is not HTTP, HTTPS or FTP (CVE-2011-1521).
-- 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 #11256: Fix inspect.getcallargs on functions that take only keyword
+ arguments.
-- Issue #7902: When using explicit relative import syntax, don't try
- implicit relative import semantics.
+- Issue #11696: Fix ID generation in msilib.
-- Issue #7079: Fix a possible crash when closing a file object while using
- it from another thread. Patch by Daniel Stutzbach.
+- Issue #9696: Fix exception incorrectly raised by xdrlib.Packer.pack_int when
+ trying to pack a negative (in-range) integer.
-- 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 #11675: multiprocessing.[Raw]Array objects created from an integer size
+ are now zeroed on creation. This matches the behaviour specified by the
+ documentation.
-- Issue #8417: Raise an OverflowError when an integer larger than sys.maxsize
- is passed to bytearray.
+- Issue #7639: Fix short file name generation in bdist_msi.
-- Issue #8329: Don't return the same lists from select.select when no fds are
- changed.
+- Issue #11666: let help() display named tuple attributes and methods
+ that start with a leading underscore.
-- Raise a TypeError when trying to delete a T_STRING_INPLACE struct member.
+- Issue #11673: Fix multiprocessing Array and RawArray constructors to accept a
+ size of type 'long', rather than only accepting 'int'.
-- Issue #1583863: An unicode subclass can now override the __unicode__ method.
+- Issue #10042: Fixed the total_ordering decorator to handle cross-type
+ comparisons that could lead to infinite recursion.
-- Issue #7507: Quote "!" in pipes.quote(); it is special to some shells.
+- Issue #10979: unittest stdout buffering now works with class and module
+ setup and teardown.
-- Issue #7544: Preallocate thread memory before creating the thread to avoid
- a fatal error in low memory condition.
+- 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 #7820: The parser tokenizer restores all bytes in the right if
- the BOM check fails.
+- Issue #11500: Fixed a bug in the os x proxy bypass code for fully qualified
+ IP addresses in the proxy exception list.
-- Issue #7072: isspace(0xa0) is true on Mac OS X
+- Issue #11131: Fix sign of zero in plus and minus operations when
+ the context rounding mode is ROUND_FLOOR.
-C-API
------
+- Issue #5622: Fix curses.wrapper to raise correct exception if curses
+ initialization fails.
-- 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
- <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_.
+- 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.
-Library
--------
+- 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 #8447: Make distutils.sysconfig follow symlinks in the path to
- the interpreter executable. This fixes a failure of test_httpservers
- on OS X.
+- Issue #11265: asyncore now correctly handles EPIPE, EBADF and EAGAIN errors
+ on accept(), send() and recv().
-- Issue #7092: Fix the DeprecationWarnings emitted by the standard library
- when using the -3 flag. Patch by Florent Xicluna.
+- Issue #11326: Add the missing connect_ex() implementation for SSL sockets,
+ and make it work for non-blocking connects.
-- Issue #7395: Fix tracebacks in pstats interactive browser.
+- Issue #10956: Buffered I/O classes retry reading or writing after a signal
+ has arrived and the handler returned successfully.
-- Issue #1713: Fix os.path.ismount(), which returned true for symbolic links
- across devices.
+- Issue #10680: Fix mutually exclusive arguments for argument groups in
+ argparse.
-- Issue #8826: Properly load old-style "expires" attribute in http.cookies.
+- 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 #1690103: Fix initial namespace for code run with trace.main().
+- Issue #10360: In WeakSet, do not raise TypeErrors when testing for
+ membership of non-weakrefable objects.
-- Issue #5294: Fix the behavior of pdb's "continue" command when called
- in the top-level debugged frame.
+- Issue #10549: Fix pydoc traceback when text-documenting certain classes.
-- Issue #5727: Restore the ability to use readline when calling into pdb
- in doctests.
+- Issue #940286: pydoc.Helper.help() ignores input/output init parameters.
-- 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 #11171: Fix detection of config/Makefile when --prefix !=
+ --exec-prefix, which caused Python to not start.
-- Issue #8048: Prevent doctests from failing when sys.displayhook has
- been reassigned.
+- Issue #11116: any error during addition of a message to a mailbox now causes
+ a rollback, instead of leaving the mailbox partially modified.
-- Issue #8015: In pdb, do not crash when an empty line is entered as
- a breakpoint command.
+- Issue #8275: Fix passing of callback arguments with ctypes under Win64.
+ Patch by Stan Mihai.
-- Issue #7909: Do not touch paths with the special prefixes ``\\.\``
- or ``\\?\`` in ntpath.normpath().
+- 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 #5146: Handle UID THREAD command correctly in imaplib.
+- 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 #5147: Fix the header generated for cookie files written by
- http.cookiejar.MozillaCookieJar.
+- Issue #11052: Correct IDLE menu accelerators on Mac OS X for Save
+ commands.
-- Issue #8198: In pydoc, output all help text to the correct stream
- when sys.stdout is reassigned.
+- Issue #10949: Improved robustness of rotating file handlers.
-- Issue #1019882: Fix IndexError when loading certain hotshot stats.
+- Issue #10955: Fix a potential crash when trying to mmap() a file past its
+ length. Initial patch by Ross Lagerwall.
-- Issue #8471: In doctest, properly reset the output stream to an empty
- string when Unicode was previously output.
+- Issue #10898: Allow compiling the posix module when the C library defines
+ a symbol named FSTAT.
-- Issue #8397: Raise an error when attempting to mix iteration and regular
- reads on a BZ2File object, rather than returning incorrect results.
+- Issue #6075: IDLE on Mac OS X now works with both Carbon AquaTk and
+ Cocoa AquaTk.
-- 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 #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 #7066: archive_util.make_archive now restores the cwd if an error is
- raised. Initial patch by Ezio Melotti.
+- Issue #10875: Update Regular Expression HOWTO; patch by 'SilentGhost'.
-- Issue #5006: Better handling of unicode byte-order marks (BOM) in the io
- library. This means, for example, that opening an UTF-16 text file in append
- mode doesn't add a BOM at the end of the file if the file isn't empty.
+- Issue #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 #3704: cookielib was not properly handling URLs with a / in the
- parameters.
+- Issue #10869: Fixed bug where ast.increment_lineno modified the root
+ node twice.
-- 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 #7858: Raise an error properly when os.utime() fails under Windows
+ on an existing file.
-- Issue #7895: platform.mac_ver() no longer crashes after calling os.fork()
+- Issue #3839: wsgiref should not override a Content-Length header set by
+ the application. Initial patch by Clovis Fabricio.
-- 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 #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 #1555570: email no longer inserts extra blank lines when a \r\n
- combo crosses an 8192 byte boundary.
+- Issue #4662: os.tempnam(), os.tmpfile() and os.tmpnam() now raise a py3k
+ DeprecationWarning.
-- Issue #9164: Ensure sysconfig handles dupblice archs while building on OSX
+- Subclasses of collections.OrderedDict now work correctly with __missing__.
-- Issue #7646: The fnmatch pattern cache no longer grows without bound.
+- 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 #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__.
+- Issue #10738: Fix webbrowser.Opera.raise_opts
-- 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 #9824: SimpleCookie now encodes , and ; in values to cater to how
+ browsers actually parse cookies.
-- Issue #9130: Fix validation of relative imports in parser module.
+- Issue #1379416: eliminated a source of accidental unicode promotion in
+ email.header.Header.encode.
-- Issue #9128: Fix validation of class decorators in parser module.
+- 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 #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 #10750: The ``raw`` attribute of buffered IO objects is now read-only.
-- Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructor
- raises an exception.
+- Issue #10242: unittest.TestCase.assertItemsEqual makes too many assumptions
+ about input.
-- Issue #9125: Add recognition of 'except ... as ...' syntax to parser module.
+- Issue #10611: SystemExit should not cause a unittest test run to exit.
-- Issue #9085: email package version number bumped to its correct
- value of 4.0.2 (same as it was in 2.5).
+- Issue #6791: Limit header line length (to 65535 bytes) in http.client,
+ to avoid denial of services from the other party.
-- Issue #9075: In the ssl module, remove the setting of a ``debug`` flag
- on an OpenSSL structure.
+- Issue #10404: Use ctl-button-1 on OSX for the context menu in Idle.
-- 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 #9907: Fix tab handling on OSX when using editline by calling
+ rl_initialize first, then setting our custom defaults, then reading .editrc.
-- Issue #8924: logging: Improved error handling for Unicode in exception text.
+- Issue #4188: Avoid creating dummy thread objects when logging operations
+ from the threading module (with the internal verbose flag activated).
-- Fix codecs.escape_encode to return the correct consumed size.
+- Issue #9721: Fix the behavior of urljoin when the relative url starts with a
+ ';' character. Patch by Wes Chow.
-- Issue #6470: Drop UNC prefix in FixTk.
+- Issue #10714: Limit length of incoming request in http.server to 65536 bytes
+ for security reasons. Initial patch by Ross Lagerwall.
-- Issue #8833: tarfile created hard link entries with a size field != 0 by
- mistake.
+- Issue #9558: Fix distutils.command.build_ext with VS 8.0.
-- Issue #1368247: set_charset (and therefore MIMEText) now automatically
- encodes a unicode _payload to the output_charset.
+- Issue #10695: passing the port as a string value to telnetlib no longer
+ causes debug mode to fail.
-- Issue #7150: Raise OverflowError if the result of adding or subtracting
- timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range.
+- Issue #10107: Warn about unsaved files in IDLE on OSX.
-- Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by
- Fredrik Håård
+- Issue #10406: Enable Rstrip IDLE extension on OSX (just like on other
+ platforms).
-- 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 #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 #3924: Ignore cookies with invalid "version" field in cookielib.
+- Issue #10497: Fix incorrect use of gettext in argparse.
-- 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 #10464: netrc now correctly handles lines with embedded '#' characters.
-- Issue #5640: Fix Shift-JIS incremental encoder for error handlers different
- than strict
+- 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 #8782: Add a trailing newline in linecache.updatecache to the last line
- of files without one.
+- Issue #9509: argparse now properly handles IOErrors raised by
+ argparse.FileType.
-- Issue #8729: Return NotImplemented from collections.Mapping.__eq__ when
- comparing to a non-mapping.
+- Issue #9348: Raise an early error if argparse nargs and metavar don't match.
-- Issue #5918: Fix a crash in the parser module.
+- Issue #8982: Improve the documentation for the argparse Namespace object.
-- Issue #8688: Distutils now recalculates MANIFEST everytime.
+- Issue #9343: Document that argparse parent parsers must be configured before
+ their children.
-- Issue #7640: In the new `io` module, fix relative seek() for buffered
- readable streams when the internal buffer isn't empty. Patch by Pascal
- Chambon.
+- Issue #9026: Fix order of argparse sub-commands in help messages.
-- Issue #5099: subprocess.Popen.__del__ no longer references global objects,
- leading to issues during interpreter shutdown.
+- Issue #9347: Fix formatting for tuples in argparse type= error messages.
-- Issue #8681: Make the zlib module's error messages more informative when
- the zlib itself doesn't give any detailed explanation.
+Extension Modules
+-----------------
-- Issue #8674: Fixed a number of incorrect or undefined-behaviour-inducing
- overflow checks in the audioop module.
+- Issue #1838: Prevent segfault in ctypes, when _as_parameter_ on a class is set
+ to an instance of the class.
-- 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 #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
-- Issue #8573: asyncore _strerror() function might throw ValueError.
+Build
+-----
-- 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.
+- Issue #11411: Fix 'make DESTDIR=' with a relative destination.
-- Issue #4265: shutil.copyfile() was leaking file descriptors when disk fills.
- Patch by Tres Seaver.
+- Issue #10709: Add updated AIX notes in Misc/README.AIX.
-- Issue #8621: uuid.uuid4() returned the same sequence of values in the
- parent and any children created using ``os.fork`` on MacOS X 10.6.
+- Issue #11184: Fix large-file support on AIX.
-- Issue #8313: traceback.format_exception_only() encodes unicode message to
- ASCII with backslashreplace error handler if str(value) failed
+- Issue #941346: Fix broken shared library build on AIX.
-- 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 #11268: Prevent Mac OS X Installer failure if Documentation
+ package had previously been installed.
-- 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. Initial patch by Pascal Chambon.
+- Issue #11079: The /Applications/Python x.x folder created by the Mac
+ OS X installers now includes a link to the installed documentation.
-- Issue #8581: logging: removed errors raised when closing handlers twice.
+- Issue #11054: Allow Mac OS X installer builds to again work on 10.5 with
+ the system-provided Python.
-- Issue #4687: Fix accuracy of garbage collection runtimes displayed with
- gc.DEBUG_STATS.
+- 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).
-- Issue #8354: The siginterrupt setting is now preserved for all signals,
- not just SIGCHLD.
+- Don't run pgen twice when using make -j.
-- 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 #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 #8464: tarfile no longer creates files with execute permissions set
- when mode="w|" is used.
+- Issue #10475: Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD
+ and DragonFly BSD. Patch by Nicolas Joly.
-- Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions
- of the Linux kernel. Patch by Yaniv Aknin.
+- 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 #6312: Fixed http HEAD request when the transfer encoding is chunked.
- It should correctly return an empty response now.
+- Issue #1099: Fix the build on MacOSX when building a framework with pydebug
+ using GCC 4.0.
-- Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline
- before the certificate footer. Patch by Kyle VanderBeek.
+IDLE
+----
-- Issue #8549: Fix compiling the _ssl extension under AIX. Patch by
- Sridhar Ratnakumar.
+- Issue #11718: IDLE's open module dialog couldn't find the __init__.py
+ file in a package.
-- 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.
+Tests
+-----
-- Issue #5103: SSL handshake would ignore the socket timeout and block
- indefinitely if the other end didn't respond.
+- Issue #11719: Fix message about unexpected test_msilib skip on non-Windows
+ platforms. Patch by Nadeem Vawda.
-- The do_handshake() method of SSL objects now adjusts the blocking mode of
- the SSL structure if necessary (as other methods already do).
+- Issue #7108: Fix test_commands to not fail when special attributes ('@'
+ or '.') appear in 'ls -l' output.
-- Issue #5238: Calling makefile() on an SSL object would prevent the
- underlying socket from being closed until all objects get truely destroyed.
+- 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 #7943: Fix circular reference created when instantiating an SSL
- socket. Initial patch by Péter Szabó.
+- Issue #10822: Fix test_posix:test_getgroups failure under Solaris. Patch
+ by Ross Lagerwall.
-- 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 #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 #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 #775964: test_grp now skips YP/NIS entries instead of failing when
+ encountering them.
-- Issue #4814: timeout parameter is now applied also for connections resulting
- from PORT/EPRT commands.
+- Issue #7110: regrtest now sends test failure reports and single-failure
+ tracebacks to stderr rather than stdout.
-- Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response
- code as stated in RFC-959 at chapter 5.4.
-- Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters.
+What's New in Python 2.7.1?
+===========================
-- Issue #8179: Fix macpath.realpath() on a non-existing path.
+*Release date: 2010-11-27*
-- Issue #8310: Allow dis to examine new style classes.
+Library
+-------
-- Issue #7667: Fix doctest failures with non-ASCII paths.
+- Issue #2236: distutils' mkpath ignored the mode parameter.
-- Issue #7624: Fix isinstance(foo(), collections.Callable) for old-style
- classes.
+- Fix typo in one sdist option (medata-check).
-- 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 #10323: itertools.islice() now consumes the minimum number of
+ inputs before stopping. Formerly, the final state of the underlying
+ iterator was undefined.
-- 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 #10565: The collections.Iterator ABC now checks for both
+ ``__iter__`` and ``next``.
-- Issue #6544: fix a reference leak in the kqueue implementation's error
- handling.
+- Issue #10092: Properly reset locale in calendar.Locale*Calendar classes.
-- Issue #7774: Set sys.executable to an empty string if argv[0] has been
- set to an non existent program name and Python is unable to retrieve the real
- program name
+- Issue #10459: Update CJK character names to Unicode 5.2.
-- Issue #6906: Tk should not set Unicode environment variables on Windows.
+- Issue #6098: Don't claim DOM level 3 conformance in minidom.
-- Issue #1054943: Fix unicodedata.normalize('NFC', text) for the Public Review
- Issue #29
+- Issue #10561: In pdb, clear the breakpoints by the breakpoint number.
-- Issue #7494: fix a crash in _lsprof (cProfile) after clearing the profiler,
- reset also the pointer to the current pointer context.
+- Issue #5762: Fix AttributeError raised by ``xml.dom.minidom`` when an empty
+ XML namespace attribute is encountered.
-- Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox
- with Tcl/Tk-8.5.
+- 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 #7356: ctypes.util: Make parsing of ldconfig output independent of
- the locale.
+- Issue #4493: urllib2 adds '/' in front of path components which does not
+ start with '/. Common behavior exhibited by browsers and other clients.
-Extension Modules
------------------
+- Issue #6378: idle.bat now runs with the appropriate Python version rather than
+ the system default. Patch by Sridhar Ratnakumar.
-- Fix memory leak in ssl._ssl._test_decode_cert.
+- Issue #10407: Fix one NameError in distutils.
-- Issue #9422: Fix memory leak when re-initializing a struct.Struct object.
+- Issue #10198: fix duplicate header written to wave files when writeframes()
+ is called without data.
-- 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 basicly always
- returns the same information as the id command.
+- Issue #10467: Fix BytesIO.readinto() after seeking into a position after the
+ end of the file.
- os.getgroups() can now return more than 16 groups on MacOSX.
+- Issue #5111: IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru.
-- 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.
+Build
+-----
-- Issue #7384: If the system readline library is linked against
- ncurses, do not link the readline module against ncursesw. The
- additional restriction of linking the readline and curses modules
- against the same curses library is currently not enabled.
+- Backport r83399 to allow test_distutils to pass on installed versions.
-- 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 #1303434: Generate ZIP file containing all PDBs.
-Build
+Tests
-----
-- Issue #8854: Fix finding Visual Studio 2008 on Windows x64.
+- Issue #9424: Replace deprecated assert* methods in the Python test suite.
-- Issue #3928: os.mknod() now available in Solaris, also.
+Documentation
+-------------
-- Issue #8175: --with-universal-archs=all works correctly on OSX 10.5
+- Issue #10299: List the built-in functions in a table in functions.rst.
-- Issue #6716: Quote -x arguments of compileall in MSI installer.
-- 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.
+What's New in Python 2.7.1 release candidate 1?
+===============================================
-Tests
------
+*Release date: 2010-11-13*
-- Issue #7849: Now the utility ``check_warnings`` verifies if the warnings are
- effectively raised. A new private utility ``_check_py3k_warnings`` has been
- backported to help silencing py3k warnings.
+Core and Builtins
+-----------------
-- 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 #10221: dict.pop(k) now has a key error message that includes the
+ missing key (same message d[k] returns for missing keys).
-- Issue #8629: Disable some test_ssl tests, since they give different
- results with OpenSSL 1.0.0 and higher.
+- Issue #10125: Don't segfault when the iterator passed to
+ ``file.writelines()`` closes the file.
-- Issue #8576: Remove use of find_unused_port() in test_smtplib and
- test_multiprocessing. Patch by Paul Moore.
+- Issue #10186: Fix the SyntaxError caret when the offset is equal to the
+ length of the offending line.
-- Issue #7027: regrtest.py keeps a reference to the encodings.ascii module as a
- workaround to #7140 bug
+- Issue #9997: Don't let the name "top" have special significance in scope
+ resolution.
-- 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 #9862: Compensate for broken PIPE_BUF in AIX by hard coding
+ its value as the default 512 when compiling on AIX.
-- Issue #8193: Fix test_zlib failure with zlib 1.2.4.
+- Issue #9675: CObject use is marked as a Py3k warning, not a deprecation
+ warning.
-Documentation
--------------
+- 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 #9255: Document that the 'test' package is for internal Python use
- only.
+- 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 #8909: Added the size of the bitmap used in the installer created by
- distutils' bdist_wininst. Patch by Anatoly Techtonik.
+- 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.
-What's New in Python 2.6.5?
-===========================
+- 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.
-*Release date: 2010-03-18*
+- 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.
-What's New in Python 2.6.5 rc 2?
-================================
+- Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t.
-*Release date: 2010-03-09*
+- Issue #8530: Prevent stringlib fastsearch from reading beyond the front
+ of an array.
-Core and Builtins
------------------
+- 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:
-- Issue #8089: a OS X framework build with --with-universal-archs=3-way|intel
- had no way to select a 32-bit executable.
+ - 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 #8084: fixes build issues on OSX 10.6 when targetting OSX 10.4.
+- Issue #7616: Fix copying of overlapping memoryview slices with the Intel
+ compiler.
Library
-------