]> granicus.if.org Git - python/commitdiff
Merge issue 11662 from 2.6.
authorGuido van Rossum <guido@python.org>
Tue, 29 Mar 2011 19:53:55 +0000 (12:53 -0700)
committerGuido van Rossum <guido@python.org>
Tue, 29 Mar 2011 19:53:55 +0000 (12:53 -0700)
1  2 
Lib/test/test_urllib.py
Lib/test/test_urllib2.py
Lib/urllib.py
Lib/urllib2.py
Misc/NEWS

Simple merge
Simple merge
diff --cc Lib/urllib.py
Simple merge
diff --cc Lib/urllib2.py
Simple merge
diff --cc Misc/NEWS
index bc0bb472b8e5ee3b676971ed38916fdc24809d47,19dc5e443c531de1d3d7327a6b99709486d24a93..c671107f6e8c4eb3927dc208df37012c9bd05938
+++ b/Misc/NEWS
@@@ -9,3232 -12,1364 +9,3235 @@@ What's New in Python 2.7.2
  Core and Builtins
  -----------------
  
 -Library
 --------
 +- Issue #11144: Ensure that int(a_float) returns an int whenever possible.
 +  Previously, there were some corner cases where a long was returned even
 +  though the result was within the range of an int.
 +
 +- Issue #11450: Don't truncate hg version info in Py_GetBuildInfo() when
 +  there are many tags (e.g. when using mq).  Patch by Nadeem Vawda.
  
+ - Issue #11662: Make urllib and urllib2 ignore redirections if the
+   scheme is not HTTP, HTTPS or FTP (CVE-2011-1521).
 +- Issue #10451: memoryview objects could allow to mutate a readable buffer.
 +  Initial patch by Ross Lagerwall.
  
 -What's New in Python 2.6.6 rc 2?
 -================================
 -
 -*Release date: 2010-08-16*
 +- Issue #10892: Don't segfault when trying to delete __abstractmethods__ from a
 +  class.
  
 -Library
 --------
 +- 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 #9600: Don't use relative import for _multiprocessing on Windows.
 +- Issue #11004: Repaired edge case in deque.count().
  
 -- Issue #8688: Revert regression introduced in 2.6.6rc1 (making Distutils
 -  recalculate MANIFEST every time).
 +- Issue #8278: On Windows and with a NTFS filesystem, os.stat() and os.utime()
 +  can now handle dates after 2038.
  
 -- Issue #5798: Handle select.poll flag oddities properly on OS X.
 -  This fixes test_asynchat and test_smtplib failures on OS X.
 +- Issue #4236: Py_InitModule4 now checks the import machinery directly
 +  rather than the Py_IsInitialized flag, avoiding a Fatal Python
 +  error in certain circumstances when an import is done in __del__.
  
 -- Issue #9543: Fix regression in socket.py introduced in Python 2.6.6 rc 1
 -  in r83624.
 +- Issue #10674: Remove unused 'dictmaker' rule from grammar.
  
 -Extension Modules
 ------------------
 +- Issue #10596: Fix float.__mod__ to have the same behaviour as
 +  float.__divmod__ with respect to signed zeros.  -4.0 % 4.0 should be
 +  0.0, not -0.0.
  
 -- Issue #7567: Don't call `setupterm' twice.
 +- Issue #11386: bytearray.pop() now throws IndexError when the bytearray is
 +  empty, instead of OverflowError.
  
 -Tests
 ------
 +Library
 +-------
  
 -- Issue #9568: Fix test_urllib2_localnet on OS X 10.3.
 +- Issue #11256: Fix inspect.getcallargs on functions that take only keyword
 +  arguments.
  
 -- Issue #9145: Fix test_coercion failure in refleak runs.
 +- Issue #11696: Fix ID generation in msilib.
  
 -- Issue #8433: Fix test_curses failure caused by newer versions of
 -  ncurses returning ERR from getmouse() when there are no mouse
 -  events available.
 +- Issue #9696: Fix exception incorrectly raised by xdrlib.Packer.pack_int when
 +  trying to pack a negative (in-range) integer.
  
 +- Issue #11675: multiprocessing.[Raw]Array objects created from an integer size
 +  are now zeroed on creation.  This matches the behaviour specified by the
 +  documentation.
  
 -What's New in Python 2.6.6 rc 1?
 -================================
 +- Issue #7639: Fix short file name generation in bdist_msi.
  
 -*Release date: 2010-08-03*
 +- Issue #11666: let help() display named tuple attributes and methods
 +  that start with a leading underscore.
  
 -Core and Builtins
 ------------------
 +- Issue #11673: Fix multiprocessing Array and RawArray constructors to accept a
 +  size of type 'long', rather than only accepting 'int'.
  
 -- Issue #6213: Implement getstate() and setstate() methods of utf-8-sig and
 -  utf-16 incremental encoders.
 +- Issue #10042: Fixed the total_ordering decorator to handle cross-type
 +  comparisons that could lead to infinite recursion.
  
 -- 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 #10979: unittest stdout buffering now works with class and module
 +  setup and teardown.
  
 -- Issue #9058: Remove assertions about INT_MAX in UnicodeDecodeError.
 +- 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 #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 #11500: Fixed a bug in the os x proxy bypass code for fully qualified
 +  IP addresses in the proxy exception list.
  
 -- 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 #11131: Fix sign of zero in plus and minus operations when
 +  the context rounding mode is ROUND_FLOOR.
  
 -- Issue #4108: In urllib.robotparser, if there are multiple 'User-agent: *'
 -  entries, consider the first one.
 +- Issue #5622: Fix curses.wrapper to raise correct exception if curses
 +  initialization fails.
  
 -- Issue #9354: Provide getsockopt() in asyncore's file_wrapper.
 +- 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.
  
 -- In the unicode/str.format(), raise a ValueError when indexes to arguments are
 -  too large.
 +- 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 #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 #11265: asyncore now correctly handles EPIPE, EBADF and EAGAIN errors
 +  on accept(), send() and recv().
  
 -- Issue #7902: When using explicit relative import syntax, don't try
 -  implicit relative import semantics.
 +- Issue #11326: Add the missing connect_ex() implementation for SSL sockets,
 +  and make it work for non-blocking connects.
  
 -- Issue #7079: Fix a possible crash when closing a file object while using
 -  it from another thread.  Patch by Daniel Stutzbach.
 +- Issue #10956: Buffered I/O classes retry reading or writing after a signal
 +  has arrived and the handler returned successfully.
  
 -- 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 #10680: Fix mutually exclusive arguments for argument groups in
 +  argparse.
  
 -- Issue #8417: Raise an OverflowError when an integer larger than sys.maxsize
 -  is passed to bytearray.
 +- 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 #8329: Don't return the same lists from select.select when no fds are
 -  changed.
 +- Issue #10360: In WeakSet, do not raise TypeErrors when testing for
 +  membership of non-weakrefable objects.
  
 -- Raise a TypeError when trying to delete a T_STRING_INPLACE struct member.
 +- Issue #10549: Fix pydoc traceback when text-documenting certain classes.
  
 -- Issue #1583863: An unicode subclass can now override the __unicode__ method.
 +- Issue #940286: pydoc.Helper.help() ignores input/output init parameters.
  
 -- Issue #7507: Quote "!" in pipes.quote(); it is special to some shells.
 +- Issue #11171: Fix detection of config/Makefile when --prefix !=
 +  --exec-prefix, which caused Python to not start.
  
 -- Issue #7544: Preallocate thread memory before creating the thread to avoid
 -  a fatal error in low memory condition.
 +- Issue #11116: any error during addition of a message to a mailbox now causes
 +  a rollback, instead of leaving the mailbox partially modified.
  
 -- Issue #7820: The parser tokenizer restores all bytes in the right if
 -  the BOM check fails.
 +- Issue #8275: Fix passing of callback arguments with ctypes under Win64.
 +  Patch by Stan Mihai.
  
 -- Issue #7072: isspace(0xa0) is true on Mac OS X
 +- 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.
  
 -C-API
 ------
 +- 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 #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 #11052: Correct IDLE menu accelerators on Mac OS X for Save
 +  commands.
  
 -Library
 --------
 +- Issue #10949: Improved robustness of rotating file handlers.
  
 -- 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 #10955: Fix a potential crash when trying to mmap() a file past its
 +  length.  Initial patch by Ross Lagerwall.
  
 -- Issue #7092: Fix the DeprecationWarnings emitted by the standard library
 -  when using the -3 flag.  Patch by Florent Xicluna.
 +- Issue #10898: Allow compiling the posix module when the C library defines
 +  a symbol named FSTAT.
  
 -- Issue #7395: Fix tracebacks in pstats interactive browser.
 +- Issue #6075: IDLE on Mac OS X now works with both Carbon AquaTk and
 +  Cocoa AquaTk.
  
 -- Issue #1713: Fix os.path.ismount(), which returned true for symbolic links
 -  across devices.
 +- 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 #8826: Properly load old-style "expires" attribute in http.cookies.
 +- Issue #10875: Update Regular Expression HOWTO; patch by 'SilentGhost'.
  
 -- Issue #1690103: Fix initial namespace for code run with trace.main().
 +- 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 #5294: Fix the behavior of pdb's "continue" command when called
 -  in the top-level debugged frame.
 +- Issue #10869: Fixed bug where ast.increment_lineno modified the root
 +  node twice.
  
 -- Issue #5727: Restore the ability to use readline when calling into pdb
 -  in doctests.
 +- Issue #7858: Raise an error properly when os.utime() fails under Windows
 +  on an existing file.
  
 -- 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 #3839: wsgiref should not override a Content-Length header set by
 +  the application.  Initial patch by Clovis Fabricio.
  
 -- Issue #8048: Prevent doctests from failing when sys.displayhook has
 -  been reassigned.
 +- 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 #8015: In pdb, do not crash when an empty line is entered as
 -  a breakpoint command.
 +- Issue #4662: os.tempnam(), os.tmpfile() and os.tmpnam() now raise a py3k
 +  DeprecationWarning.
  
 -- Issue #7909: Do not touch paths with the special prefixes ``\\.\``
 -  or ``\\?\`` in ntpath.normpath().
 +- Subclasses of collections.OrderedDict now work correctly with __missing__.
  
 -- Issue #5146: Handle UID THREAD command correctly in imaplib.
 +- 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 #5147: Fix the header generated for cookie files written by
 -  http.cookiejar.MozillaCookieJar.
 +- Issue #10738: Fix webbrowser.Opera.raise_opts
  
 -- Issue #8198: In pydoc, output all help text to the correct stream
 -  when sys.stdout is reassigned.
 +- Issue #9824: SimpleCookie now encodes , and ; in values to cater to how
 +  browsers actually parse cookies.
  
 -- Issue #1019882: Fix IndexError when loading certain hotshot stats.
 +- Issue #1379416: eliminated a source of accidental unicode promotion in
 +  email.header.Header.encode.
  
 -- Issue #8471: In doctest, properly reset the output stream to an empty
 -  string when Unicode was previously output.
 +- 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 #8397: Raise an error when attempting to mix iteration and regular
 -  reads on a BZ2File object, rather than returning incorrect results.
 +- Issue #10750: The ``raw`` attribute of buffered IO objects is now read-only.
  
 -- 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 #10242: unittest.TestCase.assertItemsEqual makes too many assumptions
 +  about input.
  
 -- Issue #7066: archive_util.make_archive now restores the cwd if an error is
 -  raised. Initial patch by Ezio Melotti.
 +- Issue #10611: SystemExit should not cause a unittest test run to exit.
  
 -- 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 #6791: Limit header line length (to 65535 bytes) in http.client,
 +  to avoid denial of services from the other party.
  
 -- Issue #3704: cookielib was not properly handling URLs with a / in the
 -  parameters.
 +- Issue #10404: Use ctl-button-1 on OSX for the context menu in Idle.
  
 -- 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 #9907: Fix tab handling on OSX when using editline by calling
 +  rl_initialize first, then setting our custom defaults, then reading .editrc.
  
 -- Issue #7895: platform.mac_ver() no longer crashes after calling os.fork()
 +- Issue #4188: Avoid creating dummy thread objects when logging operations
 +  from the threading module (with the internal verbose flag activated).
  
 -- 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 #9721: Fix the behavior of urljoin when the relative url starts with a
 +  ';' character. Patch by Wes Chow.
  
 -- Issue #1555570: email no longer inserts extra blank lines when a \r\n
 -  combo crosses an 8192 byte boundary.
 +- Issue #10714: Limit length of incoming request in http.server to 65536 bytes
 +  for security reasons.  Initial patch by Ross Lagerwall.
  
 -- Issue #9164: Ensure sysconfig handles dupblice archs while building on OSX
 +- Issue #9558: Fix distutils.command.build_ext with VS 8.0.
  
 -- Issue #7646: The fnmatch pattern cache no longer grows without bound.
 +- Issue #10695: passing the port as a string value to telnetlib no longer
 +  causes debug mode to fail.
  
 -- 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 #10107: Warn about unsaved files in IDLE on OSX.
  
 -- 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 #10406: Enable Rstrip IDLE extension on OSX (just like on other
 +  platforms).
  
 -- Issue #9130: Fix validation of relative imports in parser module.
 +- 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 #9128: Fix validation of class decorators in parser module.
 +- Issue #10497: Fix incorrect use of gettext in argparse.
  
 -- 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 #10464: netrc now correctly handles lines with embedded '#' characters.
  
 -- Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructor
 -  raises an exception.
 +- 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 #9125: Add recognition of 'except ... as ...' syntax to parser module.
 +- Issue #9509: argparse now properly handles IOErrors raised by
 +  argparse.FileType.
  
 -- Issue #9085: email package version number bumped to its correct
 -  value of 4.0.2 (same as it was in 2.5).
 +- Issue #9348: Raise an early error if argparse nargs and metavar don't match.
  
 -- Issue #9075: In the ssl module, remove the setting of a ``debug`` flag
 -  on an OpenSSL structure.
 +- Issue #8982: Improve the documentation for the argparse Namespace object.
  
 -- 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 #9343: Document that argparse parent parsers must be configured before
 +  their children.
  
 -- Issue #8924: logging: Improved error handling for Unicode in exception text.
 +- Issue #9026: Fix order of argparse sub-commands in help messages.
  
 -- Fix codecs.escape_encode to return the correct consumed size.
 +Extension Modules
 +-----------------
  
 -- Issue #6470: Drop UNC prefix in FixTk.
 +- Issue #1838: Prevent segfault in ctypes, when _as_parameter_ on a class is set
 +  to an instance of the class.
  
 -- Issue #8833: tarfile created hard link entries with a size field != 0 by
 -  mistake.
 +- Issue #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
  
 -- Issue #1368247: set_charset (and therefore MIMEText) now automatically
 -  encodes a unicode _payload to the output_charset.
 +Build
 +-----
  
 -- Issue #7150: Raise OverflowError if the result of adding or subtracting
 -  timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range.
 +- Issue #11411: Fix 'make DESTDIR=' with a relative destination.
  
 -- Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by
 -  Fredrik Håård
 +- Issue #10709: Add updated AIX notes in Misc/README.AIX.
  
 -- 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 #11184: Fix large-file support on AIX.
  
 -- Issue #3924: Ignore cookies with invalid "version" field in cookielib.
 +- Issue #941346: Fix broken shared library build on AIX.
  
 -- 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 #11268: Prevent Mac OS X Installer failure if Documentation
 +  package had previously been installed.
  
 -- Issue #5640: Fix Shift-JIS incremental encoder for error handlers different
 -  than strict
 +- Issue #11079: The /Applications/Python x.x folder created by the Mac
 +  OS X installers now includes a link to the installed documentation.
  
 -- Issue #8782: Add a trailing newline in linecache.updatecache to the last line
 -  of files without one.
 +- Issue #11054: Allow Mac OS X installer builds to again work on 10.5 with
 +  the system-provided Python.
  
 -- Issue #8729: Return NotImplemented from collections.Mapping.__eq__ when
 -  comparing to a non-mapping.
 +- 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 #5918: Fix a crash in the parser module.
 +- Don't run pgen twice when using make -j.
  
 -- Issue #8688: Distutils now recalculates MANIFEST everytime.
 +- 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 #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 #10475: Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD
 +  and DragonFly BSD.  Patch by Nicolas Joly.
  
 -- Issue #5099: subprocess.Popen.__del__ no longer references global objects,
 -  leading to issues during interpreter shutdown.
 +- 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 #8681: Make the zlib module's error messages more informative when
 -  the zlib itself doesn't give any detailed explanation.
 +- Issue #1099: Fix the build on MacOSX when building a framework with pydebug
 +  using GCC 4.0.
  
 -- Issue #8674: Fixed a number of incorrect or undefined-behaviour-inducing
 -  overflow checks in the audioop module.
 +Tests
 +-----
  
 -- 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 #11490: test_subprocess:test_leaking_fds_on_error no longer gives a
 +  false positive if the last directory in the path is inaccessible.
  
 -- Issue #8573: asyncore _strerror() function might throw ValueError.
 +- Issue #10822: Fix test_posix:test_getgroups failure under Solaris.  Patch
 +  by Ross Lagerwall.
  
 -- 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 #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 #4265: shutil.copyfile() was leaking file descriptors when disk fills.
 -  Patch by Tres Seaver.
 +- Issue #775964: test_grp now skips YP/NIS entries instead of failing when
 +  encountering them.
  
 -- 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 #7110: regrtest now sends test failure reports and single-failure
 +  tracebacks to stderr rather than stdout.
  
 -- Issue #8313: traceback.format_exception_only() encodes unicode message to
 -  ASCII with backslashreplace error handler if str(value) failed
  
 -- Issue #8567: Fix precedence of signals in Decimal module: when a
 -  Decimal operation raises multiple signals and more than one of those
 -  signals is trapped, the specification determines the order in which
 -  the signals should be handled.  In many cases this order wasn't
 -  being followed, leading to the wrong Python exception being raised.
 +What's New in Python 2.7.1?
 +===========================
  
 -- 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.
 +*Release date: 2010-11-27*
  
 -- Issue #8581: logging: removed errors raised when closing handlers twice.
 +Library
 +-------
  
 -- Issue #4687: Fix accuracy of garbage collection runtimes displayed with
 -  gc.DEBUG_STATS.
 +- Issue #2236: distutils' mkpath ignored the mode parameter.
  
 -- Issue #8354: The siginterrupt setting is now preserved for all signals,
 -  not just SIGCHLD.
 +- Fix typo in one sdist option (medata-check).
  
 -- 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 #10323: itertools.islice() now consumes the minimum number of
 +  inputs before stopping.  Formerly, the final state of the underlying
 +  iterator was undefined.
  
 -- Issue #8464: tarfile no longer creates files with execute permissions set
 -  when mode="w|" is used.
 +- Issue #10565: The collections.Iterator ABC now checks for both
 +  ``__iter__`` and ``next``.
  
 -- Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions
 -  of the Linux kernel.  Patch by Yaniv Aknin.
 +- Issue #10092: Properly reset locale in calendar.Locale*Calendar classes.
  
 -- Issue #6312: Fixed http HEAD request when the transfer encoding is chunked.
 -  It should correctly return an empty response now.
 +- Issue #10459: Update CJK character names to Unicode 5.2.
  
 -- Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline
 -  before the certificate footer.  Patch by Kyle VanderBeek.
 +- Issue #6098: Don't claim DOM level 3 conformance in minidom.
  
 -- Issue #8549: Fix compiling the _ssl extension under AIX.  Patch by
 -  Sridhar Ratnakumar.
 +- Issue #10561: In pdb, clear the breakpoints by the breakpoint number.
  
 -- Issue #2302: Fix a race condition in SocketServer.BaseServer.shutdown,
 -  where the method could block indefinitely if called just before the
 -  event loop started running.  This also fixes the occasional freezes
 -  witnessed in test_httpservers.
 +- Issue #5762: Fix AttributeError raised by ``xml.dom.minidom`` when an empty
 +  XML namespace attribute is encountered.
  
 -- Issue #5103: SSL handshake would ignore the socket timeout and block
 -  indefinitely if the other end didn't respond.
 +- 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.
  
 -- The do_handshake() method of SSL objects now adjusts the blocking mode of
 -  the SSL structure if necessary (as other methods already do).
 +- Issue #4493: urllib2 adds '/' in front of path components which does not
 +  start with '/. Common behavior exhibited by browsers and other clients.
  
 -- Issue #5238: Calling makefile() on an SSL object would prevent the
 -  underlying socket from being closed until all objects get truely destroyed.
 +- Issue #6378: idle.bat now runs with the appropriate Python version rather than
 +  the system default. Patch by Sridhar Ratnakumar.
  
 -- Issue #7943: Fix circular reference created when instantiating an SSL
 -  socket.  Initial patch by Péter Szabó.
 +- Issue #10407: Fix one NameError in distutils.
  
 -- 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 #10198: fix duplicate header written to wave files when writeframes()
 +  is called without data.
  
 -- 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 #10467: Fix BytesIO.readinto() after seeking into a position after the
 +  end of the file.
  
 -- Issue #4814: timeout parameter is now applied also for connections resulting
 -  from PORT/EPRT commands.
 +- Issue #5111: IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru.
  
 -- Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response
 -  code as stated in RFC-959 at chapter 5.4.
 +Build
 +-----
  
 -- Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters.
 +- Backport r83399 to allow test_distutils to pass on installed versions.
  
 -- Issue #8179: Fix macpath.realpath() on a non-existing path.
 +- Issue #1303434: Generate ZIP file containing all PDBs.
  
 -- Issue #8310: Allow dis to examine new style classes.
 +Tests
 +-----
  
 -- Issue #7667: Fix doctest failures with non-ASCII paths.
 +- Issue #9424: Replace deprecated assert* methods in the Python test suite.
  
 -- Issue #7624: Fix isinstance(foo(), collections.Callable) for old-style
 -  classes.
 +Documentation
 +-------------
  
 -- 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 #10299: List the built-in functions in a table in functions.rst.
  
 -- 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 #6544: fix a reference leak in the kqueue implementation's error
 -  handling.
 +What's New in Python 2.7.1 release candidate 1?
 +===============================================
  
 -- 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
 +*Release date: 2010-11-13*
  
 -- Issue #6906: Tk should not set Unicode environment variables on Windows.
 +Core and Builtins
 +-----------------
  
 -- Issue #1054943: Fix unicodedata.normalize('NFC', text) for the Public Review
 -  Issue #29
 +- 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 #7494: fix a crash in _lsprof (cProfile) after clearing the profiler,
 -  reset also the pointer to the current pointer context.
 +- Issue #10125: Don't segfault when the iterator passed to
 +  ``file.writelines()`` closes the file.
  
 -- Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox
 -  with Tcl/Tk-8.5.
 +- Issue #10186: Fix the SyntaxError caret when the offset is equal to the
 +  length of the offending line.
  
 -- Issue #7356: ctypes.util: Make parsing of ldconfig output independent of
 -  the locale.
 +- Issue #9997: Don't let the name "top" have special significance in scope
 +  resolution.
  
 -Extension Modules
 ------------------
 +- Issue #9862: Compensate for broken PIPE_BUF in AIX by hard coding
 +  its value as the default 512 when compiling on AIX.
  
 -- Fix memory leak in ssl._ssl._test_decode_cert.
 +- Issue #9675: CObject use is marked as a Py3k warning, not a deprecation
 +  warning.
  
 -- Issue #9422: Fix memory leak when re-initializing a struct.Struct object.
 +- 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 #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 #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.
  
 -  os.getgroups() can now return more than 16 groups on MacOSX.
 +- Issue #10006: type.__abstractmethods__ now raises an AttributeError.
  
 -- Issue #9277: Fix bug in struct.pack for bools in standard mode
 -  (e.g., struct.pack('>?')):  if conversion to bool raised an exception
 -  then that exception wasn't properly propagated on machines where
 -  char is unsigned.
 +- Issue #9797: pystate.c wrongly assumed that zero couldn't be a valid
 +  thread-local storage key.
  
 -- 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.
 +- Issue #4947: The write() method of sys.stdout and sys.stderr uses their
 +  encoding and errors attributes instead of using utf-8 in strict mode, to get
 +  the same behaviour than the print statement.
  
 -- Issue #2810: Fix cases where the Windows registry API returns
 -  ERROR_MORE_DATA, requiring a re-try in order to get the complete result.
 +- Issue #9737: Fix a crash when trying to delete a slice or an item from
 +  a memoryview object.
  
 -Build
 ------
 +- Restore GIL in nis_cat in case of error.
  
 -- Issue #8854: Fix finding Visual Studio 2008 on Windows x64.
 +- Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t.
  
 -- Issue #3928: os.mknod() now available in Solaris, also.
 +- Issue #8530: Prevent stringlib fastsearch from reading beyond the front
 +  of an array.
  
 -- Issue #8175: --with-universal-archs=all works correctly on OSX 10.5
 +- Issue #83755:  Implicit set-to-frozenset conversion was not thread-safe.
  
 -- Issue #6716: Quote -x arguments of compileall in MSI installer.
 +- Issue #9416: Fix some issues with complex formatting where the
 +  output with no type specifier failed to match the str output:
  
 -- 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.
 +    - format(complex(-0.0, 2.0), '-') omitted the real part from the output,
 +    - format(complex(0.0, 2.0), '-') included a sign and parentheses.
  
 -Tests
 ------
 +- Issue #7616: Fix copying of overlapping memoryview slices with the Intel
 +  compiler.
  
 -- 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.
 +Library
 +-------
  
 -- 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 #9926: Wrapped TestSuite subclass does not get __call__ executed
  
 -- Issue #8629: Disable some test_ssl tests, since they give different
 -  results with OpenSSL 1.0.0 and higher.
 +- Issue #4471: Properly shutdown socket in IMAP.shutdown().  Patch by
 +  Lorenzo M. Catucci.
  
 -- Issue #8576: Remove use of find_unused_port() in test_smtplib and
 -  test_multiprocessing.  Patch by Paul Moore.
 +- Issue #10126: Fix distutils' test_build when Python was built with
 +  --enable-shared.
  
 -- Issue #7027: regrtest.py keeps a reference to the encodings.ascii module as a
 -  workaround to #7140 bug
 +- Fix typo in one sdist option (medata-check).
  
 -- 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 #9199: Fix incorrect use of distutils.cmd.Command.announce.
  
 -- Issue #8193: Fix test_zlib failure with zlib 1.2.4.
 +- Issue #1718574: Fix options that were supposed to accept arguments but did
 +  not in build_clib.
  
 -Documentation
 --------------
 +- Issue #9281: Prevent race condition with mkdir in distutils.  Patch by
 +  Arfrever.
  
 -- Issue #9255: Document that the 'test' package is for internal Python use
 -  only.
 +- Issue #10229: Fix caching error in gettext.
  
 -- Issue #8909: Added the size of the bitmap used in the installer created by
 -  distutils' bdist_wininst. Patch by Anatoly Techtonik.
 +- Issue #10252: Close file objects in a timely manner in distutils code and
 +  tests.  Patch by Brian Brazil, completed by Éric Araujo.
  
 +- Issue #10311: The signal module now restores errno before returning from
 +  its low-level signal handler.  Patch by Hallvard B Furuseth.
  
 -What's New in Python 2.6.5?
 -===========================
 +- Issue #10038: json.loads() on str should always return unicode (regression
 +  from Python 2.6).  Patch by Walter Dörwald.
  
 -*Release date: 2010-03-18*
 +- Issue #120176: Wrapped TestSuite subclass does not get __call__ executed.
  
 +- Issue #6706: asyncore accept() method no longer raises
 +  EWOULDBLOCK/ECONNABORTED on incomplete connection attempt but returns None
 +  instead.
  
 -What's New in Python 2.6.5 rc 2?
 -================================
 +- Issue #10266: uu.decode didn't close in_file explicitly when it was given
 +  as a filename.  Patch by Brian Brazil.
  
 -*Release date: 2010-03-09*
 +- Issue #10246: uu.encode didn't close file objects explicitly when filenames
 +  were given to it.  Patch by Brian Brazil.
  
 -Core and Builtins
 ------------------
 +- Issue #10253: FileIO leaks a file descriptor when trying to open a file
 +  for append that isn't seekable.  Patch by Brian Brazil.
  
 -- Issue #8089: a OS X framework build with --with-universal-archs=3-way|intel
 -  had no way to select a 32-bit executable.
 +- Issue #6105: json.dumps now respects OrderedDict's iteration order.
  
 -- Issue #8084: fixes build issues on OSX 10.6 when targetting OSX 10.4.
 +- Issue #9295: Fix a crash under Windows when calling close() on a file
 +  object with custom buffering from two threads at once.
  
 -Library
 --------
 +- Issue #5027: The standard ``xml`` namespace is now understood by
 +  xml.sax.saxutils.XMLGenerator as being bound to
 +  http://www.w3.org/XML/1998/namespace.  Patch by Troy J. Farrell.
  
 -- Reverting the changes made in r78432. Discussed in the tracker issue #7540.
 +- Issue #10163: Skip unreadable registry keys during mimetypes
 +  initialization.
  
 -- Issue #8107: Fixed test_distutils so it doesn't crash when the source
 -  directory cannot be found.
 +- Issue #5117: Fixed root directory related issue on posixpath.relpath() and
 +  ntpath.relpath().
  
 -Extension Modules
 ------------------
 +- Issue #9409: Fix the regex to match all kind of filenames, for interactive
 +  debugging in doctests.
  
 -- Issue #7670: sqlite3: Fixed crashes when operating on closed connections.
 +- Issue #6612: Fix site and sysconfig to catch os.getcwd() error, eg. if the
 +  current directory was deleted. Patch written by W. Trevor King.
  
 -- Issue #8053: logic was inverted on which platforms to run a test on.
 -  caused test_thread to fail on Windows.
 +- Issue #10045: Improved performance when writing after seeking past the
 +  end of the "file" in cStringIO.
  
 +- Issue #9948: Fixed problem of losing filename case information.
  
 -What's New in Python 2.6.5 rc 1?
 -================================
 +- Issue #9437: Fix building C extensions with non-default LDFLAGS.
  
 -*Release date: 2010-03-01*
 +- Issue #9759: GzipFile now raises ValueError when an operation is attempted
 +  after the file is closed.  Patch by Jeffrey Finkelstein.
  
 -Core and Builtins
 ------------------
 +- Issue #9042: Fix interaction of custom translation classes and caching in
 +  gettext.
  
 -- Issue #7309: Fix unchecked attribute access when converting
 -  UnicodeEncodeError, UnicodeDecodeError, and UnicodeTranslateError to
 -  strings.
 +- Issue #9065: tarfile no longer uses "root" as the default for the uname and
 +  gname field.
  
 -- Issue #7649: "u'%c' % char" now behaves like "u'%s' % char" and raises a
 -  UnicodeDecodeError if 'char' is a byte string that can't be decoded using
 -  the default encoding.
 +- Issue #1050268: parseaddr now correctly quotes double quote and backslash
 +  characters that appear inside quoted strings in email addresses.
  
 -- Issue #5677: Explicitly forbid write operations on read-only file objects,
 -  and read operations on write-only file objects.  On Windows, the system C
 -  library would return a bogus result; on Solaris, it was possible to crash
 -  the interpreter.  Patch by Stefan Krah.
 +- Issue #10004: quoprimime no longer generates a traceback when confronted
 +  with invalid characters after '=' in a Q-encoded word.
  
 -- Issue #4978: Passing keyword arguments as unicode strings is now allowed.
 +- Issue #9950: Fix socket.sendall() crash or misbehaviour when a signal is
 +  received.  Now sendall() properly calls signal handlers if necessary,
 +  and retries sending if these returned successfully, including on sockets
 +  with a timeout.
  
 -- Issue #7819: Check sys.call_tracing() arguments types.
 +- Issue #9947: logging: Fixed locking bug in stopListening.
  
 -- Issue #7788: Fix an interpreter crash produced by deleting a list
 -  slice with very large step value.
 +- Issue #9945: logging: Fixed locking bugs in addHandler/removeHandler.
  
 -- Issue #7561: Operations on empty bytearrays (such as `int(bytearray())`)
 -  could crash in many places because of the PyByteArray_AS_STRING() macro
 -  returning NULL.  The macro now returns a statically allocated empty
 -  string instead.
 +- Issue #9936: Fixed executable lines' search in the trace module.
  
 -- Issue #7604: Deleting an unset slotted attribute did not raise an
 -  AttributeError.
 +- Issue #9928: Properly initialize the types exported by the bz2 module.
  
 -- Issue #7413: Passing '\0' as the separator to datetime.datetime.isoformat()
 -  used to drop the time part of the result.
 +- Issue #9854: The default read() implementation in io.RawIOBase now
 +  handles non-blocking readinto() returning None correctly.
  
 -- Issue #6108: unicode(exception) and str(exception) should return the same
 -  message when only __str__ (and not __unicode__) is overridden in the
 -  subclass.
 +- Issue #9729: Fix the signature of SSLSocket.recvfrom() and
 +  SSLSocket.sendto() to match the corresponding socket methods.  Also,
 +  fix various SSLSocket methods to raise socket.error rather than an
 +  unhelpful TypeError when called on an unconnected socket.  Original patch
 +  by Andrew Bennetts.
  
 -- Issue #7491: Metaclass's __cmp__ method was ignored.
 +- Issue #9826: OrderedDict.__repr__ can now handle self-referential
 +  values:   d['x'] = d.
  
 -- Add Py3k warnings for parameter names in parenthesis.
 +- Issue #767645: Set os.path.supports_unicode_filenames to True on Mac OS X.
  
 -- Issue #7362: Give a proper error message for def f((x)=3): pass.
 +- Issue #9837: The read() method of ZipExtFile objects (as returned by
 +  ZipFile.open()) could return more bytes than requested.
  
 -- Issue #7085: Fix crash when importing some extensions in a thread
 -  on MacOSX 10.6.
 +- Issue #9825: removed __del__ from the definition of collections.OrderedDict.
 +  This prevents user-created self-referencing ordered dictionaries from
 +  becoming permanently uncollectable GC garbage.  The downside is that
 +  removing __del__ means that the internal doubly-linked list has to wait for
 +  GC collection rather than freeing memory immediately when the refcnt drops
 +  to zero.
  
 -- Issue #7070: Fix round bug for large odd integer arguments.
 +- Issue #9816: random.Random.jumpahead(n) did not produce a sufficiently
 +  different internal state for small values of n.  Fixed by salting the
 +  value.
  
 -- Issue #7078: Set struct.__doc__ from _struct.__doc__.
 +- Issue #9792: In case of connection failure, socket.create_connection()
 +  would swallow the exception and raise a new one, making it impossible
 +  to fetch the original errno, or to filter timeout errors.  Now the
 +  original error is re-raised.
  
 -- Issue #1722344: threading._shutdown() is now called in Py_Finalize(), which
 -  fixes the problem of some exceptions being thrown at shutdown when the
 -  interpreter is killed. Patch by Adam Olsen.
 +- Issue #9758: When fcntl.ioctl() was called with mutable_flag set to True,
 +  and the passed buffer was exactly 1024 bytes long, the buffer wouldn't
 +  be updated back after the system call.  Original patch by Brian Brazil.
  
 -- Issue #7084: Fix a (very unlikely) crash when printing a list from one
 -  thread, and mutating it from another one.  Patch by Scott Dial.
 +- Issue #1100562: Fix deep-copying of objects derived from the list and
 +  dict types.  Patch by Michele Orrù and Björn Lindqvist.
  
 -- Issue #1747858: Fix lchown & fchown to work with large uid's and gid's on
 -  64-bit platforms.
 +- Issue #7005: Fixed output of None values for RawConfigParser.write and
 +  ConfigParser.write.
  
 +- Issue #808164: Fixed socket.close to avoid references to globals, to
 +  avoid issues when socket.close is called from a __del__ method.
  
 -Library
 --------
 +- Issue #2986: difflib.SequenceMatcher gets a new parameter, autojunk, which
 +  can be set to False to turn off the previously undocumented 'popularity'
 +  heuristic. Patch by Terry Reedy and Eli Bendersky
  
 -- Issue #7250: Fix info leak of os.environ across multi-run uses of
 -  wsgiref.handlers.CGIHandler.
 +- Issue #8797: urllib2 does a retry for Basic Authentication failure instead of
 +  falling into recursion.
  
 -- Issue #1729305: Fix doctest to handle encode error with "backslashreplace".
 +- Issue #1194222: email.utils.parsedate now returns RFC2822 compliant four
 +  character years even if the message contains RFC822 two character years.
  
 -- Issue #691291: codecs.open() should not convert end of lines on reading and
 -  writing.
 +- Issue #8750: Fixed MutableSet's methods to correctly handle
 +  reflexive operations, namely x -= x and x ^= x.
  
 -- Issue #7975: correct regression in dict methods supported by bsddb.dbshelve.
 +- Issue #9129: smtpd.py is vulnerable to DoS attacks deriving from missing
 +  error handling when accepting a new connection.
  
 -- Issue #7959: ctypes callback functions are now registered correctly
 -  with the cycle garbage collector.
 +- Issue #658749: asyncore's connect() method now correctly interprets winsock
 +  errors.
  
 -- Issue #6243: curses.getkey() can segfault when used with ungetch.
 -  Fix by Trundle and Jerry Chen.
 +- Issue #9501: Fixed logging regressions in cleanup code.
  
 -- Issue #7597: curses.use_env() can now be called before initscr().
 -  Noted by Kan-Ru Chen.
 +- Issue #9214: Set operations on KeysView or ItemsView in the collections
 +  module now correctly return a set.  (Patch by Eli Bendersky.)
  
 -- Issue #7970: email.Generator.flatten now correctly flattens message/rfc822
 -  messages parsed by email.Parser.HeaderParser.
 +- Issue #9617: Signals received during a low-level write operation aren't
 +  ignored by the buffered IO layer anymore.
  
 -- Issue #3426: ``os.path.abspath`` now returns unicode when its arg is unicode.
 +- Issue #2521: Use weakrefs on for caching in the abc module, so that classes
 +  are not held onto after they are deleted elsewhere.
  
 -- Issue #7835: shelve should no longer produce mysterious warnings during
 -  interpreter shutdown.
 +- Issue #9626: the view methods for collections.OrderedDict() were returning
 +  the unordered versions inherited from dict.  Those methods are now
 +  overridden to provide ordered views.
  
 -- Issue #4772: Raise a ValueError when an unknown Bluetooth protocol is
 -  specified, rather than fall through to AF_PACKET (in the `socket` module).
 -  Also, raise ValueError rather than TypeError when an unknown TIPC address
 -  type is specified.  Patch by Brian Curtin.
 +- Issue #8688: MANIFEST files created by distutils now include a magic
 +  comment indicating they are generated.  Manually maintained MANIFESTs
 +  without this marker will not be overwritten or removed.
  
 -- Issue #6939: Fix file I/O objects in the `io` module to keep the original
 -  file position when calling `truncate()`.  It would previously change the
 -  file position to the given argument, which goes against the tradition of
 -  ftruncate() and other truncation APIs.  Patch by Pascal Chambon.
 +- Issue #7467: when reading a file from a ZIP archive, its CRC is checked
 +  and a BadZipfile error is raised if it doesn't match (as used to be the
 +  case in Python 2.5 and earlier).
  
 -- Issue #7773: Fix an UnboundLocalError in platform.linux_distribution() when
 -  the release file is empty.
 +- Issue #9550: a BufferedReader could issue an additional read when the
 +  original read request had been satisfied, which could block indefinitely
 +  when the underlying raw IO channel was e.g. a socket.  Report and original
 +  patch by Jason V. Miller.
  
 -- Issue #7748: Since unicode values are supported for some metadata options
 -  in Distutils, the DistributionMetadata get_* methods will now return an utf-8
 -  encoded string for them. This ensure that the upload and register commands
 -  send the right values to PyPI without any error.
 +- Issue #9551: Don't raise TypeError when setting the value to None for
 +  SafeConfigParser instances constructed with allow_no_value == True.
  
 -- Issue #1670765: Prevent email.generator.Generator from re-wrapping
 -  headers in multipart/signed MIME parts, which fixes one of the sources of
 -  invalid modifications to such parts by Generator.
 +- Issue #6915: Under Windows, os.listdir() didn't release the Global
 +  Interpreter Lock around all system calls.  Original patch by Ryan Kelly.
  
 -- Issue #7701: Fix crash in binascii.b2a_uu() in debug mode when given a
 -  1-byte argument.  Patch by Victor Stinner.
 +- Issue #3757: thread-local objects now support cyclic garbage collection.
 +  Thread-local objects involved in reference cycles will be deallocated
 +  timely by the cyclic GC, even if the underlying thread is still running.
  
 -- Issue #3299: Fix possible crash in the _sre module when given bad
 -  argument values in debug mode.  Patch by Victor Stinner.
 +- Issue #6231: Fix xml.etree.ElementInclude to include the tail of the
 +  current node.
  
 -- Issue #5827: Make sure that normpath preserves unicode.  Initial patch
 -  by Matt Giuca.
 +- Issue #6869: Fix a refcount problem in the _ctypes extension.
  
 -- Issue #5372: Drop the reuse of .o files in Distutils' ccompiler (since
 -  Extension extra options may change the output without changing the .c
 -  file). Initial patch by Collin Winter.
 +- Issue5504 - ctypes should now work with systems where mmap can't be
 +  PROT_WRITE and PROT_EXEC.
  
 -- Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes
 -  gcc when it has a fully qualified configuration prefix. Initial patch
 -  by Arfrever.
 +- 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.  Previous
 +  behavior was wrong.
  
 -- Issue #7071: byte-compilation in Distutils is now done with respect to
 -  sys.dont_write_bytecode.
 +- Issue #2944: asyncore doesn't handle connection refused correctly.
  
 -- Issue #7092: Remove py3k warning when importing cPickle.  2to3 handles
 -  renaming of `cPickle` to `pickle`.  The warning was annoying since there's
 -  no alternative to cPickle if you care about performance.  Patch by Florent
 -  Xicluna.
 +- Issue #3196: email header decoding is now forgiving if an RFC2047
 +  encoded word encoded in base64 is lacking padding.
  
 -- Issue #7455: Fix possible crash in cPickle on invalid input.  Patch by
 -  Victor Stinner.
 +- Issue #9444: Argparse now uses the first element of prefix_chars as
 +  the option character for the added 'h/help' option if prefix_chars
 +  does not contain a '-', instead of raising an error.
  
 -- Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when
 -  opening an empty or very small file.
 +- Issue #9354: Provide getsockopt() in asyncore's file_wrapper.
  
 -- Issue #7552: Removed line feed in the base64 Authorization header in
 -  the Distutils upload command to avoid an error when PyPI reads it.
 -  This occurs on long passwords. Initial patch by JP St. Pierre.
 +- Issue #9428: Fix running scripts with the profile/cProfile modules from
 +  the command line.
  
 -- Issue #7231: urllib2 cannot handle https with proxy requiring auth. Patch by
 -  Tatsuhiro Tsujikawa.
 +- Issue #7781: Fix restricting stats by entry counts in the pstats
 +  interactive browser.
  
 -- Issue #7348: StringIO.StringIO.readline(-1) now acts as if it got no argument
 -  like other file objects.
 +- Issue #9209: Do not crash in the pstats interactive browser on invalid
 +  regular expressions.
  
 -- Issue #5949: fixed IMAP4_SSL hang when the IMAP server response is
 -  missing proper end-of-line termination.
 +- Issue #7372: Fix pstats regression when stripping paths from profile
 +  data generated with the profile module.
  
 -- Fix variations of extending deques:  d.extend(d)  d.extendleft(d)  d+=d
 +- Issue #4108: In urllib.robotparser, if there are multiple 'User-agent: *'
 +  entries, consider the first one.
 +
 +- Issue #8397: Raise an error when attempting to mix iteration and regular
 +  reads on a BZ2File object, rather than returning incorrect results.
 +
 +- Issue #5294: Fix the behavior of pdb's "continue" command when called
 +  in the top-level debugged frame.
 +
 +- Issue #5727: Restore the ability to use readline when calling into pdb
 +  in doctests.
 +
 +- Issue #6719: In pdb, do not stop somewhere in the encodings machinery
 +  if the source file to be debugged is in a non-builtin encoding.
 +
 +- Issue #8048: Prevent doctests from failing when sys.displayhook has
 +  been reassigned.
 +
 +- Issue #8015: In pdb, do not crash when an empty line is entered as
 +  a breakpoint command.
 +
 +- Issue #9448: Fix a leak of OS resources (mutexes or semaphores) when
 +  re-initializing a buffered IO object by calling its ``__init__`` method.
 +
 +- Issue #7909: Do not touch paths with the special prefixes ``\\.\``
 +  or ``\\?\`` in ntpath.normpath().
 +
 +- Issue #5146: Handle UID THREAD command correctly in imaplib.
 +
 +- Issue #5147: Fix the header generated for cookie files written by
 +  http.cookiejar.MozillaCookieJar.
 +
 +- Issue #8198: In pydoc, output all help text to the correct stream
 +  when sys.stdout is reassigned.
 +
 +- Issue #7395: Fix tracebacks in pstats interactive browser.
 +
 +- Issue #8230: Fix Lib/test/sortperf.py.
 +
 +- Issue #1713: Fix os.path.ismount(), which returned true for symbolic links
 +  across devices.
 +
 +- Issue #8826: Properly load old-style "expires" attribute in http.cookies.
 +
 +- Issue #1690103: Fix initial namespace for code run with trace.main().
 +
 +- Issue #8471: In doctest, properly reset the output stream to an empty
 +  string when Unicode was previously output.
 +
 +- Issue #8620: when a Cmd is fed input that reaches EOF without a final
 +  newline, it no longer truncates the last character of the last command line.
 +
 +- Issue #6213: Implement getstate() and setstate() methods of utf-8-sig and
 +  utf-16 incremental encoders.
 +
 +- Issue #7113: Speed up loading in ConfigParser. Patch by Łukasz Langa.
 +
 +- Issue #3704: cookielib was not properly handling URLs with a / in the
 +  parameters.
 +
 +- Issue #9032: XML-RPC client retries the request on EPIPE error. The EPIPE
 +  error occurs when the server closes the socket and the client sends a big
 +  XML-RPC request.
 +
 +- Issue #5542: Remove special logic that closes HTTPConnection socket on EPIPE.
 +
 +- Issue #4629: getopt raises an error if an argument ends with = whereas getopt
 +  doesn't except a value (eg. --help= is rejected if getopt uses ['help='] long
 +  options).
 +
 +- Issue #7895: platform.mac_ver() no longer crashes after calling os.fork()
 +
 +- Issue #5395: array.fromfile() would raise a spurious EOFError when an
 +  I/O error occurred.  Now an IOError is raised instead.  Patch by chuck
 +  (Jan Hosang).
 +
 +- Issue #7646: The fnmatch pattern cache no longer grows without bound.
 +
 +- Issue #9136: Fix 'dictionary changed size during iteration'
 +  RuntimeError produced when profiling the decimal module.  This was
 +  due to a dangerous iteration over 'locals()' in Context.__init__.
 +
 +- Fix extreme speed issue in Decimal.pow when the base is an exact
 +  power of 10 and the exponent is tiny (for example,
 +  Decimal(10) ** Decimal('1e-999999999')).
 +
 +- Issue #9161: Fix regression in optparse's acceptance of unicode
 +  strings in add_option calls.
 +
 +- Issue #9130: Fix validation of relative imports in parser module.
 +
 +- Issue #9128: Fix validation of class decorators in parser module.
 +
 +- Issue #9164: Ensure sysconfig handles dupblice archs while building on OSX
 +
 +- Issue #9315: Fix for the trace module to record correct class name
 +  for tracing methods.
 +
 +Extension Modules
 +-----------------
 +
 +- Issue #9054: Fix a crash occurring when using the pyexpat module
 +  with expat version 2.0.1.
 +
 +- Issue #10003: Allow handling of SIGBREAK on Windows. Fixes a regression
 +  introduced by issue #9324.
 +
 +- Issue #8734: Avoid crash in msvcrt.get_osfhandle() when an invalid file
 +  descriptor is provided.  Patch by Pascal Chambon.
 +
 +- Issue #7736: Release the GIL around calls to opendir() and closedir()
 +  in the posix module.  Patch by Marcin Bachry.
 +
 +- As a result of issue #2521, the _weakref module is now compiled into the
 +  interpreter by default.
 +
 +- Issue #9324: Add parameter validation to signal.signal on Windows in order
 +  to prevent crashes.
 +
 +- Issue #9526: Remove some outdated (int) casts that were preventing
 +  the array module from working correctly with arrays of more than
 +  2**31 elements.
 +
 +- Fix memory leak in ssl._ssl._test_decode_cert.
 +
 +- Issue #8065: Fix memory leak in readline module (from failure to
 +  free the result of history_get_history_state()).
 +
 +- Issue #9450: Fix memory leak in readline.replace_history_item and
 +  readline.remove_history_item for readline version >= 5.0.
 +
 +- Issue #8105: Validate file descriptor passed to mmap.mmap on Windows.
 +
 +- Issue #1019882: Fix IndexError when loading certain hotshot stats.
 +
 +- Issue #9422: Fix memory leak when re-initializing a struct.Struct object.
 +
 +- Issue #7900: The getgroups(2) system call on MacOSX behaves rather oddly
 +  compared to other unix systems. In particular, os.getgroups() does
 +  not reflect any changes made using os.setgroups() but basicly always
 +  returns the same information as the id command.
 +
 +  os.getgroups() can now return more than 16 groups on MacOSX.
 +
 +- Issue #9277: Fix bug in struct.pack for bools in standard mode
 +  (e.g., struct.pack('>?')):  if conversion to bool raised an exception
 +  then that exception wasn't properly propagated on machines where
 +  char is unsigned.
 +
 +- Issue #7567: Don't call `setupterm' twice.
 +
 +
 +Tools/Demos
 +-----------
 +
 +- Issue #7287: Demo/imputil/knee.py was removed.
 +
 +- Issue #9188: The gdb extension now handles correctly narrow (UCS2) as well
 +  as wide (UCS4) unicode builds for both the host interpreter (embedded
 +  inside gdb) and the interpreter under test.
 +
 +Build
 +-----
 +
 +- Issue #8852: Allow the socket module to build on OpenSolaris.
 +
 +- Issue #10054: Some platforms provide uintptr_t in inttypes.h.  Patch by
 +  Akira Kitada.
 +
 +- Issue #10055: Make json C89-compliant in UCS4 mode.
 +
 +- Issue #1633863: Don't ignore $CC under AIX.
 +
 +- Issue #9810: Compile bzip2 source files in python's project file
 +  directly. It used to be built with bzip2's makefile.
 +
 +- Issue #941346: Improve the build process under AIX and allow Python to
 +  be built as a shared library.  Patch by Sébastien Sablé.
 +
 +- Issue #4026: Make the fcntl extension build under AIX.  Patch by Sébastien
 +  Sablé.
 +
 +- Issue #3101: Helper functions _add_one_to_index_C() and
 +  _add_one_to_index_F() become _Py_add_one_to_index_C() and
 +  _Py_add_one_to_index_F(), respectively.
 +
 +- Issue #9700: define HAVE_BROKEN_POSIX_SEMAPHORES under AIX 6.x.  Patch by
 +  Sébastien Sablé.
 +
 +- Issue #9280: Make sharedinstall depend on sharedmods.
 +
 +- Issue #9275: The OSX installer once again installs links to binaries in
 +  ``/usr/local/bin``.
 +
 +- Issue #9392: A framework build on OSX  will once again use a versioned name
 +  of the ``2to3`` tool, that is you can use ``2to3-2.7`` to select the Python
 +  2.7 edition of 2to3.
 +
 +- Issue #9701: The MacOSX installer can patch the shell profile to ensure that
 +  the "bin" directory inside the framework is on the shell's search path. This
 +  feature now also supports the ZSH shell.
 +
 +- Issue #7473: avoid link errors when building a framework with a different
 +  set of architectures than the one that is currently installed.
 +
 +Tests
 +-----
 +
 +- Issue #9978: Wait until subprocess completes initialization. (Win32KillTests
 +  in test_os)
 +
 +- Issue #9894: Do not hardcode ENOENT in test_subprocess.
 +
 +- Issue #9323: Make test.regrtest.__file__ absolute, this was not always the
 +  case when running profile or trace, for example.
 +
 +- Issue #9315: Added tests for the trace module.  Patch by Eli Bendersky.
 +
 +- Strengthen test_unicode with explicit type checking for assertEqual tests.
 +
 +- Issue #8857: Provide a test case for socket.getaddrinfo.
 +
 +- Issue #7564: Skip test_ioctl if another process is attached to /dev/tty.
 +
 +- Issue #8433: Fix test_curses failure with newer versions of ncurses.
 +
 +- Issue #9496: Provide a test suite for the rlcompleter module.  Patch by
 +  Michele Orrù.
 +
 +- Issue #8605: Skip test_gdb if Python is compiled with optimizations.
 +
 +- Issue #9568: Fix test_urllib2_localnet on OS X 10.3.
 +
 +Documentation
 +-------------
 +
 +- Issue #9817: Add expat COPYING file; add expat, libffi and expat licenses
 +  to Doc/license.rst.
 +
 +- Issue #9524: Document that two CTRL* signals are meant for use only
 +  with os.kill.
 +
 +- Issue #9255: Document that the 'test' package is for internal Python use
 +  only.
 +
 +- Issue #7829: Document in dis that bytecode is an implementation detail.
 +
 +
 +What's New in Python 2.7?
 +=========================
 +
 +*Release date: 2010-07-03*
 +
 +Core and Builtins
 +-----------------
 +
 +- Prevent assignment to set literals.
 +
 +Library
 +-------
 +
 +- Issue #1868: Eliminate subtle timing issues in thread-local objects by
 +  getting rid of the cached copy of thread-local attribute dictionary.
 +
 +- Issue #9125: Add recognition of 'except ... as ...' syntax to parser module.
 +
 +Extension Modules
 +-----------------
 +
 +- Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module,
 +  ensure that the input string length is a multiple of the frame size.
 +
 +- Issue #9075: In the ssl module, remove the setting of a ``debug`` flag
 +  on an OpenSSL structure.
 +
 +
 +What's New in Python 2.7 release candidate 2?
 +=============================================
 +
 +*Release date: 2010-06-20*
 +
 +Core and Builtins
 +-----------------
 +
 +- Issue #9058: Remove assertions about INT_MAX in UnicodeDecodeError.
 +
 +- Issue #8202: Previous change to ``sys.argv[0]`` handling for -m command line
 +  option reverted due to unintended side effects on handling of ``sys.path``.
 +  See tracker issue for details.
 +
 +- Issue #8941: decoding big endian UTF-32 data in UCS-2 builds could crash
 +  the interpreter with characters outside the Basic Multilingual Plane
 +  (higher than 0x10000).
 +
 +- In the unicode/str.format(), raise a ValueError when indexes to arguments are
 +  too large.
 +
 +Build
 +-----
 +
 +- Issue #8854: Fix finding Visual Studio 2008 on Windows x64.
 +
 +Library
 +-------
 +
 +- Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructor
 +  raises an exception.
 +
 +- Issue #8959: fix regression caused by using unmodified libffi
 +  library on Windows.  ctypes does now again check the stack before
 +  and after calling foreign functions.
 +
 +- Issue #8720: fix regression caused by fix for #4050 by making getsourcefile
 +  smart enough to find source files in the linecache.
 +
 +- Issue #8986: math.erfc was incorrectly raising OverflowError for
 +  values between -27.3 and -30.0 on some platforms.
 +
 +- Issue #8924: logging: Improved error handling for Unicode in exception text.
 +
 +- Issue #8948: cleanup functions and class / module setups and teardowns are
 +  now honored in unittest debug methods.
 +
 +Documentation
 +-------------
 +
 +- 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 the
 +  start byte and the continuation byte(s) are now considered invalid, instead
 +  of the number of bytes specified by the start byte.
 +  E.g.: '\xf1\x80AB'.decode('utf-8', 'replace') now returns u'\ufffdAB' and
 +  replaces with U+FFFD only the start byte ('\xf1') and the continuation byte
 +  ('\x80') even if '\xf1' is the start byte of a 4-bytes sequence.
 +  Previous versions returned a single u'\ufffd'.
 +
 +- Issue #8627: Remove bogus "Overriding __cmp__ blocks inheritance of
 +  __hash__ in 3.x" warning.  Also fix "XXX undetected error" that
 +  arises from the "Overriding __eq__ blocks inheritance ..." warning
 +  when turned into an exception: in this case the exception simply
 +  gets ignored.
 +
 +- Issue #8748: Fix two issues with comparisons between complex and integer
 +  objects.  (1) The comparison could incorrectly return True in some cases
 +  (2**53+1 == complex(2**53) == 2**53), breaking transivity of equality.
 +  (2) The comparison raised an OverflowError for large integers, leading
 +  to unpredictable exceptions when combining integers and complex objects
 +  in sets or dicts.
 +
 +- Issue #5211: Implicit coercion for the complex type is now completely
 +  removed.  (Coercion for arithmetic operations was already removed in 2.7
 +  alpha 4, but coercion for rich comparisons was accidentally left in.)
 +
 +- Issue #3798: Write sys.exit() message to sys.stderr to use stderr encoding
 +  and error handler, instead of writing to the C stderr file in utf-8
 +
 +- Issue #7902: When using explicit relative import syntax, don't try implicit
 +  relative import semantics.
 +
 +- Issue #7079: Fix a possible crash when closing a file object while using it
 +  from another thread.  Patch by Daniel Stutzbach.
 +
 +- Issue #8868: Fix that ensures that python scripts have access to the
 +  Window Server again in a framework build on MacOSX 10.5 or earlier.
 +
 +C-API
 +-----
 +
 +- Issue #5753: A new C API function, :cfunc:`PySys_SetArgvEx`, allows embedders
 +  of the interpreter to set sys.argv without also modifying sys.path.  This
 +  helps fix `CVE-2008-5983
 +  <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_.
 +
 +Library
 +-------
 +
 +- Issue #8302: SkipTest in unittest.TestCase.setUpClass or setUpModule is now
 +  reported as a skip rather than an error.
 +
 +- Issue #8351: Excessively large diffs due to
 +  unittest.TestCase.assertSequenceEqual are no longer included in failure
 +  reports.
 +
 +- Issue #8899: time.struct_time now has class and atribute docstrings.
 +
 +- Issue #4487: email now accepts as charset aliases all codec aliases
 +  accepted by the codecs module.
 +
 +- Issue #6470: Drop UNC prefix in FixTk.
 +
 +- Issue #5610: feedparser no longer eats extra characters at the end of
 +  a body part if the body part ends with a \r\n.
 +
 +- Issue #8833: tarfile created hard link entries with a size field != 0 by
 +  mistake.
 +
 +- Issue #1368247: set_charset (and therefore MIMEText) now automatically
 +  encodes a unicode _payload to the output_charset.
 +
 +- Issue #7150: Raise OverflowError if the result of adding or subtracting
 +  timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range.
 +
 +- Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by
 +  Fredrik Håård
 +
 +- Issue #8016: Add the CP858 codec.
 +
 +- Issue #3924: Ignore cookies with invalid "version" field in cookielib.
 +
 +- Issue #6268: Fix seek() method of codecs.open(), don't read or write the BOM
 +  twice after seek(0). Fix also reset() method of codecs, UTF-16, UTF-32 and
 +  StreamWriter classes.
 +
 +- Issue #5640: Fix Shift-JIS incremental encoder for error handlers different
 +  than 'strict'.
 +
 +- Issue #8782: Add a trailing newline in linecache.updatecache to the last line
 +  of files without one.
 +
 +- Issue #8729: Return NotImplemented from ``collections.Mapping.__eq__()`` when
 +  comparing to a non-mapping.
 +
 +- Issue #8759: Fix user paths in sysconfig for posix and os2 schemes.
 +
 +- Issue #1285086: Speed up ``urllib.quote()`` and urllib.unquote for simple
 +  cases.
 +
 +- Issue #8688: Distutils now recalculates MANIFEST everytime.
 +
 +- Issue #5099: The ``__del__()`` method of ``subprocess.Popen`` (and the methods
 +  it calls) referenced global objects, causing errors to pop up during
 +  interpreter shutdown.
 +
 +Extension Modules
 +-----------------
 +
 +- Issue #7384: If the system readline library is linked against ncurses,
 +  the curses module must be linked against ncurses as well. Otherwise it
 +  is not safe to load both the readline and curses modules in an application.
 +
 +- Issue #2810: Fix cases where the Windows registry API returns
 +  ERROR_MORE_DATA, requiring a re-try in order to get the complete result.
 +
 +- Issue #8674: Fixed a number of incorrect or undefined-behaviour-inducing
 +  overflow checks in the ``audioop`` module.
 +
 +Tests
 +-----
 +
 +- Issue #8889: test_support.transient_internet rewritten so that the new
 +  checks also work on FreeBSD, which lacks EAI_NODATA.
 +
 +- Issue #8835: test_support.transient_internet() catches gaierror(EAI_NONAME)
 +  and gaierror(EAI_NODATA)
 +
 +- Issue #7449: Skip test_socketserver if threading support is disabled
 +
 +- On darwin, ``test_site`` assumed that a framework build was being used,
 +  leading to a failure where four directories were expected for site-packages
 +  instead of two in a non-framework build.
 +
 +Build
 +-----
 +
 +- Display installer warning that Windows 2000 won't be supported in future
 +  releases.
 +
 +- Issues #1759169, #8864: Drop _XOPEN_SOURCE on Solaris, define it for
 +  multiprocessing only.
 +
 +Tools/Demos
 +-----------
 +
 +- Issue #5464: Implement plural forms in msgfmt.py.
 +
 +
 +What's New in Python 2.7 beta 2?
 +================================
 +
 +*Release date: 2010-05-08*
 +
 +Core and Builtins
 +-----------------
 +
 +- Run Clang 2.7's static analyzer for ``Objects/`` and ``Python/``.
 +
 +- Issue #1533: Fix inconsistency in range function argument processing: any
 +  non-float non-integer argument is now converted to an integer (if possible)
 +  using its __int__ method.  Previously, only small arguments were treated this
 +  way; larger arguments (those whose __int__ was outside the range of a C long)
 +  would produce a TypeError.
 +
 +- Issue #8202: ``sys.argv[0]`` is now set to '-m' instead of '-c' when searching
 +  for the module file to be executed with the -m command line option.
 +
 +- Issue #7319: When -Q is used, do not silence DeprecationWarning.
 +
 +- Issue #7332: Remove the 16KB stack-based buffer in
 +  ``PyMarshal_ReadLastObjectFromFile``, which doesn't bring any noticeable
 +  benefit compared to the dynamic memory allocation fallback.  Patch by
 +  Charles-François Natali.
 +
 +- Issue #8417: Raise an OverflowError when an integer larger than sys.maxsize is
 +  passed to bytearray.
 +
 +- Issue #7072: ``isspace(0xa0)`` is true on Mac OS X.
 +
 +- Issue #8404: Fix set operations on dictionary views.
 +
 +- Issue #8084: PEP 370 now conforms to system conventions for framework builds
 +  on MacOS X. That is, ``python setup.py install --user`` will install into
 +  ``~/Library/Python/2.7`` instead of ``~/.local``.
 +
 +Library
 +-------
 +
 +- Issue #8681: Make the zlib module's error messages more informative when the
 +  zlib itself doesn't give any detailed explanation.
 +
 +- Issue #8571: Fix an internal error when compressing or decompressing a chunk
 +  larger than 1GB with the zlib module's compressor and decompressor objects.
 +
 +- Issue #8573: asyncore ``_strerror()`` function might throw ValueError.
 +
 +- Issue #8483: asyncore.dispatcher's __getattr__ method produced confusing error
 +  messages when accessing undefined class attributes because of the cheap
 +  inheritance with the underlying socket object.  The cheap inheritance has been
 +  deprecated.
 +
 +- Issue #4265: ``shutil.copyfile()`` was leaking file descriptors when disk
 +  fills.  Patch by Tres Seaver.
 +
 +- Issue #7755: Use an unencumbered audio file for tests.
 +
 +- Issue #8621: ``uuid.uuid4()`` returned the same sequence of values in the
 +  parent and any children created using ``os.fork`` on Mac OS X 10.6.
 +
 +- Issue #8313: ``traceback.format_exception_only()`` encodes unicode message to
 +  ASCII with backslashreplace error handler if ``str(value)`` failed.
 +
 +- Issue #8567: Fix precedence of signals in Decimal module: when a Decimal
 +  operation raises multiple signals and more than one of those signals is
 +  trapped, the specification determines the order in which the signals should be
 +  handled.  In many cases this order wasn't being followed, leading to the wrong
 +  Python exception being raised.
 +
 +- Issue #7865: The close() method of :mod:`io` objects should not swallow
 +  exceptions raised by the implicit flush().  Also ensure that calling close()
 +  several times is supported.  Patch by Pascal Chambon.
 +
 +- Issue #8576: logging updated to remove usage of find_unused_port().
 +
 +- Issue #4687: Fix accuracy of garbage collection runtimes displayed with
 +  gc.DEBUG_STATS.
 +
 +- Issue #8354: The siginterrupt setting is now preserved for all signals, not
 +  just SIGCHLD.
 +
 +- Issue #7192: ``webbrowser.get("firefox")`` now works on Mac OS X, as does
 +  ``webbrowser.get("safari")``.
 +
 +- Issue #8577: ``distutils.sysconfig.get_python_inc()`` now makes a difference
 +  between the build dir and the source dir when looking for "python.h" or
 +  "Include".
 +
 +- Issue #8464: tarfile no longer creates files with execute permissions set when
 +  mode="w|" is used.
 +
 +- Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions of
 +  the Linux kernel.  Patch by Yaniv Aknin.
 +
 +- Issue #6312: Fix http HEAD request when the transfer encoding is chunked.  It
 +  should correctly return an empty response now.
 +
 +- Issue #7490: To facilitate sharing of doctests between 2.x and 3.x test
 +  suites, the ``IGNORE_EXCEPTION_DETAIL`` directive now also ignores the module
 +  location of the raised exception.  Based on initial patch by Lennart Regebro.
 +
 +- Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline before
 +  the certificate footer.  Patch by Kyle VanderBeek.
 +
 +- Issue #8546: Reject None given as the buffering argument to ``_pyio.open()``.
 +
 +- Issue #8549: Fix compiling the _ssl extension under AIX.  Patch by Sridhar
 +  Ratnakumar.
 +
 +- Issue #6656: Fix locale.format_string to handle escaped percents and mappings.
 +
 +- Issue #2302: Fix a race condition in SocketServer.BaseServer.shutdown, where
 +  the method could block indefinitely if called just before the event loop
 +  started running.  This also fixes the occasional freezes witnessed in
 +  test_httpservers.
 +
 +- Issue #5103: SSL handshake would ignore the socket timeout and block
 +  indefinitely if the other end didn't respond.
 +
 +- The do_handshake() method of SSL objects now adjusts the blocking mode of the
 +  SSL structure if necessary (as other methods already do).
 +
 +- Issue #7507: Quote "!" in pipes.quote(); it is special to some shells.
 +
 +- Issue #5238: Calling makefile() on an SSL object would prevent the underlying
 +  socket from being closed until all objects get truely destroyed.
 +
 +- Issue #7943: Fix circular reference created when instantiating an SSL socket.
 +  Initial patch by Péter Szabó.
 +
 +- Issue #8451: Syslog module now uses basename(sys.argv[0]) instead of the
 +  string "python" as the *ident*.  openlog() arguments are all optional and
 +  keywords.
 +
 +- Issue #8108: Fix the unwrap() method of SSL objects when the socket has a
 +  non-infinite timeout.  Also make that method friendlier with applications
 +  wanting to continue using the socket in clear-text mode, by disabling
 +  OpenSSL's internal readahead.  Thanks to Darryl Miles for guidance.
 +
 +- Issue #8484: Load all ciphers and digest algorithms when initializing the _ssl
 +  extension, such that verification of some SSL certificates doesn't fail
 +  because of an "unknown algorithm".
 +
 +- Issue #8437: Fix test_gdb failures, patch written by Dave Malcolm
 +
 +- Issue #4814: The timeout parameter is now applied also for connections
 +  resulting from PORT/EPRT commands.
 +
 +- Issue #8463: Add missing reference to bztar in shutil's documentation.
 +
 +- Issue #8438: Remove reference to the missing "surrogateescape" encoding error
 +  handler from the new IO library.
 +
 +- Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response code
 +  as stated in RFC-959 at chapter 5.4.
 +
 +- Issue #8279: Fix test_gdb failures.
 +
 +- Issue #8322: Add a *ciphers* argument to SSL sockets, so as to change the
 +  available cipher list.  Helps fix test_ssl with OpenSSL 1.0.0.
 +
 +- Issue #2987: RFC 2732 support for urlparse (IPv6 addresses).  Patch by Tony
 +  Locke and Hans Ulrich Niedermann.
 +
 +- Issue #7585: difflib context and unified diffs now place a tab between
 +  filename and date, conforming to the 'standards' they were originally designed
 +  to follow.  This improves compatibility with patch tools.
 +
 +- Issue #7472: Fixed typo in email.encoders module; messages using ISO-2022
 +  character sets will now consistently use a Content-Transfer-Encoding of 7bit
 +  rather than sometimes being marked as 8bit.
 +
 +- Issue #8330: Fix expected output in test_gdb.
 +
 +- Issue #8374: Update the internal alias table in the :mod:`locale` module to
 +  cover recent locale changes and additions.
 +
 +Extension Modules
 +-----------------
 +
 +- Issue #8644: Improved accuracy of ``timedelta.total_seconds()``.
 +
 +- Use Clang 2.7's static analyzer to find places to clean up some code.
 +
 +- Build the ossaudio extension on GNU/kFreeBSD.
 +
 +- On Windows, ctypes does no longer check the stack before and after calling a
 +  foreign function.  This allows to use the unmodified libffi library.
 +
 +Tests
 +-----
 +
 +- Issue #8672: Add a zlib test ensuring that an incomplete stream can be handled
 +  by a decompressor object without errors (it returns incomplete uncompressed
 +  data).
 +
 +- Issue #8490: asyncore now has a more solid test suite which actually tests its
 +  API.
 +
 +- Issue #8576: Remove use of find_unused_port() in test_smtplib and
 +  test_multiprocessing.  Patch by Paul Moore.
 +
 +- Issue #7449: Fix many tests to support Python compiled without thread support.
 +  Patches written by Jerry Seutter.
 +
 +- Issue #8108: test_ftplib's non-blocking SSL server now has proper handling of
 +  SSL shutdowns.
 +
 +Build
 +-----
 +
 +- Issue #8625: Turn off optimization in ``--with-pydebug`` builds with gcc.
 +  (Optimization was unintentionally turned on in gcc --with-pydebug builds in
 +  2.7 beta1 as a result of the issue #1628484 fix, combined with autoconf's
 +  strange choice of default CFLAGS produced by AC_PROG_CC for gcc.)
 +
 +- Issue #8509: Fix quoting in help strings and code snippets in configure.in.
 +
 +- Issue #3646: It is now easily possible to install a Python framework into your
 +  home directory on Mac OS X, see Mac/README for more information.
 +
 +- Issue #8510: Update to autoconf 2.65.
 +
 +Misc
 +----
 +
 +- Update the Vim syntax highlight file.
 +
 +
 +What's New in Python 2.7 beta 1?
 +================================
 +
 +*Release date: 2010-04-10*
 +
 +Core and Builtins
 +-----------------
 +
 +- Issue #7301: Add environment variable $PYTHONWARNINGS.
 +
 +- Issue #8329: Don't return the same lists from select.select when no fds are
 +  changed.
 +
 +- Issue #8259: ``1L << (2**31)`` no longer produces an 'outrageous shift error'
 +  on 64-bit machines.  The shift count for either left or right shift is
 +  permitted to be up to sys.maxsize.
 +
 +- Ensure that tokenization of identifiers is not affected by locale.
 +
 +- Issue #1222585: Added LDCXXSHARED for C++ support.  Patch by Arfrever.
 +
 +- Raise a TypeError when trying to delete a T_STRING_INPLACE struct member.
 +
 +- Issue #7994: Issue a PendingDeprecationWarning if object.__format__ is called
 +  with a non-empty format string. This is an effort to future-proof user
 +  code. If a derived class does not currently implement __format__ but later
 +  adds its own __format__, it would most likely break user code that had
 +  supplied a format string. This will be changed to a DeprecationWarning in
 +  Python 3.3 and it will be an error in Python 3.4.
 +
 +- Issue #8268: Old-style classes (not just instances) now support weak
 +  references.
 +
 +- Issue #8211: Save/restore CFLAGS around AC_PROG_CC in configure.in, in case it
 +  is set.
 +
 +- Issue #1583863: An unicode subclass can now override the __unicode__ method
 +
 +- Issue #6474: Make error message from passing an inadequate number of keyword
 +  arguments to a function correct.
 +
 +- Issue #8164: Don't allow lambda functions to have a docstring.
 +
 +- Issue #3137: Don't ignore errors at startup, especially a keyboard interrupt
 +  (SIGINT).  If an error occurs while importing the site module, the error is
 +  printed and Python exits.  Initialize the GIL before importing the site
 +  module.
 +
 +- Code objects now support weak references.
 +
 +Library
 +-------
 +
 +- Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters.
 +
 +- Issue #8321: Give access to OpenSSL version numbers from the `ssl` module,
 +  using the new attributes `ssl.OPENSSL_VERSION`, `ssl.OPENSSL_VERSION_INFO` and
 +  `ssl.OPENSSL_VERSION_NUMBER`.
 +
 +- Issue #8310: Allow dis to examine new style classes.
 +
 +- Issue #8257: The Decimal construct now accepts a float instance directly,
 +  converting that float to a Decimal of equal value:
 +
 +     >>> Decimal(1.1)
 +     Decimal('1.100000000000000088817841970012523233890533447265625')
 +
 +- collections.Counter() now supports a subtract() method.
 +
 +- The functools module now has a total_ordering() class decorator to simplify
 +  the specification of rich comparisons.
 +
 +- The functools module also adds cmp_to_key() as a tool to transition old-style
 +  comparison functions to new-style key-functions.
 +
 +- Issue #8294: The Fraction constructor now accepts Decimal and float instances
 +  directly.
 +
 +- Issue #7279: Comparisons involving a Decimal signaling NaN now signal
 +  InvalidOperation instead of returning False.  (Comparisons involving a quiet
 +  NaN are unchanged.)  Also, Decimal quiet NaNs are now hashable; Decimal
 +  signaling NaNs remain unhashable.
 +
 +- Issue #2531: Comparison operations between floats and Decimal instances now
 +  return a result based on the numeric values of the operands; previously they
 +  returned an arbitrary result based on the relative ordering of id(float) and
 +  id(Decimal).
 +
 +- Issue #8233: When run as a script, py_compile.py optionally takes a single
 +  argument `-` which tells it to read files to compile from stdin.  Each line is
 +  read on demand and the named file is compiled immediately.  (Original patch by
 +  Piotr Ożarowski).
 +
 +- Issue #3135: Add ``inspect.getcallargs()``, which binds arguments to a
 +  function like a normal call.
 +
 +- Backwards incompatible change: Unicode codepoints line tabulation (0x0B) and
 +  form feed (0x0C) are now considered linebreaks, as specified in Unicode
 +  Standard Annex #14.  See issue #7643.  http://www.unicode.org/reports/tr14/
 +
 +- Comparisons using one of <, <=, >, >= between a complex instance and a
 +  Fractions instance now raise TypeError instead of returning True/False.  This
 +  makes Fraction <=> complex comparisons consistent with int <=> complex, float
 +  <=> complex, and complex <=> complex comparisons.
 +
 +- Addition of ``WeakSet`` to the ``weakref`` module.
 +
 +- logging: Added LOG_FTP to SysLogHandler and updated documentation.
 +
 +- Issue #8205: Remove the "Modules" directory from sys.path when Python is
 +  running from the build directory (POSIX only).
 +
 +- Issue #7667: Fix doctest failures with non-ASCII paths.
 +
 +- Issue #7512: shutil.copystat() could raise an OSError when the filesystem
 +  didn't support chflags() (for example ZFS under FreeBSD).  The error is now
 +  silenced.
 +
 +- Issue #7703: ctypes supports both buffer() and memoryview().  The former is
 +  deprecated.
 +
 +- Issue #7860: platform.uname now reports the correct 'machine' type when Python
 +  is running in WOW64 mode on 64 bit Windows.
 +
 +- logging: Added getChild utility method to Logger and added isEnabledFor method
 +  to LoggerAdapter.
 +
 +- Issue #8201: logging: Handle situation of non-ASCII and Unicode logger names
 +  existing at the same time, causing a Unicode error when configuration code
 +  attempted to sort the existing loggers.
 +
 +- Issue #8200: logging: Handle errors when multiprocessing is not fully loaded
 +  when logging occurs.
 +
 +- Issue #3890, #8222: Fix recv() and recv_into() on non-blocking SSL sockets.
 +  Also, enable the SSL_MODE_AUTO_RETRY flag on SSL sockets, so that blocking
 +  reads and writes are always retried by OpenSSL itself.
 +
 +- Issue #8179: Fix macpath.realpath() on a non-existing path.
 +
 +- Issue #8024: Update the Unicode database to 5.2.
 +
 +- Issue #8104: socket.recv_into() and socket.recvfrom_into() now support writing
 +  into objects supporting the new buffer API, for example bytearrays or
 +  memoryviews.
 +
 +- Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox
 +  with Tcl/Tk-8.5.
 +
 +- Issue #8140: Extend compileall to compile single files.  Add -i option.
 +
 +- Issue #7356: ctypes.util: Make parsing of ldconfig output independent of the
 +  locale.
 +
 +- 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 #8117: logging: Improved algorithm for computing initial rollover time
 +  for ``TimedRotatingFileHandler`` by using the modification time of an existing
 +  log file to compute the next rollover time.  If the log file does not exist,
 +  the current time is used as the basis for the computation.
 +
 +- Issue #6472: The ``xml.etree`` package is updated to ElementTree 1.3.  The
 +  cElementTree module is updated too.
 +
 +- Issue #7880: Fix sysconfig when the python executable is a symbolic link.
 +
 +- Issue #7624: Fix ``isinstance(foo(), collections.Callable)`` for old-style
 +  classes.
 +
 +- Issue #7143: email: ``get_payload()`` used to strip any trailing newline from
 +  a base64 transfer-encoded payload *after* decoding it; it no longer does.
 +  This is a behavior change, so email's minor version number is now bumped, to
 +  version 4.0.2, for the 2.7 release.
 +
 +- Issue #8235: _socket: Add the constant ``SO_SETFIB``.  SO_SETFIB is
 +  a socket option available on FreeBSD 7.1 and newer.
 +
 +- Issue #8038: unittest.TestCase.assertNotRegexpMatches
 +
 +- Addition of -b command line option to unittest for buffering stdout / stderr
 +  during test runs.
 +
 +- Issue #1220212: Added os.kill support for Windows, including support for
 +  sending CTRL+C and CTRL+BREAK events to console subprocesses.
 +
 +Extension Modules
 +-----------------
 +
 +- Issue #8314: Fix unsigned long long bug in libffi on Sparc v8.
 +
 +- Issue #1039, #8154: Fix os.execlp() crash with missing 2nd argument.
 +
 +- Issue #8156: bsddb module updated to version 4.8.4.
 +  http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.8.4.  This update drops
 +  support for Berkeley DB 4.0, and adds support for 4.8.
 +
 +- Issue #3928: os.mknod() now available in Solaris, also.
 +
 +- Issue #8142: Update libffi to the 3.0.9 release.
 +
 +- Issue #8300: When passing a non-integer argument to struct.pack with any
 +  integer format code, struct.pack first attempts to convert the non-integer
 +  using its __index__ method.  If that method is non-existent or raises
 +  TypeError it goes on to try the __int__ method, as described below.
 +
 +- Issue #1530559: When passing a non-integer argument to struct.pack with *any*
 +  integer format code (one of 'bBhHiIlLqQ'), struct.pack attempts to use the
 +  argument's __int__ method to convert to an integer before packing.  It also
 +  produces a DeprecationWarning in this case.  (In Python 2.6, the behaviour was
 +  inconsistent: __int__ was used for some integer codes but not for others, and
 +  the set of integer codes for which it was used differed between native packing
 +  and standard packing.)
 +
 +- Issue #7347: _winreg: Add CreateKeyEx and DeleteKeyEx, as well as fix a bug in
 +  the return value of QueryReflectionKey.
 +
 +Tools/Demos
 +-----------
 +
 +- Issue #7993: Add a test of IO packet processing bandwidth to ccbench.  It
 +  measures the number of UDP packets processed per second depending on the
 +  number of background CPU-bound Python threads.
 +
 +- python-config now supports multiple options on the same command line.
 +
 +Build
 +-----
 +
 +- Issue #8032: For gdb7, a python-gdb.py file is added to the build, allowing to
 +  use advanced gdb features when debugging Python.
 +
 +- Issue #1628484: The Makefile doesn't ignore the CFLAGS environment variable
 +  anymore.  It also forwards the LDFLAGS settings to the linker when building a
 +  shared library.
 +
 +- Issue #6716: Quote -x arguments of compileall in MSI installer.
 +
 +- Issue #7705: Fix linking on FreeBSD.
 +
 +- Make sure that the FreeBSD build of the included libffi uses the proper
 +  assembly file.
 +
 +C-API
 +-----
 +
 +- Issue #8276: PyEval_CallObject() is now only available in macro form.  The
 +  function declaration, which was kept for backwards compatibility reasons, is
 +  now removed (the macro was introduced in 1997!).
 +
 +- Issue #7992: A replacement PyCObject API, PyCapsule, has been backported from
 +  Python 3.1.  All existing Python CObjects in the main distribution have been
 +  converted to capsules.  To address backwards-compatibility concerns,
 +  PyCObject_AsVoidPtr() was changed to understand capsules.
 +
 +Tests
 +-----
 +
 +- Issue #3864: Skip three test_signal tests on freebsd6 because they fail if any
 +  thread was previously started, most likely due to a platform bug.
 +
 +- Issue #8348: Fix test ftp url in test_urllib2net.
 +
 +- Issue #8204: Fix test_ttk notebook test by forcing focus.
 +
 +- Issue #8344: Fix test_ttk bug on FreeBSD.
 +
 +- Issue #8193: Fix test_zlib failure with zlib 1.2.4.
 +
 +- Issue #8248: Add some tests for the bool type.  Patch by Gregory Nofi.
 +
 +- Issue #8263: Now regrtest.py will report a failure if it receives a
 +  KeyboardInterrupt (SIGINT).
 +
 +- Issue #8180 and #8207: Fix test_pep277 on OS X and add more tests for special
 +  Unicode normalization cases.
 +
 +- Issue #7783: test.test_support.open_urlresource invalidates the outdated files
 +  from the local cache.
 +
 +
 +What's New in Python 2.7 alpha 4?
 +=================================
 +
 +*Release date: 2010-03-06*
 +
 +Core and Builtins
 +-----------------
 +
 +- Issue #7544: Preallocate thread memory before creating the thread to avoid a
 +  fatal error in low memory condition.
 +
 +- Issue #7820: The parser tokenizer restores all bytes in the right if the BOM
 +  check fails.
 +
 +- Issue #7309: Fix unchecked attribute access when converting
 +  UnicodeEncodeError, UnicodeDecodeError, and UnicodeTranslateError to strings.
 +
 +- Issue #7649: "u'%c' % char" now behaves like "u'%s' % char" and raises a
 +  UnicodeDecodeError if 'char' is a byte string that can't be decoded using the
 +  default encoding.
 +
 +- Issue #6902: Fix problem with built-in types format incorrectly with 0
 +  padding.
 +
 +- Issue #2560: Remove an unnecessary 'for' loop from ``my_fgets()`` in
 +  Parser/myreadline.c.
 +
 +- Issue #7988: Fix default alignment to be right aligned for
 +  ``complex.__format__``.  Now it matches other numeric types.
 +
 +- Issue #5211: The complex type no longer uses implicit coercion in mixed-type
 +  binary arithmetic operations.
 +
 +Library
 +-------
 +
 +- Issue #7904: Changes to urllib.parse.urlsplit to handle schemes as defined by
 +  RFC3986. Anything before :// is considered a scheme and is followed by an
 +  authority (or netloc) and by '/' led path, which is optional.
 +
 +- Issue #1555570: email no longer inserts extra blank lines when a \r\n
 +  combo crosses an 8192 byte boundary.
 +
 +- Issue #6906: Tk should not set Unicode environment variables on Windows.
 +
 +- Issue #1054943: Fix ``unicodedata.normalize('NFC', text)`` for the Public
 +  Review Issue #29 (http://unicode.org/review/pr-29.html).
 +
 +- Issue #7494: Fix a crash in ``_lsprof`` (cProfile) after clearing the profiler,
 +  reset also the pointer to the current pointer context.
 +
 +- Issue #7232: Add support for the context manager protocol to the
 +  ``tarfile.TarFile`` class.
 +
 +- Issue #7250: Fix info leak of os.environ across multi-run uses of
 +  ``wsgiref.handlers.CGIHandler``.
 +
 +- Issue #1729305: Fix doctest to handle encode error with "backslashreplace".
 +
 +- Issue #691291: ``codecs.open()`` should not convert end of lines on reading
 +  and writing.
 +
 +- Issue #7975: Correct regression in dict methods supported by bsddb.dbshelve.
 +
 +- Issue #7959: ctypes callback functions are now registered correctly with the
 +  cycle garbage collector.
 +
 +- Issue #7970: ``email.Generator.flatten`` now correctly flattens
 +  message/rfc822 messages parsed by ``email.Parser.HeaderParser``.
 +
 +- Issue #3426: ``os.path.abspath`` now returns unicode when its arg is unicode.
 +
 +- Issue #7633: In the decimal module, ``Context`` class methods (with the
 +  exception of canonical and is_canonical) now accept instances of int and long
 +  wherever a Decimal instance is accepted, and implicitly convert that argument
 +  to Decimal.  Previously only some arguments were converted.
 +
 +- Issue #6003: Add an argument to ``zipfile.Zipfile.writestr`` to specify the
 +  compression type.
 +
 +- Issue #7893: ``unittest.TextTestResult`` is made public and a ``resultclass``
 +  argument added to the TextTestRunner constructor allowing a different result
 +  class to be used without having to subclass.
 +
 +- Issue #7588: ``unittest.TextTestResult.getDescription`` now includes the test
 +  name in failure reports even if the test has a docstring.
 +
 +- Issue #5801: Remove spurious empty lines in wsgiref.
 +
 +- Issue #1537721: Add a ``writeheader()`` method to ``csv.DictWriter``.
 +
 +- Issue #7427: Improve the representation of httplib.BadStatusLine exceptions.
 +
 +- Issue #7481: When a ``threading.Thread`` failed to start it would leave the
 +  instance stuck in initial state and present in ``threading.enumerate()``.
 +
 +- Issue #1068268: The subprocess module now handles EINTR in internal
 +  ``os.waitpid()`` and ``os.read()`` system calls where appropriate.
 +
 +- Issue #6729: Add ``ctypes.c_ssize_t`` to represent ssize_t.
 +
 +- Issue #6247: The argparse module has been added to the standard library.
 +
 +Extension Modules
 +-----------------
 +
 +- The sqlite3 module was updated to pysqlite 2.6.0.  This fixes several obscure
 +  bugs and allows loading SQLite extensions from shared libraries.
 +
 +- Issue #7808: Fix reference leaks in _bsddb and related tests.
 +
 +- Issue #6544: Fix a reference leak in the kqueue implementation's error
 +  handling.
 +
 +- Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as
 +  msvcr100.dll is not a platform assembly anymore.
 +
 +- Issue #7242: On Solaris 9 and earlier calling ``os.fork()`` from within a
 +  thread could raise an incorrect RuntimeError about not holding the import
 +  lock.  The import lock is now reinitialized after fork.
 +
 +- Issue #7999: ``os.setreuid()`` and ``os.setregid()`` would refuse to accept a
 +  -1 parameter on some platforms such as OS X.
 +
 +Tests
 +-----
 +
 +- Issue #7849: The utility ``test.test_support.check_warnings()`` verifies if
 +  warnings are effectively raised.  A new utility ``check_py3k_warnings()`` is
 +  available.
 +
 +- The four path modules (genericpath, macpath, ntpath, posixpath) share a
 +  common TestCase for some tests: test_genericpath.CommonTest.
 +
 +- Print platform information when running the whole test suite, or using the
 +  ``--verbose`` flag.
 +
 +- Issue #767675: Enable test_pep277 on POSIX platforms with Unicode-friendly
 +  filesystem encoding.
 +
 +- Issue #6292: For the moment at least, the test suite runs cleanly if python
 +  is run with the -OO flag.  Tests requiring docstrings are skipped.
 +
 +- Issue #7712: test_support gained a new ``temp_cwd`` context manager which is
 +  now also used by regrtest to run all the tests in a temporary directory.  The
 +  original CWD is saved in ``test.test_support.SAVEDCWD``.  Thanks to Florent
 +  Xicluna who helped with the patch.
 +
 +Build
 +-----
 +
 +- Issue #3920, #7903: Define _BSD_SOURCE on OpenBSD 4.4 through 4.9.
 +
 +
 +What's New in Python 2.7 alpha 3?
 +=================================
 +
 +*Release date: 2010-02-06*
 +
 +Core and Builtins
 +-----------------
 +
 +- Issue #5677: Explicitly forbid write operations on read-only file objects,
 +  and read operations on write-only file objects.  On Windows, the system C
 +  library would return a bogus result; on Solaris, it was possible to crash the
 +  interpreter.  Patch by Stefan Krah.
 +
 +- Issue #7853: Normalize exceptions before they are passed to a context
 +  manager's ``__exit__()`` method.
 +
 +- Issue #7385: Fix a crash in ``PyMemoryView_FromObject()`` when
 +  ``PyObject_GetBuffer()`` fails.  Patch by Florent Xicluna.
 +
 +- Issue #7819: Check ``sys.call_tracing()`` arguments types.
 +
 +- Issue #7788: Fix an interpreter crash produced by deleting a list slice with
 +  very large step value.
 +
 +- Issue #7766: Change ``sys.getwindowsversion()`` return value to a named tuple
 +  and add the additional members returned in an OSVERSIONINFOEX structure.  The
 +  new members are service_pack_major, service_pack_minor, suite_mask, and
 +  product_type.
 +
 +- Issue #7561: Operations on empty bytearrays (such as ``int(bytearray())``)
 +  could crash in many places because of the ``PyByteArray_AS_STRING()`` macro
 +  returning NULL.  The macro now returns a statically allocated empty string
 +  instead.
 +
 +- Issue #7622: Improve the split(), rsplit(), splitlines() and replace()
 +  methods of bytes, bytearray and unicode objects by using a common
 +  implementation based on stringlib's fast search.  Patch by Florent Xicluna.
 +
 +- Issue #7632: Fix various str -> float conversion bugs present in 2.7 alpha 2,
 +  including:
 +
 +  (1) a serious 'wrong output' bug that could occur for long (> 40 digit) input
 +      strings,
 +  (2) a crash in dtoa.c that occurred in debug builds when parsing certain long
 +      numeric strings corresponding to subnormal values,
 +  (3) a memory leak for some values large enough to cause overflow, and
 +  (4) a number of flaws that could lead to incorrectly rounded results.
 +
 +- Issue #7319, #7770: Silence ``DeprecationWarning`` by default when the -3
 +  option is not used.
 +
 +- Issue #2335: Backport set literals syntax from Python 3.x.
 +
 +- Issue #2333: Backport set and dict comprehensions syntax from Python 3.x.
 +
 +- Issue #1967: Backport dictionary views from Python 3.x.
 +
 +Library
 +-------
 +
 +- Issue #9137: Fix issue in MutableMapping.update, which incorrectly
 +  treated keyword arguments called 'self' or 'other' specially.
 +
 +- Issue #7835: shelve should no longer produce mysterious warnings during
 +  interpreter shutdown.
 +
 +- Issue #2746: Don't escape ampersands and angle brackets ("&", "<", ">") in
 +  XML processing instructions and comments.  These raw characters are allowed
 +  by the XML specification, and are necessary when outputting e.g.  PHP code in
 +  a processing instruction.  Patch by Neil Muller.
 +
 +- Issue #7869: logging: Improved diagnostic for format-time errors.
 +
 +- Issue #7868: logging: Added loggerClass attribute to Manager.
 +
 +- Issue #7851: logging: Clarification on logging configuration files.
 +
 +- Issue #4772: Raise a ValueError when an unknown Bluetooth protocol is
 +  specified, rather than fall through to AF_PACKET (in the ``socket`` module).
 +  Also, raise ValueError rather than TypeError when an unknown TIPC address
 +  type is specified.  Patch by Brian Curtin.
 +
 +- logging: Implemented PEP 391.
 +
 +- Issue #6939: Fix file I/O objects in the `io` module to keep the original
 +  file position when calling `truncate()`.  It would previously change the file
 +  position to the given argument, which goes against the tradition of
 +  ftruncate() and other truncation APIs.  Patch by Pascal Chambon.
 +
 +- Issue #7610: Reworked implementation of the internal ``zipfile.ZipExtFile``
 +  class used to represent files stored inside an archive.  The new
 +  implementation is significantly faster and can be wrapped in a
 +  ``io.BufferedReader`` object for more speedups.  It also solves an issue
 +  where interleaved calls to ``read()`` and ``readline()`` give wrong results.
 +  Patch by Nir Aides.
 +
 +- Issue #7792: Registering non-classes to ABCs raised an obscure error.
 +
 +- Removed the deprecated functions ``verify()`` and ``vereq()`` from
 +  Lib/test/test_support.py.
 +
 +- Issue #7773: Fix an UnboundLocalError in ``platform.linux_distribution()``
 +  when the release file is empty.
 +
 +- Issue #7748: Since unicode values are supported for some metadata options in
 +  Distutils, the DistributionMetadata get_* methods will now return an utf-8
 +  encoded string for them.  This ensures that the upload and register commands
 +  send the correct values to PyPI without any error.
 +
 +- Issue #1670765: Prevent ``email.generator.Generator`` from re-wrapping
 +  headers in multipart/signed MIME parts, which fixes one of the sources of
 +  invalid modifications to such parts by Generator.
 +
 +- Issue #7701: Fix crash in ``binascii.b2a_uu()`` in debug mode when given a
 +  1-byte argument.  Patch by Victor Stinner.
 +
 +- Issue #3299: Fix possible crash in the _sre module when given bad argument
 +  values in debug mode.  Patch by Victor Stinner.
 +
 +- Issue #7703: Add support for the new buffer API to functions of the binascii
 +  module.  Backported from py3k by Florent Xicluna, with some additional tests.
 +
 +- Issue #2846: Add support for gzip.GzipFile reading zero-padded files.  Patch
 +  by Brian Curtin.
 +
 +- Issue #5827: Make sure that normpath preserves unicode.  Initial patch by
 +  Matt Giuca.
 +
 +- Issue #5372: Drop the reuse of .o files in Distutils' ccompiler (since
 +  Extension extra options may change the output without changing the .c file).
 +  Initial patch by Collin Winter.
 +
 +Extension Modules
 +-----------------
 +
 +- Expat: Fix DoS via XML document with malformed UTF-8 sequences
 +  (CVE_2009_3560).
  
 -- Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is
 -  generated in Distutils. Patch by Stephen Emslie.
 +Build
 +-----
  
 -- Issue #4120: Drop reference to CRT from manifest when building extensions
 -  with msvc9compiler.
 +- Issue #7632: When Py_USING_MEMORY_DEBUGGER is defined, disable the private
 +  memory allocation scheme in dtoa.c and use PyMem_Malloc and PyMem_Free
 +  instead.  Also disable caching of powers of 5.
  
 -- Issue #7410: deepcopy of itertools.count() erroneously reset the count.
 +- Issue #7658: Ensure that the new pythonw executable works on OSX 10.4
  
 -- Issue #7403: logging: Fixed possible race condition in lock creation.
 +- Issue #7714: Use ``gcc -dumpversion`` to detect the version of GCC on
 +  MacOSX.
  
 -- Issue #7341: Close the internal file object in the TarFile constructor in
 -  case of an error.
 +- Issue #7661: Allow ctypes to be built from a non-ASCII directory path.
 +  Patch by Florent Xicluna.
  
 -- Issue #7328: pydoc no longer corrupts sys.path when run with the '-m' switch
 +Tools/Demos
 +-----------
  
 -- Issue #7318: multiprocessing now uses a timeout when it fails to establish
 -  a connection with another process, rather than looping endlessly. The
 -  default timeout is 20 seconds, which should be amply sufficient for
 -  local connections.
 +- iobench (a file I/O benchmark) and ccbench (a concurrency benchmark) were
 +  added to the ``Tools`` directory.  They were previously living in the
 +  sandbox.
  
 -- Issue #7282: Fix a memory leak when an RLock was used in a thread other
 -  than those started through `threading.Thread` (for example, using
 -  `thread.start_new_thread()`.
 +Tests
 +-----
  
 -- Issue #7264: Fix a possible deadlock when deallocating thread-local objects
 -  which are part of a reference cycle.
 +- issue #7728: test_timeout was changed to use ``test_support.bind_port()``
 +  instead of a hard coded port.
  
 -- Issue #7249: Methods of io.BytesIO now allow `long` as well as `int`
 -  arguments.
 +Documentation
 +-------------
  
 -- Issue #6665: Fix fnmatch to properly match filenames with newlines in them.
 +- Updated "Using Python" documentation to include description of CPython's -J,
 +  -U and -X options.
 +
 +- Updated Python manual page (options -B, -O0, -s, environment variables
 +  PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE).
 +
 +
 +What's New in Python 2.7 alpha 2?
 +=================================
 +
 +*Release date: 2010-01-09*
 +
 +Core and Builtins
 +-----------------
 +
 +- The ``__complex__()`` method is now looked up on the class of instances to
 +  make it consistent with other special methods.
 +
 +- Issue #7462: Implement the stringlib fast search algorithm for the `rfind`,
 +  `rindex`, `rsplit` and `rpartition` methods.  Patch by Florent Xicluna.
 +
 +- Issue #5080: A number of functions and methods previously produced a
 +  DeprecationWarning when passed a float argument where an integer was expected.
 +  These functions and methods now raise TypeError instead.  The majority of the
 +  effects of this change are in the extension modules, but some core functions
 +  and methods are affected: notably the 'chr', 'range' and 'xrange' builtins,
 +  and many unicode/str methods.
 +
 +- Issue #7604: Deleting an unset slotted attribute did not raise an
 +  AttributeError.
 +
 +- Issue #7534: Fix handling of IEEE specials (infinities, nans, negative zero)
 +  in ** operator.  The behaviour now conforms to that described in C99 Annex F.
 +
 +- Issue #7579: The msvcrt module now has docstrings for all its functions.
 +
 +- Issue #7413: Passing '\0' as the separator to datetime.datetime.isoformat()
 +  used to drop the time part of the result.
 +
 +- Issue #1811: Improve accuracy and cross-platform consistency for true division
 +  of integers: the result of a/b is now correctly rounded for ints a and b (at
 +  least on IEEE 754 platforms), and in particular does not depend on the
 +  internal representation of a long.
 +
 +- Issue #6108: ``unicode(exception)`` and ``str(exception)`` should return the
 +  same message when only ``__str__()`` (and not ``__unicode__()``) is overridden
 +  in the subclass.
 +
 +- Issue #6834: Replace the implementation for the 'python' and 'pythonw'
 +  executables on OSX.
 +
 +  These executables now work properly with the arch(1) command: ``arch -ppc
 +  python`` will start a universal binary version of python in PPC mode (unlike
 +  previous releases).
 +
 +- Issue #1680159: Unicode coercion during an 'in' operation no longer masks the
 +  underlying error when the coercion fails for the left hand operand.
 +
 +- Issue #7491: Metaclass's __cmp__ method was ignored.
 +
 +- Issue #7466: Segmentation fault when the garbage collector is called in the
 +  middle of populating a tuple.  Patch by Florent Xicluna.
 +
 +
 +Library
 +-------
 +
 +- Issue #6963: Added "maxtasksperchild" argument to ``multiprocessing.Pool``,
 +  allowing for a maximum number of tasks within the pool to be completed by the
 +  worker before that worker is terminated, and a new one created to replace it.
 +
 +- Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes gcc
 +  when it has a fully qualified configuration prefix.  Initial patch by
 +  Arfrever.
 +
 +- Issue #7092: Remove py3k warning when importing cPickle.  2to3 handles
 +  renaming of `cPickle` to `pickle`.  The warning was annoying since there's no
 +  alternative to cPickle if you care about performance.  Patch by Florent
 +  Xicluna.
 +
 +- Issue #7455: Fix possible crash in cPickle on invalid input.  Patch by Victor
 +  Stinner.
 +
 +- Issue #7092: Fix the DeprecationWarnings emitted by the standard library when
 +  using the -3 flag.  Patch by Florent Xicluna.
 +
 +- Issue #7471: Improve the performance of GzipFile's buffering mechanism, and
 +  make it implement the ``io.BufferedIOBase`` ABC to allow for further speedups
 +  by wrapping it in an ``io.BufferedReader``.  Patch by Nir Aides.
 +
 +- Issue #3972: ``httplib.HTTPConnection`` now accepts an optional source_address
 +  parameter to allow specifying where your connections come from.
 +
 +- ``socket.create_connection()`` now accepts an optional source_address
 +  parameter.
 +
 +- Issue #5511: ``zipfile.ZipFile`` can now be used as a context manager.
 +  Initial patch by Brian Curtin.
 +
 +- Distutils now correctly identifies the build architecture as "x86_64" when
 +  building on OSX 10.6 without "-arch" flags.
 +
 +- Issue #7556: Distutils' msvc9compiler now opens the MSVC Manifest file in text
 +  mode.
 +
 +- Issue #7552: Removed line feed in the base64 Authorization header in the
 +  Distutils upload command to avoid an error when PyPI reads it.  This occurs on
 +  long passwords.  Initial patch by JP St. Pierre.
 +
 +- Issue #7231: urllib2 cannot handle https with proxy requiring auth.  Patch by
 +  Tatsuhiro Tsujikawa.
 +
 +- Issue #7349: Make methods of file objects in the io module accept None as an
 +  argument where file-like objects (ie StringIO and BytesIO) accept them to mean
 +  the same as passing no argument.
 +
 +- Issue #7348: ``StringIO.StringIO.readline(-1)`` now acts as if it got no
 +  argument like other file objects.
 +
 +- Issue #7357: tarfile no longer suppresses fatal extraction errors by default.
 +
 +- Issue #7470: logging: Fix bug in Unicode encoding fallback.
 +
 +- Issue #5949: Fixed IMAP4_SSL hang when the IMAP server response is missing
 +  proper end-of-line termination.
 +
 +- Issue #7457: Added a read_pkg_file method to
 +  ``distutils.dist.DistributionMetadata``.
 +
 +- Issue #3745: Undo the 2.7a1 change to have hashlib to reject unicode and non
 +  buffer API supporting objects as input.  That behavior is for 3.x only.
 +
 +C-API
 +-----
 +
 +- Issue #7767: New function ``PyLong_AsLongLongAndOverflow()`` added, analogous
 +  to ``PyLong_AsLongAndOverflow()``.
 +
 +- Issue #5080: The argument parsing functions ``PyArg_ParseTuple()``,
 +  ``PyArg_ParseTupleAndKeywords()``, ``PyArg_VaParse()``,
 +  ``PyArg_VaParseTupleAndKeywords()`` and ``PyArg_Parse()`` no longer accept
 +  float arguments for integer format codes (other than 'L'): previously an
 +  attempt to pass a float resulted in a DeprecationWarning; now it gives a
 +  TypeError.  For the 'L' format code (which previously had no warning) there is
 +  now a DeprecationWarning.
 +
 +- Issue #7033: Function ``PyErr_NewExceptionWithDoc()`` added.
 +
 +Build
 +-----
 +
 +- Issue #6491: Allow --with-dbmliborder to specify that no dbms will be built.
 +
 +- Issue #6943: Use pkg-config to find the libffi headers when the
 +  ``--with-system-ffi`` flag is used.
 +
 +- Issue #7609: Add a ``--with-system-expat`` option that causes the system's
 +  expat library to be used for the pyexpat module instead of the one included
 +  with Python.
 +
 +- Issue #7589: Only build the nis module when the correct header files are
 +  found.
 +
 +- Switch to OpenSSL 0.9.8l and sqlite 3.6.21 on Windows.
 +
 +- Issue #7541: when using ``python-config`` with a framework install the
 +  compiler might use the wrong library.
 +
 +Tests
 +-----
 +
 +- Issue #7376: Instead of running a self-test (which was failing) when called
 +  with no arguments, doctest.py now gives a usage message.
 +
 +- Issue #7396: Fix regrtest -s, which was broken by the -j enhancement.
 +
 +- Issue #7498: test_multiprocessing now uses test_support.find_unused_port
 +  instead of a hardcoded port number in test_rapid_restart.
 +
 +
 +What's New in Python 2.7 alpha 1
 +================================
 +
 +*Release date: 2009-12-05*
 +
 +Core and Builtins
 +-----------------
 +
 +- Issue #7419: ``locale.setlocale()`` could crash the interpreter on Windows
 +  when called with invalid values.
 +
 +- Issue #3382: 'F' formatting for float and complex now convert the result to
 +  upper case.  This only affects 'inf' and 'nan', since 'f' no longer converts
 +  to 'g' for large values.
 +
 +- Remove switch from "%f" formatting to "%g" formatting for floats larger than
 +  1e50 in absolute value.
 +
 +- Remove restrictions on precision when formatting floats.  E.g., "%.120g" %
 +  1e-100 used to raise OverflowError, but now gives the requested 120
 +  significant digits instead.
 +
 +- Add Py3k warnings for parameter names in parentheses.
 +
 +- Issue #7362: Give a proper error message for ``def f((x)=3): pass``.
 +
 +- Issue #7085: Fix crash when importing some extensions in a thread on MacOSX
 +  10.6.
 +
 +- Issue #7117: ``repr(x)`` for a float x returns a result based on the shortest
 +  decimal string that's guaranteed to round back to x under correct rounding
 +  (with round-half-to-even rounding mode).  Previously it gave a string based on
 +  rounding x to 17 decimal digits.  repr(x) for a complex number behaves
 +  similarly.  On platforms where the correctly-rounded strtod and dtoa code is
 +  not supported (see below), repr is unchanged.
 +
 +- Issue #7117: On almost all platforms: float-to-string and string-to-float
 +  conversions within Python are now correctly rounded.  Places these conversions
 +  occur include: str for floats and complex numbers; the float and complex
 +  constructors; old-style and new-style numeric formatting; serialization and
 +  deserialization of floats and complex numbers using marshal, pickle and json;
 +  parsing of float and imaginary literals in Python code; Decimal-to-float
 +  conversion.
 +
 +  The conversions use a Python-adapted version of David Gay's well-known dtoa.c,
 +  providing correctly-rounded strtod and dtoa C functions.  This code is
 +  supported on Windows, and on Unix-like platforms using gcc, icc or suncc as
 +  the C compiler.  There may be a small number of platforms on which correct
 +  operation of this code cannot be guaranteed, so the code is not used: notably,
 +  this applies to platforms where the C double format is not IEEE 754 binary64,
 +  and to platforms on x86 hardware where the x87 FPU is set to 64-bit precision
 +  and Python's configure script is unable to determine how to change the FPU
 +  precision.  On these platforms conversions use the platform strtod and dtoa,
 +  as before.
 +
 +- Issue #7117: Backport round implementation from Python 3.x.  ``round()`` now
 +  uses the correctly-rounded string <-> float conversions described above (when
 +  available), and so produces correctly rounded results that will display nicely
 +  under the float repr.  There are two related small changes: (1) round now
 +  accepts any class with an ``__index__()`` method for its second argument (but
 +  no longer accepts floats for the second argument), and (2) an excessively
 +  large second integer argument (e.g., ``round(1.234, 10**100)``) no longer
 +  raises an exception.
 +
 +- Issue #1757126: Fix the cyrillic-asian alias for the ptcp154 encoding.
 +
 +- Fix several issues with ``compile()``.  The input can now contain Windows and
 +  Mac newlines and is no longer required to end in a newline.
 +
 +- Remove length limitation when constructing a complex number from a unicode
 +  string.
 +
 +- Issue #7244: ``itertools.izip_longest()`` no longer ignores exceptions raised
 +  during the formation of an output tuple.
 +
 +- Issue #1087418: Boost performance of bitwise operations for longs.
 +
 +- Issue #1722344: ``threading._shutdown()`` is now called in ``Py_Finalize()``,
 +  which fixes the problem of some exceptions being thrown at shutdown when the
 +  interpreter is killed.  Patch by Adam Olsen.
 +
 +- Issue #7168: Document ``PyFloat_AsString()`` and ``PyFloat_AsReprString()``,
 +  and note that they are unsafe and deprecated.
 +
 +- Issue #7120: logging: Remove import of multiprocessing which is causing crash
 +  in GAE.
 +
 +- Issue #7140: The ``__dict__`` of a module should not be cleared unless the
 +  module is the only object holding a reference to it.
 +
 +- Issue #1754094: Improve the stack depth calculation in the compiler.  There
 +  should be no other effect than a small decrease in memory use.  Patch by
 +  Christopher Tur Lesniewski-Laas.
 +
 +- Issue #7084: Fix a (very unlikely) crash when printing a list from one thread,
 +  and mutating it from another one.  Patch by Scott Dial.
 +
 +- Issue #1571184: The Unicode database contains properties for more characters.
 +  The tables for code points representing numeric values, white spaces or line
 +  breaks are now generated from the official Unicode Character Database files,
 +  and include information from the Unihan.txt file.
 +
 +- Issue #7050: Fix a SystemError when trying to use unpacking and augmented
 +  assignment.
 +
 +- Issue #5329: Fix ``os.popen*`` regression from 2.5 with commands as a sequence
 +  running through the shell.  Patch by Jean-Paul Calderone and Jani Hakala.
 +
 +- Issue #7019: Raise ValueError when unmarshalling bad long data, instead of
 +  producing internally inconsistent Python longs.
 +
 +- Issue #6990: Fix ``threading.local`` subclasses leaving old state around after
 +  a reference cycle GC which could be recycled by new locals.
 +
 +- Issue #6300: unicode.encode, unicode.decode, str.decode, and str.encode now
 +  take keyword arguments.
 +
 +- Issue #6922: Fix an infinite loop when trying to decode an invalid UTF-32
 +  stream with a non-raising error handler like "replace" or "ignore".
 +
 +- Issue #6713: Improve performance of base 10 int -> string and long -> string
 +  conversions.
 +
 +- Issue #1590864: Fix potential deadlock when mixing threads and fork().
 +
 +- Issue #6844: Do not emit DeprecationWarnings when accessing a "message"
 +  attribute on exceptions that was set explicitly.
 +
 +- Issue #6846: Fix bug where bytearray.pop() returns negative integers.
 +
 +- ``classmethod()`` no longer checks if its argument is callable.
 +
 +- Issue #6750: A text file opened with ``io.open()`` could duplicate its output
 +  when writing from multiple threads at the same time.
 +
 +- Issue #6704: Improve the col_offset in AST for "for" statements with a target
 +  of tuple unpacking.
 +
 +- Issue #6707: ``dir()`` on an uninitialized module caused a crash.
 +
 +- Issue #6540: Fixed crash for ``bytearray.translate()`` with invalid parameters.
 +
 +- Issue #6573: ``set.union()`` stopped processing inputs if an instance of self
 +  occurred in the argument chain.
 +
 +- Issue #1616979: Added the cp720 (Arabic DOS) encoding.
 +
 +- Issue #6070: On posix platforms import no longer copies the execute bit from
 +  the .py file to the .pyc file if it is set.  Patch by Marco N.
 +
 +- Issue #4618: When unicode arguments are passed to ``print()``, the default
 +  separator and end should be unicode also.
 +
 +- Issue #6119: Fixed an incorrect Py3k warning about order comparisons of
 +  built-in functions and methods.
 +
 +- Issue #6347: Include inttypes.h as well as stdint.h in pyport.h.  This fixes a
 +  build failure on HP-UX: int32_t and uint32_t are defined in inttypes.h instead
 +  of stdint.h on that platform.
 +
 +- Issue #4856: Remove checks for win NT.
 +
 +- Issue #2016: Fixed a crash in a corner case where the dictionary of keyword
 +  arguments could be modified during the function call setup.
 +
 +- Removed the ipaddr module.
 +
 +- Issue #6329: Fixed iteration for memoryview objects (it was being blocked
 +  because it wasn't recognized as a sequence).
 +
 +- Issue #6289: Encoding errors from ``compile()`` were being masked.
 +
 +- When no module is given in a relative import, the module field of the
 +  ImportFrom AST node is now None instead of an empty string.
 +
 +- Assignment to None using import statements now raises a SyntaxError.
 +
 +- Issue #4547: When debugging a very large function, it was not always possible
 +  to update the lineno attribute of the current frame.
 +
 +- Issue #5330: C functions called with keyword arguments were not reported by
 +  the various profiling modules (profile, cProfile).  Patch by Hagen Fürstenau.
 +
 +- Issue #5982: staticmethod and classmethod now expose the wrapped function with
 +  ``__func__``.
 +
 +- Added support for multiple context managers in the same with-statement.
 +  Deprecated ``contextlib.nested()`` which is no longer needed.
 +
 +- Issue #6101: A new opcode, SETUP_WITH, has been added to speed up the with
 +  statement and correctly lookup the __enter__ and __exit__ special methods.
 +
 +- Issue #5829: complex("1e500") no longer raises OverflowError.  This makes it
 +  consistent with float("1e500") and interpretation of real and imaginary
 +  literals.
 +
 +- Issue #3527: Removed Py_WIN_WIDE_FILENAMES which is not used any more.
 +
 +- ``__instancecheck__()`` and ``__subclasscheck__()`` are now completely ignored
 +  on classic classes and instances.
 +
 +- Issue #5994: The marshal module now has docstrings.
 +
 +- Issue #5981: Fix three minor inf/nan issues in float.fromhex:
 +
 +  (1) inf and nan strings with trailing whitespace were incorrectly rejected;
 +  (2) parsing of strings representing infinities and nans was locale aware; and
 +  (3) the interpretation of fromhex('-nan') didn't match that of float('-nan').
 +
 +- Issue #5920: For ``float.__format__()``, change the behavior with the empty
 +  presentation type (that is, not one of 'e', 'f', 'g', or 'n') to be like 'g'
 +  but with at least one decimal point and with a default precision
 +  of 12. Previously, the behavior the same but with a default precision of 6.
 +  This more closely matches ``str()``, and reduces surprises when adding
 +  alignment flags to the empty presentation type. This also affects the new
 +  complex.__format__ in the same way.
 +
 +- Issue #5890: In subclasses of 'property' the __doc__ attribute was shadowed by
 +  classtype's, even if it was None.  property now inserts the __doc__ into the
 +  subclass instance __dict__.
 +
 +- Issue #4426: The UTF-7 decoder was too strict and didn't accept some legal
 +  sequences.  Patch by Nick Barnes and Victor Stinner.
 +
 +- Issue #1588: Add complex.__format__. For example, ``format(complex(1, 2./3),
 +  '.5')`` now produces a sensible result.
 +
 +- Issue #5864: Fix empty format code formatting for floats so that it never
 +  gives more than the requested number of significant digits.
 +
 +- Issue #5793: Rationalize isdigit / isalpha / tolower, etc. Includes new
 +  Py_ISDIGIT / Py_ISALPHA / Py_TOLOWER, etc. in pctypes.h.
 +
 +- Issue #4971: Fix titlecase for characters that are their own titlecase, but
 +  not their own uppercase.
 +
 +- Issue #5835: Deprecate PyOS_ascii_formatd and replace it with
 +  _PyOS_double_to_string or PyOS_double_to_string.
 +
 +- Issue #5283: Setting __class__ in __del__ caused a segfault.
 +
 +- Issue #5816: ``complex(repr(z))`` now recovers z exactly, even when z involves
 +  nans, infs or negative zeros.
 +
 +- Implement PEP 378, Format Specifier for Thousands Separator, for floats, ints,
 +  and longs.
 +
 +- Issue #5515: 'n' formatting for ints, longs, and floats handles leading zero
 +  formatting poorly.
 +
 +- Issue #5772: For float.__format__, don't add a trailing ".0" if we're using no
 +  type code and we have an exponent.
 +
 +- Issue #3166: Make long -> float (and int -> float) conversions correctly
 +  rounded.
 +
 +- Issue #5787: ``object.__getattribute__(some_type, "__bases__")`` segfaulted on
 +  some built-in types.
 +
 +- Issue #1869: Fix a couple of minor round() issues.  ``round(5e15+1)`` was
 +  giving 5e15+2; ``round(-0.0)`` was losing the sign of the zero.
 +
 +- Issue #5759: float() didn't call __float__ on str subclasses.
 +
 +- Issue #5704: The "-3" command-line option now implies "-t".
 +
 +- Issue #2170: Refactored ``xml.dom.minidom.normalize``, increasing both its
 +  clarity and its speed.
 +
 +- Issue #2396: The memoryview object was backported from Python 3.1.
 +
 +- Fix a problem in PyErr_NormalizeException that leads to "undetected errors"
 +  when hitting the recursion limit under certain circumstances.
 +
 +- Issue #1665206: Remove the last eager import in _warnings.c and make it lazy.
 +
 +- Issue #4865: On MacOSX /Library/Python/2.7/site-packages is added to the end
 +  sys.path, for compatibility with the system install of Python.
 +
 +- Issue #4688: Add a heuristic so that tuples and dicts containing only
 +  untrackable objects are not tracked by the garbage collector. This can reduce
 +  the size of collections and therefore the garbage collection overhead on
 +  long-running programs, depending on their particular use of datatypes.
 +
 +- Issue #5512: Rewrite PyLong long division algorithm (x_divrem) to improve its
 +  performance.  Long divisions and remainder operations are now between 50% and
 +  150% faster.
 +
 +- Issue #4258: Make it possible to use base 2**30 instead of base 2**15 for the
 +  internal representation of integers, for performance reasons.  Base 2**30 is
 +  enabled by default on 64-bit machines.  Add --enable-big-digits option to
 +  configure, which overrides the default.  Add sys.long_info structseq to
 +  provide information about the internal format.
 +
 +- Issue #4034: Fix weird attribute error messages of the traceback object. (As a
 +  result traceback.__members__ no longer exists.)
 +
 +- Issue #4474: PyUnicode_FromWideChar now converts characters outside the BMP to
 +  surrogate pairs, on systems with sizeof(wchar_t) == 4 and sizeof(Py_UNICODE)
 +  == 2.
 +
 +- Issue #5237: Allow auto-numbered fields in str.format(). For example: ``'{}
 +  {}'.format(1, 2) == '1 2'``.
 +
 +- Issue #3652: Make the 'line' argument for ``warnings.showwarning()`` a
 +  requirement.  Means the DeprecationWarning from Python 2.6 can go away.
 +
 +- Issue #5247: Improve error message when unknown format codes are used when
 +  using ``str.format()`` with str, unicode, long, int, and float arguments.
 +
 +- Running Python with the -3 option now also warns about classic division for
 +  ints and longs.
 +
 +- Issue #5260: Long integers now consume less memory: average saving is 2 bytes
 +  per long on a 32-bit system and 6 bytes per long on a 64-bit system.
 +
 +- Issue #5186: Reduce hash collisions for objects with no __hash__ method by
 +  rotating the object pointer by 4 bits to the right.
 +
 +- Issue #4575: Fix Py_IS_INFINITY macro to work correctly on x87 FPUs: it now
 +  forces its argument to double before testing for infinity.
 +
 +- Issue #4978: Passing keyword arguments as unicode strings is now allowed.
 +
 +- Issue #1242657: the __len__() and __length_hint__() calls in several tools
 +  were suppressing all exceptions.  These include list(), filter(), map(),
 +  zip(), and bytearray().
 +
 +- os.ftruncate raises OSErrors instead of IOErrors for consistency with other os
 +  functions.
 +
 +- Issue #4991: Passing invalid file descriptors to io.FileIO now raises an
 +  OSError.
 +
 +- Issue #4807: Port the _winreg module to Windows CE.
 +
 +- Issue #4935: The overflow checking code in the expandtabs() method common to
 +  str, bytes and bytearray could be optimized away by the compiler, letting the
 +  interpreter segfault instead of raising an error.
 +
 +- Issue #3720: Fix a crash when an iterator modifies its class and removes its
 +  __next__ method.
 +
 +- Issue #4893: Use NT threading on CE.
 +
 +- Issue #4915: Port sysmodule to Windows CE.
 +
 +- Issue #4074: Change the criteria for doing a full garbage collection (i.e.
 +  collecting the oldest generation) so that allocating lots of objects without
 +  destroying them does not show quadratic performance. Based on a proposal by
 +  Martin von Löwis at
 +  http://mail.python.org/pipermail/python-dev/2008-June/080579.html.
  
 -- Issue #1008086: Fixed socket.inet_aton() to always return 4 bytes even on
 -  LP64 platforms (most 64-bit Linux, bsd, unix systems).
 +- Issue #4850: Change COUNT_ALLOCS variables to Py_ssize_t.
  
 -- Issue #7246 & Issue #7208: getpass now properly flushes input before
 -  reading from stdin so that existing input does not confuse it and
 -  lead to incorrect entry or an IOError.  It also properly flushes it
 -  afterwards to avoid the terminal echoing the input afterwards on
 -  OSes such as Solaris.
 +- Issue #1180193: When importing a module from a .pyc (or .pyo) file with an
 +  existing .py counterpart, override the co_filename attributes of all code
 +  objects if the original filename is obsolete (which can happen if the file has
 +  been renamed, moved, or if it is accessed through different paths).  Patch by
 +  Ziga Seilnacht and Jean-Paul Calderone.
  
 -- Issue #7244: itertools.izip_longest() no longer ignores exceptions
 -  raised during the formation of an output tuple.
 +- Issue #4075: Use ``OutputDebugStringW()`` in Py_FatalError.
 +
 +- Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
 +  file with `str' filename on Windows.
 +
 +- Issue #3680: Reference cycles created through a dict, set or deque iterator
 +  did not get collected.
 +
 +- Issue #4701: PyObject_Hash now implicitly calls PyType_Ready on types where
 +  the tp_hash and tp_dict slots are both NULL.
 +
 +- Issue #4764: With io.open, IOError.filename is set when trying to open a
 +  directory on POSIX systems.
 +
 +- Issue #4764: IOError.filename is set when trying to open a directory on POSIX
 +  systems.
 +
 +- Issue #4759: None is now allowed as the first argument of
 +  ``bytearray.translate()``.  It was always allowed for ``bytes.translate()``.
 +
 +- Added test case to ensure attempts to read from a file opened for writing
 +  fail.
 +
 +- Issue #2467: gc.DEBUG_STATS reported invalid elapsed times. Also, always print
 +  elapsed times, not only when some objects are uncollectable/unreachable.
 +  Original patch by Neil Schemenauer.
 +
 +- Issue #3439: Add a bit_length method to int and long.
 +
 +- Issue #2183: Simplify and optimize bytecode for list comprehensions.  Original
 +  patch by Neal Norwitz.
 +
 +- Issue #4597: Fixed exception handling when the __exit__ function of a context
 +  manager returns a value that cannot be converted to a bool.
 +
 +- Issue #4597: Fixed several opcodes that weren't always propagating exceptions.
 +
 +- Issue #4445: Replace ``sizeof(PyStringObject)`` with
 +  ``offsetof(PyStringObject, ob_sval) + 1`` when allocating memory for str
 +  instances.  On a typical machine this saves 3 bytes of memory (on average) per
 +  string allocation.
 +
 +- Issue #3996: On Windows, the PyOS_CheckStack function would cause the
 +  interpreter to abort ("Fatal Python error: Could not reset the stack!")
 +  instead of throwing a MemoryError.
 +
 +- Issue #3689: The list reversed iterator now supports __length_hint__ instead
 +  of __len__.  Behavior now matches other reversed iterators.
 +
 +- Issue #4367: Python would segfault during compiling when the unicodedata
 +  module couldn't be imported and \N escapes were present.
  
 -- Issue #7233: Fix a number of two-argument Decimal methods to make
 -  sure that they accept an int or long as the second argument.  Also
 -  fix buggy handling of large arguments (those with coefficient longer
 -  than the current precision) in shift and rotate.
 +- Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()`` method on
 +  file objects with closefd=False. The file descriptor is still kept open but
 +  the file object behaves like a closed file. The ``FileIO`` object also got a
 +  new readonly attribute ``closefd``.
  
 -- Issue #7082: When falling back to the MIME 'name' parameter, the
 -  correct place to look for it is the Content-Type header.
 +- Issue #4348: Some bytearray methods returned that didn't cause any change to
 +  the bytearray, returned the same bytearray instead of a copy.
  
 -- Issue #7099: Decimal.is_normal now returns True for numbers with exponent
 -  larger than emax.
 +- Issue #4317: Fixed a crash in the ``imageop.rgb2rgb8()`` function.
  
 -- Issue #7205: Fix a possible deadlock when using a BZ2File object from
 -  several threads at once.
 +- Issue #4230: If ``__getattr__`` is a descriptor, it now functions correctly.
  
 -- Issue #7048: Force Decimal.logb to round its result when that result
 -  is too large to fit in the current precision.
 +- Issue #4048: The parser module now correctly validates relative imports.
  
 -- Issue #1488943: difflib.Differ() doesn't always add hints for tab characters
 +- Issue #4225: ``from __future__ import unicode_literals`` didn't work in an
 +  exec statement.
  
 -- Issue #5037: Proxy the __unicode__ special method to __unicode__ instead of
 -  __str__.
 +- Issue #4176: Fixed a crash when pickling an object which ``__reduce__`` method
 +  does not return iterators for the 4th and 5th items.
  
 -- Issue #7481: When a threading.Thread failed to start it would leave the
 -  instance stuck in initial state and present in threading.enumerate().
 +- Issue #4209: Enabling unicode_literals and the print_function in the same
 +  __future__ import didn't work.
  
 -- Issue #1068268: The subprocess module now handles EINTR in internal
 -  os.waitpid and os.read system calls where appropriate.
 +- Using ``nonlocal`` as a variable name will now raise a Py3k SyntaxWarning
 +  because it is a reserved word in 3.x.
  
 -Extension Modules
 ------------------
 +- On windows, ``os.chdir()`` given unicode was not working if
 +  GetCurrentDirectoryW returned a path longer than MAX_PATH. (But It's doubtful
 +  this code path is really executed because I cannot move to such directory on
 +  win2k)
  
 -- Issue #7808: Fix reference leaks in _bsddb and related tests.
 +- Issue #4069: When ``set.remove(element)`` is used with a set element, the
 +  element is temporarily replaced with an equivalent frozenset.  But the
 +  eventual KeyError would always report the empty ``frozenset()`` as the missing
 +  key.  Now it correctly refers to the initial element.
  
 -- Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as
 -  msvcr100.dll is not a platform assembly anymore.
 +- Issue #4509: Various issues surrounding resize of bytearray objects to which
 +  there are buffer exports.
  
 -- Issue #6877: Make it possible to link the readline extension to libedit
 -  on OSX.
 +- Issue #4748: Lambda generators no longer return a value.
  
 -- Expat: Fix DoS via XML document with malformed UTF-8 sequences
 -  (CVE_2009_3560).
 +- Issue #3582: Use native TLS functions on Windows
  
 -- Issue #7242: On Solaris 9 and earlier calling os.fork() from within a
 -  thread could raise an incorrect RuntimeError about not holding the import
 -  lock.  The import lock is now reinitialized after fork.
 +- The re.sub(), re.subn() and re.split() functions now accept a flags parameter.
  
 -- Issue #7999: os.setreuid() and os.setregid() would refuse to accept a -1
 -  parameter on some platforms such as OS X.
 +- Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with short
 +  file names.
  
 -Build
 ------
 +- Issue #1113244: Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)'
 +  to avoid compiler warnings.
  
 -- Issue #3920, #7903: Define _BSD_SOURCE on OpenBSD 4.4 through 4.9.
 +- Issue #5705: os.setuid() would not accept values > 2**31-1 but pwd.getpwnam()
 +  returned them on 64bit platforms.
  
 -- Issue #7661: Allow ctypes to be built from a non-ASCII directory path.
 -  Patch by Florent Xicluna.
 +- Issue #5108: Handle %s like %S and %R in PyUnicode_FromFormatV(): Call
 +  PyUnicode_DecodeUTF8() once, remember the result and output it in a second
 +  step. This avoids problems with counting UTF-8 bytes that ignores the effect
 +  of using the replace error handler in PyUnicode_DecodeUTF8().
  
 -- Issue #7589: Only build the nis module when the correct header files are
 -  found.
 +- Issue #3739: The unicode-internal encoder now reports the number of characters
 +  consumed like any other encoder (instead of the number of bytes).
  
 -- Switch to OpenSSL 0.9.8l on Windows.
 +- Issue #2422: When compiled with the ``--with-valgrind`` option, the pymalloc
 +  allocator will be automatically disabled when running under Valgrind.  This
 +  gives improved memory leak detection when running under Valgrind, while taking
 +  advantage of pymalloc at other times.
  
 -- Issue #6603: Change READ_TIMESTAMP macro in ceval.c so that it
 -  compiles correctly under gcc on x86-64.  This fixes a reported
 -  problem with the --with-tsc build on x86-64.
 +Library
 +-------
  
 -- Ensure that it possible to build extensions for the default
 -  binary distribution on OSX 10.6 even when the user does not
 -  have the 10.4u SDK installed.
 +- Add count() and reverse() methods to collections.deque().
  
 -- Issue #7541: when using ``python-config`` with a framework install the
 -  compiler might use the wrong library.
 +- Fix variations of extending deques:  d.extend(d)  d.extendleft(d)  d+=d
  
 -Documentation
 --------------
 +- Issue #6986: Fix crash in the JSON C accelerator when called with the wrong
 +  parameter types.  Patch by Victor Stinner.
  
 -- Updating `Using Python` documentation to include description of CPython's
 -  -J, -U and -X options.
 +- logging: Added optional "secure" parameter to SMTPHandler, to enable use of
 +  TLS with authentication credentials.
  
 -- Update python manual page (options -B, -O0, -s, environment variables
 -  PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE).
 +- Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is generated
 +  in Distutils. Patch by Stephen Emslie.
  
 -Tests
 ------
 +- Issue #4120: Drop reference to CRT from manifest when building extensions with
 +  msvc9compiler.
  
 -- issue #7728: test_timeout was changed to use test_support.bind_port
 -  instead of a hard coded port.
 +- Issue #7333: The ``posix`` module gains an ``initgroups()`` function providing
 +  access to the initgroups(3) C library call on Unix systems which implement it.
 +  Patch by Jean-Paul Calderone.
  
 -- Issue #7498: test_multiprocessing now uses test_support.find_unused_port
 -  instead of a hardcoded port number in test_rapid_restart.
 +- Issue #7408: Fixed distutils.tests.sdist so it doesn't check for group
 +  ownership when the group is not forced, because the group may be different
 +  from the user's group and inherit from its container when the test is run.
  
 -- Issue #7431: use TESTFN in test_linecache instead of trying to create a
 -  file in the Lib/test directory, which might be read-only for the
 -  user running the tests.
 +- Issue #1515: Enable use of deepcopy() with instance methods.  Patch by Robert
 +  Collins.
  
 -- Issue #7324: add a sanity check to regrtest argument parsing to
 -  catch the case of an option with no handler.
 +- Issue #7403: logging: Fixed possible race condition in lock creation.
  
 -- Issue #7295: Do not use a hardcoded file name in test_tarfile.
 +- Issue #6845: Add restart support for binary upload in ftplib.  The
 +  ``storbinary()`` method of FTP and FTP_TLS objects gains an optional "rest"
 +  argument.  Patch by Pablo Mouzo.
  
 -- Issue #7270: Add some dedicated unit tests for multi-thread synchronization
 -  primitives such as Lock, RLock, Condition, Event and Semaphore.
 +- Issue #5788: ``datetime.timedelta`` objects get a new ``total_seconds()``
 +  method returning the total number of seconds in the duration.  Patch by Brian
 +  Quinlan.
  
 -- Issue #7055: test___all__ now greedily detects all modules which have an
 -  __all__ attribute, rather than using a hardcoded and incomplete list.
 +- Issue #6615: logging: Used weakrefs in internal handler list.
  
 +- Issue #1488943: ``difflib.Differ`` doesn't always add hints for tab
 +  characters.
  
 -What's New in Python 2.6.4 final?
 -=================================
 +- Issue #6123: tarfile now opens empty archives correctly and consistently
 +  raises ReadError on empty files.
  
 -*Release date: 25-Oct-2009*
 +- Issue #7354: distutils.tests.test_msvc9compiler - dragfullwindows can be 2.
  
 -Core and Builtins
 ------------------
 +- Issue #5037: Proxy the __unicode__ special method to __unicode__ instead of
 +  __str__.
  
 -Library
 --------
 +- Issue #7341: Close the internal file object in the TarFile constructor in case
 +  of an error.
  
 +- Issue #7293: ``distutils.test_msvc9compiler`` is fixed to work on any fresh
 +  Windows box.  Help provided by David Bolen.
  
 -What's New in Python 2.6.4rc2?
 -==============================
 +- Issue #7328: pydoc no longer corrupts sys.path when run with the '-m' switch.
  
 -*Release date: 18-Oct-2009*
 +- Issue #2054: ftplib now provides an FTP_TLS class to do secure FTP using TLS
 +  or SSL.  Patch by Giampaolo Rodola'.
  
 -Core and Builtins
 ------------------
 +- Issue #4969: The mimetypes module now reads the MIME database from the
 +  registry under Windows.  Patch by Gabriel Genellina.
  
 -Library
 --------
 +- Issue #6816: runpy now provides a run_path function that allows Python code to
 +  execute file paths that refer to source or compiled Python files as well as
 +  zipfiles, directories and other valid sys.path entries that contain a
 +  __main__.py file. This allows applications that run other Python scripts to
 +  support the same flexibility as the CPython command line itself.
  
 -- Issue #7115: Fixed the extension module builds that is failing when using
 -  paths in the extension name instead of dotted names.
 +- Issue #7318: multiprocessing now uses a timeout when it fails to establish a
 +  connection with another process, rather than looping endlessly. The default
 +  timeout is 20 seconds, which should be amply sufficient for local connections.
  
 -- Issue #7120: logging: Removed import of multiprocessing which is causing
 -  crash in GAE.
 +- Issue #7197: Allow unittest.TextTestRunner objects to be pickled and
 +  unpickled.  This fixes crashes under Windows when trying to run
 +  test_multiprocessing in verbose mode.
  
 -- Issue #7149: fix exception in urllib when detecting proxy settings on OSX.
 +- Issue #7282: Fix a memory leak when an RLock was used in a thread other than
 +  those started through ``threading.Thread`` (for example, using
 +  ``thread.start_new_thread()``.
  
 +- Issue #7264: Fix a possible deadlock when deallocating thread-local objects
 +  which are part of a reference cycle.
  
 -What's New in Python 2.6.4rc1?
 -==============================
 +- Issue #7211: Allow 64-bit values for the ``ident`` and ``data`` fields of
 +  kevent objects on 64-bit systems.  Patch by Michael Broghton.
  
 -*Release date: 07-Oct-2009*
 +- Issue #6896: ``mailbox.Maildir`` now invalidates its internal cache each time
 +  a modification is done through it.  This fixes inconsistencies and test
 +  failures on systems with slightly bogus mtime behaviour.
  
 -Core and Builtins
 ------------------
 +- Issue #7246 & Issue #7208: getpass now properly flushes input before reading
 +  from stdin so that existing input does not confuse it and lead to incorrect
 +  entry or an IOError.  It also properly flushes it afterwards to avoid the
 +  terminal echoing the input afterwards on OSes such as Solaris.
  
 -- Issue #7019: Raise ValueError when unmarshalling bad long data, instead
 -  of producing internally inconsistent Python longs.
 +- Issue #7233: Fix a number of two-argument Decimal methods to make sure that
 +  they accept an int or long as the second argument.  Also fix buggy handling of
 +  large arguments (those with coefficient longer than the current precision) in
 +  shift and rotate.
  
 -Library
 --------
 +- Issue #4750: Store the basename of the original filename in the gzip FNAME
 +  header as required by RFC 1952.
  
 -- Issue #7068: Fixed the partial renaming that occured in r72594.
 +- Issue #1180: Added a new global option to ignore ~/.pydistutils.cfg in
 +  Distutils.
  
 -- Issue #7064: Fixed the incompatibility with Setuptools in distutils
 -  when running the build_ext command.
 +- Issue #7218: Fix test_site for win32, the directory comparison was done with
 +  an uppercase.
  
 -- Issue #7052: Removed nonexisting NullHandler from logging.__all__.
 +- Issue #7205: Fix a possible deadlock when using a BZ2File object from several
 +  threads at once.
  
 -- Issue #7039: Fixed distutils.tests.test_sysconfig when running on
 -  installation with no build.
 +- Issue #7071: byte-compilation in Distutils is now done with respect to
 +  sys.dont_write_bytecode.
  
 -Tests
 ------
 +- Issue #7066: archive_util.make_archive now restores the cwd if an error is
 +  raised. Initial patch by Ezio Melotti.
  
 -- Issue #7042: Fix test_signal (test_itimer_virtual) failure on OS X 10.6.
 +- Issue #6218: io.StringIO and io.BytesIO instances are now picklable with
 +  protocol 2.
  
 +- Issue #7077: logging: SysLogHandler now treats Unicode as per RFC 5424.
  
 -What's New in Python 2.6.3
 -==========================
 +- Issue #7099: Decimal.is_normal now returns True for numbers with exponent
 +  larger than emax.
  
 -*Release date: 02-Oct-2009*
 +- Issue #5833: Fix extra space character in readline completion with the GNU
 +  readline library version 6.0.
  
 -What's New in Python 2.6.3rc1
 -=============================
 +- Issue #7133: SSL objects now support the new buffer API.
  
 -*Release date: 29-Sep-2009*
 +- Issue #7149: urllib fails on OSX in the proxy detection code.
  
 -Core and Builtins
 ------------------
 +- Issue #7069: Make inspect.isabstract() return a boolean.
  
 -- Issue #5329: Fix os.popen* regression from 2.5 with commands as a
 -  sequence running through the shell.  Patch by Jean-Paul Calderone
 -  and Jani Hakala.
 +- Add support to the ``ihooks`` module for relative imports.
  
 -- Issue #6990: Fix threading.local subclasses leaving old state around
 -  after a reference cycle GC which could be recycled by new locals.
 +- Issue #6894: Fixed the issue urllib2 doesn't respect "no_proxy" environment.
  
 -- Issue #6922: Fix an infinite loop when trying to decode an invalid
 -  UTF-32 stream with a non-raising error handler like "replace" or "ignore".
 +- Issue #7086: Added TCP support to SysLogHandler, and tidied up some
 +  anachronisms in the code which were a relic of 1.5.2 compatibility.
  
 -- Issue #1590864: Fix potential deadlock when mixing threads and fork().
 +- Issue #7082: When falling back to the MIME 'name' parameter, the correct place
 +  to look for it is the Content-Type header.
  
 -- Issue #6844: Do not emit DeprecationWarnings when accessing a "message"
 -  attribute on exceptions that was set explicitly.
 +- Issue #7048: Force Decimal.logb to round its result when that result is too
 +  large to fit in the current precision.
  
 -- Issue #6846: Fix bug where bytearray.pop() returns negative integers.
 +- Issue #6516: Added owner/group support when creating tar archives in
 +  Distutils.
  
 -- Issue #6707: dir() on an uninitialized module caused a crash.
 +- Issue #7031: Add ``TestCase.assert(Not)IsInstance()`` methods.
  
 -- Issue #6540: Fixed crash for bytearray.translate() with invalid parameters.
 +- Issue #6790: Make it possible again to pass an ``array.array`` to
 +  ``httplib.HTTPConnection.send``.  Patch by Kirk McDonald.
  
 -- Issue #6573: set.union() stopped processing inputs if an instance of self
 -  occurred in the argument chain.
 +- Issue #6236, #6348: Fix various failures in the `io` module under AIX and
 +  other platforms, when using a non-gcc compiler.  Patch by egreen.
  
 -- Issue #6070: On posix platforms import no longer copies the execute bit
 -  from the .py file to the .pyc file if it is set.
 +- Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils.
  
 -- Issue #4547: When debugging a very large function, it was not always
 -  possible to update the lineno attribute of the current frame.
 +- Issue #6851: Fix urllib.urlopen crash on secondairy threads on OSX 10.6
  
 -- Issue #4618: When unicode arguments are passed to print(), the default
 -  separator and end should be unicode also.
 +- Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...)  does now
 +  always result in NULL.
  
 -- Issue #6119: Fixed an incorrect Py3k warning about order comparisons of
 -  built-in functions and methods.
 +- Issue #5042: ctypes Structure sub-subclass does now initialize correctly with
 +  base class positional arguments.
  
 -- Issue #5330: C functions called with keyword arguments were not reported by
 -  the various profiling modules (profile, cProfile). Patch by Hagen Fürstenau.
 +- Issue #6938: Fix a TypeError in string formatting of a multiprocessing debug
 +  message.
  
 -- Issue #6089: str.format can raise SystemError with certain invalid
 -  field specifiers.
 +- Issue #6635: Fix profiler printing usage message.
  
 -- Issue #5994: the marshal module now has docstrings.
 +- Issue #6856: Add a filter keyword argument to TarFile.add().
  
 -- Issue #5981: Fix two minor inf/nan issues in float.fromhex: (1) inf
 -  and nan strings with trailing whitespace were incorrectly rejected
 -  and (2) the interpretation of fromhex('-nan') didn't match that of
 -  float('-nan').
 +- Issue #6163: Fixed HP-UX runtime library dir options in
 +  distutils.unixcompiler.  Initial patch by Sridhar Ratnakumar and Michael
 +  Haubenwallner.
  
 -- Issue #5890: in subclasses of 'property' the __doc__ attribute was
 -  shadowed by classtype's, even if it was None.  property now
 -  inserts the __doc__ into the subclass instance __dict__.
 +- Issue #6857: Default format() alignment should be '>' for Decimal instances.
  
 -- Issue #5724: (See also issue #4575.) Fix Py_IS_INFINITY macro to
 -  work correctly on x87 FPUs: it now forces its argument to double
 -  before testing for infinity.
 +- Issue #6795: int(Decimal('nan')) now raises ValueError instead of returning
 +  NaN or raising InvalidContext.  Also, fix infinite recursion in
 +  long(Decimal('nan')).
  
 -- Issue #4971: Fix titlecase for characters that are their own
 -  titlecase, but not their own uppercase.
 +- Issue #6850: Fix bug in Decimal._parse_format_specifier for formats with no
 +  type specifier.
  
 -- Issue #5829: complex('1e-500') no longer raises an exception
 +- Issue #4937: plat-mac/bundlebuilder refers to non-existing version.plist.
  
 -- Issue #5787: object.__getattribute__(some_type, "__bases__") segfaulted on
 -  some built-in types.
 +- Issue #6838: Use a list to accumulate the value instead of repeatedly
 +  concatenating strings in httplib's HTTPResponse._read_chunked providing a
 +  significant speed increase when downloading large files servend with a
 +  Transfer-Encoding of 'chunked'.
  
 -- Issue #5283: Setting __class__ in __del__ caused a segfault.
 +- Issue #5275: In Cookie's Cookie.load(), properly handle non-string arguments
 +  as documented.
  
 -- Issue #5759: float() didn't call __float__ on str subclasses.
 +- Issue #2666: Handle BROWSER environment variable properly for unknown browser
 +  names in the webbrowser module.
  
 -- Issue #5108: Handle %s like %S and %R in PyUnicode_FromFormatV(): Call
 -  PyUnicode_DecodeUTF8() once, remember the result and output it in a second
 -  step. This avoids problems with counting UTF-8 bytes that ignores the effect
 -  of using the replace error handler in PyUnicode_DecodeUTF8().
 +- Issue #6054: Do not normalize stored pathnames in tarfile.
  
 -Library
 --------
 +- Issue #6794: Fix Decimal.compare_total and Decimal.compare_total_mag: NaN
 +  payloads are now ordered by integer value rather than lexicographically.
  
 -- Issue #6894: Fixed the issue urllib2 doesn't respect "no_proxy" environment
 +- Issue #6693: New functions in site.py to get user/global site packages paths.
  
 -- Issue #6790: Make it possible again to pass an `array.array` to
 -  `httplib.HTTPConnection.send`. Patch by Kirk McDonald.
 +- The thread.lock type now supports weak references.
  
 -- Issue #6236, #6348: Fix various failures in the `io` module under AIX
 -  and other platforms, when using a non-gcc compiler. Patch by egreen.
 +- Issue #1356969: Add missing info methods in Tix.HList.
  
 -- Issue #6851: Fix urllib.urlopen crash on secondairy threads on OSX 10.6
 +- Issue #1522587: New constants and methods for the Tix.Grid widget.
  
 -- Issue #6947: Fix distutils test on windows. Patch by Hirokazu Yamamoto.
 +- Issue #1250469: Fix the return value of Tix.PanedWindow.panes.
  
 -- Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...)
 -  does now always result in NULL.
 +- Issue #1119673: Do not override Tkinter.Text methods when creating a
 +  ScrolledText.
  
 -- Issue #5042: ctypes Structure sub-subclass does now initialize
 -  correctly with base class positional arguments.
 +- Issue #6665: Fix fnmatch to properly match filenames with newlines in them.
  
 -- Issue #6938: Fix a TypeError in string formatting of a multiprocessing
 -  debug message.
 +- Issue #1135: Add the XView and YView mix-ins to avoid duplicating the xview*
 +  and yview* methods.
  
 -- Issue #6635: Fix profiler printing usage message.
 +- Issue #6629: Fix a data corruption issue in the new `io` package, which could
 +  occur when writing to a BufferedRandom object (e.g. a file opened in "rb+" or
 +  "wb+" mode) after having buffered a certain amount of data for reading. This
 +  bug was not present in the pure Python implementation.
  
 -- Issue #6795: int(Decimal('nan')) now raises ValueError instead of
 -  returning NaN or raising InvalidContext.  Also, fix infinite recursion
 -  in long(Decimal('nan')).
 +- Issue #4660: If a multiprocessing.JoinableQueue.put() was preempted, it was
 +  possible to get a spurious 'task_done() called too many times' error.
  
 -- Issue #6850: Fix bug in Decimal._parse_format_specifier for formats
 -  with no type specifier.
 +- 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 #4937: plat-mac/bundlebuilder revers to non-existing version.plist
 +- Issue #6595: The Decimal constructor now allows arbitrary Unicode decimal
 +  digits in input, as recommended by the standard.  Previously it was restricted
 +  to accepting [0-9].
  
 -- Issue #6838: Use a list to accumulate the value instead of
 -  repeatedly concatenating strings in httplib's
 -  HTTPResponse._read_chunked providing a significant speed increase
 -  when downloading large files servend with a Transfer-Encoding of 'chunked'.
 +- Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when
 +  opening an empty or very small file.
  
 -- Issue #6794: Fix Decimal.compare_total and Decimal.compare_total_mag: NaN
 -  payloads are now ordered by integer value rather than lexicographically.
 +- Issue #6553: Fixed a crash in cPickle.load(), when given a file-like object
 +  containing incomplete data.
  
 -- Issue #6117: Fix O(n**2) performance degradation when outputting lots of
 -  small data on a buffered socket.socket.makefile() object.
 +- Issue #6545: Removed assert statements in distutils.Extension, so the behavior
 +  is similar when used with -O.
  
 -- Issue #6637: defaultdict.copy() did not work when the default factory
 -  was left unspecified.  Also, the eval/repr round-trip would fail when
 -  the default_factory was None.
 +- unittest has been split up into a package.  All old names should still work.
  
 -- Issue #1424152: Fix for httplib, urllib2 to support SSL while working through
 -  proxy. Original patch by Christopher Li, changes made by Senthil Kumaran.
 +- Issue #6431: Make Fraction type return NotImplemented when it doesn't know how
 +  to handle a comparison without loss of precision.  Also add correct handling
 +  of infinities and nans for comparisons with float.
  
 -- Issues #5155, 5313, 5331: multiprocessing.Process._bootstrap was
 -  unconditionally calling "os.close(sys.stdin.fileno())" resulting in file
 -  descriptor errors
 +- Issue #6415: Fixed warnings.warn segfault on bad formatted string.
  
 -- Issue #6415: Fixed warnings.warn sagfault on bad formatted string.
 +- Issue #6466: Now distutils.cygwinccompiler and distutils.emxccompiler uses the
 +  same refactored function to get gcc/ld/dllwrap versions numbers.  It's
 +  ``distutils.util.get_compiler_versions()``.  Added deprecation warnings for
 +  the obsolete get_versions() functions.
  
 -- Issue #6344: Fixed a crash of mmap.read() when passed a negative argument.
 +- Issue #6433: Fixed issues with multiprocessing.pool.map hanging on empty list.
  
 -- Issue #5230: pydoc would report no documentation found if a module generated
 -  a 'not found' import error when loaded; it now reports the import errors.
 -  Thanks to Lucas Prado Melo for initial fix and collaboration on the tests.
 +- Issue #6314: logging: Extra checks on the "level" argument in more places.
  
 -- Issue #6274: Fixed possible file descriptors leak in subprocess.py
 +- Issue #2622: Fixed an ImportError when importing email.messsage from a
 +  standalone application built with py2exe or py2app.
  
 -- Issue #6271: mmap tried to close invalid file handle (-1) when annonymous.
 -  (On Unix)
 +- Issue #6455: Fixed test_build_ext under win32.
  
 -- Issue #6258: Support AMD64 in bdist_msi.
 +- Issue #6377: Enabled the compiler option, and deprecate its usage as an
 +  attribute.
  
 -- Issue #6252: Fixed bug in next rollover time computation in
 -  TimedRotatingFileHandler.
 +- Issue #6413: Fixed the log level in distutils.dist for announce.
  
 -- Issue #6121: pydoc now ignores leading and trailing spaces in the
 -  argument to the 'help' function.
 +- Issue #3392: The subprocess communicate() method no longer fails in select()
 +  when file descriptors are large; communicate() now uses poll() when possible.
  
 -- Issue #6050: Don't fail extracting a directory from a zipfile if
 -  the directory already exists.
 +- Issue #6403: Fixed package path usage in build_ext.
  
 -- collections.namedtuple() was not working with the following field
 -  names:  cls, self, tuple, itemgetter, and property.
 +- Issues #5155, #5313, #5331: multiprocessing.Process._bootstrap was
 +  unconditionally calling "os.close(sys.stdin.fileno())" resulting in file
 +  descriptor errors.
  
 -- Issue #1309352: fcntl now converts its third arguments to a C `long` rather
 -  than an int, which makes some operations possible under 64-bit Linux (e.g.
 -  DN_MULTISHOT with F_NOTIFY).
 +- Issue #6365: Distutils build_ext inplace mode was copying the compiled
 +  extension in a subdirectory if the extension name had dots.
  
 -- Issue #1983: Fix functions taking or returning a process identifier to use
 -  the dedicated C type ``pid_t`` instead of a C ``int``. Some platforms have
 -  a process identifier type wider than the standard C integer type.
 +- Issue #6344: Fixed a crash of mmap.read() when passed a negative argument.
  
 -- Issue #4066: smtplib.SMTP_SSL._get_socket now correctly returns the socket.
 -  Patch by Farhan Ahmad, test by Marcin Bachry.
 +- Issue #5230: pydoc would report no documentation found if a module generated a
 +  'not found' import error when loaded; it now reports the import errors.
 +  Thanks to Lucas Prado Melo for initial fix and collaboration on the tests.
  
 -- Issue #1655: Make imaplib IPv6-capable. Patch by Derek Morr.
 +- Issue #6314: ``logging.basicConfig()`` performs extra checks on the "level"
 +  argument.
  
 -- Issue #1664: Make nntplib IPv6-capable. Patch by Derek Morr.
 +- Issue #6164: Added an AIX specific linker argument in Distutils unixcompiler.
 +  Original patch by Sridhar Ratnakumar.
  
 -- Issue #5971: StreamHandler.handleError now swallows IOErrors which occur when
 -  trying to print a traceback.
 +- Issue #6274: Fixed possible file descriptors leak in subprocess.py.
  
 -- Issue #5955: aifc's close method did not close the file it wrapped,
 -  now it does.  This also means getfp method now returns the real fp.
 +- Issue #6189: Restored compatibility of subprocess.py with Python 2.2.
  
 -- Issue #4875: On win32, ctypes.util.find_library does no longer
 -  return directories.
 +- Issue #6287: Added the license field in Distutils documentation.
  
 -- Issue #5692: In :class:`zipfile.Zipfile`, fix wrong path calculation when
 -  extracting a file to the root directory.
 +- Issue #6286: Now Distutils upload command is based on urllib2 instead of
 +  httplib, allowing the usage of http_proxy.
  
 -- Issue #2245: aifc now skips chunk types it doesn't recognize, per spec.
 +- Issue #6271: mmap tried to close invalid file handle (-1) for anonymous maps
 +  on Unix.
  
 -- Issue #4305: ctypes should now build again on mipsel-linux-gnu
 +- Issue #6215: All bug fixes and enhancements from the Python 3.1 io library
 +  (including the fast C implementation) have been backported to the standard
 +  ``io`` module.
  
 -- Issue #5853: calling a function of the mimetypes module from several threads
 -  at once could hit the recursion limit if the mimetypes database hadn't been
 -  initialized before.
 +- Issue #6258: Support AMD64 in bdist_msi.
  
 -- Issue #5041: ctypes does now allow pickling wide character.
 +- Issue #6252: Fixed bug in next rollover time computation in
 +  TimedRotatingFileHandler.
  
 -- Issue #5768: Fixed bug in Unicode output logic and test case for same.
 +- Issue #6263: Fixed syntax error in distutils.cygwincompiler.
  
 -- Issue #1161031: fix readwrite select flag handling: POLLPRI now
 -  results in a handle_expt_event call, not handle_read_event, and POLLERR
 -  and POLLNVAL now call handle_close, not handle_expt_event.  Also,
 -  dispatcher now has an 'ignore_log_types' attribute for suppressing
 -  log messages, which is set to 'warning' by default.
 +- Issue #5201: distutils.sysconfig.parse_makefile() now understands ``$$`` in
 +  Makefiles.  This prevents compile errors when using syntax like:
 +  ``LDFLAGS='-rpath=\$$LIB:/some/other/path'``.  Patch by Floris Bruynooghe.
  
 -- Issue #5828 (Invalid behavior of unicode.lower): Fixed bogus logic in
 -  makeunicodedata.py and regenerated the Unicode database (This fixes
 -  u'\u1d79'.lower() == '\x00').
 +- Issue #5767: Removed sgmlop support from xmlrpclib.
  
 -- Issue #1202: zipfile module would cause a DeprecationWarning when storing
 -  files with a CRC32 > 2**31-1.
 +- Issue #6131: test_modulefinder leaked when run after test_distutils.  Patch by
 +  Hirokazu Yamamoto.
  
 -- Issue #6163: Fixed HP-UX runtime library dir options in
 -  distutils.unixcompiler. Initial patch by Sridhar Ratnakumar and
 -  Michael Haubenwallner.
 +- Issue #6048: Now Distutils uses the tarfile module in archive_util.
  
 -- Issue #4660: If a multiprocessing.JoinableQueue.put() was preempted, it was
 -  possible to get a spurious 'task_done() called too many times' error.
 +- Issue #5150: IDLE's format menu now has an option to strip trailing
 +  whitespace.
  
 -- Issue #6595: The Decimal constructor now allows arbitrary Unicode
 -  decimal digits in input, as recommended by the standard.  Previously
 -  it was restricted to accepting [0-9].
 +- Issue #6121: pydoc now ignores leading and trailing spaces in the argument to
 +  the 'help' function.
  
 -- Issue #6553: Fixed a crash in cPickle.load(), when given a file-like object
 -  containing incomplete data.
 +- In unittest, using a skipping decorator on a class is now equivalent to
 +  skipping every test on the class.  The ClassTestSuite class has been removed.
  
 -- Issue #2622: Fixed an ImportError when importing email.message from a
 -  standalone application built with py2exe or py2app.
 +- Issue #6050: Don't fail extracting a directory from a zipfile if the directory
 +  already exists.
  
 -- Issue #6455: Fixed test_build_ext under win32.
 +- Issue #5311: bdist_msi can now build packages that do not depend on a specific
 +  Python version.
  
 -- Issue #6403: Fixed package path usage in build_ext.
 +- Issue #1309352: fcntl now converts its third arguments to a C `long` rather
 +  than an int, which makes some operations possible under 64-bit Linux (e.g.
 +  DN_MULTISHOT with F_NOTIFY).
  
 -- Issue #6287: Added the license field in Distutils documentation.
 +- Issue #1424152: Fix for httplib, urllib2 to support SSL while working through
 +  proxy. Original patch by Christopher Li, changes made by Senthil Kumaran.
  
 -- Issue #6263: Fixed syntax error in distutils.cygwincompiler.
 +- Issue #1983: Fix functions taking or returning a process identifier to use the
 +  dedicated C type ``pid_t`` instead of a C ``int``.  Some platforms have a
 +  process identifier type wider than the standard C integer type.
  
 -- Issue #5201: distutils.sysconfig.parse_makefile() now understands `$$`
 -  in Makefiles. This prevents compile errors when using syntax like:
 -  `LDFLAGS='-rpath=\$$LIB:/some/other/path'`. Patch by Floris Bruynooghe.
 +- Issue #4066: smtplib.SMTP_SSL._get_socket now correctly returns the socket.
 +  Patch by Farhan Ahmad, test by Marcin Bachry.
  
 -- Issue #6062: In distutils, fixed the package option of build_ext. Feedback
 +- Issue #6062: In distutils, fixed the package option of build_ext.  Feedback
    and tests on pywin32 by Tim Golden.
  
 -- Issue #1309567: Fix linecache behavior of stripping subdirectories when
 -  looking for files given by a relative filename.
 -
 -- Issue #6046: Fixed the library extension when distutils build_ext is used
 -  inplace. Initial patch by Roumen Petrov.
 -
 -- Issue #6022: a test file was created in the current working directory by
 -  test_get_outputs in Distutils.
 -
 -- Issue #5977: distutils build_ext.get_outputs was not taking into account the
 -  inplace option. Initial patch by kxroberto.
 +- Issue #6053: Fixed distutils tests on win32.  Patch by Hirokazu Yamamoto.
  
 -- Issue #5984: distutils.command.build_ext.check_extensions_list checks were
 -  broken for old-style extensions.
 +- Issue #6046: Fixed the library extension when distutils build_ext is used in
 +  place.  Initial patch by Roumen Petrov.
  
 -- Issue #5854: Updated __all__ to include some missing names and remove some
 -  names which should not be exported.
 +- Issue #6041: Now distutils `sdist` and `register` commands use `check` as a
 +  subcommand.
  
 -- Issue #5810: Fixed Distutils test_build_scripts so it uses
 -  sysconfig.get_config_vars.
 +- Issue #2116: Weak references and weak dictionaries now support copy()ing and
 +  deepcopy()ing.
  
 -- Issue #6865: Fix reference counting issue in the initialization of the pwd
 -  module.
 +- Issue #1655: Make imaplib IPv6-capable.  Patch by Derek Morr.
  
 -Extension Modules
 ------------------
 +- Issue #5918: Fix a crash in the parser module.
  
 -- Issue #6944: Fix a SystemError when socket.getnameinfo() was called
 -  with something other than a tuple as first argument.
 +- Issue #1664: Make nntplib IPv6-capable.  Patch by Derek Morr.
  
 -- Issue #6848: Fix curses module build failure on OS X 10.6.
 +- Issue #6022: A test file was created in the current working directory by
 +  test_get_outputs in Distutils.
  
 -- Fix expat to not segfault with specially crafted input.
 +- Issue #4050: inspect.findsource/getsource now raise an IOError if the 'source'
 +  file is a binary.  Patch by Brodie Rao, tests by Daniel Diniz.
  
 -- Issue #4873: Fix resource leaks in error cases of pwd and grp.
 +- Issue #5977: distutils build_ext.get_outputs was not taking into account the
 +  inplace option.  Initial patch by kxroberto.
  
 -Build
 ------
 +- Issue #5984: distutils.command.build_ext.check_extensions_list checks were
 +  broken for old-style extensions.
  
 -- Issue #6980: Fix ctypes build failure on armel-linux-gnueabi with
 -  -mfloat-abi=softfp.
 +- Issue #5971: StreamHandler.handleError now swallows IOErrors which occur when
 +  trying to print a traceback.
  
 -- Issue #6802: Fix build issues on MacOSX 10.6
 +- Issue #5976: Fixed Distutils test_check_environ.
  
 -- Issue #5390: Add uninstall icon independent of whether file
 -  extensions are installed.
 +- Issue #5900: Ensure RUNPATH is added to extension modules with RPATH if GNU ld
 +  is used.  Original patch by Floris Bruynooghe.
  
 -- Issue #6094: Build correctly with Subversion 1.7.
 +- Issue #5941: Distutils build_clib command was not working anymore because of
 +  an incomplete costumization of the archiver command.  Added ARFLAGS in the
 +  Makefile besides AR and make Distutils use it.  Original patch by David
 +  Cournapeau.
  
 -- Issue #5726: Make Modules/ld_so_aix return the actual exit code of the
 -  linker, rather than always exit successfully. Patch by Floris Bruynooghe.
 +- Issue #5955: aifc's close method did not close the file it wrapped, now it
 +  does.  This also means getfp method now returns the real fp.
  
 -- Issue #5809: Specifying both --enable-framework and --enable-shared is
 -  an error. Configure now explicity tells you about this.
 +- Issue #4875: On win32, ctypes.util.find_library does no longer return
 +  directories.
  
 -Documentation
 --------------
 +- Issue #5142: Add the ability to skip modules while stepping to pdb.
  
 -- Issue #6556: Fixed the Distutils configuration files location explanation
 -  for Windows.
 +- Issue #1309567: Fix linecache behavior of stripping subdirectories when
 +  looking for files given by a relative filename.
  
 -- Issue #6801 : symmetric_difference_update also accepts |.
 -  Thanks to Carl Chenet.
 +- Issue #5692: In ``zipfile.Zipfile``, fix wrong path calculation when
 +  extracting a file to the root directory.
  
 -Tests
 ------
 +- Issue #5913: ``os.listdir()`` should fail for empty path on windows.
  
 -- Issue #5837: Certain sequences of calls to set() and unset() for
 -  support.EnvironmentVarGuard objects restored the environment variables
 -  incorrectly on __exit__.
 +- Issue #5084: Unpickling now interns the attribute names of pickled objects,
 +  saving memory and avoiding growth in size of subsequent pickles.  Proposal and
 +  original patch by Jake McGuire.
  
 +- Issue #3002: ``shutil.copyfile()`` and ``shutil.copytree()`` now raise an
 +  error when a named pipe is encountered, rather than blocking infinitely.
  
 -What's New in Python 2.6.2
 -==========================
 +- Issue #3959: The ipaddr module has been added to the standard library.
 +  Contributed by Google.
  
 -*Release date: 14-Apr-2009*
 +- Issue #2245: aifc now skips chunk types it doesn't recognize, per spec.
  
 +- Issue #5874: distutils.tests.test_config_cmd is not locale-sensitive anymore.
  
 -What's New in Python 2.6.2 rc 1
 -===============================
 +- Issue #4305: ctypes should now build again on mipsel-linux-gnu
  
 -*Release date: 06-Apr-2009*
 +- Issue #1734234: Massively speedup ``unicodedata.normalize()`` when the string
 +  is already in normalized form, by performing a quick check beforehand.
 +  Original patch by Rauli Ruohonen.
  
 -Core and Builtins
 ------------------
 +- Issue #5853: Calling a function of the mimetypes module from several threads
 +  at once could hit the recursion limit if the mimetypes database hadn't been
 +  initialized before.
  
 -- xrange() is now registered as a Sequence.
 +- Issue #5854: Updated __all__ to include some missing names and remove some
 +  names which should not be exported.
  
 -- Fix a problem in PyErr_NormalizeException that leads to "undetected errors"
 -  when hitting the recursion limit under certain circumstances.
 +- Issue #5810: Fixed Distutils test_build_scripts so it uses
 +  ``sysconfig.get_config_vars()``.
  
 -- Issue #1665206: Remove the last eager import in _warnings.c and make it lazy.
 +- Issue #4951: Fixed failure in test_httpservers.
  
 -- Issue #4034: Fix weird attribute error messages of the traceback object. (As
 -  a result traceback.__members__ no longer exists.)
 +- Issue #3102: All global symbols that the _ctypes extension defines are now
 +  prefixed with 'Py' or '_ctypes'.
  
 -- Issue #5247: Improve error message when unknown format codes are
 -  used when using str.format() with str, unicode, long, int, and
 -  float arguments.
 +- Issue #5041: ctypes does now allow pickling wide character.
  
 -- Running Python with the -3 option now also warns about classic division
 -  for ints and longs.
 +- Issue #5812: For the two-argument form of the Fraction constructor,
 +  ``Fraction(m, n)``, m and n are permitted to be arbitrary Rational instances.
  
 -- Issue #5013: Fixed a bug in FileHandler which occurred when the delay
 -  parameter was set.
 +- Issue #5812: Fraction('1e6') is valid: more generally, any string that's valid
 +  for float() is now valid for Fraction(), with the exception of strings
 +  representing NaNs and infinities.
  
 -- Issue #1242657: the __len__() and __length_hint__() calls in several tools
 -  were suppressing all exceptions.  These include list(), filter(), map(),
 -  zip(), and bytearray().
 +- Issue #5795: Fixed test_distutils failure on Debian ppc.
  
 -- Issue #4935: The overflow checking code in the expandtabs() method common
 -  to str, bytes and bytearray could be optimized away by the compiler, letting
 -  the interpreter segfault instead of raising an error.
 +- Issue #5768: Fixed bug in Unicode output logic and test case for same.
  
 -- Issue #4915: Port sysmodule to Windows CE.
 +- Issue #1161031: Fix readwrite select flag handling: POLLPRI now results in a
 +  handle_expt_event call, not handle_read_event, and POLLERR and POLLNVAL now
 +  call handle_close, not handle_expt_event.  Also, dispatcher now has an
 +  'ignore_log_types' attribute for suppressing log messages, which is set to
 +  'warning' by default.
  
 -- Issue #1180193: When importing a module from a .pyc (or .pyo) file with
 -  an existing .py counterpart, override the co_filename attributes of all
 -  code objects if the original filename is obsolete (which can happen if the
 -  file has been renamed, moved, or if it is accessed through different paths).
 -  Patch by Ziga Seilnacht and Jean-Paul Calderone.
 +- Issue #5607: Fixed Distutils test_get_platform for Mac OS X fat binaries.
  
 -- Issue #4075: Use OutputDebugStringW in Py_FatalError.
 +- Issue #5741: Don't disallow "%%" (which is an escape for "%") when setting a
 +  value in SafeConfigParser.
  
 -- Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
 -  file with `str' filename on Windows.
 +- Issue #5732: Added a new command in Distutils: check.
  
 -- Issue #3680: Reference cycles created through a dict, set or deque iterator
 -  did not get collected.
 +- Issue #5731: Distutils bdist_wininst no longer worked on non-Windows
 +  platforms.  Initial patch by Paul Moore.
  
 -- Issue #4701: PyObject_Hash now implicitly calls PyType_Ready on types
 -  where the tp_hash and tp_dict slots are both NULL.
 +- Issue #2254: Fix CGIHTTPServer information disclosure.  Relative paths are now
 +  collapsed within the url properly before looking in cgi_directories.
  
 -- Issue #4764: With io.open, IOError.filename is set when trying to open a
 -  directory on POSIX systems.
 +- Issue #5095: Added bdist_msi to the list of bdist supported formats.  Initial
 +  fix by Steven Bethard.
  
 -- Issue #4764: IOError.filename is set when trying to open a directory on POSIX
 -  systems.
 +- Issue #1491431: Fixed distutils.filelist.glob_to_re for edge cases.  Initial
 +  fix by Wayne Davison.
  
 -- Issue #4759: None is now allowed as the first argument of
 -  bytearray.translate().  It was always allowed for bytes.translate().
 +- Issue #5693: TestSuite.__iter__ can now be consistently overridden in
 +  subclasses.
  
 -- Issue #4759: fix a segfault for bytearray.translate(x, None).
 +- Issue #5694: Removed spurious test output in Distutils (test_clean).
  
 -- Added test case to ensure attempts to read from a file opened for writing
 -  fail.
 +- Issue #5471: Fix os.path.expanduser() for $HOME set to '/'.
  
 -- Issue #4597: Fixed several opcodes that weren't always propagating
 -  exceptions.
 +- Issue #1326077: Fix the formatting of SyntaxErrors by the traceback module.
  
 -- Issue #2467: gc.DEBUG_STATS reported invalid elapsed times. Also, always
 -  print elapsed times, not only when some objects are uncollectable /
 -  unreachable. Original patch by Neil Schemenauer.
 +- Issue #1726172: Fix IndexError in the case of and empty response in ftplib.
  
 -- Issue #4589: Fixed exception handling when the __exit__ function of a
 -  context manager returns a value that cannot be converted to a bool.
 +- Issue #2625: Added missing iteritems() call to the for loop in
 +  mailbox.MH.get_message().
  
 -- Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()``
 -  method on file objects with closefd=False. The file descriptor is still
 -  kept open but the file object behaves like a closed file. The ``FileIO``
 -  object also got a new readonly attribute ``closefd``.
 +- Issue #5585: Add the ability to call an initializer to
 +  mulitiprocessing.manager so that users can install custom handlers/etc.
  
 -- Issue #3689: The list reversed iterator now supports __length_hint__
 -  instead of __len__.  Behavior now matches other reversed iterators.
 +- Issue #3551: Patch multiprocessing to raise a proper exception if the size of
 +  the object when writefile is called causes a ERROR_NO_SYSTEM_RESOURCES.  Added
 +  docs to note the limitation.
  
 -- Issue #4509: Various issues surrounding resize of bytearray objects to
 -  which there are buffer exports.
 +- unittest.assertNotEqual() now uses the inequality operator (!=) instead of the
 +  equality operator.
  
 -- Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with
 -  short file names.
 +- Issue #6001: Test discovery for unittest. Implemented in
 +  unittest.TestLoader.discover and from the command line.
  
 -- Issue #5705: os.setuid() would not accept values > 2**31-1 but pwd.getpwnam()
 -  returned them on 64bit platforms.
 +- Issue #5679: The methods unittest.TestCase.addCleanup and doCleanups were
 +  added.  addCleanup allows you to add cleanup functions that will be called
 +  unconditionally (after setUp if setUp fails, otherwise after tearDown). This
 +  allows for much simpler resource allocation and deallocation during tests.
  
 -Library
 --------
 +- Issue #3379: unittest.main now takes an optional exit argument. If False main
 +  doesn't call sys.exit allowing it to be used from the interactive interpreter.
  
 -- Issue #5741: don't disallow "%%" (which is an escape for "%") when setting
 -  a value in SafeConfigParser.
 +- Issue #5995: unittest.main now takes an optional verbosity argument allowing
 +  test modules to be run with a higher than default verbosity.
  
 -- Issue #5731: Distutils bdist_wininst no longer worked on non-Windows
 -  platforms. Initial patch by Paul Moore.
 +- Issue #5995: A fix to allow you to run "python -m unittest test_module" or
 +  "python -m unittest test_module.TestClass" from the command line.
  
 -- Issue #1491431: Fixed distutils.filelist.glob_to_re for edge cases.
 -  Initial fix by Wayne Davison.
 +- Issue #5728: unittest.TestResult has new startTestRun and stopTestRun methods;
 +  called immediately before and after a test run.
  
 -- Issue #5471: Fix os.path.expanduser() for $HOME set to '/'.
 +- Issue #5663: Better failure messages for unittest asserts. Default assertTrue
 +  and assertFalse messages are now useful. TestCase has a longMessage attribute.
 +  This defaults to False, but if set to True useful error messages are shown in
 +  addition to explicit messages passed to assert methods.
  
 -- Issue #1726172: fix IndexError in the case of and empty response in ftplib.
 +- Issue #3110: Add additional protect around SEM_VALUE_MAX for multiprocessing.
  
  - In Pdb, prevent the reassignment of __builtin__._ by sys.displayhook on
    printing out values.