diff --git a/Misc/NEWS b/Misc/NEWS
deleted file mode 100644
index 8489e8b..0000000
--- a/Misc/NEWS
+++ /dev/null
@@ -1,12486 +0,0 @@
-+++++++++++
-Python News
-+++++++++++
-
-What's New in Python 2.7.14 release candidate 1?
-================================================
-
-*Release date: 2017-08-26*
-
-Core and Builtins
------------------
-
-- bpo-30657: Fixed possible integer overflow in PyString_DecodeEscape.
-  Patch by Jay Bosamiya.
-
-- bpo-27945: Fixed various segfaults with dict when input collections are
-  mutated during searching, inserting or comparing.  Based on patches by
-  Duane Griffin and Tim Mitchell.
-
-- bpo-25794: Fixed type.__setattr__() and type.__delattr__() for
-  non-interned or unicode attribute names.  Based on patch by Eryk Sun.
-
-- bpo-29935: Fixed error messages in the index() method of tuple and list
-  when pass indices of wrong type.
-
-- bpo-28598: Support __rmod__ for subclasses of str being called before
-  str.__mod__.  Patch by Martijn Pieters.
-
-- bpo-29602: Fix incorrect handling of signed zeros in complex constructor for
-  complex subclasses and for inputs having a __complex__ method. Patch
-  by Serhiy Storchaka.
-
-- bpo-29347: Fixed possibly dereferencing undefined pointers
-  when creating weakref objects.
-
-- Issue #14376: Allow sys.exit to accept longs as well as ints. Patch
-  by Gareth Rees.
-
-- Issue #29028: Fixed possible use-after-free bugs in the subscription of the
-  buffer object with custom index object.
-
-- Issue #29145: Fix overflow checks in string, bytearray and unicode.
-  Patch by jan matejek and Xiang Zhang.
-
-- Issue #28932: Do not include <sys/random.h> if it does not exist.
-
-Extension Modules
------------------
-
-- Issue #29169: Update zlib to 1.2.11.
-
-Library
--------
-
-- bpo-30746: Prohibited the '=' character in environment variable names in
-  ``os.putenv()`` and ``os.spawn*()``.
-
-- [Security] bpo-30730: Prevent environment variables injection in subprocess on
-  Windows.  Prevent passing other environment variables and command arguments.
-
-- [Security] bpo-30694: Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes
-  of multiple security vulnerabilities including: CVE-2017-9233 (External
-  entity infinite loop DoS), CVE-2016-9063 (Integer overflow, re-fix),
-  CVE-2016-0718 (Fix regression bugs from 2.2.0's fix to CVE-2016-0718)
-  and CVE-2012-0876 (Counter hash flooding with SipHash).
-  Note: the CVE-2016-5300 (Use os-specific entropy sources like getrandom)
-  doesn't impact Python, since Python already gets entropy from the OS to set
-  the expat secret using ``XML_SetHashSalt()``.
-
-- [Security] bpo-30500: Fix urllib.splithost() to correctly parse
-  fragments. For example, ``splithost('//127.0.0.1#@evil.com/')`` now
-  correctly returns the ``127.0.0.1`` host, instead of treating ``@evil.com``
-  as the host in an authentification (``login@host``).
-
-- [Security] bpo-29591: Update expat copy from 2.1.1 to 2.2.0 to get fixes
-  of CVE-2016-0718 and CVE-2016-4472. See
-  https://sourceforge.net/p/expat/bugs/537/ for more information.
-
-- bpo-28994: The traceback no longer displayed for SystemExit raised in
-  a callback registered by atexit.
-
-- bpo-30418: On Windows, subprocess.Popen.communicate() now also ignore EINVAL
-  on stdin.write() if the child process is still running but closed the pipe.
-
-- bpo-30378: Fix the problem that logging.handlers.SysLogHandler cannot
-  handle IPv6 addresses.
-
-- bpo-29960: Preserve generator state when _random.Random.setstate()
-  raises an exception.  Patch by Bryan Olson.
-
-- bpo-30310: tkFont now supports unicode options (e.g. font family).
-
-- bpo-30414: multiprocessing.Queue._feed background running
-  thread do not break from main loop on exception.
-
-- bpo-30003: Fix handling escape characters in HZ codec.  Based on patch
-  by Ma Lin.
-
-- bpo-30375: Warnings emitted when compile a regular expression now always
-  point to the line in the user code.  Previously they could point into inners
-  of the re module if emitted from inside of groups or conditionals.
-
-- bpo-30363: Running Python with the -3 option now warns about regular
-  expression syntax that is invalid or has different semantic in Python 3
-  or will change the behavior in future Python versions.
-
-- bpo-30365: Running Python with the -3 option now emits deprecation warnings
-  for getchildren() and getiterator() methods of the Element class in the
-  xml.etree.cElementTree module and when pass the html argument to
-  xml.etree.ElementTree.XMLParser().
-
-- bpo-30365: Fixed a deprecation warning about the doctype() method of the
-  xml.etree.ElementTree.XMLParser class.  Now it is emitted only when define
-  the doctype() method in the subclass of XMLParser.
-
-- bpo-30329: imaplib now catchs the Windows socket WSAEINVAL error
-  (code 10022) on shutdown(SHUT_RDWR): An invalid operation was attempted.
-  This error occurs sometimes on SSL connections.
-
-- bpo-30342: Fix sysconfig.is_python_build() if Python is built with Visual
-  Studio 2008 (VS 9.0).
-
-- bpo-29990: Fix range checking in GB18030 decoder.  Original patch by Ma Lin.
-
-- bpo-30243: Removed the __init__ methods of _json's scanner and encoder.
-  Misusing them could cause memory leaks or crashes.  Now scanner and encoder
-  objects are completely initialized in the __new__ methods.
-
-- Revert bpo-26293 for zipfile breakage. See also bpo-29094.
-
-- bpo-30070: Fixed leaks and crashes in errors handling in the parser module.
-
-- bpo-30061: Fixed crashes in IOBase methods next() and readlines() when
-  readline() or next() respectively return non-sizeable object.
-  Fixed possible other errors caused by not checking results of PyObject_Size(),
-  PySequence_Size(), or PyMapping_Size().
-
-- bpo-30011: Fixed race condition in HTMLParser.unescape().
-
-- bpo-30068: _io._IOBase.readlines will check if it's closed first when
-  hint is present.
-
-- bpo-27863: Fixed multiple crashes in ElementTree caused by race conditions
-  and wrong types.
-
-- bpo-29942: Fix a crash in itertools.chain.from_iterable when encountering
-  long runs of empty iterables.
-
-- bpo-29861: Release references to tasks, their arguments and their results
-  as soon as they are finished in multiprocessing.Pool.
-
-- bpo-27880: Fixed integer overflow in cPickle when pickle large strings or
-  too many objects.
-
-- bpo-29110: Fix file object leak in aifc.open() when file is given as a
-  filesystem path and is not in valid AIFF format.
-  Original patch by Anthony Zhang.
-
-- Issue #29354: Fixed inspect.getargs() for parameters which are cell
-  variables.
-
-- Issue #29335: Fix subprocess.Popen.wait() when the child process has
-  exited to a stopped instead of terminated state (ex: when under ptrace).
-
-- Issue #29219: Fixed infinite recursion in the repr of uninitialized
-  ctypes.CDLL instances.
-
-- Issue #29082: Fixed loading libraries in ctypes by unicode names on Windows.
-  Original patch by Chi Hsuan Yen.
-
-- Issue #29188: Support glibc 2.24 on Linux: don't use getentropy() function
-  but read from /dev/urandom to get random bytes, for example in os.urandom().
-  On Linux, getentropy() is implemented which getrandom() is blocking mode,
-  whereas os.urandom() should not block.
-
-- Issue #29142: In urllib, suffixes in no_proxy environment variable with
-  leading dots could match related hostnames again (e.g. .b.c matches a.b.c).
-  Patch by Milan Oberkirch.
-
-- Issue #13051: Fixed recursion errors in large or resized
-  curses.textpad.Textbox.  Based on patch by Tycho Andersen.
-
-- Issue #9770: curses.ascii predicates now work correctly with negative
-  integers.
-
-- Issue #28427: old keys should not remove new values from
-  WeakValueDictionary when collecting from another thread.
-
-- Issue #28998: More APIs now support longs as well as ints.
-
-- Issue 28923: Remove editor artifacts from Tix.py,
-  including encoding not recognized by codecs.lookup.
-
-- Issue #29019: Fix dict.fromkeys(x) overallocates when x is sparce dict.
-  Original patch by Rasmus Villemoes.
-
-- Issue #19542: Fix bugs in WeakValueDictionary.setdefault() and
-  WeakValueDictionary.pop() when a GC collection happens in another
-  thread.
-
-- Issue #28925: cPickle now correctly propagates errors when unpickle instances
-  of old-style classes.
-
-Documentation
--------------
-
-- bpo-30176: Add missing attribute related constants in curses documentation.
-
-- bpo-28929: Link the documentation to its source file on GitHub.
-
-- Issue #26355: Add canonical header link on each page to corresponding major
-  version of the documentation. Patch by Matthias Bussonnier.
-
-- Issue #12067: Rewrite Comparisons section in the Expressions chapter of the
-  language reference. Some of the details of comparing mixed types were
-  incorrect or ambiguous. Added default behaviour and consistency suggestions
-  for user-defined classes. Based on patch from Andy Maier.
-
-Build
------
-
- bpo-29243: Prevent unnecessary rebuilding of Python during ``make test``,
-  ``make install`` and some other make targets when configured with
-  ``--enable-optimizations``.
-
-- bpo-23404: Don't regenerate generated files based on file modification time
-  anymore: the action is now explicit. Replace ``make touch`` with
-  ``make regen-all``.
-
-- bpo-27593: sys.version and the platform module python_build(),
-  python_branch(), and python_revision() functions now use
-  git information rather than hg when building from a repo.
-
-- bpo-29643: Fix ``--enable-optimization`` configure option didn't work.
-
-- bpo-29572: Update Windows build and OS X installers to use OpenSSL 1.0.2k.
-
-- Issue #28768: Fix implicit declaration of function _setmode. Patch by
-  Masayuki Yamamoto
-
-Tests
------
-
-- bpo-11790: Fix sporadic failures in
-  test_multiprocessing.WithProcessesTestCondition.
-
-- bpo-30236: Backported test.regrtest options -m/--match and -G/--failfast
-  from Python 3.
-
-- bpo-30223: To unify running tests in Python 2.7 and Python 3, the test
-  package can be run as a script.  This is equivalent to running the
-  test.regrtest module as a script.
-
-- bpo-30207: To simplify backports from Python 3, the test.test_support
-  module was converted into a package and renamed to test.support.  The
-  test.script_helper module was moved into the test.support package.
-  Names test.test_support and test.script_helper are left as aliases to
-  test.support and test.support.script_helper.
-
-- bpo-30197: Enhanced function swap_attr() in the test.test_support module.
-  It now works when delete replaced attribute inside the with statement.  The
-  old value of the attribute (or None if it doesn't exist) now will be
-  assigned to the target of the "as" clause, if there is one.
-  Also backported function swap_item().
-
-- bpo-28087: Skip test_asyncore and test_eintr poll failures on macOS.
-  Skip some tests of select.poll when running on macOS due to unresolved
-  issues with the underlying system poll function on some macOS versions.
-
-- bpo-15083: Convert ElementTree doctests to unittests.
-
-
-What's New in Python 2.7.13
-===========================
-
-*Release date: 2016-12-17*
-
-Core and Builtins
------------------
-
-- Revert a37cc3d926ec (Issue #5322).
-
-
-What's New in Python 2.7.13 release candidate 1?
-================================================
-
-*Release date: 2016-12-03*
-
-Core and Builtins
------------------
-
-- Issue #5322: Fixed setting __new__ to a PyCFunction inside Python code.
-  Original patch by Andreas Stührk.
-
-- Issue #28847: dumbdbm no longer writes the index file in when it is not
-  changed and supports reading read-only files.
-
-- Issue #11145: Fixed miscellaneous issues with C-style formatting of types
-  with custom __oct__ and __hex__.
-
-- Issue #24469: Fixed memory leak caused by int subclasses without overridden
-  tp_free (e.g. C-inherited Cython classes).
-
-- Issue #19398: Extra slash no longer added to sys.path components in case of
-  empty compile-time PYTHONPATH components.
-
-- Issue #21720: Improve exception message when the type of fromlist is unicode.
-  fromlist parameter of __import__() only accepts str in Python 2 and this
-  will help to identify the problem especially when the unicode_literals
-  future import is used.
-
-- Issue #26906: Resolving special methods of uninitialized type now causes
-  implicit initialization of the type instead of a fail.
-
-- Issue #18287: PyType_Ready() now checks that tp_name is not NULL.
-  Original patch by Niklas Koep.
-
-- Issue #24098: Fixed possible crash when AST is changed in process of
-  compiling it.
-
-- Issue #28350: String constants with null character no longer interned.
-
-- Issue #27942: String constants now interned recursively in tuples and frozensets.
-
-- Issue #15578: Correctly incref the parent module while importing.
-
-- Issue #26307: The profile-opt build now applies PGO to the built-in modules.
-
-- Issue #26020: set literal evaluation order did not match documented behaviour.
-
-- Issue #27870: A left shift of zero by a large integer no longer attempts
-  to allocate large amounts of memory.
-
-- Issue #25604: Fix a minor bug in integer true division; this bug could
-  potentially have caused off-by-one-ulp results on platforms with
-  unreliable ldexp implementations.
-
-- Issue #27473: Fixed possible integer overflow in str, unicode and bytearray
-  concatenations and repetitions.  Based on patch by Xiang Zhang.
-
-- Issue #27507: Add integer overflow check in bytearray.extend().  Patch by
-  Xiang Zhang.
-
-- Issue #27581: Don't rely on wrapping for overflow check in
-  PySequence_Tuple().  Patch by Xiang Zhang.
-
-- Issue #23908: os functions, open() and the io.FileIO constructor now reject
-  unicode paths with embedded null character on Windows instead of silently
-  truncating them.
-
-- Issue #27514: Make having too many statically nested blocks a SyntaxError
-  instead of SystemError.
-
-Library
--------
-
-- Issue #25659: In ctypes, prevent a crash calling the from_buffer() and
-  from_buffer_copy() methods on abstract classes like Array.
-
-- Issue #28563: Fixed possible DoS and arbitrary code execution when handle
-  plural form selections in the gettext module.  The expression parser now
-  supports exact syntax supported by GNU gettext.
-
-- Issue #28387: Fixed possible crash in _io.TextIOWrapper deallocator when
-  the garbage collector is invoked in other thread.  Based on patch by
-  Sebastian Cufre.
-
-- Issue #28449: tarfile.open() with mode "r" or "r:" now tries to open a tar
-  file with compression before trying to open it without compression.  Otherwise
-  it had 50% chance failed with ignore_zeros=True.
-
-- Issue #25464: Fixed HList.header_exists() in Tix module by adding
-  a workaround to Tix library bug.
-
-- Issue #28488: shutil.make_archive() no longer adds entry "./" to ZIP archive.
-
-- Issue #28480: Fix error building _sqlite3 module when multithreading is
-  disabled.
-
-- Issue #24452: Make webbrowser support Chrome on Mac OS X.
-
-- Issue #26293: Fixed writing ZIP files that starts not from the start of the
-  file.  Offsets in ZIP file now are relative to the start of the archive in
-  conforming to the specification.
-
-- Fix possible integer overflows and crashes in the mmap module with unusual
-  usage patterns.
-
-- Issue #27897: Fixed possible crash in sqlite3.Connection.create_collation()
-  if pass invalid string-like object as a name.  Original patch by Xiang Zhang.
-
-- Issue #1703178: Fix the ability to pass the --link-objects option to the
-  distutils build_ext command.
-
-- Issue #28253: Fixed calendar functions for extreme months: 0001-01
-  and 9999-12.
-
-  Methods itermonthdays() and itermonthdays2() are reimplemented so
-  that they don't call itermonthdates() which can cause datetime.date
-  under/overflow.
-
-- Issue #27963: Fixed possible null pointer dereference in
-  ctypes.set_conversion_mode().  Patch by Xiang Zhang.
-
-- Issue #28284: Strengthen resistance of ``_json.encode_basestring_ascii()`` to
-  integer overflow.
-
-- Issue #27611: Fixed support of default root window in the Tix module.
-
-- Issue #24363: When parsing HTTP header fields, if an invalid line is
-  encountered, skip it and continue parsing.  Previously, no more header
-  fields were parsed, which could lead to fields for HTTP framing like
-  Content-Length and Transfer-Encoding being overlooked.
-
-- Issue #27599: Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp().
-
-- Issue #25969: Update the lib2to3 grammar to handle the unpacking
-  generalizations added in 3.5.
-
-- Issue #24594: Validates persist parameter when opening MSI database
-
-- Issue #27570: Avoid zero-length memcpy() etc calls with null source
-  pointers in the "ctypes" and "array" modules.
-
-- Issue #22450: urllib now includes an "Accept: */*" header among the
-  default headers.  This makes the results of REST API requests more
-  consistent and predictable especially when proxy servers are involved.
-
-- lib2to3.pgen3.driver.load_grammar() now creates a stable cache file
-  between runs given the same Grammar.txt input regardless of the hash
-  randomization setting.
-
-- Issue #27691: Fix ssl module's parsing of GEN_RID subject alternative name
-  fields in X.509 certs.
-
-- Issue #27850: Remove 3DES from ssl module's default cipher list to counter
-  measure sweet32 attack (CVE-2016-2183).
-
-- Issue #27766: Add ChaCha20 Poly1305 to ssl module's default ciper list.
-  (Required OpenSSL 1.1.0 or LibreSSL).
-
-- Issue #26470: Port ssl and hashlib module to OpenSSL 1.1.0.
-
-- Issue #27944: Fix some memory-corruption bugs in the log reading code of the
-  _hotshot module.
-
-- Issue #27934: Use ``float.__repr__`` instead of plain ``repr`` when JSON-
-  encoding an instance of a float subclass. Thanks Eddie James.
-
-- Issue #27861: Fixed a crash in sqlite3.Connection.cursor() when a factory
-  creates not a cursor.  Patch by Xiang Zhang.
-
-- Issue #19884: Avoid spurious output on OS X with Gnu Readline.
-
-- Issue #10513: Fix a regression in Connection.commit().  Statements should
-  not be reset after a commit.
-
-- Issue #2466: posixpath.ismount now correctly recognizes mount points which
-  the user does not have permission to access.
-
-- Issue #27783: Fix possible usage of uninitialized memory in operator.methodcaller.
-
-- Issue #27774: Fix possible Py_DECREF on unowned object in _sre.
-
-- Issue #27760: Fix possible integer overflow in binascii.b2a_qp.
-
-- In the curses module, raise an error if window.getstr() or window.instr() is
-  passed a negative value.
-
-- Issue #27758: Fix possible integer overflow in the _csv module for large record
-  lengths.
-
-- Issue #23369: Fixed possible integer overflow in
-  _json.encode_basestring_ascii.
-
-- Issue #27568: Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the
-  HTTP_PROXY variable when REQUEST_METHOD environment is set, which indicates
-  that the script is in CGI mode.
-
-- Issue #27130: In the "zlib" module, fix handling of large buffers
-  (typically 2 or 4 GiB).  Previously, inputs were limited to 2 GiB, and
-  compression and decompression operations did not properly handle results of
-  2 or 4 GiB.
-
-- Issue #23804: Fix SSL zero-length recv() calls to not block and not raise
-  an error about unclean EOF.
-
-- Issue #27466: Change time format returned by http.cookie.time2netscape,
-  confirming the netscape cookie format and making it consistent with
-  documentation.
-
-- Issue #22115: Fixed tracing Tkinter variables: trace_vdelete() with wrong
-  mode no longer break tracing, trace_vinfo() now always returns a list of
-  pairs of strings.
-
-- Issue #27079: Fixed curses.ascii functions isblank(), iscntrl() and ispunct().
-
-- Issue #22636: Avoid shell injection problems with
-  ctypes.util.find_library().
-
-- Issue #27330: Fixed possible leaks in the ctypes module.
-
-- Issue #27238: Got rid of bare excepts in the turtle module.  Original patch
-  by Jelle Zijlstra.
-
-- Issue #26386: Fixed ttk.TreeView selection operations with item id's
-  containing spaces.
-
-- Issue #25455: Fixed a crash in repr of cElementTree.Element with recursive tag.
-
-- Issue #21201: Improves readability of multiprocessing error message.  Thanks
-  to Wojciech Walczak for patch.
-
-IDLE
-----
-
-- Issue #27854: Make Help => IDLE Help work again on Windows.
-  Include idlelib/help.html in 2.7 Windows installer.
-
-- Issue #25507: Add back import needed for 2.x encoding warning box.
-  Add pointer to 'Encoding declaration' in Language Reference.
-
-- Issue #15308: Add 'interrupt execution' (^C) to Shell menu.
-  Patch by Roger Serwy, updated by Bayard Randel.
-
-- Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen.
-
-- Issue #17642: add larger font sizes for classroom projection.
-
-- Add version to title of IDLE help window.
-
-- Issue #25564: In section on IDLE -- console differences, mention that
-  using exec means that __builtins__ is defined for each statement.
-
-- Issue #27714: text_textview and test_autocomplete now pass when re-run
-  in the same process.  This occurs when test_idle fails when run with the
-  -w option but without -jn.  Fix warning from test_config.
-
-- Issue #27452: add line counter and crc to IDLE configHandler test dump.
-
-- Issue #27365: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.
-
-- Issue #27245: IDLE: Cleanly delete custom themes and key bindings.
-  Previously, when IDLE was started from a console or by import, a cascade
-  of warnings was emitted.  Patch by Serhiy Storchaka.
-
-Documentation
--------------
-
-- Issue #28513: Documented command-line interface of zipfile.
-
-- Issue #16484: Change the default PYTHONDOCS URL to "https:", and fix the
-  resulting links to use lowercase.  Patch by Sean Rodman, test by Kaushik
-  Nadikuditi.
-
-Tests
------
-
-- Issue #28666: Now test.test_support.rmtree is able to remove unwritable or
-  unreadable directories.
-
-- Issue #23839: Various caches now are cleared before running every test file.
-
-- Issue #27369: In test_pyexpat, avoid testing an error message detail that
-  changed in Expat 2.2.0.
-
-Build
------
-
-- Issue #10656: Fix out-of-tree building on AIX.  Patch by Tristan Carel and
-  Michael Haubenwallner.
-
-- Issue #26359: Rename --with-optimiations to --enable-optimizations.
-
-- Issue #28248: Update Windows build and OS X installers to use OpenSSL 1.0.2j.
-
-- Issue #28258: Fixed build with Estonian locale (distclean target in
-  Makefile).  Patch by Arfrever Frehtes Taifersar Arahesis.
-
-- Issue #26661: setup.py now detects system libffi with multiarch wrapper.
-
-- Issue #15819: The Include directory in the build tree is already searched;
-  drop unused code trying to add it again.
-
-- Issue #27566: Fix clean target in freeze makefile (patch by Lisa Roach)
-
-- Issue #27983: Cause lack of llvm-profdata tool when using clang as
-  required for PGO linking to be a configure time error rather than
-  make time when --with-optimizations is enabled.  Also improve our
-  ability to find the llvm-profdata tool on MacOS and some Linuxes.
-
-- Issue #26359: Add the --with-optimizations configure flag.
-
-- Issue #10910: Avoid C++ compilation errors on FreeBSD and OS X.
-  Also update FreedBSD version checks for the original ctype UTF-8 workaround.
-
-- Issue #27806: Fix 32-bit builds on macOS Sierra 10.12 broken by removal of
-  deprecated QuickTime/QuickTime.h header file.  Patch by Aleks Bunin.
-
-- Issue #28676: Prevent missing 'getentropy' declaration warning on macOS.
-  Initial patch by Gareth Rees.
-
-Tools/Demos
------------
-
-- Issue #27952: Get Tools/scripts/fixcid.py working with the current "re"
-  module, avoid invalid Python backslash escapes, and fix a bug parsing
-  escaped C quote signs.
-
-Windows
--------
-
-- Issue #27932: Prevent memory leak in win32_ver().
-
-- Issue #27888: Prevent Windows installer from displaying console windows and
-  failing when pip cannot be installed/uninstalled.
-
-Mac OS X
---------
-
-- Issue #28440: No longer add /Library/Python/site-packages, the Apple-supplied
-  system Python site-packages directory, to sys.path for macOS framework builds.
-  The coupling between the two Python instances often caused confusion and, as
-  of macOS 10.12, changes to the site-packages layout can cause pip component
-  installations to fail.  This change reverts the effects introduced in 2.7.0
-  by Issue #4865.  If you are using a package with both the Apple system Python
-  2.7 and a user-installed Python 2.7, you will need to ensure that copies of
-  the package are installed with both Python instances.
-
-
-What's New in Python 2.7.12?
-============================
-
-*Release date: 2016-06-25*
-
-Build
------
-
-- Issue #27641: The configure script now inserts comments into the makefile
-  to prevent the pgen executable from being cross-compiled.
-
-- Issue #26930: Update Windows builds to use OpenSSL 1.0.2h.
-
-IDLE
-----
-
-- Issue #27365: Fix about dialog.
-
-
-What's New in Python 2.7.12 release candidate 1?
-================================================
-
-*Release date: 2016-06-12*
-
-Core and Builtins
------------------
-
-- Issue #20041: Fixed TypeError when frame.f_trace is set to None.
-  Patch by Xavier de Gaye.
-
-- Issue #25702: A --with-lto configure option has been added that will
-  enable link time optimizations at build time during a make profile-opt.
-  Some compilers and toolchains are known to not produce stable code when
-  using LTO, be sure to test things thoroughly before relying on it.
-  It can provide a few % speed up over profile-opt alone.
-
-- Issue #26168: Fixed possible refleaks in failing Py_BuildValue() with the "N"
-  format unit.
-
-- Issue #27039: Fixed bytearray.remove() for values greater than 127.  Patch by
-  Joe Jevnik.
-
-- Issue #4806: Avoid masking the original TypeError exception when using star
-  (*) unpacking and the exception was raised from a generator.  Based on
-  patch by Hagen Fürstenau.
-
-- Issue #26659: Make the builtin slice type support cycle collection.
-
-- Issue #26718: super.__init__ no longer leaks memory if called multiple times.
-  NOTE: A direct call of super.__init__ is not endorsed!
-
-- Issue #13410: Fixed a bug in PyUnicode_Format where it failed to properly
-  ignore errors from a __int__() method.
-
-- Issue #26494: Fixed crash on iterating exhausting iterators.
-  Affected classes are generic sequence iterators, iterators of bytearray,
-  list, tuple, set, frozenset, dict, OrderedDict and corresponding views.
-
-- Issue #26581: If coding cookie is specified multiple times on a line in
-  Python source code file, only the first one is taken to account.
-
-- Issue #22836: Ensure exception reports from PyErr_Display() and
-  PyErr_WriteUnraisable() are sensible even when formatting them produces
-  secondary errors.  This affects the reports produced by
-  sys.__excepthook__() and when __del__() raises an exception.
-
-- Issue #22847: Improve method cache efficiency.
-
-- Issue #25843: When compiling code, don't merge constants if they are equal
-  but have a different types. For example, ``f1, f2 = lambda: 1, lambda: 1.0``
-  is now correctly compiled to two different functions: ``f1()`` returns ``1``
-  (``int``) and ``f2()`` returns ``1.0`` (``int``), even if ``1`` and ``1.0``
-  are equal.
-
-- Issue #22995: [UPDATE] Remove the one of the pickleability tests in
-  _PyObject_GetState() due to regressions observed in Cython-based projects.
-
-- Issue #25961: Disallowed null characters in the type name.
-
-- Issue #22995: Instances of extension types with a state that aren't
-  subclasses of list or dict and haven't implemented any pickle-related
-  methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__,
-  or __getstate__), can no longer be pickled.  Including memoryview.
-
-- Issue #20440: Massive replacing unsafe attribute setting code with special
-  macro Py_SETREF.
-
-- Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.
-  This allows sys.getsize() to work correctly with their subclasses with
-  __slots__ defined.
-
-- Issue #19543: Added Py3k warning for decoding unicode.
-
-- Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
-  __getattr__.
-
-- Issue #24731: Fixed crash on converting objects with special methods
-  __str__, __trunc__, and __float__ returning instances of subclasses of
-  str, long, and float to subclasses of str, long, and float correspondingly.
-
-- Issue #26478: Fix semantic bugs when using binary operators with dictionary
-  views and tuples.
-
-- Issue #26171: Fix possible integer overflow and heap corruption in
-  zipimporter.get_data().
-
-Library
--------
-
-- Issue #26556: Update expat to 2.1.1, fixes CVE-2015-1283.
-
-- Fix TLS stripping vulnerability in smptlib, CVE-2016-0772.  Reported by Team
-  Oststrom
-
-- Issue #7356: ctypes.util: Make parsing of ldconfig output independent of the
-  locale.
-
-- Issue #25738: Stop BaseHTTPServer.BaseHTTPRequestHandler.send_error() from
-  sending a message body for 205 Reset Content.  Also, don't send the
-  Content-Type header field in responses that don't have a body.  Based on
-  patch by Susumu Koshiba.
-
-- Issue #21313: Fix the "platform" module to tolerate when sys.version
-  contains truncated build information.
-
-- Issue #27211: Fix possible memory corruption in io.IOBase.readline().
-
-- Issue #27114: Fix SSLContext._load_windows_store_certs fails with
-  PermissionError
-
-- Issue #14132: Fix urllib.request redirect handling when the target only has
-  a query string.  Fix by Ján Janech.
-
-- Removed the requirements for the ctypes and modulefinder modules to be
-  compatible with earlier Python versions.
-
-- Issue #22274: In the subprocess module, allow stderr to be redirected to
-  stdout even when stdout is not redirected.  Patch by Akira Li.
-
-- Issue #12045: Avoid duplicate execution of command in ctypes.util._get_soname().
-  Patch by Sijin Joseph.
-
-- Issue #26960: Backported #16270 from Python 3 to Python 2, to prevent urllib
-  from hanging when retrieving certain FTP files.
-
-- Issue #25745: Fixed leaking a userptr in curses panel destructor.
-
-- Issue #17765: weakref.ref() no longer silently ignores keyword arguments.
-  Patch by Georg Brandl.
-
-- Issue #26873: xmlrpclib now raises ResponseError on unsupported type tags
-  instead of silently return incorrect result.
-
-- Issue #24114: Fix an uninitialized variable in `ctypes.util`.
-
-  The bug only occurs on SunOS when the ctypes implementation searches
-  for the `crle` program.  Patch by Xiang Zhang.  Tested on SunOS by
-  Kees Bos.
-
-- Issue #26864: In urllib, change the proxy bypass host checking against
-  no_proxy to be case-insensitive, and to not match unrelated host names that
-  happen to have a bypassed hostname as a suffix.  Patch by Xiang Zhang.
-
-- Issue #26804: urllib will prefer lower_case proxy environment variables over
-  UPPER_CASE or Mixed_Case ones. Patch contributed by Hans-Peter Jansen.
-
-- Issue #26837: assertSequenceEqual() now correctly outputs non-stringified
-  differing items.  This affects assertListEqual() and assertTupleEqual().
-
-- Issue #26822: itemgetter, attrgetter and methodcaller objects no longer
-  silently ignore keyword arguments.
-
-- Issue #26657: Fix directory traversal vulnerability with SimpleHTTPServer
-  on Windows.  This fixes a regression that was introduced in 2.7.7.  Based
-  on patch by Philipp Hagemeister.
-
-- Issue #19377: Add .svg to mimetypes.types_map.
-
-- Issue #13952: Add .csv to mimetypes.types_map.  Patch by Geoff Wilson.
-
-- Issue #16329: Add .webm to mimetypes.types_map.  Patch by Giampaolo Rodola'.
-
-- Issue #23735: Handle terminal resizing with Readline 6.3+ by installing our
-  own SIGWINCH handler.  Patch by Eric Price.
-
-- Issue #26644: Raise ValueError rather than SystemError when a negative
-  length is passed to SSLSocket.recv() or read().
-
-- Issue #23804: Fix SSL recv(0) and read(0) methods to return zero bytes
-  instead of up to 1024.
-
-- Issue #24266: Ctrl+C during Readline history search now cancels the search
-  mode when compiled with Readline 7.
-
-- Issue #23857: Implement PEP 493, adding a Python-2-only ssl module API and
-  environment variable to configure the default handling of SSL/TLS certificates
-  for HTTPS connections.
-
-- Issue #26313: ssl.py _load_windows_store_certs fails if windows cert store
-  is empty. Patch by Baji.
-
-- Issue #26513: Fixes platform module detection of Windows Server
-
-- Issue #23718: Fixed parsing time in week 0 before Jan 1.  Original patch by
-  Tamás Bence Gedai.
-
-- Issue #26177: Fixed the keys() method for Canvas and Scrollbar widgets.
-
-- Issue #15068: Got rid of excessive buffering in the fileinput module.
-  The bufsize parameter is no longer used.
-
-- Issue #2202: Fix UnboundLocalError in
-  AbstractDigestAuthHandler.get_algorithm_impls.  Initial patch by Mathieu Dupuy.
-
-- Issue #26475: Fixed debugging output for regular expressions with the (?x)
-  flag.
-
-- Issue #26385: Remove the file if the internal fdopen() call in
-  NamedTemporaryFile() fails.  Based on patch by Silent Ghost.
-
-- Issue #26309: In the "SocketServer" module, shut down the request (closing
-  the connected socket) when verify_request() returns false.  Based on patch
-  by Aviv Palivoda.
-
-- Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates.
-
-- Issue #24303: Fix random EEXIST upon multiprocessing semaphores creation with
-  Linux PID namespaces enabled.
-
-- Issue #25698: Importing module if the stack is too deep no longer replaces
-  imported module with the empty one.
-
-- Issue #12923: Reset FancyURLopener's redirect counter even if there is an
-  exception.  Based on patches by Brian Brazil and Daniel Rocco.
-
-- Issue #25945: Fixed a crash when unpickle the functools.partial object with
-  wrong state.  Fixed a leak in failed functools.partial constructor.
-  "args" and "keywords" attributes of functools.partial have now always types
-  tuple and dict correspondingly.
-
-- Issue #19883: Fixed possible integer overflows in zipimport.
-
-- Issue #26147: xmlrpclib now works with unicode not encodable with used
-  non-UTF-8 encoding.
-
-- Issue #16620: Fixed AttributeError in msilib.Directory.glob().
-
-- Issue #21847: Fixed xmlrpclib on Unicode-disabled builds.
-
-- Issue #6500: Fixed infinite recursion in urllib2.Request.__getattr__().
-
-- Issue #26083: Workaround a subprocess bug that raises an incorrect
-  "ValueError: insecure string pickle" exception instead of the actual
-  exception on some platforms such as Mac OS X when an exception raised
-  in the forked child process prior to the exec() was large enough that
-  it overflowed the internal errpipe_read pipe buffer.
-
-- Issue #24103: Fixed possible use after free in ElementTree.iterparse().
-
-- Issue #20954: _args_from_interpreter_flags used by multiprocessing and some
-  tests no longer behaves incorrectly in the presence of the PYTHONHASHSEED
-  environment variable.
-
-- Issue #14285: When executing a package with the "python -m package" option,
-  and package initialization raises ImportError, a proper traceback is now
-  reported.
-
-- Issue #6478: _strptime's regexp cache now is reset after changing timezone
-  with time.tzset().
-
-- Issue #25718: Fixed copying object with state with boolean value is false.
-
-- Issue #25742: :func:`locale.setlocale` now accepts a Unicode string for
-  its second parameter.
-
-- Issue #10131: Fixed deep copying of minidom documents.  Based on patch
-  by Marian Ganisin.
-
-- Issue #25725: Fixed a reference leak in cPickle.loads() when unpickling
-  invalid data including tuple instructions.
-
-- Issue #25663: In the Readline completer, avoid listing duplicate global
-  names, and search the global namespace before searching builtins.
-
-- Issue #25688: Fixed file leak in ElementTree.iterparse() raising an error.
-
-- Issue #23914: Fixed SystemError raised by CPickle unpickler on broken data.
-
-- Issue #25924: Avoid unnecessary serialization of getaddrinfo(3) calls on
-  OS X versions 10.5 or higher.  Original patch by A. Jesse Jiryu Davis.
-
-- Issue #26406: Avoid unnecessary serialization of getaddrinfo(3) calls on
-  current versions of OpenBSD and NetBSD.  Patch by A. Jesse Jiryu Davis.
-
-IDLE
-----
-
-- Issue #5124: Paste with text selected now replaces the selection on X11.
-  This matches how paste works on Windows, Mac, most modern Linux apps,
-  and ttk widgets.  Original patch by Serhiy Storchaka.
-
-- Issue #24759: Make clear in idlelib.idle_test.__init__ that the directory
-  is a private implementation of test.test_idle and tool for maintainers.
-
-- Issue #26673: When tk reports font size as 0, change to size 10.
-  Such fonts on Linux prevented the configuration dialog from opening.
-
-- Issue #27044: Add ConfigDialog.remove_var_callbacks to stop memory leaks.
-
-- In the 'IDLE-console differences' section of the IDLE doc, clarify
-  how running with IDLE affects sys.modules and the standard streams.
-
-- Issue #25507: fix incorrect change in IOBinding that prevented printing.
-  Change also prevented saving shell window with non-ascii characters.
-  Augment IOBinding htest to include all major IOBinding functions.
-
-- Issue #25905: Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION
-  MARK in README.txt and open this and NEWS.txt with 'ascii'.
-  Re-encode CREDITS.txt to utf-8 and open it with 'utf-8'.
-
-- Issue #26417: Prevent spurious errors and incorrect defaults when
-  installing IDLE 2.7 on OS X: default configuration settings are
-  no longer installed from OS X specific copies.
-
-Documentation
--------------
-
-- Issue #26736: Used HTTPS for external links in the documentation if possible.
-
-- Issue #6953: Rework the Readline module documentation to group related
-  functions together, and add more details such as what underlying Readline
-  functions and variables are accessed.
-
-- Issue #26014: Guide users to the newer packaging documentation as was done
-  for Python 3.x.  In particular, the top-level 2.7 documentation page now
-  links to the newer installer and distributions pages rather than the
-  legacy install and Distutils pages; these are still linked to in the
-  library/distutils doc page.
-
-Tests
------
-
-- Issue #21916: Added tests for the turtle module.  Patch by ingrid,
-  Gregory Loyse and Jelle Zijlstra.
-
-- Issue #25940: Changed test_ssl to use self-signed.pythontest.net.  This
-  avoids relying on svn.python.org, which recently changed root certificate.
-
-- Issue #25616: Tests for OrderedDict are extracted from test_collections
-  into separate file test_ordered_dict.
-
-Build
------
-
-- Issue #22359: Avoid incorrect recursive $(MAKE), and disable the rules for
-  running pgen when cross-compiling.  The pgen output is normally saved with
-  the source code anyway, and is still regenerated when doing a native build.
-  Patch by Jonas Wagner and Xavier de Gaye.
-
-- Issue #19450: Update Windows builds to use SQLite 3.8.11.0.
-
-- Issue #27229: Fix the cross-compiling pgen rule for in-tree builds.  Patch
-  by Xavier de Gaye.
-
-- Issue #17603: Avoid error about nonexistant fileblocks.o file by using a
-  lower-level check for st_blocks in struct stat.
-
-- Issue #26465: Update Windows builds to use OpenSSL 1.0.2g.
-
-- Issue #24421: Compile Modules/_math.c once, before building extensions.
-  Previously it could fail to compile properly if the math and cmath builds
-  were concurrent.
-
-- Issue #25824: Fixes sys.winver to not include any architecture suffix.
-
-- Issue #25348: Added ``--pgo`` and ``--pgo-job`` arguments to
-  ``PCbuild\build.bat`` for building with Profile-Guided Optimization.  The
-  old ``PCbuild\build_pgo.bat`` script is now deprecated, and simply calls
-  ``PCbuild\build.bat --pgo %*``.
-
-- Issue #25827: Add support for building with ICC to ``configure``, including
-  a new ``--with-icc`` flag.
-
-- Issue #25696: Fix installation of Python on UNIX with make -j9.
-
-- Issue #26930: Update OS X 10.5+ 32-bit-only installer to build
-  and link with OpenSSL 1.0.2h.
-
-- Issue #26268: Update Windows builds to use OpenSSL 1.0.2f.
-
-- Issue #25136: Support Apple Xcode 7's new textual SDK stub libraries.
-
-Tools/Demos
------------
-
-- Issue #26799: Fix python-gdb.py: don't get C types once when the Python code
-  is loaded, but get C types on demand. The C types can change if
-  python-gdb.py is loaded before the Python executable. Patch written by Thomas
-  Ilsche.
-
-C API
------
-
-- bpo-30255: PySlice_GetIndicesEx now clips the step to
-  [-PY_SSIZE_T_MAX, PY_SSIZE_T_MAX] instead of
-  [-PY_SSIZE_T_MAX-1, PY_SSIZE_T_MAX].  This makes it safe to do "step = -step"
-  when reversing a slice.
-
-- Issue #26476: Fixed compilation error when use PyErr_BadInternalCall() in C++.
-  Patch by Jeroen Demeyer.
-
-Misc
-----
-
-- Issue #17500, and https://github.com/python/pythondotorg/issues/945: Remove
-  unused and outdated icons.
-
-
-What's New in Python 2.7.11?
-============================
-
-*Release date: 2015-12-05*
-
-Library
--------
-
-- Issue #25624: ZipFile now always writes a ZIP_STORED header for directory
-  entries.  Patch by Dingyuan Wang.
-
-
-What's New in Python 2.7.11 release candidate 1?
-================================================
-
-*Release date: 2015-11-21*
-
-Core and Builtins
------------------
-
-- Issue #25678: Avoid buffer overreads when int(), long(), float(), and
-  compile() are passed buffer objects.  These objects are not necessarily
-  terminated by a null byte, but the functions assumed they were.
-
-- Issue #25388: Fixed tokenizer hang when processing undecodable source code
-  with a null byte.
-
-- Issue #22995: Default implementation of __reduce__ and __reduce_ex__ now
-  rejects builtin types with not defined __new__.
-
-- Issue #7267: format(int, 'c') now raises OverflowError when the argument is
-  not in range(0, 256).
-
-- Issue #24806: Prevent builtin types that are not allowed to be subclassed from
-  being subclassed through multiple inheritance.
-
-- Issue #24848: Fixed a number of bugs in UTF-7 decoding of misformed data.
-
-- Issue #25003: os.urandom() doesn't use getentropy() on Solaris because
-  getentropy() is blocking, whereas os.urandom() should not block. getentropy()
-  is supported since Solaris 11.3.
-
-- Issue #21167: NAN operations are now handled correctly when python is
-  compiled with ICC even if -fp-model strict is not specified.
-
-- Issue #24467: Fixed possible buffer over-read in bytearray. The bytearray
-  object now always allocates place for trailing null byte and it's buffer now
-  is always null-terminated.
-
-- Issue #19543: encode() and decode() methods and constructors of str,
-  unicode and bytearray classes now emit deprecation warning for known
-  non-text encodings when Python is ran with the -3 option.
-
-- Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
-  PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
-  to check for and handle errors correctly.
-
-- Issue #4753: On compilers where it is supported, use "computed gotos" for
-  bytecode dispatch in the interpreter. This improves interpretation
-  performance.
-
-- Issue #22939: Fixed integer overflow in iterator object.  Original patch by
-  Clement Rouault.
-
-- Issue #24102: Fixed exception type checking in standard error handlers.
-
-Library
--------
-
-- Issue #10128: backport issue #10845's mitigation of incompatibilities between
-  the multiprocessing module and directory and zipfile execution.
-  Multiprocessing on Windows will now automatically skip rerunning __main__ in
-  spawned processes, rather than failing with AssertionError.
-
-- Issue #25578: Fix (another) memory leak in SSLSocket.getpeercer().
-
-- Issue #25590: In the Readline completer, only call getattr() once per
-  attribute.
-
-- Issue #25530: Disable the vulnerable SSLv3 protocol by default when creating
-  ssl.SSLContext.
-
-- Issue #25569: Fix memory leak in SSLSocket.getpeercert().
-
-- Issue #7759: Fixed the mhlib module on filesystems that doesn't support
-  link counting for directories.
-
-- Issue #892902: Fixed pickling recursive objects.
-
-- Issue #18010: Fix the pydoc GUI's search function to handle exceptions
-  from importing packages.
-
-- Issue #25515: Always use os.urandom as a source of randomness in uuid.uuid4.
-
-- Issue #21827: Fixed textwrap.dedent() for the case when largest common
-  whitespace is a substring of smallest leading whitespace.
-  Based on patch by Robert Li.
-
-- Issue #21709: Fix the logging module to not depend upon __file__ being set
-  properly to get the filename of its caller from the stack.  This allows it
-  to work if run in a frozen or embedded environment where the module's
-  .__file__ attribute does not match its code object's .co_filename.
-
-- Issue #25319: When threading.Event is reinitialized, the underlying condition
-  should use a regular lock rather than a recursive lock.
-
-- Issue #25232: Fix CGIRequestHandler to split the query from the URL at the
-  first question mark (?) rather than the last. Patch from Xiang Zhang.
-
-- Issue #24657: Prevent CGIRequestHandler from collapsing slashes in the
-  query part of the URL as if it were a path. Patch from Xiang Zhang.
-
-- Issue #22958: Constructor and update method of weakref.WeakValueDictionary
-  now accept the self keyword argument.
-
-- Issue #22609: Constructor and the update method of collections.UserDict now
-  accept the self keyword argument.
-
-- Issue #25203: Failed readline.set_completer_delims() no longer left the
-  module in inconsistent state.
-
-- Issue #19143: platform module now reads Windows version from kernel32.dll to
-  avoid compatibility shims.
-
-- Issue #25135: Make deque_clear() safer by emptying the deque before clearing.
-  This helps avoid possible reentrancy issues.
-
-- Issue #24684: socket.socket.getaddrinfo() now calls
-  PyUnicode_AsEncodedString() instead of calling the encode() method of the
-  host, to handle correctly custom unicode string with an encode() method
-  which doesn't return a byte string. The encoder of the IDNA codec is now
-  called directly instead of calling the encode() method of the string.
-
-- Issue #24982: shutil.make_archive() with the "zip" format now adds entries
-  for directories (including empty directories) in ZIP file.
-
-- Issue #17849: Raise a sensible exception if an invalid response is
-  received for a HTTP tunnel request, as seen with some servers that
-  do not support tunnelling.  Initial patch from Cory Benfield.
-
-- Issue #16180: Exit pdb if file has syntax error, instead of trapping user
-  in an infinite loop.  Patch by Xavier de Gaye.
-
-- Issue #22812: Fix unittest discovery examples.
-  Patch from Pam McA'Nulty.
-
-- Issue #24634: Importing uuid should not try to load libc on Windows
-
-- Issue #23652: Make it possible to compile the select module against the
-  libc headers from the Linux Standard Base, which do not include some
-  EPOLL macros.  Initial patch by Matt Frank.
-
-- Issue #15138: Speed up base64.urlsafe_b64{en,de}code considerably.
-
-- Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch
-  written by Matthieu Gautier.
-
-- Issue #23254: Document how to close the TCPServer listening socket.
-  Patch from Martin Panter.
-
-- Issue #17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella.
-
-- Issue #24613: Calling array.fromstring() with self is no longer allowed
-  to prevent the use-after-free error.  Patch by John Leitch.
-
-- Issue #24708: Fix possible integer overflow in strop.replace().
-
-- Issue #24620: Random.setstate() now validates the value of state last element.
-
-- Issue #13938: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond.
-
-- Issue #24611: Fixed compiling the posix module on non-Windows platforms
-  without mknod() or makedev() (e.g. on Unixware).
-
-- Issue #18684: Fixed reading out of the buffer in the re module.
-
-- Issue #24259: tarfile now raises a ReadError if an archive is truncated
-  inside a data segment.
-
-- Issue #24514: tarfile now tolerates number fields consisting of only
-  whitespace.
-
-- Issue #20387: Restore semantic round-trip correctness in tokenize/untokenize
-  for tab-indented blocks.
-
-- Issue #24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm()
-  functions of the audioop module.  Fixed SystemError when the state is not a
-  tuple.  Fixed possible memory leak.
-
-- Issue #24481: Fix possible memory corruption with large profiler info strings
-  in hotshot.
-
-- Issue #24489: ensure a previously set C errno doesn't disturb cmath.polar().
-
-- Issue #19543: io.TextIOWrapper (and hence io.open()) now uses the internal
-  codec marking system added to emit deprecation warning for known non-text
-  encodings at stream construction time when Python is ran with the -3 option.
-
-- Issue #24264: Fixed buffer overflow in the imageop module.
-
-- Issue #5633: Fixed timeit when the statement is a string and the setup is not.
-
-- Issue #24326: Fixed audioop.ratecv() with non-default weightB argument.
-  Original patch by David Moore.
-
-- Issue #22095: Fixed HTTPConnection.set_tunnel with default port.  The port
-  value in the host header was set to "None".  Patch by Demian Brecht.
-
-- Issue #24257: Fixed segmentation fault in sqlite3.Row constructor with faked
-  cursor type.
-
-- Issue #24286: Dict view were not registered with the MappingView abstract
-  base classes.  This caused key and item views in OrderedDict to not be equal
-  to their regular dict counterparts.
-
-- Issue #22107: tempfile.gettempdir() and tempfile.mkdtemp() now try again
-  when a directory with the chosen name already exists on Windows as well as
-  on Unix.  tempfile.mkstemp() now fails early if parent directory is not
-  valid (not exists or is a file) on Windows.
-
-- Issue #6598: Increased time precision and random number range in
-  email.utils.make_msgid() to strengthen the uniqueness of the message ID.
-
-- Issue #24091: Fixed various crashes in corner cases in cElementTree.
-
-- Issue #15267: HTTPConnection.request() now is compatible with old-style
-  classes (such as TemporaryFile).  Original patch by Atsuo Ishimoto.
-
-- Issue #20014: array.array() now accepts unicode typecodes.  Based on patch by
-  Vajrasky Kok.
-
-- Issue #23637: Showing a warning no longer fails with UnicodeError.
-  Formatting unicode warning in the file with the path containing non-ascii
-  characters no longer fails with UnicodeError.
-
-- Issue #24134: Reverted issue #24134 changes.
-
-IDLE
-----
-
-- Issue #15348: Stop the debugger engine (normally in a user process)
-  before closing the debugger window (running in the IDLE process).
-  This prevents the RuntimeErrors that were being caught and ignored.
-
-- Issue #24455: Prevent IDLE from hanging when a) closing the shell while the
-  debugger is active (15347); b) closing the debugger with the [X] button
-  (15348); and c) activating the debugger when already active (24455).
-  The patch by Mark Roseman does this by making two changes.
-  1. Suspend and resume the gui.interaction method with the tcl vwait
-  mechanism intended for this purpose (instead of root.mainloop & .quit).
-  2. In gui.run, allow any existing interaction to terminate first.
-
-- Change 'The program' to 'Your program' in an IDLE 'kill program?' message
-  to make it clearer that the program referred to is the currently running
-  user program, not IDLE itself.
-
-- Issue #24750: Improve the appearance of the IDLE editor window status bar.
-  Patch by Mark Roseman.
-
-- Issue #25313: Change the handling of new built-in text color themes to better
-  address the compatibility problem introduced by the addition of IDLE Dark.
-  Consistently use the revised idleConf.CurrentTheme everywhere in idlelib.
-
-- Issue #24782: Extension configuration is now a tab in the IDLE Preferences
-  dialog rather than a separate dialog.   The former tabs are now a sorted
-  list.  Patch by Mark Roseman.
-
-- Issue #22726: Re-activate the config dialog help button with some content
-  about the other buttons and the new IDLE Dark theme.
-
-- Issue #24820: IDLE now has an 'IDLE Dark' built-in text color theme.
-  It is more or less IDLE Classic inverted, with a cobalt blue background.
-  Strings, comments, keywords, ... are still green, red, orange, ... .
-  To use it with IDLEs released before November 2015, hit the
-  'Save as New Custom Theme' button and enter a new name,
-  such as 'Custom Dark'.  The custom theme will work with any IDLE
-  release, and can be modified.
-
-- Issue #25224: README.txt is now an idlelib index for IDLE developers and
-  curious users.  The previous user content is now in the IDLE doc chapter.
-  'IDLE' now means 'Integrated Development and Learning Environment'.
-
-- Issue #24820: Users can now set breakpoint colors in
-  Settings -> Custom Highlighting.  Original patch by Mark Roseman.
-
-- Issue #24972: Inactive selection background now matches active selection
-  background, as configured by users, on all systems.  Found items are now
-  always highlighted on Windows.  Initial patch by Mark Roseman.
-
-- Issue #24570: Idle: make calltip and completion boxes appear on Macs
-  affected by a tk regression.  Initial patch by Mark Roseman.
-
-- Issue #24988: Idle ScrolledList context menus (used in debugger)
-  now work on Mac Aqua.  Patch by Mark Roseman.
-
-- Issue #24801: Make right-click for context menu work on Mac Aqua.
-  Patch by Mark Roseman.
-
-- Issue #25173: Associate tkinter messageboxes with a specific widget.
-  For Mac OSX, make them a 'sheet'.  Patch by Mark Roseman.
-
-- Issue #25198: Enhance the initial html viewer now used for Idle Help.
-  * Properly indent fixed-pitch text (patch by Mark Roseman).
-  * Give code snippet a very Sphinx-like light blueish-gray background.
-  * Re-use initial width and height set by users for shell and editor.
-  * When the Table of Contents (TOC) menu is used, put the section header
-  at the top of the screen.
-
-- Issue #25225: Condense and rewrite Idle doc section on text colors.
-
-- Issue #21995: Explain some differences between IDLE and console Python.
-
-- Issue #22820: Explain need for *print* when running file from Idle editor.
-
-- Issue #25224: Doc: augment Idle feature list and no-subprocess section.
-
-- Issue #25219: Update doc for Idle command line options.
-  Some were missing and notes were not correct.
-
-- Issue #24861: Most of idlelib is private and subject to change.
-  Use idleib.idle.* to start Idle. See idlelib.__init__.__doc__.
-
-- Issue #25199: Idle: add synchronization comments for future maintainers.
-
-- Issue #16893: Replace help.txt with help.html for Idle doc display.
-  The new idlelib/help.html is rstripped Doc/build/html/library/idle.html.
-  It looks better than help.txt and will better document Idle as released.
-  The tkinter html viewer that works for this file was written by Mark Roseman.
-  The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated.
-
-- Issue #24199: Deprecate unused idlelib.idlever with possible removal in 3.6.
-
-- Issue #24790: Remove extraneous code (which also create 2 & 3 conflicts).
-
-- Issue #23672: Allow Idle to edit and run files with astral chars in name.
-  Patch by Mohd Sanad Zaki Rizvi.
-
-- Issue #24745: Idle editor default font. Switch from Courier to
-  platform-sensitive TkFixedFont.  This should not affect current customized
-  font selections.  If there is a problem, edit $HOME/.idlerc/config-main.cfg
-  and remove 'fontxxx' entries from [Editor Window].  Patch by Mark Roseman.
-
-- Issue #21192: Idle editor. When a file is run, put its name in the restart bar.
-  Do not print false prompts. Original patch by Adnan Umer.
-
-- Issue #13884: Idle menus. Remove tearoff lines. Patch by Roger Serwy.
-
-- Issue #15809: IDLE shell now uses locale encoding instead of Latin1 for
-  decoding unicode literals.
-
-Documentation
--------------
-
-- Issue #24952: Clarify the default size argument of stack_size() in
-  the "threading" and "thread" modules. Patch from Mattip.
-
-- Issue #20769: Improve reload() docs. Patch by Dorian Pula.
-
-- Issue #23589: Remove duplicate sentence from the FAQ.  Patch by Yongzhi Pan.
-
-- Issue #22155: Add File Handlers subsection with createfilehandler to Tkinter
-  doc.  Remove obsolete example from FAQ.  Patch by Martin Panter.
-
-Tests
------
-
-- Issue #24751: When running regrtest with the ``-w`` command line option,
-  a test run is no longer marked as a failure if all tests succeed when
-  re-run.
-
-- PCbuild\rt.bat now accepts an unlimited number of arguments to pass along
-  to regrtest.py.  Previously there was a limit of 9.
-
-Build
------
-
-- Issue #24915: When doing a PGO build, the test suite is now used instead of
-  pybench; Clang support was also added as part off this work. Initial patch by
-  Alecsandru Patrascu of Intel.
-
-- Issue #24986: It is now possible to build Python on Windows without errors
-  when external libraries are not available.
-
-- Issue #24508: Backported the MSBuild project files from Python 3.5.  The
-  backported files replace the old project files in PCbuild; the old files moved
-  to PC/VS9.0 and remain supported.
-
-- Issue #24603: Update Windows builds and OS X 10.5 installer to use OpenSSL
-  1.0.2d.
-
-Windows
--------
-
-- Issue #25022: Removed very outdated PC/example_nt/ directory.
-
-
-What's New in Python 2.7.10?
-============================
-
-*Release date: 2015-05-23*
-
-Library
--------
-
-- Issue #22931: Allow '[' and ']' in cookie values.
-
-
-What's New in Python 2.7.10 release candidate 1?
-================================================
-
-*Release date: 2015-05-10*
-
-Core and Builtins
------------------
-
-- Issue #23971: Fix underestimated presizing in dict.fromkeys().
-
-- Issue #23757: PySequence_Tuple() incorrectly called the concrete list API
-  when the data was a list subclass.
-
-- Issue #23629: Fix the default __sizeof__ implementation for variable-sized
-  objects.
-
-- Issue #23055: Fixed a buffer overflow in PyUnicode_FromFormatV.  Analysis
-  and fix by Guido Vranken.
-
-- Issue #23048: Fix jumping out of an infinite while loop in the pdb.
-
-Library
--------
-
-- The keywords attribute of functools.partial is now always a dictionary.
-
-- Issue #20274: When calling a _sqlite.Connection, it now complains if passed
-  any keyword arguments.  Previously it silently ignored them.
-
-- Issue #20274: Remove ignored and erroneous "kwargs" parameters from three
-  METH_VARARGS methods on _sqlite.Connection.
-
-- Issue #24134: assertRaises() and assertRaisesRegexp() checks are not longer
-  successful if the callable is None.
-
-- Issue #23008: Fixed resolving attributes with boolean value is False in pydoc.
-
-- Issues #24099, #24100, and #24101: Fix use-after-free bug in heapq's siftup
-  and siftdown functions.
-
-- Backport collections.deque fixes from Python 3.5.  Prevents reentrant badness
-  during deletion by deferring the decref until the container has been restored
-  to a consistent state.
-
-- Issue #23842: os.major(), os.minor() and os.makedev() now support ints again.
-
-- Issue #23811: Add missing newline to the PyCompileError error message.
-  Patch by Alex Shkop.
-
-- Issue #17898: Fix exception in gettext.py when parsing certain plural forms.
-
-- Issue #23865: close() methods in multiple modules now are idempotent and more
-  robust at shutdown. If they need to release multiple resources, all are
-  released even if errors occur.
-
-- Issue #23881: urllib.ftpwrapper constructor now closes the socket if the FTP
-  connection failed.
-
-- Issue #15133: _tkinter.tkapp.getboolean() now supports long and Tcl_Obj and
-  always returns bool.  tkinter.BooleanVar now validates input values (accepted
-  bool, int, long, str, unicode, and Tcl_Obj).  tkinter.BooleanVar.get() now
-  always returns bool.
-
-- Issue #23338: Fixed formatting ctypes error messages on Cygwin.
-  Patch by Makoto Kato.
-
-- Issue #16840: Tkinter now supports 64-bit integers added in Tcl 8.4 and
-  arbitrary precision integers added in Tcl 8.5.
-
-- Issue #23834: Fix socket.sendto(), use the C long type to store the result of
-  sendto() instead of the C int type.
-
-- Issue #21526: Tkinter now supports new boolean type in Tcl 8.5.
-
-- Issue #23838: linecache now clears the cache and returns an empty result on
-  MemoryError.
-
-- Issue #23742: ntpath.expandvars() no longer loses unbalanced single quotes.
-
-- Issue #21802: The reader in BufferedRWPair now is closed even when closing
-  writer failed in BufferedRWPair.close().
-
-- Issue #23671: string.Template now allows specifying the "self" parameter as
-  a keyword argument.  string.Formatter now allows specifying the "self" and
-  the "format_string" parameters as keyword arguments.
-
-- Issue #21560: An attempt to write a data of wrong type no longer cause
-  GzipFile corruption.  Original patch by Wolfgang Maier.
-
-- Issue #23647: Increase impalib's MAXLINE to accommodate modern mailbox sizes.
-
-- Issue #23539: If body is None, http.client.HTTPConnection.request now sets
-  Content-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errors from
-  some web servers.
-
-- Issue #23136: _strptime now uniformly handles all days in week 0, including
-  Dec 30 of previous year.  Based on patch by Jim Carroll.
-
-- Issue #23138: Fixed parsing cookies with absent keys or values in cookiejar.
-  Patch by Demian Brecht.
-
-- Issue #23051: multiprocessing.Pool methods imap() and imap_unordered() now
-  handle exceptions raised by an iterator.  Patch by Alon Diamant and Davin
-  Potts.
-
-- Issue #22928: Disabled HTTP header injections in httplib.
-  Original patch by Demian Brecht.
-
-- Issue #23615: Module tarfile is now can be reloaded with imp.reload().
-
-- Issue #22853: Fixed a deadlock when use multiprocessing.Queue at import time.
-  Patch by Florian Finkernagel and Davin Potts.
-
-- Issue #23476: In the ssl module, enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST
-  flag on certificate stores when it is available.
-
-- Issue #23576: Avoid stalling in SSL reads when EOF has been reached in the
-  SSL layer but the underlying connection hasn't been closed.
-
-- Issue #23504: Added an __all__ to the types module.
-
-- Issue #23458: On POSIX, the file descriptor kept open by os.urandom() is now
-  set to non inheritable
-
-- Issue #22113: struct.pack_into() now supports new buffer protocol (in
-  particular accepts writable memoryview).
-
-- Issues #814253, #9179: Warnings now are raised when group references and
-  conditional group references are used in lookbehind assertions in regular
-  expressions.
-
-- Issue #23215: Multibyte codecs with custom error handlers that ignores errors
-  consumed too much memory and raised SystemError or MemoryError.
-  Original patch by Aleksi Torhamo.
-
-- Issue #5700: io.FileIO() called flush() after closing the file.
-  flush() was not called in close() if closefd=False.
-
-- Issue #21548: Fix pydoc.synopsis() and pydoc.apropos() on modules with empty
-  docstrings.  Initial patch by Yuyang Guo.
-
-- Issue #22885: Fixed arbitrary code execution vulnerability in the dumbdbm
-  module.  Original patch by Claudiu Popa.
-
-- Issue #23481: Remove RC4 from the SSL module's default cipher list.
-
-- Issue #21849: Fixed xmlrpclib serialization of non-ASCII unicode strings in
-  the multiprocessing module.
-
-- Issue #21840: Fixed expanding unicode variables of form $var in
-  posixpath.expandvars().  Fixed all os.path implementations on
-  unicode-disabled builds.
-
-- Issue #23367: Fix possible overflows in the unicodedata module.
-
-- Issue #23363: Fix possible overflow in itertools.permutations.
-
-- Issue #23364: Fix possible overflow in itertools.product.
-
-- Issue #23365: Fixed possible integer overflow in
-  itertools.combinations_with_replacement.
-
-- Issue #23366: Fixed possible integer overflow in itertools.combinations.
-
-- Issue #23191: fnmatch functions that use caching are now threadsafe.
-
-- Issue #18518: timeit now rejects statements which can't be compiled outside
-  a function or a loop (e.g. "return" or "break").
-
-- Issue #19996: Make :mod:`httplib` ignore headers with no name rather than
-  assuming the body has started.
-
-- Issue #20188: Support Application-Layer Protocol Negotiation (ALPN) in the ssl
-  module.
-
-- Issue #23248: Update ssl error codes from latest OpenSSL git master.
-
-- Issue #23098: 64-bit dev_t is now supported in the os module.
-
-- Issue #23063: In the disutils' check command, fix parsing of reST with code or
-  code-block directives.
-
-- Issue #21356: Make ssl.RAND_egd() optional to support LibreSSL. The
-  availability of the function is checked during the compilation. Patch written
-  by Bernard Spil.
-
-- Backport the context argument to ftplib.FTP_TLS.
-
-- Issue #23111: Maximize compatibility in protocol versions of ftplib.FTP_TLS.
-
-- Issue #23112: Fix SimpleHTTPServer to correctly carry the query string and
-  fragment when it redirects to add a trailing slash.
-
-- Issue #22585: On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(),
-  instead of reading /dev/urandom, to get pseudo-random bytes.
-
-- Issue #23093: In the io, module allow more operations to work on detached
-  streams.
-
-- Issue #23071: Added missing names to codecs.__all__.  Patch by Martin Panter.
-
-- Issue #23016: A warning no longer produces an AttributeError when sys.stderr
-  is None.
-
-- Issue #21032: Fixed socket leak if HTTPConnection.getresponse() fails.
-  Original patch by Martin Panter.
-
-- Issue #22609: Constructors and update methods of mapping classes in the
-  collections module now accept the self keyword argument.
-
-Documentation
--------------
-
-- Issue #23006: Improve the documentation and indexing of dict.__missing__.
-  Add an entry in the language datamodel special methods section.
-  Revise and index its discussion in the stdtypes mapping/dict section.
-  Backport the code example from 3.4.
-
-- Issue #21514: The documentation of the json module now refers to new JSON RFC
-  7159 instead of obsoleted RFC 4627.
-
-Tools/Demos
------------
-
-- Issue #23330: h2py now supports arbitrary filenames in #include.
-
-- Issue #6639: Module-level turtle functions no longer raise TclError after
-  closing the window.
-
-- Issue #22314: pydoc now works when the LINES environment variable is set.
-
-- Issue #18905: "pydoc -p 0" now outputs actually used port.  Based on patch by
-  Wieland Hoffmann.
-
-- Issue #23345: Prevent test_ssl failures with large OpenSSL patch level
-  values (like 0.9.8zc).
-
-Tests
------
-
-- Issue #23799: Added test.test_support.start_threads() for running and
-  cleaning up multiple threads.
-
-- Issue #22390: test.regrtest now emits a warning if temporary files or
-  directories are left after running a test.
-
-- Issue #23583: Added tests for standard IO streams in IDLE.
-
-- Issue #23392: Added tests for marshal C API that works with FILE*.
-
-- Issue #18982: Add tests for CLI of the calendar module.
-
-- Issue #19949: The test_xpickle test now tests compatibility with installed
-  Python 2.7 and reports skipped tests.  Based on patch by Zachary Ware.
-
-- Issue #11578: Backported test for the timeit module.
-
-- Issue #22943: bsddb tests are locale independend now.
-
-IDLE
-----
-
-- Issue #23583: Fixed writing unicode to standard output stream in IDLE.
-
-- Issue #20577: Configuration of the max line length for the FormatParagraph
-  extension has been moved from the General tab of the Idle preferences dialog
-  to the FormatParagraph tab of the Config Extensions dialog.
-  Patch by Tal Einat.
-
-- Issue #16893: Update Idle doc chapter to match current Idle and add new
-  information.
-
-- Issue #23180: Rename IDLE "Windows" menu item to "Window".
-  Patch by Al Sweigart.
-
-Build
------
-
-- Issue #15506: Use standard PKG_PROG_PKG_CONFIG autoconf macro in the configure
-  script.
-
-- Issue #23032: Fix installer build failures on OS X 10.4 Tiger
-  by disabling assembly code in the OpenSSL build.
-
-- Issue #23686: Update OS X 10.5 installer and Windows builds to use
-  OpenSSL 1.0.2a.
-
-C API
------
-
-- Issue #23998: PyImport_ReInitLock() now checks for lock allocation error
-
-- Issue #22079: PyType_Ready() now checks that statically allocated type has
-  no dynamically allocated bases.
-
-
-What's New in Python 2.7.9?
-===========================
-
-*Release date: 2014-12-10*
-
-Library
--------
-
-- Issue #22959: Remove the *check_hostname* parameter of
-  httplib.HTTPSConnection. The *context* parameter should be used instead.
-
-- Issue #16043: Add a default limit for the amount of data xmlrpclib.gzip_decode
-  will return. This resolves CVE-2013-1753.
-
-- Issue #16042: CVE-2013-1752: smtplib: Limit amount of data read by limiting
-  the call to readline().  Original patch by Christian Heimes.
-
-- Issue #16041: In poplib, limit maximum line length read from the server to
-  prevent CVE-2013-1752.
-
-- Issue #22960: Add a context argument to xmlrpclib.ServerProxy.
-
-Build
------
-
-- Issue #22935: Allow the ssl module to be compiled if openssl doesn't support
-  SSL 3.
-
-- Issue #17128: Use private version of OpenSSL for 2.7.9 OS X 10.5+ installer.
-
-
-What's New in Python 2.7.9 release candidate 1?
-===============================================
-
-*Release date: 2014-11-25*
-
-Core and Builtins
------------------
-
-- Issue #21963: backout issue #1856 patch (avoid crashes and lockups when
-  daemon threads run while the interpreter is shutting down; instead, these
-  threads are now killed when they try to take the GIL), as it seems to
-  break some existing code.
-
-- Issue #22604: Fix assertion error in debug mode when dividing a complex
-  number by (nan+0j).
-
-- Issue #22470: Fixed integer overflow issues in "backslashreplace" and
-  "xmlcharrefreplace" error handlers.
-
-- Issue #22526: Fix iterating through files with lines longer than 2^31 bytes.
-
-- Issue #22519: Fix overflow checking in PyString_Repr.
-
-- Issue #22518: Fix integer overflow issues in latin-1 encoding.
-
-- Issue #22379: Fix empty exception message in a TypeError raised in
-  ``str.join``.
-
-- Issue #22221: Now the source encoding declaration on the second line isn't
-  effective if the first line contains anything except a comment.
-
-- Issue #22023: Fix ``%S``, ``%R`` and ``%V`` formats of
-  :c:func:`PyUnicode_FromFormat`.
-
-- Issue #21591: Correctly handle qualified exec statements in tuple form by
-  moving compatibility layer from run-time to AST transformation.
-
-Library
--------
-
-- Issue #22417: Verify certificates by default in httplib (PEP 476).
-
-- Issue #22927: Allow urllib.urlopen to take a *context* parameter to control
-  SSL settings for HTTPS connections.
-
-- Issue #22921: Allow SSLContext to take the *hostname* parameter even if
-  OpenSSL doesn't support SNI.
-
-- Issue #9003 and #22366: httplib.HTTPSConnection, urllib2.HTTPSHandler and
-  urllib2.urlopen now take optional arguments to allow for server certificate
-  checking, as recommended in public uses of HTTPS. This backport is part of PEP
-  467.
-
-- Issue #12728: Different Unicode characters having the same uppercase but
-  different lowercase are now matched in case-insensitive regular expressions.
-
-- Issue #22821: Fixed fcntl() with integer argument on 64-bit big-endian
-  platforms.
-
-- Issue #17293: uuid.getnode() now determines MAC address on AIX using netstat.
-  Based on patch by Aivars Kalvāns.
-
-- Issue #22769: Fixed ttk.Treeview.tag_has() when called without arguments.
-
-- Issue #22787: Allow the keyfile argument of SSLContext.load_cert_chain to be
-  None.
-
-- Issue #22775: Fixed unpickling of Cookie.SimpleCookie with protocol 2.
-  Patch by Tim Graham.
-
-- Issue #22776: Brought excluded code into the scope of a try block in
-  SysLogHandler.emit().
-
-- Issue #17381: Fixed ranges handling in case-insensitive regular expressions.
-
-- Issue #19329: Optimized compiling charsets in regular expressions.
-
-- Issue #22410: Module level functions in the re module now cache compiled
-  locale-dependent regular expressions taking into account the locale.
-
-- Issue #8876: distutils now falls back to copying files when hard linking
-  doesn't work.  This allows use with special filesystems such as VirtualBox
-  shared folders.
-
-- Issue #9351: Defaults set with set_defaults on an argparse subparser
-  are no longer ignored when also set on the parent parser.
-
-- Issue #20421: Add a .version() method to SSL sockets exposing the actual
-  protocol version in use.
-
-- Issue #22435: Fix a file descriptor leak when SocketServer bind fails.
-
-- Issue #13664: GzipFile now supports non-ascii Unicode filenames.
-
-- Issue #13096: Fixed segfault in CTypes POINTER handling of large
-  values.
-
-- Issue #11694: Raise ConversionError in xdrlib as documented.  Patch
-  by Filip Gruszczyński and Claudiu Popa.
-
-- Issue #1686: Fix string.Template when overriding the pattern attribute.
-
-- Issue #11866: Eliminated race condition in the computation of names
-  for new threads.
-
-- Issue #22219: The zipfile module CLI now adds entries for directories
-  (including empty directories) in ZIP file.
-
-- Issue #22449: In the ssl.SSLContext.load_default_certs, consult the
-  environmental variables SSL_CERT_DIR and SSL_CERT_FILE on Windows.
-
-- Issue #8473: doctest.testfile now uses universal newline mode to read
-  the test file.
-
-- Issue #20076: Added non derived UTF-8 aliases to locale aliases table.
-
-- Issue #20079: Added locales supported in glibc 2.18 to locale alias table.
-
-- Issue #22530: Allow the ``group()`` method of regular expression match objects
-  to take a ``long`` as an index.
-
-- Issue #22517: When an io.BufferedRWPair object is deallocated, clear its
-  weakrefs.
-
-- Issue #10510: distutils register and upload methods now use HTML standards
-  compliant CRLF line endings.
-
-- Issue #9850: Fixed macpath.join() for empty first component.  Patch by
-  Oleg Oshmyan.
-
-- Issue #20912: Now directories added to ZIP file have correct Unix and MS-DOS
-  directory attributes.
-
-- Issue #21866: ZipFile.close() no longer writes ZIP64 central directory
-  records if allowZip64 is false.
-
-- Issue #22415: Fixed debugging output of the GROUPREF_EXISTS opcode in the re
-  module.
-
-- Issue #22423: Unhandled exception in thread no longer causes unhandled
-  AttributeError when sys.stderr is None.
-
-- Issue #22419: Limit the length of incoming HTTP request in wsgiref server to
-  65536 bytes and send a 414 error code for higher lengths. Patch contributed
-  by Devin Cook.
-
-- Lax cookie parsing in http.cookies could be a security issue when combined
-  with non-standard cookie handling in some Web browsers.  Reported by
-  Sergey Bobrov.
-
-- Issue #21147: sqlite3 now raises an exception if the request contains a null
-  character instead of truncating it.  Based on patch by Victor Stinner.
-
-- Issue #21951: Fixed a crash in Tkinter on AIX when called Tcl command with
-  empty string or tuple argument.
-
-- Issue #21951: Tkinter now most likely raises MemoryError instead of crash
-  if the memory allocation fails.
-
-- Issue #22226: First letter no longer is stripped from the "status" key in
-  the result of Treeview.heading().
-
-- Issue #22051: turtledemo no longer reloads examples to re-run them.
-  Initialization of variables and gui setup should be done in main(),
-  which is called each time a demo is run, but not on import.
-
-- Issue #21597: The separator between the turtledemo text pane and the drawing
-  canvas can now be grabbed and dragged with a mouse.  The code text pane can
-  be widened to easily view or copy the full width of the text.  The canvas
-  can be widened on small screens.  Original patches by Jan Kanis and Lita Cho.
-
-- Issue #18132: Turtledemo buttons no longer disappear when the window is
-  shrunk.  Original patches by Jan Kanis and Lita Cho.
-
-- Issue #22312: Fix ntpath.splitdrive IndexError.
-
-- Issue #22216: smtplib now resets its state more completely after a quit.  The
-  most obvious consequence of the previous behavior was a STARTTLS failure
-  during a connect/starttls/quit/connect/starttls sequence.
-
-- Issue #21305: os.urandom now caches a fd to /dev/urandom. This is a PEP 466
-  backport from Python 3.
-
-- Issue #21307: As part of PEP 466, backport hashlib.algorithms_guaranteed and
-  hashlib.algorithms_available.
-
-- Issue #22259: Fix segfault when attempting to fopen a file descriptor
-  corresponding to a directory.
-
-- Issue #22236: Fixed Tkinter images copying operations in NoDefaultRoot mode.
-
-- Issue #22191: Fixed warnings.__all__.
-
-- Issue #21308: Backport numerous features from Python's ssl module. This is
-  part of PEP 466.
-
-- Issue #15696: Add a __sizeof__ implementation for mmap objects on Windows.
-
-- Issue #8797: Raise HTTPError on failed Basic Authentication immediately.
-  Initial patch by Sam Bull.
-
-- Issue #22068: Avoided reference loops with Variables and Fonts in Tkinter.
-
-- Issue #21448: Changed FeedParser feed() to avoid O(N**2) behavior when
-  parsing long line.  Original patch by Raymond Hettinger.
-
-- Issue #17923: glob() patterns ending with a slash no longer match non-dirs on
-  AIX.  Based on patch by Delhallt.
-
-- Issue #21975: Fixed crash when using uninitialized sqlite3.Row (in particular
-  when unpickling pickled sqlite3.Row).  sqlite3.Row is now initialized in the
-  __new__() method.
-
-- Issue #16037: HTTPMessage.readheaders() raises an HTTPException when more
-  than 100 headers are read. Patch by Jyrki Pulliainen and Daniel Eriksson.
-
-- Issue #21580: Now Tkinter correctly handles binary "data" and "maskdata"
-  configure options of tkinter.PhotoImage.
-
-- Issue #19612: subprocess.communicate() now also ignores EINVAL when using at
-  least two pipes.
-
-- Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError
-  on closed socket.
-
-- Issue #16133: The asynchat.async_chat.handle_read() method now ignores
-  socket.error() exceptions with blocking I/O errors: EAGAIN, EALREADY,
-  EINPROGRESS, or EWOULDBLOCK.
-
-- Issue #21990: Clean-up unnecessary and slow inner class definition in
-  saxutils (Contributed by Alex Gaynor).
-
-- Issue #1730136: Fix the comparison between a tkFont.Font and an object of
-  another kind.
-
-- Issue #19884: readline: Disable the meta modifier key if stdout is not
-  a terminal to not write the ANSI sequence "\033[1034h" into stdout. This
-  sequence is used on some terminal (ex: TERM=xterm-256color") to enable
-  support of 8 bit characters.
-
-- Issue #22017: Correct reference counting error in the initialization of the
-  _warnings module.
-
-- Issue #21868: Prevent turtle crash when undo buffer set to a value less
-  than one.
-
-- Issue #21151: Fixed a segfault in the _winreg module when ``None`` is passed
-  as a ``REG_BINARY`` value to SetValueEx.  Patch by John Ehresman.
-
-- Issue #21090: io.FileIO.readall() does not ignore I/O errors anymore. Before,
-  it ignored I/O errors if at least the first C call read() succeed.
-
-- Issue #19870: BaseCookie now parses 'secure' and 'httponly' flags.
-  Backport of issue #16611.
-
-- Issue #21923: Prevent AttributeError in distutils.sysconfig.customize_compiler
-  due to possible uninitialized _config_vars.
-
-- Issue #21323: Fix CGIHTTPServer to again handle scripts in CGI subdirectories,
-  broken by the fix for security issue #19435.  Patch by Zach Byrne.
-
-- Issue #22199: Make get_makefile_filename() available in Lib/sysconfig.py
-  for 2.7 to match other versions of sysconfig.
-
-IDLE
-----
-
-- Issue #3068: Add Idle extension configuration dialog to Options menu.
-  Changes are written to HOME/.idlerc/config-extensions.cfg.
-  Original patch by Tal Einat.
-
-- Issue #16233: A module browser (File : Class Browser, Alt+C) requires an
-  editor window with a filename.  When Class Browser is requested otherwise,
-  from a shell, output window, or 'Untitled' editor, Idle no longer displays
-  an error box.  It now pops up an Open Module box (Alt+M). If a valid name
-  is entered and a module is opened, a corresponding browser is also opened.
-
-- Issue #4832: Save As to type Python files automatically adds .py to the
-  name you enter (even if your system does not display it).  Some systems
-  automatically add .txt when type is Text files.
-
-- Issue #21986: Code objects are not normally pickled by the pickle module.
-  To match this, they are no longer pickled when running under Idle.
-
-- Issue #22221: IDLE now ignores the source encoding declaration on the second
-  line if the first line contains anything except a comment.
-
-- Issue #17390: Adjust Editor window title; remove 'Python',
-  move version to end.
-
-- Issue #14105: Idle debugger breakpoints no longer disappear
-  when inserting or deleting lines.
-
-Extension Modules
------------------
-
-- Issue #22381: Update zlib to 1.2.8.
-
-- Issue #22176: Update the ctypes module's libffi to v3.1.  This release
-  adds support for the Linux AArch64 and POWERPC ELF ABIv2 little endian
-  architectures.
-
-Tools/Demos
------------
-
-- Issue #10712: 2to3 has a new "asserts" fixer that replaces deprecated names
-  of unittest methods (e.g. failUnlessEqual -> assertEqual).
-
-- Issue #22221: 2to3 and the findnocoding.py script now ignore the source
-  encoding declaration on the second line if the first line contains anything
-  except a comment.
-
-- Issue #22201: Command-line interface of the zipfile module now correctly
-  extracts ZIP files with directory entries.  Patch by Ryan Wilson.
-
-Tests
------
-
-- Issue #22236: Tkinter tests now don't reuse default root window.  New root
-  window is created for every test class.
-
-- Issue #18004: test_overflow in test_list by mistake consumed 40 GiB of memory
-  on 64-bit systems.
-
-- Issue #21976: Fix test_ssl to accept LibreSSL version strings.  Thanks
-  to William Orr.
-
-- Issue #22770: Prevent some Tk segfaults on OS X when running gui tests.
-
-Build
------
-
-- Issue #20221: Removed conflicting (or circular) hypot definition when
-  compiled with VS 2010 or above.  Initial patch by Tabrez Mohammed.
-
-- Issue #16537: Check whether self.extensions is empty in setup.py. Patch by
-  Jonathan Hosmer.
-
-- The documentation Makefile no longer automatically downloads Sphinx. Users are
-  now required to have Sphinx already installed to build the documentation.
-
-- Issue #21958: Define HAVE_ROUND when building with Visual Studio 2013 and
-  above.  Patch by Zachary Turner.
-
-- Issue #15759: "make suspicious", "make linkcheck" and "make doctest" in Doc/
-  now display special message when and only when there are failures.
-
-- Issue #21166: Prevent possible segfaults and other random failures of
-  python --generate-posix-vars in pybuilddir.txt build target.
-
-- Issue #18096: Fix library order returned by python-config.
-
-- Issue #17219: Add library build dir for Python extension cross-builds.
-
-- Issue #22877: PEP 477 - OS X installer now installs pip.
-
-- Issue #22878: PEP 477 - "make install" and "make altinstall" can now install
-  or upgrade pip, using the bundled pip provided by the backported ensurepip
-  module.  A configure option, --with-ensurepip[=upgrade|install|no], is
-  available to set the option for subsequent installs; the default for Python 2
-  in "no" (do not install or upgrade pip).  The option can also be set with
-  "make [alt]install ENSUREPIP=[upgrade|install|no]".
-
-Windows
--------
-
-- Issue #17896: The Windows build scripts now expect external library sources
-  to be in ``PCbuild\..\externals`` rather than ``PCbuild\..\..``.
-
-- Issue #17717: The Windows build scripts now use a copy of NASM pulled from
-  svn.python.org to build OpenSSL.
-
-- Issue #22644: The bundled version of OpenSSL has been updated to 1.0.1j.
-
-
-What's New in Python 2.7.8?
-===========================
-
-*Release date: 2014-06-29*
-
-Core and Builtins
------------------
-
-- Issue #4346: In PyObject_CallMethod and PyObject_CallMethodObjArgs, don't
-  overwrite the error set in PyObject_GetAttr.
-
-- Issue #21831: Avoid integer overflow when large sizes and offsets are given to
-  the buffer type. CVE-2014-7185.
-
-- Issue #19656: Running Python with the -3 option now also warns about
-  non-ascii bytes literals.
-
-- Issue #21642: If the conditional if-else expression, allow an integer written
-  with no space between itself and the ``else`` keyword (e.g. ``True if 42else
-  False``) to be valid syntax.
-
-- Issue #21523: Fix over-pessimistic computation of the stack effect of
-  some opcodes in the compiler.  This also fixes a quadratic compilation
-  time issue noticeable when compiling code with a large number of "and"
-  and "or" operators.
-
-Library
--------
-
-- Issue #21652: Prevent mimetypes.type_map from containing unicode keys on
-  Windows.
-
-- Issue #21729: Used the "with" statement in the dbm.dumb module to ensure
-  files closing.
-
-- Issue #21672: Fix the behavior of ntpath.join on UNC-style paths.
-
-- Issue #19145: The times argument for itertools.repeat now handles
-  negative values the same way for keyword arguments as it does for
-  positional arguments.
-
-- Issue #21832: Require named tuple inputs to be exact strings.
-
-- Issue #8343: Named group error messages in the re module did not show
-  the name of the erroneous group.
-
-- Issue #21491: SocketServer: Fix a race condition in child processes reaping.
-
-- Issue #21635: The difflib SequenceMatcher.get_matching_blocks() method
-  cache didn't match the actual result.  The former was a list of tuples
-  and the latter was a list of named tuples.
-
-- Issue #21722: The distutils "upload" command now exits with a non-zero
-  return code when uploading fails.  Patch by Martin Dengler.
-
-- Issue #21766: Prevent a security hole in CGIHTTPServer by URL unquoting paths
-  before checking for a CGI script at that path.
-
-- Issue #21310: Fixed possible resource leak in failed open().
-
-- Issue #21304: Backport the key derivation function hashlib.pbkdf2_hmac from
-  Python 3 per PEP 466.
-
-- Issue #11709: Fix the pydoc.help function to not fail when sys.stdin is not a
-  valid file.
-
-- Issue #13223: Fix pydoc.writedoc so that the HTML documentation for methods
-  that use 'self' in the example code is generated correctly.
-
-- Issue #21552: Fixed possible integer overflow of too long string lengths in
-  the tkinter module on 64-bit platforms.
-
-- Issue #14315: The zipfile module now ignores extra fields in the central
-  directory that are too short to be parsed instead of letting a struct.unpack
-  error bubble up as this "bad data" appears in many real world zip files in
-  the wild and is ignored by other zip tools.
-
-- Issue #21402: Tkinter.ttk now works when default root window is not set.
-
-- Issue #10203: sqlite3.Row now truly supports sequence protocol.  In particulr
-  it supports reverse() and negative indices.  Original patch by Claudiu Popa.
-
-- Issue #8743: Fix interoperability between set objects and the
-  collections.Set() abstract base class.
-
-- Issue #21481: Argparse equality and inequality tests now return
-  NotImplemented when comparing to an unknown type.
-
-IDLE
-----
-
-- Issue #21940: Add unittest for WidgetRedirector. Initial patch by Saimadhav
-  Heblikar.
-
-- Issue #18592: Add unittest for SearchDialogBase. Patch by Phil Webster.
-
-- Issue #21694: Add unittest for ParenMatch. Patch by Saimadhav Heblikar.
-
-- Issue #21686: add unittest for HyperParser. Original patch by Saimadhav
-  Heblikar.
-
-- Issue #12387: Add missing upper(lower)case versions of default Windows key
-  bindings for Idle so Caps Lock does not disable them. Patch by Roger Serwy.
-
-- Issue #21695: Closing a Find-in-files output window while the search is
-  still in progress no longer closes Idle.
-
-- Issue #18910: Add unittest for textView. Patch by Phil Webster.
-
-- Issue #18292: Add unittest for AutoExpand. Patch by Saihadhav Heblikar.
-
-- Issue #18409: Add unittest for AutoComplete. Patch by Phil Webster.
-
-Tests
------
-
-- Issue #20155: Changed HTTP method names in failing tests in test_httpservers
-  so that packet filtering software (specifically Windows Base Filtering Engine)
-  does not interfere with the transaction semantics expected by the tests.
-
-- Issue #19493: Refactored the ctypes test package to skip tests explicitly
-  rather than silently.
-
-- Issue #18492: All resources are now allowed when tests are not run by
-  regrtest.py.
-
-- Issue #21605: Added tests for Tkinter images.
-
-- Issue #21493: Added test for ntpath.expanduser().  Original patch by
-  Claudiu Popa.
-
-- Issue #19925: Added tests for the spwd module. Original patch by Vajrasky Kok.
-
-- Issue #13355: random.triangular() no longer fails with a ZeroDivisionError
-  when low equals high.
-
-- Issue #21522: Added Tkinter tests for Listbox.itemconfigure(),
-  PanedWindow.paneconfigure(), and Menu.entryconfigure().
-
-- Issue #20635: Added tests for Tk geometry managers.
-
-Build
------
-
-- Issue #21811: Anticipated fixes to support OS X versions > 10.9.
-
-Windows
--------
-
-- Issue #21671, CVE-2014-0224: The bundled version of OpenSSL has been
-  updated to 1.0.1h.
-
-
-What's New in Python 2.7.7
-==========================
-
-*Release date: 2014-05-31*
-
-Build
------
-
-- Issue #21462: Build the Windows installers with OpenSSL 1.0.1g.
-
-- Issue #19866: Include some test data in the Windows installers, so tests don't
-  fail.
-
-
-What's New in Python 2.7.7 release candidate 1?
-===============================================
-
-*Release date: 2014-05-17*
-
-Core and Builtins
------------------
-
-- Issue #21350: Fix file.writelines() to accept arbitrary buffer objects,
-  as advertised.  Patch by Brian Kearns.
-
-- Issue #20437: Fixed 43 potential bugs when deleting object references.
-
-- Issue #21134: Fix segfault when str is called on an uninitialized
-  UnicodeEncodeError, UnicodeDecodeError, or UnicodeTranslateError object.
-
-- Issue #20494: Ensure that free()d memory arenas are really released on POSIX
-  systems supporting anonymous memory mappings.  Patch by Charles-François
-  Natali.
-
-- Issue #17825: Cursor "^" is correctly positioned for SyntaxError and
-  IndentationError.
-
-- Raise a better error when non-unicode codecs are used for a file's coding
-  cookie.
-
-- Issue #17976: Fixed potential problem with file.write() not detecting IO error
-  by inspecting the return value of fwrite().  Based on patches by Jaakko Moisio
-  and Victor Stinner.
-
-- Issue #14432: Generator now clears the borrowed reference to the thread
-  state. Fix a crash when a generator is created in a C thread that is
-  destroyed while the generator is still used. The issue was that a generator
-  contains a frame, and the frame kept a reference to the Python state of the
-  destroyed C thread. The crash occurs when a trace function is setup.
-
-- Issue #19932: Fix typo in import.h, missing whitespaces in function prototypes.
-
-- Issue #19638: Fix possible crash / undefined behaviour from huge (more than 2
-  billion characters) input strings in _Py_dg_strtod.
-
-- Issue #12546: Allow \x00 to be used as a fill character when using str, int,
-  float, and complex __format__ methods.
-
-Library
--------
-
-- Issue #10744: Fix PEP 3118 format strings on ctypes objects with a nontrivial
-  shape.
-
-- Issue #7776: Backport Fix ``Host:'' header and reconnection when using
-  http.client.HTTPConnection.set_tunnel() from Python 3.  Patch by Nikolaus
-  Rath.
-
-- Issue #21306: Backport hmac.compare_digest from Python 3. This is part of PEP
-  466.
-
-- Issue #21470: Do a better job seeding the random number generator by
-  using enough bytes to span the full state space of the Mersenne Twister.
-
-- Issue #21469: Reduced the risk of false positives in robotparser by
-  checking to make sure that robots.txt has been read or does not exist
-  prior to returning True in can_fetch().
-
-- Issue #21321: itertools.islice() now releases the reference to the source
-  iterator when the slice is exhausted.  Patch by Anton Afanasyev.
-
-- Issue #9291: Do not attempt to re-encode mimetype data read from registry in
-  ANSI mode. Initial patches by Dmitry Jemerov & Vladimir Iofik.
-
-- Issue #21349: Passing a memoryview to _winreg.SetValueEx now correctly raises
-  a TypeError where it previously crashed the interpreter. Patch by Brian Kearns
-
-- Issue #21529 (CVE-2014-4616): Fix arbitrary memory access in
-  JSONDecoder.raw_decode with a negative second parameter. Bug reported by Guido
-  Vranken.
-
-- Issue #21172: isinstance check relaxed from dict to collections.Mapping.
-
-- Issue #21191: In os.fdopen, never close the file descriptor when an exception
-  happens.
-
-- Issue #21149: Improved thread-safety in logging cleanup during interpreter
-  shutdown. Thanks to Devin Jeanpierre for the patch.
-
-- Fix possible overflow bug in strop.expandtabs. You shouldn't be using this
-  module!
-
-- Issue #20145: `assertRaisesRegex` now raises a TypeError if the second
-  argument is not a string or compiled regex.
-
-- Issue #21058: Fix a leak of file descriptor in tempfile.NamedTemporaryFile(),
-  close the file descriptor if os.fdopen() fails
-
-- Issue #20283: RE pattern methods now accept the string keyword parameters
-  as documented.  The pattern and source keyword parameters are left as
-  deprecated aliases.
-
-- Issue #11599: When an external command (e.g. compiler) fails, distutils now
-  prints out the whole command line (instead of just the command name) if the
-  environment variable DISTUTILS_DEBUG is set.
-
-- Issue #4931: distutils should not produce unhelpful "error: None" messages
-  anymore.  distutils.util.grok_environment_error is kept but doc-deprecated.
-
-- Improve the random module's default seeding to use 256 bits of entropy
-  from os.urandom().  This was already done for Python 3, mildly improving
-  security with a bigger seed space.
-
-- Issue #15618: Make turtle.py compatible with 'from __future__ import
-  unicode_literals'.  Initial patch by Juancarlo Añez.
-
-- Issue #20501: fileinput module no longer reads whole file into memory when using
-  fileinput.hook_encoded.
-
-- Issue #6815: os.path.expandvars() now supports non-ASCII Unicode environment
-  variables names and values.
-
-- Issue #20635: Fixed grid_columnconfigure() and grid_rowconfigure() methods of
-  Tkinter widgets to work in wantobjects=True mode.
-
-- Issue #17671: Fixed a crash when use non-initialized io.BufferedRWPair.
-  Based on patch by Stephen Tu.
-
-- Issue #8478: Untokenizer.compat processes first token from iterator input.
-  Patch based on lines from Georg Brandl, Eric Snow, and Gareth Rees.
-
-- Issue #20594: Avoid name clash with the libc function posix_close.
-
-- Issue #19856: shutil.move() failed to move a directory to other directory
-  on Windows if source name ends with os.altsep.
-
-- Issue #14983: email.generator now always adds a line end after each MIME
-  boundary marker, instead of doing so only when there is an epilogue.  This
-  fixes an RFC compliance bug and solves an issue with signed MIME parts.
-
-- Issue #20013: Some imap servers disconnect if the current mailbox is
-  deleted, and imaplib did not handle that case gracefully.  Now it
-  handles the 'bye' correctly.
-
-- Issue #20426: When passing the re.DEBUG flag, re.compile() displays the
-  debug output every time it is called, regardless of the compilation cache.
-
-- Issue #20368: The null character now correctly passed from Tcl to Python (in
-  unicode strings only).  Improved error handling in variables-related commands.
-
-- Issue #20435: Fix _pyio.StringIO.getvalue() to take into account newline
-  translation settings.
-
-- Issue #20288: fix handling of invalid numeric charrefs in HTMLParser.
-
-- Issue #19456: ntpath.join() now joins relative paths correctly when a drive
-  is present.
-
-- Issue #8260: The read(), readline() and readlines() methods of
-  codecs.StreamReader returned incomplete data when were called after
-  readline() or read(size).  Based on patch by Amaury Forgeot d'Arc.
-
-- Issue #20374: Fix build with GNU readline >= 6.3.
-
-- Issue #14548: Make multiprocessing finalizers check pid before
-  running to cope with possibility of gc running just after fork.
-  (Backport from 3.x.)
-
-- Issue #20262: Warnings are raised now when duplicate names are added in the
-  ZIP file or too long ZIP file comment is truncated.
-
-- Issue #20270: urllib and urlparse now support empty ports.
-
-- Issue #20243: TarFile no longer raise ReadError when opened in write mode.
-
-- Issue #20245: The open functions in the tarfile module now correctly handle
-  empty mode.
-
-- Issue #20086: Restored the use of locale-independent mapping instead of
-  locale-dependent str.lower() in locale.normalize().
-
-- Issue #20246: Fix buffer overflow in socket.recvfrom_into.
-
-- Issue #19082: Working SimpleXMLRPCServer and xmlrpclib examples, both in
-  modules and documentation.
-
-- Issue #13107: argparse and optparse no longer raises an exception when output
-  a help on environment with too small COLUMNS.  Based on patch by
-  Elazar Gershuni.
-
-- Issue #20207: Always disable SSLv2 except when PROTOCOL_SSLv2 is explicitly
-  asked for.
-
-- Issue #20072: Fixed multiple errors in tkinter with wantobjects is False.
-
-- Issue #1065986: pydoc can now handle unicode strings.
-
-- Issue #16039: CVE-2013-1752: Change use of readline in imaplib module to
-  limit line length.  Patch by Emil Lind.
-
-- Issue #19422: Explicitly disallow non-SOCK_STREAM sockets in the ssl
-  module, rather than silently let them emit clear text data.
-
-- Issue #20027: Fixed locale aliases for devanagari locales.
-
-- Issue #20067: Tkinter variables now work when wantobjects is false.
-
-- Issue #19020: Tkinter now uses splitlist() instead of split() in configure
-  methods.
-
-- Issue #12226: HTTPS is now used by default when connecting to PyPI.
-
-- Issue #20048: Fixed ZipExtFile.peek() when it is called on the boundary of
-  the uncompress buffer and read() goes through more than one readbuffer.
-
-- Issue #20034: Updated alias mapping to most recent locale.alias file
-  from X.org distribution using makelocalealias.py.
-
-- Issue #5815: Fixed support for locales with modifiers.  Fixed support for
-  locale encodings with hyphens.
-
-- Issue #20026: Fix the sqlite module to handle correctly invalid isolation
-  level (wrong type).
-
-- Issue #18829: csv.Dialect() now checks type for delimiter, escapechar and
-  quotechar fields.  Original patch by Vajrasky Kok.
-
-- Issue #19855: uuid.getnode() on Unix now looks on the PATH for the
-  executables used to find the mac address, with /sbin and /usr/sbin as
-  fallbacks.
-
-- Issue #20007: HTTPResponse.read(0) no more prematurely closes connection.
-  Original patch by Simon Sapin.
-
-- Issue #19912: Fixed numerous bugs in ntpath.splitunc().
-
-- Issue #19623: Fixed writing to unseekable files in the aifc module.
-  Fixed writing 'ulaw' (lower case) compressed AIFC files.
-
-- Issue #17919: select.poll.register() again works with poll.POLLNVAL on AIX.
-  Fixed integer overflow in the eventmask parameter.
-
-- Issue #17200: telnetlib's read_until and expect timeout was broken by the
-  fix to Issue #14635 in Python 2.7.4 to be interpreted as milliseconds
-  instead of seconds when the platform supports select.poll (ie: everywhere).
-  It is now treated as seconds once again.
-
-- Issue #19099: The struct module now supports Unicode format strings.
-
-- Issue #19878: Fix segfault in bz2 module after calling __init__ twice with
-  non-existent filename. Initial patch by Vajrasky Kok.
-
-- Issue #16373: Prevent infinite recursion for ABC Set class comparisons.
-
-- Issue #19138: doctest's IGNORE_EXCEPTION_DETAIL now allows a match when
-  no exception detail exists (no colon following the exception's name, or
-  a colon does follow but no text follows the colon).
-
-- Issue #16231: Fixed pickle.Pickler to only fallback to its default pickling
-  behaviour when Pickler.persistent_id returns None, but not for any other
-  false values.  This allows false values other than None to be used as
-  persistent IDs.  This behaviour is consistent with cPickle.
-
-- Issue #11508: Fixed uuid.getnode() and uuid.uuid1() on environment with
-  virtual interface.  Original patch by Kent Frazier.
-
-- Issue #11489: JSON decoder now accepts lone surrogates.
-
-- Fix test.test_support.bind_port() to not cause an error when Python was
-  compiled on a system with SO_REUSEPORT defined in the headers but run on
-  a system with an OS kernel that does not support that new socket option.
-
-- Issue #19633: Fixed writing not compressed 16- and 32-bit wave files on
-  big-endian platforms.
-
-- Issue #19449: in csv's writerow, handle non-string keys when generating the
-  error message that certain keys are not in the 'fieldnames' list.
-
-- Issue #12853: Fix NameError in distutils.command.upload.
-
-- Issue #19523: Closed FileHandler leak which occurred when delay was set.
-
-- Issue #1575020: Fixed support of 24-bit wave files on big-endian platforms.
-
-- Issue #19480: HTMLParser now accepts all valid start-tag names as defined
-  by the HTML5 standard.
-
-- Issue #17827: Add the missing documentation for ``codecs.encode`` and
-  ``codecs.decode``.
-
-- Issue #6157: Fixed Tkinter.Text.debug().  Original patch by Guilherme Polo.
-
-- Issue #6160: The bbox() method of tkinter.Spinbox now returns a tuple of
-  integers instead of a string.  Based on patch by Guilherme Polo.
-
-- Issue #19286: Directories in ``package_data`` are no longer added to
-  the filelist, preventing failure outlined in the ticket.
-
-- Issue #6676: Ensure a meaningful exception is raised when attempting
-  to parse more than one XML document per pyexpat xmlparser instance.
-  (Original patches by Hirokazu Yamamoto and Amaury Forgeot d'Arc, with
-  suggested wording by David Gutteridge)
-
-- Issue #21311: Avoid exception in _osx_support with non-standard compiler
-  configurations.  Patch by John Szakmeister.
-
-Tools/Demos
------------
-
-- Issue #3561: The Windows installer now has an option, off by default, for
-  placing the Python installation into the system "Path" environment variable.
-  This was backported from Python 3.3.
-
-- Add support for ``yield from`` to 2to3.
-
-- Add support for the PEP 465 matrix multiplication operator to 2to3.
-
-- Issue #19936: Added executable bits or shebang lines to Python scripts which
-  requires them.  Disable executable bits and shebang lines in test and
-  benchmark files in order to prevent using a random system python, and in
-  source files of modules which don't provide command line interface.
-
-IDLE
-----
-
-- Issue #18104: Add idlelib/idle_test/htest.py with a few sample tests to begin
-  consolidating and improving human-validated tests of Idle. Change other files
-  as needed to work with htest.  Running the module as __main__ runs all tests.
-
-- Issue #21139: Change default paragraph width to 72, the PEP 8 recommendation.
-
-- Issue #21284: Paragraph reformat test passes after user changes reformat width.
-
-- Issue #20406: Use Python application icons for Idle window title bars.
-  Patch mostly by Serhiy Storchaka.
-
-- Issue #21029: Occurrences of "print" are now consistently colored as
-  being a keyword (the colorizer doesn't know if print functions are
-  enabled in the source).
-
-- Issue #17721: Remove non-functional configuration dialog help button until we
-  make it actually gives some help when clicked. Patch by Guilherme Simões.
-
-- Issue #17390: Add Python version to Idle editor window title bar.
-  Original patches by Edmond Burnett and Kent Johnson.
-
-- Issue #20058: sys.stdin.readline() in IDLE now always returns only one line.
-
-- Issue #19481: print() of unicode, str or bytearray subclass instance in IDLE
-  no more hangs.
-
-- Issue #18270: Prevent possible IDLE AttributeError on OS X when no initial
-  shell window is present.
-
-- Issue #17654: Ensure IDLE menus are customized properly on OS X for
-  non-framework builds and for all variants of Tk.
-
-Tests
------
-
-- Issue #17752: Fix distutils tests when run from the installed location.
-
-- Issue #18604: Consolidated checks for GUI availability.  All platforms now
-  at least check whether Tk can be instantiated when the GUI resource is
-  requested.
-
-- Issue #20946: Correct alignment assumptions of some ctypes tests.
-
-- Issue #20743: Fix a reference leak in test_tcl.
-
-- Issue #20510: Rewrote test_exit in test_sys to match existing comments,
-  use modern unittest features, and use helpers from test.script_helper
-  instead of using subprocess directly.  Initial patch by Gareth Rees.
-
-- Issue #20532: Tests which use _testcapi now are marked as CPython only.
-
-- Issue #19920: Added tests for TarFile.list().  Based on patch by Vajrasky Kok.
-
-- Issue #19990: Added tests for the imghdr module.  Based on patch by
-  Claudiu Popa.
-
-- Issue #19804: The test_find_mac test in test_uuid is now skipped if the
-  ifconfig executable is not available.
-
-- Issue #19886: Use better estimated memory requirements for bigmem tests.
-
-- Backported tests for Tkinter variables.
-
-- Issue #19320: test_tcl no longer fails when wantobjects is false.
-
-- Issue #19683: Removed empty tests from test_minidom.  Initial patch by
-  Ajitesh Gupta.
-
-- Issue #19928: Implemented a test for repr() of cell objects.
-
-- Issue #19595, #19987: Re-enabled a long-disabled test in test_winsound.
-
-- Issue #19588: Fixed tests in test_random that were silently skipped most
-  of the time.  Patch by Julian Gindi.
-
-- Issue #17883: Tweak test_tcl testLoadWithUNC to skip the test in the
-  event of a permission error on Windows and to properly report other
-  skip conditions.
-
-- Issue #17883: Backported _is_gui_available() in test.test_support to
-  avoid hanging Windows buildbots on test_ttk_guionly.
-
-- Issue #18702, #19572: All skipped tests now reported as skipped.
-
-- Issue #19085: Added basic tests for all tkinter widget options.
-
-- Issue #20605: Make test_socket getaddrinfo OS X segfault test more robust.
-
-- Issue #20939: Avoid various network test failures due to new
-  redirect of http://www.python.org/ to https://www.python.org:
-  use http://www.example.com instead.
-
-- Issue #21093: Prevent failures of ctypes test_macholib on OS X if a
-  copy of libz exists in $HOME/lib or /usr/local/lib.
-
-Build
------
-
-- Issue #21285: Refactor and fix curses configure check to always search
-  in a ncursesw directory.
-
-Documentation
--------------
-
-- Issue #20255: Update the about and bugs pages.
-
-- Issue #18840: Introduce the json module in the tutorial, and de-emphasize
-  the pickle module.
-
-- Issue #19795: Improved markup of True/False constants.
-
-Windows
--------
-
-- Issue #21303, #20565: Updated the version of Tcl/Tk included in the
-  installer from 8.5.2 to 8.5.15.
-
-Mac OS X
---------
-
-- As of 2.7.8, the 32-bit-only installer will support OS X 10.5
-  and later systems as is currently done for Python 3.x installers.
-  For 2.7.7 only, we will provide three installers:
-  the legacy deprecated 10.3+ 32-bit-only format;
-  the newer 10.5+ 32-bit-only format;
-  and the unchanged 10.6+ 64-/32-bit format.
-  Although binary installers will no longer be available from
-  python.org as of 2.7.8, it will still be possible to build from
-  source on 10.3.9 and 10.4 systems if necessary.
-  See Mac/BuildScript/README.txt for more information.
-
-
-Whats' New in Python 2.7.6?
-===========================
-
-*Release date: 2013-11-10*
-
-Library
--------
-
-- Issue #19435: Fix directory traversal attack on CGIHttpRequestHandler.
-
-IDLE
-----
-
-- Issue #19426: Fixed the opening of Python source file with specified encoding.
-
-Tests
------
-
-- Issue #19457: Fixed xmlcharrefreplace tests on wide build when tests are
-  loaded from .py[co] files.
-
-Build
------
-
-- Issue #15663: Revert OS X installer built-in Tcl/Tk support for 2.7.6.
-  Some third-party projects, such as Matplotlib and PIL/Pillow,
-  depended on being able to build with Tcl and Tk frameworks in
-  /Library/Frameworks.
-
-
-What's New in Python 2.7.6 release candidate 1?
-===============================================
-
-*Release date: 2013-10-26*
-
-Core and Builtins
------------------
-
-- Issue #18603: Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the
-  Python executable and not removed by the linker's optimizer.
-
-- Issue #19279: UTF-7 decoder no more produces illegal unicode strings.
-
-- Issue #18739: Fix an inconsistency between math.log(n) and math.log(long(n));
-  the results could be off from one another by a ulp or two.
-
-- Issue #13461: Fix a crash in the "replace" error handler on 64-bit platforms.
-  Patch by Yogesh Chaudhari.
-
-- Issue #15866: The xmlcharrefreplace error handler no more produces two XML
-  entities for a non-BMP character on narrow build.
-
-- Issue #18184: PyUnicode_FromFormat() and PyUnicode_FromFormatV() now raise
-  OverflowError when an argument of %c format is out of range.
-
-- Issue #18137: Detect integer overflow on precision in float.__format__()
-  and complex.__format__().
-
-- Issue #18038: SyntaxError raised during compilation sources with illegal
-  encoding now always contains an encoding name.
-
-- Issue #18019: Fix crash in the repr of dictionaries containing their own
-  views.
-
-- Issue #18427: str.replace could crash the interpreter with huge strings.
-
-Library
--------
-
-- Issue #19393: Fix symtable.symtable function to not be confused when there are
-  functions or classes named "top".
-
-- Issue #19327: Fixed the working of regular expressions with too big charset.
-
-- Issue #19350: Increasing the test coverage of macurl2path. Patch by Colin
-  Williams.
-
-- Issue #19352: Fix unittest discovery when a module can be reached
-  through several paths (e.g. under Debian/Ubuntu with virtualenv).
-
-- Issue #15207: Fix mimetypes to read from correct part of Windows registry
-  Original patch by Dave Chambers
-
-- Issue #8964: fix platform._sys_version to handle IronPython 2.6+.
-  Patch by Martin Matusiak.
-
-- Issue #16038: CVE-2013-1752: ftplib: Limit amount of data read by
-  limiting the call to readline().  Original patch by Michał
-  Jastrzębski and Giampaolo Rodola.
-
-- Issue #19276: Fixed the wave module on 64-bit big-endian platforms.
-
-- Issue #18458: Prevent crashes with newer versions of libedit.  Its readline
-  emulation has changed from 0-based indexing to 1-based like gnu readline.
-  Original patch by Ronald Oussoren.
-
-- Issue #18919: If the close() method of a writer in the sunau or wave module
-  failed, second invocation of close() and destructor no more raise an
-  exception.  Second invocation of close() on sunau writer now has no effects.
-  The aifc module now accepts lower case of names of the 'ulaw' and 'alaw'
-  codecs.
-
-- Issue #19131: The aifc module now correctly reads and writes sampwidth of
-  compressed streams.
-
-- Issue #19158: A rare race in BoundedSemaphore could allow .release() too
-  often.
-
-- Issue #18037: 2to3 now escapes '\u' and '\U' in native strings.
-
-- Issue #19137: The pprint module now correctly formats empty set and frozenset
-  and instances of set and frozenset subclasses.
-
-- Issue #16040: CVE-2013-1752: nntplib: Limit maximum line lengths to 2048 to
-  prevent readline() calls from consuming too much memory.  Patch by Jyrki
-  Pulliainen.
-
-- Issue #12641: Avoid passing "-mno-cygwin" to the mingw32 compiler, except
-  when necessary.  Patch by Oscar Benjamin.
-
-- Properly initialize all fields of a SSL object after allocation.
-
-- Issue #4366: Fix building extensions on all platforms when --enable-shared
-  is used.
-
-- Issue #18950: Fix miscellaneous bugs in the sunau module.
-  Au_read.readframes() now updates current file position and reads correct
-  number of frames from multichannel stream.  Au_write.writeframesraw() now
-  correctly updates current file position.  Au_read and Au_write now correctly
-  work with file object if start file position is not a zero.
-
-- Issue #18050: Fixed an incompatibility of the re module with Python 2.7.3
-  and older binaries.
-
-- Issue #19037: The mailbox module now makes all changes to maildir files
-  before moving them into place, to avoid race conditions with other programs
-  that may be accessing the maildir directory.
-
-- Issue #14984: On POSIX systems, when netrc is called without a filename
-  argument (and therefore is reading the user's $HOME/.netrc file), it now
-  enforces the same security rules as typical ftp clients: the .netrc file must
-  be owned by the user that owns the process and must not be readable by any
-  other user.
-
-- Issue #17324: Fix http.server's request handling case on trailing '/'. Patch
-  contributed by Vajrasky Kok.
-
-- Issue #19018: The heapq.merge() function no longer suppresses IndexError
-  in the underlying iterables.
-
-- Issue #18784: The uuid module no more attempts to load libc via ctypes.CDLL,
-  if all necessary functions are already found in libuuid.
-  Patch by Evgeny Sologubov.
-
-- Issue #14971: unittest test discovery no longer gets confused when a function
-  has a different __name__ than its name in the TestCase class dictionary.
-
-- Issue #18672: Fixed format specifiers for Py_ssize_t in debugging output in
-  the _sre module.
-
-- Issue #18830: inspect.getclasstree() no more produces duplicated entries even
-  when input list contains duplicates.
-
-- Issue #18909: Fix _tkinter.tkapp.interpaddr() on Windows 64-bit, don't cast
-  64-bit pointer to long (32 bits).
-
-- Issue #18876: The FileIO.mode attribute now better reflects the actual mode
-  under which the file was opened.  Patch by Erik Bray.
-
-- Issue #18851: Avoid a double close of subprocess pipes when the child
-  process fails starting.
-
-- Issue #18418: After fork(), reinit all threads states, not only active ones.
-  Patch by A. Jesse Jiryu Davis.
-
-- Issue #11973: Fix a problem in kevent. The flags and fflags fields are now
-  properly handled as unsigned.
-
-- Issue #16809: Fixed some tkinter incompatibilities with Tcl/Tk 8.6.
-
-- Issue #16809: Tkinter's splitlist() and split() methods now accept Tcl_Obj
-  argument.
-
-- Issue #17119: Fixed integer overflows when processing large Unicode strings
-  and tuples in the tkinter module.
-
-- Issue #15233: Python now guarantees that callables registered with the atexit
-  module will be called in a deterministic order.
-
-- Issue #18747: Re-seed OpenSSL's pseudo-random number generator after fork.
-  A pthread_atfork() parent handler is used to seed the PRNG with pid, time
-  and some stack data.
-
-- Issue #8865: Concurrent invocation of select.poll.poll() now raises a
-  RuntimeError exception.  Patch by Christian Schubert.
-
-- Issue #13461: Fix a crash in the TextIOWrapper.tell method on 64-bit
-  platforms.  Patch by Yogesh Chaudhari.
-
-- Issue #18777: The ssl module now uses the new CRYPTO_THREADID API of
-  OpenSSL 1.0.0+ instead of the deprecated CRYPTO id callback function.
-
-- Issue #18768: Correct doc string of RAND_edg(). Patch by Vajrasky Kok.
-
-- Issue #18178: Fix ctypes on BSD. dlmalloc.c was compiled twice which broke
-  malloc weak symbols.
-
-- Issue #18709: Fix CVE-2013-4238. The SSL module now handles NULL bytes
-  inside subjectAltName correctly. Formerly the module has used OpenSSL's
-  GENERAL_NAME_print() function to get the string representation of ASN.1
-  strings for ``rfc822Name`` (email), ``dNSName`` (DNS) and
-  ``uniformResourceIdentifier`` (URI).
-
-- Issue #18756: Improve error reporting in os.urandom() when the failure
-  is due to something else than /dev/urandom not existing (for example,
-  exhausting the file descriptor limit).
-
-- Fix tkinter regression introduced by the security fix in issue #16248.
-
-- Issue #18676: Change 'positive' to 'non-negative' in queue.py put and get
-  docstrings and ValueError messages. Patch by Zhongyue Luo
-
-- Issue #17998: Fix an internal error in regular expression engine.
-
-- Issue #17557: Fix os.getgroups() to work with the modified behavior of
-  getgroups(2) on OS X 10.8.  Original patch by Mateusz Lenik.
-
-- Issue #18455: multiprocessing should not retry connect() with same socket.
-
-- Issue #18513: Fix behaviour of cmath.rect w.r.t. signed zeros on OS X 10.8 +
-  gcc.
-
-- Issue #18101: Tcl.split() now process Unicode strings nested in a tuple as it
-  do with byte strings.
-
-- Issue #18347: ElementTree's html serializer now preserves the case of
-  closing tags.
-
-- Issue #17261: Ensure multiprocessing's proxies use proper address.
-
-- Issue #17097: Make multiprocessing ignore EINTR.
-
-- Issue #18155: The csv module now correctly handles csv files that use
-  a delimiter character that has a special meaning in regexes, instead of
-  throwing an exception.
-
-- Issue #18135: ssl.SSLSocket.write() now raises an OverflowError if the input
-  string in longer than 2 gigabytes. The ssl module does not support partial
-  write.
-
-- Issue #18167: cgi.FieldStorage no longer fails to handle multipart/form-data
-  when \r\n appears at end of 65535 bytes without other newlines.
-
-- Issue #17403: urllib.parse.robotparser normalizes the urls before adding to
-  ruleline. This helps in handling certain types invalid urls in a conservative
-  manner. Patch contributed by Mher Movsisyan.
-
-- Implement inequality on weakref.WeakSet.
-
-- Issue #17981: Closed socket on error in SysLogHandler.
-
-- Issue #18015: Fix unpickling of 2.7.3 and 2.7.4 namedtuples.
-
-- Issue #17754: Make ctypes.util.find_library() independent of the locale.
-
-- Fix typos in the multiprocessing module.
-
-- Issue #17269: Workaround for socket.getaddrinfo crash on MacOS X
-  with port None or "0" and flags AI_NUMERICSERV.
-
-- Issue #18080: When building a C extension module on OS X, if the compiler
-  is overridden with the CC environment variable, use the new compiler as
-  the default for linking if LDSHARED is not also overridden.  This restores
-  Distutils behavior introduced in 2.7.3 and inadvertently dropped in 2.7.4.
-
-- Issue #18071: C extension module builds on OS X could fail with TypeError
-  if the Xcode command line tools were not installed.
-
-- Issue #18113: Fixed a refcount leak in the curses.panel module's
-  set_userptr() method.  Reported by Atsuo Ishimoto.
-
-- Issue #18849: Fixed a Windows-specific tempfile bug where collision with an
-  existing directory caused mkstemp and related APIs to fail instead of
-  retrying. Report and fix by Vlad Shcherbina.
-
-- Issue #19400: Prevent extension module build failures with Xcode 5 on OS X
-  10.8+ when using a universal Python that included a PPC architecture,
-  such as with a python.org 32-bit-only binary installer.
-
-Tools/Demos
------------
-
-- Issue #18873: 2to3 and the findnocoding.py script now detect Python source
-  code encoding only in comment lines.
-
-- Issue #18817: Fix a resource warning in Lib/aifc.py demo.
-
-- Issue #18439: Make patchcheck work on Windows for ACKS, NEWS.
-
-- Issue #18448: Fix a typo in Demo/newmetaclasses/Eiffel.py.
-
-- Issue #12990: The "Python Launcher" on OSX could not launch python scripts
-  that have paths that include wide characters.
-
-Build
------
-
-- Issue #16067: Add description into MSI file to replace installer's temporary name.
-
-- Issue #18256: Compilation fix for recent AIX releases.  Patch by
-  David Edelsohn.
-
-- Issue #18098: The deprecated OS X Build Applet.app fails to build on
-  OS X 10.8 systems because the Apple-deprecated QuickDraw headers have
-  been removed from Xcode 4.  Skip building it in this case.
-
-- Issue #1584: Provide options to override default search paths for
-  Tcl and Tk when building _tkinter.
-
-- Issue #15663: Tcl/Tk 8.5.15 is now included with the OS X 10.6+
-  64-bit/32-bit installer for 10.6+.  It is no longer necessary
-  to install a third-party version of Tcl/Tk 8.5 to work around the
-  problems in the Apple-supplied Tcl/Tk 8.5 shipped in OS X 10.6
-  and later releases.
-
-- Issue #19019: Change the OS X installer build script to use CFLAGS instead
-  of OPT for special build options.  By setting OPT, some compiler-specific
-  options like -fwrapv were overridden and thus not used, which could result
-  in broken interpreters when building with clang.
-
-IDLE
-----
-
-- Issue #18873: IDLE now detects Python source code encoding only in comment
-  lines.
-
-- Issue #18988: The "Tab" key now works when a word is already autocompleted.
-
-- Issue #18489: Add tests for SearchEngine. Original patch by Phil Webster.
-
-- Issue #18429: Format / Format Paragraph, now works when comment blocks
-  are selected. As with text blocks, this works best when the selection
-  only includes complete lines.
-
-- Issue #18226: Add docstrings and unittests for FormatParagraph.py.
-  Original patches by Todd Rovito and Phil Webster.
-
-- Issue #18279: Format - Strip trailing whitespace no longer marks a file as
-  changed when it has not been changed. This fix followed the addition of a
-  test file originally written by Phil Webster (the issue's main goal).
-
-- Issue #18539: Calltips now work for float default arguments.
-
-- Issue #7136: In the Idle File menu, "New Window" is renamed "New File".
-  Patch by Tal Einat, Roget Serwy, and Todd Rovito.
-
-- Issue #8515: Set __file__ when run file in IDLE.
-  Initial patch by Bruce Frederiksen.
-
-- Issue #5492: Avoid traceback when exiting IDLE caused by a race condition.
-
-- Issue #17511: Keep IDLE find dialog open after clicking "Find Next".
-  Original patch by Sarah K.
-
-- Issue #15392: Create a unittest framework for IDLE.
-  Preliminary patch by Rajagopalasarma Jayakrishnan
-  See Lib/idlelib/idle_test/README.txt for how to run Idle tests.
-
-- Issue #14146: Highlight source line while debugging on Windows.
-
-- Issue #17532: Always include Options menu for IDLE on OS X.
-  Patch by Guilherme Simões.
-
-Tests
------
-
-- Issue #18919: Added tests for the sunau module.  Unified and extended tests
-  for audio modules: aifc, sunau and wave.
-
-- Issue #18792: Use "127.0.0.1" or "::1" instead of "localhost" as much as
-  possible, since "localhost" goes through a DNS lookup under recent Windows
-  versions.
-
-- Issue #18357: add tests for dictview set difference.
-  Patch by Fraser Tweedale.
-
-- Issue #11185: Fix test_wait4 under AIX.  Patch by Sébastien Sablé.
-
-- Issue #18094: test_uuid no more reports skipped tests as passed.
-
-- Issue #11995: test_pydoc doesn't import all sys.path modules anymore.
-
-Documentation
--------------
-
-- Issue #18758: Fixed and improved cross-references.
-
-- Issue #18718: datetime documentation contradictory on leap second support.
-
-- Issue #17701: Improving strftime documentation.
-
-- Issue #17844: Refactor a documentation of Python specific encodings.
-  Add links to encoders and decoders for binary-to-binary codecs.
-
-
-What's New in Python 2.7.5?
-===========================
-
-*Release date: 2013-05-12*
-
-Core and Builtins
------------------
-
-- Issue #15535: Fixed regression in the pickling of named tuples by
-  removing the __dict__ property introduced in 2.7.4.
-
-- Issue #17857: Prevent build failures with pre-3.5.0 versions of sqlite3,
-  such as was shipped with Centos 5 and Mac OS X 10.4.
-
-- Issue #17703: Fix a regression where an illegal use of Py_DECREF() after
-  interpreter finalization can cause a crash.
-
-- Issue #16447: Fixed potential segmentation fault when setting __name__ on a
-  class.
-
-- Issue #17610: Don't rely on non-standard behavior of the C qsort() function.
-
-Library
--------
-
-- Issue #17979: Fixed the re module in build with --disable-unicode.
-
-- Issue #17606: Fixed support of encoded byte strings in the XMLGenerator
- .characters() and ignorableWhitespace() methods.  Original patch by Sebastian
-  Ortiz Vasquez.
-
-- Issue #16601: Restarting iteration over tarfile no more continues from where
-  it left off.  Patch by Michael Birtwell.
-
-- Issue #16584: in filecomp._cmp, catch IOError as well as os.error.
-  Patch by Till Maas.
-
-- Issue #17926: Fix dbm.__contains__ on 64-bit big-endian machines.
-
-- Issue #19267: Fix support of multibyte encoding (ex: UTF-16) in the logging
-  module.
-
-- Issue #17918: When using SSLSocket.accept(), if the SSL handshake failed
-  on the new socket, the socket would linger indefinitely.  Thanks to
-  Peter Saveliev for reporting.
-
-- Issue #17289: The readline module now plays nicer with external modules
-  or applications changing the rl_completer_word_break_characters global
-  variable.  Initial patch by Bradley Froehle.
-
-- Issue #12181: select module: Fix struct kevent definition on OpenBSD 64-bit
-  platforms. Patch by Federico Schwindt.
-
-- Issue #14173: Avoid crashing when reading a signal handler during
-  interpreter shutdown.
-
-- Issue #16316: mimetypes now recognizes the .xz and .txz (.tar.xz) extensions.
-
-- Issue #17192: Restore the patch for Issue #10309 which was ommitted
-  in 2.7.4 when updating the bundled version of libffi used by ctypes.
-
-- Issue #17843: Removed test data file that was triggering false-positive virus
-  warnings with certain antivirus software.
-
-- Issue #17353: Plistlib emitted empty data tags with deeply nested datastructures
-
-- Issue #11714: Use 'with' statements to assure a Semaphore releases a
-  condition variable.  Original patch by Thomas Rachel.
-
-- Issue #17795: Reverted backwards-incompatible change in SysLogHandler with
-  Unix domain sockets.
-
-- Issue #17555: Fix ForkAwareThreadLock so that size of after fork
-  registry does not grow exponentially with generation of process.
-
-- Issue #17710: Fix cPickle raising a SystemError on bogus input.
-
-- Issue #17341: Include the invalid name in the error messages from re about
-  invalid group names.
-
-- Issue #17016: Get rid of possible pointer wraparounds and integer overflows
-  in the re module.  Patch by Nickolai Zeldovich.
-
-- Issue #17536: Add to webbrowser's browser list: xdg-open, gvfs-open,
-  www-browser, x-www-browser, chromium browsers, iceweasel, iceape.
-
-- Issue #17656: Fix extraction of zip files with unicode member paths.
-
-- Issue #17666: Fix reading gzip files with an extra field.
-
-- Issue #13150, #17512: sysconfig no longer parses the Makefile and config.h
-  files when imported, instead doing it at build time.  This makes importing
-  sysconfig faster and reduces Python startup time by 20%.
-
-- Issue #13163: Rename operands in smtplib.SMTP._get_socket to correct names;
-  fixes otherwise misleading output in tracebacks and when when debug is on.
-
-- Issue #17526: fix an IndexError raised while passing code without filename to
-  inspect.findsource().  Initial patch by Tyler Doyle.
-
-Build
------
-
-- Issue #17547: In configure, explicitly pass -Wformat for the benefit for GCC
-  4.8.
-
-- Issue #17682: Add the _io module to Modules/Setup.dist (commented out).
-
-- Issue #17086: Search the include and library directories provided by the
-  compiler.
-
-Tests
------
-
-- Issue #17928: Fix test_structmembers on 64-bit big-endian machines.
-
-- Issue #17883: Fix buildbot testing of Tkinter on Windows.
-  Patch by Zachary Ware.
-
-- Issue #7855: Add tests for ctypes/winreg for issues found in IronPython.
-  Initial patch by Dino Viehland.
-
-- Issue #17712: Fix test_gdb failures on Ubuntu 13.04.
-
-- Issue #17065: Use process-unique key for winreg tests to avoid failures if
-  test is run multiple times in parallel (eg: on a buildbot host).
-
-IDLE
-----
-
-- Issue #17838: Allow sys.stdin to be reassigned.
-
-- Issue #14735: Update IDLE docs to omit "Control-z on Windows".
-
-- Issue #17585: Fixed IDLE regression. Now closes when using exit() or quit().
-
-- Issue #17657: Show full Tk version in IDLE's about dialog.
-  Patch by Todd Rovito.
-
-- Issue #17613: Prevent traceback when removing syntax colorizer in IDLE.
-
-- Issue #1207589: Backwards-compatibility patch for right-click menu in IDLE.
-
-- Issue #16887: IDLE now accepts Cancel in tabify/untabify dialog box.
-
-- Issue #14254: IDLE now handles readline correctly across shell restarts.
-
-- Issue #17614: IDLE no longer raises exception when quickly closing a file.
-
-- Issue #6698: IDLE now opens just an editor window when configured to do so.
-
-- Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer
-  raises an exception.
-
-- Issue #6649: Fixed missing exit status in IDLE. Patch by Guilherme Polo.
-
-- Issue #17390: Display Python version on Idle title bar.
-  Initial patch by Edmond Burnett.
-
-Documentation
--------------
-
-- Issue #15940: Specify effect of locale on time functions.
-
-- Issue #6696: add documentation for the Profile objects, and improve
-  profile/cProfile docs.  Patch by Tom Pinckney.
-
-
-What's New in Python 2.7.4?
-===========================
-
-*Release date: 2013-04-06*
-
-Build
------
-
-- Issue #17550: Fix the --enable-profiling configure switch.
-
-Core and Builtins
------------------
-
-- Issue #15801 (again): With string % formatting, relax the type check for a
-  mapping such that any type with a __getitem__ can be used on the right hand
-  side.
-
-IDLE
-----
-
-- Issue #17625: In IDLE, close the replace dialog after it is used.
-
-Tests
------
-
-- Issue #17835: Fix test_io when the default OS pipe buffer size is larger
-  than one million bytes.
-
-- Issue #17531: Fix tests that thought group and user ids were always the int
-  type. Also, always allow -1 as a valid group and user id.
-
-- Issue #17533: Fix test_xpickle with older versions of Python 2.5.
-
-Documentation
--------------
-
-- Issue #17538: Document XML vulnerabilties
-
-
-What's New in Python 2.7.4 release candidate 1
-==============================================
-
-*Release date: 2013-03-23*
-
-Core and Builtins
------------------
-
-- Issue #10211: Buffer objects expose the new buffer interface internally
-
-- Issue #16445: Fixed potential segmentation fault when deleting an exception
-  message.
-
-- Issue #17275: Corrected class name in init error messages of the C version of
-  BufferedWriter and BufferedRandom.
-
-- Issue #7963: Fixed misleading error message that issued when object is
-  called without arguments.
-
-- Issue #5308: Raise ValueError when marshalling too large object (a sequence
-  with size >= 2**31), instead of producing illegal marshal data.
-
-- Issue #17043: The unicode-internal decoder no longer read past the end of
-  input buffer.
-
-- Issue #16979: Fix error handling bugs in the unicode-escape-decode decoder.
-
-- Issue #10156: In the interpreter's initialization phase, unicode globals
-  are now initialized dynamically as needed.
-
-- Issue #16975: Fix error handling bug in the escape-decode decoder.
-
-- Issue #14850: Now a charmap decoder treats U+FFFE as "undefined mapping"
-  in any mapping, not only in a Unicode string.
-
-- Issue #11461: Fix the incremental UTF-16 decoder. Original patch by
-  Amaury Forgeot d'Arc.
-
-- Issue #16367: Fix FileIO.readall() on Windows for files larger than 2 GB.
-
-- Issue #15516: Fix a bug in PyString_FromFormat where it failed to properly
-  ignore errors from a __int__() method.
-
-- Issue #16839: Fix a segfault when calling unicode() on a classic class early
-  in interpreter initialization.
-
-- Issue #16761: Calling ``int()`` and ``long()`` with *base* argument only
-  now raises TypeError.
-
-- Issue #16759: Support the full DWORD (unsigned long) range in Reg2Py
-  when retrieving a REG_DWORD value. This corrects functions like
-  winreg.QueryValueEx that may have been returning truncated values.
-
-- Issue #14420: Support the full DWORD (unsigned long) range in Py2Reg
-  when passed a REG_DWORD value. Fixes ValueError in winreg.SetValueEx when
-  given a long.
-
-- Issue #13863: Work around buggy 'fstat' implementation on Windows / NTFS that
-  lead to incorrect timestamps (off by one hour) being stored in .pyc files on
-  some systems.
-
-- Issue #16602: When a weakref's target was part of a long deallocation
-  chain, the object could remain reachable through its weakref even though
-  its refcount had dropped to zero.
-
-- Issue #9011: Fix hacky AST code that modified the CST when compiling
-  a negated numeric literal.
-
-- Issue #16306: Fix multiple error messages when unknown command line
-  parameters where passed to the interpreter.  Patch by Hieu Nguyen.
-
-- Issue #15379: Fix passing of non-BMP characters as integers for the charmap
-  decoder (already working as unicode strings).  Patch by Serhiy Storchaka.
-
-- Issue #16453: Fix equality testing of dead weakref objects.
-
-- Issue #9535: Fix pending signals that have been received but not yet
-  handled by Python to not persist after os.fork() in the child process.
-
-- Issue #15001: fix segfault on "del sys.modules['__main__']". Patch by Victor
-  Stinner.
-
-- Issue #5057: the peepholer no longer optimizes subscription on unicode
-  literals (e.g. u'foo'[0]) in order to produce compatible pyc files between
-  narrow and wide builds.
-
-- Issue #8401: assigning an int to a bytearray slice (e.g. b[3:4] = 5) now
-  raises an error.
-
-- Issue #14700: Fix buggy overflow checks for large width and precision
-  in string formatting operations.
-
-- Issue #16345: Fix an infinite loop when ``fromkeys`` on a dict subclass
-  received a nonempty dict from the constructor.
-
-- Issue #6074: Ensure cached bytecode files can always be updated by the
-  user that created them, even when the source file is read-only.
-
-- Issue #14783: Improve int() and long() docstrings and switch docstrings for
-  unicode(), slice(), range(), and xrange() to use multi-line signatures.
-
-- Issue #16030: Fix overflow bug in computing the `repr` of an xrange object
-  with large start, step or length.
-
-- Issue #16029: Fix overflow bug occurring when pickling xranges with large
-  start, step or length.
-
-- Issue #16037: Limit httplib's _read_status() function to work around broken
-  HTTP servers and reduce memory usage. It's actually a backport of a Python
-  3.2 fix. Thanks to Adrien Kunysz.
-
-- Issue #16588: Silence unused-but-set warnings in Python/thread_pthread
-
-- Issue #13992: The trashcan mechanism is now thread-safe.  This eliminates
-  sporadic crashes in multi-thread programs when several long deallocator
-  chains ran concurrently and involved subclasses of built-in container
-  types.
-
-- Issue #15801: Make sure mappings passed to '%' formatting are actually
-  subscriptable.
-
-- Issue #15604: Update uses of PyObject_IsTrue() to check for and handle
-  errors correctly.  Patch by Serhiy Storchaka.
-
-- Issue #14579: Fix error handling bug in the utf-16 decoder.  Patch by
-  Serhiy Storchaka.
-
-- Issue #15368: An issue that caused bytecode generation to be
-  non-deterministic when using randomized hashing (-R) has been fixed.
-
-- Issue #15897: zipimport.c doesn't check return value of fseek().
-  Patch by Felipe Cruz.
-
-- Issue #16369: Global PyTypeObjects not initialized with PyType_Ready(...).
-
-- Issue #15033: Fix the exit status bug when modules invoked using -m switch,
-  return the proper failure return value (1). Patch contributed by Jeff Knupp.
-
-- Issue #12268: File readline, readlines and read() methods no longer lose
-  data when an underlying read system call is interrupted.  IOError is no
-  longer raised due to a read system call returning EINTR from within these
-  methods.
-
-- Issue #13512: Create ~/.pypirc securely (CVE-2011-4944).  Initial patch by
-  Philip Jenvey, tested by Mageia and Debian.
-
-- Issue #7719: Make distutils ignore ``.nfs*`` files instead of choking later
-  on.  Initial patch by SilentGhost and Jeff Ramnani.
-
-- Issue #10053: Don't close FDs when FileIO.__init__ fails. Loosely based on
-  the work by Hirokazu Yamamoto.
-
-- Issue #14775: Fix a potential quadratic dict build-up due to the garbage
-  collector repeatedly trying to untrack dicts.
-
-- Issue #14494: Fix __future__.py and its documentation to note that
-  absolute imports are the default behavior in 3.0 instead of 2.7.
-  Patch by Sven Marnach.
-
-- Issue #14761: Fix potential leak on an error case in the import machinery.
-
-- Issue #14699: Fix calling the classmethod descriptor directly.
-
-- Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError
-  when repr() or str() is called on such an object.
-
-- Issue #14658: Fix binding a special method to a builtin implementation of a
-  special method with a different name.
-
-- Issue #14612: Fix jumping around with blocks by setting f_lineno.
-
-- Issue #13889: Check and (if necessary) set FPU control word before calling
-  any of the dtoa.c string <-> float conversion functions, on MSVC builds of
-  Python.  This fixes issues when embedding Python in a Delphi app.
-
-- Issue #14505: Fix file descriptor leak when deallocating file objects
-  created with PyFile_FromString().
-
-- Issue #14474: Save and restore exception state in thread.start_new_thread()
-  while writing error message if the thread leaves an unhandled exception.
-
-- Issue #13019: Fix potential reference leaks in bytearray.extend().  Patch
-  by Suman Saha.
-
-- Issue #14378: Fix compiling ast.ImportFrom nodes with a "__future__" string as
-  the module name that was not interned.
-
-- Issue #14331: Use significantly less stack space when importing modules by
-  allocating path buffers on the heap instead of the stack.
-
-- Issue #14334: Prevent in a segfault in type.__getattribute__ when it was not
-  passed strings. Also fix segfaults in the __getattribute__ and __setattr__
-  methods of old-style classes.
-
-- Issue #14161: fix the __repr__ of file objects to escape the file name.
-
-- Issue #1469629: Allow cycles through an object's __dict__ slot to be
-  collected. (For example if ``x.__dict__ is x``).
-
-- Issue #13521: dict.setdefault() now does only one lookup for the given key,
-  making it "atomic" for many purposes.  Patch by Filip Gruszczyński.
-
-- Issue #1602133: on Mac OS X a shared library build (``--enable-shared``)
-  now fills the ``os.environ`` variable correctly.
-
-- Issue #10538: When using the "s*" code with PyArg_ParseTuple() to fill a
-  Py_buffer structure with data from an object supporting only the old
-  PyBuffer interface, a reference to the source objects is now properly added
-  to the Py_buffer.obj member.
-
-Library
--------
-
-- Issue #12718: Fix interaction with winpdb overriding __import__ by setting
-  importer attribute on BaseConfigurator instance.
-
-- Issue #17521: Corrected non-enabling of logger following two calls to
-  fileConfig().
-
-- Issue #17508: Corrected MemoryHandler configuration in dictConfig() where
-  the target handler wasn't configured first.
-
-- Issue #10212: cStringIO and struct.unpack support new buffer objects.
-
-- Issue #12098: multiprocessing on Windows now starts child processes
-  using the same sys.flags as the current process.  Initial patch by
-  Sergey Mezentsev.
-
-- Issue #8862: Fixed curses cleanup when getkey is interrupted by a signal.
-
-- Issue #9090: When a socket with a timeout fails with EWOULDBLOCK or EAGAIN,
-  retry the select() loop instead of bailing out.  This is because select()
-  can incorrectly report a socket as ready for reading (for example, if it
-  received some data with an invalid checksum).
-
-- Issue #1285086: Get rid of the refcounting hack and speed up urllib.unquote().
-
-- Issue #17368: Fix an off-by-one error in the Python JSON decoder that caused
-  a failure while decoding empty object literals when object_pairs_hook was
-  specified.
-
-- Issue #17278: Fix a crash in heapq.heappush() and heapq.heappop() when
-  the list is being resized concurrently.
-
-- Issue #17018: Make Process.join() retry if os.waitpid() fails with EINTR.
-
-- Issue #14720: sqlite3: Convert datetime microseconds correctly.
-  Patch by Lowe Thiderman.
-
-- Issue #17225: JSON decoder now counts columns in the first line starting
-  with 1, as in other lines.
-
-- Issue #7842: backported fix for py_compile.compile() syntax error handling.
-
-- Issue #13153: Tkinter functions now raise TclError instead of ValueError when
-  a unicode argument contains non-BMP character.
-
-- Issue #9669: Protect re against infinite loops on zero-width matching in
-  non-greedy repeat.  Patch by Matthew Barnett.
-
-- Issue #13169: The maximal repetition number in a regular expression has been
-  increased from 65534 to 2147483647 (on 32-bit platform) or 4294967294 (on
-  64-bit).
-
-- Issue #16743: Fix mmap overflow check on 32 bit Windows.
-
-- Issue #11311: StringIO.readline(0) now returns an empty string as all other
-  file-like objects.
-
-- Issue #16800: tempfile.gettempdir() no longer left temporary files when
-  the disk is full.  Original patch by Amir Szekely.
-
-- Issue #13555: cPickle now supports files larger than 2 GiB.
-
-- Issue #17052: unittest discovery should use self.testLoader.
-
-- Issue #4591: Uid and gid values larger than 2**31 are supported now.
-
-- Issue #17141: random.vonmisesvariate() no more hangs for large kappas.
-
-- Issue #17149: Fix random.vonmisesvariate to always return results in
-  the range [0, 2*math.pi].
-
-- Issue #1470548: XMLGenerator now works with UTF-16 and UTF-32 encodings.
-
-- Issue #6975: os.path.realpath() now correctly resolves multiple nested
-  symlinks on POSIX platforms.
-
-- Issue #7358: cStringIO.StringIO now supports writing to and reading from
-  a stream larger than 2 GiB on 64-bit systems.
-
-- Issue #10355: In SpooledTemporaryFile class mode and name properties and
-  xreadlines method now work for unrolled files.  encoding and newlines
-  properties now removed as they have no sense and always produced
-  AttributeError.
-
-- Issue #16686: Fixed a lot of bugs in audioop module.  Fixed crashes in
-  avgpp(), maxpp() and ratecv().  Fixed an integer overflow in add(), bias(),
-  and ratecv().  reverse(), lin2lin() and ratecv() no more lose precision for
-  32-bit samples.  max() and rms() no more returns a negative result and
-  various other functions now work correctly with 32-bit sample -0x80000000.
-
-- Issue #17073: Fix some integer overflows in sqlite3 module.
-
-- Issue #6083: Fix multiple segmentation faults occurred when PyArg_ParseTuple
-  parses nested mutating sequence.
-
-- Issue #5289: Fix ctypes.util.find_library on Solaris.
-
-- Issue #17106: Fix a segmentation fault in io.TextIOWrapper when an underlying
-  stream or a decoder produces data of an unexpected type (i.e. when
-  io.TextIOWrapper initialized with text stream or use bytes-to-bytes codec).
-
-- Issue #13994: Add compatibility alias in distutils.ccompiler for
-  distutils.sysconfig.customize_compiler.
-
-- Issue #15633: httplib.HTTPResponse is now mark closed when the server
-  sends less than the advertised Content-Length.
-
-- Issue #15881: Fixed atexit hook in multiprocessing.
-
-- Issue #14340: Upgrade the embedded expat library to version 2.1.0.
-
-- Issue #11159: SAX parser now supports unicode file names.
-
-- Issue #6972: The zipfile module no longer overwrites files outside of
-  its destination path when extracting malicious zip files.
-
-- Issue #17049: Localized calendar methods now return unicode if a locale
-  includes an encoding and the result string contains month or weekday (was
-  regression from Python 2.6).
-
-- Issue #4844: ZipFile now raises BadZipfile when opens a ZIP file with an
-  incomplete "End of Central Directory" record.  Original patch by Guilherme
-  Polo and Alan McIntyre.
-
-- Issue #15505: `unittest.installHandler` no longer assumes SIGINT handler is
-  set to a callable object.
-
-- Issue #17051: Fix a memory leak in os.path.isdir() on Windows. Patch by
-  Robert Xiao.
-
-- Issue #13454: Fix a crash when deleting an iterator created by itertools.tee()
-  if all other iterators were very advanced before.
-
-- Issue #16992: On Windows in signal.set_wakeup_fd, validate the file
-  descriptor argument.
-
-- Issue #15861: tkinter now correctly works with lists and tuples containing
-  strings with whitespaces, backslashes or unbalanced braces.
-
-- Issue #10527: Use poll() instead of select() for multiprocessing pipes.
-
-- Issue #9720: zipfile now writes correct local headers for files larger than
-  4 GiB.
-
-- Issue #13899: \A, \Z, and \B now correctly match the A, Z, and B literals
-  when used inside character classes (e.g. '[\A]').  Patch by Matthew Barnett.
-
-- Issue #16398: Optimize deque.rotate() so that it only moves pointers
-  and doesn't touch the underlying data with increfs and decrefs.
-
-- Issue #15109: Fix regression in sqlite3's iterdump method where it would
-  die with an encoding error if the database contained string values
-  containing non-ASCII.  (Regression was introduced by fix for 9750).
-
-- Issue #15545: Fix regression in sqlite3's iterdump method where it was
-  failing if the connection used a row factory (such as sqlite3.Row) that
-  produced unsortable objects. (Regression was introduced by fix for 9750).
-
-- Issue #16828: Fix error incorrectly raised by bz2.compress(''). Patch by
-  Martin Packman.
-
-- Issue #9586: Redefine SEM_FAILED on MacOSX to keep compiler happy.
-
-- Issue #10527: make multiprocessing use poll() instead of select() if available.
-
-- Issue #16485: Now file descriptors are closed if file header patching failed
-  on closing an aifc file.
-
-- Issue #12065: connect_ex() on an SSL socket now returns the original errno
-  when the socket's timeout expires (it used to return None).
-
-- Issue #16713: Fix the parsing of tel url with params using urlparse module.
-
-- Issue #16443: Add docstrings to regular expression match objects.
-  Patch by Anton Kasyanov.
-
-- Issue #8853: Allow port to be of type long for socket.getaddrinfo().
-
-- Issue #16597: In buffered and text IO, call close() on the underlying stream
-  if invoking flush() fails.
-
-- Issue #15701: Fix HTTPError info method call to return the headers information.
-
-- Issue #16646: ftplib.FTP.makeport() might lose socket error details.
-  (patch by Serhiy Storchaka)
-
-- Issue #16626: Fix infinite recursion in glob.glob() on Windows when the
-  pattern contains a wildcard in the drive or UNC path.  Patch by Serhiy
-  Storchaka.
-
-- Issue #16298: In HTTPResponse.read(), close the socket when there is no
-  Content-Length and the incoming stream is finished.  Patch by Eran
-  Rundstein.
-
-- Issue #16248: Disable code execution from the user's home directory by
-  tkinter when the -E flag is passed to Python.  Patch by Zachary Ware.
-
-- Issue #16628: Fix a memory leak in ctypes.resize().
-
-- Issue #13614: Fix setup.py register failure with invalid rst in description.
-  Patch by Julien Courteau and Pierre Paul Lefebvre.
-
-- Issue #10182: The re module doesn't truncate indices to 32 bits anymore.
-  Patch by Serhiy Storchaka.
-
-- Issue #16573: In 2to3, treat enumerate() like a consuming call, so superfluous
-  list() calls aren't added to filter(), map(), and zip() which are directly
-  passed enumerate().
-
-- Issue #1160: Fix compiling large regular expressions on UCS2 builds.
-  Patch by Serhiy Storchaka.
-
-- Issue #14313: zipfile now raises NotImplementedError when the compression
-  type is unknown.
-
-- Issue #16408: Fix file descriptors not being closed in error conditions
-  in the zipfile module.  Patch by Serhiy Storchaka.
-
-- Issue #16327: The subprocess module no longer leaks file descriptors
-  used for stdin/stdout/stderr pipes to the child when fork() fails.
-
-- Issue #14396: Handle the odd rare case of waitpid returning 0 when not
-  expected in subprocess.Popen.wait().
-
-- Issue #16411: Fix a bug where zlib.decompressobj().flush() might try to access
-  previously-freed memory. Patch by Serhiy Storchaka.
-
-- Issue #16350: zlib.decompressobj().decompress() now accumulates data from
-  successive calls after EOF in unused_data, instead of only saving the argument
-  to the last call. decompressobj().flush() now correctly sets unused_data and
-  unconsumed_tail. A bug in the handling of MemoryError when setting the
-  unconsumed_tail attribute has also been fixed. Patch by Serhiy Storchaka.
-
-- Issue #12759: sre_parse now raises a proper error when the name of the group
-  is missing.  Initial patch by Serhiy Storchaka.
-
-- Issue #16152: fix tokenize to ignore whitespace at the end of the code when
-  no newline is found.  Patch by Ned Batchelder.
-
-- Issue #16230: Fix a crash in select.select() when one of the lists changes
-  size while iterated on.  Patch by Serhiy Storchaka.
-
-- Issue #16228: Fix a crash in the json module where a list changes size
-  while it is being encoded.  Patch by Serhiy Storchaka.
-
-- Issue #14897: Enhance error messages of struct.pack and
-  struct.pack_into. Patch by Matti Mäki.
-
-- Issue #12890: cgitb no longer prints spurious <p> tags in text
-  mode when the logdir option is specified.
-
-- Issue #14398: Fix size truncation and overflow bugs in the bz2 module.
-
-- Issue #5148: Ignore 'U' in mode given to gzip.open() and gzip.GzipFile().
-
-- Issue #16220: wsgiref now always calls close() on an iterable response.
-  Patch by Brent Tubbs.
-
-- Issue #16461: Wave library should be able to deal with 4GB wav files,
-  and sample rate of 44100 Hz.
-
-- Issue #16176: Properly identify Windows 8 via platform.platform()
-
-- Issue #15756: subprocess.poll() now properly handles errno.ECHILD to
-  return a returncode of 0 when the child has already exited or cannot
-  be waited on.
-
-- Issue #12376: Pass on parameters in TextTestResult.__init__ super call
-
-- Issue #15222: Insert blank line after each message in mbox mailboxes
-
-- Issue #16013: Fix CSV Reader parsing issue with ending quote characters.
-  Patch by Serhiy Storchaka.
-
-- Issue #15421: fix an OverflowError in Calendar.itermonthdates() after
-  datetime.MAXYEAR.  Patch by Cédric Krier.
-
-- Issue #15970: xml.etree.ElementTree now serializes correctly the empty HTML
-  elements 'meta' and 'param'.
-
-- Issue #15676: Now "mmap" check for empty files before doing the
-  offset check.  Patch by Steven Willis.
-
-- Issue #15340: Fix importing the random module when /dev/urandom cannot
-  be opened.  This was a regression caused by the hash randomization patch.
-
-- Issue #15841: The readable(), writable() and seekable() methods of
-  io.BytesIO and io.StringIO objects now raise ValueError when the object has
-  been closed.  Patch by Alessandro Moura.
-
-- Issue #16112: platform.architecture does not correctly escape argument to
-  /usr/bin/file.  Patch by David Benjamin.
-
-- Issue #12776,#11839: call argparse type function (specified by add_argument)
-  only once. Before, the type function was called twice in the case where the
-  default was specified and the argument was given as well.  This was
-  especially problematic for the FileType type, as a default file would always
-  be opened, even if a file argument was specified on the command line.
-
-- Issue #15906: Fix a regression in argparse caused by the preceding change,
-  when action='append', type='str' and default=[].
-
-- Issue #13370: Ensure that ctypes works on Mac OS X when Python is
-  compiled using the clang compiler
-
-- Issue #15544: Fix Decimal.__float__ to work with payload-carrying NaNs.
-
-- Issue #15199: Fix JavaScript's default MIME type to application/javascript.
-  Patch by Bohuslav Kabrda.
-
-- Issue #15477: In cmath and math modules, add workaround for platforms whose
-  system-supplied log1p function doesn't respect signs of zeros.
-
-- Issue #11062: Fix adding a message from file to Babyl mailbox.
-
-- Issue #15646: Prevent equivalent of a fork bomb when using
-  multiprocessing on Windows without the "if __name__ == '__main__'"
-  idiom.
-
-- Issue #15567: Fix NameError when running threading._test
-
-- Issue #15424: Add a __sizeof__ implementation for array objects.
-  Patch by Ludwig Hähne.
-
-- Issue #15538: Fix compilation of the getnameinfo() / getaddrinfo()
-  emulation code.  Patch by Philipp Hagemeister.
-
-- Issue #12288: Consider '0' and '0.0' as valid initialvalue
-  for tkinter SimpleDialog.
-
-- Issue #15489: Add a __sizeof__ implementation for BytesIO objects.
-  Patch by Serhiy Storchaka.
-
-- Issue #15469: Add a __sizeof__ implementation for deque objects.
-  Patch by Serhiy Storchaka.
-
-- Issue #15487: Add a __sizeof__ implementation for buffered I/O objects.
-  Patch by Serhiy Storchaka.
-
-- Issue #15512: Add a __sizeof__ implementation for parser.
-  Patch by Serhiy Storchaka.
-
-- Issue #15402: An issue in the struct module that caused sys.getsizeof to
-  return incorrect results for struct.Struct instances has been fixed.
-  Initial patch by Serhiy Storchaka.
-
-- Issue #15232: when mangle_from is True, email.Generator now correctly mangles
-  lines that start with 'From ' that occur in a MIME preamble or epilog.
-
-- Issue #13922: argparse no longer incorrectly strips '--'s that appear
-  after the first one.
-
-- Issue #12353: argparse now correctly handles null argument values.
-
-- Issue #6493: An issue in ctypes on Windows that caused structure bitfields
-  of type ctypes.c_uint32 and width 32 to incorrectly be set has been fixed.
-
-- Issue #14635: telnetlib will use poll() rather than select() when possible
-  to avoid failing due to the select() file descriptor limit.
-
-- Issue #15247: FileIO now raises an error when given a file descriptor
-  pointing to a directory.
-
-- Issue #14591: Fix bug in Random.jumpahead that could produce an invalid
-  Mersenne Twister state on 64-bit machines.
-
-- Issue #5346: Preserve permissions of mbox, MMDF and Babyl mailbox
-  files on flush().
-
-- Issue #15219: Fix a reference leak when hashlib.new() is called with
-  invalid parameters.
-
-- Issue #9559: If messages were only added, a new file is no longer
-  created and renamed over the old file when flush() is called on an
-  mbox, MMDF or Babyl mailbox.
-
-- Issue #14653: email.utils.mktime_tz() no longer relies on system
-  mktime() when timezone offest is supplied.
-
-- Issue #6056: Make multiprocessing use setblocking(True) on the
-  sockets it uses.  Original patch by J Derek Wilson.
-
-- Issue #15101: Make pool finalizer avoid joining current thread.
-
-- Issue #15054: A bug in tokenize.tokenize that caused string literals
-  with 'b' and 'br' prefixes to be incorrectly tokenized has been fixed.
-  Patch by Serhiy Storchaka.
-
-- Issue #15036: Mailbox no longer throws an error if a flush is done
-  between operations when removing or changing multiple items in mbox,
-  MMDF, or Babyl mailboxes.
-
-- Issue #10133: Make multiprocessing deallocate buffer if socket read
-  fails.  Patch by Hallvard B Furuseth.
-
-- Issue #13854: Make multiprocessing properly handle non-integer
-  non-string argument to SystemExit.
-
-- Issue #12157: Make pool.map() empty iterables correctly.  Initial
-  patch by mouad.
-
-- Issue #14036: Add an additional check to validate that port in urlparse does
-  not go in illegal range and returns None.
-
-- Issue #14888: Fix misbehaviour of the _md5 module when called on data
-  larger than 2**32 bytes.
-
-- Issue #15908: Fix misbehaviour of the sha1 module when called on data
-  larger than 2**32 bytes.
-
-- Issue #15910: Fix misbehaviour of _md5 and sha1 modules when "updating"
-  on data larger than 2**32 bytes.
-
-- Issue #14875: Use float('inf') instead of float('1e66666') in the json module.
-
-- Issue #14572: Prevent build failures with pre-3.5.0 versions of
-  sqlite3, such as was shipped with Centos 5 and Mac OS X 10.4.
-
-- Issue #14426: Correct the Date format in Expires attribute of Set-Cookie
-  Header in Cookie.py.
-
-- Issue #14721: Send proper header, Content-length: 0 when the body is an empty
-  string ''. Initial Patch contributed by Arve Knudsen.
-
-- Issue #14072: Fix parsing of 'tel' URIs in urlparse by making the check for
-  ports stricter.
-
-- Issue #9374: Generic parsing of query and fragment portions of url for any
-  scheme. Supported both by RFC3986 and RFC2396.
-
-- Issue #14798: Fix the functions in pyclbr to raise an ImportError
-  when the first part of a dotted name is not a package. Patch by
-  Xavier de Gaye.
-
-- Issue #14832: fixed the order of the argument references in the error
-  message produced by unittest's assertItemsEqual.
-
-- Issue #14829: Fix bisect issues under 64-bit Windows.
-
-- Issue #14777: tkinter may return undecoded UTF-8 bytes as a string when
-  accessing the Tk clipboard.  Modify clipboard_get() to first request type
-  UTF8_STRING when no specific type is requested in an X11 windowing
-  environment, falling back to the current default type STRING if that fails.
-  Original patch by Thomas Kluyver.
-
-- Issue #12541: Be lenient with quotes around Realm field with HTTP Basic
-  Authentation in urllib2.
-
-- Issue #14662: Prevent shutil failures on OS X when destination does not
-  support chflag operations.  Patch by Hynek Schlawack.
-
-- Issue #14157: Fix time.strptime failing without a year on February 29th.
-  Patch by Hynek Schlawack.
-
-- Issue #14768: os.path.expanduser('~/a') doesn't work correctly when HOME is '/'.
-
-- Issue #13183: Fix pdb skipping frames after hitting a breakpoint and running
-  step.  Patch by Xavier de Gaye.
-
-- Issue #14664: It is now possible to use @unittest.skip{If,Unless} on a
-  test class that doesn't inherit from TestCase (i.e. a mixin).
-
-- Issue #14160: TarFile.extractfile() failed to resolve symbolic links when
-  the links were not located in an archive subdirectory.
-
-- Issue #14638: pydoc now treats non-string __name__ values as if they
-  were missing, instead of raising an error.
-
-- Issue #13684: Fix httplib tunnel issue of infinite loops for certain sites
-  which send EOF without trailing \r\n.
-
-- Issue #14308: Fix an exception when a "dummy" thread is in the threading
-  module's active list after a fork().
-
-- Issue #14538: HTMLParser can now parse correctly start tags that contain
-  a bare '/'.
-
-- Issue #14452: SysLogHandler no longer inserts a UTF-8 BOM into the message.
-
-- Issue #13496: Fix potential overflow in bisect.bisect algorithm when applied
-  to a collection of size > sys.maxsize / 2.
-
-- Issue #14399: zipfile now recognizes that the archive has been modified even
-  if only the comment is changed.  As a consequence of this fix, ZipFile is now
-  a new style class.
-
-- Issue #7978: SocketServer now restarts the select() call when EINTR is
-  returned.  This avoids crashing the server loop when a signal is received.
-  Patch by Jerzy Kozera.
-
-- Issue #10340: asyncore - properly handle EINVAL in dispatcher constructor on
-  OSX; avoid to call handle_connect in case of a disconnected socket which
-  was not meant to connect.
-
-- Issue #12757: Fix the skipping of doctests when python is run with -OO so
-  that it works in unittest's verbose mode as well as non-verbose mode.
-
-- Issue #13694: asynchronous connect in asyncore.dispatcher does not set addr
-  attribute.
-
-- Issue #10484: Fix the CGIHTTPServer's PATH_INFO handling problem.
-
-- Issue #11199: Fix the with urllib which hangs on particular ftp urls.
-
-- Issue #14252: Fix subprocess.Popen.terminate() to not raise an error under
-  Windows when the child process has already exited.
-
-- Issue #14195: An issue that caused weakref.WeakSet instances to incorrectly
-  return True for a WeakSet instance 'a' in both 'a < a' and 'a > a' has been
-  fixed.
-
-- Issue #14159: Fix the len() of weak sets to return a better approximation
-  when some objects are dead or dying.  Moreover, the implementation is now
-  O(1) rather than O(n).
-
-- Issue #2945: Make the distutils upload command aware of bdist_rpm products.
-
-- Issue #6884: Fix long-standing bugs with MANIFEST.in parsing in distutils
-  on Windows.
-
-- Issue #16441: Avoid excessive memory usage working with large gzip
-  files using the gzip module.
-
-- Issue #15782: Prevent compile errors of OS X Carbon modules _Fm, _Qd, and
-  _Qdoffs when compiling with an SDK of 10.7 or later.  The OS X APIs they
-  wrap have long been deprecated and have now been removed with 10.7.
-  These modules were already empty for 64-bit builds and have been removed
-  in Python 3.
-
-Extension Modules
------------------
-
-- Issue #17477: Update the bsddb module to pybsddb 5.3.0, supporting
-  db-5.x, and dropping support for db-4.1 and db-4.2.
-
-- Issue #17192: Update the ctypes module's libffi to v3.0.13.  This
-  specifically addresses a stack misalignment issue on x86 and issues on
-  some more recent platforms.
-
-- Issue #12268: The io module file object write methods no longer abort early
-  when a write system calls is interrupted (EINTR).
-
-- Fix the leak of a dict in the time module when used in an embedded
-  interpreter that is repeatedly initialized and shutdown and reinitialized.
-
-- Issue #12268: File readline, readlines and read or readall methods
-  no longer lose data when an underlying read system call is interrupted
-  within an io module object.  IOError is no longer raised due to a read
-  system call returning EINTR from within these methods.
-
-- Issue #16012: Fix a regression in pyexpat. The parser's UseForeignDTD()
-  method doesn't require an argument again.
-
-- Issue #13590: OS X Xcode 4 - improve support for universal extension modules
-  In particular, fix extension module build failures when trying to use
-  32-bit-only installer Pythons on systems with Xcode 4 (currently
-  OS X 10.8, 10.7, and optionally 10.6).
-  * Backport 3.3.0 fixes to 2.7 branch (for release in 2.7.4)
-  * Since Xcode 4 removes ppc support, extension module builds now
-    check for ppc compiler support and by default remove ppc and
-    ppc64 archs when they are not available.
-  * Extension module builds now revert to using system installed
-    headers and libs (/usr and /System/Library) if the SDK used
-    to build the interpreter is not installed or has moved.
-  * Try to avoid building extension modules with deprecated
-    and problematic Apple llvm-gcc compiler.  If original compiler
-    is not available, use clang instead by default.
-
-IDLE
-----
-
-- IDLE was displaying spurious SystemExit tracebacks when running scripts
-  that terminated by raising SystemExit (i.e. unittest and turtledemo).
-
-- Issue #9290: In IDLE the sys.std* streams now implement io.TextIOBase
-  interface and support all mandatory methods and properties.
-
-- Issue #16829: IDLE printing no longer fails if there are spaces or other
-  special characters in the file path.
-
-- Issue #16819: IDLE method completion now correctly works for unicode literals.
-
-- Issue #16504: IDLE now catches SyntaxErrors raised by tokenizer. Patch by
-  Roger Serwy.
-
-- Issue #1207589: Add Cut/Copy/Paste items to IDLE right click Context Menu.
-  Patch by Todd Rovito.
-
-- Issue #13052: Fix IDLE crashing when replace string in Search/Replace dialog
-  ended with '\'. Patch by Roger Serwy.
-
-- Issue #9803: Don't close IDLE on saving if breakpoint is open.
-  Patch by Roger Serwy.
-
-- Issue #14958: Change IDLE systax highlighting to recognize all string and byte
-  literals currently supported in Python 2.7.
-
-- Issue #14962: Update text coloring in IDLE shell window after changing
-  options.  Patch by Roger Serwy.
-
-- Issue #10997: Prevent a duplicate entry in IDLE's "Recent Files" menu.
-
-- Issue #12510: Attempting to get invalid tooltip no longer closes IDLE.
-  Original patch by Roger Serwy.
-
-- Issue #10365: File open dialog now works instead of crashing
-  even when parent window is closed. Patch by Roger Serwy.
-
-- Issue #14876: Use user-selected font for highlight configuration.
-  Patch by Roger Serwy.
-
-- Issue #14409: IDLE now properly executes commands in the Shell window
-  when it cannot read the normal config files on startup and
-  has to use the built-in default key bindings.
-  There was previously a bug in one of the defaults.
-
-- Issue #3573: IDLE hangs when passing invalid command line args
-  (directory(ies) instead of file(s)) (Patch by Guilherme Polo)
-
-- Issue #5219: Prevent event handler cascade in IDLE.
-
-- Issue #15318: Prevent writing to sys.stdin.
-
-- Issue #13532, #15319: Check that arguments to sys.stdout.write are strings.
-
-- Issue #10365: File open dialog now works instead of crashing even when
-  parent window is closed while dialog is open.
-
-- Issue #14018: Update checks for unstable system Tcl/Tk versions on OS X
-  to include versions shipped with OS X 10.7 and 10.8 in addition to 10.6.
-
-- Issue #15853: Prevent IDLE crash on OS X when opening Preferences menu
-  with certain versions of Tk 8.5.  Initial patch by Kevin Walzer.
-
-Tests
------
-
-- Issue #16702: test_urllib2_localnet tests now correctly ignores proxies for
-  localhost tests.
-
-- Issue #13447: Add a test file to host regression tests for bugs in the
-  scripts found in the Tools directory.
-
-- Issue #11420: make test suite pass with -B/DONTWRITEBYTECODE set.
-  Initial patch by Thomas Wouters.
-
-- Issue #17299: Add test coverage for cPickle with file objects and general IO
-  objects.  Original patch by Aman Shah.
-
-- Issue #11963: remove human verification from test_parser and test_subprocess.
-
-- Issue #17249: convert a test in test_capi to use unittest and reap threads.
-
-- We now run both test_email.py and test_email_renamed.py when running the
-  test_email regression test.  test_email_renamed contains some tests that
-  test_email does not.
-
-- Issue #17041: Fix testing when Python is configured with the
-  --without-doc-strings option.
-
-- Issue #15539: Added regression tests for Tools/scripts/pindent.py.
-
-- Issue #15324: Fix regrtest parsing of --fromfile and --randomize options.
-
-- Issue #16618: Add more regression tests for glob.
-  Patch by Serhiy Storchaka.
-
-- Issue #16664: Add regression tests for glob's behaviour concerning entries
-  starting with a ".".  Patch by Sebastian Kreft.
-
-- Issue #15747: ZFS always returns EOPNOTSUPP when attempting to set the
-  UF_IMMUTABLE flag (via either chflags or lchflags); refactor affected
-  tests in test_posix.py to account for this.
-
-- Issue #16549: Add tests for json.tools.  Initial patch by Berker Peksag
-  and Serhiy Storchaka.
-
-- Issue #16559: Add more tests for the json module, including some from the
-  official test suite at json.org.  Patch by Serhiy Storchaka.
-
-- Issue #16274: Fix test_asyncore on Solaris.  Patch by Giampaolo Rodola'.
-
-- Issue #15040: Close files in mailbox tests for PyPy compatibility.
-  Original patch by Matti Picus.
-
-- Issue #15802: Fix test logic in TestMaildir.test_create_tmp. Patch
-  by Serhiy Storchaka.
-
-- Issue #15765: Extend a previous fix to Solaris and OpenBSD for quirky
-  getcwd() behaviour (issue #9185) to NetBSD as well.
-
-- Issue #15615: Add some tests for the json module's handling of invalid
-  input data.  Patch by Kushal Das.
-
-- Issue #15496: Add directory removal helpers for tests on Windows.
-  Patch by Jeremy Kloth.
-
-- Issue #15043: test_gdb is now skipped entirely if gdb security settings
-  block loading of the gdb hooks
-
-- Issue #14589: Update certificate chain for sha256.tbs-internet.com, fixing
-  a test failure in test_ssl.
-
-- Issue #16698: Skip posix test_getgroups when built with OS X
-  deployment target prior to 10.6.
-
-- Issue #17111: Prevent test_surrogates (test_fileio) failure on OS X 10.4.
-
-Build
------
-
-- Issue #17425: Build against openssl 0.9.8y on Windows.
-
-- Issue #16004: Add `make touch`.
-
-- Issue #5033: Fix building of the sqlite3 extension module when the
-  SQLite library version has "beta" in it. Patch by Andreas Pelme.
-
-- Issue #17228: Fix building without pymalloc.
-
-- Issue #17086: Backport the patches from the 3.3 branch to cross-build
-  the package.
-
-- Issue #3754: fix typo in pthread AC_CACHE_VAL.
-
-- Issue #17029: Let h2py search the multiarch system include directory.
-
-- Issue #16953: Fix socket module compilation on platforms with
-  HAVE_BROKEN_POLL. Patch by Jeffrey Armstrong.
-
-- Issue #16836: Enable IPv6 support even if IPv6 is disabled on the build host.
-
-- Issue #15923: fix a mistake in asdl_c.py that resulted in a TypeError after
-  2801bf875a24 (see #15801).
-
-- Issue #11715: Fix multiarch detection without having Debian development
-  tools (dpkg-dev) installed.
-
-- Issue #15819: Make sure we can build Python out-of-tree from a readonly
-  source directory.  (Somewhat related to Issue #9860.)
-
-- Issue #15822: Ensure 2to3 grammar pickles are properly installed.
-
-- Issue #15560: Fix building _sqlite3 extension on OS X with an SDK.
-
-- Issue #8847: Disable COMDAT folding in Windows PGO builds.
-
-- Issue #14018: Fix OS X Tcl/Tk framework checking when using OS X SDKs.
-
-- Issue #16256: OS X installer now sets correct permissions for doc directory.
-
-- Issue #8767: Restore building with --disable-unicode.
-  Patch by Stefano Taschini.
-
-- Build against bzip2 1.0.6 and openssl 0.9.8x on Windows.
-
-- Issue #14557: Fix extensions build on HP-UX. Patch by Adi Roiban.
-
-- Issue #14437: Fix building the _io module under Cygwin.
-
-- Issue #15587: Enable Tk high-resolution text rendering on Macs with
-  Retina displays.  Applies to Tkinter apps, such as IDLE, on OS X
-  framework builds linked with Cocoa Tk 8.5.
-
-- Issue #17161: make install now also installs a python2 and python man page.
-
-- Issue #16848: python-config now returns proper --ldflags values for OS X
-  framework builds.
-
-Tools/Demos
------------
-
-- Issue #17156: pygettext.py now correctly escapes non-ascii characters.
-
-- Issue #15539: Fix a number of bugs in Tools/scripts/pindent.py.  Now
-  pindent.py works with a "with" statement.  pindent.py no longer produces
-  improper indentation.  pindent.py now works with continued lines broken after
-  "class" or "def" keywords and with continuations at the start of line.
-
-- Issue #16476: Fix json.tool to avoid including trailing whitespace.
-
-- Issue #13301: use ast.literal_eval() instead of eval() in Tools/i18n/msgfmt.py.
-  Patch by Serhiy Storchaka.
-
-Documentation
--------------
-
-- Issue #15041: Update "see also" list in tkinter documentation.
-
-- Issue #17412: update 2.7 Doc/make.bat to also use sphinx-1.0.7.
-
-- Issue #17047: remove doubled words in docs and docstrings
-  reported by Serhiy Storchaka and Matthew Barnett.
-
-- Issue #16406: combine the pages for uploading and registering to PyPI.
-
-- Issue #16403: Document how distutils uses the maintainer field in
-  PKG-INFO. Patch by Jyrki Pulliainen.
-
-- Issue #16695: Document how glob handles filenames starting with a
-  dot. Initial patch by Jyrki Pulliainen.
-
-- Issue #8890: Stop advertising an insecure practice by replacing uses
-  of the /tmp directory with better alternatives in the documentation.
-  Patch by Geoff Wilson.
-
-- Issue #17203: add long option names to unittest discovery docs.
-
-- Issue #13094: add "Why do lambdas defined in a loop with different values
-  all return the same result?" programming FAQ.
-
-- Issue #14901: Update portions of the Windows FAQ.
-  Patch by Ashish Nitin Patil.
-
-- Issue #15990: Improve argument/parameter documentation.
-
-- Issue #16400: Update the description of which versions of a given package
-  PyPI displays.
-
-- Issue #15677: Document that zlib and gzip accept a compression level of 0 to
-  mean 'no compression'. Patch by Brian Brazil.
-
-- Issue #8040: added a version switcher to the documentation.  Patch by
-  Yury Selivanov.
-
-- Issue #16115: Improve subprocess.Popen() documentation around args, shell,
-  and executable arguments.
-
-- Issue #15979: Improve timeit documentation.
-
-- Issue #16036: Improve documentation of built-in int()'s signature and
-  arguments.
-
-- Issue #15935: Clarification of argparse docs, re: add_argument() type and
-  default arguments.  Patch contributed by Chris Jerdonek.
-
-- Issue #13769: Document the effect of ensure_ascii to the return type
-  of JSON decoding functions.
-
-- Issue #14880: Fix kwargs notation in csv.reader, .writer & .register_dialect.
-  Patch by Chris Rebert.
-
-- Issue #14674: Add a discussion of the json module's standard compliance.
-  Patch by Chris Rebert.
-
-- Issue #15630: Add an example for "continue" stmt in the tutorial. Patch by
-  Daniel Ellis.
-
-- Issue #13557: Clarify effect of giving two different namespaces to exec or
-  execfile().
-
-- Issue #14034: added the argparse tutorial.
-
-- Issue #15250: Document that filecmp.dircmp compares files shallowly. Patch
-  contributed by Chris Jerdonek.
-
-- Issue #15116: Remove references to appscript as it is no longer being
-  supported.
-
-
-What's New in Python 2.7.3 release candidate 2?
-===============================================
-
-*Release date: 2012-03-17*
-
-Library
--------
-
-- Issue #14234: CVE-2012-0876: Randomize hashes of xml attributes in the hash
-  table internal to the pyexpat module's copy of the expat library to avoid a
-  denial of service due to hash collisions.  Patch by David Malcolm with some
-  modifications by the expat project.
-
-
-What's New in Python 2.7.3 release candidate 1?
-===============================================
-
-*Release date: 2012-02-23*
-
-Core and Builtins
------------------
-
-- Issue #13020: Fix a reference leak when allocating a structsequence object
-  fails.  Patch by Suman Saha.
-
-- Issue #13703: oCERT-2011-003: add -R command-line option and PYTHONHASHSEED
-  environment variable, to provide an opt-in way to protect against denial of
-  service attacks due to hash collisions within the dict and set types.  Patch
-  by David Malcolm, based on work by Victor Stinner.
-
-- Issue #11235: Fix OverflowError when trying to import a source file whose
-  modification time doesn't fit in a 32-bit timestamp.
-
-- Issue #11638: Unicode strings in 'name' and 'version' no longer cause
-  UnicodeDecodeErrors.
-
-- Fix the fix for issue #12149: it was incorrect, although it had the side
-  effect of appearing to resolve the issue.  Thanks to Mark Shannon for
-  noticing.
-
-- Issue #13546: Fixed an overflow issue that could crash the intepreter when
-  calling sys.setrecursionlimit((1<<31)-1).
-
-- Issue #13333: The UTF-7 decoder now accepts lone surrogates (the encoder
-  already accepts them).
-
-- Issue #10519: Avoid unnecessary recursive function calls in
-  setobject.c.
-
-- Issue #13268: Fix the assert statement when a tuple is passed as the message.
-
-- Issue #13018: Fix reference leaks in error paths in dictobject.c.
-  Patch by Suman Saha.
-
-- Issue #12604: VTRACE macro expanded to no-op in _sre.c to avoid compiler
-  warnings. Patch by Josh Triplett and Petri Lehtinen.
-
-- Issue #7833: Extension modules built using distutils on Windows will no
-  longer include a "manifest" to prevent them failing at import time in some
-  embedded situations.
-
-- Issue #13186: Fix __delitem__ on old-style instances when invoked through
-  PySequence_DelItem.
-
-- Issue #13156: Revert the patch for issue #10517 (reset TLS upon fork()),
-  which was only relevant for the native pthread TLS implementation.
-
-- Issue #7732: Fix a crash on importing a module if a directory has the same
-  name than a Python module (e.g. "__init__.py"): don't close the file twice.
-
-- Issue #12973: Fix overflow checks that invoked undefined behaviour in
-  int.__pow__.  These overflow checks were causing int.__pow__ to produce
-  incorrect results with recent versions of Clang, as a result of the
-  compiler optimizing the check away.  Also fix similar overflow checks
-  in list_repeat (listobject.c) and islice_next (itertoolsmodule.c).  These
-  bugs caused test failures with recent versions of Clang.
-
-- Issue #12266: Fix str.capitalize() to correctly uppercase/lowercase
-  titlecased and cased non-letter characters.
-
-- Issues #12610 and #12609: Verify that user generated AST has correct string
-  and identifier types before compiling.
-
-- Issue #11627: Fix segfault when __new__ on an exception returns a
-  non-exception class.
-
-- Issue #12149: Update the method cache after a type's dictionnary gets
-  cleared by the garbage collector.  This fixes a segfault when an instance
-  and its type get caught in a reference cycle, and the instance's
-  deallocator calls one of the methods on the type (e.g. when subclassing
-  IOBase).  Diagnosis and patch by Davide Rizzo.
-
-- Issue #12501: Remove Py3k warning for callable. callable() is supported
-  again in Python 3.2.
-
-- Issue #9611, #9015: FileIO.read(), FileIO.readinto(), FileIO.write() and
-  os.write() clamp the length to INT_MAX on Windows.
-
-- Issue #1195: my_fgets() now always clears errors before calling fgets(). Fix
-  the following case: sys.stdin.read() stopped with CTRL+d (end of file),
-  raw_input() interrupted by CTRL+c.
-
-- Issue #10860: httplib now correctly handles an empty port after port
-  delimiter in URLs.
-
-- dict_proxy objects now display their contents rather than just the class
-  name.
-
-Library
--------
-
-- Issue #8033: sqlite3: Fix 64-bit integer handling in user functions
-  on 32-bit architectures. Initial patch by Philippe Devalkeneer.
-
-- HTMLParser is now able to handle slashes in the start tag.
-
-- Issue #14001: CVE-2012-0845: xmlrpc: Fix an endless loop in
-  SimpleXMLRPCServer upon malformed POST request.
-
-- Issue #2489: pty.spawn could consume 100% cpu when it encountered an EOF.
-
-- Issue #13014: Fix a possible reference leak in SSLSocket.getpeercert().
-
-- Issue #13987: HTMLParser is now able to handle EOFs in the middle of a
-  construct and malformed start tags.
-
-- Issue #13015: Fix a possible reference leak in defaultdict.__repr__.
-  Patch by Suman Saha.
-
-- Issue #13979: A bug in ctypes.util.find_library that caused
-  the wrong library name to be returned has been fixed.
-
-- Issue #1326113: distutils' build_ext command --libraries option now
-  correctly parses multiple values separated by whitespace or commas.
-
-- Issue #13993: HTMLParser is now able to handle broken end tags.
-
-- Issue #13960: HTMLParser is now able to handle broken comments.
-
-- Issue #9750: Fix sqlite3.Connection.iterdump on tables and fields
-  with a name that is a keyword or contains quotes. Patch by Marko
-  Kohtala.
-
-- Issue #13994: Earlier partial revert of Distutils enhancements in 2.7
-  has left two versions of customize_compiler, the original in
-  distutils.sysconfig and another copy in distutils.ccompiler, with some
-  parts of distutils calling one and others using the other.
-  Complete the revert back to only having one in distutils.sysconfig as
-  is the case in 3.x.
-
-- Issue #13590: On OS X 10.7 and 10.6 with Xcode 4.2, building
-  Distutils-based packages with C extension modules may fail because
-  Apple has removed gcc-4.2, the version used to build python.org
-  64-bit/32-bit Pythons.  If the user does not explicitly override
-  the default C compiler by setting the CC environment variable,
-  Distutils will now attempt to compile extension modules with clang
-  if gcc-4.2 is required but not found. Also as a convenience, if
-  the user does explicitly set CC, substitute its value as the default
-  compiler in the Distutils LDSHARED configuration variable for OS X.
-  (Note, the python.org 32-bit-only Pythons use gcc-4.0 and the 10.4u
-  SDK, neither of which are available in Xcode 4.  This change does not
-  attempt to override settings to support their use with Xcode 4.)
-
-- Issue #9021: Add an introduction to the copy module documentation.
-
-- Issue #6005: Examples in the socket library documentation use sendall, where
-  relevant, instead send method.
-
-- Issue #10811: Fix recursive usage of cursors. Instead of crashing,
-  raise a ProgrammingError now.
-
-- Issue #13676: Handle strings with embedded zeros correctly in sqlite3.
-
-- Issue #13806: The size check in audioop decompression functions was too
-  strict and could reject valid compressed data.  Patch by Oleg Plakhotnyuk.
-
-- Issue #13885: CVE-2011-3389: the _ssl module would always disable the CBC
-  IV attack countermeasure.
-
-- Issue #6631: Disallow relative file paths in urllib urlopen methods.
-
-- Issue #13781: Prevent gzip.GzipFile from using the dummy filename provided by
-  file objects opened with os.fdopen().
-
-- Issue #13589: Fix some serialization primitives in the aifc module.
-  Patch by Oleg Plakhotnyuk.
-
-- Issue #13803: Under Solaris, distutils doesn't include bitness
-  in the directory name.
-
-- Issue #13642: Unquote before b64encoding user:password during Basic
-  Authentication. Patch contributed by Joonas Kuorilehto and Michele Orrù.
-
-- Issue #13636: Weak ciphers are now disabled by default in the ssl module
-  (except when SSLv2 is explicitly asked for).
-
-- Issue #12798: Updated the mimetypes documentation.
-
-- Issue #13639: Accept unicode filenames in tarfile.open(mode="w|gz").
-
-- Issue #1785: Fix inspect and pydoc with misbehaving descriptors.
-
-- Issue #7502: Fix equality comparison for DocTestCase instances.  Patch by
-  Cédric Krier.
-
-- Issue #11870: threading: Properly reinitialize threads internal locks and
-  condition variables to avoid deadlocks in child processes.
-
-- Issue #8035: urllib: Fix a bug where the client could remain stuck after a
-  redirection or an error.
-
-- tarfile.py: Correctly detect bzip2 compressed streams with blocksizes
-  other than 900k.
-
-- Issue #13573: The csv.writer now uses the repr() for floats rather than str().
-  This allows floats to round-trip without loss of precision.
-
-- Issue #13439: Fix many errors in turtle docstrings.
-
-- Issue #12856: Ensure child processes do not inherit the parent's random
-  seed for filename generation in the tempfile module.  Patch by Brian
-  Harring.
-
-- Issue #13458: Fix a memory leak in the ssl module when decoding a
-  certificate with a subjectAltName.  Patch by Robert Xiao.
-
-- Issue #13415: os.unsetenv() doesn't ignore errors anymore.
-
-- Issue #13322: Fix BufferedWriter.write() to ensure that BlockingIOError is
-  raised when the wrapped raw file is non-blocking and the write would block.
-  Previous code assumed that the raw write() would raise BlockingIOError, but
-  RawIOBase.write() is defined to returned None when the call would block.
-  Patch by sbt.
-
-- Issue #13358: HTMLParser now calls handle_data only once for each CDATA.
-
-- Issue #4147: minidom's toprettyxml no longer adds whitespace around a text
-  node when it is the only child of an element.  Initial patch by Dan
-  Kenigsberg.
-
-- Issues #1745761, #755670, #13357, #12629, #1200313: HTMLParser now correctly
-  handles non-valid attributes, including adjacent and unquoted attributes.
-
-- Issue #13373: multiprocessing.Queue.get() could sometimes block indefinitely
-  when called with a timeout.  Patch by Arnaud Ysmal.
-
-- Issue #3067: Enhance the documentation and docstring of
-  locale.setlocale().
-
-- Issue #13254: Fix Maildir initialization so that maildir contents
-  are read correctly.
-
-- Issue #13140: Fix the daemon_threads attribute of ThreadingMixIn.
-
-- Issue #2892: preserve iterparse events in case of SyntaxError.
-
-- Issue #670664: Fix HTMLParser to correctly handle the content of
-  ``<script>...</script>`` and ``<style>...</style>``.
-
-- Issue #10817: Fix urlretrieve function to raise ContentTooShortError even
-  when reporthook is None. Patch by Jyrki Pulliainen.
-
-- Issue #7334: close source files on ElementTree.parse and iterparse.
-
-- Issue #13232: logging: Improved logging of exceptions in the presence of
-  multiple encodings.
-
-- Issue #10332: multiprocessing: fix a race condition when a Pool is closed
-  before all tasks have completed.
-
-- Issue #1548891: The cStringIO.StringIO() constructor now encodes unicode
-  arguments with the system default encoding just like the write() method
-  does, instead of converting it to a raw buffer.  This also fixes handling of
-  unicode input in the shlex module (#6988, #1170).
-
-- Issue #9168: now smtpd is able to bind privileged port.
-
-- Issue #12529: fix cgi.parse_header issue on strings with double-quotes and
-  semicolons together. Patch by Ben Darnell and Petri Lehtinen.
-
-- Issue #6090: zipfile raises a ValueError when a document with a timestamp
-  earlier than 1980 is provided. Patch contributed by Petri Lehtinen.
-
-- Issue #13194: zlib.compressobj().copy() and zlib.decompressobj().copy() are
-  now available on Windows.
-
-- Issue #13114: Fix the distutils commands check and register when the
-  long description is a Unicode string with non-ASCII characters.
-
-- Issue #7367: Fix pkgutil.walk_paths to skip directories whose
-  contents cannot be read.
-
-- Issue #7425: Prevent pydoc -k failures due to module import errors.
-  (Backport to 2.7 of existing 3.x fix)
-
-- Issue #13099: Fix sqlite3.Cursor.lastrowid under a Turkish locale.
-  Reported and diagnosed by Thomas Kluyver.
-
-- Issue #7689: Allow pickling of dynamically created classes when their
-  metaclass is registered with copy_reg.  Patch by Nicolas M. Thiéry and
-  Craig Citro.
-
-- Issue #13058: ossaudiodev: fix a file descriptor leak on error. Patch by
-  Thomas Jarosch.
-
-- Issue #12931: xmlrpclib now encodes Unicode URI to ISO-8859-1, instead of
-  failing with a UnicodeDecodeError.
-
-- Issue #8933: distutils' PKG-INFO files will now correctly report
-  Metadata-Version: 1.1 instead of 1.0 if a Classifier or Download-URL field is
-  present.
-
-- Issue #8286: The distutils command sdist will print a warning message instead
-  of crashing when an invalid path is given in the manifest template.
-
-- Issue #12841: tarfile unnecessarily checked the existence of numerical user
-  and group ids on extraction. If one of them did not exist the respective id
-  of the current user (i.e. root) was used for the file and ownership
-  information was lost.
-
-- Issue #10946: The distutils commands bdist_dumb, bdist_wininst and bdist_msi
-  now respect a --skip-build option given to bdist.
-
-- Issue #12287: Fix a stack corruption in ossaudiodev module when the FD is
-  greater than FD_SETSIZE.
-
-- Issue #12839: Fix crash in zlib module due to version mismatch.
-  Fix by Richard M. Tew.
-
-- Issue #12786: Set communication pipes used by subprocess.Popen CLOEXEC to
-  avoid them being inherited by other subprocesses.
-
-- Issue #4106: Fix occasional exceptions printed out by multiprocessing on
-  interpreter shutdown.
-
-- Issue #11657: Fix sending file descriptors over 255 over a multiprocessing
-  Pipe.
-
-- Issue #12213: Fix a buffering bug with interleaved reads and writes that
-  could appear on io.BufferedRandom streams.
-
-- Issue #12326: sys.platform is now always 'linux2' on Linux, even if Python
-  is compiled on Linux 3.
-
-- Issue #13007: whichdb should recognize gdbm 1.9 magic numbers.
-
-- Issue #9173: Let shutil._make_archive work if the logger argument is None.
-
-- Issue #12650: Fix a race condition where a subprocess.Popen could leak
-  resources (FD/zombie) when killed at the wrong time.
-
-- Issue #12752: Fix regression which prevented locale.normalize() from
-  accepting unicode strings.
-
-- Issue #12683: urlparse updated to include svn as schemes that uses relative
-  paths. (svn from 1.5 onwards support relative path).
-
-- Issue #11933: Fix incorrect mtime comparison in distutils.
-
-- Issues #11104, #8688: Fix the behavior of distutils' sdist command with
-  manually-maintained MANIFEST files.
-
-- Issue #8887: "pydoc somebuiltin.somemethod" (or help('somebuiltin.somemethod')
-  in Python code) now finds the doc of the method.
-
-- Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime.
-
-- Issue #12514: Use try/finally to assure the timeit module restores garbage
-  collections when it is done.
-
-- Issue #12607: In subprocess, fix issue where if stdin, stdout or stderr is
-  given as a low fd, it gets overwritten.
-
-- Issue #12102: Document that buffered files must be flushed before being used
-  with mmap. Patch by Steffen Daode Nurpmeso.
-
-- Issue #12560: Build libpython.so on OpenBSD. Patch by Stefan Sperling.
-
-- Issue #1813: Fix codec lookup and setting/getting locales under Turkish
-  locales.
-
-- Issue #10883: Fix socket leaks in urllib when using FTP.
-
-- Issue #12592: Make Python build on OpenBSD 5 (and future major releases).
-
-- Issue #12372: POSIX semaphores are broken on AIX: don't use them.
-
-- Issue #12571: Add a plat-linux3 directory mirroring the plat-linux2
-  directory, so that "import DLFCN" and other similar imports work on
-  Linux 3.0.
-
-- Issue #7484: smtplib no longer puts <> around addresses in VRFY and EXPN
-  commands; they aren't required and in fact postfix doesn't support that form.
-
-- Issue #11603: Fix a crash when __str__ is rebound as __repr__.  Patch by
-  Andreas Stührk.
-
-- Issue #12502: asyncore: fix polling loop with AF_UNIX sockets.
-
-- Issue #4376: ctypes now supports nested structures in an endian different than
-  the parent structure. Patch by Vlad Riscutia.
-
-- Issue #12493: subprocess: Popen.communicate() now also handles EINTR errors
-  if the process has only one pipe.
-
-- Issue #12467: warnings: fix a race condition if a warning is emitted at
-  shutdown, if globals()['__file__'] is None.
-
-- Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by
-  the garbage collector while the Heap lock is held.
-
-- Issue #9516: On Mac OS X, change Distutils to no longer globally attempt to
-  check or set the MACOSX_DEPLOYMENT_TARGET environment variable for the
-  interpreter process.  This could cause failures in non-Distutils subprocesses
-  and was unreliable since tests or user programs could modify the interpreter
-  environment after Distutils set it.  Instead, have Distutils set the
-  deployment target only in the environment of each build subprocess.  It is
-  still possible to globally override the default by setting
-  MACOSX_DEPLOYMENT_TARGET before launching the interpreter; its value must be
-  greater or equal to the default value, the value with which the interpreter
-  was built.
-
-- Issue #11802: The cache in filecmp now has a maximum size of 100 so that
-  it won't grow without bound.
-
-- Issue #12404: Remove C89 incompatible code from mmap module. Patch by Akira
-  Kitada.
-
-- Issue #11700: mailbox proxy object close methods can now be called multiple
-  times without error, and _ProxyFile now closes the wrapped file.
-
-- Issue #12133: AbstractHTTPHandler.do_open() of urllib.request closes the HTTP
-  connection if its getresponse() method fails with a socket error. Patch
-  written by Ezio Melotti.
-
-- Issue #9284: Allow inspect.findsource() to find the source of doctest
-  functions.
-
-- Issue #10694: zipfile now ignores garbage at the end of a zipfile.
-
-- Issue #11583: Speed up os.path.isdir on Windows by using GetFileAttributes
-  instead of os.stat.
-
-- Issue #12080: Fix a performance issue in Decimal._power_exact that caused
-  some corner-case Decimal.__pow__ calls to take an unreasonably long time.
-
-- Named tuples now work correctly with vars().
-
-- sys.setcheckinterval() now updates the current ticker count as well as
-  updating the check interval, so if the user decreases the check interval,
-  the ticker doesn't have to wind down to zero from the old starting point
-  before the new interval takes effect.  And if the user increases the
-  interval, it makes sure the new limit takes effect right away rather have an
-  early task switch before recognizing the new interval.
-
-- Issue #12085: Fix an attribute error in subprocess.Popen destructor if the
-  constructor has failed, e.g. because of an undeclared keyword argument. Patch
-  written by Oleg Oshmyan.
-
-Extension Modules
------------------
-
-- Issue #9041: An issue in ctypes.c_longdouble, ctypes.c_double, and
-  ctypes.c_float that caused an incorrect exception to be returned in the
-  case of overflow has been fixed.
-
-- bsddb module: Erratic behaviour of "DBEnv->rep_elect()" because a typo.
-  Possible crash.
-
-- Issue #13774: json: Fix a SystemError when a bogus encoding is passed to
-  json.loads().
-
-- Issue #9975: socket: Fix incorrect use of flowinfo and scope_id. Patch by
-  Vilmos Nebehaj.
-
-- Issue #13159: FileIO, BZ2File, and the built-in file class now use a
-  linear-time buffer growth strategy instead of a quadratic one.
-
-- Issue #13070: Fix a crash when a TextIOWrapper caught in a reference cycle
-  would be finalized after the reference to its underlying BufferedRWPair's
-  writer got cleared by the GC.
-
-- Issue #12881: ctypes: Fix segfault with large structure field names.
-
-- Issue #13013: ctypes: Fix a reference leak in PyCArrayType_from_ctype.
-  Thanks to Suman Saha for finding the bug and providing a patch.
-
-- Issue #13022: Fix: _multiprocessing.recvfd() doesn't check that
-  file descriptor was actually received.
-
-- Issue #12483: ctypes: Fix a crash when the destruction of a callback
-  object triggers the garbage collector.
-
-- Issue #12950: Fix passing file descriptors in multiprocessing, under
-  OpenIndiana/Illumos.
-
-- Issue #12764: Fix a crash in ctypes when the name of a Structure field is not
-  a string.
-
-- Issue #9651: Fix a crash when ctypes.create_string_buffer(0) was passed to
-  some functions like file.write().
-
-- Issue #10309: Define _GNU_SOURCE so that mremap() gets the proper
-  signature.  Without this, architectures where sizeof void* != sizeof int are
-  broken.  Patch given by Hallvard B Furuseth.
-
-IDLE
-----
-
-- Issue #964437: Make IDLE help window non-modal.
-  Patch by Guilherme Polo and Roger Serwy.
-
-- Issue #13933: IDLE auto-complete did not work with some imported
-  module, like hashlib.  (Patch by Roger Serwy)
-
-- Issue #13506: Add '' to path for IDLE Shell when started and restarted with Restart Shell.
-  Original patches by Marco Scataglini and Roger Serwy.
-
-- Issue #4625: If IDLE cannot write to its recent file or breakpoint
-  files, display a message popup and continue rather than crash.
-  (original patch by Roger Serwy)
-
-- Issue #8793: Prevent IDLE crash when given strings with invalid hex escape
-  sequences.
-
-- Issue #13296: Fix IDLE to clear compile __future__ flags on shell restart.
-  (Patch by Roger Serwy)
-
-- Issue #14409: IDLE now properly executes commands in the Shell window
-  when it cannot read the normal config files on startup and
-  has to use the built-in default key bindings.
-  There was previously a bug in one of the defaults.
-
-- Issue #3573: IDLE hangs when passing invalid command line args
-  (directory(ies) instead of file(s)).
-
-Build
------
-
-- Issue #6807: Run msisupport.mak earlier.
-
-- Issue #10580: Minor grammar change in Windows installer.
-
-- Issue #12627: Implement PEP 394 for Python 2.7 ("python2").
-
-- Issue #8746: Correct faulty configure checks so that os.chflags() and
-  os.lchflags() are once again built on systems that support these
-  functions (*BSD and OS X).  Also add new stat file flags for OS X
-  (UF_HIDDEN and UF_COMPRESSED).
-
-Tools/Demos
------------
-
-- Issue #14053: patchcheck.py ("make patchcheck") now works with MQ patches.
-  Patch by Francisco Martín Brugué.
-
-- Issue #13930: 2to3 is now able to write its converted output files to another
-  directory tree as well as copying unchanged files and altering the file
-  suffix.  See its new -o, -W and --add-suffix options.  This makes it more
-  useful in many automated code translation workflows.
-
-- Issue #10639: reindent.py no longer converts newlines and will raise
-  an error if attempting to convert a file with mixed newlines.
-
-- Issue #13628: python-gdb.py is now able to retrieve more frames in the Python
-  traceback if Python is optimized.
-
-Tests
------
-
-- Issue #15467: Move helpers for __sizeof__ tests into test_support.
-  Patch by Serhiy Storchaka.
-
-- Issue #11689: Fix a variable scoping error in an sqlite3 test.
-  Initial patch by Torsten Landschoff.
-
-- Issue #10881: Fix test_site failures with OS X framework builds.
-
-- Issue #13901: Prevent test_distutils failures on OS X with --enable-shared.
-
-- Issue #13304: Skip test case if user site-packages disabled (-s or
-  PYTHONNOUSERSITE).  (Patch by Carl Meyer)
-
-- Issue #13218: Fix test_ssl failures on Debian/Ubuntu.
-
-- Issue #12821: Fix test_fcntl failures on OpenBSD 5.
-
-- Issue #12331: The test suite for lib2to3 can now run from an installed
-  Python.
-
-- Issue #12549: Correct test_platform to not fail when OS X returns 'x86_64'
-  as the processor type on some Mac systems.
-
-- Skip network tests when getaddrinfo() returns EAI_AGAIN, meaning a temporary
-  failure in name resolution.
-
-- Issue #11812: Solve transient socket failure to connect to 'localhost'
-  in test_telnetlib.py.
-
-- Solved a potential deadlock in test_telnetlib.py. Related to issue #11812.
-
-- Avoid failing in test_robotparser when mueblesmoraleda.com is flaky and
-  an overzealous DNS service (e.g. OpenDNS) redirects to a placeholder
-  Web site.
-
-- Avoid failing in test_urllibnet.test_bad_address when some overzealous
-  DNS service (e.g. OpenDNS) resolves a non-existent domain name.  The test
-  is now skipped instead.
-
-- Issue #8716: Avoid crashes caused by Aqua Tk on OSX when attempting to run
-  test_tk or test_ttk_guionly under a username that is not currently logged
-  in to the console windowserver (as may be the case under buildbot or ssh).
-
-- Issue #12141: Install a copy of template C module file so that
-  test_build_ext of test_distutils is no longer silently skipped when
-  run outside of a build directory.
-
-- Issue #8746: Add additional tests for os.chflags() and os.lchflags().
-  Patch by Garrett Cooper.
-
-- Issue #10736: Fix test_ttk test_widgets failures with Cocoa Tk 8.5.9
-  on Mac OS X.  (Patch by Ronald Oussoren)
-
-- Issue #12057: Add tests for ISO 2022 codecs (iso2022_jp, iso2022_jp_2,
-  iso2022_kr).
-
-Documentation
--------------
-
-- Issues #13491 and #13995: Fix many errors in sqlite3 documentation.
-  Initial patch for #13491 by Johannes Vogel.
-
-- Issue #13402: Document absoluteness of sys.executable.
-
-- Issue #13883: PYTHONCASEOK also works on OS X, OS/2, and RiscOS.
-
-- Issue #2134: The tokenize documentation has been clarified to explain why
-  all operator and delimiter tokens are treated as token.OP tokens.
-
-- Issue #13513: Fix io.IOBase documentation to correctly link to the
-  io.IOBase.readline method instead of the readline module.
-
-- Issue #13237: Reorganise subprocess documentation to emphasise convenience
-  functions and the most commonly needed arguments to Popen.
-
-- Issue #13141: Demonstrate recommended style for SocketServer examples.
-
-
-What's New in Python 2.7.2?
-===========================
-
-*Release date: 2011-06-11*
-
-Library
--------
-
-- Issue #12009: Fixed regression in netrc file comment handling.
-
-Extension Modules
------------------
-
-- Issue #1221: Make pyexpat.__version__ equal to the Python version.
-
-
-What's New in Python 2.7.2 release candidate 1?
-===============================================
-
-*Release date: 2011-05-29*
-
-Core and Builtins
------------------
-
-- Issue #9670: Increase the default stack size for secondary threads on
-  Mac OS X and FreeBSD to reduce the chances of a crash instead of a
-  "maximum recursion depth" RuntimeError exception.
-  (patch by Ronald Oussoren)
-
-- Correct lookup of __dir__ on objects. This allows old-style classes to have
-  __dir__. It also causes errors besides AttributeError found on lookup to be
-  propagated.
-
-- Issue #1195: Fix input() if it is interrupted by CTRL+d and then CTRL+c,
-  clear the end-of-file indicator after CTRL+d.
-
-- Issue #8651: PyArg_Parse*() functions raise an OverflowError if the file
-  doesn't have PY_SSIZE_T_CLEAN define and the size doesn't fit in an int
-  (length bigger than 2^31-1 bytes).
-
-- Issue #8651: Fix "z#" format of PyArg_Parse*() function: the size was not
-  written if PY_SSIZE_T_CLEAN is defined.
-
-- Issue #9756: When calling a method descriptor or a slot wrapper descriptor,
-  the check of the object type doesn't read the __class__ attribute anymore.
-  Fix a crash if a class override its __class__ attribute (e.g. a proxy of the
-  str type). Patch written by Andreas Stührk.
-
-- Issue #10517: After fork(), reinitialize the TLS used by the PyGILState_*
-  APIs, to avoid a crash with the pthread implementation in RHEL 5.  Patch
-  by Charles-François Natali.
-
-- Issue #6780: fix starts/endswith error message to mention that tuples are
-  accepted too.
-
-- Issue #5057: fix a bug in the peepholer that led to non-portable pyc files
-  between narrow and wide builds while optimizing BINARY_SUBSCR on non-BMP
-  chars (e.g. u"\U00012345"[0]).
-
-- Issue #11650: PyOS_StdioReadline() retries fgets() if it was interrupted
-  (EINTR), for example if the program is stopped with CTRL+z on Mac OS X. Patch
-  written by Charles-Francois Natali.
-
-- Issue #11144: Ensure that int(a_float) returns an int whenever possible.
-  Previously, there were some corner cases where a long was returned even
-  though the result was within the range of an int.
-
-- Issue #11450: Don't truncate hg version info in Py_GetBuildInfo() when
-  there are many tags (e.g. when using mq).  Patch by Nadeem Vawda.
-
-- Issue #10451: memoryview objects could allow mutating a readable buffer.
-  Initial patch by Ross Lagerwall.
-
-- Issue #10892: Don't segfault when trying to delete __abstractmethods__ from a
-  class.
-
-- Issue #8020: Avoid a crash where the small objects allocator would read
-  non-Python managed memory while it is being modified by another thread.
-  Patch by Matt Bandy.
-
-- Issue #11004: Repaired edge case in deque.count().
-
-- Issue #8278: On Windows and with a NTFS filesystem, os.stat() and os.utime()
-  can now handle dates after 2038.
-
-- Issue #4236: Py_InitModule4 now checks the import machinery directly
-  rather than the Py_IsInitialized flag, avoiding a Fatal Python
-  error in certain circumstances when an import is done in __del__.
-
-- Issue #11828: startswith and endswith don't accept None as slice index.
-  Patch by Torsten Becker.
-
-- Issue #10674: Remove unused 'dictmaker' rule from grammar.
-
-- Issue #10596: Fix float.__mod__ to have the same behaviour as
-  float.__divmod__ with respect to signed zeros.  -4.0 % 4.0 should be
-  0.0, not -0.0.
-
-- Issue #11386: bytearray.pop() now throws IndexError when the bytearray is
-  empty, instead of OverflowError.
-
-Library
--------
-
-- Issue #12161: Cause StringIO.getvalue() to raise a ValueError when used on a
-  closed StringIO instance.
-
-- Issue #12182: Fix pydoc.HTMLDoc.multicolumn() if Python uses the new (true)
-  division (python -Qnew). Patch written by Ralf W. Grosse-Kunstleve.
-
-- Issue #12175: RawIOBase.readall() now returns None if read() returns None.
-
-- Issue #12175: FileIO.readall() now raises a ValueError instead of an IOError
-  if the file is closed.
-
-- Issue #1441530: In imaplib, use makefile() to wrap the SSL socket to avoid
-  heap fragmentation and MemoryError with some malloc implementations.
-
-- Issue #12100: Don't reset incremental encoders of CJK codecs at each call to
-  their encode() method anymore, but continue to call the reset() method if the
-  final argument is True.
-
-- Issue #12124: zipimport doesn't keep a reference to zlib.decompress() anymore
-  to be able to unload the module.
-
-- Issue #10154, #10090: change the normalization of UTF-8 to "UTF-8" instead
-  of "UTF8" in the locale module as the latter is not supported MacOSX and OpenBSD.
-
-- Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is
-  set in shell.
-
-- Issue #12050: zlib.decompressobj().decompress() now clears the unconsumed_tail
-  attribute when called without a max_length argument.
-
-- Issue #12062: In the `io` module, fix a flushing bug when doing a certain
-  type of I/O sequence on a file opened in read+write mode (namely: reading,
-  seeking a bit forward, writing, then seeking before the previous write but
-  still within buffered data, and writing again).
-
-- Issue #8498: In socket.accept(), allow specifying 0 as a backlog value in
-  order to accept exactly one connection.  Patch by Daniel Evers.
-
-- Issue #12012: ssl.PROTOCOL_SSLv2 becomes optional.
-
-- Issue #11927: SMTP_SSL now uses port 465 by default as documented.  Patch
-  by Kasun Herath.
-
-- Issue #11999: fixed sporadic sync failure mailbox.Maildir due to its trying to
-  detect mtime changes by comparing to the system clock instead of to the
-  previous value of the mtime.
-
-- Issue #10684: shutil.move used to delete a folder on case insensitive
-  filesystems when the source and destination name where the same except
-  for the case.
-
-- Issue #11982: fix json.loads('""') to return u'' rather than ''.
-
-- Issue #11277: mmap.mmap() calls fcntl(fd, F_FULLFSYNC) on Mac OS X to get
-  around a mmap bug with sparse files. Patch written by Steffen Daode Nurpmeso.
-
-- Issue #10761: Fix tarfile.extractall failure when symlinked files are
-  present. Initial patch by Scott Leerssen.
-
-- Issue #11763: don't use difflib in TestCase.assertMultiLineEqual if the
-  strings are too long.
-
-- Issue #11236: getpass.getpass responds to ctrl-c or ctrl-z on terminal.
-
-- Issue #11768: The signal handler of the signal module only calls
-  Py_AddPendingCall() for the first signal to fix a deadlock on reentrant or
-  parallel calls. PyErr_SetInterrupt() writes also into the wake up file.
-
-- Issue #11875: collections.OrderedDict's __reduce__ was temporarily
-  mutating the object instead of just working on a copy.
-
-- Issue #11442: Add a charset parameter to the Content-type in SimpleHTTPServer
-  to avoid XSS attacks.
-
-- Issue #11467: Fix urlparse behavior when handling urls which contains scheme
-  specific part only digits. Patch by Santoso Wijaya.
-
-- collections.Counter().copy() now works correctly for subclasses.
-
-- Issue #11474: Fix the bug with url2pathname() handling of '/C|/' on Windows.
-  Patch by Santoso Wijaya.
-
-- Issue #9233: Fix json.loads('{}') to return a dict (instead of a list), when
-  _json is not available.
-
-- Issue #11703: urllib2.geturl() does not return correct url when the original
-  url contains #fragment.
-
-- Issue #10019: Fixed regression in json module where an indent of 0 stopped
-  adding newlines and acted instead like 'None'.
-
-- Issue #5162: Treat services like frozen executables to allow child spawning
-  from multiprocessing.forking on Windows.
-
-- Issue #4877: Fix a segfault in xml.parsers.expat while attempting to parse
-  a closed file.
-
-- Issue #11830: Remove unnecessary introspection code in the decimal module.
-  It was causing a failed import in the Turkish locale where the locale
-  sensitive str.upper() method caused a name mismatch.
-
-- Issue #8428: Fix a race condition in multiprocessing.Pool when terminating
-  worker processes: new processes would be spawned while the pool is being
-  shut down.  Patch by Charles-François Natali.
-
-- Issue #7311: Fix HTMLParser to accept non-ASCII attribute values.
-
-- Issue #10963: Ensure that subprocess.communicate() never raises EPIPE.
-
-- Issue #11662: Make urllib and urllib2 ignore redirections if the
-  scheme is not HTTP, HTTPS or FTP (CVE-2011-1521).
-
-- Issue #11256: Fix inspect.getcallargs on functions that take only keyword
-  arguments.
-
-- Issue #11696: Fix ID generation in msilib.
-
-- Issue #9696: Fix exception incorrectly raised by xdrlib.Packer.pack_int when
-  trying to pack a negative (in-range) integer.
-
-- Issue #11675: multiprocessing.[Raw]Array objects created from an integer size
-  are now zeroed on creation.  This matches the behaviour specified by the
-  documentation.
-
-- Issue #7639: Fix short file name generation in bdist_msi.
-
-- Issue #11666: let help() display named tuple attributes and methods
-  that start with a leading underscore.
-
-- Issue #11673: Fix multiprocessing Array and RawArray constructors to accept a
-  size of type 'long', rather than only accepting 'int'.
-
-- Issue #10042: Fixed the total_ordering decorator to handle cross-type
-  comparisons that could lead to infinite recursion.
-
-- Issue #10979: unittest stdout buffering now works with class and module
-  setup and teardown.
-
-- Issue #11569: use absolute path to the sysctl command in multiprocessing to
-  ensure that it will be found regardless of the shell PATH. This ensures
-  that multiprocessing.cpu_count works on default installs of MacOSX.
-
-- Issue #11500: Fixed a bug in the os x proxy bypass code for fully qualified
-  IP addresses in the proxy exception list.
-
-- Issue #11131: Fix sign of zero in plus and minus operations when
-  the context rounding mode is ROUND_FLOOR.
-
-- Issue #5622: Fix curses.wrapper to raise correct exception if curses
-  initialization fails.
-
-- Issue #11391: Writing to a mmap object created with
-  ``mmap.PROT_READ|mmap.PROT_EXEC`` would segfault instead of raising a
-  TypeError.  Patch by Charles-François Natali.
-
-- Issue #11306: mailbox in certain cases adapts to an inability to open
-  certain files in read-write mode.  Previously it detected this by
-  checking for EACCES, now it also checks for EROFS.
-
-- Issue #11265: asyncore now correctly handles EPIPE, EBADF and EAGAIN errors
-  on accept(), send() and recv().
-
-- Issue #11326: Add the missing connect_ex() implementation for SSL sockets,
-  and make it work for non-blocking connects.
-
-- Issue #10956: Buffered I/O classes retry reading or writing after a signal
-  has arrived and the handler returned successfully.
-
-- Issue #10680: Fix mutually exclusive arguments for argument groups in
-  argparse.
-
-- Issue #4681: Allow mmap() to work on file sizes and offsets larger than
-  4GB, even on 32-bit builds.  Initial patch by Ross Lagerwall, adapted for
-  32-bit Windows.
-
-- Issue #10360: In WeakSet, do not raise TypeErrors when testing for
-  membership of non-weakrefable objects.
-
-- Issue #10549: Fix pydoc traceback when text-documenting certain classes.
-
-- Issue #940286: pydoc.Helper.help() ignores input/output init parameters.
-
-- Issue #11171: Fix detection of config/Makefile when --prefix !=
-  --exec-prefix, which caused Python to not start.
-
-- Issue #11116: any error during addition of a message to a mailbox now causes
-  a rollback, instead of leaving the mailbox partially modified.
-
-- Issue #8275: Fix passing of callback arguments with ctypes under Win64.
-  Patch by Stan Mihai.
-
-- Issue #10949: Improved robustness of rotating file handlers.
-
-- Issue #10955: Fix a potential crash when trying to mmap() a file past its
-  length.  Initial patch by Ross Lagerwall.
-
-- Issue #10898: Allow compiling the posix module when the C library defines
-  a symbol named FSTAT.
-
-- Issue #10916: mmap should not segfault when a file is mapped using 0 as
-  length and a non-zero offset, and an attempt to read past the end of file
-  is made (IndexError is raised instead).  Patch by Ross Lagerwall.
-
-- Issue #10875: Update Regular Expression HOWTO; patch by 'SilentGhost'.
-
-- Issue #10827: Changed the rules for 2-digit years.  The time.asctime
-  function will now format any year when ``time.accept2dyear`` is
-  false and will accept years >= 1000 otherwise.  The year range
-  accepted by ``time.mktime`` and ``time.strftime`` is still system
-  dependent, but ``time.mktime`` will now accept full range supported
-  by the OS.  Conversion of 2-digit years to 4-digit is deprecated.
-
-- Issue #10869: Fixed bug where ast.increment_lineno modified the root
-  node twice.
-
-- Issue #7858: Raise an error properly when os.utime() fails under Windows
-  on an existing file.
-
-- Issue #3839: wsgiref should not override a Content-Length header set by
-  the application.  Initial patch by Clovis Fabricio.
-
-- Issue #10806, issue #9905: Fix subprocess pipes when some of the standard
-  file descriptors (0, 1, 2) are closed in the parent process.  Initial
-  patch by Ross Lagerwall.
-
-- Issue #4662: os.tempnam(), os.tmpfile() and os.tmpnam() now raise a py3k
-  DeprecationWarning.
-
-- Subclasses of collections.OrderedDict now work correctly with __missing__.
-
-- Issue #10753: Characters ';', '=' and ',' in the PATH_INFO environment
-  variable won't be quoted when the URI is constructed by the wsgiref.util 's
-  request_uri method. According to RFC 3986, these characters can be a part of
-  params in PATH component of URI and need not be quoted.
-
-- Issue #10738: Fix webbrowser.Opera.raise_opts
-
-- Issue #9824: SimpleCookie now encodes , and ; in values to cater to how
-  browsers actually parse cookies.
-
-- Issue #1379416: eliminated a source of accidental unicode promotion in
-  email.header.Header.encode.
-
-- Issue #5258/#10642: if site.py encounters a .pth file that generates an error,
-  it now prints the filename, line number, and traceback to stderr and skips
-  the rest of that individual file, instead of stopping processing entirely.
-
-- Issue #10750: The ``raw`` attribute of buffered IO objects is now read-only.
-
-- Issue #10242: unittest.TestCase.assertItemsEqual makes too many assumptions
-  about input.
-
-- Issue #10611: SystemExit should not cause a unittest test run to exit.
-
-- Issue #6791: Limit header line length (to 65535 bytes) in http.client,
-  to avoid denial of services from the other party.
-
-- Issue #9907: Fix tab handling on OSX when using editline by calling
-  rl_initialize first, then setting our custom defaults, then reading .editrc.
-
-- Issue #4188: Avoid creating dummy thread objects when logging operations
-  from the threading module (with the internal verbose flag activated).
-
-- Issue #9721: Fix the behavior of urljoin when the relative url starts with a
-  ';' character. Patch by Wes Chow.
-
-- Issue #10714: Limit length of incoming request in http.server to 65536 bytes
-  for security reasons.  Initial patch by Ross Lagerwall.
-
-- Issue #9558: Fix distutils.command.build_ext with VS 8.0.
-
-- Issue #10695: passing the port as a string value to telnetlib no longer
-  causes debug mode to fail.
-
-- Issue #10478: Reentrant calls inside buffered IO objects (for example by
-  way of a signal handler) now raise a RuntimeError instead of freezing the
-  current process.
-
-- Issue #10497: Fix incorrect use of gettext in argparse.
-
-- Issue #10464: netrc now correctly handles lines with embedded '#' characters.
-
-- Issue #1731717: Fixed the problem where subprocess.wait() could cause an
-  OSError exception when The OS had been told to ignore SIGCLD in our process
-  or otherwise not wait for exiting child processes.
-
-- Issue #9509: argparse now properly handles IOErrors raised by
-  argparse.FileType.
-
-- Issue #9348: Raise an early error if argparse nargs and metavar don't match.
-
-- Issue #8982: Improve the documentation for the argparse Namespace object.
-
-- Issue #9343: Document that argparse parent parsers must be configured before
-  their children.
-
-- Issue #9026: Fix order of argparse sub-commands in help messages.
-
-- Issue #9347: Fix formatting for tuples in argparse type= error messages.
-
-Extension Modules
------------------
-
-- Stop using the old interface for providing methods and attributes in the _sre
-  module. Among other things, this gives these classes ``__class__``
-  attributes. (See #12099)
-
-- Issue #10169: Fix argument parsing in socket.sendto() to avoid error masking.
-
-- Issue #12051: Fix segfault in json.dumps() while encoding highly-nested
-  objects using the C accelerations.
-
-- Issue #12017: Fix segfault in json.loads() while decoding highly-nested
-  objects using the C accelerations.
-
-- Issue #1838: Prevent segfault in ctypes, when _as_parameter_ on a class is set
-  to an instance of the class.
-
-- Issue #678250: Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
-
-IDLE
-----
-
-- Issue #11718: IDLE's open module dialog couldn't find the __init__.py
-  file in a package.
-
-- Issue #12590: IDLE editor window now always displays the first line
-  when opening a long file.  With Tk 8.5, the first line was hidden.
-
-- Issue #11088: don't crash when using F5 to run a script in IDLE on MacOSX
-  with Tk 8.5.
-
-- Issue #10940: Workaround an IDLE hang on Mac OS X 10.6 when using the
-  menu accelerators for Open Module, Go to Line, and New Indent Width.
-  The accelerators still work but no longer appear in the menu items.
-
-- Issue #10907: Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5, rather
-  than the currently problematic Apple-supplied one, when running with the
-  64-/32-bit installer variant.
-
-- Issue #11052: Correct IDLE menu accelerators on Mac OS X for Save
-  commands.
-
-- Issue #6075: IDLE on Mac OS X now works with both Carbon AquaTk and
-  Cocoa AquaTk.
-
-- Issue #10404: Use ctl-button-1 on OSX for the context menu in Idle.
-
-- Issue #10107: Warn about unsaved files in IDLE on OSX.
-
-- Issue #10406: Enable Rstrip IDLE extension on OSX (just like on other
-  platforms).
-
-- Issue #6378: Further adjust idle.bat to start associated Python
-
-- Issue #11896: Save on Close failed despite selecting "Yes" in dialog.
-
-- Issue #4676: <Home> toggle failing on Tk 8.5, causing IDLE exits and
-  strange selection behavior.  Improve selection extension behaviour.
-
-- Issue #3851: <Home> toggle non-functional when NumLock set on Windows.
-
-Build
------
-
-- Issue #11217: For 64-bit/32-bit Mac OS X universal framework builds,
-  ensure "make install" creates symlinks in --prefix bin for the "-32"
-  files in the framework bin directory like the installer does.
-
-- Issue #11411: Fix 'make DESTDIR=' with a relative destination.
-
-- Issue #10709: Add updated AIX notes in Misc/README.AIX.
-
-- Issue #11184: Fix large-file support on AIX.
-
-- Issue #941346: Fix broken shared library build on AIX.
-
-- Issue #11268: Prevent Mac OS X Installer failure if Documentation
-  package had previously been installed.
-
-- Issue #11079: The /Applications/Python x.x folder created by the Mac
-  OS X installers now includes a link to the installed documentation.
-
-- Issue #11054: Allow Mac OS X installer builds to again work on 10.5 with
-  the system-provided Python.
-
-- Issue #10843: Update third-party library versions used in OS X
-  32-bit installer builds: bzip2 1.0.6, readline 6.1.2, SQLite 3.7.4
-  (with FTS3/FTS4 and RTREE enabled), and ncursesw 5.5 (wide-char
-  support enabled).
-
-- Don't run pgen twice when using make -j.
-
-- Issue #7716: Under Solaris, don't assume existence of /usr/xpg4/bin/grep in
-  the configure script but use $GREP instead.  Patch by Fabian Groffen.
-
-- Issue #10475: Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD
-  and DragonFly BSD.  Patch by Nicolas Joly.
-
-- Issue #10655: Fix the build on PowerPC on Linux with GCC when building with
-  timestamp profiling (--with-tsc): the preprocessor test for the PowerPC
-  support now looks for "__powerpc__" as well as "__ppc__": the latter seems to
-  only be present on OS X; the former is the correct one for Linux with GCC.
-
-- Issue #1099: Fix the build on MacOSX when building a framework with pydebug
-  using GCC 4.0.
-
-Tests
------
-
-- Issue #11164: Remove obsolete allnodes test from minidom test.
-
-- Issue #12205: Fix test_subprocess failure due to uninstalled test data.
-
-- Issue #5723: Improve json tests to be executed with and without accelerations.
-
-- Issue #11910: Fix test_heapq to skip the C tests when _heapq is missing.
-
-- Fix test_startfile to wait for child process to terminate before finishing.
-
-- Issue #11719: Fix message about unexpected test_msilib skip on non-Windows
-  platforms. Patch by Nadeem Vawda.
-
-- Issue #7108: Fix test_commands to not fail when special attributes ('@'
-  or '.') appear in 'ls -l' output.
-
-- Issue #11490: test_subprocess:test_leaking_fds_on_error no longer gives a
-  false positive if the last directory in the path is inaccessible.
-
-- Issue #10822: Fix test_posix:test_getgroups failure under Solaris.  Patch
-  by Ross Lagerwall.
-
-- Issue #6293: Have regrtest.py echo back sys.flags.  This is done by default
-  in whole runs and enabled selectively using ``--header`` when running an
-  explicit list of tests.  Original patch by Collin Winter.
-
-- Issue #775964: test_grp now skips YP/NIS entries instead of failing when
-  encountering them.
-
-- Issue #7110: regrtest now sends test failure reports and single-failure
-  tracebacks to stderr rather than stdout.
-
-
-What's New in Python 2.7.1?
-===========================
-
-*Release date: 2010-11-27*
-
-Library
--------
-
-- Issue #2236: distutils' mkpath ignored the mode parameter.
-
-- Fix typo in one sdist option (medata-check).
-
-- Issue #10323: itertools.islice() now consumes the minimum number of
-  inputs before stopping.  Formerly, the final state of the underlying
-  iterator was undefined.
-
-- Issue #10565: The collections.Iterator ABC now checks for both
-  ``__iter__`` and ``next``.
-
-- Issue #10092: Properly reset locale in calendar.Locale*Calendar classes.
-
-- Issue #10459: Update CJK character names to Unicode 5.2.
-
-- Issue #6098: Don't claim DOM level 3 conformance in minidom.
-
-- Issue #10561: In pdb, clear the breakpoints by the breakpoint number.
-
-- Issue #5762: Fix AttributeError raised by ``xml.dom.minidom`` when an empty
-  XML namespace attribute is encountered.
-
-- Issue #1710703: Write structures for an empty ZIP archive when a ZipFile is
-  created in modes 'a' or 'w' and then closed without adding any files. Raise
-  BadZipfile (rather than IOError) when opening small non-ZIP files.
-
-- Issue #4493: urllib2 adds '/' in front of path components which does not
-  start with '/. Common behavior exhibited by browsers and other clients.
-
-- Issue #10407: Fix one NameError in distutils.
-
-- Issue #10198: fix duplicate header written to wave files when writeframes()
-  is called without data.
-
-- Issue #10467: Fix BytesIO.readinto() after seeking into a position after the
-  end of the file.
-
-- Issue #5111: IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru.
-
-IDLE
-----
-
-- Issue #6378: idle.bat now runs with the appropriate Python version rather than
-  the system default. Patch by Sridhar Ratnakumar.
-
-Build
------
-
-- Backport r83399 to allow test_distutils to pass on installed versions.
-
-- Issue #1303434: Generate ZIP file containing all PDBs.
-
-Tests
------
-
-- Issue #9424: Replace deprecated assert* methods in the Python test suite.
-
-Documentation
--------------
-
-- Issue #10299: List the built-in functions in a table in functions.rst.
-
-
-What's New in Python 2.7.1 release candidate 1?
-===============================================
-
-*Release date: 2010-11-13*
-
-Core and Builtins
------------------
-
-- Issue #10221: dict.pop(k) now has a key error message that includes the
-  missing key (same message d[k] returns for missing keys).
-
-- Issue #10125: Don't segfault when the iterator passed to
-  ``file.writelines()`` closes the file.
-
-- Issue #10186: Fix the SyntaxError caret when the offset is equal to the
-  length of the offending line.
-
-- Issue #9997: Don't let the name "top" have special significance in scope
-  resolution.
-
-- Issue #9862: Compensate for broken PIPE_BUF in AIX by hard coding
-  its value as the default 512 when compiling on AIX.
-
-- Issue #9675: CObject use is marked as a Py3k warning, not a deprecation
-  warning.
-
-- Issue #10068: Global objects which have reference cycles with their module's
-  dict are now cleared again. This causes issue #7140 to appear again.
-
-- Issue #9869: Make long() and PyNumber_Long return something of type
-  long for a class whose __long__ method returns a plain int.  This
-  fixes an interpreter crash when initializing an instance of a long
-  subclass from an object whose __long__ method returns a plain int.
-
-- Issue #10006: type.__abstractmethods__ now raises an AttributeError.
-
-- Issue #9797: pystate.c wrongly assumed that zero couldn't be a valid
-  thread-local storage key.
-
-- Issue #4947: The write() method of sys.stdout and sys.stderr uses their
-  encoding and errors attributes instead of using utf-8 in strict mode, to get
-  the same behaviour than the print statement.
-
-- Issue #9737: Fix a crash when trying to delete a slice or an item from
-  a memoryview object.
-
-- Restore GIL in nis_cat in case of error.
-
-- Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t.
-
-- Issue #8530: Prevent stringlib fastsearch from reading beyond the front
-  of an array.
-
-- Issue #83755: Implicit set-to-frozenset conversion was not thread-safe.
-
-- Issue #9416: Fix some issues with complex formatting where the
-  output with no type specifier failed to match the str output:
-
-    - format(complex(-0.0, 2.0), '-') omitted the real part from the output,
-    - format(complex(0.0, 2.0), '-') included a sign and parentheses.
-
-- Issue #7616: Fix copying of overlapping memoryview slices with the Intel
-  compiler.
-
-Library
--------
-
-- Issue #9926: Wrapped TestSuite subclass does not get __call__ executed
-
-- Issue #4471: Properly shutdown socket in IMAP.shutdown().  Patch by
-  Lorenzo M. Catucci.
-
-- Issue #10126: Fix distutils' test_build when Python was built with
-  --enable-shared.
-
-- Fix typo in one sdist option (medata-check).
-
-- Issue #9199: Fix incorrect use of distutils.cmd.Command.announce.
-
-- Issue #1718574: Fix options that were supposed to accept arguments but did
-  not in build_clib.
-
-- Issue #9281: Prevent race condition with mkdir in distutils.  Patch by
-  Arfrever.
-
-- Issue #10229: Fix caching error in gettext.
-
-- Issue #10252: Close file objects in a timely manner in distutils code and
-  tests.  Patch by Brian Brazil, completed by Éric Araujo.
-
-- Issue #10311: The signal module now restores errno before returning from
-  its low-level signal handler.  Patch by Hallvard B Furuseth.
-
-- Issue #10038: json.loads() on str should always return unicode (regression
-  from Python 2.6).  Patch by Walter Dörwald.
-
-- Issue #120176: Wrapped TestSuite subclass does not get __call__ executed.
-
-- Issue #6706: asyncore accept() method no longer raises
-  EWOULDBLOCK/ECONNABORTED on incomplete connection attempt but returns None
-  instead.
-
-- Issue #10266: uu.decode didn't close in_file explicitly when it was given
-  as a filename.  Patch by Brian Brazil.
-
-- Issue #10246: uu.encode didn't close file objects explicitly when filenames
-  were given to it.  Patch by Brian Brazil.
-
-- Issue #10253: FileIO leaks a file descriptor when trying to open a file
-  for append that isn't seekable.  Patch by Brian Brazil.
-
-- Issue #6105: json.dumps now respects OrderedDict's iteration order.
-
-- Issue #9295: Fix a crash under Windows when calling close() on a file
-  object with custom buffering from two threads at once.
-
-- Issue #5027: The standard ``xml`` namespace is now understood by
-  xml.sax.saxutils.XMLGenerator as being bound to
-  http://www.w3.org/XML/1998/namespace.  Patch by Troy J. Farrell.
-
-- Issue #10163: Skip unreadable registry keys during mimetypes
-  initialization.
-
-- Issue #5117: Fixed root directory related issue on posixpath.relpath() and
-  ntpath.relpath().
-
-- Issue #9409: Fix the regex to match all kind of filenames, for interactive
-  debugging in doctests.
-
-- Issue #6612: Fix site and sysconfig to catch os.getcwd() error, eg. if the
-  current directory was deleted. Patch written by W. Trevor King.
-
-- Issue #10045: Improved performance when writing after seeking past the
-  end of the "file" in cStringIO.
-
-- Issue #9948: Fixed problem of losing filename case information.
-
-- Issue #9437: Fix building C extensions with non-default LDFLAGS.
-
-- Issue #9759: GzipFile now raises ValueError when an operation is attempted
-  after the file is closed.  Patch by Jeffrey Finkelstein.
-
-- Issue #9042: Fix interaction of custom translation classes and caching in
-  gettext.
-
-- Issue #9065: tarfile no longer uses "root" as the default for the uname and
-  gname field.
-
-- Issue #1050268: parseaddr now correctly quotes double quote and backslash
-  characters that appear inside quoted strings in email addresses.
-
-- Issue #10004: quoprimime no longer generates a traceback when confronted
-  with invalid characters after '=' in a Q-encoded word.
-
-- Issue #9950: Fix socket.sendall() crash or misbehaviour when a signal is
-  received.  Now sendall() properly calls signal handlers if necessary,
-  and retries sending if these returned successfully, including on sockets
-  with a timeout.
-
-- Issue #9947: logging: Fixed locking bug in stopListening.
-
-- Issue #9945: logging: Fixed locking bugs in addHandler/removeHandler.
-
-- Issue #9936: Fixed executable lines' search in the trace module.
-
-- Issue #9928: Properly initialize the types exported by the bz2 module.
-
-- Issue #9854: The default read() implementation in io.RawIOBase now
-  handles non-blocking readinto() returning None correctly.
-
-- Issue #9729: Fix the signature of SSLSocket.recvfrom() and
-  SSLSocket.sendto() to match the corresponding socket methods.  Also,
-  fix various SSLSocket methods to raise socket.error rather than an
-  unhelpful TypeError when called on an unconnected socket.  Original patch
-  by Andrew Bennetts.
-
-- Issue #9826: OrderedDict.__repr__ can now handle self-referential
-  values:   d['x'] = d.
-
-- Issue #767645: Set os.path.supports_unicode_filenames to True on Mac OS X.
-
-- Issue #9837: The read() method of ZipExtFile objects (as returned by
-  ZipFile.open()) could return more bytes than requested.
-
-- Issue #9825: removed __del__ from the definition of collections.OrderedDict.
-  This prevents user-created self-referencing ordered dictionaries from
-  becoming permanently uncollectable GC garbage.  The downside is that
-  removing __del__ means that the internal doubly-linked list has to wait for
-  GC collection rather than freeing memory immediately when the refcnt drops
-  to zero.
-
-- Issue #9816: random.Random.jumpahead(n) did not produce a sufficiently
-  different internal state for small values of n.  Fixed by salting the
-  value.
-
-- Issue #9792: In case of connection failure, socket.create_connection()
-  would swallow the exception and raise a new one, making it impossible
-  to fetch the original errno, or to filter timeout errors.  Now the
-  original error is re-raised.
-
-- Issue #9758: When fcntl.ioctl() was called with mutable_flag set to True,
-  and the passed buffer was exactly 1024 bytes long, the buffer wouldn't
-  be updated back after the system call.  Original patch by Brian Brazil.
-
-- Issue #1100562: Fix deep-copying of objects derived from the list and
-  dict types.  Patch by Michele Orrù and Björn Lindqvist.
-
-- Issue #7005: Fixed output of None values for RawConfigParser.write and
-  ConfigParser.write.
-
-- Issue #808164: Fixed socket.close to avoid references to globals, to
-  avoid issues when socket.close is called from a __del__ method.
-
-- Issue #2986: difflib.SequenceMatcher gets a new parameter, autojunk, which
-  can be set to False to turn off the previously undocumented 'popularity'
-  heuristic. Patch by Terry Reedy and Eli Bendersky
-
-- Issue #8797: urllib2 does a retry for Basic Authentication failure instead of
-  falling into recursion.
-
-- Issue #1194222: email.utils.parsedate now returns RFC2822 compliant four
-  character years even if the message contains RFC822 two character years.
-
-- Issue #8750: Fixed MutableSet's methods to correctly handle
-  reflexive operations, namely x -= x and x ^= x.
-
-- Issue #9129: smtpd.py is vulnerable to DoS attacks deriving from missing
-  error handling when accepting a new connection.
-
-- Issue #658749: asyncore's connect() method now correctly interprets winsock
-  errors.
-
-- Issue #9501: Fixed logging regressions in cleanup code.
-
-- Issue #9214: Set operations on KeysView or ItemsView in the collections
-  module now correctly return a set.  (Patch by Eli Bendersky.)
-
-- Issue #9617: Signals received during a low-level write operation aren't
-  ignored by the buffered IO layer anymore.
-
-- Issue #2521: Use weakrefs on for caching in the abc module, so that classes
-  are not held onto after they are deleted elsewhere.
-
-- Issue #9626: the view methods for collections.OrderedDict() were returning
-  the unordered versions inherited from dict.  Those methods are now
-  overridden to provide ordered views.
-
-- Issue #8688: MANIFEST files created by distutils now include a magic
-  comment indicating they are generated.  Manually maintained MANIFESTs
-  without this marker will not be overwritten or removed.
-
-- Issue #7467: when reading a file from a ZIP archive, its CRC is checked
-  and a BadZipfile error is raised if it doesn't match (as used to be the
-  case in Python 2.5 and earlier).
-
-- Issue #9550: a BufferedReader could issue an additional read when the
-  original read request had been satisfied, which could block indefinitely
-  when the underlying raw IO channel was e.g. a socket.  Report and original
-  patch by Jason V. Miller.
-
-- Issue #9551: Don't raise TypeError when setting the value to None for
-  SafeConfigParser instances constructed with allow_no_value == True.
-
-- Issue #6915: Under Windows, os.listdir() didn't release the Global
-  Interpreter Lock around all system calls.  Original patch by Ryan Kelly.
-
-- Issue #3757: thread-local objects now support cyclic garbage collection.
-  Thread-local objects involved in reference cycles will be deallocated
-  timely by the cyclic GC, even if the underlying thread is still running.
-
-- Issue #6231: Fix xml.etree.ElementInclude to include the tail of the
-  current node.
-
-- Issue #6869: Fix a refcount problem in the _ctypes extension.
-
-- Issue #5504: ctypes should now work with systems where mmap can't be
-  PROT_WRITE and PROT_EXEC.
-
-- Issue #8280: urllib2's Request method will remove fragements in the url.
-  This is how it is supposed to work, wget and curl do the same.  Previous
-  behavior was wrong.
-
-- Issue #2944: asyncore doesn't handle connection refused correctly.
-
-- Issue #3196: email header decoding is now forgiving if an RFC2047
-  encoded word encoded in base64 is lacking padding.
-
-- Issue #9444: Argparse now uses the first element of prefix_chars as
-  the option character for the added 'h/help' option if prefix_chars
-  does not contain a '-', instead of raising an error.
-
-- Issue #9354: Provide getsockopt() in asyncore's file_wrapper.
-
-- Issue #9428: Fix running scripts with the profile/cProfile modules from
-  the command line.
-
-- Issue #7781: Fix restricting stats by entry counts in the pstats
-  interactive browser.
-
-- Issue #9209: Do not crash in the pstats interactive browser on invalid
-  regular expressions.
-
-- Issue #7372: Fix pstats regression when stripping paths from profile
-  data generated with the profile module.
-
-- Issue #4108: In urllib.robotparser, if there are multiple 'User-agent: *'
-  entries, consider the first one.
-
-- Issue #8397: Raise an error when attempting to mix iteration and regular
-  reads on a BZ2File object, rather than returning incorrect results.
-
-- Issue #5294: Fix the behavior of pdb's "continue" command when called
-  in the top-level debugged frame.
-
-- Issue #5727: Restore the ability to use readline when calling into pdb
-  in doctests.
-
-- Issue #6719: In pdb, do not stop somewhere in the encodings machinery
-  if the source file to be debugged is in a non-builtin encoding.
-
-- Issue #8048: Prevent doctests from failing when sys.displayhook has
-  been reassigned.
-
-- Issue #8015: In pdb, do not crash when an empty line is entered as
-  a breakpoint command.
-
-- Issue #9448: Fix a leak of OS resources (mutexes or semaphores) when
-  re-initializing a buffered IO object by calling its ``__init__`` method.
-
-- Issue #7909: Do not touch paths with the special prefixes ``\\.\``
-  or ``\\?\`` in ntpath.normpath().
-
-- Issue #5146: Handle UID THREAD command correctly in imaplib.
-
-- Issue #5147: Fix the header generated for cookie files written by
-  http.cookiejar.MozillaCookieJar.
-
-- Issue #8198: In pydoc, output all help text to the correct stream
-  when sys.stdout is reassigned.
-
-- Issue #7395: Fix tracebacks in pstats interactive browser.
-
-- Issue #8230: Fix Lib/test/sortperf.py.
-
-- Issue #1713: Fix os.path.ismount(), which returned true for symbolic links
-  across devices.
-
-- Issue #8826: Properly load old-style "expires" attribute in http.cookies.
-
-- Issue #1690103: Fix initial namespace for code run with trace.main().
-
-- Issue #8471: In doctest, properly reset the output stream to an empty
-  string when Unicode was previously output.
-
-- Issue #8620: when a Cmd is fed input that reaches EOF without a final
-  newline, it no longer truncates the last character of the last command line.
-
-- Issue #6213: Implement getstate() and setstate() methods of utf-8-sig and
-  utf-16 incremental encoders.
-
-- Issue #7113: Speed up loading in ConfigParser. Patch by Łukasz Langa.
-
-- Issue #3704: cookielib was not properly handling URLs with a / in the
-  parameters.
-
-- Issue #9032: XML-RPC client retries the request on EPIPE error. The EPIPE
-  error occurs when the server closes the socket and the client sends a big
-  XML-RPC request.
-
-- Issue #5542: Remove special logic that closes HTTPConnection socket on EPIPE.
-
-- Issue #4629: getopt raises an error if an argument ends with = whereas getopt
-  doesn't except a value (eg. --help= is rejected if getopt uses ['help='] long
-  options).
-
-- Issue #7895: platform.mac_ver() no longer crashes after calling os.fork()
-
-- Issue #5395: array.fromfile() would raise a spurious EOFError when an
-  I/O error occurred.  Now an IOError is raised instead.  Patch by chuck
-  (Jan Hosang).
-
-- Issue #7646: The fnmatch pattern cache no longer grows without bound.
-
-- Issue #9136: Fix 'dictionary changed size during iteration'
-  RuntimeError produced when profiling the decimal module.  This was
-  due to a dangerous iteration over 'locals()' in Context.__init__.
-
-- Fix extreme speed issue in Decimal.pow when the base is an exact
-  power of 10 and the exponent is tiny (for example,
-  Decimal(10) ** Decimal('1e-999999999')).
-
-- Issue #9161: Fix regression in optparse's acceptance of unicode
-  strings in add_option calls.
-
-- Issue #9130: Fix validation of relative imports in parser module.
-
-- Issue #9128: Fix validation of class decorators in parser module.
-
-- Issue #9164: Ensure sysconfig handles dupblice archs while building on OSX
-
-- Issue #9315: Fix for the trace module to record correct class name
-  for tracing methods.
-
-Extension Modules
------------------
-
-- Issue #9054: Fix a crash occurring when using the pyexpat module
-  with expat version 2.0.1.
-
-- Issue #10003: Allow handling of SIGBREAK on Windows. Fixes a regression
-  introduced by issue #9324.
-
-- Issue #8734: Avoid crash in msvcrt.get_osfhandle() when an invalid file
-  descriptor is provided.  Patch by Pascal Chambon.
-
-- Issue #7736: Release the GIL around calls to opendir() and closedir()
-  in the posix module.  Patch by Marcin Bachry.
-
-- As a result of issue #2521, the _weakref module is now compiled into the
-  interpreter by default.
-
-- Issue #9324: Add parameter validation to signal.signal on Windows in order
-  to prevent crashes.
-
-- Issue #9526: Remove some outdated (int) casts that were preventing
-  the array module from working correctly with arrays of more than
-  2**31 elements.
-
-- Fix memory leak in ssl._ssl._test_decode_cert.
-
-- Issue #8065: Fix memory leak in readline module (from failure to
-  free the result of history_get_history_state()).
-
-- Issue #9450: Fix memory leak in readline.replace_history_item and
-  readline.remove_history_item for readline version >= 5.0.
-
-- Issue #8105: Validate file descriptor passed to mmap.mmap on Windows.
-
-- Issue #1019882: Fix IndexError when loading certain hotshot stats.
-
-- Issue #9422: Fix memory leak when re-initializing a struct.Struct object.
-
-- Issue #7900: The getgroups(2) system call on MacOSX behaves rather oddly
-  compared to other unix systems. In particular, os.getgroups() does
-  not reflect any changes made using os.setgroups() but basically always
-  returns the same information as the id command.
-
-  os.getgroups() can now return more than 16 groups on MacOSX.
-
-- Issue #9277: Fix bug in struct.pack for bools in standard mode
-  (e.g., struct.pack('>?')): if conversion to bool raised an exception
-  then that exception wasn't properly propagated on machines where
-  char is unsigned.
-
-- Issue #7567: Don't call `setupterm' twice.
-
-Tools/Demos
------------
-
-- Issue #7287: Demo/imputil/knee.py was removed.
-
-- Issue #9188: The gdb extension now handles correctly narrow (UCS2) as well
-  as wide (UCS4) unicode builds for both the host interpreter (embedded
-  inside gdb) and the interpreter under test.
-
-Build
------
-
-- Issue #8852: Allow the socket module to build on OpenSolaris.
-
-- Issue #10054: Some platforms provide uintptr_t in inttypes.h.  Patch by
-  Akira Kitada.
-
-- Issue #10055: Make json C89-compliant in UCS4 mode.
-
-- Issue #1633863: Don't ignore $CC under AIX.
-
-- Issue #9810: Compile bzip2 source files in python's project file
-  directly. It used to be built with bzip2's makefile.
-
-- Issue #941346: Improve the build process under AIX and allow Python to
-  be built as a shared library.  Patch by Sébastien Sablé.
-
-- Issue #4026: Make the fcntl extension build under AIX.  Patch by Sébastien
-  Sablé.
-
-- Issue #3101: Helper functions _add_one_to_index_C() and
-  _add_one_to_index_F() become _Py_add_one_to_index_C() and
-  _Py_add_one_to_index_F(), respectively.
-
-- Issue #9700: define HAVE_BROKEN_POSIX_SEMAPHORES under AIX 6.x.  Patch by
-  Sébastien Sablé.
-
-- Issue #9280: Make sharedinstall depend on sharedmods.
-
-- Issue #9275: The OSX installer once again installs links to binaries in
-  ``/usr/local/bin``.
-
-- Issue #9392: A framework build on OSX will once again use a versioned name
-  of the ``2to3`` tool, that is you can use ``2to3-2.7`` to select the Python
-  2.7 edition of 2to3.
-
-- Issue #9701: The MacOSX installer can patch the shell profile to ensure that
-  the "bin" directory inside the framework is on the shell's search path. This
-  feature now also supports the ZSH shell.
-
-- Issue #7473: avoid link errors when building a framework with a different
-  set of architectures than the one that is currently installed.
-
-Tests
------
-
-- Issue #9978: Wait until subprocess completes initialization. (Win32KillTests
-  in test_os)
-
-- Issue #9894: Do not hardcode ENOENT in test_subprocess.
-
-- Issue #9323: Make test.regrtest.__file__ absolute, this was not always the
-  case when running profile or trace, for example.
-
-- Issue #9315: Added tests for the trace module.  Patch by Eli Bendersky.
-
-- Strengthen test_unicode with explicit type checking for assertEqual tests.
-
-- Issue #8857: Provide a test case for socket.getaddrinfo.
-
-- Issue #7564: Skip test_ioctl if another process is attached to /dev/tty.
-
-- Issue #8433: Fix test_curses failure with newer versions of ncurses.
-
-- Issue #9496: Provide a test suite for the rlcompleter module.  Patch by
-  Michele Orrù.
-
-- Issue #8605: Skip test_gdb if Python is compiled with optimizations.
-
-- Issue #9568: Fix test_urllib2_localnet on OS X 10.3.
-
-Documentation
--------------
-
-- Issue #9817: Add expat COPYING file; add expat, libffi and expat licenses
-  to Doc/license.rst.
-
-- Issue #9524: Document that two CTRL* signals are meant for use only
-  with os.kill.
-
-- Issue #9255: Document that the 'test' package is for internal Python use
-  only.
-
-- Issue #7829: Document in dis that bytecode is an implementation detail.
-
-
-What's New in Python 2.7?
-=========================
-
-*Release date: 2010-07-03*
-
-Core and Builtins
------------------
-
-- Prevent assignment to set literals.
-
-Library
--------
-
-- Issue #1868: Eliminate subtle timing issues in thread-local objects by
-  getting rid of the cached copy of thread-local attribute dictionary.
-
-- Issue #9125: Add recognition of 'except ... as ...' syntax to parser module.
-
-Extension Modules
------------------
-
-- Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module,
-  ensure that the input string length is a multiple of the frame size.
-
-- Issue #9075: In the ssl module, remove the setting of a ``debug`` flag
-  on an OpenSSL structure.
-
-
-What's New in Python 2.7 release candidate 2?
-=============================================
-
-*Release date: 2010-06-20*
-
-Core and Builtins
------------------
-
-- Issue #9058: Remove assertions about INT_MAX in UnicodeDecodeError.
-
-- Issue #8202: Previous change to ``sys.argv[0]`` handling for -m command line
-  option reverted due to unintended side effects on handling of ``sys.path``.
-  See tracker issue for details.
-
-- Issue #8941: decoding big endian UTF-32 data in UCS-2 builds could crash
-  the interpreter with characters outside the Basic Multilingual Plane
-  (higher than 0x10000).
-
-- In the unicode/str.format(), raise a ValueError when indexes to arguments are
-  too large.
-
-Build
------
-
-- Issue #8854: Fix finding Visual Studio 2008 on Windows x64.
-
-Library
--------
-
-- Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructor
-  raises an exception.
-
-- Issue #8959: fix regression caused by using unmodified libffi
-  library on Windows.  ctypes does now again check the stack before
-  and after calling foreign functions.
-
-- Issue #8720: fix regression caused by fix for #4050 by making getsourcefile
-  smart enough to find source files in the linecache.
-
-- Issue #8986: math.erfc was incorrectly raising OverflowError for
-  values between -27.3 and -30.0 on some platforms.
-
-- Issue #8924: logging: Improved error handling for Unicode in exception text.
-
-- Issue #8948: cleanup functions and class / module setups and teardowns are
-  now honored in unittest debug methods.
-
-Documentation
--------------
-
-- Issue #8909: Added the size of the bitmap used in the installer created by
-  distutils' bdist_wininst. Patch by Anatoly Techtonik.
-
-Misc
-----
-
-- Issue #8362: Add maintainers.rst: list of module maintainers
-
-
-What's New in Python 2.7 Release Candidate 1?
-=============================================
-
-*Release date: 2010-06-05*
-
-Core and Builtins
------------------
-
-- Issue #8271: during the decoding of an invalid UTF-8 byte sequence, only the
-  start byte and the continuation byte(s) are now considered invalid, instead
-  of the number of bytes specified by the start byte.
-  E.g.: '\xf1\x80AB'.decode('utf-8', 'replace') now returns u'\ufffdAB' and
-  replaces with U+FFFD only the start byte ('\xf1') and the continuation byte
-  ('\x80') even if '\xf1' is the start byte of a 4-bytes sequence.
-  Previous versions returned a single u'\ufffd'.
-
-- Issue #8627: Remove bogus "Overriding __cmp__ blocks inheritance of
-  __hash__ in 3.x" warning.  Also fix "XXX undetected error" that
-  arises from the "Overriding __eq__ blocks inheritance ..." warning
-  when turned into an exception: in this case the exception simply
-  gets ignored.
-
-- Issue #8748: Fix two issues with comparisons between complex and integer
-  objects.  (1) The comparison could incorrectly return True in some cases
-  (2**53+1 == complex(2**53) == 2**53), breaking transivity of equality.
-  (2) The comparison raised an OverflowError for large integers, leading
-  to unpredictable exceptions when combining integers and complex objects
-  in sets or dicts.
-
-- Issue #5211: Implicit coercion for the complex type is now completely
-  removed.  (Coercion for arithmetic operations was already removed in 2.7
-  alpha 4, but coercion for rich comparisons was accidentally left in.)
-
-- Issue #3798: Write sys.exit() message to sys.stderr to use stderr encoding
-  and error handler, instead of writing to the C stderr file in utf-8
-
-- Issue #7902: When using explicit relative import syntax, don't try implicit
-  relative import semantics.
-
-- Issue #7079: Fix a possible crash when closing a file object while using it
-  from another thread.  Patch by Daniel Stutzbach.
-
-- Issue #8868: Fix that ensures that python scripts have access to the
-  Window Server again in a framework build on MacOSX 10.5 or earlier.
-
-C-API
------
-
-- Issue #5753: A new C API function, :cfunc:`PySys_SetArgvEx`, allows embedders
-  of the interpreter to set sys.argv without also modifying sys.path.  This
-  helps fix `CVE-2008-5983
-  <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 attribute docstrings.
-
-- Issue #4487: email now accepts as charset aliases all codec aliases
-  accepted by the codecs module.
-
-- Issue #6470: Drop UNC prefix in FixTk.
-
-- Issue #5610: feedparser no longer eats extra characters at the end of
-  a body part if the body part ends with a \r\n.
-
-- Issue #8833: tarfile created hard link entries with a size field != 0 by
-  mistake.
-
-- Issue #1368247: set_charset (and therefore MIMEText) now automatically
-  encodes a unicode _payload to the output_charset.
-
-- Issue #7150: Raise OverflowError if the result of adding or subtracting
-  timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range.
-
-- Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by
-  Fredrik Håård
-
-- Issue #8016: Add the CP858 codec.
-
-- Issue #3924: Ignore cookies with invalid "version" field in cookielib.
-
-- Issue #6268: Fix seek() method of codecs.open(), don't read or write the BOM
-  twice after seek(0). Fix also reset() method of codecs, UTF-16, UTF-32 and
-  StreamWriter classes.
-
-- Issue #5640: Fix Shift-JIS incremental encoder for error handlers different
-  than 'strict'.
-
-- Issue #8782: Add a trailing newline in linecache.updatecache to the last line
-  of files without one.
-
-- Issue #8729: Return NotImplemented from ``collections.Mapping.__eq__()`` when
-  comparing to a non-mapping.
-
-- Issue #8759: Fix user paths in sysconfig for posix and os2 schemes.
-
-- Issue #1285086: Speed up ``urllib.quote()`` and urllib.unquote for simple
-  cases.
-
-- Issue #8688: Distutils now recalculates MANIFEST every time.
-
-- Issue #5099: The ``__del__()`` method of ``subprocess.Popen`` (and the methods
-  it calls) referenced global objects, causing errors to pop up during
-  interpreter shutdown.
-
-Extension Modules
------------------
-
-- Issue #7384: If the system readline library is linked against ncurses,
-  the curses module must be linked against ncurses as well. Otherwise it
-  is not safe to load both the readline and curses modules in an application.
-
-- Issue #2810: Fix cases where the Windows registry API returns
-  ERROR_MORE_DATA, requiring a re-try in order to get the complete result.
-
-- Issue #8674: Fixed a number of incorrect or undefined-behaviour-inducing
-  overflow checks in the ``audioop`` module.
-
-Tests
------
-
-- Issue #8889: test_support.transient_internet rewritten so that the new
-  checks also work on FreeBSD, which lacks EAI_NODATA.
-
-- Issue #8835: test_support.transient_internet() catches gaierror(EAI_NONAME)
-  and gaierror(EAI_NODATA)
-
-- Issue #7449: Skip test_socketserver if threading support is disabled
-
-- On darwin, ``test_site`` assumed that a framework build was being used,
-  leading to a failure where four directories were expected for site-packages
-  instead of two in a non-framework build.
-
-Build
------
-
-- Display installer warning that Windows 2000 won't be supported in future
-  releases.
-
-- Issues #1759169, #8864: Drop _XOPEN_SOURCE on Solaris, define it for
-  multiprocessing only.
-
-Tools/Demos
------------
-
-- Issue #5464: Implement plural forms in msgfmt.py.
-
-
-What's New in Python 2.7 beta 2?
-================================
-
-*Release date: 2010-05-08*
-
-Core and Builtins
------------------
-
-- Run Clang 2.7's static analyzer for ``Objects/`` and ``Python/``.
-
-- Issue #1533: Fix inconsistency in range function argument processing: any
-  non-float non-integer argument is now converted to an integer (if possible)
-  using its __int__ method.  Previously, only small arguments were treated this
-  way; larger arguments (those whose __int__ was outside the range of a C long)
-  would produce a TypeError.
-
-- Issue #8202: ``sys.argv[0]`` is now set to '-m' instead of '-c' when searching
-  for the module file to be executed with the -m command line option.
-
-- Issue #7319: When -Q is used, do not silence DeprecationWarning.
-
-- Issue #7332: Remove the 16KB stack-based buffer in
-  ``PyMarshal_ReadLastObjectFromFile``, which doesn't bring any noticeable
-  benefit compared to the dynamic memory allocation fallback.  Patch by
-  Charles-François Natali.
-
-- Issue #8417: Raise an OverflowError when an integer larger than sys.maxsize is
-  passed to bytearray.
-
-- Issue #7072: ``isspace(0xa0)`` is true on Mac OS X.
-
-- Issue #8404: Fix set operations on dictionary views.
-
-- Issue #8084: PEP 370 now conforms to system conventions for framework builds
-  on MacOS X. That is, ``python setup.py install --user`` will install into
-  ``~/Library/Python/2.7`` instead of ``~/.local``.
-
-Library
--------
-
-- Issue #8681: Make the zlib module's error messages more informative when the
-  zlib itself doesn't give any detailed explanation.
-
-- Issue #8571: Fix an internal error when compressing or decompressing a chunk
-  larger than 1GB with the zlib module's compressor and decompressor objects.
-
-- Issue #8573: asyncore ``_strerror()`` function might throw ValueError.
-
-- Issue #8483: asyncore.dispatcher's __getattr__ method produced confusing error
-  messages when accessing undefined class attributes because of the cheap
-  inheritance with the underlying socket object.  The cheap inheritance has been
-  deprecated.
-
-- Issue #4265: ``shutil.copyfile()`` was leaking file descriptors when disk
-  fills.  Patch by Tres Seaver.
-
-- Issue #7755: Use an unencumbered audio file for tests.
-
-- Issue #8621: ``uuid.uuid4()`` returned the same sequence of values in the
-  parent and any children created using ``os.fork`` on Mac OS X 10.6.
-
-- Issue #8313: ``traceback.format_exception_only()`` encodes unicode message to
-  ASCII with backslashreplace error handler if ``str(value)`` failed.
-
-- Issue #8567: Fix precedence of signals in Decimal module: when a Decimal
-  operation raises multiple signals and more than one of those signals is
-  trapped, the specification determines the order in which the signals should be
-  handled.  In many cases this order wasn't being followed, leading to the wrong
-  Python exception being raised.
-
-- Issue #7865: The close() method of :mod:`io` objects should not swallow
-  exceptions raised by the implicit flush().  Also ensure that calling close()
-  several times is supported.  Patch by Pascal Chambon.
-
-- Issue #8576: logging updated to remove usage of find_unused_port().
-
-- Issue #4687: Fix accuracy of garbage collection runtimes displayed with
-  gc.DEBUG_STATS.
-
-- Issue #8354: The siginterrupt setting is now preserved for all signals, not
-  just SIGCHLD.
-
-- Issue #7192: ``webbrowser.get("firefox")`` now works on Mac OS X, as does
-  ``webbrowser.get("safari")``.
-
-- Issue #8577: ``distutils.sysconfig.get_python_inc()`` now makes a difference
-  between the build dir and the source dir when looking for "python.h" or
-  "Include".
-
-- Issue #8464: tarfile no longer creates files with execute permissions set when
-  mode="w|" is used.
-
-- Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions of
-  the Linux kernel.  Patch by Yaniv Aknin.
-
-- Issue #6312: Fix http HEAD request when the transfer encoding is chunked.  It
-  should correctly return an empty response now.
-
-- Issue #7490: To facilitate sharing of doctests between 2.x and 3.x test
-  suites, the ``IGNORE_EXCEPTION_DETAIL`` directive now also ignores the module
-  location of the raised exception.  Based on initial patch by Lennart Regebro.
-
-- Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline before
-  the certificate footer.  Patch by Kyle VanderBeek.
-
-- Issue #8546: Reject None given as the buffering argument to ``_pyio.open()``.
-
-- Issue #8549: Fix compiling the _ssl extension under AIX.  Patch by Sridhar
-  Ratnakumar.
-
-- Issue #6656: Fix locale.format_string to handle escaped percents and mappings.
-
-- Issue #2302: Fix a race condition in SocketServer.BaseServer.shutdown, where
-  the method could block indefinitely if called just before the event loop
-  started running.  This also fixes the occasional freezes witnessed in
-  test_httpservers.
-
-- Issue #5103: SSL handshake would ignore the socket timeout and block
-  indefinitely if the other end didn't respond.
-
-- The do_handshake() method of SSL objects now adjusts the blocking mode of the
-  SSL structure if necessary (as other methods already do).
-
-- Issue #7507: Quote "!" in pipes.quote(); it is special to some shells.
-
-- Issue #5238: Calling makefile() on an SSL object would prevent the underlying
-  socket from being closed until all objects get truely destroyed.
-
-- Issue #7943: Fix circular reference created when instantiating an SSL socket.
-  Initial patch by Péter Szabó.
-
-- Issue #8451: Syslog module now uses basename(sys.argv[0]) instead of the
-  string "python" as the *ident*.  openlog() arguments are all optional and
-  keywords.
-
-- Issue #8108: Fix the unwrap() method of SSL objects when the socket has a
-  non-infinite timeout.  Also make that method friendlier with applications
-  wanting to continue using the socket in clear-text mode, by disabling
-  OpenSSL's internal readahead.  Thanks to Darryl Miles for guidance.
-
-- Issue #8484: Load all ciphers and digest algorithms when initializing the _ssl
-  extension, such that verification of some SSL certificates doesn't fail
-  because of an "unknown algorithm".
-
-- Issue #8437: Fix test_gdb failures, patch written by Dave Malcolm
-
-- Issue #4814: The timeout parameter is now applied also for connections
-  resulting from PORT/EPRT commands.
-
-- Issue #8463: Add missing reference to bztar in shutil's documentation.
-
-- Issue #8438: Remove reference to the missing "surrogateescape" encoding error
-  handler from the new IO library.
-
-- Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response code
-  as stated in RFC-959 at chapter 5.4.
-
-- Issue #8279: Fix test_gdb failures.
-
-- Issue #8322: Add a *ciphers* argument to SSL sockets, so as to change the
-  available cipher list.  Helps fix test_ssl with OpenSSL 1.0.0.
-
-- Issue #2987: RFC 2732 support for urlparse (IPv6 addresses).  Patch by Tony
-  Locke and Hans Ulrich Niedermann.
-
-- Issue #7585: difflib context and unified diffs now place a tab between
-  filename and date, conforming to the 'standards' they were originally designed
-  to follow.  This improves compatibility with patch tools.
-
-- Issue #7472: Fixed typo in email.encoders module; messages using ISO-2022
-  character sets will now consistently use a Content-Transfer-Encoding of 7bit
-  rather than sometimes being marked as 8bit.
-
-- Issue #8330: Fix expected output in test_gdb.
-
-- Issue #8374: Update the internal alias table in the :mod:`locale` module to
-  cover recent locale changes and additions.
-
-Extension Modules
------------------
-
-- Issue #8644: Improved accuracy of ``timedelta.total_seconds()``.
-
-- Use Clang 2.7's static analyzer to find places to clean up some code.
-
-- Build the ossaudio extension on GNU/kFreeBSD.
-
-- On Windows, ctypes no longer checks the stack before and after calling a
-  foreign function.  This allows using the unmodified libffi library.
-
-Tests
------
-
-- Issue #8672: Add a zlib test ensuring that an incomplete stream can be handled
-  by a decompressor object without errors (it returns incomplete uncompressed
-  data).
-
-- Issue #8490: asyncore now has a more solid test suite which actually tests its
-  API.
-
-- Issue #8576: Remove use of find_unused_port() in test_smtplib and
-  test_multiprocessing.  Patch by Paul Moore.
-
-- Issue #7449: Fix many tests to support Python compiled without thread support.
-  Patches written by Jerry Seutter.
-
-- Issue #8108: test_ftplib's non-blocking SSL server now has proper handling of
-  SSL shutdowns.
-
-Build
------
-
-- Issue #8625: Turn off optimization in ``--with-pydebug`` builds with gcc.
-  (Optimization was unintentionally turned on in gcc --with-pydebug builds in
-  2.7 beta1 as a result of the issue #1628484 fix, combined with autoconf's
-  strange choice of default CFLAGS produced by AC_PROG_CC for gcc.)
-
-- Issue #8509: Fix quoting in help strings and code snippets in configure.in.
-
-- Issue #3646: It is now easily possible to install a Python framework into your
-  home directory on Mac OS X, see Mac/README for more information.
-
-- Issue #8510: Update to autoconf 2.65.
-
-Misc
-----
-
-- Update the Vim syntax highlight file.
-
-
-What's New in Python 2.7 beta 1?
-================================
-
-*Release date: 2010-04-10*
-
-Core and Builtins
------------------
-
-- Issue #7301: Add environment variable $PYTHONWARNINGS.
-
-- Issue #8329: Don't return the same lists from select.select when no fds are
-  changed.
-
-- Issue #8259: ``1L << (2**31)`` no longer produces an 'outrageous shift error'
-  on 64-bit machines.  The shift count for either left or right shift is
-  permitted to be up to sys.maxsize.
-
-- Ensure that tokenization of identifiers is not affected by locale.
-
-- Issue #1222585: Added LDCXXSHARED for C++ support.  Patch by Arfrever.
-
-- Raise a TypeError when trying to delete a T_STRING_INPLACE struct member.
-
-- Issue #7994: Issue a PendingDeprecationWarning if object.__format__ is called
-  with a non-empty format string. This is an effort to future-proof user
-  code. If a derived class does not currently implement __format__ but later
-  adds its own __format__, it would most likely break user code that had
-  supplied a format string. This will be changed to a DeprecationWarning in
-  Python 3.3 and it will be an error in Python 3.4.
-
-- Issue #8268: Old-style classes (not just instances) now support weak
-  references.
-
-- Issue #8211: Save/restore CFLAGS around AC_PROG_CC in configure.in, in case it
-  is set.
-
-- Issue #1583863: A unicode subclass can now override the __unicode__ method
-
-- Issue #6474: Make error message from passing an inadequate number of keyword
-  arguments to a function correct.
-
-- Issue #8164: Don't allow lambda functions to have a docstring.
-
-- Issue #3137: Don't ignore errors at startup, especially a keyboard interrupt
-  (SIGINT).  If an error occurs while importing the site module, the error is
-  printed and Python exits.  Initialize the GIL before importing the site
-  module.
-
-- Code objects now support weak references.
-
-Library
--------
-
-- Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters.
-
-- Issue #8321: Give access to OpenSSL version numbers from the `ssl` module,
-  using the new attributes `ssl.OPENSSL_VERSION`, `ssl.OPENSSL_VERSION_INFO` and
-  `ssl.OPENSSL_VERSION_NUMBER`.
-
-- Issue #8310: Allow dis to examine new style classes.
-
-- Issue #8257: The Decimal construct now accepts a float instance directly,
-  converting that float to a Decimal of equal value:
-
-     >>> Decimal(1.1)
-     Decimal('1.100000000000000088817841970012523233890533447265625')
-
-- collections.Counter() now supports a subtract() method.
-
-- The functools module now has a total_ordering() class decorator to simplify
-  the specification of rich comparisons.
-
-- The functools module also adds cmp_to_key() as a tool to transition old-style
-  comparison functions to new-style key-functions.
-
-- Issue #8294: The Fraction constructor now accepts Decimal and float instances
-  directly.
-
-- Issue #7279: Comparisons involving a Decimal signaling NaN now signal
-  InvalidOperation instead of returning False.  (Comparisons involving a quiet
-  NaN are unchanged.)  Also, Decimal quiet NaNs are now hashable; Decimal
-  signaling NaNs remain unhashable.
-
-- Issue #2531: Comparison operations between floats and Decimal instances now
-  return a result based on the numeric values of the operands; previously they
-  returned an arbitrary result based on the relative ordering of id(float) and
-  id(Decimal).
-
-- Issue #8233: When run as a script, py_compile.py optionally takes a single
-  argument `-` which tells it to read files to compile from stdin.  Each line is
-  read on demand and the named file is compiled immediately.  (Original patch by
-  Piotr Ożarowski).
-
-- Issue #3135: Add ``inspect.getcallargs()``, which binds arguments to a
-  function like a normal call.
-
-- Backwards incompatible change: Unicode codepoints line tabulation (0x0B) and
-  form feed (0x0C) are now considered linebreaks, as specified in Unicode
-  Standard Annex #14.  See issue #7643.  http://www.unicode.org/reports/tr14/
-
-- Comparisons using one of <, <=, >, >= between a complex instance and a
-  Fractions instance now raise TypeError instead of returning True/False.  This
-  makes Fraction <=> complex comparisons consistent with int <=> complex, float
-  <=> complex, and complex <=> complex comparisons.
-
-- Addition of ``WeakSet`` to the ``weakref`` module.
-
-- logging: Added LOG_FTP to SysLogHandler and updated documentation.
-
-- Issue #8205: Remove the "Modules" directory from sys.path when Python is
-  running from the build directory (POSIX only).
-
-- Issue #7667: Fix doctest failures with non-ASCII paths.
-
-- Issue #7512: shutil.copystat() could raise an OSError when the filesystem
-  didn't support chflags() (for example ZFS under FreeBSD).  The error is now
-  silenced.
-
-- Issue #7703: ctypes supports both buffer() and memoryview().  The former is
-  deprecated.
-
-- Issue #7860: platform.uname now reports the correct 'machine' type when Python
-  is running in WOW64 mode on 64 bit Windows.
-
-- logging: Added getChild utility method to Logger and added isEnabledFor method
-  to LoggerAdapter.
-
-- Issue #8201: logging: Handle situation of non-ASCII and Unicode logger names
-  existing at the same time, causing a Unicode error when configuration code
-  attempted to sort the existing loggers.
-
-- Issue #8200: logging: Handle errors when multiprocessing is not fully loaded
-  when logging occurs.
-
-- Issue #3890, #8222: Fix recv() and recv_into() on non-blocking SSL sockets.
-  Also, enable the SSL_MODE_AUTO_RETRY flag on SSL sockets, so that blocking
-  reads and writes are always retried by OpenSSL itself.
-
-- Issue #8179: Fix macpath.realpath() on a non-existing path.
-
-- Issue #8024: Update the Unicode database to 5.2.
-
-- Issue #8104: socket.recv_into() and socket.recvfrom_into() now support writing
-  into objects supporting the new buffer API, for example bytearrays or
-  memoryviews.
-
-- Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox
-  with Tcl/Tk-8.5.
-
-- Issue #8140: Extend compileall to compile single files.  Add -i option.
-
-- Issue #7774: Set sys.executable to an empty string if ``argv[0]`` has been set
-  to a non existent program name and Python is unable to retrieve the real
-  program name.
-
-- Issue #8117: logging: Improved algorithm for computing initial rollover time
-  for ``TimedRotatingFileHandler`` by using the modification time of an existing
-  log file to compute the next rollover time.  If the log file does not exist,
-  the current time is used as the basis for the computation.
-
-- Issue #6472: The ``xml.etree`` package is updated to ElementTree 1.3.  The
-  cElementTree module is updated too.
-
-- Issue #7880: Fix sysconfig when the python executable is a symbolic link.
-
-- Issue #7624: Fix ``isinstance(foo(), collections.Callable)`` for old-style
-  classes.
-
-- Issue #7143: email: ``get_payload()`` used to strip any trailing newline from
-  a base64 transfer-encoded payload *after* decoding it; it no longer does.
-  This is a behavior change, so email's minor version number is now bumped, to
-  version 4.0.2, for the 2.7 release.
-
-- Issue #8235: _socket: Add the constant ``SO_SETFIB``.  SO_SETFIB is
-  a socket option available on FreeBSD 7.1 and newer.
-
-- Issue #8038: unittest.TestCase.assertNotRegexpMatches
-
-- Addition of -b command line option to unittest for buffering stdout / stderr
-  during test runs.
-
-- Issue #1220212: Added os.kill support for Windows, including support for
-  sending CTRL+C and CTRL+BREAK events to console subprocesses.
-
-Extension Modules
------------------
-
-- Issue #8314: Fix unsigned long long bug in libffi on Sparc v8.
-
-- Issue #1039, #8154: Fix os.execlp() crash with missing 2nd argument.
-
-- Issue #8156: bsddb module updated to version 4.8.4.
-  http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.8.4.  This update drops
-  support for Berkeley DB 4.0, and adds support for 4.8.
-
-- Issue #3928: os.mknod() now available in Solaris, also.
-
-- Issue #8142: Update libffi to the 3.0.9 release.
-
-- Issue #8300: When passing a non-integer argument to struct.pack with any
-  integer format code, struct.pack first attempts to convert the non-integer
-  using its __index__ method.  If that method is non-existent or raises
-  TypeError it goes on to try the __int__ method, as described below.
-
-- Issue #1530559: When passing a non-integer argument to struct.pack with *any*
-  integer format code (one of 'bBhHiIlLqQ'), struct.pack attempts to use the
-  argument's __int__ method to convert to an integer before packing.  It also
-  produces a DeprecationWarning in this case.  (In Python 2.6, the behaviour was
-  inconsistent: __int__ was used for some integer codes but not for others, and
-  the set of integer codes for which it was used differed between native packing
-  and standard packing.)
-
-- Issue #7347: _winreg: Add CreateKeyEx and DeleteKeyEx, as well as fix a bug in
-  the return value of QueryReflectionKey.
-
-Tools/Demos
------------
-
-- Issue #7993: Add a test of IO packet processing bandwidth to ccbench.  It
-  measures the number of UDP packets processed per second depending on the
-  number of background CPU-bound Python threads.
-
-- python-config now supports multiple options on the same command line.
-
-Build
------
-
-- Issue #8032: For gdb7, a python-gdb.py file is added to the build, allowing to
-  use advanced gdb features when debugging Python.
-
-- Issue #1628484: The Makefile doesn't ignore the CFLAGS environment variable
-  anymore.  It also forwards the LDFLAGS settings to the linker when building a
-  shared library.
-
-- Issue #6716: Quote -x arguments of compileall in MSI installer.
-
-- Issue #7705: Fix linking on FreeBSD.
-
-- Make sure that the FreeBSD build of the included libffi uses the proper
-  assembly file.
-
-C-API
------
-
-- Issue #8276: PyEval_CallObject() is now only available in macro form.  The
-  function declaration, which was kept for backwards compatibility reasons, is
-  now removed (the macro was introduced in 1997!).
-
-- Issue #7992: A replacement PyCObject API, PyCapsule, has been backported from
-  Python 3.1.  All existing Python CObjects in the main distribution have been
-  converted to capsules.  To address backwards-compatibility concerns,
-  PyCObject_AsVoidPtr() was changed to understand capsules.
-
-Tests
------
-
-- Issue #3864: Skip three test_signal tests on freebsd6 because they fail if any
-  thread was previously started, most likely due to a platform bug.
-
-- Issue #8348: Fix test ftp url in test_urllib2net.
-
-- Issue #8204: Fix test_ttk notebook test by forcing focus.
-
-- Issue #8344: Fix test_ttk bug on FreeBSD.
-
-- Issue #8193: Fix test_zlib failure with zlib 1.2.4.
-
-- Issue #8248: Add some tests for the bool type.  Patch by Gregory Nofi.
-
-- Issue #8263: Now regrtest.py will report a failure if it receives a
-  KeyboardInterrupt (SIGINT).
-
-- Issue #8180 and #8207: Fix test_pep277 on OS X and add more tests for special
-  Unicode normalization cases.
-
-- Issue #7783: test.test_support.open_urlresource invalidates the outdated files
-  from the local cache.
-
-
-What's New in Python 2.7 alpha 4?
-=================================
-
-*Release date: 2010-03-06*
-
-Core and Builtins
------------------
-
-- Issue #7544: Preallocate thread memory before creating the thread to avoid a
-  fatal error in low memory condition.
-
-- Issue #7820: The parser tokenizer restores all bytes in the right if the BOM
-  check fails.
-
-- Issue #7309: Fix unchecked attribute access when converting
-  UnicodeEncodeError, UnicodeDecodeError, and UnicodeTranslateError to strings.
-
-- Issue #7649: "u'%c' % char" now behaves like "u'%s' % char" and raises a
-  UnicodeDecodeError if 'char' is a byte string that can't be decoded using the
-  default encoding.
-
-- Issue #6902: Fix problem with built-in types format incorrectly with 0
-  padding.
-
-- Issue #2560: Remove an unnecessary 'for' loop from ``my_fgets()`` in
-  Parser/myreadline.c.
-
-- Issue #7988: Fix default alignment to be right aligned for
-  ``complex.__format__``.  Now it matches other numeric types.
-
-- Issue #5211: The complex type no longer uses implicit coercion in mixed-type
-  binary arithmetic operations.
-
-Library
--------
-
-- Issue #7904: Changes to urllib.parse.urlsplit to handle schemes as defined by
-  RFC3986. Anything before :// is considered a scheme and is followed by an
-  authority (or netloc) and by '/' led path, which is optional.
-
-- Issue #1555570: email no longer inserts extra blank lines when a \r\n
-  combo crosses an 8192 byte boundary.
-
-- Issue #6906: Tk should not set Unicode environment variables on Windows.
-
-- Issue #1054943: Fix ``unicodedata.normalize('NFC', text)`` for the Public
-  Review Issue #29 (http://unicode.org/review/pr-29.html).
-
-- Issue #7494: Fix a crash in ``_lsprof`` (cProfile) after clearing the profiler,
-  reset also the pointer to the current pointer context.
-
-- Issue #7232: Add support for the context management protocol to the
-  ``tarfile.TarFile`` class.
-
-- Issue #7250: Fix info leak of os.environ across multi-run uses of
-  ``wsgiref.handlers.CGIHandler``.
-
-- Issue #1729305: Fix doctest to handle encode error with "backslashreplace".
-
-- Issue #691291: ``codecs.open()`` should not convert end of lines on reading
-  and writing.
-
-- Issue #7975: Correct regression in dict methods supported by bsddb.dbshelve.
-
-- Issue #7959: ctypes callback functions are now registered correctly with the
-  cycle garbage collector.
-
-- Issue #7970: ``email.Generator.flatten`` now correctly flattens
-  message/rfc822 messages parsed by ``email.Parser.HeaderParser``.
-
-- Issue #3426: ``os.path.abspath`` now returns unicode when its arg is unicode.
-
-- Issue #7633: In the decimal module, ``Context`` class methods (with the
-  exception of canonical and is_canonical) now accept instances of int and long
-  wherever a Decimal instance is accepted, and implicitly convert that argument
-  to Decimal.  Previously only some arguments were converted.
-
-- Issue #6003: Add an argument to ``zipfile.Zipfile.writestr`` to specify the
-  compression type.
-
-- Issue #7893: ``unittest.TextTestResult`` is made public and a ``resultclass``
-  argument added to the TextTestRunner constructor allowing a different result
-  class to be used without having to subclass.
-
-- Issue #7588: ``unittest.TextTestResult.getDescription`` now includes the test
-  name in failure reports even if the test has a docstring.
-
-- Issue #5801: Remove spurious empty lines in wsgiref.
-
-- Issue #1537721: Add a ``writeheader()`` method to ``csv.DictWriter``.
-
-- Issue #7427: Improve the representation of httplib.BadStatusLine exceptions.
-
-- Issue #7481: When a ``threading.Thread`` failed to start it would leave the
-  instance stuck in initial state and present in ``threading.enumerate()``.
-
-- Issue #1068268: The subprocess module now handles EINTR in internal
-  ``os.waitpid()`` and ``os.read()`` system calls where appropriate.
-
-- Issue #6729: Add ``ctypes.c_ssize_t`` to represent ssize_t.
-
-- Issue #6247: The argparse module has been added to the standard library.
-
-Extension Modules
------------------
-
-- The sqlite3 module was updated to pysqlite 2.6.0.  This fixes several obscure
-  bugs and allows loading SQLite extensions from shared libraries.
-
-- Issue #7808: Fix reference leaks in _bsddb and related tests.
-
-- Issue #6544: Fix a reference leak in the kqueue implementation's error
-  handling.
-
-- Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as
-  msvcr100.dll is not a platform assembly anymore.
-
-- Issue #7242: On Solaris 9 and earlier calling ``os.fork()`` from within a
-  thread could raise an incorrect RuntimeError about not holding the import
-  lock.  The import lock is now reinitialized after fork.
-
-- Issue #7999: ``os.setreuid()`` and ``os.setregid()`` would refuse to accept a
-  -1 parameter on some platforms such as OS X.
-
-Tests
------
-
-- Issue #7849: The utility ``test.test_support.check_warnings()`` verifies if
-  warnings are effectively raised.  A new utility ``check_py3k_warnings()`` is
-  available.
-
-- The four path modules (genericpath, macpath, ntpath, posixpath) share a
-  common TestCase for some tests: test_genericpath.CommonTest.
-
-- Print platform information when running the whole test suite, or using the
-  ``--verbose`` flag.
-
-- Issue #767675: Enable test_pep277 on POSIX platforms with Unicode-friendly
-  filesystem encoding.
-
-- Issue #6292: For the moment at least, the test suite runs cleanly if python
-  is run with the -OO flag.  Tests requiring docstrings are skipped.
-
-- Issue #7712: test_support gained a new ``temp_cwd`` context manager which is
-  now also used by regrtest to run all the tests in a temporary directory.  The
-  original CWD is saved in ``test.test_support.SAVEDCWD``.  Thanks to Florent
-  Xicluna who helped with the patch.
-
-Build
------
-
-- Issue #3920, #7903: Define _BSD_SOURCE on OpenBSD 4.4 through 4.9.
-
-
-What's New in Python 2.7 alpha 3?
-=================================
-
-*Release date: 2010-02-06*
-
-Core and Builtins
------------------
-
-- Issue #5677: Explicitly forbid write operations on read-only file objects,
-  and read operations on write-only file objects.  On Windows, the system C
-  library would return a bogus result; on Solaris, it was possible to crash the
-  interpreter.  Patch by Stefan Krah.
-
-- Issue #7853: Normalize exceptions before they are passed to a context
-  manager's ``__exit__()`` method.
-
-- Issue #7385: Fix a crash in ``PyMemoryView_FromObject()`` when
-  ``PyObject_GetBuffer()`` fails.  Patch by Florent Xicluna.
-
-- Issue #7819: Check ``sys.call_tracing()`` arguments types.
-
-- Issue #7788: Fix an interpreter crash produced by deleting a list slice with
-  very large step value.
-
-- Issue #7766: Change ``sys.getwindowsversion()`` return value to a named tuple
-  and add the additional members returned in an OSVERSIONINFOEX structure.  The
-  new members are service_pack_major, service_pack_minor, suite_mask, and
-  product_type.
-
-- Issue #7561: Operations on empty bytearrays (such as ``int(bytearray())``)
-  could crash in many places because of the ``PyByteArray_AS_STRING()`` macro
-  returning NULL.  The macro now returns a statically allocated empty string
-  instead.
-
-- Issue #7622: Improve the split(), rsplit(), splitlines() and replace()
-  methods of bytes, bytearray and unicode objects by using a common
-  implementation based on stringlib's fast search.  Patch by Florent Xicluna.
-
-- Issue #7632: Fix various str -> float conversion bugs present in 2.7 alpha 2,
-  including:
-
-  (1) a serious 'wrong output' bug that could occur for long (> 40 digit) input
-      strings,
-  (2) a crash in dtoa.c that occurred in debug builds when parsing certain long
-      numeric strings corresponding to subnormal values,
-  (3) a memory leak for some values large enough to cause overflow, and
-  (4) a number of flaws that could lead to incorrectly rounded results.
-
-- Issue #7319, #7770: Silence ``DeprecationWarning`` by default when the -3
-  option is not used.
-
-- Issue #2335: Backport set literals syntax from Python 3.x.
-
-- Issue #2333: Backport set and dict comprehensions syntax from Python 3.x.
-
-- Issue #1967: Backport dictionary views from Python 3.x.
-
-Library
--------
-
-- Issue #9137: Fix issue in MutableMapping.update, which incorrectly
-  treated keyword arguments called 'self' or 'other' specially.
-
-- Issue #7835: shelve should no longer produce mysterious warnings during
-  interpreter shutdown.
-
-- Issue #2746: Don't escape ampersands and angle brackets ("&", "<", ">") in
-  XML processing instructions and comments.  These raw characters are allowed
-  by the XML specification, and are necessary when outputting e.g.  PHP code in
-  a processing instruction.  Patch by Neil Muller.
-
-- Issue #7869: logging: Improved diagnostic for format-time errors.
-
-- Issue #7868: logging: Added loggerClass attribute to Manager.
-
-- Issue #7851: logging: Clarification on logging configuration files.
-
-- Issue #4772: Raise a ValueError when an unknown Bluetooth protocol is
-  specified, rather than fall through to AF_PACKET (in the ``socket`` module).
-  Also, raise ValueError rather than TypeError when an unknown TIPC address
-  type is specified.  Patch by Brian Curtin.
-
-- logging: Implemented PEP 391.
-
-- Issue #6939: Fix file I/O objects in the `io` module to keep the original
-  file position when calling `truncate()`.  It would previously change the file
-  position to the given argument, which goes against the tradition of
-  ftruncate() and other truncation APIs.  Patch by Pascal Chambon.
-
-- Issue #7610: Reworked implementation of the internal ``zipfile.ZipExtFile``
-  class used to represent files stored inside an archive.  The new
-  implementation is significantly faster and can be wrapped in an
-  ``io.BufferedReader`` object for more speedups.  It also solves an issue
-  where interleaved calls to ``read()`` and ``readline()`` give wrong results.
-  Patch by Nir Aides.
-
-- Issue #7792: Registering non-classes to ABCs raised an obscure error.
-
-- Removed the deprecated functions ``verify()`` and ``vereq()`` from
-  Lib/test/test_support.py.
-
-- Issue #7773: Fix an UnboundLocalError in ``platform.linux_distribution()``
-  when the release file is empty.
-
-- Issue #7748: Since unicode values are supported for some metadata options in
-  Distutils, the DistributionMetadata get_* methods will now return a utf-8
-  encoded string for them.  This ensures that the upload and register commands
-  send the correct values to PyPI without any error.
-
-- Issue #1670765: Prevent ``email.generator.Generator`` from re-wrapping
-  headers in multipart/signed MIME parts, which fixes one of the sources of
-  invalid modifications to such parts by Generator.
-
-- Issue #7701: Fix crash in ``binascii.b2a_uu()`` in debug mode when given a
-  1-byte argument.  Patch by Victor Stinner.
-
-- Issue #3299: Fix possible crash in the _sre module when given bad argument
-  values in debug mode.  Patch by Victor Stinner.
-
-- Issue #7703: Add support for the new buffer API to functions of the binascii
-  module.  Backported from py3k by Florent Xicluna, with some additional tests.
-
-- Issue #2846: Add support for gzip.GzipFile reading zero-padded files.  Patch
-  by Brian Curtin.
-
-- Issue #5827: Make sure that normpath preserves unicode.  Initial patch by
-  Matt Giuca.
-
-- Issue #5372: Drop the reuse of .o files in Distutils' ccompiler (since
-  Extension extra options may change the output without changing the .c file).
-  Initial patch by Collin Winter.
-
-Extension Modules
------------------
-
-- Expat: Fix DoS via XML document with malformed UTF-8 sequences
-  (CVE_2009_3560).
-
-Build
------
-
-- Issue #7632: When Py_USING_MEMORY_DEBUGGER is defined, disable the private
-  memory allocation scheme in dtoa.c and use PyMem_Malloc and PyMem_Free
-  instead.  Also disable caching of powers of 5.
-
-- Issue #7658: Ensure that the new pythonw executable works on OSX 10.4
-
-- Issue #7714: Use ``gcc -dumpversion`` to detect the version of GCC on
-  MacOSX.
-
-- Issue #7661: Allow ctypes to be built from a non-ASCII directory path.
-  Patch by Florent Xicluna.
-
-Tools/Demos
------------
-
-- iobench (a file I/O benchmark) and ccbench (a concurrency benchmark) were
-  added to the ``Tools`` directory.  They were previously living in the
-  sandbox.
-
-Tests
------
-
-- Issue #7728: test_timeout was changed to use ``test_support.bind_port()``
-  instead of a hard coded port.
-
-Documentation
--------------
-
-- Updated "Using Python" documentation to include description of CPython's -J,
-  -U and -X options.
-
-- Updated Python manual page (options -B, -O0, -s, environment variables
-  PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE).
-
-
-What's New in Python 2.7 alpha 2?
-=================================
-
-*Release date: 2010-01-09*
-
-Core and Builtins
------------------
-
-- The ``__complex__()`` method is now looked up on the class of instances to
-  make it consistent with other special methods.
-
-- Issue #7462: Implement the stringlib fast search algorithm for the `rfind`,
-  `rindex`, `rsplit` and `rpartition` methods.  Patch by Florent Xicluna.
-
-- Issue #5080: A number of functions and methods previously produced a
-  DeprecationWarning when passed a float argument where an integer was expected.
-  These functions and methods now raise TypeError instead.  The majority of the
-  effects of this change are in the extension modules, but some core functions
-  and methods are affected: notably the 'chr', 'range' and 'xrange' builtins,
-  and many unicode/str methods.
-
-- Issue #7604: Deleting an unset slotted attribute did not raise an
-  AttributeError.
-
-- Issue #7534: Fix handling of IEEE specials (infinities, nans, negative zero)
-  in ** operator.  The behaviour now conforms to that described in C99 Annex F.
-
-- Issue #7579: The msvcrt module now has docstrings for all its functions.
-
-- Issue #7413: Passing '\0' as the separator to datetime.datetime.isoformat()
-  used to drop the time part of the result.
-
-- Issue #1811: Improve accuracy and cross-platform consistency for true division
-  of integers: the result of a/b is now correctly rounded for ints a and b (at
-  least on IEEE 754 platforms), and in particular does not depend on the
-  internal representation of a long.
-
-- Issue #6108: ``unicode(exception)`` and ``str(exception)`` should return the
-  same message when only ``__str__()`` (and not ``__unicode__()``) is overridden
-  in the subclass.
-
-- Issue #6834: Replace the implementation for the 'python' and 'pythonw'
-  executables on OSX.
-
-  These executables now work properly with the arch(1) command: ``arch -ppc
-  python`` will start a universal binary version of python in PPC mode (unlike
-  previous releases).
-
-- Issue #1680159: Unicode coercion during an 'in' operation no longer masks the
-  underlying error when the coercion fails for the left hand operand.
-
-- Issue #7491: Metaclass's __cmp__ method was ignored.
-
-- Issue #7466: Segmentation fault when the garbage collector is called in the
-  middle of populating a tuple.  Patch by Florent Xicluna.
-
-Library
--------
-
-- Issue #6963: Added "maxtasksperchild" argument to ``multiprocessing.Pool``,
-  allowing for a maximum number of tasks within the pool to be completed by the
-  worker before that worker is terminated, and a new one created to replace it.
-
-- Issue #7617: Make sure distutils.unixccompiler.UnixCCompiler recognizes gcc
-  when it has a fully qualified configuration prefix.  Initial patch by
-  Arfrever.
-
-- Issue #7092: Remove py3k warning when importing cPickle.  2to3 handles
-  renaming of `cPickle` to `pickle`.  The warning was annoying since there's no
-  alternative to cPickle if you care about performance.  Patch by Florent
-  Xicluna.
-
-- Issue #7455: Fix possible crash in cPickle on invalid input.  Patch by Victor
-  Stinner.
-
-- Issue #7092: Fix the DeprecationWarnings emitted by the standard library when
-  using the -3 flag.  Patch by Florent Xicluna.
-
-- Issue #7471: Improve the performance of GzipFile's buffering mechanism, and
-  make it implement the ``io.BufferedIOBase`` ABC to allow for further speedups
-  by wrapping it in an ``io.BufferedReader``.  Patch by Nir Aides.
-
-- Issue #3972: ``httplib.HTTPConnection`` now accepts an optional source_address
-  parameter to allow specifying where your connections come from.
-
-- ``socket.create_connection()`` now accepts an optional source_address
-  parameter.
-
-- Issue #5511: ``zipfile.ZipFile`` can now be used as a context manager.
-  Initial patch by Brian Curtin.
-
-- Distutils now correctly identifies the build architecture as "x86_64" when
-  building on OSX 10.6 without "-arch" flags.
-
-- Issue #7556: Distutils' msvc9compiler now opens the MSVC Manifest file in text
-  mode.
-
-- Issue #7552: Removed line feed in the base64 Authorization header in the
-  Distutils upload command to avoid an error when PyPI reads it.  This occurs on
-  long passwords.  Initial patch by JP St. Pierre.
-
-- Issue #7231: urllib2 cannot handle https with proxy requiring auth.  Patch by
-  Tatsuhiro Tsujikawa.
-
-- Issue #7349: Make methods of file objects in the io module accept None as an
-  argument where file-like objects (ie StringIO and BytesIO) accept them to mean
-  the same as passing no argument.
-
-- Issue #7348: ``StringIO.StringIO.readline(-1)`` now acts as if it got no
-  argument like other file objects.
-
-- Issue #7357: tarfile no longer suppresses fatal extraction errors by default.
-
-- Issue #7470: logging: Fix bug in Unicode encoding fallback.
-
-- Issue #5949: Fixed IMAP4_SSL hang when the IMAP server response is missing
-  proper end-of-line termination.
-
-- Issue #7457: Added a read_pkg_file method to
-  ``distutils.dist.DistributionMetadata``.
-
-- Issue #3745: Undo the 2.7a1 change to have hashlib to reject unicode and non
-  buffer API supporting objects as input.  That behavior is for 3.x only.
-
-C-API
------
-
-- Issue #7767: New function ``PyLong_AsLongLongAndOverflow()`` added, analogous
-  to ``PyLong_AsLongAndOverflow()``.
-
-- Issue #5080: The argument parsing functions ``PyArg_ParseTuple()``,
-  ``PyArg_ParseTupleAndKeywords()``, ``PyArg_VaParse()``,
-  ``PyArg_VaParseTupleAndKeywords()`` and ``PyArg_Parse()`` no longer accept
-  float arguments for integer format codes (other than 'L'): previously an
-  attempt to pass a float resulted in a DeprecationWarning; now it gives a
-  TypeError.  For the 'L' format code (which previously had no warning) there is
-  now a DeprecationWarning.
-
-- Issue #7033: Function ``PyErr_NewExceptionWithDoc()`` added.
-
-Build
------
-
-- Issue #6491: Allow --with-dbmliborder to specify that no dbms will be built.
-
-- Issue #6943: Use pkg-config to find the libffi headers when the
-  ``--with-system-ffi`` flag is used.
-
-- Issue #7609: Add a ``--with-system-expat`` option that causes the system's
-  expat library to be used for the pyexpat module instead of the one included
-  with Python.
-
-- Issue #7589: Only build the nis module when the correct header files are
-  found.
-
-- Switch to OpenSSL 0.9.8l and sqlite 3.6.21 on Windows.
-
-- Issue #7541: when using ``python-config`` with a framework install the
-  compiler might use the wrong library.
-
-Tests
------
-
-- Issue #7376: Instead of running a self-test (which was failing) when called
-  with no arguments, doctest.py now gives a usage message.
-
-- Issue #7396: Fix regrtest -s, which was broken by the -j enhancement.
-
-- Issue #7498: test_multiprocessing now uses test_support.find_unused_port
-  instead of a hardcoded port number in test_rapid_restart.
-
-
-What's New in Python 2.7 alpha 1
-================================
-
-*Release date: 2009-12-05*
-
-Core and Builtins
------------------
-
-- Issue #7419: ``locale.setlocale()`` could crash the interpreter on Windows
-  when called with invalid values.
-
-- Issue #3382: 'F' formatting for float and complex now convert the result to
-  upper case.  This only affects 'inf' and 'nan', since 'f' no longer converts
-  to 'g' for large values.
-
-- Remove switch from "%f" formatting to "%g" formatting for floats larger than
-  1e50 in absolute value.
-
-- Remove restrictions on precision when formatting floats.  E.g., "%.120g" %
-  1e-100 used to raise OverflowError, but now gives the requested 120
-  significant digits instead.
-
-- Add Py3k warnings for parameter names in parentheses.
-
-- Issue #7362: Give a proper error message for ``def f((x)=3): pass``.
-
-- Issue #7085: Fix crash when importing some extensions in a thread on MacOSX
-  10.6.
-
-- Issue #7117: ``repr(x)`` for a float x returns a result based on the shortest
-  decimal string that's guaranteed to round back to x under correct rounding
-  (with round-half-to-even rounding mode).  Previously it gave a string based on
-  rounding x to 17 decimal digits.  repr(x) for a complex number behaves
-  similarly.  On platforms where the correctly-rounded strtod and dtoa code is
-  not supported (see below), repr is unchanged.
-
-- Issue #7117: On almost all platforms: float-to-string and string-to-float
-  conversions within Python are now correctly rounded.  Places these conversions
-  occur include: str for floats and complex numbers; the float and complex
-  constructors; old-style and new-style numeric formatting; serialization and
-  deserialization of floats and complex numbers using marshal, pickle and json;
-  parsing of float and imaginary literals in Python code; Decimal-to-float
-  conversion.
-
-  The conversions use a Python-adapted version of David Gay's well-known dtoa.c,
-  providing correctly-rounded strtod and dtoa C functions.  This code is
-  supported on Windows, and on Unix-like platforms using gcc, icc or suncc as
-  the C compiler.  There may be a small number of platforms on which correct
-  operation of this code cannot be guaranteed, so the code is not used: notably,
-  this applies to platforms where the C double format is not IEEE 754 binary64,
-  and to platforms on x86 hardware where the x87 FPU is set to 64-bit precision
-  and Python's configure script is unable to determine how to change the FPU
-  precision.  On these platforms conversions use the platform strtod and dtoa,
-  as before.
-
-- Issue #7117: Backport round implementation from Python 3.x.  ``round()`` now
-  uses the correctly-rounded string <-> float conversions described above (when
-  available), and so produces correctly rounded results that will display nicely
-  under the float repr.  There are two related small changes: (1) round now
-  accepts any class with an ``__index__()`` method for its second argument (but
-  no longer accepts floats for the second argument), and (2) an excessively
-  large second integer argument (e.g., ``round(1.234, 10**100)``) no longer
-  raises an exception.
-
-- Issue #1757126: Fix the cyrillic-asian alias for the ptcp154 encoding.
-
-- Fix several issues with ``compile()``.  The input can now contain Windows and
-  Mac newlines and is no longer required to end in a newline.
-
-- Remove length limitation when constructing a complex number from a unicode
-  string.
-
-- Issue #7244: ``itertools.izip_longest()`` no longer ignores exceptions raised
-  during the formation of an output tuple.
-
-- Issue #1087418: Boost performance of bitwise operations for longs.
-
-- Issue #1722344: ``threading._shutdown()`` is now called in ``Py_Finalize()``,
-  which fixes the problem of some exceptions being thrown at shutdown when the
-  interpreter is killed.  Patch by Adam Olsen.
-
-- Issue #7168: Document ``PyFloat_AsString()`` and ``PyFloat_AsReprString()``,
-  and note that they are unsafe and deprecated.
-
-- Issue #7120: logging: Remove import of multiprocessing which is causing crash
-  in GAE.
-
-- Issue #7140: The ``__dict__`` of a module should not be cleared unless the
-  module is the only object holding a reference to it.
-
-- Issue #1754094: Improve the stack depth calculation in the compiler.  There
-  should be no other effect than a small decrease in memory use.  Patch by
-  Christopher Tur Lesniewski-Laas.
-
-- Issue #7084: Fix a (very unlikely) crash when printing a list from one thread,
-  and mutating it from another one.  Patch by Scott Dial.
-
-- Issue #1571184: The Unicode database contains properties for more characters.
-  The tables for code points representing numeric values, white spaces or line
-  breaks are now generated from the official Unicode Character Database files,
-  and include information from the Unihan.txt file.
-
-- Issue #7050: Fix a SystemError when trying to use unpacking and augmented
-  assignment.
-
-- Issue #5329: Fix ``os.popen*`` regression from 2.5 with commands as a sequence
-  running through the shell.  Patch by Jean-Paul Calderone and Jani Hakala.
-
-- Issue #7019: Raise ValueError when unmarshalling bad long data, instead of
-  producing internally inconsistent Python longs.
-
-- Issue #6990: Fix ``threading.local`` subclasses leaving old state around after
-  a reference cycle GC which could be recycled by new locals.
-
-- Issue #6300: unicode.encode, unicode.decode, str.decode, and str.encode now
-  take keyword arguments.
-
-- Issue #6922: Fix an infinite loop when trying to decode an invalid UTF-32
-  stream with a non-raising error handler like "replace" or "ignore".
-
-- Issue #6713: Improve performance of base 10 int -> string and long -> string
-  conversions.
-
-- Issue #1590864: Fix potential deadlock when mixing threads and fork().
-
-- Issue #6844: Do not emit DeprecationWarnings when accessing a "message"
-  attribute on exceptions that was set explicitly.
-
-- Issue #6846: Fix bug where bytearray.pop() returns negative integers.
-
-- ``classmethod()`` no longer checks if its argument is callable.
-
-- Issue #6750: A text file opened with ``io.open()`` could duplicate its output
-  when writing from multiple threads at the same time.
-
-- Issue #6704: Improve the col_offset in AST for "for" statements with a target
-  of tuple unpacking.
-
-- Issue #6707: ``dir()`` on an uninitialized module caused a crash.
-
-- Issue #6540: Fixed crash for ``bytearray.translate()`` with invalid parameters.
-
-- Issue #6573: ``set.union()`` stopped processing inputs if an instance of self
-  occurred in the argument chain.
-
-- Issue #1616979: Added the cp720 (Arabic DOS) encoding.
-
-- Issue #6070: On posix platforms import no longer copies the execute bit from
-  the .py file to the .pyc file if it is set.  Patch by Marco N.
-
-- Issue #4618: When unicode arguments are passed to ``print()``, the default
-  separator and end should be unicode also.
-
-- Issue #6119: Fixed an incorrect Py3k warning about order comparisons of
-  built-in functions and methods.
-
-- Issue #6347: Include inttypes.h as well as stdint.h in pyport.h.  This fixes a
-  build failure on HP-UX: int32_t and uint32_t are defined in inttypes.h instead
-  of stdint.h on that platform.
-
-- Issue #4856: Remove checks for win NT.
-
-- Issue #2016: Fixed a crash in a corner case where the dictionary of keyword
-  arguments could be modified during the function call setup.
-
-- Removed the ipaddr module.
-
-- Issue #6329: Fixed iteration for memoryview objects (it was being blocked
-  because it wasn't recognized as a sequence).
-
-- Issue #6289: Encoding errors from ``compile()`` were being masked.
-
-- When no module is given in a relative import, the module field of the
-  ImportFrom AST node is now None instead of an empty string.
-
-- Assignment to None using import statements now raises a SyntaxError.
-
-- Issue #4547: When debugging a very large function, it was not always possible
-  to update the lineno attribute of the current frame.
-
-- Issue #5330: C functions called with keyword arguments were not reported by
-  the various profiling modules (profile, cProfile).  Patch by Hagen Fürstenau.
-
-- Issue #5982: staticmethod and classmethod now expose the wrapped function with
-  ``__func__``.
-
-- Added support for multiple context managers in the same with-statement.
-  Deprecated ``contextlib.nested()`` which is no longer needed.
-
-- Issue #6101: A new opcode, SETUP_WITH, has been added to speed up the with
-  statement and correctly lookup the __enter__ and __exit__ special methods.
-
-- Issue #5829: complex("1e500") no longer raises OverflowError.  This makes it
-  consistent with float("1e500") and interpretation of real and imaginary
-  literals.
-
-- Issue #3527: Removed Py_WIN_WIDE_FILENAMES which is not used any more.
-
-- ``__instancecheck__()`` and ``__subclasscheck__()`` are now completely ignored
-  on classic classes and instances.
-
-- Issue #5994: The marshal module now has docstrings.
-
-- Issue #5981: Fix three minor inf/nan issues in float.fromhex:
-
-  (1) inf and nan strings with trailing whitespace were incorrectly rejected;
-  (2) parsing of strings representing infinities and nans was locale aware; and
-  (3) the interpretation of fromhex('-nan') didn't match that of float('-nan').
-
-- Issue #5920: For ``float.__format__()``, change the behavior with the empty
-  presentation type (that is, not one of 'e', 'f', 'g', or 'n') to be like 'g'
-  but with at least one decimal point and with a default precision
-  of 12. Previously, the behavior the same but with a default precision of 6.
-  This more closely matches ``str()``, and reduces surprises when adding
-  alignment flags to the empty presentation type. This also affects the new
-  complex.__format__ in the same way.
-
-- Issue #5890: In subclasses of 'property' the __doc__ attribute was shadowed by
-  classtype's, even if it was None.  property now inserts the __doc__ into the
-  subclass instance __dict__.
-
-- Issue #4426: The UTF-7 decoder was too strict and didn't accept some legal
-  sequences.  Patch by Nick Barnes and Victor Stinner.
-
-- Issue #1588: Add complex.__format__. For example, ``format(complex(1, 2./3),
-  '.5')`` now produces a sensible result.
-
-- Issue #5864: Fix empty format code formatting for floats so that it never
-  gives more than the requested number of significant digits.
-
-- Issue #5793: Rationalize isdigit / isalpha / tolower, etc. Includes new
-  Py_ISDIGIT / Py_ISALPHA / Py_TOLOWER, etc. in pctypes.h.
-
-- Issue #4971: Fix titlecase for characters that are their own titlecase, but
-  not their own uppercase.
-
-- Issue #5835: Deprecate PyOS_ascii_formatd and replace it with
-  _PyOS_double_to_string or PyOS_double_to_string.
-
-- Issue #5283: Setting __class__ in __del__ caused a segfault.
-
-- Issue #5816: ``complex(repr(z))`` now recovers z exactly, even when z involves
-  nans, infs or negative zeros.
-
-- Implement PEP 378, Format Specifier for Thousands Separator, for floats, ints,
-  and longs.
-
-- Issue #5515: 'n' formatting for ints, longs, and floats handles leading zero
-  formatting poorly.
-
-- Issue #5772: For float.__format__, don't add a trailing ".0" if we're using no
-  type code and we have an exponent.
-
-- Issue #3166: Make long -> float (and int -> float) conversions correctly
-  rounded.
-
-- Issue #5787: ``object.__getattribute__(some_type, "__bases__")`` segfaulted on
-  some built-in types.
-
-- Issue #1869: Fix a couple of minor round() issues.  ``round(5e15+1)`` was
-  giving 5e15+2; ``round(-0.0)`` was losing the sign of the zero.
-
-- Issue #5759: float() didn't call __float__ on str subclasses.
-
-- Issue #5704: The "-3" command-line option now implies "-t".
-
-- Issue #2170: Refactored ``xml.dom.minidom.normalize``, increasing both its
-  clarity and its speed.
-
-- Issue #2396: The memoryview object was backported from Python 3.1.
-
-- Fix a problem in PyErr_NormalizeException that leads to "undetected errors"
-  when hitting the recursion limit under certain circumstances.
-
-- Issue #1665206: Remove the last eager import in _warnings.c and make it lazy.
-
-- Issue #4865: On MacOSX /Library/Python/2.7/site-packages is added to the end
-  sys.path, for compatibility with the system install of Python.
-
-- Issue #4688: Add a heuristic so that tuples and dicts containing only
-  untrackable objects are not tracked by the garbage collector. This can reduce
-  the size of collections and therefore the garbage collection overhead on
-  long-running programs, depending on their particular use of datatypes.
-
-- Issue #5512: Rewrite PyLong long division algorithm (x_divrem) to improve its
-  performance.  Long divisions and remainder operations are now between 50% and
-  150% faster.
-
-- Issue #4258: Make it possible to use base 2**30 instead of base 2**15 for the
-  internal representation of integers, for performance reasons.  Base 2**30 is
-  enabled by default on 64-bit machines.  Add --enable-big-digits option to
-  configure, which overrides the default.  Add sys.long_info structseq to
-  provide information about the internal format.
-
-- Issue #4034: Fix weird attribute error messages of the traceback object. (As a
-  result traceback.__members__ no longer exists.)
-
-- Issue #4474: PyUnicode_FromWideChar now converts characters outside the BMP to
-  surrogate pairs, on systems with sizeof(wchar_t) == 4 and sizeof(Py_UNICODE)
-  == 2.
-
-- Issue #5237: Allow auto-numbered fields in str.format(). For example: ``'{}
-  {}'.format(1, 2) == '1 2'``.
-
-- Issue #3652: Make the 'line' argument for ``warnings.showwarning()`` a
-  requirement.  Means the DeprecationWarning from Python 2.6 can go away.
-
-- Issue #5247: Improve error message when unknown format codes are used when
-  using ``str.format()`` with str, unicode, long, int, and float arguments.
-
-- Running Python with the -3 option now also warns about classic division for
-  ints and longs.
-
-- Issue #5260: Long integers now consume less memory: average saving is 2 bytes
-  per long on a 32-bit system and 6 bytes per long on a 64-bit system.
-
-- Issue #5186: Reduce hash collisions for objects with no __hash__ method by
-  rotating the object pointer by 4 bits to the right.
-
-- Issue #4575: Fix Py_IS_INFINITY macro to work correctly on x87 FPUs: it now
-  forces its argument to double before testing for infinity.
-
-- Issue #4978: Passing keyword arguments as unicode strings is now allowed.
-
-- Issue #1242657: the __len__() and __length_hint__() calls in several tools
-  were suppressing all exceptions.  These include list(), filter(), map(),
-  zip(), and bytearray().
-
-- os.ftruncate raises OSErrors instead of IOErrors for consistency with other os
-  functions.
-
-- Issue #4991: Passing invalid file descriptors to io.FileIO now raises an
-  OSError.
-
-- Issue #4807: Port the _winreg module to Windows CE.
-
-- Issue #4935: The overflow checking code in the expandtabs() method common to
-  str, bytes and bytearray could be optimized away by the compiler, letting the
-  interpreter segfault instead of raising an error.
-
-- Issue #3720: Fix a crash when an iterator modifies its class and removes its
-  __next__ method.
-
-- Issue #4893: Use NT threading on CE.
-
-- Issue #4915: Port sysmodule to Windows CE.
-
-- Issue #4074: Change the criteria for doing a full garbage collection (i.e.
-  collecting the oldest generation) so that allocating lots of objects without
-  destroying them does not show quadratic performance. Based on a proposal by
-  Martin von Löwis at
-  http://mail.python.org/pipermail/python-dev/2008-June/080579.html.
-
-- Issue #4850: Change COUNT_ALLOCS variables to Py_ssize_t.
-
-- Issue #1180193: When importing a module from a .pyc (or .pyo) file with an
-  existing .py counterpart, override the co_filename attributes of all code
-  objects if the original filename is obsolete (which can happen if the file has
-  been renamed, moved, or if it is accessed through different paths).  Patch by
-  Ziga Seilnacht and Jean-Paul Calderone.
-
-- Issue #4075: Use ``OutputDebugStringW()`` in Py_FatalError.
-
-- Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
-  file with `str' filename on Windows.
-
-- Issue #3680: Reference cycles created through a dict, set or deque iterator
-  did not get collected.
-
-- Issue #4701: PyObject_Hash now implicitly calls PyType_Ready on types where
-  the tp_hash and tp_dict slots are both NULL.
-
-- Issue #4764: With io.open, IOError.filename is set when trying to open a
-  directory on POSIX systems.
-
-- Issue #4764: IOError.filename is set when trying to open a directory on POSIX
-  systems.
-
-- Issue #4759: None is now allowed as the first argument of
-  ``bytearray.translate()``.  It was always allowed for ``bytes.translate()``.
-
-- Added test case to ensure attempts to read from a file opened for writing
-  fail.
-
-- Issue #2467: gc.DEBUG_STATS reported invalid elapsed times. Also, always print
-  elapsed times, not only when some objects are uncollectable/unreachable.
-  Original patch by Neil Schemenauer.
-
-- Issue #3439: Add a bit_length method to int and long.
-
-- Issue #2183: Simplify and optimize bytecode for list comprehensions.  Original
-  patch by Neal Norwitz.
-
-- Issue #4597: Fixed exception handling when the __exit__ function of a context
-  manager returns a value that cannot be converted to a bool.
-
-- Issue #4597: Fixed several opcodes that weren't always propagating exceptions.
-
-- Issue #4445: Replace ``sizeof(PyStringObject)`` with
-  ``offsetof(PyStringObject, ob_sval) + 1`` when allocating memory for str
-  instances.  On a typical machine this saves 3 bytes of memory (on average) per
-  string allocation.
-
-- Issue #3996: On Windows, the PyOS_CheckStack function would cause the
-  interpreter to abort ("Fatal Python error: Could not reset the stack!")
-  instead of throwing a MemoryError.
-
-- Issue #3689: The list reversed iterator now supports __length_hint__ instead
-  of __len__.  Behavior now matches other reversed iterators.
-
-- Issue #4367: Python would segfault during compiling when the unicodedata
-  module couldn't be imported and \N escapes were present.
-
-- Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()`` method on
-  file objects with closefd=False. The file descriptor is still kept open but
-  the file object behaves like a closed file. The ``FileIO`` object also got a
-  new readonly attribute ``closefd``.
-
-- Issue #4348: Some bytearray methods returned that didn't cause any change to
-  the bytearray, returned the same bytearray instead of a copy.
-
-- Issue #4317: Fixed a crash in the ``imageop.rgb2rgb8()`` function.
-
-- Issue #4230: If ``__getattr__`` is a descriptor, it now functions correctly.
-
-- Issue #4048: The parser module now correctly validates relative imports.
-
-- Issue #4225: ``from __future__ import unicode_literals`` didn't work in an
-  exec statement.
-
-- Issue #4176: Fixed a crash when pickling an object which ``__reduce__`` method
-  does not return iterators for the 4th and 5th items.
-
-- Issue #4209: Enabling unicode_literals and the print_function in the same
-  __future__ import didn't work.
-
-- Using ``nonlocal`` as a variable name will now raise a Py3k SyntaxWarning
-  because it is a reserved word in 3.x.
-
-- On windows, ``os.chdir()`` given unicode was not working if
-  GetCurrentDirectoryW returned a path longer than MAX_PATH. (But It's doubtful
-  this code path is really executed because I cannot move to such directory on
-  win2k)
-
-- Issue #4069: When ``set.remove(element)`` is used with a set element, the
-  element is temporarily replaced with an equivalent frozenset.  But the
-  eventual KeyError would always report the empty ``frozenset()`` as the missing
-  key.  Now it correctly refers to the initial element.
-
-- Issue #4509: Various issues surrounding resize of bytearray objects to which
-  there are buffer exports.
-
-- Issue #4748: Lambda generators no longer return a value.
-
-- Issue #3582: Use native TLS functions on Windows
-
-- The re.sub(), re.subn() and re.split() functions now accept a flags parameter.
-
-- Issue #3845: In PyRun_SimpleFileExFlags avoid invalid memory access with short
-  file names.
-
-- Issue #1113244: Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)'
-  to avoid compiler warnings.
-
-- Issue #5705: os.setuid() would not accept values > 2**31-1 but pwd.getpwnam()
-  returned them on 64bit platforms.
-
-- Issue #5108: Handle %s like %S and %R in PyUnicode_FromFormatV(): Call
-  PyUnicode_DecodeUTF8() once, remember the result and output it in a second
-  step. This avoids problems with counting UTF-8 bytes that ignores the effect
-  of using the replace error handler in PyUnicode_DecodeUTF8().
-
-- Issue #3739: The unicode-internal encoder now reports the number of characters
-  consumed like any other encoder (instead of the number of bytes).
-
-- Issue #2422: When compiled with the ``--with-valgrind`` option, the pymalloc
-  allocator will be automatically disabled when running under Valgrind.  This
-  gives improved memory leak detection when running under Valgrind, while taking
-  advantage of pymalloc at other times.
-
-Library
--------
-
-- Add count() and reverse() methods to collections.deque().
-
-- Fix variations of extending deques:  d.extend(d)  d.extendleft(d)  d+=d
-
-- Issue #6986: Fix crash in the JSON C accelerator when called with the wrong
-  parameter types.  Patch by Victor Stinner.
-
-- logging: Added optional "secure" parameter to SMTPHandler, to enable use of
-  TLS with authentication credentials.
-
-- Issue #1923: Fixed the removal of meaningful spaces when PKG-INFO is generated
-  in Distutils. Patch by Stephen Emslie.
-
-- Issue #4120: Drop reference to CRT from manifest when building extensions with
-  msvc9compiler.
-
-- Issue #7333: The ``posix`` module gains an ``initgroups()`` function providing
-  access to the initgroups(3) C library call on Unix systems which implement it.
-  Patch by Jean-Paul Calderone.
-
-- Issue #7408: Fixed distutils.tests.sdist so it doesn't check for group
-  ownership when the group is not forced, because the group may be different
-  from the user's group and inherit from its container when the test is run.
-
-- Issue #1515: Enable use of deepcopy() with instance methods.  Patch by Robert
-  Collins.
-
-- Issue #7403: logging: Fixed possible race condition in lock creation.
-
-- Issue #6845: Add restart support for binary upload in ftplib.  The
-  ``storbinary()`` method of FTP and FTP_TLS objects gains an optional "rest"
-  argument.  Patch by Pablo Mouzo.
-
-- Issue #5788: ``datetime.timedelta`` objects get a new ``total_seconds()``
-  method returning the total number of seconds in the duration.  Patch by Brian
-  Quinlan.
-
-- Issue #6615: logging: Used weakrefs in internal handler list.
-
-- Issue #1488943: ``difflib.Differ`` doesn't always add hints for tab
-  characters.
-
-- Issue #6123: tarfile now opens empty archives correctly and consistently
-  raises ReadError on empty files.
-
-- Issue #7354: distutils.tests.test_msvc9compiler - dragfullwindows can be 2.
-
-- Issue #5037: Proxy the __unicode__ special method to __unicode__ instead of
-  __str__.
-
-- Issue #7341: Close the internal file object in the TarFile constructor in case
-  of an error.
-
-- Issue #7293: ``distutils.test_msvc9compiler`` is fixed to work on any fresh
-  Windows box.  Help provided by David Bolen.
-
-- Issue #7328: pydoc no longer corrupts sys.path when run with the '-m' switch.
-
-- Issue #2054: ftplib now provides an FTP_TLS class to do secure FTP using TLS
-  or SSL.  Patch by Giampaolo Rodola'.
-
-- Issue #4969: The mimetypes module now reads the MIME database from the
-  registry under Windows.  Patch by Gabriel Genellina.
-
-- Issue #6816: runpy now provides a run_path function that allows Python code to
-  execute file paths that refer to source or compiled Python files as well as
-  zipfiles, directories and other valid sys.path entries that contain a
-  __main__.py file. This allows applications that run other Python scripts to
-  support the same flexibility as the CPython command line itself.
-
-- Issue #7318: multiprocessing now uses a timeout when it fails to establish a
-  connection with another process, rather than looping endlessly. The default
-  timeout is 20 seconds, which should be amply sufficient for local connections.
-
-- Issue #7197: Allow unittest.TextTestRunner objects to be pickled and
-  unpickled.  This fixes crashes under Windows when trying to run
-  test_multiprocessing in verbose mode.
-
-- Issue #7282: Fix a memory leak when an RLock was used in a thread other than
-  those started through ``threading.Thread`` (for example, using
-  ``thread.start_new_thread()``.
-
-- Issue #7264: Fix a possible deadlock when deallocating thread-local objects
-  which are part of a reference cycle.
-
-- Issue #7211: Allow 64-bit values for the ``ident`` and ``data`` fields of
-  kevent objects on 64-bit systems.  Patch by Michael Broghton.
-
-- Issue #6896: ``mailbox.Maildir`` now invalidates its internal cache each time
-  a modification is done through it.  This fixes inconsistencies and test
-  failures on systems with slightly bogus mtime behaviour.
-
-- Issue #7246 & Issue #7208: getpass now properly flushes input before reading
-  from stdin so that existing input does not confuse it and lead to incorrect
-  entry or an IOError.  It also properly flushes it afterwards to avoid the
-  terminal echoing the input afterwards on OSes such as Solaris.
-
-- Issue #7233: Fix a number of two-argument Decimal methods to make sure that
-  they accept an int or long as the second argument.  Also fix buggy handling of
-  large arguments (those with coefficient longer than the current precision) in
-  shift and rotate.
-
-- Issue #4750: Store the basename of the original filename in the gzip FNAME
-  header as required by RFC 1952.
-
-- Issue #1180: Added a new global option to ignore ~/.pydistutils.cfg in
-  Distutils.
-
-- Issue #7218: Fix test_site for win32, the directory comparison was done with
-  an uppercase.
-
-- Issue #7205: Fix a possible deadlock when using a BZ2File object from several
-  threads at once.
-
-- Issue #7071: byte-compilation in Distutils is now done with respect to
-  sys.dont_write_bytecode.
-
-- Issue #7066: archive_util.make_archive now restores the cwd if an error is
-  raised. Initial patch by Ezio Melotti.
-
-- Issue #6218: io.StringIO and io.BytesIO instances are now picklable with
-  protocol 2.
-
-- Issue #7077: logging: SysLogHandler now treats Unicode as per RFC 5424.
-
-- Issue #7099: Decimal.is_normal now returns True for numbers with exponent
-  larger than emax.
-
-- Issue #5833: Fix extra space character in readline completion with the GNU
-  readline library version 6.0.
-
-- Issue #7133: SSL objects now support the new buffer API.
-
-- Issue #7149: urllib fails on OSX in the proxy detection code.
-
-- Issue #7069: Make inspect.isabstract() return a boolean.
-
-- Add support to the ``ihooks`` module for relative imports.
-
-- Issue #6894: Fixed the issue urllib2 doesn't respect "no_proxy" environment.
-
-- Issue #7086: Added TCP support to SysLogHandler, and tidied up some
-  anachronisms in the code which were a relic of 1.5.2 compatibility.
-
-- Issue #7082: When falling back to the MIME 'name' parameter, the correct place
-  to look for it is the Content-Type header.
-
-- Issue #7048: Force Decimal.logb to round its result when that result is too
-  large to fit in the current precision.
-
-- Issue #6516: Added owner/group support when creating tar archives in
-  Distutils.
-
-- Issue #7031: Add ``TestCase.assert(Not)IsInstance()`` methods.
-
-- Issue #6790: Make it possible again to pass an ``array.array`` to
-  ``httplib.HTTPConnection.send``.  Patch by Kirk McDonald.
-
-- Issue #6236, #6348: Fix various failures in the `io` module under AIX and
-  other platforms, when using a non-gcc compiler.  Patch by egreen.
-
-- Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils.
-
-- Issue #6851: Fix urllib.urlopen crash on secondairy threads on OSX 10.6
-
-- Issue #4606: Passing 'None' if ctypes argtype is set to POINTER(...) does now
-  always result in NULL.
-
-- Issue #5042: ctypes Structure sub-subclass does now initialize correctly with
-  base class positional arguments.
-
-- Issue #6938: Fix a TypeError in string formatting of a multiprocessing debug
-  message.
-
-- Issue #6635: Fix profiler printing usage message.
-
-- Issue #6856: Add a filter keyword argument to TarFile.add().
-
-- Issue #6163: Fixed HP-UX runtime library dir options in
-  distutils.unixcompiler.  Initial patch by Sridhar Ratnakumar and Michael
-  Haubenwallner.
-
-- Issue #6857: Default format() alignment should be '>' for Decimal instances.
-
-- Issue #6795: int(Decimal('nan')) now raises ValueError instead of returning
-  NaN or raising InvalidContext.  Also, fix infinite recursion in
-  long(Decimal('nan')).
-
-- Issue #6850: Fix bug in Decimal._parse_format_specifier for formats with no
-  type specifier.
-
-- Issue #4937: plat-mac/bundlebuilder refers to non-existing version.plist.
-
-- Issue #6838: Use a list to accumulate the value instead of repeatedly
-  concatenating strings in httplib's HTTPResponse._read_chunked providing a
-  significant speed increase when downloading large files servend with a
-  Transfer-Encoding of 'chunked'.
-
-- Issue #5275: In Cookie's Cookie.load(), properly handle non-string arguments
-  as documented.
-
-- Issue #2666: Handle BROWSER environment variable properly for unknown browser
-  names in the webbrowser module.
-
-- Issue #6054: Do not normalize stored pathnames in tarfile.
-
-- Issue #6794: Fix Decimal.compare_total and Decimal.compare_total_mag: NaN
-  payloads are now ordered by integer value rather than lexicographically.
-
-- Issue #6693: New functions in site.py to get user/global site packages paths.
-
-- The thread.lock type now supports weak references.
-
-- Issue #1356969: Add missing info methods in Tix.HList.
-
-- Issue #1522587: New constants and methods for the Tix.Grid widget.
-
-- Issue #1250469: Fix the return value of Tix.PanedWindow.panes.
-
-- Issue #1119673: Do not override Tkinter.Text methods when creating a
-  ScrolledText.
-
-- Issue #6665: Fix fnmatch to properly match filenames with newlines in them.
-
-- Issue #1135: Add the XView and YView mix-ins to avoid duplicating the xview*
-  and yview* methods.
-
-- Issue #6629: Fix a data corruption issue in the new `io` package, which could
-  occur when writing to a BufferedRandom object (e.g. a file opened in "rb+" or
-  "wb+" mode) after having buffered a certain amount of data for reading. This
-  bug was not present in the pure Python implementation.
-
-- Issue #4660: If a multiprocessing.JoinableQueue.put() was preempted, it was
-  possible to get a spurious 'task_done() called too many times' error.
-
-- Issue #1628205: Socket file objects returned by socket.socket.makefile() now
-  properly handles EINTR within the read, readline, write & flush methods.  The
-  socket.sendall() method now properly handles interrupted system calls.
-
-- Issue #6595: The Decimal constructor now allows arbitrary Unicode decimal
-  digits in input, as recommended by the standard.  Previously it was restricted
-  to accepting [0-9].
-
-- Issue #6511: ZipFile now raises BadZipfile (instead of an IOError) when
-  opening an empty or very small file.
-
-- Issue #6553: Fixed a crash in cPickle.load(), when given a file-like object
-  containing incomplete data.
-
-- Issue #6545: Removed assert statements in distutils.Extension, so the behavior
-  is similar when used with -O.
-
-- unittest has been split up into a package.  All old names should still work.
-
-- Issue #6431: Make Fraction type return NotImplemented when it doesn't know how
-  to handle a comparison without loss of precision.  Also add correct handling
-  of infinities and nans for comparisons with float.
-
-- Issue #6415: Fixed warnings.warn segfault on bad formatted string.
-
-- Issue #6466: Now distutils.cygwinccompiler and distutils.emxccompiler uses the
-  same refactored function to get gcc/ld/dllwrap versions numbers.  It's
-  ``distutils.util.get_compiler_versions()``.  Added deprecation warnings for
-  the obsolete get_versions() functions.
-
-- Issue #6433: Fixed issues with multiprocessing.pool.map hanging on empty list.
-
-- Issue #6314: logging: Extra checks on the "level" argument in more places.
-
-- Issue #2622: Fixed an ImportError when importing email.messsage from a
-  standalone application built with py2exe or py2app.
-
-- Issue #6455: Fixed test_build_ext under win32.
-
-- Issue #6377: Enabled the compiler option, and deprecate its usage as an
-  attribute.
-
-- Issue #6413: Fixed the log level in distutils.dist for announce.
-
-- Issue #3392: The subprocess communicate() method no longer fails in select()
-  when file descriptors are large; communicate() now uses poll() when possible.
-
-- Issue #6403: Fixed package path usage in build_ext.
-
-- Issues #5155, #5313, #5331: multiprocessing.Process._bootstrap was
-  unconditionally calling "os.close(sys.stdin.fileno())" resulting in file
-  descriptor errors.
-
-- Issue #6365: Distutils build_ext inplace mode was copying the compiled
-  extension in a subdirectory if the extension name had dots.
-
-- Issue #6344: Fixed a crash of mmap.read() when passed a negative argument.
-
-- Issue #5230: pydoc would report no documentation found if a module generated a
-  'not found' import error when loaded; it now reports the import errors.
-  Thanks to Lucas Prado Melo for initial fix and collaboration on the tests.
-
-- Issue #6314: ``logging.basicConfig()`` performs extra checks on the "level"
-  argument.
-
-- Issue #6164: Added an AIX specific linker argument in Distutils unixcompiler.
-  Original patch by Sridhar Ratnakumar.
-
-- Issue #6274: Fixed possible file descriptors leak in subprocess.py.
-
-- Issue #6189: Restored compatibility of subprocess.py with Python 2.2.
-
-- Issue #6287: Added the license field in Distutils documentation.
-
-- Issue #6286: Now Distutils upload command is based on urllib2 instead of
-  httplib, allowing the usage of http_proxy.
-
-- Issue #6271: mmap tried to close invalid file handle (-1) for anonymous maps
-  on Unix.
-
-- Issue #6215: All bug fixes and enhancements from the Python 3.1 io library
-  (including the fast C implementation) have been backported to the standard
-  ``io`` module.
-
-- Issue #6258: Support AMD64 in bdist_msi.
-
-- Issue #6252: Fixed bug in next rollover time computation in
-  TimedRotatingFileHandler.
-
-- Issue #6263: Fixed syntax error in distutils.cygwincompiler.
-
-- Issue #5201: distutils.sysconfig.parse_makefile() now understands ``$$`` in
-  Makefiles.  This prevents compile errors when using syntax like:
-  ``LDFLAGS='-rpath=\$$LIB:/some/other/path'``.  Patch by Floris Bruynooghe.
-
-- Issue #5767: Removed sgmlop support from xmlrpclib.
-
-- Issue #6131: test_modulefinder leaked when run after test_distutils.  Patch by
-  Hirokazu Yamamoto.
-
-- Issue #6048: Now Distutils uses the tarfile module in archive_util.
-
-- Issue #6121: pydoc now ignores leading and trailing spaces in the argument to
-  the 'help' function.
-
-- In unittest, using a skipping decorator on a class is now equivalent to
-  skipping every test on the class.  The ClassTestSuite class has been removed.
-
-- Issue #6050: Don't fail extracting a directory from a zipfile if the directory
-  already exists.
-
-- Issue #5311: bdist_msi can now build packages that do not depend on a specific
-  Python version.
-
-- Issue #1309352: fcntl now converts its third arguments to a C `long` rather
-  than an int, which makes some operations possible under 64-bit Linux (e.g.
-  DN_MULTISHOT with F_NOTIFY).
-
-- Issue #1424152: Fix for httplib, urllib2 to support SSL while working through
-  proxy. Original patch by Christopher Li, changes made by Senthil Kumaran.
-
-- Issue #1983: Fix functions taking or returning a process identifier to use the
-  dedicated C type ``pid_t`` instead of a C ``int``.  Some platforms have a
-  process identifier type wider than the standard C integer type.
-
-- Issue #4066: smtplib.SMTP_SSL._get_socket now correctly returns the socket.
-  Patch by Farhan Ahmad, test by Marcin Bachry.
-
-- Issue #6062: In distutils, fixed the package option of build_ext.  Feedback
-  and tests on pywin32 by Tim Golden.
-
-- Issue #6053: Fixed distutils tests on win32.  Patch by Hirokazu Yamamoto.
-
-- Issue #6046: Fixed the library extension when distutils build_ext is used in
-  place.  Initial patch by Roumen Petrov.
-
-- Issue #6041: Now distutils `sdist` and `register` commands use `check` as a
-  subcommand.
-
-- Issue #2116: Weak references and weak dictionaries now support copy()ing and
-  deepcopy()ing.
-
-- Issue #1655: Make imaplib IPv6-capable.  Patch by Derek Morr.
-
-- Issue #5918: Fix a crash in the parser module.
-
-- Issue #1664: Make nntplib IPv6-capable.  Patch by Derek Morr.
-
-- Issue #6022: A test file was created in the current working directory by
-  test_get_outputs in Distutils.
-
-- Issue #4050: inspect.findsource/getsource now raise an IOError if the 'source'
-  file is a binary.  Patch by Brodie Rao, tests by Daniel Diniz.
-
-- Issue #5977: distutils build_ext.get_outputs was not taking into account the
-  inplace option.  Initial patch by kxroberto.
-
-- Issue #5984: distutils.command.build_ext.check_extensions_list checks were
-  broken for old-style extensions.
-
-- Issue #5971: StreamHandler.handleError now swallows IOErrors which occur when
-  trying to print a traceback.
-
-- Issue #5976: Fixed Distutils test_check_environ.
-
-- Issue #5900: Ensure RUNPATH is added to extension modules with RPATH if GNU ld
-  is used.  Original patch by Floris Bruynooghe.
-
-- Issue #5941: Distutils build_clib command was not working anymore because of
-  an incomplete customization of the archiver command.  Added ARFLAGS in the
-  Makefile besides AR and make Distutils use it.  Original patch by David
-  Cournapeau.
-
-- Issue #5955: aifc's close method did not close the file it wrapped, now it
-  does.  This also means getfp method now returns the real fp.
-
-- Issue #4875: On win32, ctypes.util.find_library does no longer return
-  directories.
-
-- Issue #5142: Add the ability to skip modules while stepping to pdb.
-
-- Issue #1309567: Fix linecache behavior of stripping subdirectories when
-  looking for files given by a relative filename.
-
-- Issue #5692: In ``zipfile.Zipfile``, fix wrong path calculation when
-  extracting a file to the root directory.
-
-- Issue #5913: ``os.listdir()`` should fail for empty path on windows.
-
-- Issue #5084: Unpickling now interns the attribute names of pickled objects,
-  saving memory and avoiding growth in size of subsequent pickles.  Proposal and
-  original patch by Jake McGuire.
-
-- Issue #3002: ``shutil.copyfile()`` and ``shutil.copytree()`` now raise an
-  error when a named pipe is encountered, rather than blocking infinitely.
-
-- Issue #3959: The ipaddr module has been added to the standard library.
-  Contributed by Google.
-
-- Issue #2245: aifc now skips chunk types it doesn't recognize, per spec.
-
-- Issue #5874: distutils.tests.test_config_cmd is not locale-sensitive anymore.
-
-- Issue #4305: ctypes should now build again on mipsel-linux-gnu
-
-- Issue #1734234: Massively speedup ``unicodedata.normalize()`` when the string
-  is already in normalized form, by performing a quick check beforehand.
-  Original patch by Rauli Ruohonen.
-
-- Issue #5853: Calling a function of the mimetypes module from several threads
-  at once could hit the recursion limit if the mimetypes database hadn't been
-  initialized before.
-
-- Issue #5854: Updated __all__ to include some missing names and remove some
-  names which should not be exported.
-
-- Issue #5810: Fixed Distutils test_build_scripts so it uses
-  ``sysconfig.get_config_vars()``.
-
-- Issue #4951: Fixed failure in test_httpservers.
-
-- Issue #3102: All global symbols that the _ctypes extension defines are now
-  prefixed with 'Py' or '_ctypes'.
-
-- Issue #5041: ctypes does now allow pickling wide character.
-
-- Issue #5812: For the two-argument form of the Fraction constructor,
-  ``Fraction(m, n)``, m and n are permitted to be arbitrary Rational instances.
-
-- Issue #5812: Fraction('1e6') is valid: more generally, any string that's valid
-  for float() is now valid for Fraction(), with the exception of strings
-  representing NaNs and infinities.
-
-- Issue #5795: Fixed test_distutils failure on Debian ppc.
-
-- Issue #5768: Fixed bug in Unicode output logic and test case for same.
-
-- Issue #1161031: Fix readwrite select flag handling: POLLPRI now results in a
-  handle_expt_event call, not handle_read_event, and POLLERR and POLLNVAL now
-  call handle_close, not handle_expt_event.  Also, dispatcher now has an
-  'ignore_log_types' attribute for suppressing log messages, which is set to
-  'warning' by default.
-
-- Issue #5607: Fixed Distutils test_get_platform for Mac OS X fat binaries.
-
-- Issue #5741: Don't disallow "%%" (which is an escape for "%") when setting a
-  value in SafeConfigParser.
-
-- Issue #5732: Added a new command in Distutils: check.
-
-- Issue #5731: Distutils bdist_wininst no longer worked on non-Windows
-  platforms.  Initial patch by Paul Moore.
-
-- Issue #2254: Fix CGIHTTPServer information disclosure.  Relative paths are now
-  collapsed within the url properly before looking in cgi_directories.
-
-- Issue #5095: Added bdist_msi to the list of bdist supported formats.  Initial
-  fix by Steven Bethard.
-
-- Issue #1491431: Fixed distutils.filelist.glob_to_re for edge cases.  Initial
-  fix by Wayne Davison.
-
-- Issue #5693: TestSuite.__iter__ can now be consistently overridden in
-  subclasses.
-
-- Issue #5694: Removed spurious test output in Distutils (test_clean).
-
-- Issue #5471: Fix os.path.expanduser() for $HOME set to '/'.
-
-- Issue #1326077: Fix the formatting of SyntaxErrors by the traceback module.
-
-- Issue #1726172: Fix IndexError in the case of and empty response in ftplib.
-
-- Issue #2625: Added missing iteritems() call to the for loop in
-  mailbox.MH.get_message().
-
-- Issue #5585: Add the ability to call an initializer to
-  multiprocessing.manager so that users can install custom handlers/etc.
-
-- Issue #3551: Patch multiprocessing to raise a proper exception if the size of
-  the object when writefile is called causes an ERROR_NO_SYSTEM_RESOURCES.  Added
-  docs to note the limitation.
-
-- unittest.assertNotEqual() now uses the inequality operator (!=) instead of the
-  equality operator.
-
-- Issue #6001: Test discovery for unittest. Implemented in
-  unittest.TestLoader.discover and from the command line.
-
-- Issue #5679: The methods unittest.TestCase.addCleanup and doCleanups were
-  added.  addCleanup allows you to add cleanup functions that will be called
-  unconditionally (after setUp if setUp fails, otherwise after tearDown). This
-  allows for much simpler resource allocation and deallocation during tests.
-
-- Issue #3379: unittest.main now takes an optional exit argument. If False main
-  doesn't call sys.exit allowing it to be used from the interactive interpreter.
-
-- Issue #5995: unittest.main now takes an optional verbosity argument allowing
-  test modules to be run with a higher than default verbosity.
-
-- Issue #5995: A fix to allow you to run "python -m unittest test_module" or
-  "python -m unittest test_module.TestClass" from the command line.
-
-- Issue #5728: unittest.TestResult has new startTestRun and stopTestRun methods;
-  called immediately before and after a test run.
-
-- Issue #5663: Better failure messages for unittest asserts. Default assertTrue
-  and assertFalse messages are now useful. TestCase has a longMessage attribute.
-  This defaults to False, but if set to True useful error messages are shown in
-  addition to explicit messages passed to assert methods.
-
-- Issue #3110: Add additional protect around SEM_VALUE_MAX for multiprocessing.
-
-- In Pdb, prevent the reassignment of __builtin__._ by sys.displayhook on
-  printing out values.
-
-- Issue #4572: Added SEEK_* symbolic constants to io module.
-
-- Issue #1665206 (partially): Move imports in cgitb to the top of the module
-  instead of performing them in functions. Helps prevent import deadlocking in
-  threads.
-
-- Issue #5647: MutableSet.__iand__() no longer mutates self during iteration.
-
-- Actually make the SimpleXMLRPCServer CGI handler work.
-
-- Issue #2522: locale.format() now checks its first argument to ensure it has
-  been passed only one pattern, avoiding mysterious errors where it appeared
-  that it was failing to do localization.
-
-- Issue #5583: Added optional extensions in Distutils.  Initial patch by Georg
-  Brandl.
-
-- Issue #5619: Multiprocessing children disobey the debug flag and causes popups
-  on windows buildbots.  Patch applied to work around this issue.
-
-- Issue #5632: Thread.ident was None for the main thread and threads not created
-  with the threading module.
-
-- Issue #5400: Added patch for multiprocessing on netbsd compilation/support.
-
-- Issue #5387: Fixed mmap.move crash by integer overflow.
-
-- Issue #5261: Patch multiprocessing's semaphore.c to support context manager
-  use: "with multiprocessing.Lock()" works now.
-
-- Issue #5177: Multiprocessing's SocketListener class now uses
-  socket.SO_REUSEADDR on all connections so that the user no longer needs to
-  wait 120 seconds for the socket to expire.
-
-- Adjusted _tkinter to compile without warnings when WITH_THREAD is not defined
-  (part of issue #5035).
-
-- Issue #5561: Removed the sys.version_info shortcuts from platform's
-  python_version() and python_version_tuple() since they produced different
-  output compared to previous Python versions.
-
-- Issue #1034053: unittest now supports skipping tests and expected failures.
-
-- The unittest.TestCase.assertRaises() method now returns a context manager when
-  not given a callable so that code to be tested can be written inline using a
-  with statement.
-
-- Issue #2578: The unittest.TestCase.assertEqual() now displays the differences
-  in lists, tuples, dicts and sets on failure.  Many new handy type and
-  comparison specific assert* methods have been added that fail with error
-  messages actually useful for debugging.  Contributed in part by Google.
-
-- Issue #5068: Fixed the tarfile._BZ2Proxy.read() method that would loop forever
-  on incomplete input.  That caused tarfile.open() to hang when used with mode
-  'r' or 'r:bz2' and a fileobj argument that contained no data or partial bzip2
-  compressed data.
-
-- Issue #5536: urllib.urlretrieve makes sure to close the file it's writing to
-  even if an exception occurs.
-
-- Issue #5381: Added object_pairs_hook to the json module.  This allows
-  OrderedDicts to be built by the decoder.
-
-- Issue #2110: Add support for thousands separator and 'n' type specifier to
-  ``Decimal.__format__()``.
-
-- Fix Decimal.__format__ bug that swapped the meanings of the '<' and '>'
-  alignment characters.
-
-- Issue #1222: ``locale.format()`` bug when the thousands separator is a space
-  character.
-
-- Issue #5472: Fixed distutils.test_util tear down. Original patch by Tim
-  Golden.
-
-- collections.deque objects now have a read-only attribute called maxlen.
-
-- Issue #2638: Show a window constructed with tkSimpleDialog.Dialog only after
-  it is has been populated and properly configured in order to prevent window
-  flashing.
-
-- Issue #4792: Prevent a segfault in _tkinter by using the guaranteed to be safe
-  interp argument given to the PythonCmd in place of the Tcl interpreter taken
-  from a PythonCmd_ClientData.
-
-- Issue #5193: Guarantee that Tkinter.Text.search returns a string.
-
-- Issue #5394: Removed > 2.3 syntax from distutils.msvc9compiler.
-  Original patch by Akira Kitada.
-
-- Issue #5385: Fixed mmap crash after resize failure on windows.
-
-- Issue #5179: Fixed subprocess handle leak on failure on windows.
-
-- PEP 372: Added collections.OrderedDict().
-
-- The _asdict() for method for namedtuples now returns an OrderedDict().
-
-- The configparser module now defaults to using an ordered dictionary.
-
-- Issue #4308: httplib.IncompleteRead's repr doesn't include all of the data all
-  ready received.
-
-- Issue #5401: Fixed a performance problem in mimetypes when ``from mimetypes
-  import guess_extension`` was used.
-
-- Issue #1733986: Fixed mmap crash on Windows in accessing elements of second
-  map object with same tagname but larger size than first map.
-
-- Issue #5386: mmap.write_byte didn't check map size, so it could cause buffer
-  overrun.
-
-- Issue #1533164: Installed but not listed *.pyo was breaking Distutils
-  bdist_rpm command.
-
-- Issue #5378: Added --quiet option to Distutils bdist_rpm command.
-
-- Issue #5052: Make Distutils compatible with 2.3 again.
-
-- Deprecated methods of symtable.Symbol have been removed: is_keywordarg(),
-  is_vararg(), and is_in_tuple().
-
-- Issue #5316: Fixed buildbot failures introduced by multiple inheritance in
-  Distutils tests.
-
-- Issue #5287: Add exception handling around findCaller() call to help out
-  IronPython.
-
-- Issue #5282: Fixed mmap resize on 32bit Windows and Unix.  When ``offset >
-  0``, the file was resized to wrong size.
-
-- Issue #5292: Fixed mmap crash on its boundary access m[len(m)].
-
-- Issue #2279: distutils.sdist.add_defaults now add files from the package_data
-  and the data_files metadata.
-
-- Issue #5257: Refactored all tests in distutils, so they use
-  support.TempdirManager, to avoid writing in the tests directory.
-
-- Issue #4524: distutils build_script command failed with --with-suffix=3.
-  Initial patch by Amaury Forgeot d'Arc.
-
-- Issue #2461: Added tests for distutils.util.
-
-- Issue #1008086: Fixed socket.inet_aton() to always return 4 bytes even on LP64
-  platforms (most 64-bit Linux, bsd, unix systems).
-
-- Issue #5203: Fixed ctypes segfaults when passing a unicode string to a
-  function without argtypes (only occurs if HAVE_USABLE_WCHAR_T is false).
-
-- Issue #3386: distutils.sysconfig.get_python_lib prefix argument was ignored
-  under NT and OS2. Patch by Philip Jenvey.
-
-- Issue #5128: Make compileall properly inspect bytecode to determine if needs
-  to be recreated.  This avoids a timing hole thanks to the old reliance on the
-  ctime of the files involved.
-
-- Issue #5122: Synchronize tk load failure check to prevent a potential
-  deadlock.
-
-- Issue #1818: collections.namedtuple() now supports a keyword argument 'rename'
-  which lets invalid fieldnames be automatically converted to positional names
-  in the form, _1, _2, ...
-
-- Issue #4890: Handle empty text search pattern in Tkinter.Text.search.
-
-- Issue #5170: Fixed Unicode output bug in logging and added test case.  This is
-  a regression which did not occur in 2.5.
-
-- Issue #4512 (part 2): Promote ``ZipImporter._get_filename()`` to be a public
-  documented method ``ZipImporter.get_filename()``.
-
-- Issue #4195: The ``runpy`` module (and the ``-m`` switch) now support the
-  execution of packages by looking for and executing a ``__main__`` submodule
-  when a package name is supplied. Initial patch by Andi Vajda.
-
-- Issue #1731706: Call Tcl_ConditionFinalize for Tcl_Conditions that will not be
-  used again (this requires Tcl/Tk 8.3.1), also fix a memory leak in Tkapp_Call
-  when calling from a thread different than the one that created the Tcl
-  interpreter.  Patch by Robert Hancock.
-
-- Issue #1520877: Now distutils.sysconfig reads $AR from the
-  environment/Makefile. Patch by Douglas Greiman.
-
-- Issue #4285: Change sys.version_info to be a named tuple.  Patch by Ross
-  Light.
-
-- Issue #1276768: The verbose option was not used in the code of
-  distutils.file_util and distutils.dir_util.
-
-- Issue #5132: Fixed trouble building extensions under Solaris with
-  --enabled-shared activated. Initial patch by Dave Peterson.
-
-- Issue #1581476: Always use the Tcl global namespace when calling into Tcl.
-
-- Issue #2047: shutil.move() could believe that its destination path was inside
-  its source path if it began with the same letters (e.g. "src" vs.  "src.new").
-
-- Issue #4920: Fixed .next() vs .__next__() issues in the ABCs for Iterator and
-  MutableSet.
-
-- Added the ttk module. See issue #2983: Ttk support for Tkinter.
-
-- Issue #5021: doctest.testfile() did not create __name__ and
-  collections.namedtuple() relied on __name__ being defined.
-
-- Backport importlib from Python 3.1. Only the import_module() function has been
-  backported to help facilitate transitions from 2.7 to 3.1.
-
-- Issue #1885: distutils: When running sdist with --formats=tar,gztar the tar
-  file was overridden by the gztar one.
-
-- Issue #4863: distutils.mwerkscompiler has been removed.
-
-- Added new itertools functions: combinations_with_replacement() and compress().
-
-- Issue #5032: Added a step argument to itertools.count() and allowed
-  non-integer arguments.
-
-- Fix and properly document the multiprocessing module's logging support, expose
-  the internal levels and provide proper usage examples.
-
-- Issue #1672332: Fix unpickling of subnormal floats, which was
-  producing a ValueError on some platforms.
-
-- Issue #3881: Help Tcl to load even when started through the unreadable local
-  symlink to "Program Files" on Vista.
-
-- Issue #4710: Extract directories properly in the zipfile module; allow adding
-  directories to a zipfile.
-
-- Issue #3807: _multiprocessing build fails when configure is passed
-  --without-threads argument. When this occurs, _multiprocessing will be
-  disabled, and not compiled.
-
-- Issue #5008: When a file is opened in append mode with the new IO library, do
-  an explicit seek to the end of file (so that e.g. tell() returns the file size
-  rather than 0). This is consistent with the behaviour of the traditional 2.x
-  file object.
-
-- Issue #5013: Fixed a bug in FileHandler which occurred when the delay
-  parameter was set.
-
-- Issue #4998: The memory saving effect of __slots__ had been lost on Fractions
-  which inherited from numbers.py which did not have __slots__ defined.  The
-  numbers hierarchy now has its own __slots__ declarations.
-
-- Issue #3321: _multiprocessing.Connection() doesn't check handle; added checks
-  for *nix machines for negative handles and large int handles.  Without this
-  check it is possible to segfault the interpreter.
-
-- Issue #4449: AssertionError in mp_benchmarks.py, caused by an underlying issue
-  in sharedctypes.py.
-
-- Issue #1225107: inspect.isclass() returned True for instances with a custom
-  __getattr__.
-
-- Issue #3997: Zipfiles generated with more than 65536 files could not be opened
-  with other applications.
-
-- Issue #1162154: ``inspect.getmembers()`` now skips attributes that raise
-  AttributeError, e.g. a __slots__ attribute which has not been set.
-
-- Issue #1696199: Add collections.Counter() for rapid and convenient counting.
-
-- Issue #3860: GzipFile and BZ2File now support the context management protocol.
-
-- Issue #4272: Add an optional argument to the GzipFile constructor to override
-  the timestamp in the gzip stream.  The default value remains the current time.
-  The information can be used by e.g. gunzip when decompressing.  Patch by
-  Jacques Frechet.
-
-- Restore Python 2.3 compatibility for decimal.py.
-
-- Issue #1702551: distutils sdist was not excluding VCS directories under
-  Windows. Initial solution by Guy Dalberto.
-
-- The _tkinter module functions "createfilehandler", "deletefilehandler",
-  "createtimerhandler", "mainloop", "dooneevent" and "quit" have been deprecated
-  for removal in 3.x
-
-- Issue #4796: Added Decimal.from_float() and
-  Context.create_decimal_from_float() to the decimal module.
-
-- Issue #4812: Add missing underscore prefix to some internal-use-only constants
-  in the decimal module.  (Dec_0 becomes _Dec_0, etc.)
-
-- Issue #4795: inspect.isgeneratorfunction() returns False instead of None when
-  the function is not a generator.
-
-- Issue #4702: Throwing a DistutilsPlatformError instead of IOError in case no
-  MSVC compiler is found under Windows.  Original patch by Philip Jenvey.
-
-- Issue #4646: distutils was choking on empty options arg in the setup function.
-  Original patch by Thomas Heller.
-
-- Fractions.from_float() no longer loses precision for integers too big to cast
-  as floats.
-
-- Issue #4790: The nsmallest() and nlargest() functions in the heapq module did
-  unnecessary work in the common case where no key function was specified.
-
-- Issue #3767: Convert Tk object to string in tkColorChooser.
-
-- Issue #3248: Allow placing ScrolledText in a PanedWindow.
-
-- Issue #4444: Allow assertRaises() to be used as a context handler, so that the
-  code under test can be written inline if more practical.
-
-- Issue #4739: Add pydoc help topics for symbols, so that e.g. help('@') works
-  as expected in the interactive environment.
-
-- Issue #4756: zipfile.is_zipfile() now supports file-like objects. Patch by
-  Gabriel Genellina.
-
-- Issue #4400: .pypirc default generated file was broken in distutils.
-
-- Issue #4736: io.BufferedRWPair's closed property now functions properly.
-
-- Issue #3954: Fix a potential SystemError in _hotshot.logreader error handling.
-
-- Issue #4574: Fix a crash in io.IncrementalNewlineDecoder when a carriage
-  return encodes to more than one byte in the source encoding (e.g. UTF-16) and
-  gets split on a chunk boundary.
-
-- Issue #4223: inspect.getsource() will now correctly display source code for
-  packages loaded via zipimport (or any other conformant PEP 302
-  loader). Original patch by Alexander Belopolsky.
-
-- Issue #4201: pdb can now access and display source code loaded via zipimport
-  (or any other conformant PEP 302 loader).  Original patch by Alexander
-  Belopolsky.
-
-- Issue #4197: Doctests in modules loaded via zipimport (or any other PEP 302
-  conformant loader) will now work correctly in most cases (they are still
-  subject to the constraints that exist for all code running from inside a
-  module loaded via a PEP 302 loader and attempting to perform IO operations
-  based on __file__).  Original patch by Alexander Belopolsky.
-
-- Issues #4082 and #4512: Add runpy support to zipimport in a manner that allows
-  backporting to maintenance branches.  Original patch by Alexander Belopolsky.
-
-- Issue #4163: Use unicode-friendly word splitting in the textwrap functions
-  when given a Unicode string.
-
-- Issue #4616: TarFile.utime(): Restore directory times on Windows.
-
-- Issue #4084: Fix max, min, max_mag and min_mag Decimal methods to give correct
-  results in the case where one argument is a quiet NaN and the other is a
-  finite number that requires rounding.
-
-- Issue #1030250: Distutils created directories even when run with the --dry-run
-  option.
-
-- Issue #4483: _dbm module now builds on systems with gdbm & gdbm_compat libs.
-
-- Issue #4529: Fix the parser module's validation of try-except-finally
-  statements.
-
-- Issue #4458: getopt.gnu_getopt() now recognizes a single "-" as an argument,
-  not a malformed option.
-
-- Added the subprocess.check_output() convenience function to get output from a
-  subprocess on success or raise an exception on error.
-
-- Issue #1055234: cgi.parse_header(): Fixed parsing of header parameters to
-  support unusual filenames (such as those containing semi-colons) in
-  Content-Disposition headers.
-
-- Issue #4384: Added logging integration with warnings module using
-  captureWarnings().  This change includes a NullHandler which does nothing; it
-  will be of use to library developers who want to avoid the "No handlers could
-  be found for logger XXX" message which can appear if the library user doesn't
-  configure logging.
-
-- Issue #3741: DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an
-  exception.
-
-- Issue #4363: The uuid.uuid1() and uuid.uuid4() functions now work even if the
-  ctypes module is not present.
-
-- FileIO's mode attribute now always includes ``"b"``.
-
-- Issue #4116: Resolve member name conflict in ScrolledCanvas.__init__.
-
-- httplib.HTTPConnection.putheader() now accepts an arbitrary number of values
-  for any header, matching what the documentation has claimed for a while.
-
-- Issue #3774: Fixed an error when create a Tkinter menu item without command
-  and then remove it.
-
-- Fixed a modulefinder crash on certain relative imports.
-
-- Issue #4150: Pdb's "up" command now works for generator frames in post-mortem
-  debugging.
-
-- Issue #4092: Return ArgInfo as promised in the documentation from
-  inspect.getargvalues.
-
-- Issue #3935: Properly support list subclasses in bisect's C implementation.
-
-- Issue #4014: Don't claim that Python has an Alpha release status, in addition
-  to claiming it is Mature.
-
-- Issue #4730: Fixed the cPickle module to handle correctly astral characters
-  when protocol 0 is used.
-
-- Issue #1594: MacOS.GetCreatorAndType now always returns a big-endian result,
-  to be consistent with Apple tools.
-
-- Issue #900949: plat-mac/videoreader.py no longer relies on a non-existing
-  module.
-
-- Issue #16278952: plat-mac/videoreader.py now correctly imports MediaDescr
-
-- Issue #1737832: plat-mac/EasyDialog.py no longer uses the broken aepack
-  module.
-
-- Issue #1149804: macostools.mkdirs now even works when another process creates
-  one of the needed subdirectories.
-
-- Issue #900506: added --no-zipimport flag to the bundlebuilder script.
-
-- Issue #841800: bundlebuilder now works with 'python -O'.
-
-- Issue #4861: ctypes.util.find_library(): Robustify. Fix library detection on
-  biarch systems.  Try to rely on ldconfig only, without using objdump and gcc.
-
-- Issue #5104: The socket module now raises OverflowError when 16-bit port and
-  protocol numbers are supplied outside the allowed 0-65536 range on bind() and
-  getservbyport().
-
-- Issue #999042: The Python compiler now handles explict global statements
-  correctly (should be assigned using STORE_GLOBAL opcode).
-
-- Issue #2703: SimpleXMLRPCDispatcher.__init__: Provide default values for new
-  arguments introduced in 2.5.
-
-- Issue #5828 (Invalid behavior of unicode.lower): Fixed bogus logic in
-  makeunicodedata.py and regenerated the Unicode database (This fixes
-  u'\u1d79'.lower() == '\x00').
-
-- Windows locale mapping updated to Vista.
-
-IDLE
-----
-
-- Issue #5150: IDLE's format menu now has an option to strip trailing
-  whitespace.
-
-- Issue #5847: Remove -n switch on "Edit with IDLE" menu item.
-
-- idle.py modified and simplified to better support developing experimental
-  versions of IDLE which are not installed in the standard location.
-
-- Issue #5559: OutputWindow/PyShell right click menu "Go to file/line"
-  wasn't working with file paths containing spaces.
-
-- Issue #5783: Windows: Version string for the .chm help file changed,
-  file not being accessed.  Patch by Guilherme Polo/
-
-- Issue #1529142: Allow multiple IDLE GUI/subprocess pairs to exist
-  simultaneously. Thanks to David Scherer for suggesting the use of an
-  ephemeral port for the GUI.  Patch by Weeble.
-
-- Remove port spec from run.py and fix bug where subprocess fails to
-  extract port from command line when warnings are present.
-
-- Issue #5129: Tk 8.5 Text widget requires 'wordprocessor' tabstyle attr
-  to handle mixed space/tab properly. Patch by Guilherme Polo.
-
-- Issue #3549: On MacOS the preferences menu was not present
-
-Tools/Demos
------------
-
-- Ttk demos added in Demo/tkinter/ttk/.
-
-- Issue #4677: Add two list comprehension tests to pybench.
-
-Build
------
-
-- Issue #6603: Change READ_TIMESTAMP macro in ceval.c so that it compiles
-  correctly under gcc on x86-64.  This fixes a reported problem with the
-  --with-tsc build on x86-64.
-
-- Add 2 new options to ``--with-universal-archs`` on MacOSX: ``intel`` builds a
-  distribution with ``i386`` and ``x86_64`` architectures, while ``3-way``
-  builds a distribution with the ``ppc``, ``i386`` and ``x86_64`` architectures.
-
-- Issue #6802: Fix build issues on MacOSX 10.6.
-
-- Issue #6244: Allow detect_tkinter to look for Tcl/Tk 8.6.
-
-- Issue #5390: Add uninstall icon independent of whether file extensions are
-  installed.
-
-- Issue #5809: Specifying both --enable-framework and --enable-shared is an
-  error. Configure now explicitly tells you about this.
-
-- Issue #3585: Add pkg-config support.  It creates a python-2.7.pc file and a
-  python.pc symlink in the $(LIBDIR)/pkgconfig directory.  Patch by Clinton Roy.
-
-- Issue #6094: Build correctly with Subversion 1.7.
-
-- Issue #5726: Make Modules/ld_so_aix return the actual exit code of the linker,
-  rather than always exit successfully.  Patch by Floris Bruynooghe.
-
-- Issue #4587: Add configure option --with-dbmliborder=db1:db2:... to specify
-  the order that backends for the dbm extension are checked.
-
-- Link the shared python library with $(MODLIBS).
-
-- Issue #5134: Silence compiler warnings when compiling sqlite with VC++.
-
-- Issue #4494: Fix build with Py_NO_ENABLE_SHARED on Windows.
-
-- Issue #4895: Use _strdup on Windows CE.
-
-- Issue #4472: ``configure --enable-shared`` now works on OSX.
-
-- Issues #4728 and #4060: WORDS_BIGEDIAN is now correct in Universal builds.
-
-- Issue #4389: Add icon to the uninstall entry in "add-and-remove-programs".
-
-- Issue #4289: Remove Cancel button from AdvancedDlg.
-
-- Issue #1656675: Register a drop handler for .py* files on Windows.
-
-- Issue #4120: Exclude manifest from extension modules in VS2008.
-
-- Issue #4091: Install pythonxy.dll in system32 again.
-
-- Issue #4018: Disable "for me" installations on Vista.
-
-- Issue #3758: Add ``patchcheck`` build target to ``.PHONY``.
-
-- Issue #4204: Fixed module build errors on FreeBSD 4.
-
-Documentation
--------------
-
-- Issue #6556: Fixed the Distutils configuration files location explanation for
-  Windows.
-
-- Issue #6801: symmetric_difference_update also accepts ``|``.  Thanks to Carl
-  Chenet.
-
-C-API
------
-
-- Issue #7528: Add PyLong_AsLongAndOverflow (backported from py3k).
-
-- Issue #7228: Add '%lld' and '%llu' support to PyString_FromFormat(V) and
-  PyErr_Format, on machines with HAVE_LONG_LONG defined.
-
-- Add new C-API function PyOS_string_to_double, and deprecated PyOS_ascii_atof
-  and PyOS_ascii_strtod.
-
-- Removed _PyOS_double_to_string. Use PyOS_double_to_string instead.  This is in
-  preparation for (but not strictly related to) issue #7117, short float repr.
-
-- Issue #6624: PyArg_ParseTuple with "s" format when parsing argument with NULL:
-  Bogus TypeError detail string.
-
-- Issue #5954: Add a PyFrame_GetLineNumber() function to replace most uses of
-  PyCode_Addr2Line().
-
-- Issue #5959: Add a PyCode_NewEmpty() function to create a new empty code
-  object at a specified file, function, and line number.
-
-- Issue #1419652: Change the first argument to PyImport_AppendInittab() to
-  ``const char *`` as the string is stored beyond the call.
-
-- Some PyBytes_* aliases have been removed because they don't exist in 3.x.
-
-- Issue #5175: PyLong_AsUnsignedLongLong now raises OverflowError for negative
-  arguments.  Previously, it raised TypeError.
-
-- Issue #4720: The format for PyArg_ParseTupleAndKeywords can begin with '|'.
-
-- Issue #3632: From the gdb debugger, the 'pyo' macro can now be called when the
-  GIL is released, or owned by another thread.
-
-- Issue #4122: On Windows, fix a compilation error when using the
-  Py_UNICODE_ISSPACE macro in an extension module.
-
-- Issue #4293: Py_AddPendingCall() is now thread safe and can be used for
-  asynchronous notifications to python from any thread.  Documentation added.
-
-Extension Modules
------------------
-
-- Issue #6508: Add posix.{getresuid,getresgid,setresuid,setresgid}.
-
-- Issue #7078: Set struct.__doc__ from _struct.__doc__.
-
-- Issue #3366: Add erf, erfc, expm1, gamma, lgamma functions to math module.
-
-- Issue #6823: Allow time.strftime() to accept a tuple with a isdst field
-  outside of the range of [-1, 1] by normalizing the value to within that range.
-
-- Issue #6877: Make it possible to link the readline extension to libedit on
-  OSX.
-
-- Issue #6944: Fix a SystemError when socket.getnameinfo() was called with
-  something other than a tuple as first argument.
-
-- Issue #6865: Fix reference counting issue in the initialization of the pwd
-  module.
-
-- Issue #6848: Fix curses module build failure on OS X 10.6.
-
-- Fix a segfault in expat when given a specially crafted input lead to the
-  tokenizer not stopping. CVE-2009-3720.
-
-- Issue #6561: '\d' in a regex now matches only characters with Unicode category
-  'Nd' (Number, Decimal Digit).  Previously it also matched characters with
-  category 'No'.
-
-- Issue #1523: Remove deprecated overflow wrapping for struct.pack with an
-  integer format code ('bBhHiIlLqQ').  Packing an out-of-range integer now
-  consistently raises struct.error.
-
-- Issues #1530559, #1741130: Fix various struct.pack inconsistencies for the
-  integer formats ('bBhHiIlLqQ').  In the following, '*' represents any of '=',
-  '<', '>'.
-
-    - Packing a float now always gives a Deprecation Warning.  Previously it
-      only warned for 'I', 'L', '*B', '*H', '*I', '*L'.
-
-    - If x is not an int, long or float, then packing x will always result in
-      struct.error.  Previously an x with an __int__ method could be packed by
-      'b', 'B', 'h', 'H', 'i', 'l', '*b', '*h' ,'*i', '*l', and an x with a
-      __long__ method could be packed by 'q', 'Q', '*q', '*Q'; for x with
-      neither __int__ nor __long__, TypeError used to be raised (with a
-      confusing error message) for 'I', 'L', '*B', '*H', '*I', '*L', and
-      struct.error in other cases.
-
-  Note: as of Python 2.7 beta 1, the above is out of date.  In 2.7 beta 1, any
-  argument with an __int__ method can be packed, but use of this feature
-  triggers a DeprecationWarning.
-
-- Issue #4873: Fix resource leaks in error cases of pwd and grp.
-
-- Issue #4751: For hashlib algorithms provided by OpenSSL, the Python GIL is now
-  released during computation on data lengths >= 2048 bytes.
-
-- Issue #3745: Fix hashlib to always reject unicode and non buffer-api
-  supporting objects as input no matter how it was compiled (built in
-  implementations or external openssl library).  NOTE: Undone in 2.7a2.
-
-- Issue #4397: Fix occasional test_socket failure on OS X.
-
-- Issue #4279: Fix build of parsermodule under Cygwin.
-
-- Issue #4051: Prevent conflict of UNICODE macros in cPickle.
-
-- Issue #4228: Pack negative values the same way as 2.4 in struct's L format.
-
-- Issue #1040026: Fix os.times result on systems where HZ is incorrect.
-
-- Issues #3167, #3682: Fix test_math failures for log, log10 on Solaris,
-  OpenBSD.
-
-- Issue #4365: Add crtassem.h constants to the msvcrt module.
-
-- Issue #4396: The parser module now correctly validates the with statement.
-
-- Issue #5228: Make functools.partial objects can now be pickled.
-
-Tests
------
-
-- Issue #7431: Use TESTFN in test_linecache instead of trying to create a file
-  in the Lib/test directory, which might be read-only for the user running the
-  tests.
-
-- Issue #7324: Add a sanity check to regrtest argument parsing to catch the case
-  of an option with no handler.
-
-- Issue #7312: Add a -F flag to run the selected tests in a loop until a test
-  fails.  Can be combined with -j.
-
-- Issue #7295: Do not use a hardcoded file name in test_tarfile.
-
-- Issue #7270: Add some dedicated unit tests for multi-thread synchronization
-  primitives such as Lock, RLock, Condition, Event and Semaphore.
-
-- Issue #7222: Make thread "reaping" more reliable so that reference
-  leak-chasing test runs give sensible results.  The previous method of reaping
-  threads could return successfully while some Thread objects were still
-  referenced.  This also introduces a new private function: ``thread._count()``.
-
-- Issue #7151: Fixed regrtest -j so that output to stderr from a test no longer
-  runs the risk of causing the worker thread to fail.
-
-- Issue #7055: test___all__ now greedily detects all modules which have an
-  __all__ attribute, rather than using a hardcoded and incomplete list.
-
-- Issue #7058: Added save/restore for things like sys.argv and cwd to
-  runtest_inner in regrtest, with warnings if the called test modifies them,
-  and a new section in the summary report at the end.
-
-- Issue #7042: Fix test_signal (test_itimer_virtual) failure on OS X 10.6.
-
-- Issue #6806: test_platform failed under OS X 10.6.0 because ``sw_ver`` leaves
-  off the trailing 0 in the version number.
-
-- Issue #5450: Moved tests involving loading tk from Lib/test/test_tcl to
-  Lib/lib-tk/test/test_tkinter/test_loadtk. With this, these tests demonstrate
-  the same behaviour as test_ttkguionly (and now also test_tk) which is to skip
-  the tests if DISPLAY is defined but can't be used.
-
-- Issue #6152: New option '-j'/'--multiprocess' for regrtest allows running
-  regression tests in parallel, shortening the total runtime.
-
-- Issue #5354: New test support function import_fresh_module() makes it easy to
-  import both normal and optimised versions of modules.  test_heapq and
-  test_warnings have been adjusted to use it, tests for other modules with both
-  C and Python implementations in the stdlib can be adjusted to use it over
-  time.
-
-- Fix test_warnings to no longer reset the warnings filter.
-
-- Fix test_logging to no longer reset the warnings filter.
-
-- Issue #5635: Fix running test_sys with tracing enabled.
-
-- regrtest no longer treats ImportError as equivalent to SkipTest.  Imports that
-  should cause a test to be skipped are now done using import_module from test
-  support, which does the conversion.
-
-- Issue #5083: New 'gui' resource for regrtest.
-
-- Issue #5837: Certain sequences of calls to set() and unset() for
-  support.EnvironmentVarGuard objects restored the environment variables
-  incorrectly on __exit__.
-
-- Issue #2389: Array objects are now pickled in a portable manner.
-
-Misc
-----
-
-- Issue #5611: Auto-detect whether a C file uses tabs or spaces in Vim.
-
-
-What's New in Python 2.6 final
-==============================
-
-*Release date: 01-Oct-2008*
-
-Core and Builtins
------------------
-
-- Issue #3967: Fixed a crash in the count() and find() methods of string-like
-  objects, when the "start" parameter is a huge value.
-
-- Issue #3965: Fixed a crash on Windows when open() is given an invalid
-  filename or mode, and the filename is a unicode string.
-
-- Bug #3951: Py_USING_MEMORY_DEBUGGER should not be enabled by default.
-
-Library
--------
-
-- Issue #3965: Allow repeated calls to turtle.Screen, by making it a
-  true singleton object.
-
-- Issue #3895: It was possible to crash the interpreter when an external timer
-  was used with cProfile that returned an object that could not be converted
-  into a float.
-
-- Issue #3950: Made turtle respect scale factors.
-
-- Issue #3547: Fixed ctypes structures bitfields of varying integer
-  sizes.
-
-- Issue #3879: A regression in urllib.getproxies_environment was fixed.
-
-- Issue #3863: Disabled a unit test of fork being called from a thread
-  when running on platforms known to exhibit OS bugs when attempting that.
-
-Build
------
-
-- Bug #3989: Package the 2to3 script (as 2to3.py) in the Windows
-  installer.
-
-- Bug #3887: Package x64 version of CRT for AMD64 Windows binaries.
-
-
-What's New in Python 2.6 release candidate 2?
-=============================================
-
-*Release date: 17-Sep-2008*
-
-Core and Builtins
------------------
-
-Extension Modules
------------------
-
-- Security Issue #2: imageop did not validate arguments correctly and could
-  segfault as a result.
-
-- Issue #3886: Possible integer overflows in the _hashopenssl module were
-  closed.
-
-Tools/Demos
------------
-
-- Issue #3850: recursion tests in Tools/scripts/find_recursion_limit.py can raise
-  AttributeError instead of RuntimeError, depending in which C API call
-  exactly the recursion limit is exceeded. Consequently, both exception types
-  are caught and silenced.
-
-Build
------
-
-- Issue #3617: Include a licensing statement regarding the Microsoft
-  C runtime in the Windows installer.
-
-
-What's New in Python 2.6 release candidate 1?
-=============================================
-
-*Release date: 12-Sep-2008*
-
-Core and Builtins
------------------
-
-- Issue #3642: Suppress warning in obmalloc when size_t is larger than uint.
-
-- Issue #3743: In a few places, PY_FORMAT_SIZE_T was incorrectly used with
-  PyString_FromFormat or PyErr_Format to display size_t values. The macro
-  PY_FORMAT_SIZE_T is designed to select the correct format for the OS
-  ``printf`` function, whereas PyString_FromFormat has an independent
-  implementation and uses "%zd" on all platforms for size_t values.
-  This makes a difference on win64, where ``printf`` needs "%Id" to display
-  64bit values.
-
-- Issue #3634: _weakref.ref(Exception).__init__() gave invalid return value on
-  error.
-
-- Issue #3777: long() applied to a float object now always return a long
-  object; previously an int would be returned for small values. the __long__
-  method is allowed to return either an int or a long, but the behaviour of
-  float objects should not change to respect backward compatibility.
-
-- Issue #3751: str.rpartition would perform a left-partition when called with
-  a unicode argument.
-
-- Issue #3683: Fix compilation when --without-threads is given.
-
-- Issue #3668: Fix a memory leak with the "s*" argument parser in
-  PyArg_ParseTuple and friends, which occurred when the argument for "s*"
-  was correctly parsed but parsing of subsequent arguments failed.
-
-- Issue #2534: speed up isinstance() and issubclass() by 50-70%, so as to
-  match Python 2.5 speed despite the __instancecheck__ / __subclasscheck__
-  mechanism. In the process, fix a bug where isinstance() and issubclass(),
-  when given a tuple of classes as second argument, were looking up
-  __instancecheck__ / __subclasscheck__ on the tuple rather than on each
-  type object.
-
-- Fix crashes on memory allocation failure found with failmalloc.
-
-- Fix memory leaks found with valgrind and update suppressions file.
-
-- Fix compiler warnings in opt mode which would lead to invalid memory reads.
-
-- Fix problem using wrong name in decimal module reported by pychecker.
-
-- Silenced another compiler warning about a used but not defined
-  function 'stringlib_contains_obj'.
-
-- Added warnings on the use of ``__getslice__``, ``__setslice__``, or
-  ``__delslice__``.
-
-- Issue #3678: Correctly pass LDFLAGS and LDLAST to the linker on shared
-  library targets in the Makefile.
-
-- Issue #1204: The configure script now tests for additional libraries
-  that may be required when linking against readline.  This fixes issues
-  with x86_64 builds on some platforms (a few Linux flavors and OpenBSD).
-
-C-API
------
-
-- Aliased PyObject_Bytes to PyObject_Str.
-
-Library
--------
-
-- Issue #3640: Pickling a list or a dict uses less local variables, to reduce
-  stack usage in the case of deeply nested objects.
-
-- Issue #3629: Fix sre "bytecode" validator for an end case.
-
-- Issue #3811: The Unicode database was updated to 5.1.
-
-- Issue #3781: Further warnings.catch_warnings() cleanup to prevent
-  silent misbehaviour when a single instance is nested in multiple
-  with statements, or when the methods are invoked in the wrong order.
-
-- Issue #3809: Fixed spurious 'test.blah' file left behind by test_logging.
-
-- Issue #3781: Clean up the API for warnings.catch_warnings() by having it
-  return a list or None rather than a custom object.
-
-- Issue #1638033: Cookie.Morsel gained the httponly attribute.
-
-- Issue #3535: zipfile couldn't read some zip files larger than 2GB.
-
-- Issue #3776: Deprecate the bsddb package for removal in 3.0.
-
-- Issue #3762: platform.architecture() fails if python is lanched via
-  its symbolic link.
-
-- Issue #3772: Fixed regression problem in StreamHandler.emit().
-
-- Issue #600362: Relocated parse_qs() and parse_qsl(), from the cgi module
-  to the urlparse one.  Added a PendingDeprecationWarning in the old
-  module, it will be deprecated in the future.
-
-- Issue #2562: Fix distutils PKG-INFO writing logic to allow having
-  non-ascii characters and Unicode in setup.py meta-data.
-
-- Issue #3726: Allow spaces in separators in logging configuration files.
-
-- Issue #3719: platform.architecture() fails if there are spaces in the
-  path to the Python binary.
-
-- Issue #3602: Moved test.test_support.catch_warning() to
-  warnings.catch_warnings() along with some API cleanup. Expanding the tests
-  for catch_warnings() also led to an improvement in the raising of a
-  DeprecationWarning related to warnings.warn_explicit().
-
-- The deprecation warnings for the old camelCase threading API were removed.
-
-- logging: fixed lack of use of encoding attribute specified on a stream.
-
-- Silenced a trivial compiler warning in the sqlite module.
-
-- Fixed two format strings in the _collections module.
-
-- Issue #3703: _fileio.FileIO gave unhelpful error message when trying to open a
-  directory.
-
-- Issue #3708: os.urandom no longer goes into an infinite loop when passed a
-  non-integer floating point number.
-
-- Issue #3110: multiprocessing fails to compiel on solaris 10 due to missing
-  SEM_VALUE_MAX.
-
-Extension Modules
------------------
-
-- Issue #4301: Patch the logging module to add processName support, remove
-  _check_logger_class from multiprocessing.
-
-- Issue #2975: When compiling several extension modules with Visual Studio 2008
-  from the same python interpreter, some environment variables would grow
-  without limit.
-
-- Issue #3643: Added a few more checks to _testcapi to prevent segfaults by
-  exploitation of poor argument checking.
-
-- sqlite3: Changed docstring of iterdump() to mark method as "Non-standard".
-
-- Issue #3103: Reduced globals symbols used by sqlite3 module and made sure all
-  remaining ones have "pysqlite_" prefix.
-
-- Issue #3846: Release the GIL during sqlite3_prepare calls. This improves
-  concurrent access to the same SQLite database from multiple
-  threads/processes.
-
-Tests
------
-
-- Issue #3781: Add test.test_support.check_warnings() as a convenience
-  wrapper for warnings.catch_warnings() that makes it easier to check
-  that expected warning messages are being reported.
-
-- Issue #3796: Some tests functions were not enabled in test_float.
-
-- Issue #3768: Move test_py3kwarn over to the new API for catch_warnings().
-
-Build
------
-
-- Issue #3833: Use a different upgrade code for Win64 installers.
-
-- Issue #2271: Set SecureCustomProperties so that installation will properly
-  use the TARGETDIR even for unprivileged users.
-
-- Allow passing the MSI file name to merge.py.
-
-- Issue #3758: Rename the 'check' target to 'patchcheck' so as to not clash
-  with GNU build target guidelines.
-
-
-What's New in Python 2.6 beta 3?
-================================
-
-*Release date: 20-Aug-2008*
-
-Core and Builtins
------------------
-
-- Issue #1878: Remove Py_TPFLAGS_HAVE_VERSION_TAG from
-  Py_TPFLAGS_DEFAULT when not building the core.  This means 3rd party
-  extensions do not automatically benefit from the class attribute
-  cache; they will have to explicitly add Py_TPFLAGS_HAVE_VERSION_TAG
-  to their tp_flags field if they care.  This is a backwards
-  compatibility feature; in 3.0, all types will use the cache by
-  default.
-
-- Keyword arguments can now follow starred arguments. (``f(a, *args,
-  keyword=23)`` is now valid syntax.)
-
-- ctypes function pointers that are COM methods have a boolean True
-  value again.
-
-- Issue #3139: Make buffer-interface thread-safe wrt. PyArg_ParseTuple,
-  by denying s# to parse objects that have a releasebuffer procedure,
-  and introducing s*.
-
-- Issue #3537: Fix an assertion failure when an empty but presized dict
-  object was stored in the freelist.
-
-- Issue #1481296: Make long(float('nan')) and int(float('nan')) raise
-  ValueError consistently across platforms.
-
-- Issue #3479: On platforms where sizeof(int) is smaller than sizeof(long)
-  (64bit Unix, for example), unichr() would truncate its argument and return
-  u'\x00' for unichr(2**32). Now it properly raises an OverflowError.
-
-- Apply security patches from Apple.
-
-- Issue #2542: Now that issubclass() may call arbitrary code, ensure that
-  PyErr_ExceptionMatches returns 0 when an exception occurs there.
-
-- Issue #1819: function calls with several named parameters are now on
-  average 35% faster (as measured by pybench).
-
-- Issue #2378: An unexpected UnboundLocalError or NameError could appear when
-  the python debugger steps into a class statement: the free variables (local
-  variables defined in an outer scope) would be deleted from the outer scope.
-
-- Issue #2620: Overflow checking when allocating or reallocating memory
-  was not always being done properly in some python types and extension
-  modules.  PyMem_MALLOC, PyMem_REALLOC, PyMem_NEW and PyMem_RESIZE have
-  all been updated to perform better checks and places in the code that
-  would previously leak memory on the error path when such an allocation
-  failed have been fixed.
-
-Library
--------
-
-- Issue #3612: Added some missing basic types in ctypes.wintypes.
-
-- The methods ``is_in_tuple()``, ``is_vararg()``, and ``is_keywordarg()`` of
-  symtable.Symbol have been deprecated for removal in 3.0 and the next release.
-
-- Issue #2234: distutils failed for some versions of the cygwin compiler. The
-  version reported by these tools does not necessarily follow the python
-  version numbering scheme, so the module is less strict when parsing it.
-
-- Issue #2235: Added Py3k warnings for types which will become unhashable
-  under the stricter __hash__ inheritance rules in 3.0. Several types
-  which did not meet the rules for hash invariants and were already
-  unhashable in 3.0 have now been explicitly flagged as unhashable in
-  2.6 as well (collections.Mapping, collections.Set, unittest.TestSuite,
-  xml.dom.minidom.NamedNodeMap, numbers.Number, UserList.UserList)
-
-- Update __all__ for cookielib, csv, os, urllib2, and weakref to include things
-  imported into the module but exposed as part of the module's API.
-
-- Remove an unneeded import of abc.ABCMeta from 'inspect'.
-
-- Remove unneeded imports of 'sys' and 'warnings' from 'io'.
-
-- Remove unneeded imports of 'warnings' from shelve, filecmp, and dummy_thread.
-
-- Issue #3575: Incremental decoder's decode function now takes bytearray
-  by using 's*' instead of 't#'.
-
-- Issue #2222: Fixed reference leak when occurred os.rename()
-  fails unicode conversion on 2nd parameter. (windows only)
-
-- Issue #2464: urllib2 now supports a malformation in the URL received
-  in a redirect.
-
-- Silence the DeprecationWarning raised when importing mimetools in
-  BaseHTTPServer, cgi (and rfc822), httplib.
-
-- Issue #2776: fixed small issue when handling a URL with double slash
-  after a 302 response in the case of not going through a proxy.
-
-- Issue #2676: in the email package, content-type parsing was hanging on
-  pathological input because of quadratic or exponential behaviour of a
-  regular expression.
-
-- Issue #3476: binary buffered reading through the new "io" library is now
-  thread-safe.
-
-- Silence the DeprecationWarning of rfc822 when it is imported by mimetools
-  since mimetools itself is deprecated. Because modules are cached, all
-  subsequent imports of rfc822 will not raise a visible DeprecationWarning.
-
-- Issue #3134: shutil referenced undefined WindowsError symbol.
-
-- Issue #1342811: Fix leak in Tkinter.Menu.delete. Commands associated to
-  menu entries were not deleted.
-
-- Copied the implementation of reduce() to _functools.reduce() to have a
-  version that did not raise a DeprecationWarning under -3.
-
-- Issue #3205: When iterating over a BZ2File fails allocating memory, raise
-  a MemoryError rather than silently stop the iteration.
-
-- Issue #3487: sre "bytecode" validator.  Passing invalid "re-bytecode"
-  to _sre.compile() will now be rejected.  This should not affect anybody
-  since the re.compile() function never generates invalid re-bytecode.
-
-- Issue #3436: Make csv.DictReader's fieldnames attribute a property so that
-  upon first access it can be automatically initialized from the csv file if
-  it wasn't initialized during instantiation.
-
-- Issue #2338: Create imp.reload() to help with transitioning to Python 3.0 as
-  the reload() built-in has been removed.
-
-- Changed code in the following modules/packages to remove warnings raised
-  while running under the ``-3`` flag: aifc, asynchat, asyncore, bdb, bsddb,
-  ConfigParser, cookielib, csv, difflib, distutils, DocXMLRPCServer, email,
-  filecmp, fileinput, inspect, logging, modulefinder, pdb, pickle, profile,
-  pstats, pydoc, re, rlcompleter, SimpleXMLRPCServer, shelve, socket,
-  subprocess, sqlite3, tarfile, Tkinter, test.test_support, textwrap,
-  threading, tokenize, traceback, urlparse, wsgiref, xml, xmlrpclib.
-
-- Issue #3039: Fix tarfile.TarFileCompat.writestr() which always
-  raised an AttributeError.
-
-- Issue #2523: Fix quadratic behaviour when read()ing a binary file without
-  asking for a specific length. This problem only affected files opened
-  using the new "io" module, not the built-in open() function.
-
-- Issue #3449: Update decimal module to use most recent specification
-  (v. 1.68) and tests (v. 2.58) from IBM.
-
-- Issue #3437: Bug fix in robotparser parsing of Allow: lines.
-
-- Issue #1592: Improve error reporting when operations are attempted
-  on a closed shelf.
-
-- Deprecate the "ast" parser function aliases.
-
-- Issue #3120: On 64-bit Windows the subprocess module was truncating handles.
-
-- Issue #3303: Fix a crash in locale.strcoll() when calling it with
-  invalid arguments.
-
-- Issue #3302: Fix several crashes when calling locale's gettext functions
-  with None arguments.
-
-- Issue #3389: Allow resolving dotted names for handlers in logging
-  configuration files.
-
-- Deprecate the sunaudio module for removal in Python 3.0.
-
-- Issue #3394: zipfile.writestr sets external attributes when passed a
-  file name rather than a ZipInfo instance, so files are extracted with
-  mode 0600 rather than 000 under Unix.
-
-- Issue #1857: subprocess.Popen.poll gained an additional _deadstate keyword
-  argument in python 2.5, this broke code that subclassed Popen to include its
-  own poll method.  Fixed my moving _deadstate to an _internal_poll method.
-
-Build
------
-
-- Generate the PatternGrammar pickle during "make install".
-
-Documentation
--------------
-
-- Issue #2235: the C API function PyObject_HashNotImplemented and its
-  interaction with the tp_hash slot (added in 2.6b2) are now documented
-
-- Issue #643841: The language reference now provides more detailed
-  coverage of the lookup process for special methods. The disclaimers
-  regarding lack of coverage of new-style classes have also been
-  removed, since the coverage is now fairly reasonable.
-
-
-What's New in Python 2.6 beta 2?
-================================
-
-*Release date: 17-Jul-2008*
-
-Core and Builtins
------------------
-
-- Issue #3156: Fix inconsistent behavior of the bytearray type: all
-  its methods now allow for items objects that can be converted to
-  an integer using operator.index().
-
-- Issue #3360: Fix incorrect parsing of '020000000000.0', which
-  produced a ValueError instead of giving the correct float.
-
-- Issue #3083: Add alternate (#) formatting for bin, oct, hex output
-  for str.format().  This adds the prefix 0b, 0o, or 0x, respectively.
-
-- Issue #3008: the float type has a new instance method 'float.hex'
-  and a new class method 'float.fromhex' to convert floating-point
-  numbers to and from hexadecimal strings, respectively.
-
-- Issue #2235: __hash__ is once again inherited by default. To allow
-  collections.Hashable to remain meaningful in the presence of the
-  default hash implementation (object.__hash__), it is now possible
-  to explicit block inheritance of hash by setting __hash__=None at
-  the Python level, or tp_hash=PyObject_HashNotImplemented at the C
-  level.
-
-- Issue #3221: Issue a RuntimeWarning instead of raising SystemError if
-  the parent module cannot be found while performing an absolute import.
-  This means that an incorrectly defined __package__ attribute will
-  now only prevent relative imports in that module rather than causing
-  all imports from that module to fail.
-
-- Issue #2517: Allow unicode messages in Exceptions again by correctly
-  bypassing the instance dictionary when looking up __unicode__ on
-  new-style classes.
-
-- Issue #3242: Fix a crash inside the print statement, if sys.stdout is
-  set to a custom object whose write() method happens to install
-  another file in sys.stdout.
-
-- Issue #3088: Corrected a race condition in classes derived from
-  threading.local: the first member set by a thread could be saved in
-  another thread's dictionary.
-
-- Issue #3004: Minor change to slice.indices(): the start and stop
-  arguments are now treated identically, making the behaviour easier
-  to describe and understand.  For example, slice(None, -10,
-  1).indices(9) now returns (0, 0, 1) instead of (0, -1, 1), and
-  slice(None, 10, -1).indices(10) returns (9, 9, -1) instead of (9,
-  10, -1).
-
-- Issue #3219: Calling a function with repeated keyword arguments,
-  f(a=2, a=23), would not cause a syntax error.  This was a regression
-  from 2.4 caused by the switch to the new compiler.
-
-- Issue #2862: Make int and float freelist management consistent with
-  other freelists.  Changes their CompactFreeList apis into
-  ClearFreeList apis and calls them via gc.collect().
-
-Library
--------
-
-- Issue #3554: ctypes.string_at and ctypes.wstring_at did call Python
-  api functions without holding the GIL, which could lead to a fatal
-  error when they failed.
-
-- Issue #799428: Fix Tkinter.Misc._nametowidget to unwrap Tcl command objects.
-
-- Issue #3395: fix reference in test_multiprocessing to old debugInfo method
-
-- Issue #3312: Fix two crashes in sqlite3.
-
-- Issue #1608818: Fix misbehavior in os.listdir() if readdir() fails.
-
-- Issue #3125: Remove copy_reg in multiprocessing and replace it with
-  ForkingPickler.register() to resolve conflict with ctypes.
-
-- Issue #3090: Fixed ARCHFLAGS parsing on OS/X
-
-- Issue #3313: Fixed a crash when a failed dlopen() call does not set
-  a valid dlerror() message.
-
-- Issue #3258: Fixed a crash when a ctypes POINTER type to an
-  incomplete structure was created.
-
-- Issue #3339: dummy_thread.acquire() should not return None.
-
-- Issue #3285: Fractions from_float() and from_decimal() accept Integral arguments.
-
-- Issue #3301: Bisect module behaved badly when lo was negative.
-
-- Issue #839496: SimpleHTTPServer used to open text files in text mode. This is
-  both unnecessary (HTTP allows text content to be sent in several forms) and
-  wrong because the actual transmitted size could differ from the
-  content-length.  The problem had been corrected in the 2.4 branch, but never
-  merged into trunk.
-
-- Issue #2663: add filtering capability to shutil.copytree().
-
-- Issue #1622: Correct interpretation of various ZIP header fields.
-
-- Issue #1526: Allow more than 64k files to be added to Zip64 file.
-
-- Issue #1746: Correct handling of zipfile archive comments (previously
-  archives with comments over 4k were flagged as invalid). Allow writing
-  Zip files with archives by setting the 'comment' attribute of a ZipFile.
-
-- Issue #449227: The rlcompleter module now adds "(" to callable objects
-  when completed.
-
-- Issue #3190: Pydoc now hides the automatic module attribute __package__ (the
-  handling is now the same as that of other special attributes like __name__).
-
-- Issue #2885 (partial): The urllib.urlopen() function has been deprecated for
-  removal in Python 3.0 in favor of urllib2.urlopen().
-
-- Issue #2113: Fix error in subprocess.Popen if the select system call is
-  interrupted by a signal.
-
-- Issue #3309: Fix bz2.BZFile iterator to release its internal lock
-  properly when raising an exception due to the bz2file being closed.
-  Prevents a deadlock.
-
-- Issue #3094: httplib.HTTPSConnection Host: headers no longer include the
-  redundant ":443" port number designation when the connection is using the
-  default https port (443).
-
-- Issue #874900: after an os.fork() call the threading module state is cleaned
-  up in the child process to prevent deadlock and report proper thread counts
-  if the new process uses the threading module.
-
-Tests
------
-
-- test.test_support.catch_warning now keeps track of all warnings it sees
-  and is now better documented. Explicit unit tests for this context manager
-  have been added to test_warnings.
-
-Build
------
-
-- Issue #3215: Build sqlite3 as sqlite3.dll, not sqlite3.pyd.
-
-Documentation
--------------
-
-- Document that robotparser has been renamed to urllib.robotparser in
-  Python 3.0.
-
-- Document that urlparse has been renamed to urllib.parse in Python 3.0.
-
-- Document that urllib2 is split across multiple modules and renamed in
-  Python 3.0.
-
-- Document that urllib is split across multiple modules and renamed in
-  Python 3.0.
-
-
-What's New in Python 2.6 beta 1?
-================================
-
-*Release date: 18-June-2008*
-
-Core and Builtins
------------------
-
-- Issue #3211: warnings.warn_explicit() did not guard against its 'registry'
-  argument being anything other than a dict or None. Also fixed a bug in error
-  handling when 'message' and 'category' were both set to None, triggering a
-  bus error.
-
-- Issue #3100: Corrected a crash on deallocation of a subclassed weakref which
-  holds the last (strong) reference to its referent.
-
-- Add future_builtins.ascii().
-
-- Several set methods now accept multiple arguments: update(), union(),
-  intersection(), intersection_update(), difference(), and difference_update().
-
-- Issue #2898: Added sys.getsizeof() to retrieve size of objects in bytes.
-
-- New environment variable PYTHONIOENCODING.
-
-- Patch #2488: Add sys.maxsize.
-
-- Issue #2353: file.xreadlines() now emits a Py3k warning.
-
-- Issue #2863: generators now have a ``gen.__name__`` attribute that
-  equals ``gen.gi_code.co_name``, like ``func.__name___`` that equals
-  ``func.func_code.co_name``.  The repr() of a generator now also
-  contains this name.
-
-- Issue #2831: enumerate() now has a ``start`` argument.
-
-- Issue #2801: fix bug in the float.is_integer method where a
-  ValueError was sometimes incorrectly raised.
-
-- Issue #2790: sys.flags was not properly exposing its bytes_warning
-  attribute.
-
-- Issue #2196: hasattr() now lets exceptions which do not inherit
-  Exception (KeyboardInterrupt, and SystemExit) propagate instead of
-  ignoring them.
-
-- Added checks for integer overflows, contributed by Google. Some are
-  only available if asserts are left in the code, in cases where they
-  can't be triggered from Python code.
-
-Extension Modules
------------------
-- Issue #1179: [CVE-2007-4965] Integer overflow in imageop module.
-
-- Issue #3116: marshal.dumps() had quadratic behavior for strings > 32Mb.
-
-- Issue #2138: Add factorial() to the math module.
-
-- The heapq module does comparisons using LT instead of LE.  This
-  makes its implementation match that used by list.sort().
-
-- Issue #2819: add full-precision summation function to math module,
-  based on Hettinger's ASPN Python Cookbook recipe.
-
-- Issue #2592: delegate nb_index and the floor/truediv slots in
-  weakref.proxy.
-
-- Support os.O_ASYNC and fcntl.FASYNC if the constants exist on the
-  platform.
-
-- Support for Windows 9x has been removed from the winsound module.
-
-- bsddb module updated to version 4.7.3.
-  http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.7.3. This
-  code should be compatible with Python 3.0.
-
-- Issue #2858: Fix potential memory corruption when
-  bsddb.db.DBEnv.lock_get and other bsddb.db object constructors
-  raised an exception.
-
-- Issue #2669: bsddb/__init__.py iteration no longer silently fails when
-  the database has changed size during iteration.  It now raises a
-  RuntimeError in the same manner as a dictionary.
-
-- Issue #2870: cmathmodule.c compile error.
-
-- Added a threading.Thread.ident property.
-
-Library
--------
-
-- logging.config: Removed out-of-date comment in _install_handlers and
-  used issubclass in place of equality comparison of classes.
-
-- Issue #2722: Now the os.getcwd() supports very long path names.
-
-- Issue #2888: Fixed the behaviour of pprint when working with nested
-  structures, to match the behaviour of 2.5 and 3.0 (now follows the common
-  sense).
-
-- Issue #1817: cgi now correctly handles the querystring on POST requests
-
-- Issue #3136: fileConfig()'s disabling of old loggers is now conditional via
-  an optional disable_existing_loggers parameter, but the default value is
-  such that the old behaviour is preserved. Thanks to Leandro Lucarella for
-  the patch.
-
-- Issue #3126: StreamHandler and FileHandler check before calling "flush" and
-  "close" that the stream object has these, using hasattr (thanks to bobf for
-  the patch).
-
-- Issue #2912: platform.uname now tries to determine unknown information even if
-  os.uname exists.
-
-- The rfc822 module has been deprecated for removal in 3.0.
-
-- The mimetools module has been deprecated for removal in 3.0.
-
-- The ctypes.byref function now takes an optional second parameter
-  which specifies an offset in bytes for the constructed pointer-like object.
-
-- Added the ast module.
-
-- Added the multiprocessing module, PEP 371.
-
-- Factored out the indentation cleaning from inspect.getdoc() into
-  inspect.cleandoc() to ease standalone use.
-
-- Issue #1798: Add ctypes calling convention that allows safe access
-  to errno.
-
-- Issue #2404: ctypes objects support the new pep3118 buffer interface.
-
-- Patch #2125: Add GetInteger and GetString methods for
-  msilib.Record objects.
-
-- Issue #2782: The datetime module's strftime methods now accept
-  unicode format strings just as time.strftime always has.
-
-- The sgmllib and htmllib modules have been deprecated for removal
-  in Python 3.0.
-
-- Issue #3011: locale module alias table was updated to the latest
-  version from the X.org locale.alias file.
-
-- Issue #1797 (partial fix): ctypes NULL function pointers have a
-  False boolean value now.
-
-- Issue #2985: Allow 64-bit integer responses (``<i8>``) in XMLRPC
-  transfers.
-
-- Issue #2877: The UserString.MutableString class has been removed in
-  Python 3.0.
-
-- Do not close external file objects passed to tarfile.open(mode='w:bz2')
-  when the TarFile is closed.
-
-- Issue #2959: For consistency with other file-like objects, gzip's
-  GzipFile.close() can now be called multiple times without raising
-  an exception.
-
-- Issue #1390: Raise ValueError in toxml when an invalid comment would
-  otherwise be produced.
-
-- Issue #2914: TimedRotatingFileHandler now takes an optional keyword
-  argument "utc" to use UTC time rather than local time.
-
-- Issue #2929: TimedRotatingFileHandler was using the wrong path when
-  deleting old log files (filename only instead of full path).
-
-- Issue #1775025: You can now specify zipfile members to open(),
-  read() or extract() via a ZipInfo instance.  This allows handling
-  duplicate filenames in zipfiles.
-
-- Issue #961805: Fix Text.edit_modified() in Tkinter.
-
-- Issue #1793: Function ctypes.util.find_msvcrt() added that returns
-  the name of the C runtime library that Python uses.
-  ctypes.util.find_library(name) now call this function when name is
-  'm' or 'c'.
-
-- The statvfs module has been deprecated for removal in Python 3.0.
-
-- The sunaudiodev and SUNAUDIODEV modules have been deprecated for
-  removal in Python 3.0.
-
-- The WAIT module from IRIX has been deprecated for removal in Python
-  3.0.
-
-- The torgb module from IRIX has been deprecated for removal in Python
-  3.0.
-
-- The SV module from IRIX has been deprecated for removal in Python
-  3.0.
-
-- The readcd module from IRIX has been deprecated for removal in
-  Python 3.0.
-
-- The panelparser module from IRIX has been deprecated for removal in
-  Python 3.0.
-
-- The panel module from IRIX has been deprecated for removal in Python
-  3.0.
-
-- The jpeg module from IRIX has been deprecated for removal in Python
-  3.0.
-
-- The IOCTL module from IRIX has been deprecated for removal in Python
-  3.0.
-
-- The IN module from IRIX has been deprecated for removal in Python
-  3.0.
-
-- The imgfile module from IRIX has been deprecated for removal in
-  Python 3.0.
-
-- The GLWS module from IRIX has been deprecated for removal in Python
-  3.0.
-
-- The GET module from IRIX has been deprecated for removal in Python
-  3.0.
-
-- The fm module from IRIX has been deprecated for removal in Python
-  3.0.
-
-- The FL, flp, and fl modules from IRIX have been deprecated for
-  removal in Python 3.0.
-
-- The FILE module on IRIX has been deprecated for removal in Python
-  3.0.
-
-- The ERRNO module on IRIX has been deprecated for removal in Python
-  3.0.
-
-- The DEVICE, GL, gl, and cgen modules (which indirectly includes
-  cgensupport) have been deprecated for removal in Python 3.0.
-
-- The CL, CL_old, and cl modules for IRIX have been deprecated for
-  removal in Python 3.0.
-
-- The cdplayer module for IRIX has been deprecated for removal in
-  Python 3.0.
-
-- The cddb module for IRIX has been deprecated for removal in Python
-  3.0.
-
-- The cd and CD modules for IRIX have been deprecated for removal in
-  Python 3.0.
-
-- The al and AL modules for IRIX have been deprecated for removal in
-  Python 3.0.
-
-- Issue #1713041: fix pprint's handling of maximum depth.
-
-- The timing module has been deprecated for removal in Python 3.0.
-
-- The sv module has been deprecated for removal in Python 3.0.
-
-- The multifile module has been deprecated as per PEP 4.
-
-- The imageop module has been deprecated for removal in Python 3.0.
-
-- Issue #2250: Exceptions raised during evaluation of names in
-  rlcompleter's ``Completer.complete()`` method are now caught and
-  ignored.
-
-- Issue #2659: Added ``break_on_hyphens`` option to textwrap
-  TextWrapper class.
-
-- The mhlib module has been deprecated for removal in Python 3.0.
-
-- The linuxaudiodev module has been deprecated for removal in Python
-  3.0.
-
-- The ihooks module has been deprecated for removal in Python 3.0.
-
-- The fpformat module has been deprecated for removal in Python 3.0.
-
-- The dl module has been deprecated for removal in Python 3.0.
-
-- The Canvas module has been deprecated for removal in Python 3.0.
-
-- The compiler package has been deprecated for removal in Python 3.0.
-
-- The Bastion and rexec modules have been deprecated for removal in
-  Python 3.0.
-
-- The bsddb185 module has been deprecated for removal in Python 3.0.
-
-- The pure module has been deprecated for removal in Python 3.0.
-
-- Issue #2487: change the semantics of math.ldexp(x, n) when n is too
-  large to fit in a C long.  ldexp(x, n) now returns a zero (with
-  suitable sign) if n is large and negative; previously, it raised
-  OverflowError.
-
-- The toaiff module has been deprecated for removal in Python 3.0.
-
-- The test.testall module has been deprecated for removal in Python
-  3.0.
-
-- The new module has been deprecated for removal in Python 3.0.
-
-- The user module has been deprecated for removal in Python 3.0.
-
-- The stringold module has been deprecated for removal in Python 3.0.
-
-- The mutex module has been deprecated for removal in Python 3.0.
-
-- The imputil module has been deprecated for removal in Python 3.0.
-
-- test.test_support.catch_warning() gained a 'record' argument.
-
-- os.path.walk is deprecated in favor of os.walk.
-
-- pdb gained the "until" command.
-
-- The Mac Modules (including Carbon) have been deprecated for removal
-  in Python 3.0.
-
-- Library: on MacOS X you can now set ``ARCHFLAGS`` in the shell
-  environment to control the '-arch' flags that are used to build
-  an extension. This was added for compatibility with Apple's build
-  of Python.
-
-- The bundled OSX-specific copy of libbffi is now in sync with the version
-  shipped with PyObjC 2.0 and includes support for x86_64 and ppc64 platforms.
-
-- The threading module gained aliases for names that will be removed in the
-  3.x series.
-
-Build
------
-
-- The Windows installer now includes Tk 8.5, bzip2 1.0.5, and SQLite 3.5.9.
-
-- Patch #1722225: Support QNX 6.
-
-- ``Lib/lib-old`` is now added to sys.path.
-
-- On MacOS X it is now possible to install the framework in 64-bit
-  mode or even as a 4-way universal binary (that is, PPC, i386,
-  PPC64 and x86_64 support in one binary).
-
-  This is controlled by the configure argument ``--with-universal-archs``:
-
-  - ``--with-universal-archs=all``: install 4-way universal
-
-  - ``--with-universal-archs=32-bit``: install 2-way universal, 32-bit (the default)
-
-  - ``--with-universal-archs=64-bit``: install 2-way universal, 64-bit
-
-  This option should be used in combination with ``--enable-universalsdk=``.
-
-  NOTE: 64-bit and 4-way builds are only suppported on Mac OS X 10.5 (or later).
-
-C API
------
-
-- Add ``PyType_Modified()`` as a public API to clear the type cache.
-
-- The PyBytes functions have been renamed to PyByteArray.
-
-- The PyString functions have been renamed to PyBytes. A batch of
-  defines were added so that the linker still sees the original
-  PyString names.
-
-
-What's New in Python 2.6 alpha 3?
-=================================
-
-*Release date: 08-May-2008*
-
-Core and builtins
------------------
-
-- Issue #2719: backported the ``next()`` builtin from Python 3.
-
-- Issue #2681: The octal literal ``0o8`` was incorrecly acctepted. Now
-  it properly raises a SyntaxError.
-
-- Issue #2617: Reserved -J and -X arguments for Jython, IronPython and
-  other implementations of Python.
-
-- Implemented PEP 370: Per user site-packages directory.
-
-Extension Modules
------------------
-
-- Issue #2670: Fix a failure in urllib2.build_opener(), when passed
-  two handlers that derive the same default base class.
-
-- Added kill, terminate and send_signal(sig) to subprocess.Popen.
-
-- Added phase(z) -> phi, polar(z) -> r, phi and rect(r, phi) -> z to
-  the cmath module.
-
-- Four new methods were added to the math and cmath modules: acosh,
-  asinh, atanh and log1p.
-
-- zlib.decompressobj().flush(value) no longer crashes the interpreter
-  when passed a value less than or equal to zero.
-
-- Issue #1631171: Re-implement the 'warnings' module in C (the
-  original Python code has been kept as backup). This will allow for
-  using the 'warning's machinery in such places as the parser where
-  use of pure Python code is not possible.  Both the ``showarning()``
-  and ``formatwarning()`` gain an optional 'line' argument which is
-  not called by default for backwards-compatibility reasons. Setting
-  ``warnings.showwarning()`` to an implementation that lacks support
-  for the ``line`` argument will raise a DeprecationWarning.
-
-Library
--------
-
-- The audiodev module has been deprecated for removal in Python 3.0.
-
-- Issue #2750: Add the 'json' package. Based on simplejson 1.9 and
-  contributed by Bob Ippolito.
-
-- Issue #1734346: Support Unicode file names for zipfiles.
-
-- Issue #2581: distutils: Vista UAC/elevation support for
-  bdist_wininst.
-
-- Issue #2635: Fix bug in 'fix_sentence_endings' textwrap.fill option,
-  where an extra space was added after a word containing (but not
-  ending in) '.', '!' or '?'.
-
-- Add from_buffer() and from_buffer_copy() class methods to ctypes
-  data types.
-
-- Issue #2682: ctypes callback functions no longer contain a cyclic
-  reference to themselves.
-
-- The getpass module has been improved on Unix.  It now uses /dev/tty
-  by default and uses stderr instead of stdout.  A GetPassWarning is
-  issued when input echo cannot be controlled.
-
-- Issue #2014: Allow XML-RPC datetime objects to have dates before
-  1900-01-01.
-
-- Issue #2439: Added new function pkgutil.get_data(), which is a
-  convenience wrapper for the PEP 302 get_data() API.
-
-- Issue #2616: The ctypes.pointer() and ctypes.POINTER() functions are
-  now implemented in C for better performance.
-
-- Issue #2408: The ``_types`` module, which was used as in
-  implementation detail of the public ``types`` module, has been
-  removed and replaced by pure python code.
-
-- Issue #2513: distutils on Windows is now capable of cross-compiling
-  extension modules between 32 and 64 bit platforms.  See the distutls
-  build documentation for more information.
-
-- Issue #815646: Individual file objects may now be used from multiple
-  threads at once without fear of crashing the Python interpreter.  If
-  file.close() is called while an object is in use by another thread
-  an IOError exception will be raised and the file will not be closed.
-
-- The bundled libffi copy is now in sync with the recently released
-  libffi3.0.5 version, apart from some small changes to
-  Modules/_ctypes/libffi/configure.ac.
-
-- Issue #2385: distutils.core.run_script() makes __file__ available,
-  so the controlled environment will more closely mirror the typical
-  script environment.  This supports setup.py scripts that refer to
-  data files.
-
-Tests
------
-
-- Issue #2550: The approach used by client/server code for obtaining
-  ports to listen on in network-oriented tests has been refined in an
-  effort to facilitate running multiple instances of the entire
-  regression test suite in parallel without issue.
-  test_support.bind_port() has been fixed such that it will always
-  return a unique port -- which wasn't always the case with the
-  previous implementation, especially if socket options had been set
-  that affected address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT).  The
-  new implementation of bind_port() will actually raise an exception
-  if it is passed an AF_INET/SOCK_STREAM socket with either the
-  SO_REUSEADDR or SO_REUSEPORT socket option set.  Furthermore, if
-  available, bind_port() will set the SO_EXCLUSIVEADDRUSE option on
-  the socket it's been passed.  This currently only applies to
-  Windows.  This option prevents any other sockets from binding to the
-  host/port we've bound to, thus removing the possibility of the
-  'non-deterministic' behaviour, as Microsoft puts it, that occurs
-  when a second SOCK_STREAM socket binds and accepts to a host/port
-  that's already been bound by another socket.  The optional preferred
-  port parameter to bind_port() has been removed.  Under no
-  circumstances should tests be hard coding ports!
-
-  test_support.find_unused_port() has also been introduced, which will
-  pass a temporary socket object to bind_port() in order to obtain an
-  unused port.  The temporary socket object is then closed and
-  deleted, and the port is returned.  This method should only be used
-  for obtaining an unused port in order to pass to an external program
-  (i.e. the -accept [port] argument to openssl's s_server mode) or as
-  a parameter to a server-oriented class that doesn't give you direct
-  access to the underlying socket used.
-
-  Finally, test_support.HOST has been introduced, which should be used
-  for the host argument of any relevant socket calls (i.e. bind and
-  connect).
-
-  The following tests were updated to following the new conventions:
-    test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib,
-    test_poplib, test_ftplib, test_telnetlib, test_socketserver,
-    test_asynchat and test_socket_ssl.
-
-  It is now possible for multiple instances of the regression test
-  suite to run in parallel without issue.
-
-Build
------
-
-- Issue #1496032: On alpha, use -mieee when gcc is the compiler.
-
-- Issue #2544: On HP-UX systems, use 'gcc -shared' for linking when
-  gcc is used as compiler.
-
-- Issue #2573: On MacOS X it is now possible to install the framework
-  with a different name using --with-framework-name=NAME.
-
-C API
------
-
-- Added implementation of copysign, acosh, asinh, atanh and log1p to
-  the new files Include/pymath.h and Python/pymath.h for platforms
-  which provide the functions through their libm. The files also
-  contains several helpers and constants for math.
-
-- Added a new convenience macro, PyErr_WarnPy3k, for issuing Py3k warnings.
-
-
-What's New in Python 2.6 alpha 2?
-=================================
-
-*Release date: 02-Apr-2008*
-
-Core and builtins
------------------
-
-- Issue #1733757: The interpreter would hang on shutdown if the
-  tracing function set by sys.settrace is still active and happens to
-  call threading.currentThread().
-
-- Patch #1442: properly report exceptions when the PYTHONSTARTUP file
-  cannot be executed.
-
-- The compilation of a class nested in another class used to leak one
-  reference on the outer class name.
-
-- Patch #1810: compile() can now compile _ast trees as returned by
-  ``compile(..., PyCF_ONLY_AST)``.
-
-- Patch #2426: Added sqlite3.Connection.iterdump method to allow easy
-  dumping of databases.  Contributed by Paul Kippes at PyCon 2008.
-
-- Patch #2477: Added from __future__ import unicode_literals.
-
-- Added backport of bytearray type.
-
-- Issue #2355: add Py3k warning for buffer().
-
-- Issue #1477: With narrow Unicode builds, the unicode escape sequence
-  \Uxxxxxxxx did not accept values outside the Basic Multilingual
-  Plane.  This affected raw unicode literals and the
-  'raw-unicode-escape' codec.  Now UTF-16 surrogates are generated in
-  this case, like normal unicode literals and the 'unicode-escape'
-  codec.
-
-- Issue #2348: add Py3k warning for file.softspace.
-
-- Issue #2346/#2347: add Py3k warnings for __methods__ and
-  __members__.
-
-- Issue #2358: Add a Py3k warning on sys.exc_clear() usage.
-
-- Issue #2400: Allow relative imports to "import *".
-
-- Issue #1745: Backport print function with ``from __future__ import
-  print_function``.
-
-- Issue #2332: add new attribute names for instance method objects.
-  The two changes are: im_self -> __self__ and im_func -> __func__
-
-- Issue #2379: Raise a Py3K warning for __getitem__ or __getslice__ on
-  exception instances.
-
-- Issue #2371: Add a Py3k warning when catching an exception that
-  doesn't derive from BaseException.
-
-- Issue #2341: Add a Py3k warning when raising an exception that
-  doesn't derive from BaseException.
-
-- Issue #2321: use pymalloc for unicode object string data to reduce
-  memory usage in some circumstances.
-
-- PEP 3127: octal literals now start with "0o". Old-style octal
-  literals are still valid. There are binary literals with a prefix of
-  "0b".  This also affects int(x, 0).
-
-- Issue #2359: Adding deprecation warnings for array.{read,write}.
-
-- Issue #1779871: GNU gcc can now build Python on OS X because the
-  flags -Wno-long-double, -no-cpp-precomp, and -mno-fused-madd are no
-  longer passed.
-
-- Add a warning when asserting a non-empty tuple which is always true.
-
-- Issue #2179: speed up with statement execution by storing the exit
-  method on the stack instead of in a temporary variable (patch by
-  Jeffrey Yaskin)
-
-- Issue #2238: Some syntax errors in *args and **kwargs expressions
-  could give bogus error messages.
-
-- Issue #2143: Fix embedded readline() hang on SSL socket EOF.
-
-Extension Modules
------------------
-
-- Patch #2240: Implement signal.setitimer and signal.getitimer.
-
-Library
--------
-
-- Issue #2315: logging.handlers: TimedRotatingFileHandler now accounts
-  for daylight savings time in calculating the next rollover.
-
-- Issue #2316: logging.handlers: TimedRotatingFileHandler now
-  calculates rollovers correctly even when nothing is logged for a
-  while.
-
-- Issue #2317: logging.handlers: TimedRotatingFileHandler now uses
-  improved logic for removing old files.
-
-- Issue #2495: tokenize.untokenize now inserts a space between two
-  consecutive string literals; previously, ["" ""] was rendered as
-  [""""], which is incorrect python code.
-
-- Issue #2248: return the result of the QUIT command. from
-  SMTP.quit().
-
-- Backport of Python 3.0's io module.
-
-- Issue #2482: Make sure that the coefficient of a Decimal is always
-  stored as a str instance, not as a unicode instance.  This ensures
-  that str(Decimal) is always an instance of str.
-
-- Issue #2478: fix failure of decimal.Decimal(0).sqrt()
-
-- Issue #2432: give DictReader the dialect and line_num attributes
-  advertised in the docs.
-
-- Issue #2460: Make Ellipsis object copyable.
-
-- Issue #1681432: Add triangular distribution to the random module
-
-- Issue #2136: urllib2's auth handler now allows single-quoted realms
-  in the WWW-Authenticate header.
-
-- Issue #2434: Enhanced platform.win32_ver() to also work on Python
-  installation which do not have the win32all package installed.
-
-- Added support to platform.uname() to also report the machine and
-  processor information on Windows XP and later. As a result,
-  platform.machine() and platform.processor() will report this
-  information as well.
-
-- The library implementing the 2to3 conversion, lib2to3, was added to
-  the standard distribution.
-
-- Issue #1747858: Fix chown to work with large uid's and gid's on
-  64-bit platforms.
-
-- Issue #1202: zlib.crc32 and zlib.adler32 no longer return different
-  values on 32-bit vs. 64-bit python interpreters.  Both were correct,
-  but they now both return a signed integer object for consistency.
-
-- Issue #1158: add %f format (fractions of a second represented as
-  microseconds) to datetime objects.  Understood by both strptime and
-  strftime.
-
-- Issue #705836: struct.pack(">f", x) now raises OverflowError on all
-  platforms when x is too large to fit into an IEEE 754 float;
-  previously it only raised OverflowError on non IEEE 754 platforms.
-
-- Issues #2166, #1741 and #1531505: now distutils deals with HOME
-  correctly under win32
-
-- Patch #1858: distutils: added multiple server support in .pypirc
-
-- Issue #1106316: pdb.post_mortem()'s parameter, "traceback", is now
-  optional: it defaults to the traceback of the exception that is
-  currently being handled (is mandatory to be in the middle of an
-  exception, otherwise it raises ValueError).
-
-- Issue #1193577: A .shutdown() method has been added to SocketServers
-  which terminates the .serve_forever() loop.
-
-- Issue #2220: handle rlcompleter attribute match failure more
-  gracefully.
-
-- Issue #2225: py_compile, when executed as a script, now returns a
-  non- zero status code if not all files could be compiled
-  successfully.
-
-- Bug #1725737: In distutils' sdist, exclude RCS, CVS etc. also in the
-  root directory, and also exclude .hg, .git, .bzr, and _darcs.
-
-- Issue #1872: The struct module typecode for _Bool has been changed
-  from 't' to '?'.
-
-- The bundled libffi copy is now in sync with the recently released
-  libffi3.0.4 version, apart from some small changes to
-  Modules/_ctypes/libffi/configure.ac.  On OS X, preconfigured libffi
-  files are used.  On all linux systems the --with-system-ffi
-  configure option defaults to "yes".
-
-- Issue #1577: shutil.move() now calls os.rename() if the destination
-  is a directory instead of copying-then-remove-source.
-
-Tests
------
-
-- test_nis no longer fails when test.test_support.verbose is true and
-  NIS is not set up on the testing machine.
-
-- Output comparison tests are no longer supported.
-
-- Rewrite test_errno to use unittest and no longer be a no-op.
-
-- GHOP 234: Convert test_extcall to doctest.
-
-- GHOP 290: Convert test_dbm and test_dummy_threading to unittest.
-
-- GHOP 293: Convert test_strftime, test_getargs, and test_pep247 to
-  unittest.
-
-- Issue #2055: Convert test_fcntl to unittest.
-
-- Issue #1960: Convert test_gdbm to unittest.
-
-- GHOP 294: Convert test_contains, test_crypt, and test_select to
-  unittest.
-
-- GHOP 238: Convert test_tokenize to use doctest.
-
-- GHOP 237: Rewrite test_thread using unittest.
-
-- Patch #2232: os.tmpfile might fail on Windows if the user has no
-  permission to create files in the root directory.
-
-Build
------
-
-- A new script 2to3 is now installed, to run the 2.x to 3.x converter.
-
-- Python/memmove.c and Python/strerror.c have been removed; both
-  functions are in the C89 standard library.
-
-- Patch #2284: Add -x64 option to rt.bat.
-
-C API
------
-
-- Patch #2477: Added PyParser_ParseFileFlagsEx() and
-  PyParser_ParseStringFlagsFilenameEx().
-
-
-What's New in Python 2.6 alpha 1?
-=================================
-
-*Release date: 29-Feb-2008*
-
-Core and builtins
------------------
-
-- Issue #2051: pyc and pyo files are no longer created with permission
-  644. The mode is now inherited from the py file.
-
-- Issue #2067: file.__exit__() now calls subclasses' close() method.
-
-- Patch #1759: Backport of PEP 3129 class decorators.
-
-- Issue #1881: An internal parser limit has been increased. Also see
-  issue #215555 for a discussion.
-
-- Added the future_builtins module, which contains hex() and oct().
-  These are the PEP 3127 version of these functions, designed to be
-  compatible with the hex() and oct() builtins from Python 3.0.  They
-  differ slightly in their output formats from the existing, unchanged
-  Python 2.6 builtins.  The expected usage of the future_builtins
-  module is:
-    from future_builtins import hex, oct
-
-- Issue #1600: Modified PyOS_ascii_formatd to use at most 2 digit
-  exponents for exponents with absolute value < 100.  Follows C99
-  standard.  This is a change on Windows, which would use 3 digits.
-  Also, added 'n' to the formats that PyOS_ascii_formatd understands,
-  so that any alterations it does to the resulting string will be
-  available in stringlib/formatter.h (for float.__format__).
-
-- Implemented PEP 3101, Advanced String Formatting.  This adds a new
-  builtin format(); a format() method for str and unicode; a
-  __format__() method to object, str, unicode, int, long, float, and
-  datetime; the class string.Formatter; and the C API
-  PyObject_Format().
-
-- Fixed several potential crashes, all caused by specially crafted
-  __del__ methods exploiting objects in temporarily inconsistent
-  state.
-
-- Issue #2115: Important speedup in setting __slot__ attributes.  Also
-  prevent a possible crash: an Abstract Base Class would try to access
-  a slot on a registered virtual subclass.
-
-- Fixed repr() and str() of complex numbers with infinity or nan as
-  real or imaginary part.
-
-- Clear all free lists during a gc.collect() of the highest generation
-  in order to allow pymalloc to free more arenas. Python may give back
-  memory to the OS earlier.
-
-- Issue #2045: Fix an infinite recursion triggered when printing a
-  subclass of collections.defaultdict, if its default_factory is set
-  to a bound method.
-
-- Fixed a minor memory leak in dictobject.c. The content of the free
-  list was not freed on interpreter shutdown.
-
-- Limit free list of method and built-in function objects to 256
-  entries each.
-
-- Patch #1953: Added ``sys._compact_freelists()`` and the C API
-  functions ``PyInt_CompactFreeList`` and ``PyFloat_CompactFreeList``
-  to compact the internal free lists of pre-allocted ints and floats.
-
-- Issue #1983: Fixed return type of fork(), fork1() and forkpty()
-  calls.  Python expected the return type int but the fork familie
-  returns pi_t.
-
-- Issue #1678380: Fix a bug that identifies 0j and -0j when they
-  appear in the same code unit.
-
-- Issue #2025: Add tuple.count() and tuple.index() methods to comply
-  with the collections.Sequence API.
-
-- Patch #1970 by Antoine Pitrou: Speedup unicode whitespace and
-  linebreak detection
-
-- Added ``PyType_ClearCache()`` and ``sys._clear_type_cache`` to clear
-  the internal lookup cache for ref leak tests.
-
-- Patch #1473257: generator objects gain a gi_code attribute. This is
-  the same object as the func_code attribute of the function that
-  produced the generator.
-
-- Issue #1920: "while 0" statements were completely removed by the
-  compiler, even in the presence of an "else" clause, which is
-  supposed to be run when the condition is false. Now the compiler
-  correctly emits bytecode for the "else" suite.
-
-- A few crashers fixed: weakref_in_del.py (issue #1377858);
-  loosing_dict_ref.py (issue #1303614, test67.py);
-  borrowed_ref_[34].py (not in tracker).
-
-- Issue #1069410: The "can't load dll" message box on Windows is
-  suppressed while an extension is loaded by calling SetErrorMode in
-  dynload_win.c. The error is still reported properly.
-
-- Issue #1915: Python compiles with --enable-unicode=no again. However
-  several extension methods and modules do not work without unicode
-  support.
-
-- Issue #1882: when compiling code from a string, encoding cookies in the
-  second line of code were not always recognized correctly.
-
-- Issue #1679: "0x" was taken as a valid integer literal.
-
-- Issue #1865: ``bytes`` as an alias for ``str`` and b"" as an alias "" were
-  added.
-
-- sys.float_info / PyFloat_GetInfo: The floating point information
-  object was converted from a dict to a specialized structseq object.
-
-- Patch #1816: Added sys.flags structseq. It exposes the status of
-  most command line arguments and PYTHON* environment variables.
-
-- Objects/structseq.c: Implemented new structseq representation. The
-  patch makes structseqs (e.g. the return value of os.stat) more
-  readable.
-
-- Patch #1700288: added a type attribute cache that caches method
-  accesses, resulting in speedups in heavily object-oriented code.
-
-- Bug #1776: __import__() no longer accepts filenames on any platform.
-  The first parameter to __import__() must be a valid module name.
-
-- Patch #1668: renamed THREADDEBUG envvar to PYTHONTHREADDEBUG.
-
-- Patch #602345: Add -B command line option, PYTHONDONTWRITEBYTECODE
-  envvar and sys.dont_write_bytecode attribute. All these can be set
-  to forbid Python to attempt to write compiled bytecode files.
-
-- Improve some exception messages when Windows fails to load an
-  extension module. Now we get for example '%1 is not a valid Win32
-  application' instead of 'error code 193'.
-
-- Bug #1481296: Fixed long(float('nan')) != 0L.
-
-- Issue #1640: Added math.isinf(x), math.isnan(x) and math.copysign(x,
-  y) functions.
-
-- Issue #1635: Platform independent creation and representation of NaN
-  and INF. float("nan"), float("inf") and float("-inf") now work on
-  every platform with IEEE 754 semantics.
-
-- Compiler now generates simpler and faster code for dictionary
-  literals.  The oparg for BUILD_MAP now indicates an estimated
-  dictionary size.  There is a new opcode, STORE_MAP, for adding
-  entries to the dictionary.
-
-- Issue #1638: %zd configure test fails on Linux.
-
-- Issue #1620: New property decorator syntax was modifying the
-  decorator in place instead of creating a new decorator object.
-
-- Issue #1538: Avoid copying string in split/rsplit if the split char
-  is not found.
-
-- Issue #1553: An erroneous __length_hint__ can make list() raise a
-  SystemError.
-
-- PEP 366: Allow explicit relative imports when executing modules
-  inside packages with the -m switch via a new module level
-  __package__ attribute.
-
-- Issue #1402: Fix a crash on exit, when another thread is still
-  running, and if the deallocation of its frames somehow calls the
-  PyGILState_Ensure() / PyGILState_Release() functions.
-
-- Expose the Py_Py3kWarningFlag as sys.py3kwarning.
-
-- Issue #1445: Fix a SystemError when accessing the ``cell_contents``
-  attribute of an empty cell object.
-
-- Issue #1460: The utf-7 incremental decoder did not accept truncated
-  input.  It now correctly saves its state between chunks of data.
-
-- Patch #1739468: Directories and zipfiles containing a __main__.py
-  file can now be directly executed by passing their name to the
-  interpreter. The directory/zipfile is automatically inserted as the
-  first entry in sys.path.
-
-- Issue #1265: Fix a problem with sys.settrace, if the tracing
-  function uses a generator expression when at the same time the
-  executed code is closing a paused generator.
-
-- sets and frozensets now have an isdisjoint() method.
-
-- optimize the performance of builtin.sum().
-
-- Fix warnings found by the new version of the Coverity checker.
-
-- The enumerate() built-in function is no longer bounded to sequences
-  smaller than LONG_MAX.  Formerly, it raised an OverflowError.  Now,
-  automatically shifts from ints to longs.
-
-- Issue #1686386: Tuple's tp_repr did not take into account the
-  possibility of having a self-referential tuple, which is possible
-  from C code.  Nor did object's tp_str consider that a type's tp_str
-  could do something that could lead to an inifinite recursion.
-  Py_ReprEnter() and Py_EnterRecursiveCall(), respectively, fixed the
-  issues.
-
-- Issue #1164: It was possible to trigger deadlock when using the
-  'print' statement to write to a file since the GIL was not released
-  as needed.  Now PyObject_Print() does the right thing along with
-  various tp_print implementations of the built-in types and those in
-  the collections module.
-
-- Issue #1147: Exceptions were directly allowing string exceptions in
-  their throw() method even though string exceptions no longer
-  allowed.
-
-- Issue #1096: Prevent a segfault from getting the repr of a very
-  deeply nested list by using the recursion counter.
-
-- Issue #1202533: Fix infinite recursion calls triggered by calls to
-  PyObject_Call() never calling back out to Python code to trigger
-  recursion depth updates/checks.  Required the creation of a static
-  RuntimeError instance in case normalizing an exception put the
-  recursion check value past its limit.  Fixes crashers
-  infinite_rec_(1|2|4|5).py.
-
-- Patch #1031213: Decode source line in SyntaxErrors back to its
-  original source encoding.
-
-- Patch #1673759: add a missing overflow check when formatting floats
-  with %G.
-
-- Prevent expandtabs() on string and unicode objects from causing a
-  segfault when a large width is passed on 32-bit platforms.
-
-- Issue #1733488: Fix compilation of bufferobject.c on AIX.
-
-- Issue #1722485: remove docstrings again when running with -OO.
-
-- Add new attribute names for function objects.  All the func_* become
-  __*__ attributes.  (Some already existed, e.g., __doc__ and
-  __name__.)
-
-- Add -3 option to the interpreter to warn about features that are
-  deprecated and will be changed/removed in Python 3.0.
-
-- Patch #1686487: you can now pass any mapping after '**' in function
-  calls.
-
-- except clauses may now be spelled either "except E, target:" or
-  "except E as target:". This is to provide forwards compatibility
-  with Python 3.0.
-
-- Deprecate BaseException.message as per PEP 352.
-
-- Issue #1303614: don't expose object's __dict__ when the dict is
-  inherited from a built-in base.
-
-- When __slots__ are set to a unicode string, make it work the same as
-  setting a plain string, ie don't expand to single letter identifiers.
-
-- Request #1191699: Slices can now be pickled.
-
-- Request #1193128: str.translate() now allows a None argument for
-  translations that only remove characters without re-mapping the
-  remaining characters.
-
-- Patch #1682205: a TypeError while unpacking an iterable is no longer
-  masked by a generic one with the message "unpack non-sequence".
-
-- Remove unused file Python/fmod.c.
-
-- Bug #1683368: The object.__init__() and object.__new__() methods are
-  now stricter in rejecting excess arguments.  The only time when
-  either allows excess arguments is when it is not overridden and the
-  other one is.  For backwards compatibility, when both are
-  overridden, it is a deprecation warning (for now; maybe a Py3k
-  warning later).  Also, type.__init__() insists on the same signature
-  as supported by type.__new__().
-
-- Patch #1675423: PyComplex_AsCComplex() now tries to convert an
-  object to complex using its __complex__() method before falling back
-  to the __float__() method. Therefore, the functions in the cmath
-  module now can operate on objects that define a __complex__()
-  method.
-
-- Patch #1623563: allow __class__ assignment for classes with
-  __slots__.  The old and the new class are still required to have the
-  same slot names.
-
-- Patch #1642547: Fix an error/crash when encountering syntax errors
-  in complex if statements.
-
-- Patch #1462488: Python no longer segfaults when
-  ``object.__reduce_ex__()`` is called with an object that is faking
-  its type.
-
-- Patch #1680015: Don't modify __slots__ tuple if it contains a
-  unicode name.
-
-- Patch #1444529: the builtin compile() now accepts keyword arguments.
-
-- Bug #1678647: write a newline after printing an exception in any
-  case, even when converting the value to a string failed.
-
-- The dir() function has been extended to call the __dir__() method on
-  its argument, if it exists. If not, it will work like before. This
-  allows customizing the output of dir() in the presence of a
-  __getattr__().
-
-- Patch #922167: Python no longer segfaults when faced with infinitely
-  self-recursive reload() calls (as reported by bug #742342).
-
-- Patch #1675981: remove unreachable code from ``type.__new__()``
-  method.
-
-- Patch #1491866: change the complex() constructor to allow
-  parthensized forms. This means complex(repr(x)) now works instead of
-  raising a ValueError.
-
-- Patch #703779: unset __file__ in __main__ after running a file. This
-  makes the filenames the warning module prints much more sensible
-  when a PYTHONSTARTUP file is used.
-
-- Variant of patch #697613: don't exit the interpreter on a SystemExit
-  exception if the -i command line option or PYTHONINSPECT environment
-  variable is given, but break into the interactive interpreter just
-  like on other exceptions or normal program exit.
-
-- Patch #1638879: don't accept strings with embedded NUL bytes in
-  long().
-
-- Bug #1674503: close the file opened by execfile() in an error
-  condition.
-
-- Patch #1674228: when assigning a slice (old-style), check for the
-  sq_ass_slice instead of the sq_slice slot.
-
-- When printing an unraisable error, don't print exceptions. before
-  the name.  This duplicates the behavior whening normally printing
-  exceptions.
-
-- Bug #1653736: Properly discard third argument to
-  slot_nb_inplace_power.
-
-- PEP 352: Raising a string exception now triggers a TypeError.
-  Attempting to catch a string exception raises DeprecationWarning.
-
-- Bug #1377858: Fix the segfaulting of the interpreter when an object
-  created a weakref on itself during a __del__ call for new-style
-  classes (classic classes still have the bug).
-
-- Bug #1579370: Make PyTraceBack_Here use the current thread, not the
-  frame's thread state.
-
-- patch #1630975: Fix crash when replacing sys.stdout in
-  sitecustomize.py.
-
-- Prevent seg fault on shutdown which could occur if an object raised
-  a warning.
-
-- Bug #1566280: Explicitly invoke threading._shutdown from Py_Main, to
-  avoid relying on atexit.
-
-- Bug #1590891: random.randrange don't return correct value for big
-  number.
-
-- Patch #1586791: Better exception messages for some operations on
-  strings, tuples and lists.
-
-- Bug #1067760: Deprecate passing floats to file.seek.
-
-- Bug #1591996: Correctly forward exception in instance_contains().
-
-- Bug #1588287: fix invalid assertion for `1,2` in debug builds.
-
-- Bug #1576657: when setting a KeyError for a tuple key, make sure
-  that the tuple isn't used as the "exception arguments tuple".
-
-- Bug #1565514: SystemError not raised on too many nested blocks.
-
-- Bug #1576174: WindowsError now displays the windows error code
-  again, no longer the posix error code.
-
-- Patch #1549049: Support long values in structmember, issue warnings
-  if the assigned value for structmember fields gets truncated.
-
-- Update the peephole optimizer to remove more dead code (jumps after
-  returns) and inline unconditional jumps to returns.
-
-- Bug #1545497: when given an explicit base, int() did ignore NULs
-  embedded in the string to convert.
-
-- Bug #1569998: break inside a try statement (outside a loop) is now
-  recognized and rejected.
-
-- list.pop(x) accepts any object x following the __index__ protocol.
-
-- A number of places, including integer negation and absolute value,
-  were fixed to not rely on undefined behaviour of the C compiler
-  anymore.
-
-- Bug #1566800: make sure that EnvironmentError can be called with any
-  number of arguments, as was the case in Python 2.4.
-
-- Patch #1567691: super() and new.instancemethod() now don't accept
-  keyword arguments any more (previously they accepted them, but
-  didn't use them).
-
-- Fix a bug in the parser's future statement handling that led to
-  "with" not being recognized as a keyword after, e.g., this
-  statement: from __future__ import division, with_statement
-
-- Bug #1557232: fix seg fault with def f((((x)))) and def f(((x),)).
-
-- Fix %zd string formatting on Mac OS X so it prints negative numbers.
-
-- Allow exception instances to be directly sliced again.
-
-- Bug #1551432: Exceptions do not define an explicit __unicode__
-  method.  This allows calling unicode() on exceptions classes
-  directly to succeed.
-
-- Bug #1542051: Exceptions now correctly call PyObject_GC_UnTrack.
-  Also make sure that every exception class has __module__ set to
-  'exceptions'.
-
-- Bug #1550983: emit better error messages for erroneous relative
-  imports (if not in package and if beyond toplevel package).
-
-- Overflow checking code in integer division ran afoul of new gcc
-  optimizations.  Changed to be more standard-conforming.
-
-- Patch #1542451: disallow continue anywhere under a finally.
-
-- Patch #1546288: fix seg fault in dict_equal due to ref counting bug.
-
-- The return tuple from str.rpartition(sep) is (tail, sep, head) where
-  head is the original string if sep was not found.
-
-- Bug #1520864: unpacking singleton tuples in list comprehensions and
-  generator expressions (x for x, in ... ) works again.  Fixing this
-  problem required changing the .pyc magic number.  This means that
-  .pyc files generated before 2.5c2 will be regenerated.
-
-- ``with`` and ``as`` are now keywords.
-
-- Bug #1664966: Fix crash in exec if Unicode filename can't be
-  decoded.
-
-- Issue #1537: Changed GeneratorExit's base class from Exception to
-  BaseException.
-
-- Issue #1703448: A joined thread could show up in the
-  threading.enumerate() list after the join() for a brief period until
-  it actually exited.
-
-Library
--------
-
-- Patch #2274: Add heapq.heappushpop().
-
-- Add inspect.isabstract(object) to fix bug #2223
-
-- Add a __format__ method to Decimal, to support PEP 3101.
-
-- Add a timing parameter when using trace.Trace to print out
-  timestamps.
-
-- Issue #1627: httplib now ignores negative Content-Length headers.
-
-- Issue #900744: If an invalid chunked-encoding header is sent by a
-  server, httplib will now raise IncompleteRead and close the
-  connection instead of raising ValueError.
-
-- Issue #1492: The content type of BaseHTTPServer error messages can
-  now be overridden.
-
-- Issue #1781: ConfigParser now does not let you add the "default" section
-  (ignore-case)
-
-- Removed uses of dict.has_key() from distutils, and uses of
-  callable() from copy_reg.py, so the interpreter now starts up
-  without warnings when '-3' is given.  More work like this needs to
-  be done in the rest of the stdlib.
-
-- Issue #1916: added isgenerator() and isgeneratorfunction() to
-  inspect.py.
-
-- Issue #1224: Fixed bad url parsing when path begins with double
-  slash.
-
-- ctypes instances that are not or do not contain pointers can now be
-  pickled.
-
-- Patch #1966: Break infinite loop in httplib when the servers
-  implements the chunked encoding incorrectly.
-
-- Rename rational.py to fractions.py and the rational.Rational class
-  to fractions.Fraction, to avoid the name clash with the abstract
-  base class numbers.Rational.  See discussion in issue #1682.
-
-- The pickletools module now provides an optimize() function that
-  eliminates unused PUT opcodes from a pickle string.
-
-- Patch #2021: Allow tempfile.NamedTemporaryFile and
-  SpooledTemporaryFile to be used in with statements by correctly
-  supporting the context management protocol.
-
-- Patch #1979: Add rich comparisons to Decimal, and make Decimal
-  comparisons involving a NaN follow the IEEE 754 standard.
-
-- Issue #2004: tarfile.py: Use mode 0700 for temporary directories and
-  default permissions for missing directories.
-
-- Issue #175006: The debugger used to skip the condition of a "while"
-  statement after the first iteration. Now it correctly steps on the
-  expression, and breakpoints on the "while" statement are honored on
-  each loop.
-
-- Issue #1765140: add an optional delay argument to FileHandler and
-  its subclasses. Defaults to false (existing behaviour), but if true,
-  defers opening the file until the first call to emit().
-
-- The pprint module now supports sets and frozensets.
-
-- Issue #1221598: add optional callbacks to ftplib.FTP's storbinary()
-  and storlines() methods.  (Contributed by Phil Schwartz)
-
-- Issue #1715: include sub-extension modules in pydoc's text output.
-
-- Issue #1836: fix an off-by-one bug in TimedRotatingHandler's
-  rollover time calculation.
-
-- Issue #1021: fix a bug to allow basicConfig to accept NOTSET as a
-  level.
-
-- Issue #932563: add LoggerAdapter convenience class to make it easier
-  to add contextual information in logging output.
-
-- Issue #1760556: fix a bug to avoid FileHandler throwing an exception
-  in flush().
-
-- Bug #1530959: distutils' build command now uses different build
-  directory when building extension modules against versions of Python
-  compiled with ``--with-pydebug``.
-
-- Issue #1555501: move plistlib from plat-mac directory to general
-  library.
-
-- Issue #1269: fix a bug in pstats.add_callers() and add a unit test
-  file for pstats.
-
-- Issue #1669: don't allow shutil.rmtree() to be called on a symlink
-  to a directory.
-
-- Issue #1664522: in urllib, don't read non-existing directories in
-  ftp mode, returning a 0-byte file -- raise an IOError instead.
-
-- Issue #856047: respect the ``no_proxy`` environment variable when
-  using the ``http_proxy`` etc. environment variables in urllib.
-
-- Issue #1178141: add a getcode() method to the addinfourls that
-  urllib.open() returns so that you can retrieve the HTTP status code.
-
-- Issue #1003: Fix zipfile decryption check, it would fail zip files
-  with extended local headers.
-
-- Issue #1189216: Fix the zipfile module to work on archives with
-  headers past the 2**31 byte boundary.
-
-- Issue #1336: fix a race condition in subprocess.Popen if the garbage
-  collector kicked in at the wrong time that would cause the process
-  to hang when the child wrote to stderr.
-
-- Issue #1146: fix how textwrap breaks a long word that would start in
-  the last column of a line.
-
-- Issue #1693149: trace.py --ignore-module - accept multiple
-  comma-separated modules to be given.
-
-- Issue #1822: MIMEMultipart.is_multipart() behaves correctly for a
-  just-created (and empty) instance. Thanks Jonathan Share.
-
-- Issue #1861: Added an attribute to the sched module which returns an
-  ordered list of upcoming events (displayed as named tuples).
-
-- Issue #1837: The queue module now also supports a LIFO queue and a
-  priority queue.
-
-- Patch #1048820: Add insert-mode editing to curses.textpad.Textbox
-  (patch by Stefan Wehr).  Also, fix an off-by-one bug in
-  Textbox.gather().
-
-- Issue #1831: ctypes now raises a TypeError if conflicting positional
-  and named arguments are passed to a Structure or Union initializer.
-  When too many positional arguments are passed, also a TypeError is
-  raised instead of a ValueError.
-
-- Convert the internal ctypes array type cache to a WeakValueDict so
-  that array types do not live longer than needed.
-
-- Issue #1786: pdb should use its own stdin/stdout around an exec call
-  and when creating a recursive instance.
-
-- Issue #1698398: ZipFile.printdir() crashed because the format string
-  expected a tuple type of length six instead of time.struct_time
-  object.
-
-- Issue #1780: The Decimal constructor now accepts arbitrary leading
-  and trailing whitespace when constructing from a string.
-  Context.create_decimal no longer accepts trailing newlines.
-
-- Decimal.as_tuple(), difflib.find_longest_match() and inspect
-  functions that returned a tuple now return a named tuple.
-
-- Doctest now returns results as a named tuple for readability:
-      (0, 7) --> TestResults(failed=0, attempted=7)
-
-- Issue #846388: re.match is interruptible now, which is particularly
-  good for long regular expression matches.
-
-- Patch #1137: allow setting buffer_size attribute on pyexpat Parser
-  objects to set the character data buffer size.
-
-- Issue #1757: The hash of a Decimal instance is no longer affected by
-  the current context.
-
-- Patch #467924: add ZipFile.extract() and ZipFile.extractall() in the
-  zipfile module.
-
-- Issue #1646: Make socket support the TIPC protocol.
-
-- Bug #1742: return os.curdir from os.path.relpath() if both arguments
-  are equal instead of raising an exception.
-
-- Patch #1637: fix urlparse for URLs like 'http://x.com?arg=/foo'.
-
-- Patch #1698: allow '@' in username parsed by urlparse.py.
-
-- Issue #1735: TarFile.extractall() now correctly sets directory
-  permissions and times.
-
-- Bug #1713: posixpath.ismount() claims symlink to a mountpoint is a mountpoint.
-
-- Bug #1687: Fxed plistlib.py restricts <integer> to Python int when
-  writing
-
-- Issue #1700: Regular expression inline flags incorrectly handle
-  certain unicode characters.
-
-- Issue #1689: PEP 3141, numeric abstract base classes.
-
-- Tk issue #1851526: Return results from Python callbacks to Tcl as
-  Tcl objects.
-
-- Issue #1642: Fix segfault in ctypes when trying to delete attributes.
-
-- Issue #1727780: Support loading pickles of random.Random objects
-  created on 32-bit systems on 64-bit systems, and vice versa. As a
-  consequence of the change, Random pickles created by Python 2.6
-  cannot be loaded in Python 2.5.
-
-- Issue #1455: The distutils package now supports VS 2005 and VS 2008
-  for both the msvccompiler and cygwincompiler.
-
-- Issue #1531: tarfile.py: Read fileobj from the current offset, do
-  not seek to the start.
-
-- Issue #1534: Added a dictionary sys.float_info with information
-  about the internal floating point type to the sys module.
-
-- Issue #1429818: patch for trace and doctest modules so they play
-  nicely together.
-
-- doctest made a bad assumption that a package's __loader__.get_data()
-  method used universal newlines.
-
-- Issue #1705170: contextlib.contextmanager was still swallowing
-  StopIteration in some cases. This should no longer happen.
-
-- Issue #1292: On alpha, arm, ppc, and s390 linux systems the
-  --with-system-ffi configure option defaults to "yes".
-
-- IN module for FreeBSD 8 is added and preexisting FreeBSD 6 and 7
-  files are updated.
-
-- Issues #1181, #1287: unsetenv() is now called when the
-  os.environ.pop() and os.environ.clear() methods are used.
-
-- ctypes will now work correctly on 32-bit systems when Python is
-  configured with --with-system-ffi.
-
-- Patch #1203: ctypes now does work on OS X when Python is built with
-  --disable-toolbox-glue.
-
-- collections.deque() now supports a "maxlen" argument.
-
-- itertools.count() is no longer bounded to LONG_MAX.  Formerly, it
-  raised an OverflowError.  Now, automatically shifts from ints to
-  longs.
-
-- Added itertools.product() which forms the Cartesian product of the
-  input iterables.
-
-- Added itertools.combinations() and itertools.permutations().
-
-- Patch #1541463: optimize performance of cgi.FieldStorage operations.
-
-- Decimal is fully updated to the latest Decimal Specification
-  (v1.66).
-
-- Bug #1153: repr.repr() now doesn't require set and dictionary items
-  to be orderable to properly represent them.
-
-- A 'c_longdouble' type was added to the ctypes module.
-
-- Bug #1709599: Run test_1565150 only if the file system is NTFS.
-
-- When encountering a password-protected robots.txt file the
-  RobotFileParser no longer prompts interactively for a username and
-  password (bug 813986).
-
-- TarFile.__init__() no longer fails if no name argument is passed and
-  the fileobj argument has no usable name attribute (e.g. StringIO).
-
-- The functools module now provides 'reduce', for forward
-  compatibility with Python 3000.
-
-- Server-side SSL support and cert verification added, by Bill
-  Janssen.
-
-- socket.ssl deprecated; use new ssl module instead.
-
-- uuid creation is now threadsafe.
-
-- EUC-KR codec now handles the cheot-ga-keut composed make-up hangul
-  syllables.
-
-- GB18030 codec now can encode additional two-byte characters that are
-  missing in GBK.
-
-- Add new codecs for UTF-32, UTF-32-LE and UTF-32-BE.
-
-- Bug #1704793: Return UTF-16 pair if unicodedata.lookup cannot
-  represent the result in a single character.
-
-- Bug #978833: Close https sockets by releasing the _ssl object.
-
-- Change location of the package index to pypi.python.org/pypi
-
-- Bug #1701409: Fix a segfault in printing ctypes.c_char_p and
-  ctypes.c_wchar_p when they point to an invalid location.  As a
-  sideeffect the representation of these instances has changed.
-
-- tarfile.py: Added "exclude" keyword argument to TarFile.add().
-
-- Bug #1734723: Fix repr.Repr() so it doesn't ignore the maxtuple
-  attribute.
-
-- The urlopen function of urllib2 now has an optional timeout
-  parameter (note that it actually works with HTTP, HTTPS, FTP and
-  FTPS connections).
-
-- In ftplib, the FTP.ntransfercmd method, when in passive mode, now
-  uses the socket.create_connection function, using the timeout
-  specified at connection time.
-
-- Bug #1728403: Fix a bug that CJKCodecs StreamReader hangs when it
-  reads a file that ends with incomplete sequence and sizehint
-  argument for .read() is specified.
-
-- Bug #1730389: Change time.strptime() to use ``\s+`` instead of
-  ``\s*`` when matching spaces in the specified format argument.
-
-- Bugs #1668596/#1720897: distutils now copies data files even if
-  package_dir is empty.
-
-- sha now raises a DeprecationWarning upon import.
-
-- md5 now raises a DeprecationWarning upon import.
-
-- Issue #1385: The hmac module now computes the correct hmac when
-  using hashes with a block size other than 64 bytes (such as sha384
-  and sha512).
-
-- mimify now raises a DeprecationWarning upon import.
-
-- MimeWriter now raises a DeprecationWarning upon import.
-
-- tarfile.py: Improved unicode support. Unicode input names are now
-  officially supported. Added "errors" argument to the TarFile class.
-
-- urllib.ftpwrapper class now accepts an optional timeout.
-
-- shlex.split() now has an optional "posix" parameter.
-
-- The posixfile module now raises a DeprecationWarning.
-
-- Remove the gopherlib module.  This also leads to the removal of
-  gopher support in urllib/urllib2.
-
-- Fix bug in marshal where bad data would cause a segfault due to lack
-  of an infinite recursion check.
-
-- Removed plat-freebsd2 and plat-freebsd3 directories (and IN.py in
-  the directories).
-
-- HTML-escape the plain traceback in cgitb's HTML output, to prevent
-  the traceback inadvertently or maliciously closing the comment and
-  injecting HTML into the error page.
-
-- The popen2 module and os.popen* are deprecated.  Use the subprocess
-  module.
-
-- Added an optional credentials argument to SMTPHandler, for use with
-  SMTP servers which require authentication.
-
-- Patch #1695948: Added optional timeout parameter to SocketHandler.
-
-- Bug #1652788: Minor fix for currentframe.
-
-- Patch #1598415: Added WatchedFileHandler to better support external
-  log file rotation using e.g. newsyslog or logrotate. This handler is
-  only useful in Unix/Linux environments.
-
-- Bug #1706381: Specifying the SWIG option "-c++" in the setup.py file
-  (as opposed to the command line) will now write file names ending in
-  ".cpp" too.
-
-- As specified in RFC 2616, an HTTP response like 2xx indicates that
-  the client's request was successfully received, understood, and
-  accepted.  Now in these cases no error is raised in urllib (issue
-  #1177) and urllib2.
-
-- Bug #1290505: time.strptime's internal cache of locale information
-  is now properly recreated when the locale is changed.
-
-- Patch #1685563: remove (don't add) duplicate paths in
-  distutils.MSVCCompiler.
-
-- Added a timeout parameter to the constructor of other protocols
-  (telnetlib, ftplib, smtplib and poplib). This is second part of the
-  work started with create_connection() and timeout in httplib, and
-  closes patch #723312.
-
-- Patch #1676823: Added create_connection() to socket.py, which may be
-  called with a timeout, and use it from httplib (whose HTTPConnection
-  and HTTPSConnection now accept an optional timeout).
-
-- Bug #978833: Revert r50844, as it broke _socketobject.dup.
-
-- Bug #1675967: re patterns pickled with Python 2.4 and earlier can
-  now be unpickled with Python 2.5 and newer.
-
-- Patch #1630118: add a SpooledTemporaryFile class to tempfile.py.
-
-- Patch #1273829: os.walk() now has a "followlinks" parameter. If set
-  to True (which is not the default), it visits symlinks pointing to
-  directories.
-
-- Bug #1681228: the webbrowser module now correctly uses the default
-  GNOME or KDE browser, depending on whether there is a session of one
-  of those present. Also, it tries the Windows default browser before
-  trying Mozilla variants.
-
-- Patch #1339796: add a relpath() function to os.path.
-
-- Patch #1681153: the wave module now closes a file object it opened if
-  initialization failed.
-
-- Bug #767111: fix long-standing bug in urllib which caused an
-  AttributeError instead of an IOError when the server's response
-  didn't contain a valid HTTP status line.
-
-- Patch #957650: "%var%" environment variable references are now
-  properly expanded in ntpath.expandvars(), also "~user" home
-  directory references are recognized and handled on Windows.
-
-- Patch #1429539: pdb now correctly initializes the __main__ module
-  for the debugged script, which means that imports from __main__ work
-  correctly now.
-
-- The nonobvious commands.getstatus() function is now deprecated.
-
-- Patch #1393667: pdb now has a "run" command which restarts the
-  debugged Python program, optionally with different arguments.
-
-- Patch #1649190: Adding support for _Bool to ctypes as c_bool.
-
-- Patch #1530482: add pydoc.render_doc() which returns the
-  documentation for a thing instead of paging it to stdout, which
-  pydoc.doc() does.
-
-- Patch #1533909: the timeit module now accepts callables in addition
-  to strings for the code to time and the setup code. Also added two
-  convenience functions for instantiating a Timer and calling its
-  methods.
-
-- Patch #1537850: tempfile.NamedTemporaryFile now has a "delete"
-  parameter which can be set to False to prevent the default
-  delete-on-close behavior.
-
-- Patch #1581073: add a flag to textwrap that prevents the dropping of
-  whitespace while wrapping.
-
-- Patch #1603688: ConfigParser.SafeConfigParser now checks values that
-  are set for invalid interpolation sequences that would lead to
-  errors on reading back those values.
-
-- Added support for the POSIX.1-2001 (pax) format to
-  tarfile.py. Extended and cleaned up the test suite. Added a new
-  testtar.tar.
-
-- Patch #1449244: Support Unicode strings in
-  email.message.Message.{set_charset,get_content_charset}.
-
-- Patch #1542681: add entries for "with", "as" and "CONTEXTMANAGERS"
-  to pydoc's help keywords.
-
-- Patch #1555098: use str.join() instead of repeated string
-  concatenation in robotparser.
-
-- Patch #1635454: the csv.DictWriter class now includes the offending
-  field names in its exception message if you try to write a record
-  with a dictionary containing fields not in the CSV field names list.
-
-- Patch #1668100: urllib2 now correctly raises URLError instead of
-  OSError if accessing a local file via the file:// protocol fails.
-
-- Patch #1677862: Require a space or tab after import in .pth files.
-
-- Patch #1192590: Fix pdb's "ignore" and "condition" commands so they
-  trap the IndexError caused by passing in an invalid breakpoint
-  number.
-
-- Patch #1599845: Add an option to disable the implicit calls to
-  server_bind() and server_activate() in the constructors for
-  TCPServer, SimpleXMLRPCServer and DocXMLRPCServer.
-
-- Bug #1531963: Make SocketServer.TCPServer's server_address always be
-  equal to calling getsockname() on the server's socket. Fixed by
-  patch #1545011.
-
-- Patch #742598: Add .timeout attribute to SocketServer that calls
-  .handle_timeout() when no requests are received.
-
-- Bug #1651235: When a tuple was passed to a ctypes function call,
-  Python would crash instead of raising an error.
-
-- Bug #1646630: ctypes.string_at(buf, 0) and ctypes.wstring_at(buf, 0)
-  returned string up to the first NUL character.
-
-- Patch #957003: Implement smtplib.LMTP.
-
-- Patch #1481079: add support for HTTP_REFERER to CGIHTTPServer.
-
-- Patch #1675424: Added tests for uncovered code in the zipfile
-  module.  The KeyError raised by Zipfile.getinfo for nonexistent
-  names now has a descriptive message.
-
-- Bug #1115886: os.path.splitext('.cshrc') gives now ('.cshrc', '').
-
-- unittest now verifies more of its assumptions. In particular,
-  TestCase and TestSuite subclasses (not instances) are no longer
-  accepted in TestSuite.addTest(). This should cause no
-  incompatibility since it never made sense with ordinary subclasses
-  -- the failure just occurred later, with a more cumbersome
-  exception.
-
-- Patch #787789: allow passing custom TestRunner instances to
-  unittest's main() function.
-
-- Patches #1550273, #1550272: fix a few bugs in unittest and add a
-  comprehensive test suite for the module.
-
-- Patch #1001604: glob.glob() now returns unicode filenames if it was
-  given a unicode argument and os.listdir() returns unicode filenames.
-
-- Patch #1673619: setup.py identifies extension modules it doesn't
-  know how to build and those it knows how to build but that fail to
-  build.
-
-- Patch #912410: Replace HTML entity references for attribute values
-  in HTMLParser.
-
-- Patch #1663234: you can now run doctest on test files and modules
-  using "python -m doctest [-v] filename ...".
-
-- Patch #1121142: Implement ZipFile.open.
-
-- Taught setup.py how to locate Berkeley DB on Macs using MacPorts.
-
-- Added heapq.merge() for merging sorted input streams.
-
-- Added collections.namedtuple() for assigning field names to tuples.
-
-- Added itertools.izip_longest().
-
-- Have the encoding package's search function dynamically import using
-  absolute import semantics.
-
-- Patch #1647484: Renamed GzipFile's filename attribute to name.
-
-- Patch #1517891: Mode 'a' for ZipFile now creates the file if it
-  doesn't exist.
-
-- Patch #698833: Support file decryption in zipfile.
-
-- Patch #685268: Consider a package's __path__ in imputil.
-
-- Patch #1463026: Support default namespace in XMLGenerator.
-
-- Patch #1571379: Make trace's --ignore-dir facility work in the face
-  of relative directory names.
-
-- Bug #1600860: Search for shared python library in LIBDIR, not
-  lib/python/config, on "linux" and "gnu" systems.
-
-- Patch #1652681: tarfile.py: create nonexistent files in append mode
-  and allow appending to empty files.
-
-- Bug #1124861: Automatically create pipes if GetStdHandle fails in
-  subprocess.
-
-- Patch #1634778: add missing encoding aliases for iso8859_15 and
-  iso8859_16.
-
-- Patch #1638243: the compiler package is now able to correctly
-  compile a with statement; previously, executing code containing a
-  with statement compiled by the compiler package crashed the
-  interpreter.
-
-- Bug #1643943: Fix time.strptime's support for the %U directive.
-
-- Patch #1507247: tarfile.py: use current umask for intermediate
-  directories.
-
-- Patch #1627441: close sockets properly in urllib2.
-
-- Bug #494589: make ntpath.expandvars behave according to its
-  docstring.
-
-- Changed platform module API python_version_tuple() to actually
-  return a tuple (it used to return a list).
-
-- Added new platform module APIs python_branch(), python_revision(),
-  python_implementation() and linux_distribution().
-
-- Added support for IronPython and Jython to the platform module.
-
-- The sets module has been deprecated.  Use the built-in set/frozenset
-  types instead.
-
-- Bug #1610795: make ctypes.util.find_library work on BSD systems.
-
-- Fixes for 64-bit Windows: In ctypes.wintypes, correct the
-  definitions of HANDLE, WPARAM, LPARAM data types.  Make
-  parameterless foreign function calls work.
-
-- The version number of the ctypes package changed to "1.1.0".
-
-- Bug #1627575: logging: Added _open() method to FileHandler which can
-  be used to reopen files. The FileHandler instance now saves the
-  encoding (which can be None) in an attribute called "encoding".
-
-- Bug #411881: logging.handlers: bare except clause removed from
-  SMTPHandler.emit. Now, only ImportError is trapped.
-
-- Bug #411881: logging.handlers: bare except clause removed from
-  SocketHandler.createSocket. Now, only socket.error is trapped.
-
-- Bug #411881: logging: bare except clause removed from
-  LogRecord.__init__.  Now, only ValueError, TypeError and
-  AttributeError are trapped.
-
-- Patch #1504073: Fix tarfile.open() for mode "r" with a fileobj
-  argument.
-
-- Patch #1182394 from Shane Holloway: speed up HMAC.hexdigest.
-
-- Patch #1262036: Prevent TarFiles from being added to themselves
-  under certain conditions.
-
-- Patch #1230446: tarfile.py: fix ExFileObject so that read() and
-  tell() work correctly together with readline().
-
-- Patch #1484695: The tarfile module now raises a HeaderError
-  exception if a buffer given to frombuf() is invalid.
-
-- Bug #1503765: Fix a problem in logging.config with spaces in comma-
-  separated lists read from logging config files.
-
-- Patch #1604907: Fix problems in logging.handlers caused at logging
-  shutdown when syslog handlers fail to initialize because of syslogd
-  problems.
-
-- Patch #1608267: fix a race condition in os.makedirs() if the
-  directory to be created is already there.
-
-- Patch #1610437: fix a tarfile bug with long filename headers.
-
-- Patch #1371075: Make ConfigParser accept optional dict type for
-  ordering, sorting, etc.
-
-- Bug #1563807: _ctypes built on AIX fails with ld ffi error.
-
-- Bug #1598620: A ctypes Structure cannot contain itself.
-
-- Patch #1070046: Marshal new-style objects like InstanceType in
-  xmlrpclib.
-
-- cStringIO.truncate(-1) now raises an IOError, like StringIO and
-  regular files.
-
-- Patch #1472877: Fix Tix subwidget name resolution.
-
-- Patch #1594554: Always close a tkSimpleDialog on ok(), even if an
-  exception occurs.
-
-- Patch #1538878: Don't make tkSimpleDialog dialogs transient if the
-  parent window is withdrawn.
-
-- Bug #1597824: return the registered function from atexit.register()
-  to facilitate usage as a decorator.
-
-- Patch #1360200: Use unmangled_version RPM spec field to deal with
-  file name mangling.
-
-- Patch #1359217: Process 2xx response in an ftplib transfer that
-  precedes an 1xx response.
-
-- Patch #1355023: support whence argument for GzipFile.seek.
-
-- Patch #1065257: Support passing open files as body in
-  HTTPConnection.request().
-
-- Bug #1569790: mailbox.py: Maildir.get_folder() and MH.get_folder()
-  weren't passing the message factory on to newly created Maildir/MH
-  objects.
-
-- Patch #1514543: mailbox.py: In the Maildir class, report errors if
-  there's a filename clash instead of possibly losing a message.
-  (Patch by David Watson.)
-
-- Patch #1514544: Try to ensure that messages/indexes have been
-  physically written to disk after calling .flush() or
-  .close(). (Patch by David Watson.)
-
-- Patch #1592250: Add elide argument to Tkinter.Text.search.
-
-- Patch #838546: Make terminal become controlling in pty.fork().
-
-- Patch #1351744: Add askyesnocancel helper for tkMessageBox.
-
-- Patch #1060577: Extract list of RPM files from spec file in
-  bdist_rpm.
-
-- Bug #1586613: fix zlib and bz2 codecs' incremental en/decoders.
-
-- Patch #1583880: fix tarfile's problems with long names and posix/
-  GNU modes.
-
-- Bug #1586448: the compiler module now emits the same bytecode for
-  list comprehensions as the built-in compiler, using the LIST_APPEND
-  opcode.
-
-- Fix codecs.EncodedFile which did not use file_encoding in 2.5.0, and
-  fix all codecs file wrappers to work correctly with the "with"
-  statement (bug #1586513).
-
-- Lib/modulefinder.py now handles absolute and relative imports
-  correctly.
-
-- Patch #1567274: Support SMTP over TLS.
-
-- Patch #1560695: Add .note.GNU-stack to ctypes' sysv.S so that ctypes
-  isn't considered as requiring executable stacks.
-
-- ctypes callback functions only support 'fundamental' data types as
-  result type.  Raise an error when something else is used.  This is a
-  partial fix for Bug #1574584.
-
-- Fix turtle so that time.sleep is imported for the entire library.
-  Allows the demo2 function to be executed on its own instead of only
-  when the module is run as a script.
-
-- Bug #1565150: Fix subsecond processing for os.utime on Windows.
-
-- Support for MSVC 8 was added to bdist_wininst.
-
-- Bug #1446043: correctly raise a LookupError if an encoding name
-  given to encodings.search_function() contains a dot.
-
-- Bug #1560617: in pyclbr, return full module name not only for
-  classes, but also for functions.
-
-- Bug #1457823: cgi.(Sv)FormContentDict's constructor now takes
-  keep_blank_values and strict_parsing keyword arguments.
-
-- Bug #1566602: correct failure of posixpath unittest when $HOME ends
-  with a slash.
-
-- Bug #1565661: in webbrowser, split() the command for the default
-  GNOME browser in case it is a command with args.
-
-- Made the error message for time.strptime when the data and
-  format do match be more clear.
-
-- Fix a bug in traceback.format_exception_only() that led to an error
-  being raised when print_exc() was called without an exception set.
-  In version 2.4, this printed "None", restored that behavior.
-
-- Make webbrowser.BackgroundBrowser usable in Windows (it wasn't
-  because the close_fds arg to subprocess.Popen is not supported).
-
-- Reverted patch #1504333 to sgmllib because it introduced an infinite
-  loop.
-
-- Patch #1553314: Fix the inspect.py slowdown that was hurting IPython
-  & SAGE by adding smarter caching in inspect.getmodule()
-
-- Fix missing import of the types module in logging.config.
-
-- Patch #1550886: Fix decimal module context management implementation
-  to match the localcontext() example from PEP 343.
-
-- Bug #1545341: The 'classifier' keyword argument to the Distutils
-  setup() function now accepts tuples as well as lists.
-
-- Bug #1541863: uuid.uuid1 failed to generate unique identifiers on
-  systems with low clock resolution.
-
-- Bug #1531862: Do not close standard file descriptors in subprocess.
-
-- Fix utf-8-sig incremental decoder, which didn't recognise a BOM when
-  the first chunk fed to the decoder started with a BOM, but was
-  longer than 3 bytes.
-
-- The implementation of UnicodeError objects has been simplified
-  (start and end attributes are now stored directly as Py_ssize_t
-  members).
-
-- Issue #829951: In the smtplib module, SMTP.starttls() now complies
-  with RFC 3207 and forgets any knowledge obtained from the server not
-  obtained from the TLS negotiation itself.  Patch contributed by Bill
-  Fenner.
-
-- Issue #1339: The smtplib.SMTP class has been refactored a bit such
-  that the SMTP.starttls() caller no longer needs to call ehlo()
-  beforehand.  SMTP.starttls() now raises an exception of the server
-  does not claim to support starttls.  Adds the
-  SMTP.ehlo_or_helo_if_needed() method.  Patch contributed by Bill
-  Fenner.
-
-- Patch #1089358: Add signal.siginterrupt, a wrapper around
-  siginterrupt(3).
-
-Extension Modules
------------------
-
-- Patch #1657: added select.epoll and select.kqueue.
-
-- Patch #1506171: added operator.methodcaller().
-
-- Patch #1826: operator.attrgetter() now supports dotted attribute paths.
-
-- Patch #1957: syslogmodule: Release GIL when calling syslog(3).
-
-- Bug #2112: mmap.error is now a subclass of EnvironmentError and not
-  a direct EnvironmentError.
-
-- Bug #2111: mmap segfaults when trying to write a block opened with
-  PROT_READ.
-
-- Bug #2063: correct order of utime and stime in os.times() result on
-  Windows.
-
-- Patch #1736: Fix file name handling of _msi.FCICreate.
-
-- Updated ``big5hkscs`` codec to the HKSCS revision of 2004.
-
-- Issue #1940: make it possible to use curses.filter() before
-  curses.initscr() as the documentation says.
-
-- Backport of _fileio module from Python 3.0.
-
-- Patch #1087741: mmap.mmap is now a class, not a factory function. It
-  is also subclassable now.
-
-- Patch #1648: added ``sys.getprofile()`` and ``sys.gettrace()``.
-
-- Patch #1663329: added ``os.closerange()`` function to quickly close
-  a range of file descriptors without considering errors.
-
-- Patch #976880: ``mmap`` objects now have an ``rfind`` method that
-  works as expected.  ``mmap.find`` also takes an optional ``end``
-  parameter.
-
-- _winreg's HKEY object has gained __enter__ and __exit__ methods to
-  support the context management protocol.  The _winreg module also
-  gained a new function ``ExpandEnvironmentStrings`` to expand
-  REG_EXPAND_SZ keys.
-
-- itertools.starmap() now accepts any iterable input. Previously, it
-  required the function inputs to be tuples.
-
-- itertools.chain() now has an alternate constructor,
-  chain.from_iterable().
-
-- Issue #1646: Make socket support TIPC. The socket module now has
-  support for TIPC under Linux, see http://tipc.sf.net/ for more
-  information.
-
-- Added interface for Windows' WSAIoctl to socket object and added an
-  example for a simple network sniffer.
-
-- Bug #1301: Bad assert in _tkinter fixed.
-
-- Added bdist_wininst executable for VS 2008.
-
-- Bug #1604: collections.deque.__init__(iterable) now clears any prior
-  contents before adding elements from the iterable.  This fix brings
-  the behavior into line with that for list.__init__().
-
-- Added wide char functions to msvcrt module: getwch, getwche, putwch
-  and ungetwch. The functions accept or return unicode.
-
-- os.access now returns True on Windows for any existing directory.
-
-- Added warnpy3k function to the warnings module.
-
-- Marshal.dumps() now expects exact type matches for int, long, float,
-  complex, tuple, list, dict, set, and frozenset.  Formerly, it would
-  silently miscode subclasses of those types.  Now, it raises a
-  ValueError instead.
-
-- Patch #1388440: Add set_completion_display_matches_hook and
-  get_completion_type to readline.
-
-- Bug #1649098: Avoid declaration of zero-sized array declaration in
-  structure.
-
-- Removed the rgbimg module; been deprecated since Python 2.5.
-
-- Bug #1721309: prevent bsddb module from freeing random memory.
-
-- Bug #1233: fix bsddb.dbshelve.DBShelf append method to work as
-  intended for RECNO databases.
-
-- pybsddb.sf.net Bug #477182: Load the database flags at database open
-  time so that opening a database previously created with the DB_DUP
-  or DB_DUPSORT flag set will keep the proper behavior on subsequent
-  opens.  Specifically: dictionary assignment to a DB object will
-  replace all values for a given key when the database allows
-  duplicate values.  DB users should use DB.put(k, v) when they want
-  to store duplicates; not DB[k] = v.
-
-- Add the bsddb.db.DBEnv.lock_id_free method.
-
-- Bug #1686475: Support stat'ing open files on Windows again.
-
-- Patch #1185447: binascii.b2a_qp() now correctly quotes binary
-  characters with ASCII value less than 32. Also, it correctly quotes
-  dots only if they occur on a single line, as opposed to the previous
-  behavior of quoting dots if they are the second character of any
-  line.
-
-- Bug #1622896: fix a rare corner case where the bz2 module raised an
-  error in spite of a succesful compression.
-
-- Patch #1654417: make operator.{get,set,del}slice use the full range
-  of Py_ssize_t.
-
-- Patch #1646728: datetime.fromtimestamp fails with negative
-  fractional times.  With unittest.
-
-- Patch #1490190: posixmodule now includes os.chflags() and
-  os.lchflags() functions on platforms where the underlying system
-  calls are available.
-
-- Patch #1494140: Add documentation for the new struct.Struct object.
-
-- Patch #1432399: Support the HCI protocol for bluetooth sockets
-
-- Patch #1657276: Make NETLINK_DNRTMSG conditional.
-
-- Bug #1653736: Complain about keyword arguments to time.isoformat.
-
-- Bug #1486663: don't reject keyword arguments for subclasses of
-  built-in types.
-
-- Patch #1610575: The struct module now supports the 't' code, for C99
-  _Bool.
-
-- Patch #1635058: ensure that htonl and friends never accept or return
-  negative numbers, per the underlying C implementation.
-
-- Patch #1544279: Improve thread-safety of the socket module by moving
-  the sock_addr_t storage out of the socket object.
-
-- Patch #1019808: fix bug that causes an incorrect error to be
-  returned when a socket timeout is set and a connection attempt
-  fails.
-
-- Speed up function calls into the math module.
-
-- Bug #1588217: don't parse "= " as a soft line break in binascii's
-  a2b_qp() function, instead leave it in the string as quopri.decode()
-  does.
-
-- Bug #1599782: Fix segfault on bsddb.db.DB().type().
-
-- Bug #1567666: Emulate GetFileAttributesExA for Win95.
-
-- Patch #1576166: Support os.utime for directories on Windows NT+.
-
-- Patch #1572724: fix typo ('=' instead of '==') in _msi.c.
-
-- Bug #1572832: fix a bug in ISO-2022 codecs which may cause segfault
-  when encoding non-BMP unicode characters.
-
-- Bug #1556784: allow format strings longer than 127 characters in
-  datetime's strftime function.
-
-- Fix itertools.count(n) to work with negative numbers again.
-
-- RLIMIT_SBSIZE was added to the resource module where available.
-
-- Bug #1551427: fix a wrong NULL pointer check in the win32 version of
-  os.urandom().
-
-- Bug #1548092: fix curses.tparm seg fault on invalid input.
-
-- Patch #1114: fix curses module compilation on 64-bit AIX, & possibly
-  other 64-bit LP64 platforms where attr_t is not the same size as a
-  long.  (Contributed by Luke Mewburn.)
-
-- Bug #1550714: fix SystemError from itertools.tee on negative value
-  for n.
-
-- Fixed a few bugs on cjkcodecs:
-  - gbk and gb18030 codec now handle U+30FB KATAKANA MIDDLE DOT
-    correctly.
-  - iso2022_jp_2 codec now encodes into G0 for KS X 1001, GB2312
-    codepoints to conform the standard.
-  - iso2022_jp_3 and iso2022_jp_2004 codec can encode JIS X 0213:2
-    codepoints now.
-
-- Bug #1552726: in readline.c, avoid repeatedly polling in interactive
-  mode by only placing a timeout on the select() if an input hook has
-  been defined.  This prevents an interactive Python from waking up 10
-  times per second.  Patch by Richard Boulton.
-
-- fixed a bug with bsddb.DB.stat: the flags and txn keyword arguments
-  were transposed.
-
-- Added support for linking the bsddb module against BerkeleyDB 4.5.x,
-  4.6.x and 4.7.x.
-
-- Bug #1633621: if curses.resizeterm() or curses.resize_term() is
-  called, update _curses.LINES, _curses.COLS, curses.LINES and
-  curses.COLS.
-
-- Fix an off-by-one bug in locale.strxfrm().
-
-- Fix libffi configure for hppa*-*-linux* | parisc*-*-linux*.
-
-- Build using system ffi library on arm*-linux*.
-
-- Bug #1372: zlibmodule.c: int overflow in PyZlib_decompress
-
-- bsddb module: Fix memory leak when using database cursors on
-  databases without a DBEnv.
-
-- The sqlite3 module was updated to pysqlite 2.4.1.
-
-IDLE
-----
-
-- Bug #813342: Start the IDLE subprocess with -Qnew if the parent is
-  started with that option.
-
-- IDLE: Honor the "Cancel" action in the save dialog (Debian bug
-  #299092).
-
-Tests
------
-- bpo-30357: test_thread: setUp() now uses support.threading_setup() and
-  support.threading_cleanup() to wait until threads complete to avoid
-  random side effects on following tests. Initial patch written by Grzegorz
-  Grzywacz.
-
-- Refactor test_logging to use unittest.
-
-- Refactor test_profile and test_cprofile to use the same code to
-  profile.
-
-- Make test_runpy reentrant by fixing _check_module to clear out any
-  module being tested.  Was causing an error by __import__ doing a
-  reload on the second run and thus suppressing bytecode recreation.
-
-- Capture socket connection resets and timeouts in test_socket_ssl and
-  test_urllib2net and raise test.test_support.ResourceDenied.
-
-- Patch #1559413: Fix test_cmd_line if sys.executable contains a
-  space.
-
-- Added test.test_support.TransientResource which is a context manager
-  to surround calls to resources that are not guaranteed to work even
-  if test.test_support.requires says that the resource should exist.
-
-- Added a test for slicing of an exception.
-
-- Added test.test_support.EnvironmentVarGuard.  It's a class that
-  provides a context manager so that one can temporarily set or unset
-  environment variables.
-
-- Added some tests for modulefinder.
-
-- Converted test_imp to use unittest.
-
-- Fix bsddb test_basics.test06_Transactions to check the version
-  number properly.
-
-- test.test_support.catch_warning is a new context manager that can be
-  used to catch the warnings issued by the warning framework.
-
-Tools
------
-
-- Tools/scripts/reindent.py now creates the backup file using
-  shutil.copy to preserve user/group and permissions. Added also a
-  --nobackup option to not create the backup if the user is concerned
-  regarding this.  Check issue #1050828 for more details.
-
-- Tools/scripts/win_add2path.py was added. The simple script modifes
-  the PATH environment var of the HKCU tree and adds the python bin
-  and script directory.
-
-- Tools/18n/pygettext.py was added to the list of scripts installed by
-  Tools/scripts/setup.py (tracker item 642309).
-
-- Added IronPython and Jython support to pybench (part of which was
-  patch #1563844).
-
-- Made some minor changes to pybench output to allow the user to see
-  which Python version is running pybench.
-
-- Added support for the new platform module feature
-  platform.python_implementation(); this will now be saved in the
-  benchmark pickle.
-
-Documentation
--------------
-
-- RFE #1765140: Updated documentation on FileHandler and subclasses to
-  include new optional delay argument.
-
-- Bug #932563: Added section on getting contextual information into
-  logging output, and added documentation for the new LoggerAdapter
-  class.
-
-- Bug #1295: Added information about caching of formatted exception
-  information in the LogRecord by Formatter.format().
-
-- Bug #1637365: add subsection about "__name__ == __main__" to the
-  Python tutorial.
-
-- Patch #1698768: updated the "using Python on the Mac" intro.
-
-- Bug #1569057: Document that calling file.next() when the file is
-  open for writing is undefined.
-
-- Patch #1489771: the syntax rules in Python Reference Manual were
-  updated to reflect the current Python syntax.
-
-- Patch #1686451: Fix return type for
-  PySequence_{Count,Index,Fast_GET_SIZE}.
-
-- Patch #1679379: add documentation for fnmatch.translate().
-
-- Bug #1629566: clarify the docs on the return values of parsedate()
-  and parsedate_tz() in email.utils and rfc822.
-
-- Patch #1671450: add a section about subclassing built-in types to the
-  "extending and embedding" tutorial.
-
-- Bug #1629125: fix wrong data type (int -> Py_ssize_t) in PyDict_Next
-  docs.
-
-- Bug #1565919: document set types in the Language Reference.
-
-- Bug #1546052: clarify that PyString_FromString(AndSize) copies the
-  string pointed to by its parameter.
-
-- Bug #1566663: remove obsolete example from datetime docs.
-
-- Bug #1541682: Fix example in the "Refcount details" API docs.
-  Additionally, remove a faulty example showing PySequence_SetItem
-  applied to a newly created list object and add notes that this isn't
-  a good idea.
-
-Tools/Demos
------------
-
-- Patch #1552024: add decorator support to unparse.py demo script.
-
-- Make auto-generated python.vim file list built-ins and exceptions in
-  alphatbetical order.  Makes output more deterministic and easier to
-  tell if the file is stale or not.
-
-- Bug #1546372: Fixed small bugglet in pybench that caused a missing
-  file not to get reported properly.
-
-Build
------
-
-- Have the search path for building extensions follow the declared
-  order in $CPPFLAGS and $LDFLAGS when adding directories from those
-  environment variables.
-
-- Bug #1983: Added a check to pyport to verify that sizeof(pid_t) is
-  smaller or equal sizeof(long).
-
-- Bug #1234: Fixed semaphore errors on AIX 5.2
-
-- Issue #1726: Remove Python/atof.c from PCBuild/pythoncore.vcproj.
-
-- Removed PCbuild8/ directory and added a new build directory for VS
-  2005 based on the VS 2008 build directory to PC/VS8.0. The script
-  PCbuild/vs8to9.py was added to sync changes from PCbuild to
-  PC/VS8.0.
-
-- Moved PCbuild/ directory for VS 2003 to PC/VS7.1 and renamed
-  PCBuild9/ directory to PCBuild/.
-
-- Bug #1699: Define _BSD_SOURCE only on OpenBSD.
-
-- Bug #1608: use -fwrapv when GCC supports it.  This is important,
-  newer GCC versions may optimize away overflow buffer overflow checks
-  without this option!
-
-- Patch #1418: Make the AC_REPLACE_FUNCS object files actually work.
-
-- Add a FAST_LOOPS build option that speeds-up looping by trading away
-  periodic threadstate and signal checking in tight loops.  By
-  default, this option is turned-off.  It should only be enabled in
-  debugged, performance critical applications.
-
-- Patch #786737: Allow building in a tree of symlinks pointing to a
-  readonly source.
-
-- Bug #1737210: Change Manufacturer of Windows installer to PSF.
-
-- Bug #1746880: Correctly install DLLs into system32 folder on Win64.
-
-- Define _BSD_SOURCE, to get access to POSIX extensions on OpenBSD
-  4.1+.
-
-- Stop supporting AtheOS and cause a build error in configure for the
-  platform.
-
-- Bug #1655392: don't add -L/usr/lib/pythonX.Y/config to the LDFLAGS
-  returned by python-config if Python was built with --enable-shared
-  because that prevented the shared library from being used.
-
-- Patch #1569798: fix a bug in distutils when building Python from a
-  directory within sys.exec_prefix.
-
-- Bug #1675511: Use -Kpic instead of -xcode=pic32 on Solaris/x86.
-
-- Disable _XOPEN_SOURCE on NetBSD 1.x.
-
-- configure now checks whether gcc supports the PyArg_ParseTuple
-  format attribute.
-
-- Bug #1578513: Cross compilation was broken by a change to configure.
-  Repair so that it's back to how it was in 2.4.3.
-
-- Patch #1576954: Update VC6 build directory; remove redundant files
-  in VC7.
-
-- Bug #1568842: Fix test for uintptr_t.
-
-- Patch #1540470: for OpenBSD 4.0.
-
-- Fix build failure on kfreebsd and on the hurd.
-
-- Fix the build of the library reference in info format.
-
-- Allow Emacs 22 for building the documentation in info format.
-
-- Makefile.pre.in(buildbottest): Run an optional script
-  pybuildbot.identify to include some information about the build
-  environment.
-
-C API
------
-
-- Unified naming convention for free lists and their limits. All free
-  lists in Object/ are named ``free_list``, the counter ``numfree``
-  and the upper limit is a macro ``PyName_MAXFREELIST`` inside an
-  #ifndef block.
-
-- ``PySet_Add()`` can now modify a newly created frozenset.  Similarly
-  to ``PyTuple_SetItem``, it can be used to populate a brand new
-  frozenset; but it does not steal a reference to the added item.
-
-- Added ``PySet_Check()`` and ``PyFrozenSet_Check()`` to the set API.
-
-- Backport of PyUnicode_FromString(), _FromStringAndSize(), _Format
-  and _FormatV from Python 3.0. Made PyLong_AsSsize_t and
-  PyLong_FromSsize_t public functions.
-
-- Patch #1720595: add T_BOOL to the range of structmember types.
-
-- Issue #1534: Added ``PyFloat_GetMax()``, ``PyFloat_GetMin()`` and
-  ``PyFloat_GetInfo()`` to the float API.
-
-- Issue #1521: On 64bit platforms, using PyArgs_ParseTuple with the t#
-  of w# format code incorrectly truncated the length to an int, even
-  when PY_SSIZE_T_CLEAN is set.  The str.decode method used to return
-  incorrect results with huge strings.
-
-- Issue #1629: Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE,
-  Py_TYPE and Py_REFCNT.
-
-- PEP 3123: Provide forward compatibility with Python 3.0, while
-  keeping backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size,
-  and PyVarObject_HEAD_INIT.
-
-- Py_ssize_t fields work in structmember when HAVE_LONG_LONG is not
-  defined.
-
-- Patch #1733960: Allow T_LONGLONG to accept ints.
-
-- T_PYSSIZET can now be used in PyMemberDef lists for Py_ssize_t members.
-
-- Added a new API function ``PyImport_ImportModuleNoBlock``.
-
-- Bug #1637022: Prefix AST symbols with _Py_.
-
-- Fix some leftovers from the conversion from int to Py_ssize_t
-  (relevant to strings and sequences of more than 2**31 items).
-
-- Make _PyGILState_NoteThreadState() static, it was not used anywhere
-  outside of pystate.c and should not be necessary.
-
-- ``PyImport_Import`` and ``PyImport_ImportModule`` now always do
-  absolute imports. In earlier versions they might have used relative
-  imports under some conditions.
-
-- Added case insensitive comparison methods ``PyOS_stricmp(char*,
-  char*)`` and ``PyOS_strnicmp(char*, char*, Py_ssize_t)``.
-
-- Bug #1542693: remove semi-colon at end of PyImport_ImportModuleEx
-  macro so it can be used as an expression.
-
-Windows
--------
-
-- Patch #1706: Drop support for Win9x, WinME and NT4. Python now
-  requires Windows 2000 or greater. The _WINVER and NTDDI_VERSION
-  macros are set to Win2k for x86/32bit builds and WinXP for AMD64
-  builds.
-
-- Conditionalize definition of _CRT_SECURE_NO_DEPRECATE and
-  _CRT_NONSTDC_NO_DEPRECATE.
-
-- Bug #1216: Restore support for Visual Studio 2002.
-
-Mac
----
-
-- cfmfile now raises a DeprecationWarning.
-
-- buildtools now raises a DeprecationWarning.
-
-- Removed the macfs module.  It had been deprecated since Python 2.5.
-  This lead to the deprecation of macostools.touched() as it relied
-  solely on macfs and was a no-op under OS X.
-
-----
-
-**(For information about older versions, consult the HISTORY file.)**
diff --git a/Misc/NEWS.d/2.6.rst b/Misc/NEWS.d/2.6.rst
new file mode 100644
index 0000000..71753a7
--- /dev/null
+++ b/Misc/NEWS.d/2.6.rst
@@ -0,0 +1,102 @@
+.. bpo: 3967
+.. date: 7179
+.. nonce: q7G-yg
+.. release date: 01-Oct-2008
+.. section: Core and Builtins
+
+Fixed a crash in the count() and find() methods of string-like objects, when
+the "start" parameter is a huge value.
+
+..
+
+.. bpo: 3965
+.. date: 7178
+.. nonce: oD6PeM
+.. section: Core and Builtins
+
+Fixed a crash on Windows when open() is given an invalid filename or mode,
+and the filename is a unicode string.
+
+..
+
+.. bpo: 3951
+.. date: 7177
+.. nonce: WMRS35
+.. section: Core and Builtins
+
+Py_USING_MEMORY_DEBUGGER should not be enabled by default.
+
+..
+
+.. bpo: 3965
+.. date: 7176
+.. nonce: 67WKTr
+.. section: Library
+
+Allow repeated calls to turtle.Screen, by making it a true singleton object.
+
+..
+
+.. bpo: 3895
+.. date: 7175
+.. nonce: 7zAG5K
+.. section: Library
+
+It was possible to crash the interpreter when an external timer was used
+with cProfile that returned an object that could not be converted into a
+float.
+
+..
+
+.. bpo: 3950
+.. date: 7174
+.. nonce: zZXLaL
+.. section: Library
+
+Made turtle respect scale factors.
+
+..
+
+.. bpo: 3547
+.. date: 7173
+.. nonce: MEAOsx
+.. section: Library
+
+Fixed ctypes structures bitfields of varying integer sizes.
+
+..
+
+.. bpo: 3879
+.. date: 7172
+.. nonce: F8u7Is
+.. section: Library
+
+A regression in urllib.getproxies_environment was fixed.
+
+..
+
+.. bpo: 3863
+.. date: 7171
+.. nonce: 5nuS5x
+.. section: Library
+
+Disabled a unit test of fork being called from a thread when running on
+platforms known to exhibit OS bugs when attempting that.
+
+..
+
+.. bpo: 3989
+.. date: 7170
+.. nonce: RW3kS6
+.. section: Build
+
+Package the 2to3 script (as 2to3.py) in the Windows installer.
+
+..
+
+.. bpo: 3887
+.. date: 7169
+.. nonce: qYeYwa
+.. section: Build
+
+Package x64 version of CRT for AMD64 Windows binaries.
diff --git a/Misc/NEWS.d/2.6a1.rst b/Misc/NEWS.d/2.6a1.rst
new file mode 100644
index 0000000..8edf052
--- /dev/null
+++ b/Misc/NEWS.d/2.6a1.rst
@@ -0,0 +1,5507 @@
+.. bpo: 2051
+.. date: 6793
+.. nonce: ra69cz
+.. release date: 29-Feb-2008
+.. section: Core and Builtins
+
+pyc and pyo files are no longer created with permission 644. The mode is now
+inherited from the py file.
+
+..
+
+.. bpo: 2067
+.. date: 6792
+.. nonce: dnOq_n
+.. section: Core and Builtins
+
+file.__exit__() now calls subclasses' close() method.
+
+..
+
+.. bpo: 1759
+.. date: 6791
+.. nonce: q41gVI
+.. section: Core and Builtins
+
+Backport of PEP 3129 class decorators.
+
+..
+
+.. bpo: 1881
+.. date: 6790
+.. nonce: Z0XsUF
+.. section: Core and Builtins
+
+An internal parser limit has been increased. Also see issue #215555 for a
+discussion.
+
+..
+
+.. bpo: 0
+.. date: 6789
+.. nonce: t4RIVL
+.. section: Core and Builtins
+
+Added the future_builtins module, which contains hex() and oct(). These are
+the PEP 3127 version of these functions, designed to be compatible with the
+hex() and oct() builtins from Python 3.0.  They differ slightly in their
+output formats from the existing, unchanged Python 2.6 builtins.  The
+expected usage of the future_builtins module is:   from future_builtins
+import hex, oct
+
+..
+
+.. bpo: 1600
+.. date: 6788
+.. nonce: s9YmZq
+.. section: Core and Builtins
+
+Modified PyOS_ascii_formatd to use at most 2 digit exponents for exponents
+with absolute value < 100.  Follows C99 standard.  This is a change on
+Windows, which would use 3 digits. Also, added 'n' to the formats that
+PyOS_ascii_formatd understands, so that any alterations it does to the
+resulting string will be available in stringlib/formatter.h (for
+float.__format__).
+
+..
+
+.. bpo: 0
+.. date: 6787
+.. nonce: 3heWL4
+.. section: Core and Builtins
+
+Implemented PEP 3101, Advanced String Formatting.  This adds a new builtin
+format(); a format() method for str and unicode; a __format__() method to
+object, str, unicode, int, long, float, and datetime; the class
+string.Formatter; and the C API PyObject_Format().
+
+..
+
+.. bpo: 0
+.. date: 6786
+.. nonce: 5DONqn
+.. section: Core and Builtins
+
+Fixed several potential crashes, all caused by specially crafted __del__
+methods exploiting objects in temporarily inconsistent state.
+
+..
+
+.. bpo: 2115
+.. date: 6785
+.. nonce: 0hltM5
+.. section: Core and Builtins
+
+Important speedup in setting __slot__ attributes.  Also prevent a possible
+crash: an Abstract Base Class would try to access a slot on a registered
+virtual subclass.
+
+..
+
+.. bpo: 0
+.. date: 6784
+.. nonce: mw1G3G
+.. section: Core and Builtins
+
+Fixed repr() and str() of complex numbers with infinity or nan as real or
+imaginary part.
+
+..
+
+.. bpo: 0
+.. date: 6783
+.. nonce: 9iXgfq
+.. section: Core and Builtins
+
+Clear all free lists during a gc.collect() of the highest generation in
+order to allow pymalloc to free more arenas. Python may give back memory to
+the OS earlier.
+
+..
+
+.. bpo: 2045
+.. date: 6782
+.. nonce: r1Y5JL
+.. section: Core and Builtins
+
+Fix an infinite recursion triggered when printing a subclass of
+collections.defaultdict, if its default_factory is set to a bound method.
+
+..
+
+.. bpo: 0
+.. date: 6781
+.. nonce: Ix4aiT
+.. section: Core and Builtins
+
+Fixed a minor memory leak in dictobject.c. The content of the free list was
+not freed on interpreter shutdown.
+
+..
+
+.. bpo: 0
+.. date: 6780
+.. nonce: cL2Owz
+.. section: Core and Builtins
+
+Limit free list of method and built-in function objects to 256 entries each.
+
+..
+
+.. bpo: 1953
+.. date: 6779
+.. nonce: e_mPMK
+.. section: Core and Builtins
+
+Added ``sys._compact_freelists()`` and the C API functions
+``PyInt_CompactFreeList`` and ``PyFloat_CompactFreeList`` to compact the
+internal free lists of pre-allocted ints and floats.
+
+..
+
+.. bpo: 1983
+.. date: 6778
+.. nonce: 8sFEOx
+.. section: Core and Builtins
+
+Fixed return type of fork(), fork1() and forkpty() calls.  Python expected
+the return type int but the fork familie returns pi_t.
+
+..
+
+.. bpo: 1678380
+.. date: 6777
+.. nonce: QDsVif
+.. section: Core and Builtins
+
+Fix a bug that identifies 0j and -0j when they appear in the same code unit.
+
+..
+
+.. bpo: 2025
+.. date: 6776
+.. nonce: S9iuHk
+.. section: Core and Builtins
+
+Add tuple.count() and tuple.index() methods to comply with the
+collections.Sequence API.
+
+..
+
+.. bpo: 1970
+.. date: 6775
+.. nonce: QefSF6
+.. section: Core and Builtins
+
+Speedup unicode whitespace and linebreak detection.  (Patch by Antoine
+Pitrou.)
+
+..
+
+.. bpo: 0
+.. date: 6774
+.. nonce: YYnDHc
+.. section: Core and Builtins
+
+Added ``PyType_ClearCache()`` and ``sys._clear_type_cache`` to clear the
+internal lookup cache for ref leak tests.
+
+..
+
+.. bpo: 1473257
+.. date: 6773
+.. nonce: Z579K3
+.. section: Core and Builtins
+
+generator objects gain a gi_code attribute. This is the same object as the
+func_code attribute of the function that produced the generator.
+
+..
+
+.. bpo: 1920
+.. date: 6772
+.. nonce: z8WX6L
+.. section: Core and Builtins
+
+"while 0" statements were completely removed by the compiler, even in the
+presence of an "else" clause, which is supposed to be run when the condition
+is false. Now the compiler correctly emits bytecode for the "else" suite.
+
+..
+
+.. bpo: 0
+.. date: 6771
+.. nonce: VpT9Pm
+.. section: Core and Builtins
+
+A few crashers fixed: weakref_in_del.py (issue #1377858);
+loosing_dict_ref.py (issue #1303614, test67.py); borrowed_ref_[34].py (not
+in tracker).
+
+..
+
+.. bpo: 1069410
+.. date: 6770
+.. nonce: GX0t-e
+.. section: Core and Builtins
+
+The "can't load dll" message box on Windows is suppressed while an extension
+is loaded by calling SetErrorMode in dynload_win.c. The error is still
+reported properly.
+
+..
+
+.. bpo: 1915
+.. date: 6769
+.. nonce: MAhEEN
+.. section: Core and Builtins
+
+Python compiles with --enable-unicode=no again. However several extension
+methods and modules do not work without unicode support.
+
+..
+
+.. bpo: 1882
+.. date: 6768
+.. nonce: -TxSag
+.. section: Core and Builtins
+
+when compiling code from a string, encoding cookies in the second line of
+code were not always recognized correctly.
+
+..
+
+.. bpo: 1679
+.. date: 6767
+.. nonce: 48PPdV
+.. section: Core and Builtins
+
+"0x" was taken as a valid integer literal.
+
+..
+
+.. bpo: 1865
+.. date: 6766
+.. nonce: wGzYDz
+.. section: Core and Builtins
+
+``bytes`` as an alias for ``str`` and b"" as an alias "" were added.
+
+..
+
+.. bpo: 0
+.. date: 6765
+.. nonce: x2ieFr
+.. section: Core and Builtins
+
+sys.float_info / PyFloat_GetInfo: The floating point information object was
+converted from a dict to a specialized structseq object.
+
+..
+
+.. bpo: 1816
+.. date: 6764
+.. nonce: YBjd5H
+.. section: Core and Builtins
+
+Added sys.flags structseq. It exposes the status of most command line
+arguments and PYTHON* environment variables.
+
+..
+
+.. bpo: 0
+.. date: 6763
+.. nonce: wmc0sT
+.. section: Core and Builtins
+
+Objects/structseq.c: Implemented new structseq representation. The patch
+makes structseqs (e.g. the return value of os.stat) more readable.
+
+..
+
+.. bpo: 1700288
+.. date: 6762
+.. nonce: lwJfDZ
+.. section: Core and Builtins
+
+added a type attribute cache that caches method accesses, resulting in
+speedups in heavily object-oriented code.
+
+..
+
+.. bpo: 1776
+.. date: 6761
+.. nonce: JYdqH-
+.. section: Core and Builtins
+
+__import__() no longer accepts filenames on any platform. The first
+parameter to __import__() must be a valid module name.
+
+..
+
+.. bpo: 1668
+.. date: 6760
+.. nonce: mZ5kSj
+.. section: Core and Builtins
+
+renamed THREADDEBUG envvar to PYTHONTHREADDEBUG.
+
+..
+
+.. bpo: 602345
+.. date: 6759
+.. nonce: OOgFXY
+.. section: Core and Builtins
+
+Add -B command line option, PYTHONDONTWRITEBYTECODE envvar and
+sys.dont_write_bytecode attribute. All these can be set to forbid Python to
+attempt to write compiled bytecode files.
+
+..
+
+.. bpo: 0
+.. date: 6758
+.. nonce: _7a_Ll
+.. section: Core and Builtins
+
+Improve some exception messages when Windows fails to load an extension
+module. Now we get for example '%1 is not a valid Win32 application' instead
+of 'error code 193'.
+
+..
+
+.. bpo: 1481296
+.. date: 6757
+.. nonce: nRMqCX
+.. section: Core and Builtins
+
+Fixed long(float('nan')) != 0L.
+
+..
+
+.. bpo: 1640
+.. date: 6756
+.. nonce: INvUrF
+.. section: Core and Builtins
+
+Added math.isinf(x), math.isnan(x) and math.copysign(x, y) functions.
+
+..
+
+.. bpo: 1635
+.. date: 6755
+.. nonce: fiXSfN
+.. section: Core and Builtins
+
+Platform independent creation and representation of NaN and INF.
+float("nan"), float("inf") and float("-inf") now work on every platform with
+IEEE 754 semantics.
+
+..
+
+.. bpo: 0
+.. date: 6754
+.. nonce: MNMsrF
+.. section: Core and Builtins
+
+Compiler now generates simpler and faster code for dictionary literals.  The
+oparg for BUILD_MAP now indicates an estimated dictionary size.  There is a
+new opcode, STORE_MAP, for adding entries to the dictionary.
+
+..
+
+.. bpo: 1638
+.. date: 6753
+.. nonce: eg4t3m
+.. section: Core and Builtins
+
+%zd configure test fails on Linux.
+
+..
+
+.. bpo: 1620
+.. date: 6752
+.. nonce: 9qBeVK
+.. section: Core and Builtins
+
+New property decorator syntax was modifying the decorator in place instead
+of creating a new decorator object.
+
+..
+
+.. bpo: 1538
+.. date: 6751
+.. nonce: OkvKJR
+.. section: Core and Builtins
+
+Avoid copying string in split/rsplit if the split char is not found.
+
+..
+
+.. bpo: 1553
+.. date: 6750
+.. nonce: FCgNDE
+.. section: Core and Builtins
+
+An erroneous __length_hint__ can make list() raise a SystemError.
+
+..
+
+.. bpo: 0
+.. date: 6749
+.. nonce: zw_5PA
+.. section: Core and Builtins
+
+PEP 366: Allow explicit relative imports when executing modules inside
+packages with the -m switch via a new module level __package__ attribute.
+
+..
+
+.. bpo: 1402
+.. date: 6748
+.. nonce: ZTegLQ
+.. section: Core and Builtins
+
+Fix a crash on exit, when another thread is still running, and if the
+deallocation of its frames somehow calls the PyGILState_Ensure() /
+PyGILState_Release() functions.
+
+..
+
+.. bpo: 0
+.. date: 6747
+.. nonce: J3Bwhy
+.. section: Core and Builtins
+
+Expose the Py_Py3kWarningFlag as sys.py3kwarning.
+
+..
+
+.. bpo: 1445
+.. date: 6746
+.. nonce: 6-yfkc
+.. section: Core and Builtins
+
+Fix a SystemError when accessing the ``cell_contents`` attribute of an empty
+cell object.
+
+..
+
+.. bpo: 1460
+.. date: 6745
+.. nonce: y7TP5m
+.. section: Core and Builtins
+
+The utf-7 incremental decoder did not accept truncated input.  It now
+correctly saves its state between chunks of data.
+
+..
+
+.. bpo: 1739468
+.. date: 6744
+.. nonce: yM3B3r
+.. section: Core and Builtins
+
+Directories and zipfiles containing a __main__.py file can now be directly
+executed by passing their name to the interpreter. The directory/zipfile is
+automatically inserted as the first entry in sys.path.
+
+..
+
+.. bpo: 1265
+.. date: 6743
+.. nonce: 4-IaJd
+.. section: Core and Builtins
+
+Fix a problem with sys.settrace, if the tracing function uses a generator
+expression when at the same time the executed code is closing a paused
+generator.
+
+..
+
+.. bpo: 0
+.. date: 6742
+.. nonce: 7h4lCb
+.. section: Core and Builtins
+
+sets and frozensets now have an isdisjoint() method.
+
+..
+
+.. bpo: 0
+.. date: 6741
+.. nonce: 1AoYAQ
+.. section: Core and Builtins
+
+optimize the performance of builtin.sum().
+
+..
+
+.. bpo: 0
+.. date: 6740
+.. nonce: FHJ_J8
+.. section: Core and Builtins
+
+Fix warnings found by the new version of the Coverity checker.
+
+..
+
+.. bpo: 0
+.. date: 6739
+.. nonce: 6dncrc
+.. section: Core and Builtins
+
+The enumerate() built-in function is no longer bounded to sequences smaller
+than LONG_MAX.  Formerly, it raised an OverflowError.  Now, automatically
+shifts from ints to longs.
+
+..
+
+.. bpo: 1686386
+.. date: 6738
+.. nonce: mFw2O5
+.. section: Core and Builtins
+
+Tuple's tp_repr did not take into account the possibility of having a self-
+referential tuple, which is possible from C code.  Nor did object's tp_str
+consider that a type's tp_str could do something that could lead to an
+inifinite recursion. Py_ReprEnter() and Py_EnterRecursiveCall(),
+respectively, fixed the issues.
+
+..
+
+.. bpo: 1164
+.. date: 6737
+.. nonce: uMHT40
+.. section: Core and Builtins
+
+It was possible to trigger deadlock when using the 'print' statement to
+write to a file since the GIL was not released as needed.  Now
+PyObject_Print() does the right thing along with various tp_print
+implementations of the built-in types and those in the collections module.
+
+..
+
+.. bpo: 1147
+.. date: 6736
+.. nonce: aoJ7OF
+.. section: Core and Builtins
+
+Exceptions were directly allowing string exceptions in their throw() method
+even though string exceptions no longer allowed.
+
+..
+
+.. bpo: 1096
+.. date: 6735
+.. nonce: O7aCp5
+.. section: Core and Builtins
+
+Prevent a segfault from getting the repr of a very deeply nested list by
+using the recursion counter.
+
+..
+
+.. bpo: 1202533
+.. date: 6734
+.. nonce: an8trG
+.. section: Core and Builtins
+
+Fix infinite recursion calls triggered by calls to PyObject_Call() never
+calling back out to Python code to trigger recursion depth updates/checks.
+Required the creation of a static RuntimeError instance in case normalizing
+an exception put the recursion check value past its limit.  Fixes crashers
+infinite_rec_(1|2|4|5).py.
+
+..
+
+.. bpo: 1031213
+.. date: 6733
+.. nonce: -pIcnp
+.. section: Core and Builtins
+
+Decode source line in SyntaxErrors back to its original source encoding.
+
+..
+
+.. bpo: 1673759
+.. date: 6732
+.. nonce: BiojUu
+.. section: Core and Builtins
+
+add a missing overflow check when formatting floats with %G.
+
+..
+
+.. bpo: 0
+.. date: 6731
+.. nonce: irpf7S
+.. section: Core and Builtins
+
+Prevent expandtabs() on string and unicode objects from causing a segfault
+when a large width is passed on 32-bit platforms.
+
+..
+
+.. bpo: 1733488
+.. date: 6730
+.. nonce: tl7wNc
+.. section: Core and Builtins
+
+Fix compilation of bufferobject.c on AIX.
+
+..
+
+.. bpo: 1722485
+.. date: 6729
+.. nonce: k6MqIQ
+.. section: Core and Builtins
+
+remove docstrings again when running with -OO.
+
+..
+
+.. bpo: 0
+.. date: 6728
+.. nonce: 7Ddptw
+.. section: Core and Builtins
+
+Add new attribute names for function objects.  All the func_* become __*__
+attributes.  (Some already existed, e.g., __doc__ and __name__.)
+
+..
+
+.. bpo: 0
+.. date: 6727
+.. nonce: yXfECI
+.. section: Core and Builtins
+
+Add -3 option to the interpreter to warn about features that are deprecated
+and will be changed/removed in Python 3.0.
+
+..
+
+.. bpo: 1686487
+.. date: 6726
+.. nonce: K8mtCR
+.. section: Core and Builtins
+
+you can now pass any mapping after '**' in function calls.
+
+..
+
+.. bpo: 0
+.. date: 6725
+.. nonce: JKXn1u
+.. section: Core and Builtins
+
+except clauses may now be spelled either "except E, target:" or "except E as
+target:". This is to provide forwards compatibility with Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6724
+.. nonce: 8LZd6s
+.. section: Core and Builtins
+
+Deprecate BaseException.message as per PEP 352.
+
+..
+
+.. bpo: 1303614
+.. date: 6723
+.. nonce: 4vwOmy
+.. section: Core and Builtins
+
+don't expose object's __dict__ when the dict is inherited from a built-in
+base.
+
+..
+
+.. bpo: 0
+.. date: 6722
+.. nonce: VN88wa
+.. section: Core and Builtins
+
+When __slots__ are set to a unicode string, make it work the same as setting
+a plain string, ie don't expand to single letter identifiers.
+
+..
+
+.. bpo: 1191699
+.. date: 6721
+.. nonce: V0UWcO
+.. section: Core and Builtins
+
+Slices can now be pickled.
+
+..
+
+.. bpo: 1193128
+.. date: 6720
+.. nonce: hTWYjG
+.. section: Core and Builtins
+
+str.translate() now allows a None argument for translations that only remove
+characters without re-mapping the remaining characters.
+
+..
+
+.. bpo: 1682205
+.. date: 6719
+.. nonce: Ma5xwn
+.. section: Core and Builtins
+
+a TypeError while unpacking an iterable is no longer masked by a generic one
+with the message "unpack non-sequence".
+
+..
+
+.. bpo: 0
+.. date: 6718
+.. nonce: 3y4NCG
+.. section: Core and Builtins
+
+Remove unused file Python/fmod.c.
+
+..
+
+.. bpo: 1683368
+.. date: 6717
+.. nonce: 4DybJV
+.. section: Core and Builtins
+
+The object.__init__() and object.__new__() methods are now stricter in
+rejecting excess arguments.  The only time when either allows excess
+arguments is when it is not overridden and the other one is.  For backwards
+compatibility, when both are overridden, it is a deprecation warning (for
+now; maybe a Py3k warning later).  Also, type.__init__() insists on the same
+signature as supported by type.__new__().
+
+..
+
+.. bpo: 1675423
+.. date: 6716
+.. nonce: 1JoPlp
+.. section: Core and Builtins
+
+PyComplex_AsCComplex() now tries to convert an object to complex using its
+__complex__() method before falling back to the __float__() method.
+Therefore, the functions in the cmath module now can operate on objects that
+define a __complex__() method.
+
+..
+
+.. bpo: 1623563
+.. date: 6715
+.. nonce: AMQ5t2
+.. section: Core and Builtins
+
+allow __class__ assignment for classes with __slots__.  The old and the new
+class are still required to have the same slot names.
+
+..
+
+.. bpo: 1642547
+.. date: 6714
+.. nonce: jkS5Ql
+.. section: Core and Builtins
+
+Fix an error/crash when encountering syntax errors in complex if statements.
+
+..
+
+.. bpo: 1462488
+.. date: 6713
+.. nonce: Ci87cu
+.. section: Core and Builtins
+
+Python no longer segfaults when ``object.__reduce_ex__()`` is called with an
+object that is faking its type.
+
+..
+
+.. bpo: 1680015
+.. date: 6712
+.. nonce: FS6aET
+.. section: Core and Builtins
+
+Don't modify __slots__ tuple if it contains a unicode name.
+
+..
+
+.. bpo: 1444529
+.. date: 6711
+.. nonce: 69vMCk
+.. section: Core and Builtins
+
+the builtin compile() now accepts keyword arguments.
+
+..
+
+.. bpo: 1678647
+.. date: 6710
+.. nonce: Ok4Qvk
+.. section: Core and Builtins
+
+write a newline after printing an exception in any case, even when
+converting the value to a string failed.
+
+..
+
+.. bpo: 0
+.. date: 6709
+.. nonce: ec6gzH
+.. section: Core and Builtins
+
+The dir() function has been extended to call the __dir__() method on its
+argument, if it exists. If not, it will work like before. This allows
+customizing the output of dir() in the presence of a __getattr__().
+
+..
+
+.. bpo: 922167
+.. date: 6708
+.. nonce: gnPICc
+.. section: Core and Builtins
+
+Python no longer segfaults when faced with infinitely self-recursive
+reload() calls (as reported by bug #742342).
+
+..
+
+.. bpo: 1675981
+.. date: 6707
+.. nonce: YDAUpa
+.. section: Core and Builtins
+
+remove unreachable code from ``type.__new__()`` method.
+
+..
+
+.. bpo: 1491866
+.. date: 6706
+.. nonce: RNQumX
+.. section: Core and Builtins
+
+change the complex() constructor to allow parthensized forms. This means
+complex(repr(x)) now works instead of raising a ValueError.
+
+..
+
+.. bpo: 703779
+.. date: 6705
+.. nonce: 609S2B
+.. section: Core and Builtins
+
+unset __file__ in __main__ after running a file. This makes the filenames
+the warning module prints much more sensible when a PYTHONSTARTUP file is
+used.
+
+..
+
+.. bpo: 697613
+.. date: 6704
+.. nonce: bnztSz
+.. section: Core and Builtins
+
+Don't exit the interpreter on a SystemExit exception if the -i command line
+option or PYTHONINSPECT environment variable is given, but break into the
+interactive interpreter just like on other exceptions or normal program
+exit.
+
+..
+
+.. bpo: 1638879
+.. date: 6703
+.. nonce: 25rW83
+.. section: Core and Builtins
+
+don't accept strings with embedded NUL bytes in long().
+
+..
+
+.. bpo: 1674503
+.. date: 6702
+.. nonce: k_dwnR
+.. section: Core and Builtins
+
+close the file opened by execfile() in an error condition.
+
+..
+
+.. bpo: 1674228
+.. date: 6701
+.. nonce: 936l-6
+.. section: Core and Builtins
+
+when assigning a slice (old-style), check for the sq_ass_slice instead of
+the sq_slice slot.
+
+..
+
+.. bpo: 0
+.. date: 6700
+.. nonce: 4R0u4H
+.. section: Core and Builtins
+
+When printing an unraisable error, don't print exceptions. before the name.
+This duplicates the behavior whening normally printing exceptions.
+
+..
+
+.. bpo: 1653736
+.. date: 6699
+.. nonce: puX_f-
+.. section: Core and Builtins
+
+Properly discard third argument to slot_nb_inplace_power.
+
+..
+
+.. bpo: 0
+.. date: 6698
+.. nonce: LM67G-
+.. section: Core and Builtins
+
+PEP 352: Raising a string exception now triggers a TypeError. Attempting to
+catch a string exception raises DeprecationWarning.
+
+..
+
+.. bpo: 1377858
+.. date: 6697
+.. nonce: PoWq_L
+.. section: Core and Builtins
+
+Fix the segfaulting of the interpreter when an object created a weakref on
+itself during a __del__ call for new-style classes (classic classes still
+have the bug).
+
+..
+
+.. bpo: 1579370
+.. date: 6696
+.. nonce: 0Jm29g
+.. section: Core and Builtins
+
+Make PyTraceBack_Here use the current thread, not the frame's thread state.
+
+..
+
+.. bpo: 1630975
+.. date: 6695
+.. nonce: MoA2CT
+.. section: Core and Builtins
+
+Fix crash when replacing sys.stdout in sitecustomize.py.
+
+..
+
+.. bpo: 0
+.. date: 6694
+.. nonce: fKwD4u
+.. section: Core and Builtins
+
+Prevent seg fault on shutdown which could occur if an object raised a
+warning.
+
+..
+
+.. bpo: 1566280
+.. date: 6693
+.. nonce: dDNq9b
+.. section: Core and Builtins
+
+Explicitly invoke threading._shutdown from Py_Main, to avoid relying on
+atexit.
+
+..
+
+.. bpo: 1590891
+.. date: 6692
+.. nonce: VyFkXx
+.. section: Core and Builtins
+
+random.randrange don't return correct value for big number.
+
+..
+
+.. bpo: 1586791
+.. date: 6691
+.. nonce: xyEZ-z
+.. section: Core and Builtins
+
+Better exception messages for some operations on strings, tuples and lists.
+
+..
+
+.. bpo: 1067760
+.. date: 6690
+.. nonce: HtgVCb
+.. section: Core and Builtins
+
+Deprecate passing floats to file.seek.
+
+..
+
+.. bpo: 1591996
+.. date: 6689
+.. nonce: j1ATtE
+.. section: Core and Builtins
+
+Correctly forward exception in instance_contains().
+
+..
+
+.. bpo: 1588287
+.. date: 6688
+.. nonce: Mux8Eb
+.. section: Core and Builtins
+
+fix invalid assertion for `1,2` in debug builds.
+
+..
+
+.. bpo: 1576657
+.. date: 6687
+.. nonce: JfJVvT
+.. section: Core and Builtins
+
+when setting a KeyError for a tuple key, make sure that the tuple isn't used
+as the "exception arguments tuple".
+
+..
+
+.. bpo: 1565514
+.. date: 6686
+.. nonce: 3kM2zk
+.. section: Core and Builtins
+
+SystemError not raised on too many nested blocks.
+
+..
+
+.. bpo: 1576174
+.. date: 6685
+.. nonce: Ks0OoN
+.. section: Core and Builtins
+
+WindowsError now displays the windows error code again, no longer the posix
+error code.
+
+..
+
+.. bpo: 1549049
+.. date: 6684
+.. nonce: ufVmC9
+.. section: Core and Builtins
+
+Support long values in structmember, issue warnings if the assigned value
+for structmember fields gets truncated.
+
+..
+
+.. bpo: 0
+.. date: 6683
+.. nonce: v9ZHkl
+.. section: Core and Builtins
+
+Update the peephole optimizer to remove more dead code (jumps after returns)
+and inline unconditional jumps to returns.
+
+..
+
+.. bpo: 1545497
+.. date: 6682
+.. nonce: 0YntFv
+.. section: Core and Builtins
+
+when given an explicit base, int() did ignore NULs embedded in the string to
+convert.
+
+..
+
+.. bpo: 1569998
+.. date: 6681
+.. nonce: mqCYRs
+.. section: Core and Builtins
+
+break inside a try statement (outside a loop) is now recognized and
+rejected.
+
+..
+
+.. bpo: 0
+.. date: 6680
+.. nonce: MdIC85
+.. section: Core and Builtins
+
+list.pop(x) accepts any object x following the __index__ protocol.
+
+..
+
+.. bpo: 0
+.. date: 6679
+.. nonce: nWa36P
+.. section: Core and Builtins
+
+A number of places, including integer negation and absolute value, were
+fixed to not rely on undefined behaviour of the C compiler anymore.
+
+..
+
+.. bpo: 1566800
+.. date: 6678
+.. nonce: 46JUvD
+.. section: Core and Builtins
+
+make sure that EnvironmentError can be called with any number of arguments,
+as was the case in Python 2.4.
+
+..
+
+.. bpo: 1567691
+.. date: 6677
+.. nonce: rDDApW
+.. section: Core and Builtins
+
+super() and new.instancemethod() now don't accept keyword arguments any more
+(previously they accepted them, but didn't use them).
+
+..
+
+.. bpo: 0
+.. date: 6676
+.. nonce: FEPr2V
+.. section: Core and Builtins
+
+Fix a bug in the parser's future statement handling that led to "with" not
+being recognized as a keyword after, e.g., this statement: from __future__
+import division, with_statement
+
+..
+
+.. bpo: 1557232
+.. date: 6675
+.. nonce: 2eVXVS
+.. section: Core and Builtins
+
+fix seg fault with def f((((x)))) and def f(((x),)).
+
+..
+
+.. bpo: 0
+.. date: 6674
+.. nonce: aEwDvG
+.. section: Core and Builtins
+
+Fix %zd string formatting on Mac OS X so it prints negative numbers.
+
+..
+
+.. bpo: 0
+.. date: 6673
+.. nonce: _XQgGS
+.. section: Core and Builtins
+
+Allow exception instances to be directly sliced again.
+
+..
+
+.. bpo: 1551432
+.. date: 6672
+.. nonce: 4Fco_l
+.. section: Core and Builtins
+
+Exceptions do not define an explicit __unicode__ method.  This allows
+calling unicode() on exceptions classes directly to succeed.
+
+..
+
+.. bpo: 1542051
+.. date: 6671
+.. nonce: lVPfnC
+.. section: Core and Builtins
+
+Exceptions now correctly call PyObject_GC_UnTrack. Also make sure that every
+exception class has __module__ set to 'exceptions'.
+
+..
+
+.. bpo: 1550983
+.. date: 6670
+.. nonce: cUpUA-
+.. section: Core and Builtins
+
+emit better error messages for erroneous relative imports (if not in package
+and if beyond toplevel package).
+
+..
+
+.. bpo: 0
+.. date: 6669
+.. nonce: _4DitC
+.. section: Core and Builtins
+
+Overflow checking code in integer division ran afoul of new gcc
+optimizations.  Changed to be more standard-conforming.
+
+..
+
+.. bpo: 1542451
+.. date: 6668
+.. nonce: 2iFYEe
+.. section: Core and Builtins
+
+disallow continue anywhere under a finally.
+
+..
+
+.. bpo: 1546288
+.. date: 6667
+.. nonce: IBkaPv
+.. section: Core and Builtins
+
+fix seg fault in dict_equal due to ref counting bug.
+
+..
+
+.. bpo: 0
+.. date: 6666
+.. nonce: kNIYss
+.. section: Core and Builtins
+
+The return tuple from str.rpartition(sep) is (tail, sep, head) where head is
+the original string if sep was not found.
+
+..
+
+.. bpo: 1520864
+.. date: 6665
+.. nonce: G6F34n
+.. section: Core and Builtins
+
+unpacking singleton tuples in list comprehensions and generator expressions
+(x for x, in ... ) works again.  Fixing this problem required changing the
+.pyc magic number.  This means that .pyc files generated before 2.5c2 will
+be regenerated.
+
+..
+
+.. bpo: 0
+.. date: 6664
+.. nonce: R3bZAP
+.. section: Core and Builtins
+
+``with`` and ``as`` are now keywords.
+
+..
+
+.. bpo: 1664966
+.. date: 6663
+.. nonce: wU2avG
+.. section: Core and Builtins
+
+Fix crash in exec if Unicode filename can't be decoded.
+
+..
+
+.. bpo: 1537
+.. date: 6662
+.. nonce: Qt9CQA
+.. section: Core and Builtins
+
+Changed GeneratorExit's base class from Exception to BaseException.
+
+..
+
+.. bpo: 1703448
+.. date: 6661
+.. nonce: dAcXJT
+.. section: Core and Builtins
+
+A joined thread could show up in the threading.enumerate() list after the
+join() for a brief period until it actually exited.
+
+..
+
+.. bpo: 2274
+.. date: 6660
+.. nonce: COHFzM
+.. section: Library
+
+Add heapq.heappushpop().
+
+..
+
+.. bpo: 0
+.. date: 6659
+.. nonce: fQAzb9
+.. section: Library
+
+Add inspect.isabstract(object) to fix bug #2223
+
+..
+
+.. bpo: 0
+.. date: 6658
+.. nonce: JXuX8j
+.. section: Library
+
+Add a __format__ method to Decimal, to support PEP 3101.
+
+..
+
+.. bpo: 0
+.. date: 6657
+.. nonce: ofhiG1
+.. section: Library
+
+Add a timing parameter when using trace.Trace to print out timestamps.
+
+..
+
+.. bpo: 1627
+.. date: 6656
+.. nonce: -5gXNT
+.. section: Library
+
+httplib now ignores negative Content-Length headers.
+
+..
+
+.. bpo: 900744
+.. date: 6655
+.. nonce: s5RLjb
+.. section: Library
+
+If an invalid chunked-encoding header is sent by a server, httplib will now
+raise IncompleteRead and close the connection instead of raising ValueError.
+
+..
+
+.. bpo: 1492
+.. date: 6654
+.. nonce: 4bp5zb
+.. section: Library
+
+The content type of BaseHTTPServer error messages can now be overridden.
+
+..
+
+.. bpo: 1781
+.. date: 6653
+.. nonce: m_snIp
+.. section: Library
+
+ConfigParser now does not let you add the "default" section (ignore-case)
+
+..
+
+.. bpo: 0
+.. date: 6652
+.. nonce: a5mTI6
+.. section: Library
+
+Removed uses of dict.has_key() from distutils, and uses of callable() from
+copy_reg.py, so the interpreter now starts up without warnings when '-3' is
+given.  More work like this needs to be done in the rest of the stdlib.
+
+..
+
+.. bpo: 1916
+.. date: 6651
+.. nonce: w1JiGM
+.. section: Library
+
+added isgenerator() and isgeneratorfunction() to inspect.py.
+
+..
+
+.. bpo: 1224
+.. date: 6650
+.. nonce: UN2SxX
+.. section: Library
+
+Fixed bad url parsing when path begins with double slash.
+
+..
+
+.. bpo: 0
+.. date: 6649
+.. nonce: T9Y4k2
+.. section: Library
+
+ctypes instances that are not or do not contain pointers can now be pickled.
+
+..
+
+.. bpo: 1966
+.. date: 6648
+.. nonce: 8viueu
+.. section: Library
+
+Break infinite loop in httplib when the servers implements the chunked
+encoding incorrectly.
+
+..
+
+.. bpo: 0
+.. date: 6647
+.. nonce: p6a6jJ
+.. section: Library
+
+Rename rational.py to fractions.py and the rational.Rational class to
+fractions.Fraction, to avoid the name clash with the abstract base class
+numbers.Rational.  See discussion in issue #1682.
+
+..
+
+.. bpo: 0
+.. date: 6646
+.. nonce: KqfmO5
+.. section: Library
+
+The pickletools module now provides an optimize() function that eliminates
+unused PUT opcodes from a pickle string.
+
+..
+
+.. bpo: 2021
+.. date: 6645
+.. nonce: jhrI3F
+.. section: Library
+
+Allow tempfile.NamedTemporaryFile and SpooledTemporaryFile to be used in
+with statements by correctly supporting the context management protocol.
+
+..
+
+.. bpo: 1979
+.. date: 6644
+.. nonce: Ji_oHm
+.. section: Library
+
+Add rich comparisons to Decimal, and make Decimal comparisons involving a
+NaN follow the IEEE 754 standard.
+
+..
+
+.. bpo: 2004
+.. date: 6643
+.. nonce: JJ0sxf
+.. section: Library
+
+tarfile.py: Use mode 0700 for temporary directories and default permissions
+for missing directories.
+
+..
+
+.. bpo: 175006
+.. date: 6642
+.. nonce: 1yQpV-
+.. section: Library
+
+The debugger used to skip the condition of a "while" statement after the
+first iteration. Now it correctly steps on the expression, and breakpoints
+on the "while" statement are honored on each loop.
+
+..
+
+.. bpo: 1765140
+.. date: 6641
+.. nonce: 9htIhK
+.. section: Library
+
+add an optional delay argument to FileHandler and its subclasses. Defaults
+to false (existing behaviour), but if true, defers opening the file until
+the first call to emit().
+
+..
+
+.. bpo: 0
+.. date: 6640
+.. nonce: kWAgVm
+.. section: Library
+
+The pprint module now supports sets and frozensets.
+
+..
+
+.. bpo: 1221598
+.. date: 6639
+.. nonce: Tv3Q8D
+.. section: Library
+
+add optional callbacks to ftplib.FTP's storbinary() and storlines() methods.
+(Contributed by Phil Schwartz)
+
+..
+
+.. bpo: 1715
+.. date: 6638
+.. nonce: JieRLT
+.. section: Library
+
+include sub-extension modules in pydoc's text output.
+
+..
+
+.. bpo: 1836
+.. date: 6637
+.. nonce: dvWiAW
+.. section: Library
+
+fix an off-by-one bug in TimedRotatingHandler's rollover time calculation.
+
+..
+
+.. bpo: 1021
+.. date: 6636
+.. nonce: oJ2Efg
+.. section: Library
+
+fix a bug to allow basicConfig to accept NOTSET as a level.
+
+..
+
+.. bpo: 932563
+.. date: 6635
+.. nonce: KzDj52
+.. section: Library
+
+add LoggerAdapter convenience class to make it easier to add contextual
+information in logging output.
+
+..
+
+.. bpo: 1760556
+.. date: 6634
+.. nonce: TJk_Du
+.. section: Library
+
+fix a bug to avoid FileHandler throwing an exception in flush().
+
+..
+
+.. bpo: 1530959
+.. date: 6633
+.. nonce: FpNHxq
+.. section: Library
+
+distutils' build command now uses different build directory when building
+extension modules against versions of Python compiled with ``--with-
+pydebug``.
+
+..
+
+.. bpo: 1555501
+.. date: 6632
+.. nonce: ZWMYzK
+.. section: Library
+
+move plistlib from plat-mac directory to general library.
+
+..
+
+.. bpo: 1269
+.. date: 6631
+.. nonce: mXhB8y
+.. section: Library
+
+fix a bug in pstats.add_callers() and add a unit test file for pstats.
+
+..
+
+.. bpo: 1669
+.. date: 6630
+.. nonce: wYb4kk
+.. section: Library
+
+don't allow shutil.rmtree() to be called on a symlink to a directory.
+
+..
+
+.. bpo: 1664522
+.. date: 6629
+.. nonce: iKq42P
+.. section: Library
+
+in urllib, don't read non-existing directories in ftp mode, returning a
+0-byte file -- raise an IOError instead.
+
+..
+
+.. bpo: 856047
+.. date: 6628
+.. nonce: u8LcMz
+.. section: Library
+
+respect the ``no_proxy`` environment variable when using the ``http_proxy``
+etc. environment variables in urllib.
+
+..
+
+.. bpo: 1178141
+.. date: 6627
+.. nonce: kOvNOH
+.. section: Library
+
+add a getcode() method to the addinfourls that urllib.open() returns so that
+you can retrieve the HTTP status code.
+
+..
+
+.. bpo: 1003
+.. date: 6626
+.. nonce: WwyOlb
+.. section: Library
+
+Fix zipfile decryption check, it would fail zip files with extended local
+headers.
+
+..
+
+.. bpo: 1189216
+.. date: 6625
+.. nonce: ux7ujo
+.. section: Library
+
+Fix the zipfile module to work on archives with headers past the 2**31 byte
+boundary.
+
+..
+
+.. bpo: 1336
+.. date: 6624
+.. nonce: r4ZdAS
+.. section: Library
+
+fix a race condition in subprocess.Popen if the garbage collector kicked in
+at the wrong time that would cause the process to hang when the child wrote
+to stderr.
+
+..
+
+.. bpo: 1146
+.. date: 6623
+.. nonce: 3Fg8Y4
+.. section: Library
+
+fix how textwrap breaks a long word that would start in the last column of a
+line.
+
+..
+
+.. bpo: 1693149
+.. date: 6622
+.. nonce: UDBT5O
+.. section: Library
+
+trace.py --ignore-module - accept multiple comma-separated modules to be
+given.
+
+..
+
+.. bpo: 1822
+.. date: 6621
+.. nonce: p-ABc6
+.. section: Library
+
+MIMEMultipart.is_multipart() behaves correctly for a just-created (and
+empty) instance. Thanks Jonathan Share.
+
+..
+
+.. bpo: 1861
+.. date: 6620
+.. nonce: YK39Pw
+.. section: Library
+
+Added an attribute to the sched module which returns an ordered list of
+upcoming events (displayed as named tuples).
+
+..
+
+.. bpo: 1837
+.. date: 6619
+.. nonce: ltZfCW
+.. section: Library
+
+The queue module now also supports a LIFO queue and a priority queue.
+
+..
+
+.. bpo: 1048820
+.. date: 6618
+.. nonce: hKddPS
+.. section: Library
+
+Add insert-mode editing to curses.textpad.Textbox (patch by Stefan Wehr).
+Also, fix an off-by-one bug in Textbox.gather().
+
+..
+
+.. bpo: 1831
+.. date: 6617
+.. nonce: nEy8wq
+.. section: Library
+
+ctypes now raises a TypeError if conflicting positional and named arguments
+are passed to a Structure or Union initializer. When too many positional
+arguments are passed, also a TypeError is raised instead of a ValueError.
+
+..
+
+.. bpo: 0
+.. date: 6616
+.. nonce: 2_XlvX
+.. section: Library
+
+Convert the internal ctypes array type cache to a WeakValueDict so that
+array types do not live longer than needed.
+
+..
+
+.. bpo: 1786
+.. date: 6615
+.. nonce: glzSfE
+.. section: Library
+
+pdb should use its own stdin/stdout around an exec call and when creating a
+recursive instance.
+
+..
+
+.. bpo: 1698398
+.. date: 6614
+.. nonce: yxfh1R
+.. section: Library
+
+ZipFile.printdir() crashed because the format string expected a tuple type
+of length six instead of time.struct_time object.
+
+..
+
+.. bpo: 1780
+.. date: 6613
+.. nonce: PEqfgx
+.. section: Library
+
+The Decimal constructor now accepts arbitrary leading and trailing
+whitespace when constructing from a string. Context.create_decimal no longer
+accepts trailing newlines.
+
+..
+
+.. bpo: 0
+.. date: 6612
+.. nonce: e5MNna
+.. section: Library
+
+Decimal.as_tuple(), difflib.find_longest_match() and inspect functions that
+returned a tuple now return a named tuple.
+
+..
+
+.. bpo: 0
+.. date: 6611
+.. nonce: r8_kX-
+.. section: Library
+
+Doctest now returns results as a named tuple for readability:     (0, 7) -->
+TestResults(failed=0, attempted=7)
+
+..
+
+.. bpo: 846388
+.. date: 6610
+.. nonce: h2AmOT
+.. section: Library
+
+re.match is interruptible now, which is particularly good for long regular
+expression matches.
+
+..
+
+.. bpo: 1137
+.. date: 6609
+.. nonce: USs2NO
+.. section: Library
+
+allow setting buffer_size attribute on pyexpat Parser objects to set the
+character data buffer size.
+
+..
+
+.. bpo: 1757
+.. date: 6608
+.. nonce: ZXonpG
+.. section: Library
+
+The hash of a Decimal instance is no longer affected by the current context.
+
+..
+
+.. bpo: 467924
+.. date: 6607
+.. nonce: VqzBRz
+.. section: Library
+
+add ZipFile.extract() and ZipFile.extractall() in the zipfile module.
+
+..
+
+.. bpo: 1646
+.. date: 6606
+.. nonce: 0Shvv6
+.. section: Library
+
+Make socket support the TIPC protocol.
+
+..
+
+.. bpo: 1742
+.. date: 6605
+.. nonce: vdh5mh
+.. section: Library
+
+return os.curdir from os.path.relpath() if both arguments are equal instead
+of raising an exception.
+
+..
+
+.. bpo: 1637
+.. date: 6604
+.. nonce: 9ck-BF
+.. section: Library
+
+fix urlparse for URLs like 'http://x.com?arg=/foo'.
+
+..
+
+.. bpo: 1698
+.. date: 6603
+.. nonce: KTC0EP
+.. section: Library
+
+allow '@' in username parsed by urlparse.py.
+
+..
+
+.. bpo: 1735
+.. date: 6602
+.. nonce: Xgf-_n
+.. section: Library
+
+TarFile.extractall() now correctly sets directory permissions and times.
+
+..
+
+.. bpo: 1713
+.. date: 6601
+.. nonce: SO4g7K
+.. section: Library
+
+posixpath.ismount() claims symlink to a mountpoint is a mountpoint.
+
+..
+
+.. bpo: 1687
+.. date: 6600
+.. nonce: qmmQ39
+.. section: Library
+
+Fxed plistlib.py restricts <integer> to Python int when writing
+
+..
+
+.. bpo: 1700
+.. date: 6599
+.. nonce: u0StFP
+.. section: Library
+
+Regular expression inline flags incorrectly handle certain unicode
+characters.
+
+..
+
+.. bpo: 1689
+.. date: 6598
+.. nonce: dx0XAO
+.. section: Library
+
+PEP 3141, numeric abstract base classes.
+
+..
+
+.. bpo: 0
+.. date: 6597
+.. nonce: BOT6AN
+.. section: Library
+
+Tk issue #1851526: Return results from Python callbacks to Tcl as Tcl
+objects.
+
+..
+
+.. bpo: 1642
+.. date: 6596
+.. nonce: doGg1I
+.. section: Library
+
+Fix segfault in ctypes when trying to delete attributes.
+
+..
+
+.. bpo: 1727780
+.. date: 6595
+.. nonce: X0UJbf
+.. section: Library
+
+Support loading pickles of random.Random objects created on 32-bit systems
+on 64-bit systems, and vice versa. As a consequence of the change, Random
+pickles created by Python 2.6 cannot be loaded in Python 2.5.
+
+..
+
+.. bpo: 1455
+.. date: 6594
+.. nonce: qerPO1
+.. section: Library
+
+The distutils package now supports VS 2005 and VS 2008 for both the
+msvccompiler and cygwincompiler.
+
+..
+
+.. bpo: 1531
+.. date: 6593
+.. nonce: hM8cSV
+.. section: Library
+
+tarfile.py: Read fileobj from the current offset, do not seek to the start.
+
+..
+
+.. bpo: 1534
+.. date: 6592
+.. nonce: 2S_yfp
+.. section: Library
+
+Added a dictionary sys.float_info with information about the internal
+floating point type to the sys module.
+
+..
+
+.. bpo: 1429818
+.. date: 6591
+.. nonce: f7q9_-
+.. section: Library
+
+patch for trace and doctest modules so they play nicely together.
+
+..
+
+.. bpo: 0
+.. date: 6590
+.. nonce: ydUJ45
+.. section: Library
+
+doctest made a bad assumption that a package's __loader__.get_data() method
+used universal newlines.
+
+..
+
+.. bpo: 1705170
+.. date: 6589
+.. nonce: 0iNdat
+.. section: Library
+
+contextlib.contextmanager was still swallowing StopIteration in some cases.
+This should no longer happen.
+
+..
+
+.. bpo: 1292
+.. date: 6588
+.. nonce: kW3YuR
+.. section: Library
+
+On alpha, arm, ppc, and s390 linux systems the --with-system-ffi configure
+option defaults to "yes".
+
+..
+
+.. bpo: 0
+.. date: 6587
+.. nonce: nGUzBY
+.. section: Library
+
+IN module for FreeBSD 8 is added and preexisting FreeBSD 6 and 7 files are
+updated.
+
+..
+
+.. bpo: 1181
+.. date: 6586
+.. nonce: -eJDB_
+.. section: Library
+
+unsetenv() is now called when the os.environ.pop() and os.environ.clear()
+methods are used. (See also: bpo-1287)
+
+..
+
+.. bpo: 0
+.. date: 6585
+.. nonce: 76qRj0
+.. section: Library
+
+ctypes will now work correctly on 32-bit systems when Python is configured
+with --with-system-ffi.
+
+..
+
+.. bpo: 1203
+.. date: 6584
+.. nonce: MPohFL
+.. section: Library
+
+ctypes now does work on OS X when Python is built with --disable-toolbox-
+glue.
+
+..
+
+.. bpo: 0
+.. date: 6583
+.. nonce: 4gk9jK
+.. section: Library
+
+collections.deque() now supports a "maxlen" argument.
+
+..
+
+.. bpo: 0
+.. date: 6582
+.. nonce: KEzbqu
+.. section: Library
+
+itertools.count() is no longer bounded to LONG_MAX.  Formerly, it raised an
+OverflowError.  Now, automatically shifts from ints to longs.
+
+..
+
+.. bpo: 0
+.. date: 6581
+.. nonce: 8OaKab
+.. section: Library
+
+Added itertools.product() which forms the Cartesian product of the input
+iterables.
+
+..
+
+.. bpo: 0
+.. date: 6580
+.. nonce: w2hxqg
+.. section: Library
+
+Added itertools.combinations() and itertools.permutations().
+
+..
+
+.. bpo: 1541463
+.. date: 6579
+.. nonce: xGnI_Z
+.. section: Library
+
+optimize performance of cgi.FieldStorage operations.
+
+..
+
+.. bpo: 0
+.. date: 6578
+.. nonce: oJ3eSC
+.. section: Library
+
+Decimal is fully updated to the latest Decimal Specification (v1.66).
+
+..
+
+.. bpo: 1153
+.. date: 6577
+.. nonce: oxsMZ-
+.. section: Library
+
+repr.repr() now doesn't require set and dictionary items to be orderable to
+properly represent them.
+
+..
+
+.. bpo: 0
+.. date: 6576
+.. nonce: 3NxHdM
+.. section: Library
+
+A 'c_longdouble' type was added to the ctypes module.
+
+..
+
+.. bpo: 1709599
+.. date: 6575
+.. nonce: ZInQo1
+.. section: Library
+
+Run test_1565150 only if the file system is NTFS.
+
+..
+
+.. bpo: 0
+.. date: 6574
+.. nonce: dXPH7w
+.. section: Library
+
+When encountering a password-protected robots.txt file the RobotFileParser
+no longer prompts interactively for a username and password (bug 813986).
+
+..
+
+.. bpo: 0
+.. date: 6573
+.. nonce: -jXdBx
+.. section: Library
+
+TarFile.__init__() no longer fails if no name argument is passed and the
+fileobj argument has no usable name attribute (e.g. StringIO).
+
+..
+
+.. bpo: 0
+.. date: 6572
+.. nonce: OzvBf4
+.. section: Library
+
+The functools module now provides 'reduce', for forward compatibility with
+Python 3000.
+
+..
+
+.. bpo: 0
+.. date: 6571
+.. nonce: NBttxY
+.. section: Library
+
+Server-side SSL support and cert verification added, by Bill Janssen.
+
+..
+
+.. bpo: 0
+.. date: 6570
+.. nonce: fKSKr7
+.. section: Library
+
+socket.ssl deprecated; use new ssl module instead.
+
+..
+
+.. bpo: 0
+.. date: 6569
+.. nonce: z663Ql
+.. section: Library
+
+uuid creation is now threadsafe.
+
+..
+
+.. bpo: 0
+.. date: 6568
+.. nonce: NGc_vS
+.. section: Library
+
+EUC-KR codec now handles the cheot-ga-keut composed make-up hangul
+syllables.
+
+..
+
+.. bpo: 0
+.. date: 6567
+.. nonce: abpzUy
+.. section: Library
+
+GB18030 codec now can encode additional two-byte characters that are missing
+in GBK.
+
+..
+
+.. bpo: 0
+.. date: 6566
+.. nonce: hoSWQ5
+.. section: Library
+
+Add new codecs for UTF-32, UTF-32-LE and UTF-32-BE.
+
+..
+
+.. bpo: 1704793
+.. date: 6565
+.. nonce: o6G2FY
+.. section: Library
+
+Return UTF-16 pair if unicodedata.lookup cannot represent the result in a
+single character.
+
+..
+
+.. bpo: 978833
+.. date: 6564
+.. nonce: nosP-g
+.. section: Library
+
+Close https sockets by releasing the _ssl object.
+
+..
+
+.. bpo: 0
+.. date: 6563
+.. nonce: Ha8_ga
+.. section: Library
+
+Change location of the package index to pypi.python.org/pypi
+
+..
+
+.. bpo: 1701409
+.. date: 6562
+.. nonce: x3Qs1t
+.. section: Library
+
+Fix a segfault in printing ctypes.c_char_p and ctypes.c_wchar_p when they
+point to an invalid location.  As a sideeffect the representation of these
+instances has changed.
+
+..
+
+.. bpo: 0
+.. date: 6561
+.. nonce: QHd-OV
+.. section: Library
+
+tarfile.py: Added "exclude" keyword argument to TarFile.add().
+
+..
+
+.. bpo: 1734723
+.. date: 6560
+.. nonce: zfdFr7
+.. section: Library
+
+Fix repr.Repr() so it doesn't ignore the maxtuple attribute.
+
+..
+
+.. bpo: 0
+.. date: 6559
+.. nonce: A7KLfz
+.. section: Library
+
+The urlopen function of urllib2 now has an optional timeout parameter (note
+that it actually works with HTTP, HTTPS, FTP and FTPS connections).
+
+..
+
+.. bpo: 0
+.. date: 6558
+.. nonce: mMxho-
+.. section: Library
+
+In ftplib, the FTP.ntransfercmd method, when in passive mode, now uses the
+socket.create_connection function, using the timeout specified at connection
+time.
+
+..
+
+.. bpo: 1728403
+.. date: 6557
+.. nonce: SusWve
+.. section: Library
+
+Fix a bug that CJKCodecs StreamReader hangs when it reads a file that ends
+with incomplete sequence and sizehint argument for .read() is specified.
+
+..
+
+.. bpo: 1730389
+.. date: 6556
+.. nonce: WVvA-8
+.. section: Library
+
+Change time.strptime() to use ``\s+`` instead of ``\s*`` when matching
+spaces in the specified format argument.
+
+..
+
+.. bpo: 1668596
+.. date: 6555
+.. nonce: 5l2Qnk
+.. section: Library
+
+distutils now copies data files even if package_dir is empty. (See also:
+bpo-1720897)
+
+..
+
+.. bpo: 0
+.. date: 6554
+.. nonce: jWDgV4
+.. section: Library
+
+sha now raises a DeprecationWarning upon import.
+
+..
+
+.. bpo: 0
+.. date: 6553
+.. nonce: fepG9O
+.. section: Library
+
+md5 now raises a DeprecationWarning upon import.
+
+..
+
+.. bpo: 1385
+.. date: 6552
+.. nonce: pms34F
+.. section: Library
+
+The hmac module now computes the correct hmac when using hashes with a block
+size other than 64 bytes (such as sha384 and sha512).
+
+..
+
+.. bpo: 0
+.. date: 6551
+.. nonce: soFpEB
+.. section: Library
+
+mimify now raises a DeprecationWarning upon import.
+
+..
+
+.. bpo: 0
+.. date: 6550
+.. nonce: eSD3F7
+.. section: Library
+
+MimeWriter now raises a DeprecationWarning upon import.
+
+..
+
+.. bpo: 0
+.. date: 6549
+.. nonce: CQZoRW
+.. section: Library
+
+tarfile.py: Improved unicode support. Unicode input names are now officially
+supported. Added "errors" argument to the TarFile class.
+
+..
+
+.. bpo: 0
+.. date: 6548
+.. nonce: NLgbaM
+.. section: Library
+
+urllib.ftpwrapper class now accepts an optional timeout.
+
+..
+
+.. bpo: 0
+.. date: 6547
+.. nonce: aRmxLC
+.. section: Library
+
+shlex.split() now has an optional "posix" parameter.
+
+..
+
+.. bpo: 0
+.. date: 6546
+.. nonce: 16HcrE
+.. section: Library
+
+The posixfile module now raises a DeprecationWarning.
+
+..
+
+.. bpo: 0
+.. date: 6545
+.. nonce: oUYKUV
+.. section: Library
+
+Remove the gopherlib module.  This also leads to the removal of gopher
+support in urllib/urllib2.
+
+..
+
+.. bpo: 0
+.. date: 6544
+.. nonce: NH6RAh
+.. section: Library
+
+Fix bug in marshal where bad data would cause a segfault due to lack of an
+infinite recursion check.
+
+..
+
+.. bpo: 0
+.. date: 6543
+.. nonce: 9XHU1_
+.. section: Library
+
+Removed plat-freebsd2 and plat-freebsd3 directories (and IN.py in the
+directories).
+
+..
+
+.. bpo: 0
+.. date: 6542
+.. nonce: Sbs4OF
+.. section: Library
+
+HTML-escape the plain traceback in cgitb's HTML output, to prevent the
+traceback inadvertently or maliciously closing the comment and injecting
+HTML into the error page.
+
+..
+
+.. bpo: 0
+.. date: 6541
+.. nonce: fDPaFU
+.. section: Library
+
+The popen2 module and os.popen* are deprecated.  Use the subprocess module.
+
+..
+
+.. bpo: 0
+.. date: 6540
+.. nonce: DiM9IG
+.. section: Library
+
+Added an optional credentials argument to SMTPHandler, for use with SMTP
+servers which require authentication.
+
+..
+
+.. bpo: 1695948
+.. date: 6539
+.. nonce: Gkj_1M
+.. section: Library
+
+Added optional timeout parameter to SocketHandler.
+
+..
+
+.. bpo: 1652788
+.. date: 6538
+.. nonce: Wp3YON
+.. section: Library
+
+Minor fix for currentframe.
+
+..
+
+.. bpo: 1598415
+.. date: 6537
+.. nonce: z3zZwM
+.. section: Library
+
+Added WatchedFileHandler to better support external log file rotation using
+e.g. newsyslog or logrotate. This handler is only useful in Unix/Linux
+environments.
+
+..
+
+.. bpo: 1706381
+.. date: 6536
+.. nonce: LwHKFI
+.. section: Library
+
+Specifying the SWIG option "-c++" in the setup.py file (as opposed to the
+command line) will now write file names ending in ".cpp" too.
+
+..
+
+.. bpo: 0
+.. date: 6535
+.. nonce: 960i58
+.. section: Library
+
+As specified in RFC 2616, an HTTP response like 2xx indicates that the
+client's request was successfully received, understood, and accepted.  Now
+in these cases no error is raised in urllib (issue #1177) and urllib2.
+
+..
+
+.. bpo: 1290505
+.. date: 6534
+.. nonce: bXfrzq
+.. section: Library
+
+time.strptime's internal cache of locale information is now properly
+recreated when the locale is changed.
+
+..
+
+.. bpo: 1685563
+.. date: 6533
+.. nonce: ce_7tt
+.. section: Library
+
+remove (don't add) duplicate paths in distutils.MSVCCompiler.
+
+..
+
+.. bpo: 0
+.. date: 6532
+.. nonce: 0VS9AQ
+.. section: Library
+
+Added a timeout parameter to the constructor of other protocols (telnetlib,
+ftplib, smtplib and poplib). This is second part of the work started with
+create_connection() and timeout in httplib, and closes patch #723312.
+
+..
+
+.. bpo: 1676823
+.. date: 6531
+.. nonce: Ujlmqa
+.. section: Library
+
+Added create_connection() to socket.py, which may be called with a timeout,
+and use it from httplib (whose HTTPConnection and HTTPSConnection now accept
+an optional timeout).
+
+..
+
+.. bpo: 978833
+.. date: 6530
+.. nonce: zF4H2Y
+.. section: Library
+
+Revert r50844, as it broke _socketobject.dup.
+
+..
+
+.. bpo: 1675967
+.. date: 6529
+.. nonce: 1iw5U2
+.. section: Library
+
+re patterns pickled with Python 2.4 and earlier can now be unpickled with
+Python 2.5 and newer.
+
+..
+
+.. bpo: 1630118
+.. date: 6528
+.. nonce: eZiVxq
+.. section: Library
+
+add a SpooledTemporaryFile class to tempfile.py.
+
+..
+
+.. bpo: 1273829
+.. date: 6527
+.. nonce: mj4QNT
+.. section: Library
+
+os.walk() now has a "followlinks" parameter. If set to True (which is not
+the default), it visits symlinks pointing to directories.
+
+..
+
+.. bpo: 1681228
+.. date: 6526
+.. nonce: 4MMQ01
+.. section: Library
+
+the webbrowser module now correctly uses the default GNOME or KDE browser,
+depending on whether there is a session of one of those present. Also, it
+tries the Windows default browser before trying Mozilla variants.
+
+..
+
+.. bpo: 1339796
+.. date: 6525
+.. nonce: Nn-Kby
+.. section: Library
+
+add a relpath() function to os.path.
+
+..
+
+.. bpo: 1681153
+.. date: 6524
+.. nonce: fQELcx
+.. section: Library
+
+the wave module now closes a file object it opened if initialization failed.
+
+..
+
+.. bpo: 767111
+.. date: 6523
+.. nonce: C9lOY0
+.. section: Library
+
+fix long-standing bug in urllib which caused an AttributeError instead of an
+IOError when the server's response didn't contain a valid HTTP status line.
+
+..
+
+.. bpo: 957650
+.. date: 6522
+.. nonce: 2j9cb4
+.. section: Library
+
+"%var%" environment variable references are now properly expanded in
+ntpath.expandvars(), also "~user" home directory references are recognized
+and handled on Windows.
+
+..
+
+.. bpo: 1429539
+.. date: 6521
+.. nonce: _VYWyV
+.. section: Library
+
+pdb now correctly initializes the __main__ module for the debugged script,
+which means that imports from __main__ work correctly now.
+
+..
+
+.. bpo: 0
+.. date: 6520
+.. nonce: 8oczdW
+.. section: Library
+
+The nonobvious commands.getstatus() function is now deprecated.
+
+..
+
+.. bpo: 1393667
+.. date: 6519
+.. nonce: qba-ui
+.. section: Library
+
+pdb now has a "run" command which restarts the debugged Python program,
+optionally with different arguments.
+
+..
+
+.. bpo: 1649190
+.. date: 6518
+.. nonce: WRBz2d
+.. section: Library
+
+Adding support for _Bool to ctypes as c_bool.
+
+..
+
+.. bpo: 1530482
+.. date: 6517
+.. nonce: 1HDrw-
+.. section: Library
+
+add pydoc.render_doc() which returns the documentation for a thing instead
+of paging it to stdout, which pydoc.doc() does.
+
+..
+
+.. bpo: 1533909
+.. date: 6516
+.. nonce: I3IRRD
+.. section: Library
+
+the timeit module now accepts callables in addition to strings for the code
+to time and the setup code. Also added two convenience functions for
+instantiating a Timer and calling its methods.
+
+..
+
+.. bpo: 1537850
+.. date: 6515
+.. nonce: mojZP-
+.. section: Library
+
+tempfile.NamedTemporaryFile now has a "delete" parameter which can be set to
+False to prevent the default delete-on-close behavior.
+
+..
+
+.. bpo: 1581073
+.. date: 6514
+.. nonce: Im5bIV
+.. section: Library
+
+add a flag to textwrap that prevents the dropping of whitespace while
+wrapping.
+
+..
+
+.. bpo: 1603688
+.. date: 6513
+.. nonce: Mv_jlM
+.. section: Library
+
+ConfigParser.SafeConfigParser now checks values that are set for invalid
+interpolation sequences that would lead to errors on reading back those
+values.
+
+..
+
+.. bpo: 0
+.. date: 6512
+.. nonce: ZYo06p
+.. section: Library
+
+Added support for the POSIX.1-2001 (pax) format to tarfile.py. Extended and
+cleaned up the test suite. Added a new testtar.tar.
+
+..
+
+.. bpo: 1449244
+.. date: 6511
+.. nonce: uHkKjk
+.. section: Library
+
+Support Unicode strings in
+email.message.Message.{set_charset,get_content_charset}.
+
+..
+
+.. bpo: 1542681
+.. date: 6510
+.. nonce: 5y5uCV
+.. section: Library
+
+add entries for "with", "as" and "CONTEXTMANAGERS" to pydoc's help keywords.
+
+..
+
+.. bpo: 1555098
+.. date: 6509
+.. nonce: mO79lM
+.. section: Library
+
+use str.join() instead of repeated string concatenation in robotparser.
+
+..
+
+.. bpo: 1635454
+.. date: 6508
+.. nonce: 8Gv5Ek
+.. section: Library
+
+the csv.DictWriter class now includes the offending field names in its
+exception message if you try to write a record with a dictionary containing
+fields not in the CSV field names list.
+
+..
+
+.. bpo: 1668100
+.. date: 6507
+.. nonce: BfAU9i
+.. section: Library
+
+urllib2 now correctly raises URLError instead of OSError if accessing a
+local file via the file:// protocol fails.
+
+..
+
+.. bpo: 1677862
+.. date: 6506
+.. nonce: YuXNs6
+.. section: Library
+
+Require a space or tab after import in .pth files.
+
+..
+
+.. bpo: 1192590
+.. date: 6505
+.. nonce: d2uMgi
+.. section: Library
+
+Fix pdb's "ignore" and "condition" commands so they trap the IndexError
+caused by passing in an invalid breakpoint number.
+
+..
+
+.. bpo: 1599845
+.. date: 6504
+.. nonce: 9zhNQX
+.. section: Library
+
+Add an option to disable the implicit calls to server_bind() and
+server_activate() in the constructors for TCPServer, SimpleXMLRPCServer and
+DocXMLRPCServer.
+
+..
+
+.. bpo: 1531963
+.. date: 6503
+.. nonce: p5GJcu
+.. section: Library
+
+Make SocketServer.TCPServer's server_address always be equal to calling
+getsockname() on the server's socket. Fixed by patch #1545011.
+
+..
+
+.. bpo: 742598
+.. date: 6502
+.. nonce: -50Nso
+.. section: Library
+
+Add .timeout attribute to SocketServer that calls .handle_timeout() when no
+requests are received.
+
+..
+
+.. bpo: 1651235
+.. date: 6501
+.. nonce: cY8CV7
+.. section: Library
+
+When a tuple was passed to a ctypes function call, Python would crash
+instead of raising an error.
+
+..
+
+.. bpo: 1646630
+.. date: 6500
+.. nonce: rkS7gc
+.. section: Library
+
+ctypes.string_at(buf, 0) and ctypes.wstring_at(buf, 0) returned string up to
+the first NUL character.
+
+..
+
+.. bpo: 957003
+.. date: 6499
+.. nonce: SskRob
+.. section: Library
+
+Implement smtplib.LMTP.
+
+..
+
+.. bpo: 1481079
+.. date: 6498
+.. nonce: gEYAkC
+.. section: Library
+
+add support for HTTP_REFERER to CGIHTTPServer.
+
+..
+
+.. bpo: 1675424
+.. date: 6497
+.. nonce: 8A9fwo
+.. section: Library
+
+Added tests for uncovered code in the zipfile module.  The KeyError raised
+by Zipfile.getinfo for nonexistent names now has a descriptive message.
+
+..
+
+.. bpo: 1115886
+.. date: 6496
+.. nonce: Q-42A9
+.. section: Library
+
+os.path.splitext('.cshrc') gives now ('.cshrc', '').
+
+..
+
+.. bpo: 0
+.. date: 6495
+.. nonce: wlVTpz
+.. section: Library
+
+unittest now verifies more of its assumptions. In particular, TestCase and
+TestSuite subclasses (not instances) are no longer accepted in
+TestSuite.addTest(). This should cause no incompatibility since it never
+made sense with ordinary subclasses -- the failure just occurred later, with
+a more cumbersome exception.
+
+..
+
+.. bpo: 787789
+.. date: 6494
+.. nonce: jzIMu8
+.. section: Library
+
+allow passing custom TestRunner instances to unittest's main() function.
+
+..
+
+.. bpo: 1550273
+.. date: 6493
+.. nonce: Ra8QUZ
+.. section: Library
+
+fix a few bugs in unittest and add a comprehensive test suite for the
+module. (See also: bpo-1550272)
+
+..
+
+.. bpo: 1001604
+.. date: 6492
+.. nonce: Vdqhuq
+.. section: Library
+
+glob.glob() now returns unicode filenames if it was given a unicode argument
+and os.listdir() returns unicode filenames.
+
+..
+
+.. bpo: 1673619
+.. date: 6491
+.. nonce: j16YPr
+.. section: Library
+
+setup.py identifies extension modules it doesn't know how to build and those
+it knows how to build but that fail to build.
+
+..
+
+.. bpo: 912410
+.. date: 6490
+.. nonce: mh0cGH
+.. section: Library
+
+Replace HTML entity references for attribute values in HTMLParser.
+
+..
+
+.. bpo: 1663234
+.. date: 6489
+.. nonce: YZlp53
+.. section: Library
+
+you can now run doctest on test files and modules using "python -m doctest
+[-v] filename ...".
+
+..
+
+.. bpo: 1121142
+.. date: 6488
+.. nonce: EulpqL
+.. section: Library
+
+Implement ZipFile.open.
+
+..
+
+.. bpo: 0
+.. date: 6487
+.. nonce: jimAik
+.. section: Library
+
+Taught setup.py how to locate Berkeley DB on Macs using MacPorts.
+
+..
+
+.. bpo: 0
+.. date: 6486
+.. nonce: qbUsHo
+.. section: Library
+
+Added heapq.merge() for merging sorted input streams.
+
+..
+
+.. bpo: 0
+.. date: 6485
+.. nonce: c69oKw
+.. section: Library
+
+Added collections.namedtuple() for assigning field names to tuples.
+
+..
+
+.. bpo: 0
+.. date: 6484
+.. nonce: 5y6Y9N
+.. section: Library
+
+Added itertools.izip_longest().
+
+..
+
+.. bpo: 0
+.. date: 6483
+.. nonce: VzsTJi
+.. section: Library
+
+Have the encoding package's search function dynamically import using
+absolute import semantics.
+
+..
+
+.. bpo: 1647484
+.. date: 6482
+.. nonce: FkN5SP
+.. section: Library
+
+Renamed GzipFile's filename attribute to name.
+
+..
+
+.. bpo: 1517891
+.. date: 6481
+.. nonce: AvYw8j
+.. section: Library
+
+Mode 'a' for ZipFile now creates the file if it doesn't exist.
+
+..
+
+.. bpo: 698833
+.. date: 6480
+.. nonce: UagENp
+.. section: Library
+
+Support file decryption in zipfile.
+
+..
+
+.. bpo: 685268
+.. date: 6479
+.. nonce: j7gRo3
+.. section: Library
+
+Consider a package's __path__ in imputil.
+
+..
+
+.. bpo: 1463026
+.. date: 6478
+.. nonce: _0rmmb
+.. section: Library
+
+Support default namespace in XMLGenerator.
+
+..
+
+.. bpo: 1571379
+.. date: 6477
+.. nonce: TLNfnP
+.. section: Library
+
+Make trace's --ignore-dir facility work in the face of relative directory
+names.
+
+..
+
+.. bpo: 1600860
+.. date: 6476
+.. nonce: gY3F66
+.. section: Library
+
+Search for shared python library in LIBDIR, not lib/python/config, on
+"linux" and "gnu" systems.
+
+..
+
+.. bpo: 1652681
+.. date: 6475
+.. nonce: ZiYQdm
+.. section: Library
+
+tarfile.py: create nonexistent files in append mode and allow appending to
+empty files.
+
+..
+
+.. bpo: 1124861
+.. date: 6474
+.. nonce: aulyJj
+.. section: Library
+
+Automatically create pipes if GetStdHandle fails in subprocess.
+
+..
+
+.. bpo: 1634778
+.. date: 6473
+.. nonce: pScHLI
+.. section: Library
+
+add missing encoding aliases for iso8859_15 and iso8859_16.
+
+..
+
+.. bpo: 1638243
+.. date: 6472
+.. nonce: SAVlQC
+.. section: Library
+
+the compiler package is now able to correctly compile a with statement;
+previously, executing code containing a with statement compiled by the
+compiler package crashed the interpreter.
+
+..
+
+.. bpo: 1643943
+.. date: 6471
+.. nonce: a4nxv3
+.. section: Library
+
+Fix time.strptime's support for the %U directive.
+
+..
+
+.. bpo: 1507247
+.. date: 6470
+.. nonce: AYqRTm
+.. section: Library
+
+tarfile.py: use current umask for intermediate directories.
+
+..
+
+.. bpo: 1627441
+.. date: 6469
+.. nonce: nTrbqY
+.. section: Library
+
+close sockets properly in urllib2.
+
+..
+
+.. bpo: 494589
+.. date: 6468
+.. nonce: 2kCbNY
+.. section: Library
+
+make ntpath.expandvars behave according to its docstring.
+
+..
+
+.. bpo: 0
+.. date: 6467
+.. nonce: ezpU0D
+.. section: Library
+
+Changed platform module API python_version_tuple() to actually return a
+tuple (it used to return a list).
+
+..
+
+.. bpo: 0
+.. date: 6466
+.. nonce: 2-kVtg
+.. section: Library
+
+Added new platform module APIs python_branch(), python_revision(),
+python_implementation() and linux_distribution().
+
+..
+
+.. bpo: 0
+.. date: 6465
+.. nonce: qzrIXP
+.. section: Library
+
+Added support for IronPython and Jython to the platform module.
+
+..
+
+.. bpo: 0
+.. date: 6464
+.. nonce: MS8C3z
+.. section: Library
+
+The sets module has been deprecated.  Use the built-in set/frozenset types
+instead.
+
+..
+
+.. bpo: 1610795
+.. date: 6463
+.. nonce: FEIux6
+.. section: Library
+
+make ctypes.util.find_library work on BSD systems.
+
+..
+
+.. bpo: 0
+.. date: 6462
+.. nonce: rfv0pM
+.. section: Library
+
+Fixes for 64-bit Windows: In ctypes.wintypes, correct the definitions of
+HANDLE, WPARAM, LPARAM data types.  Make parameterless foreign function
+calls work.
+
+..
+
+.. bpo: 0
+.. date: 6461
+.. nonce: iCu2EB
+.. section: Library
+
+The version number of the ctypes package changed to "1.1.0".
+
+..
+
+.. bpo: 1627575
+.. date: 6460
+.. nonce: ekqcHu
+.. section: Library
+
+logging: Added _open() method to FileHandler which can be used to reopen
+files. The FileHandler instance now saves the encoding (which can be None)
+in an attribute called "encoding".
+
+..
+
+.. bpo: 411881
+.. date: 6459
+.. nonce: SdPBJS
+.. section: Library
+
+logging.handlers: bare except clause removed from SMTPHandler.emit. Now,
+only ImportError is trapped.
+
+..
+
+.. bpo: 411881
+.. date: 6458
+.. nonce: Hui5Li
+.. section: Library
+
+logging.handlers: bare except clause removed from
+SocketHandler.createSocket. Now, only socket.error is trapped.
+
+..
+
+.. bpo: 411881
+.. date: 6457
+.. nonce: EB2bof
+.. section: Library
+
+logging: bare except clause removed from LogRecord.__init__.  Now, only
+ValueError, TypeError and AttributeError are trapped.
+
+..
+
+.. bpo: 1504073
+.. date: 6456
+.. nonce: i48FvZ
+.. section: Library
+
+Fix tarfile.open() for mode "r" with a fileobj argument.
+
+..
+
+.. bpo: 1182394
+.. date: 6455
+.. nonce: oDRBxu
+.. section: Library
+
+Speed up ``HMAC.hexdigest``.  (Patch by Shane Holloway.)
+
+..
+
+.. bpo: 1262036
+.. date: 6454
+.. nonce: 1Y1xgB
+.. section: Library
+
+Prevent TarFiles from being added to themselves under certain conditions.
+
+..
+
+.. bpo: 1230446
+.. date: 6453
+.. nonce: OwOxzM
+.. section: Library
+
+tarfile.py: fix ExFileObject so that read() and tell() work correctly
+together with readline().
+
+..
+
+.. bpo: 1484695
+.. date: 6452
+.. nonce: kbpUdY
+.. section: Library
+
+The tarfile module now raises a HeaderError exception if a buffer given to
+frombuf() is invalid.
+
+..
+
+.. bpo: 1503765
+.. date: 6451
+.. nonce: N5UCHi
+.. section: Library
+
+Fix a problem in logging.config with spaces in comma- separated lists read
+from logging config files.
+
+..
+
+.. bpo: 1604907
+.. date: 6450
+.. nonce: AXQii8
+.. section: Library
+
+Fix problems in logging.handlers caused at logging shutdown when syslog
+handlers fail to initialize because of syslogd problems.
+
+..
+
+.. bpo: 1608267
+.. date: 6449
+.. nonce: ldcDih
+.. section: Library
+
+fix a race condition in os.makedirs() if the directory to be created is
+already there.
+
+..
+
+.. bpo: 1610437
+.. date: 6448
+.. nonce: pXPK4x
+.. section: Library
+
+fix a tarfile bug with long filename headers.
+
+..
+
+.. bpo: 1371075
+.. date: 6447
+.. nonce: NE7BY3
+.. section: Library
+
+Make ConfigParser accept optional dict type for ordering, sorting, etc.
+
+..
+
+.. bpo: 1563807
+.. date: 6446
+.. nonce: r5ah8b
+.. section: Library
+
+_ctypes built on AIX fails with ld ffi error.
+
+..
+
+.. bpo: 1598620
+.. date: 6445
+.. nonce: jHuKUn
+.. section: Library
+
+A ctypes Structure cannot contain itself.
+
+..
+
+.. bpo: 1070046
+.. date: 6444
+.. nonce: E13xc_
+.. section: Library
+
+Marshal new-style objects like InstanceType in xmlrpclib.
+
+..
+
+.. bpo: 0
+.. date: 6443
+.. nonce: P-fEXH
+.. section: Library
+
+cStringIO.truncate(-1) now raises an IOError, like StringIO and regular
+files.
+
+..
+
+.. bpo: 1472877
+.. date: 6442
+.. nonce: qL083L
+.. section: Library
+
+Fix Tix subwidget name resolution.
+
+..
+
+.. bpo: 1594554
+.. date: 6441
+.. nonce: SqL3iT
+.. section: Library
+
+Always close a tkSimpleDialog on ok(), even if an exception occurs.
+
+..
+
+.. bpo: 1538878
+.. date: 6440
+.. nonce: m2hjNu
+.. section: Library
+
+Don't make tkSimpleDialog dialogs transient if the parent window is
+withdrawn.
+
+..
+
+.. bpo: 1597824
+.. date: 6439
+.. nonce: ORR2oo
+.. section: Library
+
+return the registered function from atexit.register() to facilitate usage as
+a decorator.
+
+..
+
+.. bpo: 1360200
+.. date: 6438
+.. nonce: 2ymI3x
+.. section: Library
+
+Use unmangled_version RPM spec field to deal with file name mangling.
+
+..
+
+.. bpo: 1359217
+.. date: 6437
+.. nonce: RlkDVQ
+.. section: Library
+
+Process 2xx response in an ftplib transfer that precedes an 1xx response.
+
+..
+
+.. bpo: 1355023
+.. date: 6436
+.. nonce: gz3jFH
+.. section: Library
+
+support whence argument for GzipFile.seek.
+
+..
+
+.. bpo: 1065257
+.. date: 6435
+.. nonce: dzuo9U
+.. section: Library
+
+Support passing open files as body in HTTPConnection.request().
+
+..
+
+.. bpo: 1569790
+.. date: 6434
+.. nonce: XNZtnX
+.. section: Library
+
+mailbox.py: Maildir.get_folder() and MH.get_folder() weren't passing the
+message factory on to newly created Maildir/MH objects.
+
+..
+
+.. bpo: 1514543
+.. date: 6433
+.. nonce: JxSqun
+.. section: Library
+
+mailbox.py: In the Maildir class, report errors if there's a filename clash
+instead of possibly losing a message. (Patch by David Watson.)
+
+..
+
+.. bpo: 1514544
+.. date: 6432
+.. nonce: nfmx--
+.. section: Library
+
+Try to ensure that messages/indexes have been physically written to disk
+after calling .flush() or .close(). (Patch by David Watson.)
+
+..
+
+.. bpo: 1592250
+.. date: 6431
+.. nonce: cErfyc
+.. section: Library
+
+Add elide argument to Tkinter.Text.search.
+
+..
+
+.. bpo: 838546
+.. date: 6430
+.. nonce: yBohhh
+.. section: Library
+
+Make terminal become controlling in pty.fork().
+
+..
+
+.. bpo: 1351744
+.. date: 6429
+.. nonce: a4x3Q4
+.. section: Library
+
+Add askyesnocancel helper for tkMessageBox.
+
+..
+
+.. bpo: 1060577
+.. date: 6428
+.. nonce: 7Hpowm
+.. section: Library
+
+Extract list of RPM files from spec file in bdist_rpm.
+
+..
+
+.. bpo: 1586613
+.. date: 6427
+.. nonce: pIXli0
+.. section: Library
+
+fix zlib and bz2 codecs' incremental en/decoders.
+
+..
+
+.. bpo: 1583880
+.. date: 6426
+.. nonce: nwiLAW
+.. section: Library
+
+fix tarfile's problems with long names and posix/ GNU modes.
+
+..
+
+.. bpo: 1586448
+.. date: 6425
+.. nonce: FmFoc_
+.. section: Library
+
+the compiler module now emits the same bytecode for list comprehensions as
+the built-in compiler, using the LIST_APPEND opcode.
+
+..
+
+.. bpo: 0
+.. date: 6424
+.. nonce: 2gBgWG
+.. section: Library
+
+Fix codecs.EncodedFile which did not use file_encoding in 2.5.0, and fix all
+codecs file wrappers to work correctly with the "with" statement (bug
+#1586513).
+
+..
+
+.. bpo: 0
+.. date: 6423
+.. nonce: zvhpow
+.. section: Library
+
+Lib/modulefinder.py now handles absolute and relative imports correctly.
+
+..
+
+.. bpo: 1567274
+.. date: 6422
+.. nonce: LA_DH5
+.. section: Library
+
+Support SMTP over TLS.
+
+..
+
+.. bpo: 1560695
+.. date: 6421
+.. nonce: kVpjpW
+.. section: Library
+
+Add .note.GNU-stack to ctypes' sysv.S so that ctypes isn't considered as
+requiring executable stacks.
+
+..
+
+.. bpo: 0
+.. date: 6420
+.. nonce: fKDGbU
+.. section: Library
+
+ctypes callback functions only support 'fundamental' data types as result
+type.  Raise an error when something else is used.  This is a partial fix
+for Bug #1574584.
+
+..
+
+.. bpo: 0
+.. date: 6419
+.. nonce: yLdVeX
+.. section: Library
+
+Fix turtle so that time.sleep is imported for the entire library. Allows the
+demo2 function to be executed on its own instead of only when the module is
+run as a script.
+
+..
+
+.. bpo: 1565150
+.. date: 6418
+.. nonce: DJh_i-
+.. section: Library
+
+Fix subsecond processing for os.utime on Windows.
+
+..
+
+.. bpo: 0
+.. date: 6417
+.. nonce: p_gre9
+.. section: Library
+
+Support for MSVC 8 was added to bdist_wininst.
+
+..
+
+.. bpo: 1446043
+.. date: 6416
+.. nonce: yKz_Q4
+.. section: Library
+
+correctly raise a LookupError if an encoding name given to
+encodings.search_function() contains a dot.
+
+..
+
+.. bpo: 1560617
+.. date: 6415
+.. nonce: aAisSJ
+.. section: Library
+
+in pyclbr, return full module name not only for classes, but also for
+functions.
+
+..
+
+.. bpo: 1457823
+.. date: 6414
+.. nonce: CRxLz4
+.. section: Library
+
+cgi.(Sv)FormContentDict's constructor now takes keep_blank_values and
+strict_parsing keyword arguments.
+
+..
+
+.. bpo: 1566602
+.. date: 6413
+.. nonce: bB3CAB
+.. section: Library
+
+correct failure of posixpath unittest when $HOME ends with a slash.
+
+..
+
+.. bpo: 1565661
+.. date: 6412
+.. nonce: AP25Qm
+.. section: Library
+
+in webbrowser, split() the command for the default GNOME browser in case it
+is a command with args.
+
+..
+
+.. bpo: 0
+.. date: 6411
+.. nonce: DZkwqI
+.. section: Library
+
+Made the error message for time.strptime when the data and format do match
+be more clear.
+
+..
+
+.. bpo: 0
+.. date: 6410
+.. nonce: 7duvEn
+.. section: Library
+
+Fix a bug in traceback.format_exception_only() that led to an error being
+raised when print_exc() was called without an exception set. In version 2.4,
+this printed "None", restored that behavior.
+
+..
+
+.. bpo: 0
+.. date: 6409
+.. nonce: 709mp_
+.. section: Library
+
+Make webbrowser.BackgroundBrowser usable in Windows (it wasn't because the
+close_fds arg to subprocess.Popen is not supported).
+
+..
+
+.. bpo: 1504333
+.. date: 6408
+.. nonce: y46ekU
+.. section: Library
+
+Reverted change to sgmllib because it introduced an infinite loop.
+
+..
+
+.. bpo: 1553314
+.. date: 6407
+.. nonce: RCumD0
+.. section: Library
+
+Fix the inspect.py slowdown that was hurting IPython & SAGE by adding
+smarter caching in inspect.getmodule()
+
+..
+
+.. bpo: 0
+.. date: 6406
+.. nonce: 6I6WXA
+.. section: Library
+
+Fix missing import of the types module in logging.config.
+
+..
+
+.. bpo: 1550886
+.. date: 6405
+.. nonce: DuV8q5
+.. section: Library
+
+Fix decimal module context management implementation to match the
+localcontext() example from PEP 343.
+
+..
+
+.. bpo: 1545341
+.. date: 6404
+.. nonce: EaLhZZ
+.. section: Library
+
+The 'classifier' keyword argument to the Distutils setup() function now
+accepts tuples as well as lists.
+
+..
+
+.. bpo: 1541863
+.. date: 6403
+.. nonce: HUh40x
+.. section: Library
+
+uuid.uuid1 failed to generate unique identifiers on systems with low clock
+resolution.
+
+..
+
+.. bpo: 1531862
+.. date: 6402
+.. nonce: yyYfx5
+.. section: Library
+
+Do not close standard file descriptors in subprocess.
+
+..
+
+.. bpo: 0
+.. date: 6401
+.. nonce: lISaKl
+.. section: Library
+
+Fix utf-8-sig incremental decoder, which didn't recognise a BOM when the
+first chunk fed to the decoder started with a BOM, but was longer than 3
+bytes.
+
+..
+
+.. bpo: 0
+.. date: 6400
+.. nonce: RFXvgt
+.. section: Library
+
+The implementation of UnicodeError objects has been simplified (start and
+end attributes are now stored directly as Py_ssize_t members).
+
+..
+
+.. bpo: 829951
+.. date: 6399
+.. nonce: v5y-W2
+.. section: Library
+
+In the smtplib module, SMTP.starttls() now complies with RFC 3207 and
+forgets any knowledge obtained from the server not obtained from the TLS
+negotiation itself.  Patch contributed by Bill Fenner.
+
+..
+
+.. bpo: 1339
+.. date: 6398
+.. nonce: zNAkVN
+.. section: Library
+
+The smtplib.SMTP class has been refactored a bit such that the
+SMTP.starttls() caller no longer needs to call ehlo() beforehand.
+SMTP.starttls() now raises an exception of the server does not claim to
+support starttls.  Adds the SMTP.ehlo_or_helo_if_needed() method.  Patch
+contributed by Bill Fenner.
+
+..
+
+.. bpo: 1089358
+.. date: 6397
+.. nonce: 91PLbW
+.. section: Library
+
+Add signal.siginterrupt, a wrapper around siginterrupt(3).
+
+..
+
+.. bpo: 1657
+.. date: 6396
+.. nonce: KEujtl
+.. section: Library
+
+added select.epoll and select.kqueue.
+
+..
+
+.. bpo: 1506171
+.. date: 6395
+.. nonce: h2Yotv
+.. section: Library
+
+added operator.methodcaller().
+
+..
+
+.. bpo: 1826
+.. date: 6394
+.. nonce: P9qpop
+.. section: Library
+
+operator.attrgetter() now supports dotted attribute paths.
+
+..
+
+.. bpo: 1957
+.. date: 6393
+.. nonce: oQ_zDG
+.. section: Library
+
+syslogmodule: Release GIL when calling syslog(3).
+
+..
+
+.. bpo: 2112
+.. date: 6392
+.. nonce: CfSrtY
+.. section: Library
+
+mmap.error is now a subclass of EnvironmentError and not a direct
+EnvironmentError.
+
+..
+
+.. bpo: 2111
+.. date: 6391
+.. nonce: nUPHdZ
+.. section: Library
+
+mmap segfaults when trying to write a block opened with PROT_READ.
+
+..
+
+.. bpo: 2063
+.. date: 6390
+.. nonce: -AQbR3
+.. section: Library
+
+correct order of utime and stime in os.times() result on Windows.
+
+..
+
+.. bpo: 1736
+.. date: 6389
+.. nonce: Ag5pGB
+.. section: Library
+
+Fix file name handling of _msi.FCICreate.
+
+..
+
+.. bpo: 0
+.. date: 6388
+.. nonce: zNsGmS
+.. section: Library
+
+Updated ``big5hkscs`` codec to the HKSCS revision of 2004.
+
+..
+
+.. bpo: 1940
+.. date: 6387
+.. nonce: VTj9uW
+.. section: Library
+
+make it possible to use curses.filter() before curses.initscr() as the
+documentation says.
+
+..
+
+.. bpo: 0
+.. date: 6386
+.. nonce: J1VXc3
+.. section: Library
+
+Backport of _fileio module from Python 3.0.
+
+..
+
+.. bpo: 1087741
+.. date: 6385
+.. nonce: pcDAZm
+.. section: Library
+
+mmap.mmap is now a class, not a factory function. It is also subclassable
+now.
+
+..
+
+.. bpo: 1648
+.. date: 6384
+.. nonce: 1C5JXG
+.. section: Library
+
+added ``sys.getprofile()`` and ``sys.gettrace()``.
+
+..
+
+.. bpo: 1663329
+.. date: 6383
+.. nonce: m0g8vu
+.. section: Library
+
+added ``os.closerange()`` function to quickly close a range of file
+descriptors without considering errors.
+
+..
+
+.. bpo: 976880
+.. date: 6382
+.. nonce: R51uQk
+.. section: Library
+
+``mmap`` objects now have an ``rfind`` method that works as expected.
+``mmap.find`` also takes an optional ``end`` parameter.
+
+..
+
+.. bpo: 0
+.. date: 6381
+.. nonce: wrGXou
+.. section: Library
+
+_winreg's HKEY object has gained __enter__ and __exit__ methods to support
+the context management protocol.  The _winreg module also gained a new
+function ``ExpandEnvironmentStrings`` to expand REG_EXPAND_SZ keys.
+
+..
+
+.. bpo: 0
+.. date: 6380
+.. nonce: ke0PK4
+.. section: Library
+
+itertools.starmap() now accepts any iterable input. Previously, it required
+the function inputs to be tuples.
+
+..
+
+.. bpo: 0
+.. date: 6379
+.. nonce: JNKKZ8
+.. section: Library
+
+itertools.chain() now has an alternate constructor, chain.from_iterable().
+
+..
+
+.. bpo: 1646
+.. date: 6378
+.. nonce: DqQiG7
+.. section: Library
+
+Make socket support TIPC. The socket module now has support for TIPC under
+Linux, see http://tipc.sf.net/ for more information.
+
+..
+
+.. bpo: 0
+.. date: 6377
+.. nonce: YrJhGa
+.. section: Library
+
+Added interface for Windows' WSAIoctl to socket object and added an example
+for a simple network sniffer.
+
+..
+
+.. bpo: 1301
+.. date: 6376
+.. nonce: w3N8In
+.. section: Library
+
+Bad assert in _tkinter fixed.
+
+..
+
+.. bpo: 0
+.. date: 6375
+.. nonce: 1zmfDo
+.. section: Library
+
+Added bdist_wininst executable for VS 2008.
+
+..
+
+.. bpo: 1604
+.. date: 6374
+.. nonce: d3HHRR
+.. section: Library
+
+collections.deque.__init__(iterable) now clears any prior contents before
+adding elements from the iterable.  This fix brings the behavior into line
+with that for list.__init__().
+
+..
+
+.. bpo: 0
+.. date: 6373
+.. nonce: hHIPo7
+.. section: Library
+
+Added wide char functions to msvcrt module: getwch, getwche, putwch and
+ungetwch. The functions accept or return unicode.
+
+..
+
+.. bpo: 0
+.. date: 6372
+.. nonce: OFK-oY
+.. section: Library
+
+os.access now returns True on Windows for any existing directory.
+
+..
+
+.. bpo: 0
+.. date: 6371
+.. nonce: vDe3M3
+.. section: Library
+
+Added warnpy3k function to the warnings module.
+
+..
+
+.. bpo: 0
+.. date: 6370
+.. nonce: brR3xl
+.. section: Library
+
+Marshal.dumps() now expects exact type matches for int, long, float,
+complex, tuple, list, dict, set, and frozenset.  Formerly, it would silently
+miscode subclasses of those types.  Now, it raises a ValueError instead.
+
+..
+
+.. bpo: 1388440
+.. date: 6369
+.. nonce: L0q4gk
+.. section: Library
+
+Add set_completion_display_matches_hook and get_completion_type to readline.
+
+..
+
+.. bpo: 1649098
+.. date: 6368
+.. nonce: ahOvw-
+.. section: Library
+
+Avoid declaration of zero-sized array declaration in structure.
+
+..
+
+.. bpo: 0
+.. date: 6367
+.. nonce: -gsoXT
+.. section: Library
+
+Removed the rgbimg module; been deprecated since Python 2.5.
+
+..
+
+.. bpo: 1721309
+.. date: 6366
+.. nonce: Xm2Y60
+.. section: Library
+
+prevent bsddb module from freeing random memory.
+
+..
+
+.. bpo: 1233
+.. date: 6365
+.. nonce: 85-yC3
+.. section: Library
+
+fix bsddb.dbshelve.DBShelf append method to work as intended for RECNO
+databases.
+
+..
+
+.. bpo: 0
+.. date: 6364
+.. nonce: P617AK
+.. section: Library
+
+pybsddb.sf.net Bug #477182: Load the database flags at database open time so
+that opening a database previously created with the DB_DUP or DB_DUPSORT
+flag set will keep the proper behavior on subsequent opens.  Specifically:
+dictionary assignment to a DB object will replace all values for a given key
+when the database allows duplicate values.  DB users should use DB.put(k, v)
+when they want to store duplicates; not DB[k] = v.
+
+..
+
+.. bpo: 0
+.. date: 6363
+.. nonce: 5NHGNc
+.. section: Library
+
+Add the bsddb.db.DBEnv.lock_id_free method.
+
+..
+
+.. bpo: 1686475
+.. date: 6362
+.. nonce: gwpzpq
+.. section: Library
+
+Support stat'ing open files on Windows again.
+
+..
+
+.. bpo: 1185447
+.. date: 6361
+.. nonce: 4SdEiu
+.. section: Library
+
+binascii.b2a_qp() now correctly quotes binary characters with ASCII value
+less than 32. Also, it correctly quotes dots only if they occur on a single
+line, as opposed to the previous behavior of quoting dots if they are the
+second character of any line.
+
+..
+
+.. bpo: 1622896
+.. date: 6360
+.. nonce: 4WbmkO
+.. section: Library
+
+fix a rare corner case where the bz2 module raised an error in spite of a
+succesful compression.
+
+..
+
+.. bpo: 1654417
+.. date: 6359
+.. nonce: H1p2ET
+.. section: Library
+
+make operator.{get,set,del}slice use the full range of Py_ssize_t.
+
+..
+
+.. bpo: 1646728
+.. date: 6358
+.. nonce: qkvzER
+.. section: Library
+
+datetime.fromtimestamp fails with negative fractional times.  With unittest.
+
+..
+
+.. bpo: 1490190
+.. date: 6357
+.. nonce: n7enEK
+.. section: Library
+
+posixmodule now includes os.chflags() and os.lchflags() functions on
+platforms where the underlying system calls are available.
+
+..
+
+.. bpo: 1494140
+.. date: 6356
+.. nonce: --CKWP
+.. section: Library
+
+Add documentation for the new struct.Struct object.
+
+..
+
+.. bpo: 1432399
+.. date: 6355
+.. nonce: uVk0JY
+.. section: Library
+
+Support the HCI protocol for bluetooth sockets
+
+..
+
+.. bpo: 1657276
+.. date: 6354
+.. nonce: fcUdLm
+.. section: Library
+
+Make NETLINK_DNRTMSG conditional.
+
+..
+
+.. bpo: 1653736
+.. date: 6353
+.. nonce: tNuUq7
+.. section: Library
+
+Complain about keyword arguments to time.isoformat.
+
+..
+
+.. bpo: 1486663
+.. date: 6352
+.. nonce: sR35oQ
+.. section: Library
+
+don't reject keyword arguments for subclasses of built-in types.
+
+..
+
+.. bpo: 1610575
+.. date: 6351
+.. nonce: xC0F2x
+.. section: Library
+
+The struct module now supports the 't' code, for C99 _Bool.
+
+..
+
+.. bpo: 1635058
+.. date: 6350
+.. nonce: 1H4WNl
+.. section: Library
+
+ensure that htonl and friends never accept or return negative numbers, per
+the underlying C implementation.
+
+..
+
+.. bpo: 1544279
+.. date: 6349
+.. nonce: oS9QmK
+.. section: Library
+
+Improve thread-safety of the socket module by moving the sock_addr_t storage
+out of the socket object.
+
+..
+
+.. bpo: 1019808
+.. date: 6348
+.. nonce: WZeJ5G
+.. section: Library
+
+fix bug that causes an incorrect error to be returned when a socket timeout
+is set and a connection attempt fails.
+
+..
+
+.. bpo: 0
+.. date: 6347
+.. nonce: yggQVa
+.. section: Library
+
+Speed up function calls into the math module.
+
+..
+
+.. bpo: 1588217
+.. date: 6346
+.. nonce: CZ-jdO
+.. section: Library
+
+don't parse "= " as a soft line break in binascii's a2b_qp() function,
+instead leave it in the string as quopri.decode() does.
+
+..
+
+.. bpo: 1599782
+.. date: 6345
+.. nonce: nZV6k1
+.. section: Library
+
+Fix segfault on bsddb.db.DB().type().
+
+..
+
+.. bpo: 1567666
+.. date: 6344
+.. nonce: Yy8nbf
+.. section: Library
+
+Emulate GetFileAttributesExA for Win95.
+
+..
+
+.. bpo: 1576166
+.. date: 6343
+.. nonce: uPuEL3
+.. section: Library
+
+Support os.utime for directories on Windows NT+.
+
+..
+
+.. bpo: 1572724
+.. date: 6342
+.. nonce: AS17ot
+.. section: Library
+
+fix typo ('=' instead of '==') in _msi.c.
+
+..
+
+.. bpo: 1572832
+.. date: 6341
+.. nonce: usqHny
+.. section: Library
+
+fix a bug in ISO-2022 codecs which may cause segfault when encoding non-BMP
+unicode characters.
+
+..
+
+.. bpo: 1556784
+.. date: 6340
+.. nonce: 1CAZai
+.. section: Library
+
+allow format strings longer than 127 characters in datetime's strftime
+function.
+
+..
+
+.. bpo: 0
+.. date: 6339
+.. nonce: IX1su7
+.. section: Library
+
+Fix itertools.count(n) to work with negative numbers again.
+
+..
+
+.. bpo: 0
+.. date: 6338
+.. nonce: E13nLX
+.. section: Library
+
+RLIMIT_SBSIZE was added to the resource module where available.
+
+..
+
+.. bpo: 1551427
+.. date: 6337
+.. nonce: FbxrjA
+.. section: Library
+
+fix a wrong NULL pointer check in the win32 version of os.urandom().
+
+..
+
+.. bpo: 1548092
+.. date: 6336
+.. nonce: CQ3Zbs
+.. section: Library
+
+fix curses.tparm seg fault on invalid input.
+
+..
+
+.. bpo: 1114
+.. date: 6335
+.. nonce: hs32Do
+.. section: Library
+
+fix curses module compilation on 64-bit AIX, & possibly other 64-bit LP64
+platforms where attr_t is not the same size as a long.  (Contributed by Luke
+Mewburn.)
+
+..
+
+.. bpo: 1550714
+.. date: 6334
+.. nonce: _3LprN
+.. section: Library
+
+fix SystemError from itertools.tee on negative value for n.
+
+..
+
+.. bpo: 0
+.. date: 6333
+.. nonce: 44hgU5
+.. section: Library
+
+Fixed a few bugs on cjkcodecs: - gbk and gb18030 codec now handle U+30FB
+KATAKANA MIDDLE DOT   correctly. - iso2022_jp_2 codec now encodes into G0
+for KS X 1001, GB2312   codepoints to conform the standard. - iso2022_jp_3
+and iso2022_jp_2004 codec can encode JIS X 0213:2   codepoints now.
+
+..
+
+.. bpo: 1552726
+.. date: 6332
+.. nonce: KRiUv4
+.. section: Library
+
+in readline.c, avoid repeatedly polling in interactive mode by only placing
+a timeout on the select() if an input hook has been defined.  This prevents
+an interactive Python from waking up 10 times per second.  Patch by Richard
+Boulton.
+
+..
+
+.. bpo: 0
+.. date: 6331
+.. nonce: a94xwS
+.. section: Library
+
+fixed a bug with bsddb.DB.stat: the flags and txn keyword arguments were
+transposed.
+
+..
+
+.. bpo: 0
+.. date: 6330
+.. nonce: m3uTkK
+.. section: Library
+
+Added support for linking the bsddb module against BerkeleyDB 4.5.x, 4.6.x
+and 4.7.x.
+
+..
+
+.. bpo: 1633621
+.. date: 6329
+.. nonce: M5Ndcj
+.. section: Library
+
+if curses.resizeterm() or curses.resize_term() is called, update
+_curses.LINES, _curses.COLS, curses.LINES and curses.COLS.
+
+..
+
+.. bpo: 0
+.. date: 6328
+.. nonce: HrtEA6
+.. section: Library
+
+Fix an off-by-one bug in locale.strxfrm().
+
+..
+
+.. bpo: 0
+.. date: 6327
+.. nonce: ojYwDU
+.. section: Library
+
+Fix libffi configure for hppa*-*-linux* | parisc*-*-linux*.
+
+..
+
+.. bpo: 0
+.. date: 6326
+.. nonce: A1idYz
+.. section: Library
+
+Build using system ffi library on arm*-linux*.
+
+..
+
+.. bpo: 1372
+.. date: 6325
+.. nonce: VpXOJ9
+.. section: Library
+
+zlibmodule.c: int overflow in PyZlib_decompress
+
+..
+
+.. bpo: 0
+.. date: 6324
+.. nonce: at5Xd_
+.. section: Library
+
+bsddb module: Fix memory leak when using database cursors on databases
+without a DBEnv.
+
+..
+
+.. bpo: 0
+.. date: 6323
+.. nonce: ilOhKQ
+.. section: Library
+
+The sqlite3 module was updated to pysqlite 2.4.1.
+
+..
+
+.. bpo: 813342
+.. date: 6322
+.. nonce: s5yukE
+.. section: IDLE
+
+Start the IDLE subprocess with -Qnew if the parent is started with that
+option.
+
+..
+
+.. bpo: 0
+.. date: 6321
+.. nonce: JiyCdF
+.. section: IDLE
+
+IDLE: Honor the "Cancel" action in the save dialog (Debian bug #299092).
+
+..
+
+.. bpo: 30357
+.. date: 6320
+.. nonce: n4CPEa
+.. section: Tests
+
+test_thread: setUp() now uses support.threading_setup() and
+support.threading_cleanup() to wait until threads complete to avoid random
+side effects on following tests. Initial patch written by Grzegorz Grzywacz.
+
+..
+
+.. bpo: 0
+.. date: 6319
+.. nonce: PVjNrU
+.. section: Tests
+
+Refactor test_logging to use unittest.
+
+..
+
+.. bpo: 0
+.. date: 6318
+.. nonce: 7j-hhA
+.. section: Tests
+
+Refactor test_profile and test_cprofile to use the same code to profile.
+
+..
+
+.. bpo: 0
+.. date: 6317
+.. nonce: q9s3e7
+.. section: Tests
+
+Make test_runpy reentrant by fixing _check_module to clear out any module
+being tested.  Was causing an error by __import__ doing a reload on the
+second run and thus suppressing bytecode recreation.
+
+..
+
+.. bpo: 0
+.. date: 6316
+.. nonce: 7jQnkY
+.. section: Tests
+
+Capture socket connection resets and timeouts in test_socket_ssl and
+test_urllib2net and raise test.test_support.ResourceDenied.
+
+..
+
+.. bpo: 1559413
+.. date: 6315
+.. nonce: GoWQim
+.. section: Tests
+
+Fix test_cmd_line if sys.executable contains a space.
+
+..
+
+.. bpo: 0
+.. date: 6314
+.. nonce: vjtR_D
+.. section: Tests
+
+Added test.test_support.TransientResource which is a context manager to
+surround calls to resources that are not guaranteed to work even if
+test.test_support.requires says that the resource should exist.
+
+..
+
+.. bpo: 0
+.. date: 6313
+.. nonce: 6z7bKB
+.. section: Tests
+
+Added a test for slicing of an exception.
+
+..
+
+.. bpo: 0
+.. date: 6312
+.. nonce: ieil_O
+.. section: Tests
+
+Added test.test_support.EnvironmentVarGuard.  It's a class that provides a
+context manager so that one can temporarily set or unset environment
+variables.
+
+..
+
+.. bpo: 0
+.. date: 6311
+.. nonce: jmumH0
+.. section: Tests
+
+Added some tests for modulefinder.
+
+..
+
+.. bpo: 0
+.. date: 6310
+.. nonce: 0Kz44H
+.. section: Tests
+
+Converted test_imp to use unittest.
+
+..
+
+.. bpo: 0
+.. date: 6309
+.. nonce: smrRfs
+.. section: Tests
+
+Fix bsddb test_basics.test06_Transactions to check the version number
+properly.
+
+..
+
+.. bpo: 0
+.. date: 6308
+.. nonce: Z4K3CJ
+.. section: Tests
+
+test.test_support.catch_warning is a new context manager that can be used to
+catch the warnings issued by the warning framework.
+
+..
+
+.. bpo: 0
+.. date: 6307
+.. nonce: lEqBYO
+.. section: Tools/Demos
+
+Tools/scripts/reindent.py now creates the backup file using shutil.copy to
+preserve user/group and permissions. Added also a --nobackup option to not
+create the backup if the user is concerned regarding this.  Check issue
+#1050828 for more details.
+
+..
+
+.. bpo: 0
+.. date: 6306
+.. nonce: JHrA97
+.. section: Tools/Demos
+
+Tools/scripts/win_add2path.py was added. The simple script modifes the PATH
+environment var of the HKCU tree and adds the python bin and script
+directory.
+
+..
+
+.. bpo: 0
+.. date: 6305
+.. nonce: cj1Ip_
+.. section: Tools/Demos
+
+Tools/18n/pygettext.py was added to the list of scripts installed by
+Tools/scripts/setup.py (tracker item 642309).
+
+..
+
+.. bpo: 0
+.. date: 6304
+.. nonce: q6eo5q
+.. section: Tools/Demos
+
+Added IronPython and Jython support to pybench (part of which was patch
+#1563844).
+
+..
+
+.. bpo: 0
+.. date: 6303
+.. nonce: xPqVA4
+.. section: Tools/Demos
+
+Made some minor changes to pybench output to allow the user to see which
+Python version is running pybench.
+
+..
+
+.. bpo: 0
+.. date: 6302
+.. nonce: Ufn_76
+.. section: Tools/Demos
+
+Added support for the new platform module feature
+platform.python_implementation(); this will now be saved in the benchmark
+pickle.
+
+..
+
+.. bpo: 0
+.. date: 6301
+.. nonce: SJGror
+.. section: Documentation
+
+RFE #1765140: Updated documentation on FileHandler and subclasses to include
+new optional delay argument.
+
+..
+
+.. bpo: 932563
+.. date: 6300
+.. nonce: ujYdrI
+.. section: Documentation
+
+Added section on getting contextual information into logging output, and
+added documentation for the new LoggerAdapter class.
+
+..
+
+.. bpo: 1295
+.. date: 6299
+.. nonce: WBH2ZB
+.. section: Documentation
+
+Added information about caching of formatted exception information in the
+LogRecord by Formatter.format().
+
+..
+
+.. bpo: 1637365
+.. date: 6298
+.. nonce: hHynKK
+.. section: Documentation
+
+add subsection about "__name__ == __main__" to the Python tutorial.
+
+..
+
+.. bpo: 1698768
+.. date: 6297
+.. nonce: e4h7Jp
+.. section: Documentation
+
+updated the "using Python on the Mac" intro.
+
+..
+
+.. bpo: 1569057
+.. date: 6296
+.. nonce: DqDgin
+.. section: Documentation
+
+Document that calling file.next() when the file is open for writing is
+undefined.
+
+..
+
+.. bpo: 1489771
+.. date: 6295
+.. nonce: Ygchql
+.. section: Documentation
+
+the syntax rules in Python Reference Manual were updated to reflect the
+current Python syntax.
+
+..
+
+.. bpo: 1686451
+.. date: 6294
+.. nonce: ODrdFR
+.. section: Documentation
+
+Fix return type for PySequence_{Count,Index,Fast_GET_SIZE}.
+
+..
+
+.. bpo: 1679379
+.. date: 6293
+.. nonce: T_NdX4
+.. section: Documentation
+
+add documentation for fnmatch.translate().
+
+..
+
+.. bpo: 1629566
+.. date: 6292
+.. nonce: IkETIS
+.. section: Documentation
+
+clarify the docs on the return values of parsedate() and parsedate_tz() in
+email.utils and rfc822.
+
+..
+
+.. bpo: 1671450
+.. date: 6291
+.. nonce: nJrEYa
+.. section: Documentation
+
+add a section about subclassing built-in types to the "extending and
+embedding" tutorial.
+
+..
+
+.. bpo: 1629125
+.. date: 6290
+.. nonce: 9JdHlD
+.. section: Documentation
+
+fix wrong data type (int -> Py_ssize_t) in PyDict_Next docs.
+
+..
+
+.. bpo: 1565919
+.. date: 6289
+.. nonce: hwpjHv
+.. section: Documentation
+
+document set types in the Language Reference.
+
+..
+
+.. bpo: 1546052
+.. date: 6288
+.. nonce: 3_Kcqu
+.. section: Documentation
+
+clarify that PyString_FromString(AndSize) copies the string pointed to by
+its parameter.
+
+..
+
+.. bpo: 1566663
+.. date: 6287
+.. nonce: mAgcIO
+.. section: Documentation
+
+remove obsolete example from datetime docs.
+
+..
+
+.. bpo: 1541682
+.. date: 6286
+.. nonce: 10BXyV
+.. section: Documentation
+
+Fix example in the "Refcount details" API docs. Additionally, remove a
+faulty example showing PySequence_SetItem applied to a newly created list
+object and add notes that this isn't a good idea.
+
+..
+
+.. bpo: 1552024
+.. date: 6285
+.. nonce: FQsYLY
+.. section: Tools/Demos
+
+add decorator support to unparse.py demo script.
+
+..
+
+.. bpo: 0
+.. date: 6284
+.. nonce: whjkV0
+.. section: Tools/Demos
+
+Make auto-generated python.vim file list built-ins and exceptions in
+alphatbetical order.  Makes output more deterministic and easier to tell if
+the file is stale or not.
+
+..
+
+.. bpo: 1546372
+.. date: 6283
+.. nonce: MVtd4U
+.. section: Tools/Demos
+
+Fixed small bugglet in pybench that caused a missing file not to get
+reported properly.
+
+..
+
+.. bpo: 0
+.. date: 6282
+.. nonce: keNFft
+.. section: Build
+
+Have the search path for building extensions follow the declared order in
+$CPPFLAGS and $LDFLAGS when adding directories from those environment
+variables.
+
+..
+
+.. bpo: 1983
+.. date: 6281
+.. nonce: DMUUfR
+.. section: Build
+
+Added a check to pyport to verify that sizeof(pid_t) is smaller or equal
+sizeof(long).
+
+..
+
+.. bpo: 1234
+.. date: 6280
+.. nonce: uVPtek
+.. section: Build
+
+Fixed semaphore errors on AIX 5.2
+
+..
+
+.. bpo: 1726
+.. date: 6279
+.. nonce: VPW3gd
+.. section: Build
+
+Remove Python/atof.c from PCBuild/pythoncore.vcproj.
+
+..
+
+.. bpo: 0
+.. date: 6278
+.. nonce: v3vkcE
+.. section: Build
+
+Removed PCbuild8/ directory and added a new build directory for VS 2005
+based on the VS 2008 build directory to PC/VS8.0. The script
+PCbuild/vs8to9.py was added to sync changes from PCbuild to PC/VS8.0.
+
+..
+
+.. bpo: 0
+.. date: 6277
+.. nonce: PiHUNm
+.. section: Build
+
+Moved PCbuild/ directory for VS 2003 to PC/VS7.1 and renamed PCBuild9/
+directory to PCBuild/.
+
+..
+
+.. bpo: 1699
+.. date: 6276
+.. nonce: p7AIXC
+.. section: Build
+
+Define _BSD_SOURCE only on OpenBSD.
+
+..
+
+.. bpo: 1608
+.. date: 6275
+.. nonce: H08Msy
+.. section: Build
+
+use -fwrapv when GCC supports it.  This is important, newer GCC versions may
+optimize away overflow buffer overflow checks without this option!
+
+..
+
+.. bpo: 1418
+.. date: 6274
+.. nonce: DbqMV4
+.. section: Build
+
+Make the AC_REPLACE_FUNCS object files actually work.
+
+..
+
+.. bpo: 0
+.. date: 6273
+.. nonce: voVF_6
+.. section: Build
+
+Add a FAST_LOOPS build option that speeds-up looping by trading away
+periodic threadstate and signal checking in tight loops.  By default, this
+option is turned-off.  It should only be enabled in debugged, performance
+critical applications.
+
+..
+
+.. bpo: 786737
+.. date: 6272
+.. nonce: mJJr01
+.. section: Build
+
+Allow building in a tree of symlinks pointing to a readonly source.
+
+..
+
+.. bpo: 1737210
+.. date: 6271
+.. nonce: hMxaQH
+.. section: Build
+
+Change Manufacturer of Windows installer to PSF.
+
+..
+
+.. bpo: 1746880
+.. date: 6270
+.. nonce: hrR2KM
+.. section: Build
+
+Correctly install DLLs into system32 folder on Win64.
+
+..
+
+.. bpo: 0
+.. date: 6269
+.. nonce: xKHD52
+.. section: Build
+
+Define _BSD_SOURCE, to get access to POSIX extensions on OpenBSD 4.1+.
+
+..
+
+.. bpo: 0
+.. date: 6268
+.. nonce: 3JXjJ7
+.. section: Build
+
+Stop supporting AtheOS and cause a build error in configure for the
+platform.
+
+..
+
+.. bpo: 1655392
+.. date: 6267
+.. nonce: bwAdWN
+.. section: Build
+
+don't add -L/usr/lib/pythonX.Y/config to the LDFLAGS returned by python-
+config if Python was built with --enable-shared because that prevented the
+shared library from being used.
+
+..
+
+.. bpo: 1569798
+.. date: 6266
+.. nonce: 7Camzj
+.. section: Build
+
+fix a bug in distutils when building Python from a directory within
+sys.exec_prefix.
+
+..
+
+.. bpo: 1675511
+.. date: 6265
+.. nonce: j8xiLT
+.. section: Build
+
+Use -Kpic instead of -xcode=pic32 on Solaris/x86.
+
+..
+
+.. bpo: 0
+.. date: 6264
+.. nonce: D_HO5I
+.. section: Build
+
+Disable _XOPEN_SOURCE on NetBSD 1.x.
+
+..
+
+.. bpo: 0
+.. date: 6263
+.. nonce: ipd_yd
+.. section: Build
+
+configure now checks whether gcc supports the PyArg_ParseTuple format
+attribute.
+
+..
+
+.. bpo: 1578513
+.. date: 6262
+.. nonce: MkcqR2
+.. section: Build
+
+Cross compilation was broken by a change to configure. Repair so that it's
+back to how it was in 2.4.3.
+
+..
+
+.. bpo: 1576954
+.. date: 6261
+.. nonce: Rd2jyj
+.. section: Build
+
+Update VC6 build directory; remove redundant files in VC7.
+
+..
+
+.. bpo: 1568842
+.. date: 6260
+.. nonce: xBW1d2
+.. section: Build
+
+Fix test for uintptr_t.
+
+..
+
+.. bpo: 1540470
+.. date: 6259
+.. nonce: JS-AGw
+.. section: Build
+
+for OpenBSD 4.0.
+
+..
+
+.. bpo: 0
+.. date: 6258
+.. nonce: 7uKaSk
+.. section: Build
+
+Fix build failure on kfreebsd and on the hurd.
+
+..
+
+.. bpo: 0
+.. date: 6257
+.. nonce: cPAQ_M
+.. section: Build
+
+Fix the build of the library reference in info format.
+
+..
+
+.. bpo: 0
+.. date: 6256
+.. nonce: vXo4QU
+.. section: Build
+
+Allow Emacs 22 for building the documentation in info format.
+
+..
+
+.. bpo: 0
+.. date: 6255
+.. nonce: UHEp2F
+.. section: Build
+
+Makefile.pre.in(buildbottest): Run an optional script pybuildbot.identify to
+include some information about the build environment.
+
+..
+
+.. bpo: 0
+.. date: 6254
+.. nonce: Wws2go
+.. section: C API
+
+Unified naming convention for free lists and their limits. All free lists in
+Object/ are named ``free_list``, the counter ``numfree`` and the upper limit
+is a macro ``PyName_MAXFREELIST`` inside an #ifndef block.
+
+..
+
+.. bpo: 0
+.. date: 6253
+.. nonce: vwQmXR
+.. section: C API
+
+``PySet_Add()`` can now modify a newly created frozenset.  Similarly to
+``PyTuple_SetItem``, it can be used to populate a brand new frozenset; but
+it does not steal a reference to the added item.
+
+..
+
+.. bpo: 0
+.. date: 6252
+.. nonce: b3Psyt
+.. section: C API
+
+Added ``PySet_Check()`` and ``PyFrozenSet_Check()`` to the set API.
+
+..
+
+.. bpo: 0
+.. date: 6251
+.. nonce: UrXjnD
+.. section: C API
+
+Backport of PyUnicode_FromString(), _FromStringAndSize(), _Format and
+_FormatV from Python 3.0. Made PyLong_AsSsize_t and PyLong_FromSsize_t
+public functions.
+
+..
+
+.. bpo: 1720595
+.. date: 6250
+.. nonce: FdLtKP
+.. section: C API
+
+add T_BOOL to the range of structmember types.
+
+..
+
+.. bpo: 1534
+.. date: 6249
+.. nonce: k9vjbw
+.. section: C API
+
+Added ``PyFloat_GetMax()``, ``PyFloat_GetMin()`` and ``PyFloat_GetInfo()``
+to the float API.
+
+..
+
+.. bpo: 1521
+.. date: 6248
+.. nonce: eHI3IG
+.. section: C API
+
+On 64bit platforms, using PyArgs_ParseTuple with the t# of w# format code
+incorrectly truncated the length to an int, even when PY_SSIZE_T_CLEAN is
+set.  The str.decode method used to return incorrect results with huge
+strings.
+
+..
+
+.. bpo: 1629
+.. date: 6247
+.. nonce: YktpXQ
+.. section: C API
+
+Renamed Py_Size, Py_Type and Py_Refcnt to Py_SIZE, Py_TYPE and Py_REFCNT.
+
+..
+
+.. bpo: 0
+.. date: 6246
+.. nonce: g8xMae
+.. section: C API
+
+PEP 3123: Provide forward compatibility with Python 3.0, while keeping
+backwards compatibility. Add Py_Refcnt, Py_Type, Py_Size, and
+PyVarObject_HEAD_INIT.
+
+..
+
+.. bpo: 0
+.. date: 6245
+.. nonce: sGL89S
+.. section: C API
+
+Py_ssize_t fields work in structmember when HAVE_LONG_LONG is not defined.
+
+..
+
+.. bpo: 1733960
+.. date: 6244
+.. nonce: 8rUKMs
+.. section: C API
+
+Allow T_LONGLONG to accept ints.
+
+..
+
+.. bpo: 0
+.. date: 6243
+.. nonce: VY6LgN
+.. section: C API
+
+T_PYSSIZET can now be used in PyMemberDef lists for Py_ssize_t members.
+
+..
+
+.. bpo: 0
+.. date: 6242
+.. nonce: ZkzATk
+.. section: C API
+
+Added a new API function ``PyImport_ImportModuleNoBlock``.
+
+..
+
+.. bpo: 1637022
+.. date: 6241
+.. nonce: wBq1VS
+.. section: C API
+
+Prefix AST symbols with _Py_.
+
+..
+
+.. bpo: 0
+.. date: 6240
+.. nonce: YAicka
+.. section: C API
+
+Fix some leftovers from the conversion from int to Py_ssize_t (relevant to
+strings and sequences of more than 2**31 items).
+
+..
+
+.. bpo: 0
+.. date: 6239
+.. nonce: A7o-lD
+.. section: C API
+
+Make _PyGILState_NoteThreadState() static, it was not used anywhere outside
+of pystate.c and should not be necessary.
+
+..
+
+.. bpo: 0
+.. date: 6238
+.. nonce: ZpnpHT
+.. section: C API
+
+``PyImport_Import`` and ``PyImport_ImportModule`` now always do absolute
+imports. In earlier versions they might have used relative imports under
+some conditions.
+
+..
+
+.. bpo: 0
+.. date: 6237
+.. nonce: 15u7sP
+.. section: C API
+
+Added case insensitive comparison methods ``PyOS_stricmp(char*, char*)`` and
+``PyOS_strnicmp(char*, char*, Py_ssize_t)``.
+
+..
+
+.. bpo: 1542693
+.. date: 6236
+.. nonce: ZPZ9Df
+.. section: C API
+
+remove semi-colon at end of PyImport_ImportModuleEx macro so it can be used
+as an expression.
+
+..
+
+.. bpo: 1706
+.. date: 6235
+.. nonce: D8C2K3
+.. section: Windows
+
+Drop support for Win9x, WinME and NT4. Python now requires Windows 2000 or
+greater. The _WINVER and NTDDI_VERSION macros are set to Win2k for x86/32bit
+builds and WinXP for AMD64 builds.
+
+..
+
+.. bpo: 0
+.. date: 6234
+.. nonce: cKizM7
+.. section: Windows
+
+Conditionalize definition of _CRT_SECURE_NO_DEPRECATE and
+_CRT_NONSTDC_NO_DEPRECATE.
+
+..
+
+.. bpo: 1216
+.. date: 6233
+.. nonce: DblJmV
+.. section: Windows
+
+Restore support for Visual Studio 2002.
+
+..
+
+.. bpo: 0
+.. date: 6232
+.. nonce: 2DB1Bg
+.. section: macOS
+
+cfmfile now raises a DeprecationWarning.
+
+..
+
+.. bpo: 0
+.. date: 6231
+.. nonce: r4EkYd
+.. section: macOS
+
+buildtools now raises a DeprecationWarning.
+
+..
+
+.. bpo: 0
+.. date: 6230
+.. nonce: Mdk5q1
+.. section: macOS
+
+Removed the macfs module.  It had been deprecated since Python 2.5. This
+lead to the deprecation of macostools.touched() as it relied solely on macfs
+and was a no-op under OS X.
diff --git a/Misc/NEWS.d/2.6a2.rst b/Misc/NEWS.d/2.6a2.rst
new file mode 100644
index 0000000..fe6cd26
--- /dev/null
+++ b/Misc/NEWS.d/2.6a2.rst
@@ -0,0 +1,694 @@
+.. bpo: 1733757
+.. date: 6865
+.. nonce: cyKvMt
+.. release date: 02-Apr-2008
+.. section: Core and Builtins
+
+The interpreter would hang on shutdown if the tracing function set by
+sys.settrace is still active and happens to call threading.currentThread().
+
+..
+
+.. bpo: 1442
+.. date: 6864
+.. nonce: h73ZTm
+.. section: Core and Builtins
+
+properly report exceptions when the PYTHONSTARTUP file cannot be executed.
+
+..
+
+.. bpo: 0
+.. date: 6863
+.. nonce: q3LWX0
+.. section: Core and Builtins
+
+The compilation of a class nested in another class used to leak one
+reference on the outer class name.
+
+..
+
+.. bpo: 1810
+.. date: 6862
+.. nonce: ESXjRG
+.. section: Core and Builtins
+
+compile() can now compile _ast trees as returned by ``compile(...,
+PyCF_ONLY_AST)``.
+
+..
+
+.. bpo: 2426
+.. date: 6861
+.. nonce: H-NFT6
+.. section: Core and Builtins
+
+Added sqlite3.Connection.iterdump method to allow easy dumping of databases.
+Contributed by Paul Kippes at PyCon 2008.
+
+..
+
+.. bpo: 2477
+.. date: 6860
+.. nonce: iEeee2
+.. section: Core and Builtins
+
+Added from __future__ import unicode_literals.
+
+..
+
+.. bpo: 0
+.. date: 6859
+.. nonce: MQCT3j
+.. section: Core and Builtins
+
+Added backport of bytearray type.
+
+..
+
+.. bpo: 2355
+.. date: 6858
+.. nonce: 3IrFJn
+.. section: Core and Builtins
+
+add Py3k warning for buffer().
+
+..
+
+.. bpo: 1477
+.. date: 6857
+.. nonce: kL8T9Y
+.. section: Core and Builtins
+
+With narrow Unicode builds, the unicode escape sequence \Uxxxxxxxx did not
+accept values outside the Basic Multilingual Plane.  This affected raw
+unicode literals and the 'raw-unicode-escape' codec.  Now UTF-16 surrogates
+are generated in this case, like normal unicode literals and the 'unicode-
+escape' codec.
+
+..
+
+.. bpo: 2348
+.. date: 6856
+.. nonce: bTKRrx
+.. section: Core and Builtins
+
+add Py3k warning for file.softspace.
+
+..
+
+.. bpo: 2346
+.. date: 6855
+.. nonce: ZdxBIW
+.. section: Core and Builtins
+
+add Py3k warnings for __methods__ and __members__. (See also: bpo-2347)
+
+..
+
+.. bpo: 2358
+.. date: 6854
+.. nonce: -9p_qA
+.. section: Core and Builtins
+
+Add a Py3k warning on sys.exc_clear() usage.
+
+..
+
+.. bpo: 2400
+.. date: 6853
+.. nonce: Vh9y6O
+.. section: Core and Builtins
+
+Allow relative imports to "import *".
+
+..
+
+.. bpo: 1745
+.. date: 6852
+.. nonce: E7-cUG
+.. section: Core and Builtins
+
+Backport print function with ``from __future__ import print_function``.
+
+..
+
+.. bpo: 2332
+.. date: 6851
+.. nonce: J5iU51
+.. section: Core and Builtins
+
+add new attribute names for instance method objects. The two changes are:
+im_self -> __self__ and im_func -> __func__
+
+..
+
+.. bpo: 2379
+.. date: 6850
+.. nonce: 9-tqgC
+.. section: Core and Builtins
+
+Raise a Py3K warning for __getitem__ or __getslice__ on exception instances.
+
+..
+
+.. bpo: 2371
+.. date: 6849
+.. nonce: xuvdpy
+.. section: Core and Builtins
+
+Add a Py3k warning when catching an exception that doesn't derive from
+BaseException.
+
+..
+
+.. bpo: 2341
+.. date: 6848
+.. nonce: LmD2N7
+.. section: Core and Builtins
+
+Add a Py3k warning when raising an exception that doesn't derive from
+BaseException.
+
+..
+
+.. bpo: 2321
+.. date: 6847
+.. nonce: v7FzTy
+.. section: Core and Builtins
+
+use pymalloc for unicode object string data to reduce memory usage in some
+circumstances.
+
+..
+
+.. bpo: 0
+.. date: 6846
+.. nonce: O8A72m
+.. section: Core and Builtins
+
+PEP 3127: octal literals now start with "0o". Old-style octal literals are
+still valid. There are binary literals with a prefix of "0b".  This also
+affects int(x, 0).
+
+..
+
+.. bpo: 2359
+.. date: 6845
+.. nonce: cR7f7i
+.. section: Core and Builtins
+
+Adding deprecation warnings for array.{read,write}.
+
+..
+
+.. bpo: 1779871
+.. date: 6844
+.. nonce: Q9u7-T
+.. section: Core and Builtins
+
+GNU gcc can now build Python on OS X because the flags -Wno-long-double,
+-no-cpp-precomp, and -mno-fused-madd are no longer passed.
+
+..
+
+.. bpo: 0
+.. date: 6843
+.. nonce: 00spAB
+.. section: Core and Builtins
+
+Add a warning when asserting a non-empty tuple which is always true.
+
+..
+
+.. bpo: 2179
+.. date: 6842
+.. nonce: 6ZA8c-
+.. section: Core and Builtins
+
+speed up with statement execution by storing the exit method on the stack
+instead of in a temporary variable (patch by Jeffrey Yaskin)
+
+..
+
+.. bpo: 2238
+.. date: 6841
+.. nonce: LMUvyp
+.. section: Core and Builtins
+
+Some syntax errors in *args and **kwargs expressions could give bogus error
+messages.
+
+..
+
+.. bpo: 2143
+.. date: 6840
+.. nonce: 39hw9G
+.. section: Core and Builtins
+
+Fix embedded readline() hang on SSL socket EOF.
+
+..
+
+.. bpo: 2240
+.. date: 6839
+.. nonce: WNReGo
+.. section: Library
+
+Implement signal.setitimer and signal.getitimer.
+
+..
+
+.. bpo: 2315
+.. date: 6838
+.. nonce: pqno5o
+.. section: Library
+
+logging.handlers: TimedRotatingFileHandler now accounts for daylight savings
+time in calculating the next rollover.
+
+..
+
+.. bpo: 2316
+.. date: 6837
+.. nonce: ZS89xB
+.. section: Library
+
+logging.handlers: TimedRotatingFileHandler now calculates rollovers
+correctly even when nothing is logged for a while.
+
+..
+
+.. bpo: 2317
+.. date: 6836
+.. nonce: 4RDUg2
+.. section: Library
+
+logging.handlers: TimedRotatingFileHandler now uses improved logic for
+removing old files.
+
+..
+
+.. bpo: 2495
+.. date: 6835
+.. nonce: XaNV_D
+.. section: Library
+
+tokenize.untokenize now inserts a space between two consecutive string
+literals; previously, ["" ""] was rendered as [""""], which is incorrect
+python code.
+
+..
+
+.. bpo: 2248
+.. date: 6834
+.. nonce: EFdgNK
+.. section: Library
+
+return the result of the QUIT command. from SMTP.quit().
+
+..
+
+.. bpo: 0
+.. date: 6833
+.. nonce: lDMF2h
+.. section: Library
+
+Backport of Python 3.0's io module.
+
+..
+
+.. bpo: 2482
+.. date: 6832
+.. nonce: gt5k7F
+.. section: Library
+
+Make sure that the coefficient of a Decimal is always stored as a str
+instance, not as a unicode instance.  This ensures that str(Decimal) is
+always an instance of str.
+
+..
+
+.. bpo: 2478
+.. date: 6831
+.. nonce: A33H1n
+.. section: Library
+
+fix failure of decimal.Decimal(0).sqrt()
+
+..
+
+.. bpo: 2432
+.. date: 6830
+.. nonce: K_Wmv6
+.. section: Library
+
+give DictReader the dialect and line_num attributes advertised in the docs.
+
+..
+
+.. bpo: 2460
+.. date: 6829
+.. nonce: N-GQGP
+.. section: Library
+
+Make Ellipsis object copyable.
+
+..
+
+.. bpo: 1681432
+.. date: 6828
+.. nonce: UMEj9l
+.. section: Library
+
+Add triangular distribution to the random module
+
+..
+
+.. bpo: 2136
+.. date: 6827
+.. nonce: pMUClw
+.. section: Library
+
+urllib2's auth handler now allows single-quoted realms in the WWW-
+Authenticate header.
+
+..
+
+.. bpo: 2434
+.. date: 6826
+.. nonce: 7NhX4x
+.. section: Library
+
+Enhanced platform.win32_ver() to also work on Python installation which do
+not have the win32all package installed.
+
+..
+
+.. bpo: 0
+.. date: 6825
+.. nonce: Mua_8k
+.. section: Library
+
+Added support to platform.uname() to also report the machine and processor
+information on Windows XP and later. As a result, platform.machine() and
+platform.processor() will report this information as well.
+
+..
+
+.. bpo: 0
+.. date: 6824
+.. nonce: TVfcNn
+.. section: Library
+
+The library implementing the 2to3 conversion, lib2to3, was added to the
+standard distribution.
+
+..
+
+.. bpo: 1747858
+.. date: 6823
+.. nonce: q45meX
+.. section: Library
+
+Fix chown to work with large uid's and gid's on 64-bit platforms.
+
+..
+
+.. bpo: 1202
+.. date: 6822
+.. nonce: aihbD5
+.. section: Library
+
+zlib.crc32 and zlib.adler32 no longer return different values on 32-bit vs.
+64-bit python interpreters.  Both were correct, but they now both return a
+signed integer object for consistency.
+
+..
+
+.. bpo: 1158
+.. date: 6821
+.. nonce: AkVzAm
+.. section: Library
+
+add %f format (fractions of a second represented as microseconds) to
+datetime objects.  Understood by both strptime and strftime.
+
+..
+
+.. bpo: 705836
+.. date: 6820
+.. nonce: g5peII
+.. section: Library
+
+struct.pack(">f", x) now raises OverflowError on all platforms when x is too
+large to fit into an IEEE 754 float; previously it only raised OverflowError
+on non IEEE 754 platforms.
+
+..
+
+.. bpo: 2166
+.. date: 6819
+.. nonce: WF2f5f
+.. section: Library
+
+now distutils deals with HOME correctly under win32 (See also: bpo-1741,
+bpo-1531505)
+
+..
+
+.. bpo: 1858
+.. date: 6818
+.. nonce: jGCMLw
+.. section: Library
+
+distutils: added multiple server support in .pypirc
+
+..
+
+.. bpo: 1106316
+.. date: 6817
+.. nonce: uk36rF
+.. section: Library
+
+pdb.post_mortem()'s parameter, "traceback", is now optional: it defaults to
+the traceback of the exception that is currently being handled (is mandatory
+to be in the middle of an exception, otherwise it raises ValueError).
+
+..
+
+.. bpo: 1193577
+.. date: 6816
+.. nonce: b-BahY
+.. section: Library
+
+A .shutdown() method has been added to SocketServers which terminates the
+.serve_forever() loop.
+
+..
+
+.. bpo: 2220
+.. date: 6815
+.. nonce: qjYxWH
+.. section: Library
+
+handle rlcompleter attribute match failure more gracefully.
+
+..
+
+.. bpo: 2225
+.. date: 6814
+.. nonce: a0QsFA
+.. section: Library
+
+py_compile, when executed as a script, now returns a non- zero status code
+if not all files could be compiled successfully.
+
+..
+
+.. bpo: 1725737
+.. date: 6813
+.. nonce: nvfK6A
+.. section: Library
+
+In distutils' sdist, exclude RCS, CVS etc. also in the root directory, and
+also exclude .hg, .git, .bzr, and _darcs.
+
+..
+
+.. bpo: 1872
+.. date: 6812
+.. nonce: m8TmRv
+.. section: Library
+
+The struct module typecode for _Bool has been changed from 't' to '?'.
+
+..
+
+.. bpo: 0
+.. date: 6811
+.. nonce: VqAlAz
+.. section: Library
+
+The bundled libffi copy is now in sync with the recently released
+libffi3.0.4 version, apart from some small changes to
+Modules/_ctypes/libffi/configure.ac.  On OS X, preconfigured libffi files
+are used.  On all linux systems the --with-system-ffi configure option
+defaults to "yes".
+
+..
+
+.. bpo: 1577
+.. date: 6810
+.. nonce: njrgUJ
+.. section: Library
+
+shutil.move() now calls os.rename() if the destination is a directory
+instead of copying-then-remove-source.
+
+..
+
+.. bpo: 0
+.. date: 6809
+.. nonce: K5ZD7T
+.. section: Tests
+
+test_nis no longer fails when test.test_support.verbose is true and NIS is
+not set up on the testing machine.
+
+..
+
+.. bpo: 0
+.. date: 6808
+.. nonce: 1ZE-e2
+.. section: Tests
+
+Output comparison tests are no longer supported.
+
+..
+
+.. bpo: 0
+.. date: 6807
+.. nonce: N2wGxu
+.. section: Tests
+
+Rewrite test_errno to use unittest and no longer be a no-op.
+
+..
+
+.. bpo: 0
+.. date: 6806
+.. nonce: f80pTz
+.. section: Tests
+
+GHOP 234: Convert test_extcall to doctest.
+
+..
+
+.. bpo: 0
+.. date: 6805
+.. nonce: IG1fWw
+.. section: Tests
+
+GHOP 290: Convert test_dbm and test_dummy_threading to unittest.
+
+..
+
+.. bpo: 0
+.. date: 6804
+.. nonce: 2Pr5hV
+.. section: Tests
+
+GHOP 293: Convert test_strftime, test_getargs, and test_pep247 to unittest.
+
+..
+
+.. bpo: 2055
+.. date: 6803
+.. nonce: yoFv4H
+.. section: Tests
+
+Convert test_fcntl to unittest.
+
+..
+
+.. bpo: 1960
+.. date: 6802
+.. nonce: 8bFRO9
+.. section: Tests
+
+Convert test_gdbm to unittest.
+
+..
+
+.. bpo: 0
+.. date: 6801
+.. nonce: 5VXuUU
+.. section: Tests
+
+GHOP 294: Convert test_contains, test_crypt, and test_select to unittest.
+
+..
+
+.. bpo: 0
+.. date: 6800
+.. nonce: Huq18v
+.. section: Tests
+
+GHOP 238: Convert test_tokenize to use doctest.
+
+..
+
+.. bpo: 0
+.. date: 6799
+.. nonce: yrOIgp
+.. section: Tests
+
+GHOP 237: Rewrite test_thread using unittest.
+
+..
+
+.. bpo: 2232
+.. date: 6798
+.. nonce: gT2U-l
+.. section: Tests
+
+os.tmpfile might fail on Windows if the user has no permission to create
+files in the root directory.
+
+..
+
+.. bpo: 0
+.. date: 6797
+.. nonce: xClq5J
+.. section: Build
+
+A new script 2to3 is now installed, to run the 2.x to 3.x converter.
+
+..
+
+.. bpo: 0
+.. date: 6796
+.. nonce: K_qDWf
+.. section: Build
+
+Python/memmove.c and Python/strerror.c have been removed; both functions are
+in the C89 standard library.
+
+..
+
+.. bpo: 2284
+.. date: 6795
+.. nonce: g5HXfy
+.. section: Build
+
+Add -x64 option to rt.bat.
+
+..
+
+.. bpo: 2477
+.. date: 6794
+.. nonce: ff3qxW
+.. section: C API
+
+Added PyParser_ParseFileFlagsEx() and PyParser_ParseStringFlagsFilenameEx().
diff --git a/Misc/NEWS.d/2.6a3.rst b/Misc/NEWS.d/2.6a3.rst
new file mode 100644
index 0000000..5653d38
--- /dev/null
+++ b/Misc/NEWS.d/2.6a3.rst
@@ -0,0 +1,356 @@
+.. bpo: 2719
+.. date: 6897
+.. nonce: 4NH_Xn
+.. release date: 08-May-2008
+.. section: Core and Builtins
+
+backported the ``next()`` builtin from Python 3.
+
+..
+
+.. bpo: 2681
+.. date: 6896
+.. nonce: 8UXx90
+.. section: Core and Builtins
+
+The octal literal ``0o8`` was incorrecly acctepted. Now it properly raises a
+SyntaxError.
+
+..
+
+.. bpo: 2617
+.. date: 6895
+.. nonce: 1gTS6r
+.. section: Core and Builtins
+
+Reserved -J and -X arguments for Jython, IronPython and other
+implementations of Python.
+
+..
+
+.. bpo: 0
+.. date: 6894
+.. nonce: aRO9gE
+.. section: Core and Builtins
+
+Implemented PEP 370: Per user site-packages directory.
+
+..
+
+.. bpo: 2670
+.. date: 6893
+.. nonce: VM2Luj
+.. section: Library
+
+Fix a failure in urllib2.build_opener(), when passed two handlers that
+derive the same default base class.
+
+..
+
+.. bpo: 0
+.. date: 6892
+.. nonce: 7fblHZ
+.. section: Library
+
+Added kill, terminate and send_signal(sig) to subprocess.Popen.
+
+..
+
+.. bpo: 0
+.. date: 6891
+.. nonce: 88WSiY
+.. section: Library
+
+Added phase(z) -> phi, polar(z) -> r, phi and rect(r, phi) -> z to the cmath
+module.
+
+..
+
+.. bpo: 0
+.. date: 6890
+.. nonce: 6dejMd
+.. section: Library
+
+Four new methods were added to the math and cmath modules: acosh, asinh,
+atanh and log1p.
+
+..
+
+.. bpo: 0
+.. date: 6889
+.. nonce: v-VAd8
+.. section: Library
+
+zlib.decompressobj().flush(value) no longer crashes the interpreter when
+passed a value less than or equal to zero.
+
+..
+
+.. bpo: 1631171
+.. date: 6888
+.. nonce: 8Bc0Zl
+.. section: Library
+
+Re-implement the 'warnings' module in C (the original Python code has been
+kept as backup). This will allow for using the 'warning's machinery in such
+places as the parser where use of pure Python code is not possible.  Both
+the ``showarning()`` and ``formatwarning()`` gain an optional 'line'
+argument which is not called by default for backwards-compatibility reasons.
+Setting ``warnings.showwarning()`` to an implementation that lacks support
+for the ``line`` argument will raise a DeprecationWarning.
+
+..
+
+.. bpo: 0
+.. date: 6887
+.. nonce: CNqdrb
+.. section: Library
+
+The audiodev module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 2750
+.. date: 6886
+.. nonce: nv-hkg
+.. section: Library
+
+Add the 'json' package. Based on simplejson 1.9 and contributed by Bob
+Ippolito.
+
+..
+
+.. bpo: 1734346
+.. date: 6885
+.. nonce: lfR8ca
+.. section: Library
+
+Support Unicode file names for zipfiles.
+
+..
+
+.. bpo: 2581
+.. date: 6884
+.. nonce: fOkdCT
+.. section: Library
+
+distutils: Vista UAC/elevation support for bdist_wininst.
+
+..
+
+.. bpo: 2635
+.. date: 6883
+.. nonce: F8Y92w
+.. section: Library
+
+Fix bug in 'fix_sentence_endings' textwrap.fill option, where an extra space
+was added after a word containing (but not ending in) '.', '!' or '?'.
+
+..
+
+.. bpo: 0
+.. date: 6882
+.. nonce: lYk3LA
+.. section: Library
+
+Add from_buffer() and from_buffer_copy() class methods to ctypes data types.
+
+..
+
+.. bpo: 2682
+.. date: 6881
+.. nonce: NLrJe2
+.. section: Library
+
+ctypes callback functions no longer contain a cyclic reference to
+themselves.
+
+..
+
+.. bpo: 0
+.. date: 6880
+.. nonce: TTWJof
+.. section: Library
+
+The getpass module has been improved on Unix.  It now uses /dev/tty by
+default and uses stderr instead of stdout.  A GetPassWarning is issued when
+input echo cannot be controlled.
+
+..
+
+.. bpo: 2014
+.. date: 6879
+.. nonce: CKvu6Y
+.. section: Library
+
+Allow XML-RPC datetime objects to have dates before 1900-01-01.
+
+..
+
+.. bpo: 2439
+.. date: 6878
+.. nonce: Kwwv4U
+.. section: Library
+
+Added new function pkgutil.get_data(), which is a convenience wrapper for
+the PEP 302 get_data() API.
+
+..
+
+.. bpo: 2616
+.. date: 6877
+.. nonce: UHPY7r
+.. section: Library
+
+The ctypes.pointer() and ctypes.POINTER() functions are now implemented in C
+for better performance.
+
+..
+
+.. bpo: 2408
+.. date: 6876
+.. nonce: GhLvZ5
+.. section: Library
+
+The ``_types`` module, which was used as in implementation detail of the
+public ``types`` module, has been removed and replaced by pure python code.
+
+..
+
+.. bpo: 2513
+.. date: 6875
+.. nonce: x3Kj5E
+.. section: Library
+
+distutils on Windows is now capable of cross-compiling extension modules
+between 32 and 64 bit platforms.  See the distutls build documentation for
+more information.
+
+..
+
+.. bpo: 815646
+.. date: 6874
+.. nonce: GhCmJD
+.. section: Library
+
+Individual file objects may now be used from multiple threads at once
+without fear of crashing the Python interpreter.  If file.close() is called
+while an object is in use by another thread an IOError exception will be
+raised and the file will not be closed.
+
+..
+
+.. bpo: 0
+.. date: 6873
+.. nonce: NdBuEp
+.. section: Library
+
+The bundled libffi copy is now in sync with the recently released
+libffi3.0.5 version, apart from some small changes to
+Modules/_ctypes/libffi/configure.ac.
+
+..
+
+.. bpo: 2385
+.. date: 6872
+.. nonce: qIBVVF
+.. section: Library
+
+distutils.core.run_script() makes __file__ available, so the controlled
+environment will more closely mirror the typical script environment.  This
+supports setup.py scripts that refer to data files.
+
+..
+
+.. bpo: 2550
+.. date: 6871
+.. nonce: wbV22J
+.. section: Tests
+
+The approach used by client/server code for obtaining ports to listen on in
+network-oriented tests has been refined in an effort to facilitate running
+multiple instances of the entire regression test suite in parallel without
+issue. test_support.bind_port() has been fixed such that it will always
+return a unique port -- which wasn't always the case with the previous
+implementation, especially if socket options had been set that affected
+address reuse (i.e. SO_REUSEADDR, SO_REUSEPORT).  The new implementation of
+bind_port() will actually raise an exception if it is passed an
+AF_INET/SOCK_STREAM socket with either the SO_REUSEADDR or SO_REUSEPORT
+socket option set.  Furthermore, if available, bind_port() will set the
+SO_EXCLUSIVEADDRUSE option on the socket it's been passed.  This currently
+only applies to Windows.  This option prevents any other sockets from
+binding to the host/port we've bound to, thus removing the possibility of
+the 'non-deterministic' behaviour, as Microsoft puts it, that occurs when a
+second SOCK_STREAM socket binds and accepts to a host/port that's already
+been bound by another socket.  The optional preferred port parameter to
+bind_port() has been removed.  Under no circumstances should tests be hard
+coding ports!
+
+test_support.find_unused_port() has also been introduced, which will pass a
+temporary socket object to bind_port() in order to obtain an unused port.
+The temporary socket object is then closed and deleted, and the port is
+returned.  This method should only be used for obtaining an unused port in
+order to pass to an external program (i.e. the -accept [port] argument to
+openssl's s_server mode) or as a parameter to a server-oriented class that
+doesn't give you direct access to the underlying socket used.
+
+Finally, test_support.HOST has been introduced, which should be used for the
+host argument of any relevant socket calls (i.e. bind and connect).
+
+The following tests were updated to following the new conventions:
+test_socket, test_smtplib, test_asyncore, test_ssl, test_httplib,
+test_poplib, test_ftplib, test_telnetlib, test_socketserver,   test_asynchat
+and test_socket_ssl.
+
+It is now possible for multiple instances of the regression test suite to
+run in parallel without issue.
+
+..
+
+.. bpo: 1496032
+.. date: 6870
+.. nonce: DcJtNu
+.. section: Build
+
+On alpha, use -mieee when gcc is the compiler.
+
+..
+
+.. bpo: 2544
+.. date: 6869
+.. nonce: -H_NZm
+.. section: Build
+
+On HP-UX systems, use 'gcc -shared' for linking when gcc is used as
+compiler.
+
+..
+
+.. bpo: 2573
+.. date: 6868
+.. nonce: 4wDeJ7
+.. section: Build
+
+On MacOS X it is now possible to install the framework with a different name
+using --with-framework-name=NAME.
+
+..
+
+.. bpo: 0
+.. date: 6867
+.. nonce: yznsKq
+.. section: C API
+
+Added implementation of copysign, acosh, asinh, atanh and log1p to the new
+files Include/pymath.h and Python/pymath.h for platforms which provide the
+functions through their libm. The files also contains several helpers and
+constants for math.
+
+..
+
+.. bpo: 0
+.. date: 6866
+.. nonce: Kr65an
+.. section: C API
+
+Added a new convenience macro, PyErr_WarnPy3k, for issuing Py3k warnings.
diff --git a/Misc/NEWS.d/2.6b1.rst b/Misc/NEWS.d/2.6b1.rst
new file mode 100644
index 0000000..e680708
--- /dev/null
+++ b/Misc/NEWS.d/2.6b1.rst
@@ -0,0 +1,1149 @@
+.. bpo: 3211
+.. date: 7017
+.. nonce: 53eouC
+.. release date: 18-June-2008
+.. section: Core and Builtins
+
+warnings.warn_explicit() did not guard against its 'registry' argument being
+anything other than a dict or None. Also fixed a bug in error handling when
+'message' and 'category' were both set to None, triggering a bus error.
+
+..
+
+.. bpo: 3100
+.. date: 7016
+.. nonce: FGUaxt
+.. section: Core and Builtins
+
+Corrected a crash on deallocation of a subclassed weakref which holds the
+last (strong) reference to its referent.
+
+..
+
+.. bpo: 0
+.. date: 7015
+.. nonce: habgq9
+.. section: Core and Builtins
+
+Add future_builtins.ascii().
+
+..
+
+.. bpo: 0
+.. date: 7014
+.. nonce: ZqCwWn
+.. section: Core and Builtins
+
+Several set methods now accept multiple arguments: update(), union(),
+intersection(), intersection_update(), difference(), and
+difference_update().
+
+..
+
+.. bpo: 2898
+.. date: 7013
+.. nonce: 3Al5vX
+.. section: Core and Builtins
+
+Added sys.getsizeof() to retrieve size of objects in bytes.
+
+..
+
+.. bpo: 0
+.. date: 7012
+.. nonce: 7NZKM7
+.. section: Core and Builtins
+
+New environment variable PYTHONIOENCODING.
+
+..
+
+.. bpo: 2488
+.. date: 7011
+.. nonce: SglN-p
+.. section: Core and Builtins
+
+Add sys.maxsize.
+
+..
+
+.. bpo: 2353
+.. date: 7010
+.. nonce: IYOwih
+.. section: Core and Builtins
+
+file.xreadlines() now emits a Py3k warning.
+
+..
+
+.. bpo: 2863
+.. date: 7009
+.. nonce: rpJxY7
+.. section: Core and Builtins
+
+generators now have a ``gen.__name__`` attribute that equals
+``gen.gi_code.co_name``, like ``func.__name___`` that equals
+``func.func_code.co_name``.  The repr() of a generator now also contains
+this name.
+
+..
+
+.. bpo: 2831
+.. date: 7008
+.. nonce: Clokao
+.. section: Core and Builtins
+
+enumerate() now has a ``start`` argument.
+
+..
+
+.. bpo: 2801
+.. date: 7007
+.. nonce: mKH_h9
+.. section: Core and Builtins
+
+fix bug in the float.is_integer method where a ValueError was sometimes
+incorrectly raised.
+
+..
+
+.. bpo: 2790
+.. date: 7006
+.. nonce: XESeko
+.. section: Core and Builtins
+
+sys.flags was not properly exposing its bytes_warning attribute.
+
+..
+
+.. bpo: 2196
+.. date: 7005
+.. nonce: Bzc5vC
+.. section: Core and Builtins
+
+hasattr() now lets exceptions which do not inherit Exception
+(KeyboardInterrupt, and SystemExit) propagate instead of ignoring them.
+
+..
+
+.. bpo: 0
+.. date: 7004
+.. nonce: PBmDwc
+.. section: Core and Builtins
+
+Added checks for integer overflows, contributed by Google. Some are only
+available if asserts are left in the code, in cases where they can't be
+triggered from Python code.
+
+..
+
+.. bpo: 1179
+.. date: 7003
+.. nonce: ZiG6Oq
+.. section: Library
+
+[CVE-2007-4965] Integer overflow in imageop module.
+
+..
+
+.. bpo: 3116
+.. date: 7002
+.. nonce: A_baFS
+.. section: Library
+
+marshal.dumps() had quadratic behavior for strings > 32Mb.
+
+..
+
+.. bpo: 2138
+.. date: 7001
+.. nonce: 1v8Wds
+.. section: Library
+
+Add factorial() to the math module.
+
+..
+
+.. bpo: 0
+.. date: 7000
+.. nonce: Zg08xh
+.. section: Library
+
+The heapq module does comparisons using LT instead of LE.  This makes its
+implementation match that used by list.sort().
+
+..
+
+.. bpo: 2819
+.. date: 6999
+.. nonce: 8rJOqA
+.. section: Library
+
+add full-precision summation function to math module, based on Hettinger's
+ASPN Python Cookbook recipe.
+
+..
+
+.. bpo: 2592
+.. date: 6998
+.. nonce: dyYM9F
+.. section: Library
+
+delegate nb_index and the floor/truediv slots in weakref.proxy.
+
+..
+
+.. bpo: 0
+.. date: 6997
+.. nonce: 9pq1AU
+.. section: Library
+
+Support os.O_ASYNC and fcntl.FASYNC if the constants exist on the platform.
+
+..
+
+.. bpo: 0
+.. date: 6996
+.. nonce: xpuGyu
+.. section: Library
+
+Support for Windows 9x has been removed from the winsound module.
+
+..
+
+.. bpo: 0
+.. date: 6995
+.. nonce: QqGmIr
+.. section: Library
+
+bsddb module updated to version 4.7.3.
+http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.7.3. This code should
+be compatible with Python 3.0.
+
+..
+
+.. bpo: 2858
+.. date: 6994
+.. nonce: klmpfU
+.. section: Library
+
+Fix potential memory corruption when bsddb.db.DBEnv.lock_get and other
+bsddb.db object constructors raised an exception.
+
+..
+
+.. bpo: 2669
+.. date: 6993
+.. nonce: ThHCIr
+.. section: Library
+
+bsddb/__init__.py iteration no longer silently fails when the database has
+changed size during iteration.  It now raises a RuntimeError in the same
+manner as a dictionary.
+
+..
+
+.. bpo: 2870
+.. date: 6992
+.. nonce: dmu5w6
+.. section: Library
+
+cmathmodule.c compile error.
+
+..
+
+.. bpo: 0
+.. date: 6991
+.. nonce: F-3bCT
+.. section: Library
+
+Added a threading.Thread.ident property.
+
+..
+
+.. bpo: 0
+.. date: 6990
+.. nonce: eoz_IQ
+.. section: Library
+
+logging.config: Removed out-of-date comment in _install_handlers and used
+issubclass in place of equality comparison of classes.
+
+..
+
+.. bpo: 2722
+.. date: 6989
+.. nonce: wqgrWN
+.. section: Library
+
+Now the os.getcwd() supports very long path names.
+
+..
+
+.. bpo: 2888
+.. date: 6988
+.. nonce: gJe46M
+.. section: Library
+
+Fixed the behaviour of pprint when working with nested structures, to match
+the behaviour of 2.5 and 3.0 (now follows the common sense).
+
+..
+
+.. bpo: 1817
+.. date: 6987
+.. nonce: pPMpU3
+.. section: Library
+
+cgi now correctly handles the querystring on POST requests
+
+..
+
+.. bpo: 3136
+.. date: 6986
+.. nonce: h_BTKr
+.. section: Library
+
+fileConfig()'s disabling of old loggers is now conditional via an optional
+disable_existing_loggers parameter, but the default value is such that the
+old behaviour is preserved. Thanks to Leandro Lucarella for the patch.
+
+..
+
+.. bpo: 3126
+.. date: 6985
+.. nonce: fTafXl
+.. section: Library
+
+StreamHandler and FileHandler check before calling "flush" and "close" that
+the stream object has these, using hasattr (thanks to bobf for the patch).
+
+..
+
+.. bpo: 2912
+.. date: 6984
+.. nonce: eOMCRu
+.. section: Library
+
+platform.uname now tries to determine unknown information even if os.uname
+exists.
+
+..
+
+.. bpo: 0
+.. date: 6983
+.. nonce: suPcSI
+.. section: Library
+
+The rfc822 module has been deprecated for removal in 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6982
+.. nonce: UOZNCJ
+.. section: Library
+
+The mimetools module has been deprecated for removal in 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6981
+.. nonce: RqZ_5y
+.. section: Library
+
+The ctypes.byref function now takes an optional second parameter which
+specifies an offset in bytes for the constructed pointer-like object.
+
+..
+
+.. bpo: 0
+.. date: 6980
+.. nonce: oTWuUu
+.. section: Library
+
+Added the ast module.
+
+..
+
+.. bpo: 0
+.. date: 6979
+.. nonce: fHFiuS
+.. section: Library
+
+Added the multiprocessing module, PEP 371.
+
+..
+
+.. bpo: 0
+.. date: 6978
+.. nonce: nlfVuP
+.. section: Library
+
+Factored out the indentation cleaning from inspect.getdoc() into
+inspect.cleandoc() to ease standalone use.
+
+..
+
+.. bpo: 1798
+.. date: 6977
+.. nonce: AzgRaY
+.. section: Library
+
+Add ctypes calling convention that allows safe access to errno.
+
+..
+
+.. bpo: 2404
+.. date: 6976
+.. nonce: y3Vi2t
+.. section: Library
+
+ctypes objects support the new pep3118 buffer interface.
+
+..
+
+.. bpo: 2125
+.. date: 6975
+.. nonce: wZgsqd
+.. section: Library
+
+Add GetInteger and GetString methods for msilib.Record objects.
+
+..
+
+.. bpo: 2782
+.. date: 6974
+.. nonce: cDdM9Y
+.. section: Library
+
+The datetime module's strftime methods now accept unicode format strings
+just as time.strftime always has.
+
+..
+
+.. bpo: 0
+.. date: 6973
+.. nonce: lhIEH0
+.. section: Library
+
+The sgmllib and htmllib modules have been deprecated for removal in Python
+3.0.
+
+..
+
+.. bpo: 3011
+.. date: 6972
+.. nonce: 6bdKsn
+.. section: Library
+
+locale module alias table was updated to the latest version from the X.org
+locale.alias file.
+
+..
+
+.. bpo: 1797
+.. date: 6971
+.. nonce: q7se8Q
+.. section: Library
+
+ctypes NULL function pointers have a False boolean value now.
+
+..
+
+.. bpo: 2985
+.. date: 6970
+.. nonce: Lj8FT6
+.. section: Library
+
+Allow 64-bit integer responses (``<i8>``) in XMLRPC transfers.
+
+..
+
+.. bpo: 2877
+.. date: 6969
+.. nonce: DHx0Vp
+.. section: Library
+
+The UserString.MutableString class has been removed in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6968
+.. nonce: eAZNNA
+.. section: Library
+
+Do not close external file objects passed to tarfile.open(mode='w:bz2') when
+the TarFile is closed.
+
+..
+
+.. bpo: 2959
+.. date: 6967
+.. nonce: VfcUGd
+.. section: Library
+
+For consistency with other file-like objects, gzip's GzipFile.close() can
+now be called multiple times without raising an exception.
+
+..
+
+.. bpo: 1390
+.. date: 6966
+.. nonce: r5VD4K
+.. section: Library
+
+Raise ValueError in toxml when an invalid comment would otherwise be
+produced.
+
+..
+
+.. bpo: 2914
+.. date: 6965
+.. nonce: vFi4D6
+.. section: Library
+
+TimedRotatingFileHandler now takes an optional keyword argument "utc" to use
+UTC time rather than local time.
+
+..
+
+.. bpo: 2929
+.. date: 6964
+.. nonce: rN0khF
+.. section: Library
+
+TimedRotatingFileHandler was using the wrong path when deleting old log
+files (filename only instead of full path).
+
+..
+
+.. bpo: 1775025
+.. date: 6963
+.. nonce: 0zA_rX
+.. section: Library
+
+You can now specify zipfile members to open(), read() or extract() via a
+ZipInfo instance.  This allows handling duplicate filenames in zipfiles.
+
+..
+
+.. bpo: 961805
+.. date: 6962
+.. nonce: lic8H4
+.. section: Library
+
+Fix Text.edit_modified() in Tkinter.
+
+..
+
+.. bpo: 1793
+.. date: 6961
+.. nonce: uqwZq4
+.. section: Library
+
+Function ctypes.util.find_msvcrt() added that returns the name of the C
+runtime library that Python uses. ctypes.util.find_library(name) now call
+this function when name is 'm' or 'c'.
+
+..
+
+.. bpo: 0
+.. date: 6960
+.. nonce: TYfaoC
+.. section: Library
+
+The statvfs module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6959
+.. nonce: YxHVfd
+.. section: Library
+
+The sunaudiodev and SUNAUDIODEV modules have been deprecated for removal in
+Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6958
+.. nonce: xxpvg4
+.. section: Library
+
+The WAIT module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6957
+.. nonce: 2EEuVl
+.. section: Library
+
+The torgb module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6956
+.. nonce: DxcqyJ
+.. section: Library
+
+The SV module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6955
+.. nonce: T3Yn6K
+.. section: Library
+
+The readcd module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6954
+.. nonce: H9XINa
+.. section: Library
+
+The panelparser module from IRIX has been deprecated for removal in Python
+3.0.
+
+..
+
+.. bpo: 0
+.. date: 6953
+.. nonce: zVi2Qa
+.. section: Library
+
+The panel module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6952
+.. nonce: G7TA5T
+.. section: Library
+
+The jpeg module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6951
+.. nonce: mVA78R
+.. section: Library
+
+The IOCTL module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6950
+.. nonce: J4KyX6
+.. section: Library
+
+The IN module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6949
+.. nonce: Nuh6UM
+.. section: Library
+
+The imgfile module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6948
+.. nonce: UBseEw
+.. section: Library
+
+The GLWS module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6947
+.. nonce: xgzC-j
+.. section: Library
+
+The GET module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6946
+.. nonce: NgBwkl
+.. section: Library
+
+The fm module from IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6945
+.. nonce: 9kD1K-
+.. section: Library
+
+The FL, flp, and fl modules from IRIX have been deprecated for removal in
+Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6944
+.. nonce: AYoVJR
+.. section: Library
+
+The FILE module on IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6943
+.. nonce: CQ38ij
+.. section: Library
+
+The ERRNO module on IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6942
+.. nonce: R-9YLH
+.. section: Library
+
+The DEVICE, GL, gl, and cgen modules (which indirectly includes cgensupport)
+have been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6941
+.. nonce: dKOF2g
+.. section: Library
+
+The CL, CL_old, and cl modules for IRIX have been deprecated for removal in
+Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6940
+.. nonce: 5cFkYd
+.. section: Library
+
+The cdplayer module for IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6939
+.. nonce: 5y0yek
+.. section: Library
+
+The cddb module for IRIX has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6938
+.. nonce: 0pHLuS
+.. section: Library
+
+The cd and CD modules for IRIX have been deprecated for removal in Python
+3.0.
+
+..
+
+.. bpo: 0
+.. date: 6937
+.. nonce: eF0f6O
+.. section: Library
+
+The al and AL modules for IRIX have been deprecated for removal in Python
+3.0.
+
+..
+
+.. bpo: 1713041
+.. date: 6936
+.. nonce: JzsT_z
+.. section: Library
+
+fix pprint's handling of maximum depth.
+
+..
+
+.. bpo: 0
+.. date: 6935
+.. nonce: FpBuBP
+.. section: Library
+
+The timing module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6934
+.. nonce: Lz9Ysd
+.. section: Library
+
+The sv module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6933
+.. nonce: kwju7-
+.. section: Library
+
+The multifile module has been deprecated as per PEP 4.
+
+..
+
+.. bpo: 0
+.. date: 6932
+.. nonce: G-Cuj6
+.. section: Library
+
+The imageop module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 2250
+.. date: 6931
+.. nonce: v4HLiv
+.. section: Library
+
+Exceptions raised during evaluation of names in rlcompleter's
+``Completer.complete()`` method are now caught and ignored.
+
+..
+
+.. bpo: 2659
+.. date: 6930
+.. nonce: FuhwDb
+.. section: Library
+
+Added ``break_on_hyphens`` option to textwrap TextWrapper class.
+
+..
+
+.. bpo: 0
+.. date: 6929
+.. nonce: w8Xvgj
+.. section: Library
+
+The mhlib module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6928
+.. nonce: f4HWLF
+.. section: Library
+
+The linuxaudiodev module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6927
+.. nonce: O9UJsR
+.. section: Library
+
+The ihooks module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6926
+.. nonce: JFJhmk
+.. section: Library
+
+The fpformat module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6925
+.. nonce: BVxyeG
+.. section: Library
+
+The dl module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6924
+.. nonce: MCsyLJ
+.. section: Library
+
+The Canvas module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6923
+.. nonce: aVjhm5
+.. section: Library
+
+The compiler package has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6922
+.. nonce: R6-PB3
+.. section: Library
+
+The Bastion and rexec modules have been deprecated for removal in Python
+3.0.
+
+..
+
+.. bpo: 0
+.. date: 6921
+.. nonce: BvlchT
+.. section: Library
+
+The bsddb185 module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6920
+.. nonce: Lt4pJF
+.. section: Library
+
+The pure module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 2487
+.. date: 6919
+.. nonce: n2AhZO
+.. section: Library
+
+change the semantics of math.ldexp(x, n) when n is too large to fit in a C
+long.  ldexp(x, n) now returns a zero (with suitable sign) if n is large and
+negative; previously, it raised OverflowError.
+
+..
+
+.. bpo: 0
+.. date: 6918
+.. nonce: 6I_VH_
+.. section: Library
+
+The toaiff module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6917
+.. nonce: qWQme_
+.. section: Library
+
+The test.testall module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6916
+.. nonce: HPixGU
+.. section: Library
+
+The new module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6915
+.. nonce: sQ0aEE
+.. section: Library
+
+The user module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6914
+.. nonce: J-y7uq
+.. section: Library
+
+The stringold module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6913
+.. nonce: u1RhAc
+.. section: Library
+
+The mutex module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6912
+.. nonce: NlWeSy
+.. section: Library
+
+The imputil module has been deprecated for removal in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6911
+.. nonce: iI_4rp
+.. section: Library
+
+test.test_support.catch_warning() gained a 'record' argument.
+
+..
+
+.. bpo: 0
+.. date: 6910
+.. nonce: 0DtsL9
+.. section: Library
+
+os.path.walk is deprecated in favor of os.walk.
+
+..
+
+.. bpo: 0
+.. date: 6909
+.. nonce: MWVgy8
+.. section: Library
+
+pdb gained the "until" command.
+
+..
+
+.. bpo: 0
+.. date: 6908
+.. nonce: R978mb
+.. section: Library
+
+The Mac Modules (including Carbon) have been deprecated for removal in
+Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 6907
+.. nonce: 2hRfXS
+.. section: Library
+
+Library: on MacOS X you can now set ``ARCHFLAGS`` in the shell environment
+to control the '-arch' flags that are used to build an extension. This was
+added for compatibility with Apple's build of Python.
+
+..
+
+.. bpo: 0
+.. date: 6906
+.. nonce: HjodSi
+.. section: Library
+
+The bundled OSX-specific copy of libbffi is now in sync with the version
+shipped with PyObjC 2.0 and includes support for x86_64 and ppc64 platforms.
+
+..
+
+.. bpo: 0
+.. date: 6905
+.. nonce: iTp3z3
+.. section: Library
+
+The threading module gained aliases for names that will be removed in the
+3.x series.
+
+..
+
+.. bpo: 0
+.. date: 6904
+.. nonce: 0CBHNl
+.. section: Build
+
+The Windows installer now includes Tk 8.5, bzip2 1.0.5, and SQLite 3.5.9.
+
+..
+
+.. bpo: 1722225
+.. date: 6903
+.. nonce: j9OSPy
+.. section: Build
+
+Support QNX 6.
+
+..
+
+.. bpo: 0
+.. date: 6902
+.. nonce: CBo5JG
+.. section: Build
+
+``Lib/lib-old`` is now added to sys.path.
+
+..
+
+.. bpo: 0
+.. date: 6901
+.. nonce: sehDt_
+.. section: Build
+
+On MacOS X it is now possible to install the framework in 64-bit mode or
+even as a 4-way universal binary (that is, PPC, i386, PPC64 and x86_64
+support in one binary).
+
+This is controlled by the configure argument ``--with-universal-archs``:
+
+- ``--with-universal-archs=all``: install 4-way universal
+
+- ``--with-universal-archs=32-bit``: install 2-way universal, 32-bit (the
+default)
+
+- ``--with-universal-archs=64-bit``: install 2-way universal, 64-bit
+
+This option should be used in combination with ``--enable-universalsdk=``.
+
+NOTE: 64-bit and 4-way builds are only suppported on Mac OS X 10.5 (or
+later).
+
+..
+
+.. bpo: 0
+.. date: 6900
+.. nonce: dWsqLp
+.. section: C API
+
+Add ``PyType_Modified()`` as a public API to clear the type cache.
+
+..
+
+.. bpo: 0
+.. date: 6899
+.. nonce: kBP7ih
+.. section: C API
+
+The PyBytes functions have been renamed to PyByteArray.
+
+..
+
+.. bpo: 0
+.. date: 6898
+.. nonce: Ab5wDH
+.. section: C API
+
+The PyString functions have been renamed to PyBytes. A batch of defines were
+added so that the linker still sees the original PyString names.
diff --git a/Misc/NEWS.d/2.6b2.rst b/Misc/NEWS.d/2.6b2.rst
new file mode 100644
index 0000000..d4e77af
--- /dev/null
+++ b/Misc/NEWS.d/2.6b2.rst
@@ -0,0 +1,424 @@
+.. bpo: 3156
+.. date: 7059
+.. nonce: hdm5KM
+.. release date: 17-Jul-2008
+.. section: Core and Builtins
+
+Fix inconsistent behavior of the bytearray type: all its methods now allow
+for items objects that can be converted to an integer using
+operator.index().
+
+..
+
+.. bpo: 3360
+.. date: 7058
+.. nonce: IrjlMc
+.. section: Core and Builtins
+
+Fix incorrect parsing of '020000000000.0', which produced a ValueError
+instead of giving the correct float.
+
+..
+
+.. bpo: 3083
+.. date: 7057
+.. nonce: -lGbUY
+.. section: Core and Builtins
+
+Add alternate (#) formatting for bin, oct, hex output for str.format().
+This adds the prefix 0b, 0o, or 0x, respectively.
+
+..
+
+.. bpo: 3008
+.. date: 7056
+.. nonce: YsZO12
+.. section: Core and Builtins
+
+the float type has a new instance method 'float.hex' and a new class method
+'float.fromhex' to convert floating-point numbers to and from hexadecimal
+strings, respectively.
+
+..
+
+.. bpo: 2235
+.. date: 7055
+.. nonce: 8Brs_N
+.. section: Core and Builtins
+
+__hash__ is once again inherited by default. To allow collections.Hashable
+to remain meaningful in the presence of the default hash implementation
+(object.__hash__), it is now possible to explicit block inheritance of hash
+by setting __hash__=None at the Python level, or
+tp_hash=PyObject_HashNotImplemented at the C level.
+
+..
+
+.. bpo: 3221
+.. date: 7054
+.. nonce: -0HAEB
+.. section: Core and Builtins
+
+Issue a RuntimeWarning instead of raising SystemError if the parent module
+cannot be found while performing an absolute import. This means that an
+incorrectly defined __package__ attribute will now only prevent relative
+imports in that module rather than causing all imports from that module to
+fail.
+
+..
+
+.. bpo: 2517
+.. date: 7053
+.. nonce: YHwfKp
+.. section: Core and Builtins
+
+Allow unicode messages in Exceptions again by correctly bypassing the
+instance dictionary when looking up __unicode__ on new-style classes.
+
+..
+
+.. bpo: 3242
+.. date: 7052
+.. nonce: uFneM1
+.. section: Core and Builtins
+
+Fix a crash inside the print statement, if sys.stdout is set to a custom
+object whose write() method happens to install another file in sys.stdout.
+
+..
+
+.. bpo: 3088
+.. date: 7051
+.. nonce: bSHlNi
+.. section: Core and Builtins
+
+Corrected a race condition in classes derived from threading.local: the
+first member set by a thread could be saved in another thread's dictionary.
+
+..
+
+.. bpo: 3004
+.. date: 7050
+.. nonce: P4g_vU
+.. section: Core and Builtins
+
+Minor change to slice.indices(): the start and stop arguments are now
+treated identically, making the behaviour easier to describe and understand.
+For example, slice(None, -10, 1).indices(9) now returns (0, 0, 1) instead of
+(0, -1, 1), and slice(None, 10, -1).indices(10) returns (9, 9, -1) instead
+of (9, 10, -1).
+
+..
+
+.. bpo: 3219
+.. date: 7049
+.. nonce: 6awi9c
+.. section: Core and Builtins
+
+Calling a function with repeated keyword arguments, f(a=2, a=23), would not
+cause a syntax error.  This was a regression from 2.4 caused by the switch
+to the new compiler.
+
+..
+
+.. bpo: 2862
+.. date: 7048
+.. nonce: R-Avyy
+.. section: Core and Builtins
+
+Make int and float freelist management consistent with other freelists.
+Changes their CompactFreeList apis into ClearFreeList apis and calls them
+via gc.collect().
+
+..
+
+.. bpo: 3554
+.. date: 7047
+.. nonce: _5DO8B
+.. section: Library
+
+ctypes.string_at and ctypes.wstring_at did call Python api functions without
+holding the GIL, which could lead to a fatal error when they failed.
+
+..
+
+.. bpo: 799428
+.. date: 7046
+.. nonce: kA7sJS
+.. section: Library
+
+Fix Tkinter.Misc._nametowidget to unwrap Tcl command objects.
+
+..
+
+.. bpo: 3395
+.. date: 7045
+.. nonce: j6q9M6
+.. section: Library
+
+fix reference in test_multiprocessing to old debugInfo method
+
+..
+
+.. bpo: 3312
+.. date: 7044
+.. nonce: pGNZVY
+.. section: Library
+
+Fix two crashes in sqlite3.
+
+..
+
+.. bpo: 1608818
+.. date: 7043
+.. nonce: FtvGGk
+.. section: Library
+
+Fix misbehavior in os.listdir() if readdir() fails.
+
+..
+
+.. bpo: 3125
+.. date: 7042
+.. nonce: fEAPxY
+.. section: Library
+
+Remove copy_reg in multiprocessing and replace it with
+ForkingPickler.register() to resolve conflict with ctypes.
+
+..
+
+.. bpo: 3090
+.. date: 7041
+.. nonce: Dl5Ar4
+.. section: Library
+
+Fixed ARCHFLAGS parsing on OS/X
+
+..
+
+.. bpo: 3313
+.. date: 7040
+.. nonce: wvm6HP
+.. section: Library
+
+Fixed a crash when a failed dlopen() call does not set a valid dlerror()
+message.
+
+..
+
+.. bpo: 3258
+.. date: 7039
+.. nonce: JBBmgi
+.. section: Library
+
+Fixed a crash when a ctypes POINTER type to an incomplete structure was
+created.
+
+..
+
+.. bpo: 3339
+.. date: 7038
+.. nonce: L4Fn9f
+.. section: Library
+
+dummy_thread.acquire() should not return None.
+
+..
+
+.. bpo: 3285
+.. date: 7037
+.. nonce: 9B3FF_
+.. section: Library
+
+Fractions from_float() and from_decimal() accept Integral arguments.
+
+..
+
+.. bpo: 3301
+.. date: 7036
+.. nonce: 063oaQ
+.. section: Library
+
+Bisect module behaved badly when lo was negative.
+
+..
+
+.. bpo: 839496
+.. date: 7035
+.. nonce: pl02h-
+.. section: Library
+
+SimpleHTTPServer used to open text files in text mode. This is both
+unnecessary (HTTP allows text content to be sent in several forms) and wrong
+because the actual transmitted size could differ from the content-length.
+The problem had been corrected in the 2.4 branch, but never merged into
+trunk.
+
+..
+
+.. bpo: 2663
+.. date: 7034
+.. nonce: j037TB
+.. section: Library
+
+add filtering capability to shutil.copytree().
+
+..
+
+.. bpo: 1622
+.. date: 7033
+.. nonce: Yi7nBf
+.. section: Library
+
+Correct interpretation of various ZIP header fields.
+
+..
+
+.. bpo: 1526
+.. date: 7032
+.. nonce: GTmFzB
+.. section: Library
+
+Allow more than 64k files to be added to Zip64 file.
+
+..
+
+.. bpo: 1746
+.. date: 7031
+.. nonce: 9HT8Dq
+.. section: Library
+
+Correct handling of zipfile archive comments (previously archives with
+comments over 4k were flagged as invalid). Allow writing Zip files with
+archives by setting the 'comment' attribute of a ZipFile.
+
+..
+
+.. bpo: 449227
+.. date: 7030
+.. nonce: 5LsZeI
+.. section: Library
+
+The rlcompleter module now adds "(" to callable objects when completed.
+
+..
+
+.. bpo: 3190
+.. date: 7029
+.. nonce: VtDnou
+.. section: Library
+
+Pydoc now hides the automatic module attribute __package__ (the handling is
+now the same as that of other special attributes like __name__).
+
+..
+
+.. bpo: 2885
+.. date: 7028
+.. nonce: uiHEVr
+.. section: Library
+
+The urllib.urlopen() function has been deprecated for removal in Python 3.0
+in favor of urllib2.urlopen().
+
+..
+
+.. bpo: 2113
+.. date: 7027
+.. nonce: bYWyrt
+.. section: Library
+
+Fix error in subprocess.Popen if the select system call is interrupted by a
+signal.
+
+..
+
+.. bpo: 3309
+.. date: 7026
+.. nonce: Y7DVRF
+.. section: Library
+
+Fix bz2.BZFile iterator to release its internal lock properly when raising
+an exception due to the bz2file being closed. Prevents a deadlock.
+
+..
+
+.. bpo: 3094
+.. date: 7025
+.. nonce: DuUvkr
+.. section: Library
+
+httplib.HTTPSConnection Host: headers no longer include the redundant ":443"
+port number designation when the connection is using the default https port
+(443).
+
+..
+
+.. bpo: 874900
+.. date: 7024
+.. nonce: O4a6qo
+.. section: Library
+
+after an os.fork() call the threading module state is cleaned up in the
+child process to prevent deadlock and report proper thread counts if the new
+process uses the threading module.
+
+..
+
+.. bpo: 0
+.. date: 7023
+.. nonce: qnkMJb
+.. section: Tests
+
+test.test_support.catch_warning now keeps track of all warnings it sees and
+is now better documented. Explicit unit tests for this context manager have
+been added to test_warnings.
+
+..
+
+.. bpo: 3215
+.. date: 7022
+.. nonce: JA6IUI
+.. section: Build
+
+Build sqlite3 as sqlite3.dll, not sqlite3.pyd.
+
+..
+
+.. bpo: 0
+.. date: 7021
+.. nonce: A25wbC
+.. section: Documentation
+
+Document that robotparser has been renamed to urllib.robotparser in Python
+3.0.
+
+..
+
+.. bpo: 0
+.. date: 7020
+.. nonce: k24KZW
+.. section: Documentation
+
+Document that urlparse has been renamed to urllib.parse in Python 3.0.
+
+..
+
+.. bpo: 0
+.. date: 7019
+.. nonce: wtGKB7
+.. section: Documentation
+
+Document that urllib2 is split across multiple modules and renamed in Python
+3.0.
+
+..
+
+.. bpo: 0
+.. date: 7018
+.. nonce: kWfaYS
+.. section: Documentation
+
+Document that urllib is split across multiple modules and renamed in Python
+3.0.
diff --git a/Misc/NEWS.d/2.6b3.rst b/Misc/NEWS.d/2.6b3.rst
new file mode 100644
index 0000000..6b23d6c
--- /dev/null
+++ b/Misc/NEWS.d/2.6b3.rst
@@ -0,0 +1,531 @@
+.. bpo: 1878
+.. date: 7111
+.. nonce: exCmjh
+.. release date: 20-Aug-2008
+.. section: Core and Builtins
+
+Remove Py_TPFLAGS_HAVE_VERSION_TAG from Py_TPFLAGS_DEFAULT when not building
+the core.  This means 3rd party extensions do not automatically benefit from
+the class attribute cache; they will have to explicitly add
+Py_TPFLAGS_HAVE_VERSION_TAG to their tp_flags field if they care.  This is a
+backwards compatibility feature; in 3.0, all types will use the cache by
+default.
+
+..
+
+.. bpo: 0
+.. date: 7110
+.. nonce: 7crJgG
+.. section: Core and Builtins
+
+Keyword arguments can now follow starred arguments. (``f(a, *args,
+keyword=23)`` is now valid syntax.)
+
+..
+
+.. bpo: 0
+.. date: 7109
+.. nonce: OfzhCP
+.. section: Core and Builtins
+
+ctypes function pointers that are COM methods have a boolean True value
+again.
+
+..
+
+.. bpo: 3139
+.. date: 7108
+.. nonce: j4FT95
+.. section: Core and Builtins
+
+Make buffer-interface thread-safe wrt. PyArg_ParseTuple, by denying s# to
+parse objects that have a releasebuffer procedure, and introducing s*.
+
+..
+
+.. bpo: 3537
+.. date: 7107
+.. nonce: Jd1RRZ
+.. section: Core and Builtins
+
+Fix an assertion failure when an empty but presized dict object was stored
+in the freelist.
+
+..
+
+.. bpo: 1481296
+.. date: 7106
+.. nonce: 9MXKTf
+.. section: Core and Builtins
+
+Make long(float('nan')) and int(float('nan')) raise ValueError consistently
+across platforms.
+
+..
+
+.. bpo: 3479
+.. date: 7105
+.. nonce: 2x4rkT
+.. section: Core and Builtins
+
+On platforms where sizeof(int) is smaller than sizeof(long) (64bit Unix, for
+example), unichr() would truncate its argument and return u'\x00' for
+unichr(2**32). Now it properly raises an OverflowError.
+
+..
+
+.. bpo: 0
+.. date: 7104
+.. nonce: dpio6h
+.. section: Core and Builtins
+
+Apply security patches from Apple.
+
+..
+
+.. bpo: 2542
+.. date: 7103
+.. nonce: OGrPLh
+.. section: Core and Builtins
+
+Now that issubclass() may call arbitrary code, ensure that
+PyErr_ExceptionMatches returns 0 when an exception occurs there.
+
+..
+
+.. bpo: 1819
+.. date: 7102
+.. nonce: LzrD36
+.. section: Core and Builtins
+
+function calls with several named parameters are now on average 35% faster
+(as measured by pybench).
+
+..
+
+.. bpo: 2378
+.. date: 7101
+.. nonce: jnJN2_
+.. section: Core and Builtins
+
+An unexpected UnboundLocalError or NameError could appear when the python
+debugger steps into a class statement: the free variables (local variables
+defined in an outer scope) would be deleted from the outer scope.
+
+..
+
+.. bpo: 2620
+.. date: 7100
+.. nonce: g7NRZZ
+.. section: Core and Builtins
+
+Overflow checking when allocating or reallocating memory was not always
+being done properly in some python types and extension modules.
+PyMem_MALLOC, PyMem_REALLOC, PyMem_NEW and PyMem_RESIZE have all been
+updated to perform better checks and places in the code that would
+previously leak memory on the error path when such an allocation failed have
+been fixed.
+
+..
+
+.. bpo: 3612
+.. date: 7099
+.. nonce: RX3nFS
+.. section: Library
+
+Added some missing basic types in ctypes.wintypes.
+
+..
+
+.. bpo: 0
+.. date: 7098
+.. nonce: 6arfb-
+.. section: Library
+
+The methods ``is_in_tuple()``, ``is_vararg()``, and ``is_keywordarg()`` of
+symtable.Symbol have been deprecated for removal in 3.0 and the next
+release.
+
+..
+
+.. bpo: 2234
+.. date: 7097
+.. nonce: ZY7qAp
+.. section: Library
+
+distutils failed for some versions of the cygwin compiler. The version
+reported by these tools does not necessarily follow the python version
+numbering scheme, so the module is less strict when parsing it.
+
+..
+
+.. bpo: 2235
+.. date: 7096
+.. nonce: lZ4uDf
+.. section: Library
+
+Added Py3k warnings for types which will become unhashable under the
+stricter __hash__ inheritance rules in 3.0. Several types which did not meet
+the rules for hash invariants and were already unhashable in 3.0 have now
+been explicitly flagged as unhashable in 2.6 as well (collections.Mapping,
+collections.Set, unittest.TestSuite, xml.dom.minidom.NamedNodeMap,
+numbers.Number, UserList.UserList)
+
+..
+
+.. bpo: 0
+.. date: 7095
+.. nonce: njv0Yv
+.. section: Library
+
+Update __all__ for cookielib, csv, os, urllib2, and weakref to include
+things imported into the module but exposed as part of the module's API.
+
+..
+
+.. bpo: 0
+.. date: 7094
+.. nonce: IOULx3
+.. section: Library
+
+Remove an unneeded import of abc.ABCMeta from 'inspect'.
+
+..
+
+.. bpo: 0
+.. date: 7093
+.. nonce: ui1bpi
+.. section: Library
+
+Remove unneeded imports of 'sys' and 'warnings' from 'io'.
+
+..
+
+.. bpo: 0
+.. date: 7092
+.. nonce: 5UlHtd
+.. section: Library
+
+Remove unneeded imports of 'warnings' from shelve, filecmp, and
+dummy_thread.
+
+..
+
+.. bpo: 3575
+.. date: 7091
+.. nonce: f0B44V
+.. section: Library
+
+Incremental decoder's decode function now takes bytearray by using 's*'
+instead of 't#'.
+
+..
+
+.. bpo: 2222
+.. date: 7090
+.. nonce: 76LS-7
+.. section: Library
+
+Fixed reference leak when occurred os.rename() fails unicode conversion on
+2nd parameter. (windows only)
+
+..
+
+.. bpo: 2464
+.. date: 7089
+.. nonce: Hm7gBN
+.. section: Library
+
+urllib2 now supports a malformation in the URL received in a redirect.
+
+..
+
+.. bpo: 0
+.. date: 7088
+.. nonce: 1-8Grp
+.. section: Library
+
+Silence the DeprecationWarning raised when importing mimetools in
+BaseHTTPServer, cgi (and rfc822), httplib.
+
+..
+
+.. bpo: 2776
+.. date: 7087
+.. nonce: pcfDP0
+.. section: Library
+
+fixed small issue when handling a URL with double slash after a 302 response
+in the case of not going through a proxy.
+
+..
+
+.. bpo: 2676
+.. date: 7086
+.. nonce: muz1Bh
+.. section: Library
+
+in the email package, content-type parsing was hanging on pathological input
+because of quadratic or exponential behaviour of a regular expression.
+
+..
+
+.. bpo: 3476
+.. date: 7085
+.. nonce: Gdp5Hg
+.. section: Library
+
+binary buffered reading through the new "io" library is now thread-safe.
+
+..
+
+.. bpo: 0
+.. date: 7084
+.. nonce: 4jao1V
+.. section: Library
+
+Silence the DeprecationWarning of rfc822 when it is imported by mimetools
+since mimetools itself is deprecated. Because modules are cached, all
+subsequent imports of rfc822 will not raise a visible DeprecationWarning.
+
+..
+
+.. bpo: 3134
+.. date: 7083
+.. nonce: sGPHeo
+.. section: Library
+
+shutil referenced undefined WindowsError symbol.
+
+..
+
+.. bpo: 1342811
+.. date: 7082
+.. nonce: Mf5TLp
+.. section: Library
+
+Fix leak in Tkinter.Menu.delete. Commands associated to menu entries were
+not deleted.
+
+..
+
+.. bpo: 0
+.. date: 7081
+.. nonce: XIC5LX
+.. section: Library
+
+Copied the implementation of reduce() to _functools.reduce() to have a
+version that did not raise a DeprecationWarning under -3.
+
+..
+
+.. bpo: 3205
+.. date: 7080
+.. nonce: RcrD2G
+.. section: Library
+
+When iterating over a BZ2File fails allocating memory, raise a MemoryError
+rather than silently stop the iteration.
+
+..
+
+.. bpo: 3487
+.. date: 7079
+.. nonce: LoL0Xp
+.. section: Library
+
+sre "bytecode" validator.  Passing invalid "re-bytecode" to _sre.compile()
+will now be rejected.  This should not affect anybody since the re.compile()
+function never generates invalid re-bytecode.
+
+..
+
+.. bpo: 3436
+.. date: 7078
+.. nonce: H10Gz5
+.. section: Library
+
+Make csv.DictReader's fieldnames attribute a property so that upon first
+access it can be automatically initialized from the csv file if it wasn't
+initialized during instantiation.
+
+..
+
+.. bpo: 2338
+.. date: 7077
+.. nonce: jB97v8
+.. section: Library
+
+Create imp.reload() to help with transitioning to Python 3.0 as the reload()
+built-in has been removed.
+
+..
+
+.. bpo: 0
+.. date: 7076
+.. nonce: YAmZW-
+.. section: Library
+
+Changed code in the following modules/packages to remove warnings raised
+while running under the ``-3`` flag: aifc, asynchat, asyncore, bdb, bsddb,
+ConfigParser, cookielib, csv, difflib, distutils, DocXMLRPCServer, email,
+filecmp, fileinput, inspect, logging, modulefinder, pdb, pickle, profile,
+pstats, pydoc, re, rlcompleter, SimpleXMLRPCServer, shelve, socket,
+subprocess, sqlite3, tarfile, Tkinter, test.test_support, textwrap,
+threading, tokenize, traceback, urlparse, wsgiref, xml, xmlrpclib.
+
+..
+
+.. bpo: 3039
+.. date: 7075
+.. nonce: 6106lp
+.. section: Library
+
+Fix tarfile.TarFileCompat.writestr() which always raised an AttributeError.
+
+..
+
+.. bpo: 2523
+.. date: 7074
+.. nonce: F9osM5
+.. section: Library
+
+Fix quadratic behaviour when read()ing a binary file without asking for a
+specific length. This problem only affected files opened using the new "io"
+module, not the built-in open() function.
+
+..
+
+.. bpo: 3449
+.. date: 7073
+.. nonce: HIJRJS
+.. section: Library
+
+Update decimal module to use most recent specification (v. 1.68) and tests
+(v. 2.58) from IBM.
+
+..
+
+.. bpo: 3437
+.. date: 7072
+.. nonce: mFS0ML
+.. section: Library
+
+Bug fix in robotparser parsing of Allow: lines.
+
+..
+
+.. bpo: 1592
+.. date: 7071
+.. nonce: zq1SOI
+.. section: Library
+
+Improve error reporting when operations are attempted on a closed shelf.
+
+..
+
+.. bpo: 0
+.. date: 7070
+.. nonce: q6AI_C
+.. section: Library
+
+Deprecate the "ast" parser function aliases.
+
+..
+
+.. bpo: 3120
+.. date: 7069
+.. nonce: x-kAFj
+.. section: Library
+
+On 64-bit Windows the subprocess module was truncating handles.
+
+..
+
+.. bpo: 3303
+.. date: 7068
+.. nonce: MGj8zT
+.. section: Library
+
+Fix a crash in locale.strcoll() when calling it with invalid arguments.
+
+..
+
+.. bpo: 3302
+.. date: 7067
+.. nonce: qnZ5Ic
+.. section: Library
+
+Fix several crashes when calling locale's gettext functions with None
+arguments.
+
+..
+
+.. bpo: 3389
+.. date: 7066
+.. nonce: Dhf3EA
+.. section: Library
+
+Allow resolving dotted names for handlers in logging configuration files.
+
+..
+
+.. bpo: 0
+.. date: 7065
+.. nonce: wtYP5i
+.. section: Library
+
+Deprecate the sunaudio module for removal in Python 3.0.
+
+..
+
+.. bpo: 3394
+.. date: 7064
+.. nonce: PDdapW
+.. section: Library
+
+zipfile.writestr sets external attributes when passed a file name rather
+than a ZipInfo instance, so files are extracted with mode 0600 rather than
+000 under Unix.
+
+..
+
+.. bpo: 1857
+.. date: 7063
+.. nonce: VLu5_h
+.. section: Library
+
+subprocess.Popen.poll gained an additional _deadstate keyword argument in
+python 2.5, this broke code that subclassed Popen to include its own poll
+method.  Fixed my moving _deadstate to an _internal_poll method.
+
+..
+
+.. bpo: 0
+.. date: 7062
+.. nonce: y_hE4z
+.. section: Build
+
+Generate the PatternGrammar pickle during "make install".
+
+..
+
+.. bpo: 2235
+.. date: 7061
+.. nonce: BMunQV
+.. section: Documentation
+
+the C API function PyObject_HashNotImplemented and its interaction with the
+tp_hash slot (added in 2.6b2) are now documented
+
+..
+
+.. bpo: 643841
+.. date: 7060
+.. nonce: Dc77Ec
+.. section: Documentation
+
+The language reference now provides more detailed coverage of the lookup
+process for special methods. The disclaimers regarding lack of coverage of
+new-style classes have also been removed, since the coverage is now fairly
+reasonable.
diff --git a/Misc/NEWS.d/2.6rc1.rst b/Misc/NEWS.d/2.6rc1.rst
new file mode 100644
index 0000000..8555980
--- /dev/null
+++ b/Misc/NEWS.d/2.6rc1.rst
@@ -0,0 +1,517 @@
+.. bpo: 3642
+.. date: 7164
+.. nonce: TraQw9
+.. release date: 12-Sep-2008
+.. section: Core and Builtins
+
+Suppress warning in obmalloc when size_t is larger than uint.
+
+..
+
+.. bpo: 3743
+.. date: 7163
+.. nonce: _AUYYI
+.. section: Core and Builtins
+
+In a few places, PY_FORMAT_SIZE_T was incorrectly used with
+PyString_FromFormat or PyErr_Format to display size_t values. The macro
+PY_FORMAT_SIZE_T is designed to select the correct format for the OS
+``printf`` function, whereas PyString_FromFormat has an independent
+implementation and uses "%zd" on all platforms for size_t values. This makes
+a difference on win64, where ``printf`` needs "%Id" to display 64bit values.
+
+..
+
+.. bpo: 3634
+.. date: 7162
+.. nonce: q1zzTV
+.. section: Core and Builtins
+
+_weakref.ref(Exception).__init__() gave invalid return value on error.
+
+..
+
+.. bpo: 3777
+.. date: 7161
+.. nonce: NkvE9K
+.. section: Core and Builtins
+
+long() applied to a float object now always return a long object; previously
+an int would be returned for small values. the __long__ method is allowed to
+return either an int or a long, but the behaviour of float objects should
+not change to respect backward compatibility.
+
+..
+
+.. bpo: 3751
+.. date: 7160
+.. nonce: afWsF3
+.. section: Core and Builtins
+
+str.rpartition would perform a left-partition when called with a unicode
+argument.
+
+..
+
+.. bpo: 3683
+.. date: 7159
+.. nonce: CbyWTH
+.. section: Core and Builtins
+
+Fix compilation when --without-threads is given.
+
+..
+
+.. bpo: 3668
+.. date: 7158
+.. nonce: y5pFso
+.. section: Core and Builtins
+
+Fix a memory leak with the "s*" argument parser in PyArg_ParseTuple and
+friends, which occurred when the argument for "s*" was correctly parsed but
+parsing of subsequent arguments failed.
+
+..
+
+.. bpo: 2534
+.. date: 7157
+.. nonce: ZzJgOR
+.. section: Core and Builtins
+
+speed up isinstance() and issubclass() by 50-70%, so as to match Python 2.5
+speed despite the __instancecheck__ / __subclasscheck__ mechanism. In the
+process, fix a bug where isinstance() and issubclass(), when given a tuple
+of classes as second argument, were looking up __instancecheck__ /
+__subclasscheck__ on the tuple rather than on each type object.
+
+..
+
+.. bpo: 0
+.. date: 7156
+.. nonce: IOhEYG
+.. section: Core and Builtins
+
+Fix crashes on memory allocation failure found with failmalloc.
+
+..
+
+.. bpo: 0
+.. date: 7155
+.. nonce: 7fUtnU
+.. section: Core and Builtins
+
+Fix memory leaks found with valgrind and update suppressions file.
+
+..
+
+.. bpo: 0
+.. date: 7154
+.. nonce: C2iKX_
+.. section: Core and Builtins
+
+Fix compiler warnings in opt mode which would lead to invalid memory reads.
+
+..
+
+.. bpo: 0
+.. date: 7153
+.. nonce: F8qIAG
+.. section: Core and Builtins
+
+Fix problem using wrong name in decimal module reported by pychecker.
+
+..
+
+.. bpo: 0
+.. date: 7152
+.. nonce: 9G7-79
+.. section: Core and Builtins
+
+Silenced another compiler warning about a used but not defined function
+'stringlib_contains_obj'.
+
+..
+
+.. bpo: 0
+.. date: 7151
+.. nonce: cL5FNH
+.. section: Core and Builtins
+
+Added warnings on the use of ``__getslice__``, ``__setslice__``, or
+``__delslice__``.
+
+..
+
+.. bpo: 3678
+.. date: 7150
+.. nonce: tSSebH
+.. section: Core and Builtins
+
+Correctly pass LDFLAGS and LDLAST to the linker on shared library targets in
+the Makefile.
+
+..
+
+.. bpo: 1204
+.. date: 7149
+.. nonce: 9IuIp4
+.. section: Core and Builtins
+
+The configure script now tests for additional libraries that may be required
+when linking against readline.  This fixes issues with x86_64 builds on some
+platforms (a few Linux flavors and OpenBSD).
+
+..
+
+.. bpo: 0
+.. date: 7148
+.. nonce: Amo-aR
+.. section: C API
+
+Aliased PyObject_Bytes to PyObject_Str.
+
+..
+
+.. bpo: 3640
+.. date: 7147
+.. nonce: wZzbae
+.. section: Library
+
+Pickling a list or a dict uses less local variables, to reduce stack usage
+in the case of deeply nested objects.
+
+..
+
+.. bpo: 3629
+.. date: 7146
+.. nonce: 2q6K2c
+.. section: Library
+
+Fix sre "bytecode" validator for an end case.
+
+..
+
+.. bpo: 3811
+.. date: 7145
+.. nonce: 1qgQ9c
+.. section: Library
+
+The Unicode database was updated to 5.1.
+
+..
+
+.. bpo: 3781
+.. date: 7144
+.. nonce: HYW5OU
+.. section: Library
+
+Further warnings.catch_warnings() cleanup to prevent silent misbehaviour
+when a single instance is nested in multiple with statements, or when the
+methods are invoked in the wrong order.
+
+..
+
+.. bpo: 3809
+.. date: 7143
+.. nonce: 2A-aqP
+.. section: Library
+
+Fixed spurious 'test.blah' file left behind by test_logging.
+
+..
+
+.. bpo: 3781
+.. date: 7142
+.. nonce: jpkn0I
+.. section: Library
+
+Clean up the API for warnings.catch_warnings() by having it return a list or
+None rather than a custom object.
+
+..
+
+.. bpo: 1638033
+.. date: 7141
+.. nonce: kT2UVI
+.. section: Library
+
+Cookie.Morsel gained the httponly attribute.
+
+..
+
+.. bpo: 3535
+.. date: 7140
+.. nonce: dxRVxE
+.. section: Library
+
+zipfile couldn't read some zip files larger than 2GB.
+
+..
+
+.. bpo: 3776
+.. date: 7139
+.. nonce: Ct7r55
+.. section: Library
+
+Deprecate the bsddb package for removal in 3.0.
+
+..
+
+.. bpo: 3762
+.. date: 7138
+.. nonce: R3t7Yb
+.. section: Library
+
+platform.architecture() fails if python is lanched via its symbolic link.
+
+..
+
+.. bpo: 3772
+.. date: 7137
+.. nonce: 9RUdoE
+.. section: Library
+
+Fixed regression problem in StreamHandler.emit().
+
+..
+
+.. bpo: 600362
+.. date: 7136
+.. nonce: bb-Gpk
+.. section: Library
+
+Relocated parse_qs() and parse_qsl(), from the cgi module to the urlparse
+one.  Added a PendingDeprecationWarning in the old module, it will be
+deprecated in the future.
+
+..
+
+.. bpo: 2562
+.. date: 7135
+.. nonce: gvBsX4
+.. section: Library
+
+Fix distutils PKG-INFO writing logic to allow having non-ascii characters
+and Unicode in setup.py meta-data.
+
+..
+
+.. bpo: 3726
+.. date: 7134
+.. nonce: oNy3vR
+.. section: Library
+
+Allow spaces in separators in logging configuration files.
+
+..
+
+.. bpo: 3719
+.. date: 7133
+.. nonce: vt_7GX
+.. section: Library
+
+platform.architecture() fails if there are spaces in the path to the Python
+binary.
+
+..
+
+.. bpo: 3602
+.. date: 7132
+.. nonce: SFNmF7
+.. section: Library
+
+Moved test.test_support.catch_warning() to warnings.catch_warnings() along
+with some API cleanup. Expanding the tests for catch_warnings() also led to
+an improvement in the raising of a DeprecationWarning related to
+warnings.warn_explicit().
+
+..
+
+.. bpo: 0
+.. date: 7131
+.. nonce: Fxi-Xv
+.. section: Library
+
+The deprecation warnings for the old camelCase threading API were removed.
+
+..
+
+.. bpo: 0
+.. date: 7130
+.. nonce: _Wmj88
+.. section: Library
+
+logging: fixed lack of use of encoding attribute specified on a stream.
+
+..
+
+.. bpo: 0
+.. date: 7129
+.. nonce: yON-CX
+.. section: Library
+
+Silenced a trivial compiler warning in the sqlite module.
+
+..
+
+.. bpo: 0
+.. date: 7128
+.. nonce: UdFFop
+.. section: Library
+
+Fixed two format strings in the _collections module.
+
+..
+
+.. bpo: 3703
+.. date: 7127
+.. nonce: JVWmi4
+.. section: Library
+
+_fileio.FileIO gave unhelpful error message when trying to open a directory.
+
+..
+
+.. bpo: 3708
+.. date: 7126
+.. nonce: dbhr5L
+.. section: Library
+
+os.urandom no longer goes into an infinite loop when passed a non-integer
+floating point number.
+
+..
+
+.. bpo: 3110
+.. date: 7125
+.. nonce: TXNjN7
+.. section: Library
+
+multiprocessing fails to compiel on solaris 10 due to missing SEM_VALUE_MAX.
+
+..
+
+.. bpo: 4301
+.. date: 7124
+.. nonce: To_Er1
+.. section: Library
+
+Patch the logging module to add processName support, remove
+_check_logger_class from multiprocessing.
+
+..
+
+.. bpo: 2975
+.. date: 7123
+.. nonce: 3nTVpN
+.. section: Library
+
+When compiling several extension modules with Visual Studio 2008 from the
+same python interpreter, some environment variables would grow without
+limit.
+
+..
+
+.. bpo: 3643
+.. date: 7122
+.. nonce: r2JHSh
+.. section: Library
+
+Added a few more checks to _testcapi to prevent segfaults by exploitation of
+poor argument checking.
+
+..
+
+.. bpo: 0
+.. date: 7121
+.. nonce: WeFjzv
+.. section: Library
+
+sqlite3: Changed docstring of iterdump() to mark method as "Non-standard".
+
+..
+
+.. bpo: 3103
+.. date: 7120
+.. nonce: WO-2NA
+.. section: Library
+
+Reduced globals symbols used by sqlite3 module and made sure all remaining
+ones have "pysqlite_" prefix.
+
+..
+
+.. bpo: 3846
+.. date: 7119
+.. nonce: IF6rMt
+.. section: Library
+
+Release the GIL during sqlite3_prepare calls. This improves concurrent
+access to the same SQLite database from multiple threads/processes.
+
+..
+
+.. bpo: 3781
+.. date: 7118
+.. nonce: c8hFsy
+.. section: Tests
+
+Add test.test_support.check_warnings() as a convenience wrapper for
+warnings.catch_warnings() that makes it easier to check that expected
+warning messages are being reported.
+
+..
+
+.. bpo: 3796
+.. date: 7117
+.. nonce: 04E6Gg
+.. section: Tests
+
+Some tests functions were not enabled in test_float.
+
+..
+
+.. bpo: 3768
+.. date: 7116
+.. nonce: wK7GYq
+.. section: Tests
+
+Move test_py3kwarn over to the new API for catch_warnings().
+
+..
+
+.. bpo: 3833
+.. date: 7115
+.. nonce: 8gZDgB
+.. section: Build
+
+Use a different upgrade code for Win64 installers.
+
+..
+
+.. bpo: 2271
+.. date: 7114
+.. nonce: 8MXC-o
+.. section: Build
+
+Set SecureCustomProperties so that installation will properly use the
+TARGETDIR even for unprivileged users.
+
+..
+
+.. bpo: 0
+.. date: 7113
+.. nonce: 4XBUzg
+.. section: Build
+
+Allow passing the MSI file name to merge.py.
+
+..
+
+.. bpo: 3758
+.. date: 7112
+.. nonce: xZ4Rlj
+.. section: Build
+
+Rename the 'check' target to 'patchcheck' so as to not clash with GNU build
+target guidelines.
diff --git a/Misc/NEWS.d/2.6rc2.rst b/Misc/NEWS.d/2.6rc2.rst
new file mode 100644
index 0000000..37d435d
--- /dev/null
+++ b/Misc/NEWS.d/2.6rc2.rst
@@ -0,0 +1,39 @@
+.. bpo: 0
+.. date: 7168
+.. nonce: 0ihWh2
+.. release date: 17-Sep-2008
+.. section: Library
+
+Security Issue #2: imageop did not validate arguments correctly and could
+segfault as a result.
+
+..
+
+.. bpo: 3886
+.. date: 7167
+.. nonce: l6kzFl
+.. section: Library
+
+Possible integer overflows in the _hashopenssl module were closed.
+
+..
+
+.. bpo: 3850
+.. date: 7166
+.. nonce: AJBbYw
+.. section: Tools/Demos
+
+recursion tests in Tools/scripts/find_recursion_limit.py can raise
+AttributeError instead of RuntimeError, depending in which C API call
+exactly the recursion limit is exceeded. Consequently, both exception types
+are caught and silenced.
+
+..
+
+.. bpo: 3617
+.. date: 7165
+.. nonce: aR1Dim
+.. section: Build
+
+Include a licensing statement regarding the Microsoft C runtime in the
+Windows installer.
diff --git a/Misc/NEWS.d/2.7.1.rst b/Misc/NEWS.d/2.7.1.rst
new file mode 100644
index 0000000..00072c1
--- /dev/null
+++ b/Misc/NEWS.d/2.7.1.rst
@@ -0,0 +1,187 @@
+.. bpo: 2236
+.. date: 8293
+.. nonce: 1Mj4VJ
+.. release date: 2010-11-27
+.. section: Library
+
+distutils' mkpath ignored the mode parameter.
+
+..
+
+.. bpo: 0
+.. date: 8292
+.. nonce: NFeWRc
+.. section: Library
+
+Fix typo in one sdist option (medata-check).
+
+..
+
+.. bpo: 10323
+.. date: 8291
+.. nonce: rFKI3X
+.. section: Library
+
+itertools.islice() now consumes the minimum number of inputs before
+stopping.  Formerly, the final state of the underlying iterator was
+undefined.
+
+..
+
+.. bpo: 10565
+.. date: 8290
+.. nonce: g3L9da
+.. section: Library
+
+The collections.Iterator ABC now checks for both ``__iter__`` and ``next``.
+
+..
+
+.. bpo: 10092
+.. date: 8289
+.. nonce: -B7ynY
+.. section: Library
+
+Properly reset locale in calendar.Locale*Calendar classes.
+
+..
+
+.. bpo: 10459
+.. date: 8288
+.. nonce: G0RFoD
+.. section: Library
+
+Update CJK character names to Unicode 5.2.
+
+..
+
+.. bpo: 6098
+.. date: 8287
+.. nonce: CKisab
+.. section: Library
+
+Don't claim DOM level 3 conformance in minidom.
+
+..
+
+.. bpo: 10561
+.. date: 8286
+.. nonce: gxs6bQ
+.. section: Library
+
+In pdb, clear the breakpoints by the breakpoint number.
+
+..
+
+.. bpo: 5762
+.. date: 8285
+.. nonce: ADvGzb
+.. section: Library
+
+Fix AttributeError raised by ``xml.dom.minidom`` when an empty XML namespace
+attribute is encountered.
+
+..
+
+.. bpo: 1710703
+.. date: 8284
+.. nonce: NAAh-d
+.. section: Library
+
+Write structures for an empty ZIP archive when a ZipFile is created in modes
+'a' or 'w' and then closed without adding any files. Raise BadZipfile
+(rather than IOError) when opening small non-ZIP files.
+
+..
+
+.. bpo: 4493
+.. date: 8283
+.. nonce: idMjMG
+.. section: Library
+
+urllib2 adds '/' in front of path components which does not start with '/.
+Common behavior exhibited by browsers and other clients.
+
+..
+
+.. bpo: 10407
+.. date: 8282
+.. nonce: f8LrF_
+.. section: Library
+
+Fix one NameError in distutils.
+
+..
+
+.. bpo: 10198
+.. date: 8281
+.. nonce: 7ruhdY
+.. section: Library
+
+fix duplicate header written to wave files when writeframes() is called
+without data.
+
+..
+
+.. bpo: 10467
+.. date: 8280
+.. nonce: uNWGiY
+.. section: Library
+
+Fix BytesIO.readinto() after seeking into a position after the end of the
+file.
+
+..
+
+.. bpo: 5111
+.. date: 8279
+.. nonce: XegYFR
+.. section: Library
+
+IPv6 Host in the Header is wrapped inside [ ]. Patch by Chandru.
+
+..
+
+.. bpo: 6378
+.. date: 8278
+.. nonce: ovcYOt
+.. section: IDLE
+
+idle.bat now runs with the appropriate Python version rather than the system
+default. Patch by Sridhar Ratnakumar.
+
+..
+
+.. bpo: 0
+.. date: 8277
+.. nonce: 64ssfS
+.. section: Build
+
+Backport r83399 to allow test_distutils to pass on installed versions.
+
+..
+
+.. bpo: 1303434
+.. date: 8276
+.. nonce: AVO6EG
+.. section: Build
+
+Generate ZIP file containing all PDBs.
+
+..
+
+.. bpo: 9424
+.. date: 8275
+.. nonce: BO5Jfa
+.. section: Tests
+
+Replace deprecated assert* methods in the Python test suite.
+
+..
+
+.. bpo: 10299
+.. date: 8274
+.. nonce: ERtbPa
+.. section: Documentation
+
+List the built-in functions in a table in functions.rst.
diff --git a/Misc/NEWS.d/2.7.10.rst b/Misc/NEWS.d/2.7.10.rst
new file mode 100644
index 0000000..45e8232
--- /dev/null
+++ b/Misc/NEWS.d/2.7.10.rst
@@ -0,0 +1,7 @@
+.. bpo: 22931
+.. date: 9589
+.. nonce: 4CuWYD
+.. release date: 2015-05-23
+.. section: Library
+
+Allow '[' and ']' in cookie values.
diff --git a/Misc/NEWS.d/2.7.10rc1.rst b/Misc/NEWS.d/2.7.10rc1.rst
new file mode 100644
index 0000000..cad34e3
--- /dev/null
+++ b/Misc/NEWS.d/2.7.10rc1.rst
@@ -0,0 +1,906 @@
+.. bpo: 23971
+.. date: 9588
+.. nonce: fQZtJr
+.. release date: 2015-05-10
+.. section: Core and Builtins
+
+Fix underestimated presizing in dict.fromkeys().
+
+..
+
+.. bpo: 23757
+.. date: 9587
+.. nonce: Q9kwY_
+.. section: Core and Builtins
+
+PySequence_Tuple() incorrectly called the concrete list API when the data
+was a list subclass.
+
+..
+
+.. bpo: 23629
+.. date: 9586
+.. nonce: r9Mt2C
+.. section: Core and Builtins
+
+Fix the default __sizeof__ implementation for variable-sized objects.
+
+..
+
+.. bpo: 23055
+.. date: 9585
+.. nonce: rRkRIJ
+.. section: Core and Builtins
+
+Fixed a buffer overflow in PyUnicode_FromFormatV.  Analysis and fix by Guido
+Vranken.
+
+..
+
+.. bpo: 23048
+.. date: 9584
+.. nonce: X5BUd3
+.. section: Core and Builtins
+
+Fix jumping out of an infinite while loop in the pdb.
+
+..
+
+.. bpo: 0
+.. date: 9583
+.. nonce: fgX8Qe
+.. section: Library
+
+The keywords attribute of functools.partial is now always a dictionary.
+
+..
+
+.. bpo: 20274
+.. date: 9582
+.. nonce: uVHogg
+.. section: Library
+
+When calling a _sqlite.Connection, it now complains if passed any keyword
+arguments.  Previously it silently ignored them.
+
+..
+
+.. bpo: 20274
+.. date: 9581
+.. nonce: hBst4M
+.. section: Library
+
+Remove ignored and erroneous "kwargs" parameters from three METH_VARARGS
+methods on _sqlite.Connection.
+
+..
+
+.. bpo: 24134
+.. date: 9580
+.. nonce: TT0kHE
+.. section: Library
+
+assertRaises() and assertRaisesRegexp() checks are not longer successful if
+the callable is None.
+
+..
+
+.. bpo: 23008
+.. date: 9579
+.. nonce: OZFCd-
+.. section: Library
+
+Fixed resolving attributes with boolean value is False in pydoc.
+
+..
+
+.. bpo: 24099
+.. date: 9578
+.. nonce: 2uAHX7
+.. section: Library
+
+Fix use-after-free bug in heapq's siftup and siftdown functions. (See also:
+bpo-24100, bpo-24101)
+
+..
+
+.. bpo: 0
+.. date: 9577
+.. nonce: OuI94b
+.. section: Library
+
+Backport collections.deque fixes from Python 3.5.  Prevents reentrant
+badness during deletion by deferring the decref until the container has been
+restored to a consistent state.
+
+..
+
+.. bpo: 23842
+.. date: 9576
+.. nonce: 8UD2q_
+.. section: Library
+
+os.major(), os.minor() and os.makedev() now support ints again.
+
+..
+
+.. bpo: 23811
+.. date: 9575
+.. nonce: B6tzf9
+.. section: Library
+
+Add missing newline to the PyCompileError error message. Patch by Alex
+Shkop.
+
+..
+
+.. bpo: 17898
+.. date: 9574
+.. nonce: EsbCnX
+.. section: Library
+
+Fix exception in gettext.py when parsing certain plural forms.
+
+..
+
+.. bpo: 23865
+.. date: 9573
+.. nonce: PtSLgU
+.. section: Library
+
+close() methods in multiple modules now are idempotent and more robust at
+shutdown. If they need to release multiple resources, all are released even
+if errors occur.
+
+..
+
+.. bpo: 23881
+.. date: 9572
+.. nonce: CYmvWv
+.. section: Library
+
+urllib.ftpwrapper constructor now closes the socket if the FTP connection
+failed.
+
+..
+
+.. bpo: 15133
+.. date: 9571
+.. nonce: iHpkhw
+.. section: Library
+
+_tkinter.tkapp.getboolean() now supports long and Tcl_Obj and always returns
+bool.  tkinter.BooleanVar now validates input values (accepted bool, int,
+long, str, unicode, and Tcl_Obj).  tkinter.BooleanVar.get() now always
+returns bool.
+
+..
+
+.. bpo: 23338
+.. date: 9570
+.. nonce: ZYMGN1
+.. section: Library
+
+Fixed formatting ctypes error messages on Cygwin. Patch by Makoto Kato.
+
+..
+
+.. bpo: 16840
+.. date: 9569
+.. nonce: kKIhPm
+.. section: Library
+
+Tkinter now supports 64-bit integers added in Tcl 8.4 and arbitrary
+precision integers added in Tcl 8.5.
+
+..
+
+.. bpo: 23834
+.. date: 9568
+.. nonce: 1w5YIz
+.. section: Library
+
+Fix socket.sendto(), use the C long type to store the result of sendto()
+instead of the C int type.
+
+..
+
+.. bpo: 21526
+.. date: 9567
+.. nonce: QQEXrR
+.. section: Library
+
+Tkinter now supports new boolean type in Tcl 8.5.
+
+..
+
+.. bpo: 23838
+.. date: 9566
+.. nonce: IX6FPX
+.. section: Library
+
+linecache now clears the cache and returns an empty result on MemoryError.
+
+..
+
+.. bpo: 23742
+.. date: 9565
+.. nonce: _EkAIa
+.. section: Library
+
+ntpath.expandvars() no longer loses unbalanced single quotes.
+
+..
+
+.. bpo: 21802
+.. date: 9564
+.. nonce: ygSM2A
+.. section: Library
+
+The reader in BufferedRWPair now is closed even when closing writer failed
+in BufferedRWPair.close().
+
+..
+
+.. bpo: 23671
+.. date: 9563
+.. nonce: zWPm-a
+.. section: Library
+
+string.Template now allows specifying the "self" parameter as a keyword
+argument.  string.Formatter now allows specifying the "self" and the
+"format_string" parameters as keyword arguments.
+
+..
+
+.. bpo: 21560
+.. date: 9562
+.. nonce: lqfYv8
+.. section: Library
+
+An attempt to write a data of wrong type no longer cause GzipFile
+corruption.  Original patch by Wolfgang Maier.
+
+..
+
+.. bpo: 23647
+.. date: 9561
+.. nonce: pX2qrx
+.. section: Library
+
+Increase impalib's MAXLINE to accommodate modern mailbox sizes.
+
+..
+
+.. bpo: 23539
+.. date: 9560
+.. nonce: 5BVUim
+.. section: Library
+
+If body is None, http.client.HTTPConnection.request now sets Content-Length
+to 0 for PUT, POST, and PATCH headers to avoid 411 errors from some web
+servers.
+
+..
+
+.. bpo: 23136
+.. date: 9559
+.. nonce: 1bnpnb
+.. section: Library
+
+_strptime now uniformly handles all days in week 0, including Dec 30 of
+previous year.  Based on patch by Jim Carroll.
+
+..
+
+.. bpo: 23138
+.. date: 9558
+.. nonce: 4vMoMZ
+.. section: Library
+
+Fixed parsing cookies with absent keys or values in cookiejar. Patch by
+Demian Brecht.
+
+..
+
+.. bpo: 23051
+.. date: 9557
+.. nonce: Vi5tCZ
+.. section: Library
+
+multiprocessing.Pool methods imap() and imap_unordered() now handle
+exceptions raised by an iterator.  Patch by Alon Diamant and Davin Potts.
+
+..
+
+.. bpo: 22928
+.. date: 9556
+.. nonce: 1bJJIG
+.. section: Library
+
+Disabled HTTP header injections in httplib. Original patch by Demian Brecht.
+
+..
+
+.. bpo: 23615
+.. date: 9555
+.. nonce: SRSoav
+.. section: Library
+
+Module tarfile is now can be reloaded with imp.reload().
+
+..
+
+.. bpo: 22853
+.. date: 9554
+.. nonce: LUBedC
+.. section: Library
+
+Fixed a deadlock when use multiprocessing.Queue at import time. Patch by
+Florian Finkernagel and Davin Potts.
+
+..
+
+.. bpo: 23476
+.. date: 9553
+.. nonce: 82QV9I
+.. section: Library
+
+In the ssl module, enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST flag on
+certificate stores when it is available.
+
+..
+
+.. bpo: 23576
+.. date: 9552
+.. nonce: 98F-PP
+.. section: Library
+
+Avoid stalling in SSL reads when EOF has been reached in the SSL layer but
+the underlying connection hasn't been closed.
+
+..
+
+.. bpo: 23504
+.. date: 9551
+.. nonce: o31h5I
+.. section: Library
+
+Added an __all__ to the types module.
+
+..
+
+.. bpo: 23458
+.. date: 9550
+.. nonce: QGBFRr
+.. section: Library
+
+On POSIX, the file descriptor kept open by os.urandom() is now set to non
+inheritable
+
+..
+
+.. bpo: 22113
+.. date: 9549
+.. nonce: L5Fo5c
+.. section: Library
+
+struct.pack_into() now supports new buffer protocol (in particular accepts
+writable memoryview).
+
+..
+
+.. bpo: 814253
+.. date: 9548
+.. nonce: AJWDsY
+.. section: Library
+
+Warnings now are raised when group references and conditional group
+references are used in lookbehind assertions in regular expressions. (See
+also: bpo-9179)
+
+..
+
+.. bpo: 23215
+.. date: 9547
+.. nonce: VHVSVX
+.. section: Library
+
+Multibyte codecs with custom error handlers that ignores errors consumed too
+much memory and raised SystemError or MemoryError. Original patch by Aleksi
+Torhamo.
+
+..
+
+.. bpo: 5700
+.. date: 9546
+.. nonce: iA5yzL
+.. section: Library
+
+io.FileIO() called flush() after closing the file. flush() was not called in
+close() if closefd=False.
+
+..
+
+.. bpo: 21548
+.. date: 9545
+.. nonce: Rr1l-c
+.. section: Library
+
+Fix pydoc.synopsis() and pydoc.apropos() on modules with empty docstrings.
+Initial patch by Yuyang Guo.
+
+..
+
+.. bpo: 22885
+.. date: 9544
+.. nonce: c3937m
+.. section: Library
+
+Fixed arbitrary code execution vulnerability in the dumbdbm module.
+Original patch by Claudiu Popa.
+
+..
+
+.. bpo: 23481
+.. date: 9543
+.. nonce: ZWwliG
+.. section: Library
+
+Remove RC4 from the SSL module's default cipher list.
+
+..
+
+.. bpo: 21849
+.. date: 9542
+.. nonce: XUnTp8
+.. section: Library
+
+Fixed xmlrpclib serialization of non-ASCII unicode strings in the
+multiprocessing module.
+
+..
+
+.. bpo: 21840
+.. date: 9541
+.. nonce: PrOwSC
+.. section: Library
+
+Fixed expanding unicode variables of form $var in posixpath.expandvars().
+Fixed all os.path implementations on unicode-disabled builds.
+
+..
+
+.. bpo: 23367
+.. date: 9540
+.. nonce: kHnFiz
+.. section: Library
+
+Fix possible overflows in the unicodedata module.
+
+..
+
+.. bpo: 23363
+.. date: 9539
+.. nonce: -koaol
+.. section: Library
+
+Fix possible overflow in itertools.permutations.
+
+..
+
+.. bpo: 23364
+.. date: 9538
+.. nonce: 3yBV-6
+.. section: Library
+
+Fix possible overflow in itertools.product.
+
+..
+
+.. bpo: 23365
+.. date: 9537
+.. nonce: h5jLQ9
+.. section: Library
+
+Fixed possible integer overflow in itertools.combinations_with_replacement.
+
+..
+
+.. bpo: 23366
+.. date: 9536
+.. nonce: tyAfm8
+.. section: Library
+
+Fixed possible integer overflow in itertools.combinations.
+
+..
+
+.. bpo: 23191
+.. date: 9535
+.. nonce: 55Cwcb
+.. section: Library
+
+fnmatch functions that use caching are now threadsafe.
+
+..
+
+.. bpo: 18518
+.. date: 9534
+.. nonce: JXgicC
+.. section: Library
+
+timeit now rejects statements which can't be compiled outside a function or
+a loop (e.g. "return" or "break").
+
+..
+
+.. bpo: 19996
+.. date: 9533
+.. nonce: FvMyH0
+.. section: Library
+
+Make :mod:`httplib` ignore headers with no name rather than assuming the
+body has started.
+
+..
+
+.. bpo: 20188
+.. date: 9532
+.. nonce: xocY-2
+.. section: Library
+
+Support Application-Layer Protocol Negotiation (ALPN) in the ssl module.
+
+..
+
+.. bpo: 23248
+.. date: 9531
+.. nonce: FjcyCP
+.. section: Library
+
+Update ssl error codes from latest OpenSSL git master.
+
+..
+
+.. bpo: 23098
+.. date: 9530
+.. nonce: 7VwF3K
+.. section: Library
+
+64-bit dev_t is now supported in the os module.
+
+..
+
+.. bpo: 23063
+.. date: 9529
+.. nonce: 9-UJRs
+.. section: Library
+
+In the disutils' check command, fix parsing of reST with code or code-block
+directives.
+
+..
+
+.. bpo: 21356
+.. date: 9528
+.. nonce: 8NY75J
+.. section: Library
+
+Make ssl.RAND_egd() optional to support LibreSSL. The availability of the
+function is checked during the compilation. Patch written by Bernard Spil.
+
+..
+
+.. bpo: 0
+.. date: 9527
+.. nonce: SZRSxn
+.. section: Library
+
+Backport the context argument to ftplib.FTP_TLS.
+
+..
+
+.. bpo: 23111
+.. date: 9526
+.. nonce: A6CAZK
+.. section: Library
+
+Maximize compatibility in protocol versions of ftplib.FTP_TLS.
+
+..
+
+.. bpo: 23112
+.. date: 9525
+.. nonce: dZGf82
+.. section: Library
+
+Fix SimpleHTTPServer to correctly carry the query string and fragment when
+it redirects to add a trailing slash.
+
+..
+
+.. bpo: 22585
+.. date: 9524
+.. nonce: F4BkNo
+.. section: Library
+
+On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(), instead of
+reading /dev/urandom, to get pseudo-random bytes.
+
+..
+
+.. bpo: 23093
+.. date: 9523
+.. nonce: cP7OqD
+.. section: Library
+
+In the io, module allow more operations to work on detached streams.
+
+..
+
+.. bpo: 23071
+.. date: 9522
+.. nonce: 3BSqF7
+.. section: Library
+
+Added missing names to codecs.__all__.  Patch by Martin Panter.
+
+..
+
+.. bpo: 23016
+.. date: 9521
+.. nonce: wctkY3
+.. section: Library
+
+A warning no longer produces an AttributeError when sys.stderr is None.
+
+..
+
+.. bpo: 21032
+.. date: 9520
+.. nonce: wxT_41
+.. section: Library
+
+Fixed socket leak if HTTPConnection.getresponse() fails. Original patch by
+Martin Panter.
+
+..
+
+.. bpo: 22609
+.. date: 9519
+.. nonce: mmLoeb
+.. section: Library
+
+Constructors and update methods of mapping classes in the collections module
+now accept the self keyword argument.
+
+..
+
+.. bpo: 23006
+.. date: 9518
+.. nonce: 6-u4Mv
+.. section: Documentation
+
+Improve the documentation and indexing of dict.__missing__. Add an entry in
+the language datamodel special methods section. Revise and index its
+discussion in the stdtypes mapping/dict section. Backport the code example
+from 3.4.
+
+..
+
+.. bpo: 21514
+.. date: 9517
+.. nonce: 1H16T6
+.. section: Documentation
+
+The documentation of the json module now refers to new JSON RFC 7159 instead
+of obsoleted RFC 4627.
+
+..
+
+.. bpo: 23330
+.. date: 9516
+.. nonce: LTlKDp
+.. section: Tools/Demos
+
+h2py now supports arbitrary filenames in #include.
+
+..
+
+.. bpo: 6639
+.. date: 9515
+.. nonce: rmjUmG
+.. section: Tools/Demos
+
+Module-level turtle functions no longer raise TclError after closing the
+window.
+
+..
+
+.. bpo: 22314
+.. date: 9514
+.. nonce: ws6xsH
+.. section: Tools/Demos
+
+pydoc now works when the LINES environment variable is set.
+
+..
+
+.. bpo: 18905
+.. date: 9513
+.. nonce: oKTvz5
+.. section: Tools/Demos
+
+"pydoc -p 0" now outputs actually used port.  Based on patch by Wieland
+Hoffmann.
+
+..
+
+.. bpo: 23345
+.. date: 9512
+.. nonce: HIGBKx
+.. section: Tools/Demos
+
+Prevent test_ssl failures with large OpenSSL patch level values (like
+0.9.8zc).
+
+..
+
+.. bpo: 23799
+.. date: 9511
+.. nonce: IZtmH_
+.. section: Tests
+
+Added test.test_support.start_threads() for running and cleaning up multiple
+threads.
+
+..
+
+.. bpo: 22390
+.. date: 9510
+.. nonce: UPVFnq
+.. section: Tests
+
+test.regrtest now emits a warning if temporary files or directories are left
+after running a test.
+
+..
+
+.. bpo: 23583
+.. date: 9509
+.. nonce: bY8AbM
+.. section: Tests
+
+Added tests for standard IO streams in IDLE.
+
+..
+
+.. bpo: 23392
+.. date: 9508
+.. nonce: Pe7_WK
+.. section: Tests
+
+Added tests for marshal C API that works with FILE*.
+
+..
+
+.. bpo: 18982
+.. date: 9507
+.. nonce: TynSM6
+.. section: Tests
+
+Add tests for CLI of the calendar module.
+
+..
+
+.. bpo: 19949
+.. date: 9506
+.. nonce: yw7T54
+.. section: Tests
+
+The test_xpickle test now tests compatibility with installed Python 2.7 and
+reports skipped tests.  Based on patch by Zachary Ware.
+
+..
+
+.. bpo: 11578
+.. date: 9505
+.. nonce: 1IaAXh
+.. section: Tests
+
+Backported test for the timeit module.
+
+..
+
+.. bpo: 22943
+.. date: 9504
+.. nonce: t0MW3A
+.. section: Tests
+
+bsddb tests are locale independend now.
+
+..
+
+.. bpo: 23583
+.. date: 9503
+.. nonce: ApIRL5
+.. section: IDLE
+
+Fixed writing unicode to standard output stream in IDLE.
+
+..
+
+.. bpo: 20577
+.. date: 9502
+.. nonce: Y71IMj
+.. section: IDLE
+
+Configuration of the max line length for the FormatParagraph extension has
+been moved from the General tab of the Idle preferences dialog to the
+FormatParagraph tab of the Config Extensions dialog. Patch by Tal Einat.
+
+..
+
+.. bpo: 16893
+.. date: 9501
+.. nonce: JfHAA4
+.. section: IDLE
+
+Update Idle doc chapter to match current Idle and add new information.
+
+..
+
+.. bpo: 23180
+.. date: 9500
+.. nonce: cE_89F
+.. section: IDLE
+
+Rename IDLE "Windows" menu item to "Window". Patch by Al Sweigart.
+
+..
+
+.. bpo: 15506
+.. date: 9499
+.. nonce: nh8KlR
+.. section: Build
+
+Use standard PKG_PROG_PKG_CONFIG autoconf macro in the configure script.
+
+..
+
+.. bpo: 23032
+.. date: 9498
+.. nonce: F8fiIl
+.. section: Build
+
+Fix installer build failures on OS X 10.4 Tiger by disabling assembly code
+in the OpenSSL build.
+
+..
+
+.. bpo: 23686
+.. date: 9497
+.. nonce: QZBsvh
+.. section: Build
+
+Update OS X 10.5 installer and Windows builds to use OpenSSL 1.0.2a.
+
+..
+
+.. bpo: 23998
+.. date: 9496
+.. nonce: z7mlLW
+.. section: C API
+
+PyImport_ReInitLock() now checks for lock allocation error
+
+..
+
+.. bpo: 22079
+.. date: 9495
+.. nonce: zhs2qM
+.. section: C API
+
+PyType_Ready() now checks that statically allocated type has no dynamically
+allocated bases.
diff --git a/Misc/NEWS.d/2.7.11.rst b/Misc/NEWS.d/2.7.11.rst
new file mode 100644
index 0000000..bb8fd15
--- /dev/null
+++ b/Misc/NEWS.d/2.7.11.rst
@@ -0,0 +1,8 @@
+.. bpo: 25624
+.. date: 9702
+.. nonce: ed-fM0
+.. release date: 2015-12-05
+.. section: Library
+
+ZipFile now always writes a ZIP_STORED header for directory entries.  Patch
+by Dingyuan Wang.
diff --git a/Misc/NEWS.d/2.7.11rc1.rst b/Misc/NEWS.d/2.7.11rc1.rst
new file mode 100644
index 0000000..f995ed0
--- /dev/null
+++ b/Misc/NEWS.d/2.7.11rc1.rst
@@ -0,0 +1,1127 @@
+.. bpo: 25678
+.. date: 9701
+.. nonce: aOCs4y
+.. release date: 2015-11-21
+.. section: Core and Builtins
+
+Avoid buffer overreads when int(), long(), float(), and compile() are passed
+buffer objects.  These objects are not necessarily terminated by a null
+byte, but the functions assumed they were.
+
+..
+
+.. bpo: 25388
+.. date: 9700
+.. nonce: Yl4HRL
+.. section: Core and Builtins
+
+Fixed tokenizer hang when processing undecodable source code with a null
+byte.
+
+..
+
+.. bpo: 22995
+.. date: 9699
+.. nonce: 90kpuP
+.. section: Core and Builtins
+
+Default implementation of __reduce__ and __reduce_ex__ now rejects builtin
+types with not defined __new__.
+
+..
+
+.. bpo: 7267
+.. date: 9698
+.. nonce: eje_k4
+.. section: Core and Builtins
+
+format(int, 'c') now raises OverflowError when the argument is not in
+range(0, 256).
+
+..
+
+.. bpo: 24806
+.. date: 9697
+.. nonce: Nb0znT
+.. section: Core and Builtins
+
+Prevent builtin types that are not allowed to be subclassed from being
+subclassed through multiple inheritance.
+
+..
+
+.. bpo: 24848
+.. date: 9696
+.. nonce: HlUSuy
+.. section: Core and Builtins
+
+Fixed a number of bugs in UTF-7 decoding of misformed data.
+
+..
+
+.. bpo: 25003
+.. date: 9695
+.. nonce: -bdxOl
+.. section: Core and Builtins
+
+os.urandom() doesn't use getentropy() on Solaris because getentropy() is
+blocking, whereas os.urandom() should not block. getentropy() is supported
+since Solaris 11.3.
+
+..
+
+.. bpo: 21167
+.. date: 9694
+.. nonce: uom-Dq
+.. section: Core and Builtins
+
+NAN operations are now handled correctly when python is compiled with ICC
+even if -fp-model strict is not specified.
+
+..
+
+.. bpo: 24467
+.. date: 9693
+.. nonce: BAJ80-
+.. section: Core and Builtins
+
+Fixed possible buffer over-read in bytearray. The bytearray object now
+always allocates place for trailing null byte and it's buffer now is always
+null-terminated.
+
+..
+
+.. bpo: 19543
+.. date: 9692
+.. nonce: OT7JMe
+.. section: Core and Builtins
+
+encode() and decode() methods and constructors of str, unicode and bytearray
+classes now emit deprecation warning for known non-text encodings when
+Python is ran with the -3 option.
+
+..
+
+.. bpo: 24115
+.. date: 9691
+.. nonce: y9e_MO
+.. section: Core and Builtins
+
+Update uses of PyObject_IsTrue(), PyObject_Not(), PyObject_IsInstance(),
+PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle
+errors correctly.
+
+..
+
+.. bpo: 4753
+.. date: 9690
+.. nonce: o7jpYf
+.. section: Core and Builtins
+
+On compilers where it is supported, use "computed gotos" for bytecode
+dispatch in the interpreter. This improves interpretation performance.
+
+..
+
+.. bpo: 22939
+.. date: 9689
+.. nonce: grBMzV
+.. section: Core and Builtins
+
+Fixed integer overflow in iterator object.  Original patch by Clement
+Rouault.
+
+..
+
+.. bpo: 24102
+.. date: 9688
+.. nonce: 9T6h3m
+.. section: Core and Builtins
+
+Fixed exception type checking in standard error handlers.
+
+..
+
+.. bpo: 10128
+.. date: 9687
+.. nonce: 0pRKCf
+.. section: Library
+
+backport issue #10845's mitigation of incompatibilities between the
+multiprocessing module and directory and zipfile execution. Multiprocessing
+on Windows will now automatically skip rerunning __main__ in spawned
+processes, rather than failing with AssertionError.
+
+..
+
+.. bpo: 25578
+.. date: 9686
+.. nonce: G6S-ft
+.. section: Library
+
+Fix (another) memory leak in SSLSocket.getpeercer().
+
+..
+
+.. bpo: 25590
+.. date: 9685
+.. nonce: aCt-yW
+.. section: Library
+
+In the Readline completer, only call getattr() once per attribute.
+
+..
+
+.. bpo: 25530
+.. date: 9684
+.. nonce: hDFkwu
+.. section: Library
+
+Disable the vulnerable SSLv3 protocol by default when creating
+ssl.SSLContext.
+
+..
+
+.. bpo: 25569
+.. date: 9683
+.. nonce: CfvQjK
+.. section: Library
+
+Fix memory leak in SSLSocket.getpeercert().
+
+..
+
+.. bpo: 7759
+.. date: 9682
+.. nonce: a72qAb
+.. section: Library
+
+Fixed the mhlib module on filesystems that doesn't support link counting for
+directories.
+
+..
+
+.. bpo: 892902
+.. date: 9681
+.. nonce: V_kMwt
+.. section: Library
+
+Fixed pickling recursive objects.
+
+..
+
+.. bpo: 18010
+.. date: 9680
+.. nonce: pHcjnp
+.. section: Library
+
+Fix the pydoc GUI's search function to handle exceptions from importing
+packages.
+
+..
+
+.. bpo: 25515
+.. date: 9679
+.. nonce: fQsyYG
+.. section: Library
+
+Always use os.urandom as a source of randomness in uuid.uuid4.
+
+..
+
+.. bpo: 21827
+.. date: 9678
+.. nonce: k2oreR
+.. section: Library
+
+Fixed textwrap.dedent() for the case when largest common whitespace is a
+substring of smallest leading whitespace. Based on patch by Robert Li.
+
+..
+
+.. bpo: 21709
+.. date: 9677
+.. nonce: hiATOK
+.. section: Library
+
+Fix the logging module to not depend upon __file__ being set properly to get
+the filename of its caller from the stack.  This allows it to work if run in
+a frozen or embedded environment where the module's .__file__ attribute does
+not match its code object's .co_filename.
+
+..
+
+.. bpo: 25319
+.. date: 9676
+.. nonce: iyuglv
+.. section: Library
+
+When threading.Event is reinitialized, the underlying condition should use a
+regular lock rather than a recursive lock.
+
+..
+
+.. bpo: 25232
+.. date: 9675
+.. nonce: KhKjCE
+.. section: Library
+
+Fix CGIRequestHandler to split the query from the URL at the first question
+mark (?) rather than the last. Patch from Xiang Zhang.
+
+..
+
+.. bpo: 24657
+.. date: 9674
+.. nonce: h2Ag7y
+.. section: Library
+
+Prevent CGIRequestHandler from collapsing slashes in the query part of the
+URL as if it were a path. Patch from Xiang Zhang.
+
+..
+
+.. bpo: 22958
+.. date: 9673
+.. nonce: 04wca1
+.. section: Library
+
+Constructor and update method of weakref.WeakValueDictionary now accept the
+self keyword argument.
+
+..
+
+.. bpo: 22609
+.. date: 9672
+.. nonce: aTCKbk
+.. section: Library
+
+Constructor and the update method of collections.UserDict now accept the
+self keyword argument.
+
+..
+
+.. bpo: 25203
+.. date: 9671
+.. nonce: IgDEbt
+.. section: Library
+
+Failed readline.set_completer_delims() no longer left the module in
+inconsistent state.
+
+..
+
+.. bpo: 19143
+.. date: 9670
+.. nonce: 76SBSO
+.. section: Library
+
+platform module now reads Windows version from kernel32.dll to avoid
+compatibility shims.
+
+..
+
+.. bpo: 25135
+.. date: 9669
+.. nonce: gVHNy-
+.. section: Library
+
+Make deque_clear() safer by emptying the deque before clearing. This helps
+avoid possible reentrancy issues.
+
+..
+
+.. bpo: 24684
+.. date: 9668
+.. nonce: 7ewUAL
+.. section: Library
+
+socket.socket.getaddrinfo() now calls PyUnicode_AsEncodedString() instead of
+calling the encode() method of the host, to handle correctly custom unicode
+string with an encode() method which doesn't return a byte string. The
+encoder of the IDNA codec is now called directly instead of calling the
+encode() method of the string.
+
+..
+
+.. bpo: 24982
+.. date: 9667
+.. nonce: sGMMAR
+.. section: Library
+
+shutil.make_archive() with the "zip" format now adds entries for directories
+(including empty directories) in ZIP file.
+
+..
+
+.. bpo: 17849
+.. date: 9666
+.. nonce: prwvGY
+.. section: Library
+
+Raise a sensible exception if an invalid response is received for a HTTP
+tunnel request, as seen with some servers that do not support tunnelling.
+Initial patch from Cory Benfield.
+
+..
+
+.. bpo: 16180
+.. date: 9665
+.. nonce: 6IUcNS
+.. section: Library
+
+Exit pdb if file has syntax error, instead of trapping user in an infinite
+loop.  Patch by Xavier de Gaye.
+
+..
+
+.. bpo: 22812
+.. date: 9664
+.. nonce: kLCF0G
+.. section: Library
+
+Fix unittest discovery examples. Patch from Pam McA'Nulty.
+
+..
+
+.. bpo: 24634
+.. date: 9663
+.. nonce: 7bnVgr
+.. section: Library
+
+Importing uuid should not try to load libc on Windows
+
+..
+
+.. bpo: 23652
+.. date: 9662
+.. nonce: DdZRSr
+.. section: Library
+
+Make it possible to compile the select module against the libc headers from
+the Linux Standard Base, which do not include some EPOLL macros.  Initial
+patch by Matt Frank.
+
+..
+
+.. bpo: 15138
+.. date: 9661
+.. nonce: PXj7mj
+.. section: Library
+
+Speed up base64.urlsafe_b64{en,de}code considerably.
+
+..
+
+.. bpo: 23319
+.. date: 9660
+.. nonce: FXyUH-
+.. section: Library
+
+Fix ctypes.BigEndianStructure, swap correctly bytes. Patch written by
+Matthieu Gautier.
+
+..
+
+.. bpo: 23254
+.. date: 9659
+.. nonce: zNiy1X
+.. section: Library
+
+Document how to close the TCPServer listening socket. Patch from Martin
+Panter.
+
+..
+
+.. bpo: 17527
+.. date: 9658
+.. nonce: ve9fyw
+.. section: Library
+
+Add PATCH to wsgiref.validator. Patch from Luca Sbardella.
+
+..
+
+.. bpo: 24613
+.. date: 9657
+.. nonce: QZrd_P
+.. section: Library
+
+Calling array.fromstring() with self is no longer allowed to prevent the
+use-after-free error.  Patch by John Leitch.
+
+..
+
+.. bpo: 24708
+.. date: 9656
+.. nonce: WIZWbu
+.. section: Library
+
+Fix possible integer overflow in strop.replace().
+
+..
+
+.. bpo: 24620
+.. date: 9655
+.. nonce: rrnxB-
+.. section: Library
+
+Random.setstate() now validates the value of state last element.
+
+..
+
+.. bpo: 13938
+.. date: 9654
+.. nonce: e5NSE1
+.. section: Library
+
+2to3 converts StringTypes to a tuple. Patch from Mark Hammond.
+
+..
+
+.. bpo: 24611
+.. date: 9653
+.. nonce: _KNs8d
+.. section: Library
+
+Fixed compiling the posix module on non-Windows platforms without mknod() or
+makedev() (e.g. on Unixware).
+
+..
+
+.. bpo: 18684
+.. date: 9652
+.. nonce: S2es0F
+.. section: Library
+
+Fixed reading out of the buffer in the re module.
+
+..
+
+.. bpo: 24259
+.. date: 9651
+.. nonce: vMAi1A
+.. section: Library
+
+tarfile now raises a ReadError if an archive is truncated inside a data
+segment.
+
+..
+
+.. bpo: 24514
+.. date: 9650
+.. nonce: _xRb2r
+.. section: Library
+
+tarfile now tolerates number fields consisting of only whitespace.
+
+..
+
+.. bpo: 20387
+.. date: 9649
+.. nonce: aAbWbQ
+.. section: Library
+
+Restore semantic round-trip correctness in tokenize/untokenize for tab-
+indented blocks.
+
+..
+
+.. bpo: 24456
+.. date: 9648
+.. nonce: swkJgS
+.. section: Library
+
+Fixed possible buffer over-read in adpcm2lin() and lin2adpcm() functions of
+the audioop module.  Fixed SystemError when the state is not a tuple.  Fixed
+possible memory leak.
+
+..
+
+.. bpo: 24481
+.. date: 9647
+.. nonce: EsJTQ7
+.. section: Library
+
+Fix possible memory corruption with large profiler info strings in hotshot.
+
+..
+
+.. bpo: 24489
+.. date: 9646
+.. nonce: GJnMcW
+.. section: Library
+
+ensure a previously set C errno doesn't disturb cmath.polar().
+
+..
+
+.. bpo: 19543
+.. date: 9645
+.. nonce: 8XxBDj
+.. section: Library
+
+io.TextIOWrapper (and hence io.open()) now uses the internal codec marking
+system added to emit deprecation warning for known non-text encodings at
+stream construction time when Python is ran with the -3 option.
+
+..
+
+.. bpo: 24264
+.. date: 9644
+.. nonce: 3zMc38
+.. section: Library
+
+Fixed buffer overflow in the imageop module.
+
+..
+
+.. bpo: 5633
+.. date: 9643
+.. nonce: JNzKZq
+.. section: Library
+
+Fixed timeit when the statement is a string and the setup is not.
+
+..
+
+.. bpo: 24326
+.. date: 9642
+.. nonce: 4t_6Gy
+.. section: Library
+
+Fixed audioop.ratecv() with non-default weightB argument. Original patch by
+David Moore.
+
+..
+
+.. bpo: 22095
+.. date: 9641
+.. nonce: iISzxM
+.. section: Library
+
+Fixed HTTPConnection.set_tunnel with default port.  The port value in the
+host header was set to "None".  Patch by Demian Brecht.
+
+..
+
+.. bpo: 24257
+.. date: 9640
+.. nonce: L_efq0
+.. section: Library
+
+Fixed segmentation fault in sqlite3.Row constructor with faked cursor type.
+
+..
+
+.. bpo: 24286
+.. date: 9639
+.. nonce: QTU65z
+.. section: Library
+
+Dict view were not registered with the MappingView abstract base classes.
+This caused key and item views in OrderedDict to not be equal to their
+regular dict counterparts.
+
+..
+
+.. bpo: 22107
+.. date: 9638
+.. nonce: 2F8k4W
+.. section: Library
+
+tempfile.gettempdir() and tempfile.mkdtemp() now try again when a directory
+with the chosen name already exists on Windows as well as on Unix.
+tempfile.mkstemp() now fails early if parent directory is not valid (not
+exists or is a file) on Windows.
+
+..
+
+.. bpo: 6598
+.. date: 9637
+.. nonce: JdZNDt
+.. section: Library
+
+Increased time precision and random number range in email.utils.make_msgid()
+to strengthen the uniqueness of the message ID.
+
+..
+
+.. bpo: 24091
+.. date: 9636
+.. nonce: vBNeTI
+.. section: Library
+
+Fixed various crashes in corner cases in cElementTree.
+
+..
+
+.. bpo: 15267
+.. date: 9635
+.. nonce: xT65mc
+.. section: Library
+
+HTTPConnection.request() now is compatible with old-style classes (such as
+TemporaryFile).  Original patch by Atsuo Ishimoto.
+
+..
+
+.. bpo: 20014
+.. date: 9634
+.. nonce: NfHQd1
+.. section: Library
+
+array.array() now accepts unicode typecodes.  Based on patch by Vajrasky
+Kok.
+
+..
+
+.. bpo: 23637
+.. date: 9633
+.. nonce: 1yFWAy
+.. section: Library
+
+Showing a warning no longer fails with UnicodeError. Formatting unicode
+warning in the file with the path containing non-ascii characters no longer
+fails with UnicodeError.
+
+..
+
+.. bpo: 24134
+.. date: 9632
+.. nonce: 4cPfh1
+.. section: Library
+
+Reverted issue #24134 changes.
+
+..
+
+.. bpo: 15348
+.. date: 9631
+.. nonce: d1Fg01
+.. section: IDLE
+
+Stop the debugger engine (normally in a user process) before closing the
+debugger window (running in the IDLE process). This prevents the
+RuntimeErrors that were being caught and ignored.
+
+..
+
+.. bpo: 24455
+.. date: 9630
+.. nonce: x6YqtE
+.. section: IDLE
+
+Prevent IDLE from hanging when a) closing the shell while the debugger is
+active (15347); b) closing the debugger with the [X] button (15348); and c)
+activating the debugger when already active (24455). The patch by Mark
+Roseman does this by making two changes. 1. Suspend and resume the
+gui.interaction method with the tcl vwait mechanism intended for this
+purpose (instead of root.mainloop & .quit). 2. In gui.run, allow any
+existing interaction to terminate first.
+
+..
+
+.. bpo: 0
+.. date: 9629
+.. nonce: Yp9LRY
+.. section: IDLE
+
+Change 'The program' to 'Your program' in an IDLE 'kill program?' message to
+make it clearer that the program referred to is the currently running user
+program, not IDLE itself.
+
+..
+
+.. bpo: 24750
+.. date: 9628
+.. nonce: xgsi-K
+.. section: IDLE
+
+Improve the appearance of the IDLE editor window status bar. Patch by Mark
+Roseman.
+
+..
+
+.. bpo: 25313
+.. date: 9627
+.. nonce: xMXHpO
+.. section: IDLE
+
+Change the handling of new built-in text color themes to better address the
+compatibility problem introduced by the addition of IDLE Dark. Consistently
+use the revised idleConf.CurrentTheme everywhere in idlelib.
+
+..
+
+.. bpo: 24782
+.. date: 9626
+.. nonce: PCsWad
+.. section: IDLE
+
+Extension configuration is now a tab in the IDLE Preferences dialog rather
+than a separate dialog.   The former tabs are now a sorted list.  Patch by
+Mark Roseman.
+
+..
+
+.. bpo: 22726
+.. date: 9625
+.. nonce: x8T0dA
+.. section: IDLE
+
+Re-activate the config dialog help button with some content about the other
+buttons and the new IDLE Dark theme.
+
+..
+
+.. bpo: 24820
+.. date: 9624
+.. nonce: TFPJhr
+.. section: IDLE
+
+IDLE now has an 'IDLE Dark' built-in text color theme. It is more or less
+IDLE Classic inverted, with a cobalt blue background. Strings, comments,
+keywords, ... are still green, red, orange, ... . To use it with IDLEs
+released before November 2015, hit the 'Save as New Custom Theme' button and
+enter a new name, such as 'Custom Dark'.  The custom theme will work with
+any IDLE release, and can be modified.
+
+..
+
+.. bpo: 25224
+.. date: 9623
+.. nonce: 5Llwo4
+.. section: IDLE
+
+README.txt is now an idlelib index for IDLE developers and curious users.
+The previous user content is now in the IDLE doc chapter. 'IDLE' now means
+'Integrated Development and Learning Environment'.
+
+..
+
+.. bpo: 24820
+.. date: 9622
+.. nonce: ZUz9Fn
+.. section: IDLE
+
+Users can now set breakpoint colors in Settings -> Custom Highlighting.
+Original patch by Mark Roseman.
+
+..
+
+.. bpo: 24972
+.. date: 9621
+.. nonce: uc0uNo
+.. section: IDLE
+
+Inactive selection background now matches active selection background, as
+configured by users, on all systems.  Found items are now always highlighted
+on Windows.  Initial patch by Mark Roseman.
+
+..
+
+.. bpo: 24570
+.. date: 9620
+.. nonce: s3EkNn
+.. section: IDLE
+
+Idle: make calltip and completion boxes appear on Macs affected by a tk
+regression.  Initial patch by Mark Roseman.
+
+..
+
+.. bpo: 24988
+.. date: 9619
+.. nonce: tXqq4T
+.. section: IDLE
+
+Idle ScrolledList context menus (used in debugger) now work on Mac Aqua.
+Patch by Mark Roseman.
+
+..
+
+.. bpo: 24801
+.. date: 9618
+.. nonce: -bj_Ou
+.. section: IDLE
+
+Make right-click for context menu work on Mac Aqua. Patch by Mark Roseman.
+
+..
+
+.. bpo: 25173
+.. date: 9617
+.. nonce: EZzrPg
+.. section: IDLE
+
+Associate tkinter messageboxes with a specific widget. For Mac OSX, make
+them a 'sheet'.  Patch by Mark Roseman.
+
+..
+
+.. bpo: 25198
+.. date: 9616
+.. nonce: -j_BV7
+.. section: IDLE
+
+Enhance the initial html viewer now used for Idle Help. * Properly indent
+fixed-pitch text (patch by Mark Roseman). * Give code snippet a very Sphinx-
+like light blueish-gray background. * Re-use initial width and height set by
+users for shell and editor. * When the Table of Contents (TOC) menu is used,
+put the section header at the top of the screen.
+
+..
+
+.. bpo: 25225
+.. date: 9615
+.. nonce: 9pvdq6
+.. section: IDLE
+
+Condense and rewrite Idle doc section on text colors.
+
+..
+
+.. bpo: 21995
+.. date: 9614
+.. nonce: C5Rmzx
+.. section: IDLE
+
+Explain some differences between IDLE and console Python.
+
+..
+
+.. bpo: 22820
+.. date: 9613
+.. nonce: hix_8X
+.. section: IDLE
+
+Explain need for *print* when running file from Idle editor.
+
+..
+
+.. bpo: 25224
+.. date: 9612
+.. nonce: UVMYQq
+.. section: IDLE
+
+Doc: augment Idle feature list and no-subprocess section.
+
+..
+
+.. bpo: 25219
+.. date: 9611
+.. nonce: 8_9DYg
+.. section: IDLE
+
+Update doc for Idle command line options. Some were missing and notes were
+not correct.
+
+..
+
+.. bpo: 24861
+.. date: 9610
+.. nonce: Ecg2yT
+.. section: IDLE
+
+Most of idlelib is private and subject to change. Use idleib.idle.* to start
+Idle. See idlelib.__init__.__doc__.
+
+..
+
+.. bpo: 25199
+.. date: 9609
+.. nonce: ih7yY3
+.. section: IDLE
+
+Idle: add synchronization comments for future maintainers.
+
+..
+
+.. bpo: 16893
+.. date: 9608
+.. nonce: bZtPgJ
+.. section: IDLE
+
+Replace help.txt with help.html for Idle doc display. The new
+idlelib/help.html is rstripped Doc/build/html/library/idle.html. It looks
+better than help.txt and will better document Idle as released. The tkinter
+html viewer that works for this file was written by Mark Roseman. The now
+unused EditorWindow.HelpDialog class and helt.txt file are deprecated.
+
+..
+
+.. bpo: 24199
+.. date: 9607
+.. nonce: VKnZEv
+.. section: IDLE
+
+Deprecate unused idlelib.idlever with possible removal in 3.6.
+
+..
+
+.. bpo: 24790
+.. date: 9606
+.. nonce: hD1hlj
+.. section: IDLE
+
+Remove extraneous code (which also create 2 & 3 conflicts).
+
+..
+
+.. bpo: 23672
+.. date: 9605
+.. nonce: 8td2se
+.. section: IDLE
+
+Allow Idle to edit and run files with astral chars in name. Patch by Mohd
+Sanad Zaki Rizvi.
+
+..
+
+.. bpo: 24745
+.. date: 9604
+.. nonce: edbziT
+.. section: IDLE
+
+Idle editor default font. Switch from Courier to platform-sensitive
+TkFixedFont.  This should not affect current customized font selections.  If
+there is a problem, edit $HOME/.idlerc/config-main.cfg and remove 'fontxxx'
+entries from [Editor Window].  Patch by Mark Roseman.
+
+..
+
+.. bpo: 21192
+.. date: 9603
+.. nonce: CdbipH
+.. section: IDLE
+
+Idle editor. When a file is run, put its name in the restart bar. Do not
+print false prompts. Original patch by Adnan Umer.
+
+..
+
+.. bpo: 13884
+.. date: 9602
+.. nonce: vVcO1E
+.. section: IDLE
+
+Idle menus. Remove tearoff lines. Patch by Roger Serwy.
+
+..
+
+.. bpo: 15809
+.. date: 9601
+.. nonce: mfawdr
+.. section: IDLE
+
+IDLE shell now uses locale encoding instead of Latin1 for decoding unicode
+literals.
+
+..
+
+.. bpo: 24952
+.. date: 9600
+.. nonce: aJv9x1
+.. section: Documentation
+
+Clarify the default size argument of stack_size() in the "threading" and
+"thread" modules. Patch from Mattip.
+
+..
+
+.. bpo: 20769
+.. date: 9599
+.. nonce: ZUc9z9
+.. section: Documentation
+
+Improve reload() docs. Patch by Dorian Pula.
+
+..
+
+.. bpo: 23589
+.. date: 9598
+.. nonce: rjU421
+.. section: Documentation
+
+Remove duplicate sentence from the FAQ.  Patch by Yongzhi Pan.
+
+..
+
+.. bpo: 22155
+.. date: 9597
+.. nonce: 6Kq5Tv
+.. section: Documentation
+
+Add File Handlers subsection with createfilehandler to Tkinter doc.  Remove
+obsolete example from FAQ.  Patch by Martin Panter.
+
+..
+
+.. bpo: 24751
+.. date: 9596
+.. nonce: pL2pbj
+.. section: Tests
+
+When running regrtest with the ``-w`` command line option, a test run is no
+longer marked as a failure if all tests succeed when re-run.
+
+..
+
+.. bpo: 0
+.. date: 9595
+.. nonce: yeHJKJ
+.. section: Tests
+
+PCbuild\rt.bat now accepts an unlimited number of arguments to pass along to
+regrtest.py.  Previously there was a limit of 9.
+
+..
+
+.. bpo: 24915
+.. date: 9594
+.. nonce: N9MrQY
+.. section: Build
+
+When doing a PGO build, the test suite is now used instead of pybench; Clang
+support was also added as part off this work. Initial patch by Alecsandru
+Patrascu of Intel.
+
+..
+
+.. bpo: 24986
+.. date: 9593
+.. nonce: 1WyXeU
+.. section: Build
+
+It is now possible to build Python on Windows without errors when external
+libraries are not available.
+
+..
+
+.. bpo: 24508
+.. date: 9592
+.. nonce: m8-La8
+.. section: Build
+
+Backported the MSBuild project files from Python 3.5.  The backported files
+replace the old project files in PCbuild; the old files moved to PC/VS9.0
+and remain supported.
+
+..
+
+.. bpo: 24603
+.. date: 9591
+.. nonce: PyHyF5
+.. section: Build
+
+Update Windows builds and OS X 10.5 installer to use OpenSSL 1.0.2d.
+
+..
+
+.. bpo: 25022
+.. date: 9590
+.. nonce: vAt_zr
+.. section: Windows
+
+Removed very outdated PC/example_nt/ directory.
diff --git a/Misc/NEWS.d/2.7.12.rst b/Misc/NEWS.d/2.7.12.rst
new file mode 100644
index 0000000..1b2099a
--- /dev/null
+++ b/Misc/NEWS.d/2.7.12.rst
@@ -0,0 +1,26 @@
+.. bpo: 27641
+.. date: 9821
+.. nonce: Fhtvhi
+.. release date: 2016-06-25
+.. section: Build
+
+The configure script now inserts comments into the makefile to prevent the
+pgen executable from being cross-compiled.
+
+..
+
+.. bpo: 26930
+.. date: 9820
+.. nonce: 9JUeSD
+.. section: Build
+
+Update Windows builds to use OpenSSL 1.0.2h.
+
+..
+
+.. bpo: 27365
+.. date: 9819
+.. nonce: y8CVsn
+.. section: IDLE
+
+Fix about dialog.
diff --git a/Misc/NEWS.d/2.7.12rc1.rst b/Misc/NEWS.d/2.7.12rc1.rst
new file mode 100644
index 0000000..c86df39
--- /dev/null
+++ b/Misc/NEWS.d/2.7.12rc1.rst
@@ -0,0 +1,1161 @@
+.. bpo: 20041
+.. date: 9818
+.. nonce: TypyGp
+.. release date: 2016-06-12
+.. section: Core and Builtins
+
+Fixed TypeError when frame.f_trace is set to None. Patch by Xavier de Gaye.
+
+..
+
+.. bpo: 25702
+.. date: 9817
+.. nonce: ipxyJs
+.. section: Core and Builtins
+
+A --with-lto configure option has been added that will enable link time
+optimizations at build time during a make profile-opt. Some compilers and
+toolchains are known to not produce stable code when using LTO, be sure to
+test things thoroughly before relying on it. It can provide a few % speed up
+over profile-opt alone.
+
+..
+
+.. bpo: 26168
+.. date: 9816
+.. nonce: -nPBL6
+.. section: Core and Builtins
+
+Fixed possible refleaks in failing Py_BuildValue() with the "N" format unit.
+
+..
+
+.. bpo: 27039
+.. date: 9815
+.. nonce: Zj7tV7
+.. section: Core and Builtins
+
+Fixed bytearray.remove() for values greater than 127.  Patch by Joe Jevnik.
+
+..
+
+.. bpo: 4806
+.. date: 9814
+.. nonce: BOapuA
+.. section: Core and Builtins
+
+Avoid masking the original TypeError exception when using star (*) unpacking
+and the exception was raised from a generator.  Based on patch by Hagen
+Fürstenau.
+
+..
+
+.. bpo: 26659
+.. date: 9813
+.. nonce: 5PRa83
+.. section: Core and Builtins
+
+Make the builtin slice type support cycle collection.
+
+..
+
+.. bpo: 26718
+.. date: 9812
+.. nonce: K5PQ8j
+.. section: Core and Builtins
+
+super.__init__ no longer leaks memory if called multiple times. NOTE: A
+direct call of super.__init__ is not endorsed!
+
+..
+
+.. bpo: 13410
+.. date: 9811
+.. nonce: wyldQ4
+.. section: Core and Builtins
+
+Fixed a bug in PyUnicode_Format where it failed to properly ignore errors
+from a __int__() method.
+
+..
+
+.. bpo: 26494
+.. date: 9810
+.. nonce: Ar7ILt
+.. section: Core and Builtins
+
+Fixed crash on iterating exhausting iterators. Affected classes are generic
+sequence iterators, iterators of bytearray, list, tuple, set, frozenset,
+dict, OrderedDict and corresponding views.
+
+..
+
+.. bpo: 26581
+.. date: 9809
+.. nonce: yNA7nm
+.. section: Core and Builtins
+
+If coding cookie is specified multiple times on a line in Python source code
+file, only the first one is taken to account.
+
+..
+
+.. bpo: 22836
+.. date: 9808
+.. nonce: cimt1y
+.. section: Core and Builtins
+
+Ensure exception reports from PyErr_Display() and PyErr_WriteUnraisable()
+are sensible even when formatting them produces secondary errors.  This
+affects the reports produced by sys.__excepthook__() and when __del__()
+raises an exception.
+
+..
+
+.. bpo: 22847
+.. date: 9807
+.. nonce: 6baj9f
+.. section: Core and Builtins
+
+Improve method cache efficiency.
+
+..
+
+.. bpo: 25843
+.. date: 9806
+.. nonce: t2kGug
+.. section: Core and Builtins
+
+When compiling code, don't merge constants if they are equal but have a
+different types. For example, ``f1, f2 = lambda: 1, lambda: 1.0`` is now
+correctly compiled to two different functions: ``f1()`` returns ``1``
+(``int``) and ``f2()`` returns ``1.0`` (``int``), even if ``1`` and ``1.0``
+are equal.
+
+..
+
+.. bpo: 22995
+.. date: 9805
+.. nonce: Rhr9Dh
+.. section: Core and Builtins
+
+[UPDATE] Remove the one of the pickleability tests in _PyObject_GetState()
+due to regressions observed in Cython-based projects.
+
+..
+
+.. bpo: 25961
+.. date: 9804
+.. nonce: Hdjjw0
+.. section: Core and Builtins
+
+Disallowed null characters in the type name.
+
+..
+
+.. bpo: 22995
+.. date: 9803
+.. nonce: Wq0E86
+.. section: Core and Builtins
+
+Instances of extension types with a state that aren't subclasses of list or
+dict and haven't implemented any pickle-related methods (__reduce__,
+__reduce_ex__, __getnewargs__, __getnewargs_ex__, or __getstate__), can no
+longer be pickled.  Including memoryview.
+
+..
+
+.. bpo: 20440
+.. date: 9802
+.. nonce: GCwOfH
+.. section: Core and Builtins
+
+Massive replacing unsafe attribute setting code with special macro
+Py_SETREF.
+
+..
+
+.. bpo: 25421
+.. date: 9801
+.. nonce: c47YEL
+.. section: Core and Builtins
+
+__sizeof__ methods of builtin types now use dynamic basic size. This allows
+sys.getsize() to work correctly with their subclasses with __slots__
+defined.
+
+..
+
+.. bpo: 19543
+.. date: 9800
+.. nonce: FLtPTG
+.. section: Core and Builtins
+
+Added Py3k warning for decoding unicode.
+
+..
+
+.. bpo: 24097
+.. date: 9799
+.. nonce: Vt4E-i
+.. section: Core and Builtins
+
+Fixed crash in object.__reduce__() if slot name is freed inside __getattr__.
+
+..
+
+.. bpo: 24731
+.. date: 9798
+.. nonce: F4USDN
+.. section: Core and Builtins
+
+Fixed crash on converting objects with special methods __str__, __trunc__,
+and __float__ returning instances of subclasses of str, long, and float to
+subclasses of str, long, and float correspondingly.
+
+..
+
+.. bpo: 26478
+.. date: 9797
+.. nonce: n0dB8e
+.. section: Core and Builtins
+
+Fix semantic bugs when using binary operators with dictionary views and
+tuples.
+
+..
+
+.. bpo: 26171
+.. date: 9796
+.. nonce: 8SaQEa
+.. section: Core and Builtins
+
+Fix possible integer overflow and heap corruption in zipimporter.get_data().
+
+..
+
+.. bpo: 26556
+.. date: 9795
+.. nonce: v5j2uL
+.. section: Library
+
+Update expat to 2.1.1, fixes CVE-2015-1283.
+
+..
+
+.. bpo: 0
+.. date: 9794
+.. nonce: qP8WT-
+.. section: Library
+
+Fix TLS stripping vulnerability in smptlib, CVE-2016-0772.  Reported by Team
+Oststrom
+
+..
+
+.. bpo: 7356
+.. date: 9793
+.. nonce: cS5wgj
+.. section: Library
+
+ctypes.util: Make parsing of ldconfig output independent of the locale.
+
+..
+
+.. bpo: 25738
+.. date: 9792
+.. nonce: I_1jpQ
+.. section: Library
+
+Stop BaseHTTPServer.BaseHTTPRequestHandler.send_error() from sending a
+message body for 205 Reset Content.  Also, don't send the Content-Type
+header field in responses that don't have a body.  Based on patch by Susumu
+Koshiba.
+
+..
+
+.. bpo: 21313
+.. date: 9791
+.. nonce: W30MBr
+.. section: Library
+
+Fix the "platform" module to tolerate when sys.version contains truncated
+build information.
+
+..
+
+.. bpo: 27211
+.. date: 9790
+.. nonce: _7HYjx
+.. section: Library
+
+Fix possible memory corruption in io.IOBase.readline().
+
+..
+
+.. bpo: 27114
+.. date: 9789
+.. nonce: bGCuAM
+.. section: Library
+
+Fix SSLContext._load_windows_store_certs fails with PermissionError
+
+..
+
+.. bpo: 14132
+.. date: 9788
+.. nonce: Gpiuxk
+.. section: Library
+
+Fix urllib.request redirect handling when the target only has a query
+string.  Fix by Ján Janech.
+
+..
+
+.. bpo: 0
+.. date: 9787
+.. nonce: bMrCz8
+.. section: Library
+
+Removed the requirements for the ctypes and modulefinder modules to be
+compatible with earlier Python versions.
+
+..
+
+.. bpo: 22274
+.. date: 9786
+.. nonce: 0RHDMN
+.. section: Library
+
+In the subprocess module, allow stderr to be redirected to stdout even when
+stdout is not redirected.  Patch by Akira Li.
+
+..
+
+.. bpo: 12045
+.. date: 9785
+.. nonce: LEH09W
+.. section: Library
+
+Avoid duplicate execution of command in ctypes.util._get_soname(). Patch by
+Sijin Joseph.
+
+..
+
+.. bpo: 26960
+.. date: 9784
+.. nonce: 2l_IOl
+.. section: Library
+
+Backported #16270 from Python 3 to Python 2, to prevent urllib from hanging
+when retrieving certain FTP files.
+
+..
+
+.. bpo: 25745
+.. date: 9783
+.. nonce: -n8acU
+.. section: Library
+
+Fixed leaking a userptr in curses panel destructor.
+
+..
+
+.. bpo: 17765
+.. date: 9782
+.. nonce: hiSVS1
+.. section: Library
+
+weakref.ref() no longer silently ignores keyword arguments. Patch by Georg
+Brandl.
+
+..
+
+.. bpo: 26873
+.. date: 9781
+.. nonce: _qIPUp
+.. section: Library
+
+xmlrpclib now raises ResponseError on unsupported type tags instead of
+silently return incorrect result.
+
+..
+
+.. bpo: 24114
+.. date: 9780
+.. nonce: RMRMtM
+.. section: Library
+
+Fix an uninitialized variable in `ctypes.util`.
+
+The bug only occurs on SunOS when the ctypes implementation searches for the
+`crle` program.  Patch by Xiang Zhang.  Tested on SunOS by Kees Bos.
+
+..
+
+.. bpo: 26864
+.. date: 9779
+.. nonce: DFsgvI
+.. section: Library
+
+In urllib, change the proxy bypass host checking against no_proxy to be
+case-insensitive, and to not match unrelated host names that happen to have
+a bypassed hostname as a suffix.  Patch by Xiang Zhang.
+
+..
+
+.. bpo: 26804
+.. date: 9778
+.. nonce: 6b9_UW
+.. section: Library
+
+urllib will prefer lower_case proxy environment variables over UPPER_CASE or
+Mixed_Case ones. Patch contributed by Hans-Peter Jansen.
+
+..
+
+.. bpo: 26837
+.. date: 9777
+.. nonce: IKt9NJ
+.. section: Library
+
+assertSequenceEqual() now correctly outputs non-stringified differing items.
+This affects assertListEqual() and assertTupleEqual().
+
+..
+
+.. bpo: 26822
+.. date: 9776
+.. nonce: rYSL4W
+.. section: Library
+
+itemgetter, attrgetter and methodcaller objects no longer silently ignore
+keyword arguments.
+
+..
+
+.. bpo: 26657
+.. date: 9775
+.. nonce: dfteub
+.. section: Library
+
+Fix directory traversal vulnerability with SimpleHTTPServer on Windows.
+This fixes a regression that was introduced in 2.7.7.  Based on patch by
+Philipp Hagemeister.
+
+..
+
+.. bpo: 19377
+.. date: 9774
+.. nonce: Al9S53
+.. section: Library
+
+Add .svg to mimetypes.types_map.
+
+..
+
+.. bpo: 13952
+.. date: 9773
+.. nonce: SOoTVE
+.. section: Library
+
+Add .csv to mimetypes.types_map.  Patch by Geoff Wilson.
+
+..
+
+.. bpo: 16329
+.. date: 9772
+.. nonce: nuXD8W
+.. section: Library
+
+Add .webm to mimetypes.types_map.  Patch by Giampaolo Rodola'.
+
+..
+
+.. bpo: 23735
+.. date: 9771
+.. nonce: Y5oQ9r
+.. section: Library
+
+Handle terminal resizing with Readline 6.3+ by installing our own SIGWINCH
+handler.  Patch by Eric Price.
+
+..
+
+.. bpo: 26644
+.. date: 9770
+.. nonce: 7tt1tk
+.. section: Library
+
+Raise ValueError rather than SystemError when a negative length is passed to
+SSLSocket.recv() or read().
+
+..
+
+.. bpo: 23804
+.. date: 9769
+.. nonce: PP63Ff
+.. section: Library
+
+Fix SSL recv(0) and read(0) methods to return zero bytes instead of up to
+1024.
+
+..
+
+.. bpo: 24266
+.. date: 9768
+.. nonce: YZgVyM
+.. section: Library
+
+Ctrl+C during Readline history search now cancels the search mode when
+compiled with Readline 7.
+
+..
+
+.. bpo: 23857
+.. date: 9767
+.. nonce: u94yEL
+.. section: Library
+
+Implement PEP 493, adding a Python-2-only ssl module API and environment
+variable to configure the default handling of SSL/TLS certificates for HTTPS
+connections.
+
+..
+
+.. bpo: 26313
+.. date: 9766
+.. nonce: xhX2Gu
+.. section: Library
+
+ssl.py _load_windows_store_certs fails if windows cert store is empty. Patch
+by Baji.
+
+..
+
+.. bpo: 26513
+.. date: 9765
+.. nonce: HoPepy
+.. section: Library
+
+Fixes platform module detection of Windows Server
+
+..
+
+.. bpo: 23718
+.. date: 9764
+.. nonce: AMPC0o
+.. section: Library
+
+Fixed parsing time in week 0 before Jan 1.  Original patch by Tamás Bence
+Gedai.
+
+..
+
+.. bpo: 26177
+.. date: 9763
+.. nonce: HlSWer
+.. section: Library
+
+Fixed the keys() method for Canvas and Scrollbar widgets.
+
+..
+
+.. bpo: 15068
+.. date: 9762
+.. nonce: bcHtiw
+.. section: Library
+
+Got rid of excessive buffering in the fileinput module. The bufsize
+parameter is no longer used.
+
+..
+
+.. bpo: 2202
+.. date: 9761
+.. nonce: EPsrOA
+.. section: Library
+
+Fix UnboundLocalError in AbstractDigestAuthHandler.get_algorithm_impls.
+Initial patch by Mathieu Dupuy.
+
+..
+
+.. bpo: 26475
+.. date: 9760
+.. nonce: JXVccY
+.. section: Library
+
+Fixed debugging output for regular expressions with the (?x) flag.
+
+..
+
+.. bpo: 26385
+.. date: 9759
+.. nonce: mfwNyt
+.. section: Library
+
+Remove the file if the internal fdopen() call in NamedTemporaryFile() fails.
+Based on patch by Silent Ghost.
+
+..
+
+.. bpo: 26309
+.. date: 9758
+.. nonce: TSTJ3A
+.. section: Library
+
+In the "SocketServer" module, shut down the request (closing the connected
+socket) when verify_request() returns false.  Based on patch by Aviv
+Palivoda.
+
+..
+
+.. bpo: 25939
+.. date: 9757
+.. nonce: I-qK2E
+.. section: Library
+
+On Windows open the cert store readonly in ssl.enum_certificates.
+
+..
+
+.. bpo: 24303
+.. date: 9756
+.. nonce: FDBJWM
+.. section: Library
+
+Fix random EEXIST upon multiprocessing semaphores creation with Linux PID
+namespaces enabled.
+
+..
+
+.. bpo: 25698
+.. date: 9755
+.. nonce: Id3NAo
+.. section: Library
+
+Importing module if the stack is too deep no longer replaces imported module
+with the empty one.
+
+..
+
+.. bpo: 12923
+.. date: 9754
+.. nonce: HPAu-B
+.. section: Library
+
+Reset FancyURLopener's redirect counter even if there is an exception.
+Based on patches by Brian Brazil and Daniel Rocco.
+
+..
+
+.. bpo: 25945
+.. date: 9753
+.. nonce: guNgNM
+.. section: Library
+
+Fixed a crash when unpickle the functools.partial object with wrong state.
+Fixed a leak in failed functools.partial constructor. "args" and "keywords"
+attributes of functools.partial have now always types tuple and dict
+correspondingly.
+
+..
+
+.. bpo: 19883
+.. date: 9752
+.. nonce: z9TsO6
+.. section: Library
+
+Fixed possible integer overflows in zipimport.
+
+..
+
+.. bpo: 26147
+.. date: 9751
+.. nonce: UA8O6s
+.. section: Library
+
+xmlrpclib now works with unicode not encodable with used non-UTF-8 encoding.
+
+..
+
+.. bpo: 16620
+.. date: 9750
+.. nonce: rxpn_Y
+.. section: Library
+
+Fixed AttributeError in msilib.Directory.glob().
+
+..
+
+.. bpo: 21847
+.. date: 9749
+.. nonce: smLnll
+.. section: Library
+
+Fixed xmlrpclib on Unicode-disabled builds.
+
+..
+
+.. bpo: 6500
+.. date: 9748
+.. nonce: n8NGo4
+.. section: Library
+
+Fixed infinite recursion in urllib2.Request.__getattr__().
+
+..
+
+.. bpo: 26083
+.. date: 9747
+.. nonce: siyOnS
+.. section: Library
+
+Workaround a subprocess bug that raises an incorrect "ValueError: insecure
+string pickle" exception instead of the actual exception on some platforms
+such as Mac OS X when an exception raised in the forked child process prior
+to the exec() was large enough that it overflowed the internal errpipe_read
+pipe buffer.
+
+..
+
+.. bpo: 24103
+.. date: 9746
+.. nonce: gWAG0r
+.. section: Library
+
+Fixed possible use after free in ElementTree.iterparse().
+
+..
+
+.. bpo: 20954
+.. date: 9745
+.. nonce: H9-NYO
+.. section: Library
+
+_args_from_interpreter_flags used by multiprocessing and some tests no
+longer behaves incorrectly in the presence of the PYTHONHASHSEED environment
+variable.
+
+..
+
+.. bpo: 14285
+.. date: 9744
+.. nonce: Z5YcQy
+.. section: Library
+
+When executing a package with the "python -m package" option, and package
+initialization raises ImportError, a proper traceback is now reported.
+
+..
+
+.. bpo: 6478
+.. date: 9743
+.. nonce: -Bi9Hb
+.. section: Library
+
+_strptime's regexp cache now is reset after changing timezone with
+time.tzset().
+
+..
+
+.. bpo: 25718
+.. date: 9742
+.. nonce: D9mHZF
+.. section: Library
+
+Fixed copying object with state with boolean value is false.
+
+..
+
+.. bpo: 25742
+.. date: 9741
+.. nonce: y6AAQ4
+.. section: Library
+
+:func:`locale.setlocale` now accepts a Unicode string for its second
+parameter.
+
+..
+
+.. bpo: 10131
+.. date: 9740
+.. nonce: a7tptz
+.. section: Library
+
+Fixed deep copying of minidom documents.  Based on patch by Marian Ganisin.
+
+..
+
+.. bpo: 25725
+.. date: 9739
+.. nonce: mGRrqb
+.. section: Library
+
+Fixed a reference leak in cPickle.loads() when unpickling invalid data
+including tuple instructions.
+
+..
+
+.. bpo: 25663
+.. date: 9738
+.. nonce: Ofwfqa
+.. section: Library
+
+In the Readline completer, avoid listing duplicate global names, and search
+the global namespace before searching builtins.
+
+..
+
+.. bpo: 25688
+.. date: 9737
+.. nonce: 8P1HOv
+.. section: Library
+
+Fixed file leak in ElementTree.iterparse() raising an error.
+
+..
+
+.. bpo: 23914
+.. date: 9736
+.. nonce: vQS48b
+.. section: Library
+
+Fixed SystemError raised by CPickle unpickler on broken data.
+
+..
+
+.. bpo: 25924
+.. date: 9735
+.. nonce: Uxr2vt
+.. section: Library
+
+Avoid unnecessary serialization of getaddrinfo(3) calls on OS X versions
+10.5 or higher.  Original patch by A. Jesse Jiryu Davis.
+
+..
+
+.. bpo: 26406
+.. date: 9734
+.. nonce: ihvhF4
+.. section: Library
+
+Avoid unnecessary serialization of getaddrinfo(3) calls on current versions
+of OpenBSD and NetBSD.  Patch by A. Jesse Jiryu Davis.
+
+..
+
+.. bpo: 5124
+.. date: 9733
+.. nonce: 4kwBvM
+.. section: IDLE
+
+Paste with text selected now replaces the selection on X11. This matches how
+paste works on Windows, Mac, most modern Linux apps, and ttk widgets.
+Original patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 24759
+.. date: 9732
+.. nonce: ccmySu
+.. section: IDLE
+
+Make clear in idlelib.idle_test.__init__ that the directory is a private
+implementation of test.test_idle and tool for maintainers.
+
+..
+
+.. bpo: 26673
+.. date: 9731
+.. nonce: dh0_Ij
+.. section: IDLE
+
+When tk reports font size as 0, change to size 10. Such fonts on Linux
+prevented the configuration dialog from opening.
+
+..
+
+.. bpo: 27044
+.. date: 9730
+.. nonce: 4y7tyM
+.. section: IDLE
+
+Add ConfigDialog.remove_var_callbacks to stop memory leaks.
+
+..
+
+.. bpo: 0
+.. date: 9729
+.. nonce: _YJfG7
+.. section: IDLE
+
+In the 'IDLE-console differences' section of the IDLE doc, clarify how
+running with IDLE affects sys.modules and the standard streams.
+
+..
+
+.. bpo: 25507
+.. date: 9728
+.. nonce: bx-miX
+.. section: IDLE
+
+fix incorrect change in IOBinding that prevented printing. Change also
+prevented saving shell window with non-ascii characters. Augment IOBinding
+htest to include all major IOBinding functions.
+
+..
+
+.. bpo: 25905
+.. date: 9727
+.. nonce: FzNb3B
+.. section: IDLE
+
+Revert unwanted conversion of ' to ’ RIGHT SINGLE QUOTATION MARK in
+README.txt and open this and NEWS.txt with 'ascii'. Re-encode CREDITS.txt to
+utf-8 and open it with 'utf-8'.
+
+..
+
+.. bpo: 26417
+.. date: 9726
+.. nonce: XmSxEK
+.. section: IDLE
+
+Prevent spurious errors and incorrect defaults when installing IDLE 2.7 on
+OS X: default configuration settings are no longer installed from OS X
+specific copies.
+
+..
+
+.. bpo: 26736
+.. date: 9725
+.. nonce: U_Hyqo
+.. section: Documentation
+
+Used HTTPS for external links in the documentation if possible.
+
+..
+
+.. bpo: 6953
+.. date: 9724
+.. nonce: Zk6rno
+.. section: Documentation
+
+Rework the Readline module documentation to group related functions
+together, and add more details such as what underlying Readline functions
+and variables are accessed.
+
+..
+
+.. bpo: 26014
+.. date: 9723
+.. nonce: C3Hbb7
+.. section: Documentation
+
+Guide users to the newer packaging documentation as was done for Python 3.x.
+In particular, the top-level 2.7 documentation page now links to the newer
+installer and distributions pages rather than the legacy install and
+Distutils pages; these are still linked to in the library/distutils doc
+page.
+
+..
+
+.. bpo: 21916
+.. date: 9722
+.. nonce: muwCyp
+.. section: Tests
+
+Added tests for the turtle module.  Patch by ingrid, Gregory Loyse and Jelle
+Zijlstra.
+
+..
+
+.. bpo: 25940
+.. date: 9721
+.. nonce: PgiLVN
+.. section: Tests
+
+Changed test_ssl to use self-signed.pythontest.net.  This avoids relying on
+svn.python.org, which recently changed root certificate.
+
+..
+
+.. bpo: 25616
+.. date: 9720
+.. nonce: Qr-60p
+.. section: Tests
+
+Tests for OrderedDict are extracted from test_collections into separate file
+test_ordered_dict.
+
+..
+
+.. bpo: 22359
+.. date: 9719
+.. nonce: laY9yB
+.. section: Build
+
+Avoid incorrect recursive $(MAKE), and disable the rules for running pgen
+when cross-compiling.  The pgen output is normally saved with the source
+code anyway, and is still regenerated when doing a native build. Patch by
+Jonas Wagner and Xavier de Gaye.
+
+..
+
+.. bpo: 19450
+.. date: 9718
+.. nonce: iS8xhV
+.. section: Build
+
+Update Windows builds to use SQLite 3.8.11.0.
+
+..
+
+.. bpo: 27229
+.. date: 9717
+.. nonce: C2NDch
+.. section: Build
+
+Fix the cross-compiling pgen rule for in-tree builds.  Patch by Xavier de
+Gaye.
+
+..
+
+.. bpo: 17603
+.. date: 9716
+.. nonce: 102DA-
+.. section: Build
+
+Avoid error about nonexistant fileblocks.o file by using a lower-level check
+for st_blocks in struct stat.
+
+..
+
+.. bpo: 26465
+.. date: 9715
+.. nonce: _YR608
+.. section: Build
+
+Update Windows builds to use OpenSSL 1.0.2g.
+
+..
+
+.. bpo: 24421
+.. date: 9714
+.. nonce: 2zY7vM
+.. section: Build
+
+Compile Modules/_math.c once, before building extensions. Previously it
+could fail to compile properly if the math and cmath builds were concurrent.
+
+..
+
+.. bpo: 25824
+.. date: 9713
+.. nonce: u0HToh
+.. section: Build
+
+Fixes sys.winver to not include any architecture suffix.
+
+..
+
+.. bpo: 25348
+.. date: 9712
+.. nonce: u6_BaQ
+.. section: Build
+
+Added ``--pgo`` and ``--pgo-job`` arguments to ``PCbuild\build.bat`` for
+building with Profile-Guided Optimization.  The old
+``PCbuild\build_pgo.bat`` script is now deprecated, and simply calls
+``PCbuild\build.bat --pgo %*``.
+
+..
+
+.. bpo: 25827
+.. date: 9711
+.. nonce: yg3DMM
+.. section: Build
+
+Add support for building with ICC to ``configure``, including a new
+``--with-icc`` flag.
+
+..
+
+.. bpo: 25696
+.. date: 9710
+.. nonce: 2R_wIv
+.. section: Build
+
+Fix installation of Python on UNIX with make -j9.
+
+..
+
+.. bpo: 26930
+.. date: 9709
+.. nonce: Sqz2O3
+.. section: Build
+
+Update OS X 10.5+ 32-bit-only installer to build and link with OpenSSL
+1.0.2h.
+
+..
+
+.. bpo: 26268
+.. date: 9708
+.. nonce: I3-YLh
+.. section: Build
+
+Update Windows builds to use OpenSSL 1.0.2f.
+
+..
+
+.. bpo: 25136
+.. date: 9707
+.. nonce: Vi-fmO
+.. section: Build
+
+Support Apple Xcode 7's new textual SDK stub libraries.
+
+..
+
+.. bpo: 26799
+.. date: 9706
+.. nonce: gK2VXX
+.. section: Tools/Demos
+
+Fix python-gdb.py: don't get C types once when the Python code is loaded,
+but get C types on demand. The C types can change if python-gdb.py is loaded
+before the Python executable. Patch written by Thomas Ilsche.
+
+..
+
+.. bpo: 30255
+.. date: 9705
+.. nonce: EGf-zW
+.. section: C API
+
+PySlice_GetIndicesEx now clips the step to [-PY_SSIZE_T_MAX, PY_SSIZE_T_MAX]
+instead of [-PY_SSIZE_T_MAX-1, PY_SSIZE_T_MAX].  This makes it safe to do
+"step = -step" when reversing a slice.
+
+..
+
+.. bpo: 26476
+.. date: 9704
+.. nonce: oJrb6q
+.. section: C API
+
+Fixed compilation error when use PyErr_BadInternalCall() in C++. Patch by
+Jeroen Demeyer.
+
+..
+
+.. bpo: 17500
+.. date: 9703
+.. nonce: QTZbRV
+.. section: Windows
+
+Remove unused and outdated icons. (See also:
+https://github.com/python/pythondotorg/issues/945)
diff --git a/Misc/NEWS.d/2.7.13.rst b/Misc/NEWS.d/2.7.13.rst
new file mode 100644
index 0000000..0d065e8
--- /dev/null
+++ b/Misc/NEWS.d/2.7.13.rst
@@ -0,0 +1,7 @@
+.. bpo: 5322
+.. date: 9926
+.. nonce: _CaEiN
+.. release date: 2016-12-17
+.. section: Core and Builtins
+
+Revert a37cc3d926ec.
diff --git a/Misc/NEWS.d/2.7.13rc1.rst b/Misc/NEWS.d/2.7.13rc1.rst
new file mode 100644
index 0000000..26ffeea
--- /dev/null
+++ b/Misc/NEWS.d/2.7.13rc1.rst
@@ -0,0 +1,1025 @@
+.. bpo: 5322
+.. date: 9925
+.. nonce: 8Fq059
+.. release date: 2016-12-03
+.. section: Core and Builtins
+
+Fixed setting __new__ to a PyCFunction inside Python code. Original patch by
+Andreas Stührk.
+
+..
+
+.. bpo: 28847
+.. date: 9924
+.. nonce: iG6VRD
+.. section: Core and Builtins
+
+dumbdbm no longer writes the index file in when it is not changed and
+supports reading read-only files.
+
+..
+
+.. bpo: 11145
+.. date: 9923
+.. nonce: 3BeZaz
+.. section: Core and Builtins
+
+Fixed miscellaneous issues with C-style formatting of types with custom
+__oct__ and __hex__.
+
+..
+
+.. bpo: 24469
+.. date: 9922
+.. nonce: dl8lJ4
+.. section: Core and Builtins
+
+Fixed memory leak caused by int subclasses without overridden tp_free (e.g.
+C-inherited Cython classes).
+
+..
+
+.. bpo: 19398
+.. date: 9921
+.. nonce: RYbEGH
+.. section: Core and Builtins
+
+Extra slash no longer added to sys.path components in case of empty compile-
+time PYTHONPATH components.
+
+..
+
+.. bpo: 21720
+.. date: 9920
+.. nonce: XSd6LI
+.. section: Core and Builtins
+
+Improve exception message when the type of fromlist is unicode. fromlist
+parameter of __import__() only accepts str in Python 2 and this will help to
+identify the problem especially when the unicode_literals future import is
+used.
+
+..
+
+.. bpo: 26906
+.. date: 9919
+.. nonce: YBjcwI
+.. section: Core and Builtins
+
+Resolving special methods of uninitialized type now causes implicit
+initialization of the type instead of a fail.
+
+..
+
+.. bpo: 18287
+.. date: 9918
+.. nonce: k6jffS
+.. section: Core and Builtins
+
+PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas
+Koep.
+
+..
+
+.. bpo: 24098
+.. date: 9917
+.. nonce: XqlP_1
+.. section: Core and Builtins
+
+Fixed possible crash when AST is changed in process of compiling it.
+
+..
+
+.. bpo: 28350
+.. date: 9916
+.. nonce: 8M5Eg9
+.. section: Core and Builtins
+
+String constants with null character no longer interned.
+
+..
+
+.. bpo: 27942
+.. date: 9915
+.. nonce: ZGuhns
+.. section: Core and Builtins
+
+String constants now interned recursively in tuples and frozensets.
+
+..
+
+.. bpo: 15578
+.. date: 9914
+.. nonce: xSQWiu
+.. section: Core and Builtins
+
+Correctly incref the parent module while importing.
+
+..
+
+.. bpo: 26307
+.. date: 9913
+.. nonce: Puk2rd
+.. section: Core and Builtins
+
+The profile-opt build now applies PGO to the built-in modules.
+
+..
+
+.. bpo: 26020
+.. date: 9912
+.. nonce: niLbLa
+.. section: Core and Builtins
+
+set literal evaluation order did not match documented behaviour.
+
+..
+
+.. bpo: 27870
+.. date: 9911
+.. nonce: Y0u34u
+.. section: Core and Builtins
+
+A left shift of zero by a large integer no longer attempts to allocate large
+amounts of memory.
+
+..
+
+.. bpo: 25604
+.. date: 9910
+.. nonce: UkeHGy
+.. section: Core and Builtins
+
+Fix a minor bug in integer true division; this bug could potentially have
+caused off-by-one-ulp results on platforms with unreliable ldexp
+implementations.
+
+..
+
+.. bpo: 27473
+.. date: 9909
+.. nonce: d8HWze
+.. section: Core and Builtins
+
+Fixed possible integer overflow in str, unicode and bytearray concatenations
+and repetitions.  Based on patch by Xiang Zhang.
+
+..
+
+.. bpo: 27507
+.. date: 9908
+.. nonce: 3pX0Be
+.. section: Core and Builtins
+
+Add integer overflow check in bytearray.extend().  Patch by Xiang Zhang.
+
+..
+
+.. bpo: 27581
+.. date: 9907
+.. nonce: KezjNt
+.. section: Core and Builtins
+
+Don't rely on wrapping for overflow check in PySequence_Tuple().  Patch by
+Xiang Zhang.
+
+..
+
+.. bpo: 23908
+.. date: 9906
+.. nonce: xXL6_c
+.. section: Core and Builtins
+
+os functions, open() and the io.FileIO constructor now reject unicode paths
+with embedded null character on Windows instead of silently truncating them.
+
+..
+
+.. bpo: 27514
+.. date: 9905
+.. nonce: NLbwPG
+.. section: Core and Builtins
+
+Make having too many statically nested blocks a SyntaxError instead of
+SystemError.
+
+..
+
+.. bpo: 25659
+.. date: 9904
+.. nonce: lE2IlT
+.. section: Library
+
+In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy()
+methods on abstract classes like Array.
+
+..
+
+.. bpo: 28563
+.. date: 9903
+.. nonce: iweEiw
+.. section: Library
+
+Fixed possible DoS and arbitrary code execution when handle plural form
+selections in the gettext module.  The expression parser now supports exact
+syntax supported by GNU gettext.
+
+..
+
+.. bpo: 28387
+.. date: 9902
+.. nonce: 1clJu7
+.. section: Library
+
+Fixed possible crash in _io.TextIOWrapper deallocator when the garbage
+collector is invoked in other thread.  Based on patch by Sebastian Cufre.
+
+..
+
+.. bpo: 28449
+.. date: 9901
+.. nonce: 5JK6ES
+.. section: Library
+
+tarfile.open() with mode "r" or "r:" now tries to open a tar file with
+compression before trying to open it without compression.  Otherwise it had
+50% chance failed with ignore_zeros=True.
+
+..
+
+.. bpo: 25464
+.. date: 9900
+.. nonce: DTGbbr
+.. section: Library
+
+Fixed HList.header_exists() in Tix module by adding a workaround to Tix
+library bug.
+
+..
+
+.. bpo: 28488
+.. date: 9899
+.. nonce: TgO112
+.. section: Library
+
+shutil.make_archive() no longer adds entry "./" to ZIP archive.
+
+..
+
+.. bpo: 28480
+.. date: 9898
+.. nonce: Qh4Xeq
+.. section: Library
+
+Fix error building _sqlite3 module when multithreading is disabled.
+
+..
+
+.. bpo: 24452
+.. date: 9897
+.. nonce: m9Kyg3
+.. section: Library
+
+Make webbrowser support Chrome on Mac OS X.
+
+..
+
+.. bpo: 26293
+.. date: 9896
+.. nonce: 2mjvwX
+.. section: Library
+
+Fixed writing ZIP files that starts not from the start of the file.  Offsets
+in ZIP file now are relative to the start of the archive in conforming to
+the specification.
+
+..
+
+.. bpo: 0
+.. date: 9895
+.. nonce: 81jNns
+.. section: Library
+
+Fix possible integer overflows and crashes in the mmap module with unusual
+usage patterns.
+
+..
+
+.. bpo: 27897
+.. date: 9894
+.. nonce: wfWe9B
+.. section: Library
+
+Fixed possible crash in sqlite3.Connection.create_collation() if pass
+invalid string-like object as a name.  Original patch by Xiang Zhang.
+
+..
+
+.. bpo: 1703178
+.. date: 9893
+.. nonce: meb49K
+.. section: Library
+
+Fix the ability to pass the --link-objects option to the distutils build_ext
+command.
+
+..
+
+.. bpo: 28253
+.. date: 9892
+.. nonce: aLfmhe
+.. section: Library
+
+Fixed calendar functions for extreme months: 0001-01 and 9999-12.
+
+Methods itermonthdays() and itermonthdays2() are reimplemented so that they
+don't call itermonthdates() which can cause datetime.date under/overflow.
+
+..
+
+.. bpo: 27963
+.. date: 9891
+.. nonce: XDgr3L
+.. section: Library
+
+Fixed possible null pointer dereference in ctypes.set_conversion_mode().
+Patch by Xiang Zhang.
+
+..
+
+.. bpo: 28284
+.. date: 9890
+.. nonce: kHbh7e
+.. section: Library
+
+Strengthen resistance of ``_json.encode_basestring_ascii()`` to integer
+overflow.
+
+..
+
+.. bpo: 27611
+.. date: 9889
+.. nonce: yfOkD6
+.. section: Library
+
+Fixed support of default root window in the Tix module.
+
+..
+
+.. bpo: 24363
+.. date: 9888
+.. nonce: PVQg7r
+.. section: Library
+
+When parsing HTTP header fields, if an invalid line is encountered, skip it
+and continue parsing.  Previously, no more header fields were parsed, which
+could lead to fields for HTTP framing like Content-Length and Transfer-
+Encoding being overlooked.
+
+..
+
+.. bpo: 27599
+.. date: 9887
+.. nonce: itvm8T
+.. section: Library
+
+Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp().
+
+..
+
+.. bpo: 25969
+.. date: 9886
+.. nonce: qSPkl-
+.. section: Library
+
+Update the lib2to3 grammar to handle the unpacking generalizations added in
+3.5.
+
+..
+
+.. bpo: 24594
+.. date: 9885
+.. nonce: 9CnFVS
+.. section: Library
+
+Validates persist parameter when opening MSI database
+
+..
+
+.. bpo: 27570
+.. date: 9884
+.. nonce: pU0Zie
+.. section: Library
+
+Avoid zero-length memcpy() etc calls with null source pointers in the
+"ctypes" and "array" modules.
+
+..
+
+.. bpo: 22450
+.. date: 9883
+.. nonce: aWpdde
+.. section: Library
+
+urllib now includes an "Accept: */*" header among the default headers.  This
+makes the results of REST API requests more consistent and predictable
+especially when proxy servers are involved.
+
+..
+
+.. bpo: 0
+.. date: 9882
+.. nonce: PVZStR
+.. section: Library
+
+lib2to3.pgen3.driver.load_grammar() now creates a stable cache file between
+runs given the same Grammar.txt input regardless of the hash randomization
+setting.
+
+..
+
+.. bpo: 27691
+.. date: 9881
+.. nonce: TMYF5_
+.. section: Library
+
+Fix ssl module's parsing of GEN_RID subject alternative name fields in X.509
+certs.
+
+..
+
+.. bpo: 27850
+.. date: 9880
+.. nonce: kIVQ0m
+.. section: Library
+
+Remove 3DES from ssl module's default cipher list to counter measure sweet32
+attack (CVE-2016-2183).
+
+..
+
+.. bpo: 27766
+.. date: 9879
+.. nonce: WI70Tc
+.. section: Library
+
+Add ChaCha20 Poly1305 to ssl module's default ciper list. (Required OpenSSL
+1.1.0 or LibreSSL).
+
+..
+
+.. bpo: 26470
+.. date: 9878
+.. nonce: QGu_wo
+.. section: Library
+
+Port ssl and hashlib module to OpenSSL 1.1.0.
+
+..
+
+.. bpo: 27944
+.. date: 9877
+.. nonce: EVXdfk
+.. section: Library
+
+Fix some memory-corruption bugs in the log reading code of the _hotshot
+module.
+
+..
+
+.. bpo: 27934
+.. date: 9876
+.. nonce: ucQE3p
+.. section: Library
+
+Use ``float.__repr__`` instead of plain ``repr`` when JSON- encoding an
+instance of a float subclass. Thanks Eddie James.
+
+..
+
+.. bpo: 27861
+.. date: 9875
+.. nonce: DBYuo9
+.. section: Library
+
+Fixed a crash in sqlite3.Connection.cursor() when a factory creates not a
+cursor.  Patch by Xiang Zhang.
+
+..
+
+.. bpo: 19884
+.. date: 9874
+.. nonce: MO8AWH
+.. section: Library
+
+Avoid spurious output on OS X with Gnu Readline.
+
+..
+
+.. bpo: 10513
+.. date: 9873
+.. nonce: tQIQD_
+.. section: Library
+
+Fix a regression in Connection.commit().  Statements should not be reset
+after a commit.
+
+..
+
+.. bpo: 2466
+.. date: 9872
+.. nonce: VRNlkg
+.. section: Library
+
+posixpath.ismount now correctly recognizes mount points which the user does
+not have permission to access.
+
+..
+
+.. bpo: 27783
+.. date: 9871
+.. nonce: 6fCCY9
+.. section: Library
+
+Fix possible usage of uninitialized memory in operator.methodcaller.
+
+..
+
+.. bpo: 27774
+.. date: 9870
+.. nonce: FDcik1
+.. section: Library
+
+Fix possible Py_DECREF on unowned object in _sre.
+
+..
+
+.. bpo: 27760
+.. date: 9869
+.. nonce: gxMjp4
+.. section: Library
+
+Fix possible integer overflow in binascii.b2a_qp.
+
+..
+
+.. bpo: 0
+.. date: 9868
+.. nonce: Ny9oPv
+.. section: Library
+
+In the curses module, raise an error if window.getstr() or window.instr() is
+passed a negative value.
+
+..
+
+.. bpo: 27758
+.. date: 9867
+.. nonce: x9DC4R
+.. section: Library
+
+Fix possible integer overflow in the _csv module for large record lengths.
+
+..
+
+.. bpo: 23369
+.. date: 9866
+.. nonce: nqChyE
+.. section: Library
+
+Fixed possible integer overflow in _json.encode_basestring_ascii.
+
+..
+
+.. bpo: 27568
+.. date: 9865
+.. nonce: OnuO9s
+.. section: Library
+
+Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the HTTP_PROXY variable
+when REQUEST_METHOD environment is set, which indicates that the script is
+in CGI mode.
+
+..
+
+.. bpo: 27130
+.. date: 9864
+.. nonce: zVvNDt
+.. section: Library
+
+In the "zlib" module, fix handling of large buffers (typically 2 or 4 GiB).
+Previously, inputs were limited to 2 GiB, and compression and decompression
+operations did not properly handle results of 2 or 4 GiB.
+
+..
+
+.. bpo: 23804
+.. date: 9863
+.. nonce: ipFvxc
+.. section: Library
+
+Fix SSL zero-length recv() calls to not block and not raise an error about
+unclean EOF.
+
+..
+
+.. bpo: 27466
+.. date: 9862
+.. nonce: C_3a8E
+.. section: Library
+
+Change time format returned by http.cookie.time2netscape, confirming the
+netscape cookie format and making it consistent with documentation.
+
+..
+
+.. bpo: 22115
+.. date: 9861
+.. nonce: Vpj2aH
+.. section: Library
+
+Fixed tracing Tkinter variables: trace_vdelete() with wrong mode no longer
+break tracing, trace_vinfo() now always returns a list of pairs of strings.
+
+..
+
+.. bpo: 27079
+.. date: 9860
+.. nonce: c7d0Ym
+.. section: Library
+
+Fixed curses.ascii functions isblank(), iscntrl() and ispunct().
+
+..
+
+.. bpo: 22636
+.. date: 9859
+.. nonce: 3fQW_g
+.. section: Library
+
+Avoid shell injection problems with ctypes.util.find_library().
+
+..
+
+.. bpo: 27330
+.. date: 9858
+.. nonce: GJaFCV
+.. section: Library
+
+Fixed possible leaks in the ctypes module.
+
+..
+
+.. bpo: 27238
+.. date: 9857
+.. nonce: Q6v6Qv
+.. section: Library
+
+Got rid of bare excepts in the turtle module.  Original patch by Jelle
+Zijlstra.
+
+..
+
+.. bpo: 26386
+.. date: 9856
+.. nonce: 9L3Ut4
+.. section: Library
+
+Fixed ttk.TreeView selection operations with item id's containing spaces.
+
+..
+
+.. bpo: 25455
+.. date: 9855
+.. nonce: tj_49f
+.. section: Library
+
+Fixed a crash in repr of cElementTree.Element with recursive tag.
+
+..
+
+.. bpo: 21201
+.. date: 9854
+.. nonce: wLCKiA
+.. section: Library
+
+Improves readability of multiprocessing error message.  Thanks to Wojciech
+Walczak for patch.
+
+..
+
+.. bpo: 27854
+.. date: 9853
+.. nonce: 8L_TJb
+.. section: IDLE
+
+Make Help => IDLE Help work again on Windows. Include idlelib/help.html in
+2.7 Windows installer.
+
+..
+
+.. bpo: 25507
+.. date: 9852
+.. nonce: bQVsMZ
+.. section: IDLE
+
+Add back import needed for 2.x encoding warning box. Add pointer to
+'Encoding declaration' in Language Reference.
+
+..
+
+.. bpo: 15308
+.. date: 9851
+.. nonce: zZxn8m
+.. section: IDLE
+
+Add 'interrupt execution' (^C) to Shell menu. Patch by Roger Serwy, updated
+by Bayard Randel.
+
+..
+
+.. bpo: 27922
+.. date: 9850
+.. nonce: UEtEv9
+.. section: IDLE
+
+Stop IDLE tests from 'flashing' gui widgets on the screen.
+
+..
+
+.. bpo: 17642
+.. date: 9849
+.. nonce: B0BNOB
+.. section: IDLE
+
+add larger font sizes for classroom projection.
+
+..
+
+.. bpo: 0
+.. date: 9848
+.. nonce: zWZs6o
+.. section: IDLE
+
+Add version to title of IDLE help window.
+
+..
+
+.. bpo: 25564
+.. date: 9847
+.. nonce: GN0p14
+.. section: IDLE
+
+In section on IDLE -- console differences, mention that using exec means
+that __builtins__ is defined for each statement.
+
+..
+
+.. bpo: 27714
+.. date: 9846
+.. nonce: bUEDsI
+.. section: IDLE
+
+text_textview and test_autocomplete now pass when re-run in the same
+process.  This occurs when test_idle fails when run with the -w option but
+without -jn.  Fix warning from test_config.
+
+..
+
+.. bpo: 27452
+.. date: 9845
+.. nonce: RtWnyR
+.. section: IDLE
+
+add line counter and crc to IDLE configHandler test dump.
+
+..
+
+.. bpo: 27365
+.. date: 9844
+.. nonce: y7ys_A
+.. section: IDLE
+
+Allow non-ascii chars in IDLE NEWS.txt, for contributor names.
+
+..
+
+.. bpo: 27245
+.. date: 9843
+.. nonce: u9aKO1
+.. section: IDLE
+
+IDLE: Cleanly delete custom themes and key bindings. Previously, when IDLE
+was started from a console or by import, a cascade of warnings was emitted.
+Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 28513
+.. date: 9842
+.. nonce: L3joAz
+.. section: Documentation
+
+Documented command-line interface of zipfile.
+
+..
+
+.. bpo: 16484
+.. date: 9841
+.. nonce: ITzcGg
+.. section: Documentation
+
+Change the default PYTHONDOCS URL to "https:", and fix the resulting links
+to use lowercase.  Patch by Sean Rodman, test by Kaushik Nadikuditi.
+
+..
+
+.. bpo: 28666
+.. date: 9840
+.. nonce: sbGV2K
+.. section: Tests
+
+Now test.test_support.rmtree is able to remove unwritable or unreadable
+directories.
+
+..
+
+.. bpo: 23839
+.. date: 9839
+.. nonce: zsT_L9
+.. section: Tests
+
+Various caches now are cleared before running every test file.
+
+..
+
+.. bpo: 27369
+.. date: 9838
+.. nonce: LG7U2D
+.. section: Tests
+
+In test_pyexpat, avoid testing an error message detail that changed in Expat
+2.2.0.
+
+..
+
+.. bpo: 10656
+.. date: 9837
+.. nonce: pR8FFU
+.. section: Build
+
+Fix out-of-tree building on AIX.  Patch by Tristan Carel and Michael
+Haubenwallner.
+
+..
+
+.. bpo: 26359
+.. date: 9836
+.. nonce: CLz6qy
+.. section: Build
+
+Rename --with-optimiations to --enable-optimizations.
+
+..
+
+.. bpo: 28248
+.. date: 9835
+.. nonce: KY_-en
+.. section: Build
+
+Update Windows build and OS X installers to use OpenSSL 1.0.2j.
+
+..
+
+.. bpo: 28258
+.. date: 9834
+.. nonce: pQNUId
+.. section: Build
+
+Fixed build with Estonian locale (distclean target in Makefile).  Patch by
+Arfrever Frehtes Taifersar Arahesis.
+
+..
+
+.. bpo: 26661
+.. date: 9833
+.. nonce: Z_HNbs
+.. section: Build
+
+setup.py now detects system libffi with multiarch wrapper.
+
+..
+
+.. bpo: 15819
+.. date: 9832
+.. nonce: Wi3naX
+.. section: Build
+
+The Include directory in the build tree is already searched; drop unused
+code trying to add it again.
+
+..
+
+.. bpo: 27566
+.. date: 9831
+.. nonce: xDWjEb
+.. section: Build
+
+Fix clean target in freeze makefile (patch by Lisa Roach)
+
+..
+
+.. bpo: 27983
+.. date: 9830
+.. nonce: jL_1n8
+.. section: Build
+
+Cause lack of llvm-profdata tool when using clang as required for PGO
+linking to be a configure time error rather than make time when --with-
+optimizations is enabled.  Also improve our ability to find the llvm-
+profdata tool on MacOS and some Linuxes.
+
+..
+
+.. bpo: 26359
+.. date: 9829
+.. nonce: WXBL-Y
+.. section: Build
+
+Add the --with-optimizations configure flag.
+
+..
+
+.. bpo: 10910
+.. date: 9828
+.. nonce: ZdRayb
+.. section: Build
+
+Avoid C++ compilation errors on FreeBSD and OS X. Also update FreedBSD
+version checks for the original ctype UTF-8 workaround.
+
+..
+
+.. bpo: 27806
+.. date: 9827
+.. nonce: DEhPsm
+.. section: Build
+
+Fix 32-bit builds on macOS Sierra 10.12 broken by removal of deprecated
+QuickTime/QuickTime.h header file.  Patch by Aleks Bunin.
+
+..
+
+.. bpo: 28676
+.. date: 9826
+.. nonce: 41PL3Q
+.. section: Build
+
+Prevent missing 'getentropy' declaration warning on macOS. Initial patch by
+Gareth Rees.
+
+..
+
+.. bpo: 27952
+.. date: 9825
+.. nonce: OO-hBo
+.. section: Tools/Demos
+
+Get Tools/scripts/fixcid.py working with the current "re" module, avoid
+invalid Python backslash escapes, and fix a bug parsing escaped C quote
+signs.
+
+..
+
+.. bpo: 27932
+.. date: 9824
+.. nonce: mtgl-6
+.. section: Windows
+
+Prevent memory leak in win32_ver().
+
+..
+
+.. bpo: 27888
+.. date: 9823
+.. nonce: xClILd
+.. section: Windows
+
+Prevent Windows installer from displaying console windows and failing when
+pip cannot be installed/uninstalled.
+
+..
+
+.. bpo: 28440
+.. date: 9822
+.. nonce: KBMmDg
+.. section: macOS
+
+No longer add /Library/Python/site-packages, the Apple-supplied system
+Python site-packages directory, to sys.path for macOS framework builds. The
+coupling between the two Python instances often caused confusion and, as of
+macOS 10.12, changes to the site-packages layout can cause pip component
+installations to fail.  This change reverts the effects introduced in 2.7.0
+by Issue #4865.  If you are using a package with both the Apple system
+Python 2.7 and a user-installed Python 2.7, you will need to ensure that
+copies of the package are installed with both Python instances.
diff --git a/Misc/NEWS.d/2.7.1rc1.rst b/Misc/NEWS.d/2.7.1rc1.rst
new file mode 100644
index 0000000..8de80ed
--- /dev/null
+++ b/Misc/NEWS.d/2.7.1rc1.rst
@@ -0,0 +1,1726 @@
+.. bpo: 10221
+.. date: 8273
+.. nonce: 4NppnX
+.. release date: 2010-11-13
+.. section: Core and Builtins
+
+dict.pop(k) now has a key error message that includes the missing key (same
+message d[k] returns for missing keys).
+
+..
+
+.. bpo: 10125
+.. date: 8272
+.. nonce: Zs0ZsA
+.. section: Core and Builtins
+
+Don't segfault when the iterator passed to ``file.writelines()`` closes the
+file.
+
+..
+
+.. bpo: 10186
+.. date: 8271
+.. nonce: _LgTkO
+.. section: Core and Builtins
+
+Fix the SyntaxError caret when the offset is equal to the length of the
+offending line.
+
+..
+
+.. bpo: 9997
+.. date: 8270
+.. nonce: mGq7Dd
+.. section: Core and Builtins
+
+Don't let the name "top" have special significance in scope resolution.
+
+..
+
+.. bpo: 9862
+.. date: 8269
+.. nonce: 18PjRQ
+.. section: Core and Builtins
+
+Compensate for broken PIPE_BUF in AIX by hard coding its value as the
+default 512 when compiling on AIX.
+
+..
+
+.. bpo: 9675
+.. date: 8268
+.. nonce: grRY0l
+.. section: Core and Builtins
+
+CObject use is marked as a Py3k warning, not a deprecation warning.
+
+..
+
+.. bpo: 10068
+.. date: 8267
+.. nonce: CYBiNW
+.. section: Core and Builtins
+
+Global objects which have reference cycles with their module's dict are now
+cleared again. This causes issue #7140 to appear again.
+
+..
+
+.. bpo: 9869
+.. date: 8266
+.. nonce: gwgHCl
+.. section: Core and Builtins
+
+Make long() and PyNumber_Long return something of type long for a class
+whose __long__ method returns a plain int.  This fixes an interpreter crash
+when initializing an instance of a long subclass from an object whose
+__long__ method returns a plain int.
+
+..
+
+.. bpo: 10006
+.. date: 8265
+.. nonce: QMA2kC
+.. section: Core and Builtins
+
+type.__abstractmethods__ now raises an AttributeError.
+
+..
+
+.. bpo: 9797
+.. date: 8264
+.. nonce: YxisFn
+.. section: Core and Builtins
+
+pystate.c wrongly assumed that zero couldn't be a valid thread-local storage
+key.
+
+..
+
+.. bpo: 4947
+.. date: 8263
+.. nonce: abA0AT
+.. section: Core and Builtins
+
+The write() method of sys.stdout and sys.stderr uses their encoding and
+errors attributes instead of using utf-8 in strict mode, to get the same
+behaviour than the print statement.
+
+..
+
+.. bpo: 9737
+.. date: 8262
+.. nonce: JlusIM
+.. section: Core and Builtins
+
+Fix a crash when trying to delete a slice or an item from a memoryview
+object.
+
+..
+
+.. bpo: 0
+.. date: 8261
+.. nonce: MI1h1F
+.. section: Core and Builtins
+
+Restore GIL in nis_cat in case of error.
+
+..
+
+.. bpo: 9688
+.. date: 8260
+.. nonce: PTAKBL
+.. section: Core and Builtins
+
+__basicsize__ and __itemsize__ must be accessed as Py_ssize_t.
+
+..
+
+.. bpo: 8530
+.. date: 8259
+.. nonce: 4OlxZq
+.. section: Core and Builtins
+
+Prevent stringlib fastsearch from reading beyond the front of an array.
+
+..
+
+.. bpo: 83755
+.. date: 8258
+.. nonce: LFoGKM
+.. section: Core and Builtins
+
+Implicit set-to-frozenset conversion was not thread-safe.
+
+..
+
+.. bpo: 9416
+.. date: 8257
+.. nonce: EqecrW
+.. section: Core and Builtins
+
+Fix some issues with complex formatting where the output with no type
+specifier failed to match the str output:
+
+- format(complex(-0.0, 2.0), '-') omitted the real part from the output,   -
+format(complex(0.0, 2.0), '-') included a sign and parentheses.
+
+..
+
+.. bpo: 7616
+.. date: 8256
+.. nonce: AOGmSj
+.. section: Core and Builtins
+
+Fix copying of overlapping memoryview slices with the Intel compiler.
+
+..
+
+.. bpo: 9926
+.. date: 8255
+.. nonce: J4BGGY
+.. section: Library
+
+Wrapped TestSuite subclass does not get __call__ executed
+
+..
+
+.. bpo: 4471
+.. date: 8254
+.. nonce: ZJDlrs
+.. section: Library
+
+Properly shutdown socket in IMAP.shutdown().  Patch by Lorenzo M. Catucci.
+
+..
+
+.. bpo: 10126
+.. date: 8253
+.. nonce: zvTZV-
+.. section: Library
+
+Fix distutils' test_build when Python was built with --enable-shared.
+
+..
+
+.. bpo: 0
+.. date: 8252
+.. nonce: NFeWRc
+.. section: Library
+
+Fix typo in one sdist option (medata-check).
+
+..
+
+.. bpo: 9199
+.. date: 8251
+.. nonce: 8WF_Pp
+.. section: Library
+
+Fix incorrect use of distutils.cmd.Command.announce.
+
+..
+
+.. bpo: 1718574
+.. date: 8250
+.. nonce: iqLV20
+.. section: Library
+
+Fix options that were supposed to accept arguments but did not in
+build_clib.
+
+..
+
+.. bpo: 9281
+.. date: 8249
+.. nonce: 0xYNfM
+.. section: Library
+
+Prevent race condition with mkdir in distutils.  Patch by Arfrever.
+
+..
+
+.. bpo: 10229
+.. date: 8248
+.. nonce: 10oNS7
+.. section: Library
+
+Fix caching error in gettext.
+
+..
+
+.. bpo: 10252
+.. date: 8247
+.. nonce: pGhEYO
+.. section: Library
+
+Close file objects in a timely manner in distutils code and tests.  Patch by
+Brian Brazil, completed by Éric Araujo.
+
+..
+
+.. bpo: 10311
+.. date: 8246
+.. nonce: u1t7up
+.. section: Library
+
+The signal module now restores errno before returning from its low-level
+signal handler.  Patch by Hallvard B Furuseth.
+
+..
+
+.. bpo: 10038
+.. date: 8245
+.. nonce: 5EKcD7
+.. section: Library
+
+json.loads() on str should always return unicode (regression from Python
+2.6).  Patch by Walter Dörwald.
+
+..
+
+.. bpo: 120176
+.. date: 8244
+.. nonce: 9k2NaP
+.. section: Library
+
+Wrapped TestSuite subclass does not get __call__ executed.
+
+..
+
+.. bpo: 6706
+.. date: 8243
+.. nonce: Es-Yrw
+.. section: Library
+
+asyncore accept() method no longer raises EWOULDBLOCK/ECONNABORTED on
+incomplete connection attempt but returns None instead.
+
+..
+
+.. bpo: 10266
+.. date: 8242
+.. nonce: BZ9duO
+.. section: Library
+
+uu.decode didn't close in_file explicitly when it was given as a filename.
+Patch by Brian Brazil.
+
+..
+
+.. bpo: 10246
+.. date: 8241
+.. nonce: NPG3oL
+.. section: Library
+
+uu.encode didn't close file objects explicitly when filenames were given to
+it.  Patch by Brian Brazil.
+
+..
+
+.. bpo: 10253
+.. date: 8240
+.. nonce: TL1F90
+.. section: Library
+
+FileIO leaks a file descriptor when trying to open a file for append that
+isn't seekable.  Patch by Brian Brazil.
+
+..
+
+.. bpo: 6105
+.. date: 8239
+.. nonce: qt9xTV
+.. section: Library
+
+json.dumps now respects OrderedDict's iteration order.
+
+..
+
+.. bpo: 9295
+.. date: 8238
+.. nonce: M7y0mB
+.. section: Library
+
+Fix a crash under Windows when calling close() on a file object with custom
+buffering from two threads at once.
+
+..
+
+.. bpo: 5027
+.. date: 8237
+.. nonce: 6mYRNc
+.. section: Library
+
+The standard ``xml`` namespace is now understood by
+xml.sax.saxutils.XMLGenerator as being bound to
+http://www.w3.org/XML/1998/namespace.  Patch by Troy J. Farrell.
+
+..
+
+.. bpo: 10163
+.. date: 8236
+.. nonce: Lrvd6I
+.. section: Library
+
+Skip unreadable registry keys during mimetypes initialization.
+
+..
+
+.. bpo: 5117
+.. date: 8235
+.. nonce: FzD7qd
+.. section: Library
+
+Fixed root directory related issue on posixpath.relpath() and
+ntpath.relpath().
+
+..
+
+.. bpo: 9409
+.. date: 8234
+.. nonce: HRnhHT
+.. section: Library
+
+Fix the regex to match all kind of filenames, for interactive debugging in
+doctests.
+
+..
+
+.. bpo: 6612
+.. date: 8233
+.. nonce: qaqnnh
+.. section: Library
+
+Fix site and sysconfig to catch os.getcwd() error, eg. if the current
+directory was deleted. Patch written by W. Trevor King.
+
+..
+
+.. bpo: 10045
+.. date: 8232
+.. nonce: iz6KpQ
+.. section: Library
+
+Improved performance when writing after seeking past the end of the "file"
+in cStringIO.
+
+..
+
+.. bpo: 9948
+.. date: 8231
+.. nonce: FOv8kp
+.. section: Library
+
+Fixed problem of losing filename case information.
+
+..
+
+.. bpo: 9437
+.. date: 8230
+.. nonce: a95HEb
+.. section: Library
+
+Fix building C extensions with non-default LDFLAGS.
+
+..
+
+.. bpo: 9759
+.. date: 8229
+.. nonce: aGsQic
+.. section: Library
+
+GzipFile now raises ValueError when an operation is attempted after the file
+is closed.  Patch by Jeffrey Finkelstein.
+
+..
+
+.. bpo: 9042
+.. date: 8228
+.. nonce: dQTK_C
+.. section: Library
+
+Fix interaction of custom translation classes and caching in gettext.
+
+..
+
+.. bpo: 9065
+.. date: 8227
+.. nonce: PTsv6_
+.. section: Library
+
+tarfile no longer uses "root" as the default for the uname and gname field.
+
+..
+
+.. bpo: 1050268
+.. date: 8226
+.. nonce: oOtGVD
+.. section: Library
+
+parseaddr now correctly quotes double quote and backslash characters that
+appear inside quoted strings in email addresses.
+
+..
+
+.. bpo: 10004
+.. date: 8225
+.. nonce: NTY_zM
+.. section: Library
+
+quoprimime no longer generates a traceback when confronted with invalid
+characters after '=' in a Q-encoded word.
+
+..
+
+.. bpo: 9950
+.. date: 8224
+.. nonce: omOgj_
+.. section: Library
+
+Fix socket.sendall() crash or misbehaviour when a signal is received.  Now
+sendall() properly calls signal handlers if necessary, and retries sending
+if these returned successfully, including on sockets with a timeout.
+
+..
+
+.. bpo: 9947
+.. date: 8223
+.. nonce: YCbARo
+.. section: Library
+
+logging: Fixed locking bug in stopListening.
+
+..
+
+.. bpo: 9945
+.. date: 8222
+.. nonce: DTIygY
+.. section: Library
+
+logging: Fixed locking bugs in addHandler/removeHandler.
+
+..
+
+.. bpo: 9936
+.. date: 8221
+.. nonce: evd1vv
+.. section: Library
+
+Fixed executable lines' search in the trace module.
+
+..
+
+.. bpo: 9928
+.. date: 8220
+.. nonce: S5LHD8
+.. section: Library
+
+Properly initialize the types exported by the bz2 module.
+
+..
+
+.. bpo: 9854
+.. date: 8219
+.. nonce: DxDKln
+.. section: Library
+
+The default read() implementation in io.RawIOBase now handles non-blocking
+readinto() returning None correctly.
+
+..
+
+.. bpo: 9729
+.. date: 8218
+.. nonce: mSCrBH
+.. section: Library
+
+Fix the signature of SSLSocket.recvfrom() and SSLSocket.sendto() to match
+the corresponding socket methods.  Also, fix various SSLSocket methods to
+raise socket.error rather than an unhelpful TypeError when called on an
+unconnected socket.  Original patch by Andrew Bennetts.
+
+..
+
+.. bpo: 9826
+.. date: 8217
+.. nonce: OHvlzj
+.. section: Library
+
+OrderedDict.__repr__ can now handle self-referential values:   d['x'] = d.
+
+..
+
+.. bpo: 767645
+.. date: 8216
+.. nonce: YgbDPp
+.. section: Library
+
+Set os.path.supports_unicode_filenames to True on Mac OS X.
+
+..
+
+.. bpo: 9837
+.. date: 8215
+.. nonce: EZowT2
+.. section: Library
+
+The read() method of ZipExtFile objects (as returned by ZipFile.open())
+could return more bytes than requested.
+
+..
+
+.. bpo: 9825
+.. date: 8214
+.. nonce: MVYNUl
+.. section: Library
+
+removed __del__ from the definition of collections.OrderedDict. This
+prevents user-created self-referencing ordered dictionaries from becoming
+permanently uncollectable GC garbage.  The downside is that removing __del__
+means that the internal doubly-linked list has to wait for GC collection
+rather than freeing memory immediately when the refcnt drops to zero.
+
+..
+
+.. bpo: 9816
+.. date: 8213
+.. nonce: jOgfeD
+.. section: Library
+
+random.Random.jumpahead(n) did not produce a sufficiently different internal
+state for small values of n.  Fixed by salting the value.
+
+..
+
+.. bpo: 9792
+.. date: 8212
+.. nonce: 6d8KN7
+.. section: Library
+
+In case of connection failure, socket.create_connection() would swallow the
+exception and raise a new one, making it impossible to fetch the original
+errno, or to filter timeout errors.  Now the original error is re-raised.
+
+..
+
+.. bpo: 9758
+.. date: 8211
+.. nonce: bTCX3s
+.. section: Library
+
+When fcntl.ioctl() was called with mutable_flag set to True, and the passed
+buffer was exactly 1024 bytes long, the buffer wouldn't be updated back
+after the system call.  Original patch by Brian Brazil.
+
+..
+
+.. bpo: 1100562
+.. date: 8210
+.. nonce: w61Crx
+.. section: Library
+
+Fix deep-copying of objects derived from the list and dict types.  Patch by
+Michele Orrù and Björn Lindqvist.
+
+..
+
+.. bpo: 7005
+.. date: 8209
+.. nonce: MVOzyL
+.. section: Library
+
+Fixed output of None values for RawConfigParser.write and
+ConfigParser.write.
+
+..
+
+.. bpo: 808164
+.. date: 8208
+.. nonce: P5YO_B
+.. section: Library
+
+Fixed socket.close to avoid references to globals, to avoid issues when
+socket.close is called from a __del__ method.
+
+..
+
+.. bpo: 2986
+.. date: 8207
+.. nonce: BeBn_s
+.. section: Library
+
+difflib.SequenceMatcher gets a new parameter, autojunk, which can be set to
+False to turn off the previously undocumented 'popularity' heuristic. Patch
+by Terry Reedy and Eli Bendersky
+
+..
+
+.. bpo: 8797
+.. date: 8206
+.. nonce: IkQxYA
+.. section: Library
+
+urllib2 does a retry for Basic Authentication failure instead of falling
+into recursion.
+
+..
+
+.. bpo: 1194222
+.. date: 8205
+.. nonce: UXCJLq
+.. section: Library
+
+email.utils.parsedate now returns RFC2822 compliant four character years
+even if the message contains RFC822 two character years.
+
+..
+
+.. bpo: 8750
+.. date: 8204
+.. nonce: ldqODt
+.. section: Library
+
+Fixed MutableSet's methods to correctly handle reflexive operations, namely
+x -= x and x ^= x.
+
+..
+
+.. bpo: 9129
+.. date: 8203
+.. nonce: AYXAAf
+.. section: Library
+
+smtpd.py is vulnerable to DoS attacks deriving from missing error handling
+when accepting a new connection.
+
+..
+
+.. bpo: 658749
+.. date: 8202
+.. nonce: THL2I_
+.. section: Library
+
+asyncore's connect() method now correctly interprets winsock errors.
+
+..
+
+.. bpo: 9501
+.. date: 8201
+.. nonce: G-M-pc
+.. section: Library
+
+Fixed logging regressions in cleanup code.
+
+..
+
+.. bpo: 9214
+.. date: 8200
+.. nonce: j1o-Zo
+.. section: Library
+
+Set operations on KeysView or ItemsView in the collections module now
+correctly return a set.  (Patch by Eli Bendersky.)
+
+..
+
+.. bpo: 9617
+.. date: 8199
+.. nonce: blJoL4
+.. section: Library
+
+Signals received during a low-level write operation aren't ignored by the
+buffered IO layer anymore.
+
+..
+
+.. bpo: 2521
+.. date: 8198
+.. nonce: iTl7ZU
+.. section: Library
+
+Use weakrefs on for caching in the abc module, so that classes are not held
+onto after they are deleted elsewhere.
+
+..
+
+.. bpo: 9626
+.. date: 8197
+.. nonce: Vowb6X
+.. section: Library
+
+the view methods for collections.OrderedDict() were returning the unordered
+versions inherited from dict.  Those methods are now overridden to provide
+ordered views.
+
+..
+
+.. bpo: 8688
+.. date: 8196
+.. nonce: fFdtWn
+.. section: Library
+
+MANIFEST files created by distutils now include a magic comment indicating
+they are generated.  Manually maintained MANIFESTs without this marker will
+not be overwritten or removed.
+
+..
+
+.. bpo: 7467
+.. date: 8195
+.. nonce: 2aq5Vk
+.. section: Library
+
+when reading a file from a ZIP archive, its CRC is checked and a BadZipfile
+error is raised if it doesn't match (as used to be the case in Python 2.5
+and earlier).
+
+..
+
+.. bpo: 9550
+.. date: 8194
+.. nonce: gz0PSS
+.. section: Library
+
+a BufferedReader could issue an additional read when the original read
+request had been satisfied, which could block indefinitely when the
+underlying raw IO channel was e.g. a socket.  Report and original patch by
+Jason V. Miller.
+
+..
+
+.. bpo: 9551
+.. date: 8193
+.. nonce: 2q2VFJ
+.. section: Library
+
+Don't raise TypeError when setting the value to None for SafeConfigParser
+instances constructed with allow_no_value == True.
+
+..
+
+.. bpo: 6915
+.. date: 8192
+.. nonce: Nh2L6-
+.. section: Library
+
+Under Windows, os.listdir() didn't release the Global Interpreter Lock
+around all system calls.  Original patch by Ryan Kelly.
+
+..
+
+.. bpo: 3757
+.. date: 8191
+.. nonce: Dfue1t
+.. section: Library
+
+thread-local objects now support cyclic garbage collection. Thread-local
+objects involved in reference cycles will be deallocated timely by the
+cyclic GC, even if the underlying thread is still running.
+
+..
+
+.. bpo: 6231
+.. date: 8190
+.. nonce: fvS6jF
+.. section: Library
+
+Fix xml.etree.ElementInclude to include the tail of the current node.
+
+..
+
+.. bpo: 6869
+.. date: 8189
+.. nonce: SI1hyJ
+.. section: Library
+
+Fix a refcount problem in the _ctypes extension.
+
+..
+
+.. bpo: 5504
+.. date: 8188
+.. nonce: DyvVKo
+.. section: Library
+
+ctypes should now work with systems where mmap can't be PROT_WRITE and
+PROT_EXEC.
+
+..
+
+.. bpo: 8280
+.. date: 8187
+.. nonce: PrpMXx
+.. section: Library
+
+urllib2's Request method will remove fragements in the url. This is how it
+is supposed to work, wget and curl do the same.  Previous behavior was
+wrong.
+
+..
+
+.. bpo: 2944
+.. date: 8186
+.. nonce: uva4MG
+.. section: Library
+
+asyncore doesn't handle connection refused correctly.
+
+..
+
+.. bpo: 3196
+.. date: 8185
+.. nonce: oFknaj
+.. section: Library
+
+email header decoding is now forgiving if an RFC2047 encoded word encoded in
+base64 is lacking padding.
+
+..
+
+.. bpo: 9444
+.. date: 8184
+.. nonce: KdKxOB
+.. section: Library
+
+Argparse now uses the first element of prefix_chars as the option character
+for the added 'h/help' option if prefix_chars does not contain a '-',
+instead of raising an error.
+
+..
+
+.. bpo: 9354
+.. date: 8183
+.. nonce: 4mGRrJ
+.. section: Library
+
+Provide getsockopt() in asyncore's file_wrapper.
+
+..
+
+.. bpo: 9428
+.. date: 8182
+.. nonce: 0pea6y
+.. section: Library
+
+Fix running scripts with the profile/cProfile modules from the command line.
+
+..
+
+.. bpo: 7781
+.. date: 8181
+.. nonce: qJIM6S
+.. section: Library
+
+Fix restricting stats by entry counts in the pstats interactive browser.
+
+..
+
+.. bpo: 9209
+.. date: 8180
+.. nonce: q5h2aM
+.. section: Library
+
+Do not crash in the pstats interactive browser on invalid regular
+expressions.
+
+..
+
+.. bpo: 7372
+.. date: 8179
+.. nonce: bjWkFm
+.. section: Library
+
+Fix pstats regression when stripping paths from profile data generated with
+the profile module.
+
+..
+
+.. bpo: 4108
+.. date: 8178
+.. nonce: SGW4tp
+.. section: Library
+
+In urllib.robotparser, if there are multiple 'User-agent: *' entries,
+consider the first one.
+
+..
+
+.. bpo: 8397
+.. date: 8177
+.. nonce: xNl1c0
+.. section: Library
+
+Raise an error when attempting to mix iteration and regular reads on a
+BZ2File object, rather than returning incorrect results.
+
+..
+
+.. bpo: 5294
+.. date: 8176
+.. nonce: OW1qhg
+.. section: Library
+
+Fix the behavior of pdb's "continue" command when called in the top-level
+debugged frame.
+
+..
+
+.. bpo: 5727
+.. date: 8175
+.. nonce: sYm_N8
+.. section: Library
+
+Restore the ability to use readline when calling into pdb in doctests.
+
+..
+
+.. bpo: 6719
+.. date: 8174
+.. nonce: _9t4CD
+.. section: Library
+
+In pdb, do not stop somewhere in the encodings machinery if the source file
+to be debugged is in a non-builtin encoding.
+
+..
+
+.. bpo: 8048
+.. date: 8173
+.. nonce: UMKE5S
+.. section: Library
+
+Prevent doctests from failing when sys.displayhook has been reassigned.
+
+..
+
+.. bpo: 8015
+.. date: 8172
+.. nonce: YNaP75
+.. section: Library
+
+In pdb, do not crash when an empty line is entered as a breakpoint command.
+
+..
+
+.. bpo: 9448
+.. date: 8171
+.. nonce: UD0blh
+.. section: Library
+
+Fix a leak of OS resources (mutexes or semaphores) when re-initializing a
+buffered IO object by calling its ``__init__`` method.
+
+..
+
+.. bpo: 7909
+.. date: 8170
+.. nonce: KNWthV
+.. section: Library
+
+Do not touch paths with the special prefixes ``\\.\`` or ``\\?\`` in
+ntpath.normpath().
+
+..
+
+.. bpo: 5146
+.. date: 8169
+.. nonce: f9NwCU
+.. section: Library
+
+Handle UID THREAD command correctly in imaplib.
+
+..
+
+.. bpo: 5147
+.. date: 8168
+.. nonce: ANusbF
+.. section: Library
+
+Fix the header generated for cookie files written by
+http.cookiejar.MozillaCookieJar.
+
+..
+
+.. bpo: 8198
+.. date: 8167
+.. nonce: WrGm2c
+.. section: Library
+
+In pydoc, output all help text to the correct stream when sys.stdout is
+reassigned.
+
+..
+
+.. bpo: 7395
+.. date: 8166
+.. nonce: FkZk7v
+.. section: Library
+
+Fix tracebacks in pstats interactive browser.
+
+..
+
+.. bpo: 8230
+.. date: 8165
+.. nonce: pBkzM8
+.. section: Library
+
+Fix Lib/test/sortperf.py.
+
+..
+
+.. bpo: 1713
+.. date: 8164
+.. nonce: fknkI-
+.. section: Library
+
+Fix os.path.ismount(), which returned true for symbolic links across
+devices.
+
+..
+
+.. bpo: 8826
+.. date: 8163
+.. nonce: PcQ9NA
+.. section: Library
+
+Properly load old-style "expires" attribute in http.cookies.
+
+..
+
+.. bpo: 1690103
+.. date: 8162
+.. nonce: 5tT47_
+.. section: Library
+
+Fix initial namespace for code run with trace.main().
+
+..
+
+.. bpo: 8471
+.. date: 8161
+.. nonce: RqN6fc
+.. section: Library
+
+In doctest, properly reset the output stream to an empty string when Unicode
+was previously output.
+
+..
+
+.. bpo: 8620
+.. date: 8160
+.. nonce: qQR7E1
+.. section: Library
+
+when a Cmd is fed input that reaches EOF without a final newline, it no
+longer truncates the last character of the last command line.
+
+..
+
+.. bpo: 6213
+.. date: 8159
+.. nonce: oyAtZ0
+.. section: Library
+
+Implement getstate() and setstate() methods of utf-8-sig and utf-16
+incremental encoders.
+
+..
+
+.. bpo: 7113
+.. date: 8158
+.. nonce: vO-_y8
+.. section: Library
+
+Speed up loading in ConfigParser. Patch by Łukasz Langa.
+
+..
+
+.. bpo: 3704
+.. date: 8157
+.. nonce: UbuUn3
+.. section: Library
+
+cookielib was not properly handling URLs with a / in the parameters.
+
+..
+
+.. bpo: 9032
+.. date: 8156
+.. nonce: zX39th
+.. section: Library
+
+XML-RPC client retries the request on EPIPE error. The EPIPE error occurs
+when the server closes the socket and the client sends a big XML-RPC
+request.
+
+..
+
+.. bpo: 5542
+.. date: 8155
+.. nonce: v5vo1o
+.. section: Library
+
+Remove special logic that closes HTTPConnection socket on EPIPE.
+
+..
+
+.. bpo: 4629
+.. date: 8154
+.. nonce: warUcf
+.. section: Library
+
+getopt raises an error if an argument ends with = whereas getopt doesn't
+except a value (eg. --help= is rejected if getopt uses ['help='] long
+options).
+
+..
+
+.. bpo: 7895
+.. date: 8153
+.. nonce: citB4G
+.. section: Library
+
+platform.mac_ver() no longer crashes after calling os.fork()
+
+..
+
+.. bpo: 5395
+.. date: 8152
+.. nonce: _AaZih
+.. section: Library
+
+array.fromfile() would raise a spurious EOFError when an I/O error occurred.
+Now an IOError is raised instead.  Patch by chuck (Jan Hosang).
+
+..
+
+.. bpo: 7646
+.. date: 8151
+.. nonce: af6LG8
+.. section: Library
+
+The fnmatch pattern cache no longer grows without bound.
+
+..
+
+.. bpo: 9136
+.. date: 8150
+.. nonce: GFQg0c
+.. section: Library
+
+Fix 'dictionary changed size during iteration' RuntimeError produced when
+profiling the decimal module.  This was due to a dangerous iteration over
+'locals()' in Context.__init__.
+
+..
+
+.. bpo: 0
+.. date: 8149
+.. nonce: aX1_fT
+.. section: Library
+
+Fix extreme speed issue in Decimal.pow when the base is an exact power of 10
+and the exponent is tiny (for example, Decimal(10) **
+Decimal('1e-999999999')).
+
+..
+
+.. bpo: 9161
+.. date: 8148
+.. nonce: 8Az_aI
+.. section: Library
+
+Fix regression in optparse's acceptance of unicode strings in add_option
+calls.
+
+..
+
+.. bpo: 9130
+.. date: 8147
+.. nonce: cB_z-D
+.. section: Library
+
+Fix validation of relative imports in parser module.
+
+..
+
+.. bpo: 9128
+.. date: 8146
+.. nonce: 2OKBVh
+.. section: Library
+
+Fix validation of class decorators in parser module.
+
+..
+
+.. bpo: 9164
+.. date: 8145
+.. nonce: SK5COV
+.. section: Library
+
+Ensure sysconfig handles dupblice archs while building on OSX
+
+..
+
+.. bpo: 9315
+.. date: 8144
+.. nonce: cZkTvS
+.. section: Library
+
+Fix for the trace module to record correct class name for tracing methods.
+
+..
+
+.. bpo: 9054
+.. date: 8143
+.. nonce: UkA-OR
+.. section: Library
+
+Fix a crash occurring when using the pyexpat module with expat version
+2.0.1.
+
+..
+
+.. bpo: 10003
+.. date: 8142
+.. nonce: AzaOdd
+.. section: Library
+
+Allow handling of SIGBREAK on Windows. Fixes a regression introduced by
+issue #9324.
+
+..
+
+.. bpo: 8734
+.. date: 8141
+.. nonce: f1CtFi
+.. section: Library
+
+Avoid crash in msvcrt.get_osfhandle() when an invalid file descriptor is
+provided.  Patch by Pascal Chambon.
+
+..
+
+.. bpo: 7736
+.. date: 8140
+.. nonce: 7n0AS1
+.. section: Library
+
+Release the GIL around calls to opendir() and closedir() in the posix
+module.  Patch by Marcin Bachry.
+
+..
+
+.. bpo: 0
+.. date: 8139
+.. nonce: Z5wyzY
+.. section: Library
+
+As a result of issue #2521, the _weakref module is now compiled into the
+interpreter by default.
+
+..
+
+.. bpo: 9324
+.. date: 8138
+.. nonce: c_m8af
+.. section: Library
+
+Add parameter validation to signal.signal on Windows in order to prevent
+crashes.
+
+..
+
+.. bpo: 9526
+.. date: 8137
+.. nonce: 8aO189
+.. section: Library
+
+Remove some outdated (int) casts that were preventing the array module from
+working correctly with arrays of more than 2**31 elements.
+
+..
+
+.. bpo: 0
+.. date: 8136
+.. nonce: yfc3zR
+.. section: Library
+
+Fix memory leak in ssl._ssl._test_decode_cert.
+
+..
+
+.. bpo: 8065
+.. date: 8135
+.. nonce: c5wBHe
+.. section: Library
+
+Fix memory leak in readline module (from failure to free the result of
+history_get_history_state()).
+
+..
+
+.. bpo: 9450
+.. date: 8134
+.. nonce: 16iwLn
+.. section: Library
+
+Fix memory leak in readline.replace_history_item and
+readline.remove_history_item for readline version >= 5.0.
+
+..
+
+.. bpo: 8105
+.. date: 8133
+.. nonce: GM5E7v
+.. section: Library
+
+Validate file descriptor passed to mmap.mmap on Windows.
+
+..
+
+.. bpo: 1019882
+.. date: 8132
+.. nonce: VnQ_2J
+.. section: Library
+
+Fix IndexError when loading certain hotshot stats.
+
+..
+
+.. bpo: 9422
+.. date: 8131
+.. nonce: MWxuZj
+.. section: Library
+
+Fix memory leak when re-initializing a struct.Struct object.
+
+..
+
+.. bpo: 7900
+.. date: 8130
+.. nonce: s8mvNz
+.. section: Library
+
+The getgroups(2) system call on MacOSX behaves rather oddly compared to
+other unix systems. In particular, os.getgroups() does not reflect any
+changes made using os.setgroups() but basically always returns the same
+information as the id command.
+
+os.getgroups() can now return more than 16 groups on MacOSX.
+
+..
+
+.. bpo: 9277
+.. date: 8129
+.. nonce: yRnO3Z
+.. section: Library
+
+Fix bug in struct.pack for bools in standard mode (e.g., struct.pack('>?')):
+if conversion to bool raised an exception then that exception wasn't
+properly propagated on machines where char is unsigned.
+
+..
+
+.. bpo: 7567
+.. date: 8128
+.. nonce: hujTBu
+.. section: Library
+
+Don't call `setupterm' twice.
+
+..
+
+.. bpo: 7287
+.. date: 8127
+.. nonce: 6G503Q
+.. section: Tools/Demos
+
+Demo/imputil/knee.py was removed.
+
+..
+
+.. bpo: 9188
+.. date: 8126
+.. nonce: XIcIjV
+.. section: Tools/Demos
+
+The gdb extension now handles correctly narrow (UCS2) as well as wide (UCS4)
+unicode builds for both the host interpreter (embedded inside gdb) and the
+interpreter under test.
+
+..
+
+.. bpo: 8852
+.. date: 8125
+.. nonce: WD9-r5
+.. section: Build
+
+Allow the socket module to build on OpenSolaris.
+
+..
+
+.. bpo: 10054
+.. date: 8124
+.. nonce: Pi5IJn
+.. section: Build
+
+Some platforms provide uintptr_t in inttypes.h.  Patch by Akira Kitada.
+
+..
+
+.. bpo: 10055
+.. date: 8123
+.. nonce: xfTPZn
+.. section: Build
+
+Make json C89-compliant in UCS4 mode.
+
+..
+
+.. bpo: 1633863
+.. date: 8122
+.. nonce: 08O8Og
+.. section: Build
+
+Don't ignore $CC under AIX.
+
+..
+
+.. bpo: 9810
+.. date: 8121
+.. nonce: JACTWC
+.. section: Build
+
+Compile bzip2 source files in python's project file directly. It used to be
+built with bzip2's makefile.
+
+..
+
+.. bpo: 941346
+.. date: 8120
+.. nonce: 4aE21V
+.. section: Build
+
+Improve the build process under AIX and allow Python to be built as a shared
+library.  Patch by Sébastien Sablé.
+
+..
+
+.. bpo: 4026
+.. date: 8119
+.. nonce: 2Kz_uL
+.. section: Build
+
+Make the fcntl extension build under AIX.  Patch by Sébastien Sablé.
+
+..
+
+.. bpo: 3101
+.. date: 8118
+.. nonce: zq3p0s
+.. section: Build
+
+Helper functions _add_one_to_index_C() and _add_one_to_index_F() become
+_Py_add_one_to_index_C() and _Py_add_one_to_index_F(), respectively.
+
+..
+
+.. bpo: 9700
+.. date: 8117
+.. nonce: tC4cof
+.. section: Build
+
+define HAVE_BROKEN_POSIX_SEMAPHORES under AIX 6.x.  Patch by Sébastien
+Sablé.
+
+..
+
+.. bpo: 9280
+.. date: 8116
+.. nonce: 2PISFF
+.. section: Build
+
+Make sharedinstall depend on sharedmods.
+
+..
+
+.. bpo: 9275
+.. date: 8115
+.. nonce: DcFin-
+.. section: Build
+
+The OSX installer once again installs links to binaries in
+``/usr/local/bin``.
+
+..
+
+.. bpo: 9392
+.. date: 8114
+.. nonce: aY7w6w
+.. section: Build
+
+A framework build on OSX will once again use a versioned name of the
+``2to3`` tool, that is you can use ``2to3-2.7`` to select the Python 2.7
+edition of 2to3.
+
+..
+
+.. bpo: 9701
+.. date: 8113
+.. nonce: hgaEU8
+.. section: Build
+
+The MacOSX installer can patch the shell profile to ensure that the "bin"
+directory inside the framework is on the shell's search path. This feature
+now also supports the ZSH shell.
+
+..
+
+.. bpo: 7473
+.. date: 8112
+.. nonce: NuS196
+.. section: Build
+
+avoid link errors when building a framework with a different set of
+architectures than the one that is currently installed.
+
+..
+
+.. bpo: 9978
+.. date: 8111
+.. nonce: PgNzKW
+.. section: Tests
+
+Wait until subprocess completes initialization. (Win32KillTests in test_os)
+
+..
+
+.. bpo: 9894
+.. date: 8110
+.. nonce: 9cw69_
+.. section: Tests
+
+Do not hardcode ENOENT in test_subprocess.
+
+..
+
+.. bpo: 9323
+.. date: 8109
+.. nonce: qAJ8-i
+.. section: Tests
+
+Make test.regrtest.__file__ absolute, this was not always the case when
+running profile or trace, for example.
+
+..
+
+.. bpo: 9315
+.. date: 8108
+.. nonce: f1i0qq
+.. section: Tests
+
+Added tests for the trace module.  Patch by Eli Bendersky.
+
+..
+
+.. bpo: 0
+.. date: 8107
+.. nonce: AVwNn9
+.. section: Tests
+
+Strengthen test_unicode with explicit type checking for assertEqual tests.
+
+..
+
+.. bpo: 8857
+.. date: 8106
+.. nonce: Hy6Qmf
+.. section: Tests
+
+Provide a test case for socket.getaddrinfo.
+
+..
+
+.. bpo: 7564
+.. date: 8105
+.. nonce: ps-pN3
+.. section: Tests
+
+Skip test_ioctl if another process is attached to /dev/tty.
+
+..
+
+.. bpo: 8433
+.. date: 8104
+.. nonce: kMuB7u
+.. section: Tests
+
+Fix test_curses failure with newer versions of ncurses.
+
+..
+
+.. bpo: 9496
+.. date: 8103
+.. nonce: UDIGR0
+.. section: Tests
+
+Provide a test suite for the rlcompleter module.  Patch by Michele Orrù.
+
+..
+
+.. bpo: 8605
+.. date: 8102
+.. nonce: jxIp6Y
+.. section: Tests
+
+Skip test_gdb if Python is compiled with optimizations.
+
+..
+
+.. bpo: 9568
+.. date: 8101
+.. nonce: OoJYE5
+.. section: Tests
+
+Fix test_urllib2_localnet on OS X 10.3.
+
+..
+
+.. bpo: 9817
+.. date: 8100
+.. nonce: sk3Q3T
+.. section: Documentation
+
+Add expat COPYING file; add expat, libffi and expat licenses to
+Doc/license.rst.
+
+..
+
+.. bpo: 9524
+.. date: 8099
+.. nonce: Es25xw
+.. section: Documentation
+
+Document that two CTRL* signals are meant for use only with os.kill.
+
+..
+
+.. bpo: 9255
+.. date: 8098
+.. nonce: tp81US
+.. section: Documentation
+
+Document that the 'test' package is for internal Python use only.
+
+..
+
+.. bpo: 7829
+.. date: 8097
+.. nonce: o1BLF0
+.. section: Documentation
+
+Document in dis that bytecode is an implementation detail.
diff --git a/Misc/NEWS.d/2.7.2.rst b/Misc/NEWS.d/2.7.2.rst
new file mode 100644
index 0000000..346afb1
--- /dev/null
+++ b/Misc/NEWS.d/2.7.2.rst
@@ -0,0 +1,16 @@
+.. bpo: 12009
+.. date: 8463
+.. nonce: nQPg8Y
+.. release date: 2011-06-11
+.. section: Library
+
+Fixed regression in netrc file comment handling.
+
+..
+
+.. bpo: 1221
+.. date: 8462
+.. nonce: vFJB6t
+.. section: Library
+
+Make pyexpat.__version__ equal to the Python version.
diff --git a/Misc/NEWS.d/2.7.2rc1.rst b/Misc/NEWS.d/2.7.2rc1.rst
new file mode 100644
index 0000000..0b6f7c0
--- /dev/null
+++ b/Misc/NEWS.d/2.7.2rc1.rst
@@ -0,0 +1,1661 @@
+.. bpo: 9670
+.. date: 8461
+.. nonce: D4p50W
+.. release date: 2011-05-29
+.. section: Core and Builtins
+
+Increase the default stack size for secondary threads on Mac OS X and
+FreeBSD to reduce the chances of a crash instead of a "maximum recursion
+depth" RuntimeError exception. (patch by Ronald Oussoren)
+
+..
+
+.. bpo: 0
+.. date: 8460
+.. nonce: w122h9
+.. section: Core and Builtins
+
+Correct lookup of __dir__ on objects. This allows old-style classes to have
+__dir__. It also causes errors besides AttributeError found on lookup to be
+propagated.
+
+..
+
+.. bpo: 1195
+.. date: 8459
+.. nonce: rUvlec
+.. section: Core and Builtins
+
+Fix input() if it is interrupted by CTRL+d and then CTRL+c, clear the end-
+of-file indicator after CTRL+d.
+
+..
+
+.. bpo: 8651
+.. date: 8458
+.. nonce: KT0VWy
+.. section: Core and Builtins
+
+PyArg_Parse*() functions raise an OverflowError if the file doesn't have
+PY_SSIZE_T_CLEAN define and the size doesn't fit in an int (length bigger
+than 2^31-1 bytes).
+
+..
+
+.. bpo: 8651
+.. date: 8457
+.. nonce: d-KV9c
+.. section: Core and Builtins
+
+Fix "z#" format of PyArg_Parse*() function: the size was not written if
+PY_SSIZE_T_CLEAN is defined.
+
+..
+
+.. bpo: 9756
+.. date: 8456
+.. nonce: L962XN
+.. section: Core and Builtins
+
+When calling a method descriptor or a slot wrapper descriptor, the check of
+the object type doesn't read the __class__ attribute anymore. Fix a crash if
+a class override its __class__ attribute (e.g. a proxy of the str type).
+Patch written by Andreas Stührk.
+
+..
+
+.. bpo: 10517
+.. date: 8455
+.. nonce: eHRgPe
+.. section: Core and Builtins
+
+After fork(), reinitialize the TLS used by the PyGILState_* APIs, to avoid a
+crash with the pthread implementation in RHEL 5.  Patch by Charles-François
+Natali.
+
+..
+
+.. bpo: 6780
+.. date: 8454
+.. nonce: MS1yFK
+.. section: Core and Builtins
+
+fix starts/endswith error message to mention that tuples are accepted too.
+
+..
+
+.. bpo: 5057
+.. date: 8453
+.. nonce: BMmS2n
+.. section: Core and Builtins
+
+fix a bug in the peepholer that led to non-portable pyc files between narrow
+and wide builds while optimizing BINARY_SUBSCR on non-BMP chars (e.g.
+u"\U00012345"[0]).
+
+..
+
+.. bpo: 11650
+.. date: 8452
+.. nonce: r47Jvk
+.. section: Core and Builtins
+
+PyOS_StdioReadline() retries fgets() if it was interrupted (EINTR), for
+example if the program is stopped with CTRL+z on Mac OS X. Patch written by
+Charles-Francois Natali.
+
+..
+
+.. bpo: 11144
+.. date: 8451
+.. nonce: FE1cYC
+.. section: Core and Builtins
+
+Ensure that int(a_float) returns an int whenever possible. Previously, there
+were some corner cases where a long was returned even though the result was
+within the range of an int.
+
+..
+
+.. bpo: 11450
+.. date: 8450
+.. nonce: ulI9xJ
+.. section: Core and Builtins
+
+Don't truncate hg version info in Py_GetBuildInfo() when there are many tags
+(e.g. when using mq).  Patch by Nadeem Vawda.
+
+..
+
+.. bpo: 10451
+.. date: 8449
+.. nonce: wlYiI8
+.. section: Core and Builtins
+
+memoryview objects could allow mutating a readable buffer. Initial patch by
+Ross Lagerwall.
+
+..
+
+.. bpo: 10892
+.. date: 8448
+.. nonce: ATjwD_
+.. section: Core and Builtins
+
+Don't segfault when trying to delete __abstractmethods__ from a class.
+
+..
+
+.. bpo: 8020
+.. date: 8447
+.. nonce: aERuZE
+.. section: Core and Builtins
+
+Avoid a crash where the small objects allocator would read non-Python
+managed memory while it is being modified by another thread. Patch by Matt
+Bandy.
+
+..
+
+.. bpo: 11004
+.. date: 8446
+.. nonce: 2Wj4t8
+.. section: Core and Builtins
+
+Repaired edge case in deque.count().
+
+..
+
+.. bpo: 8278
+.. date: 8445
+.. nonce: 8P-kMi
+.. section: Core and Builtins
+
+On Windows and with a NTFS filesystem, os.stat() and os.utime() can now
+handle dates after 2038.
+
+..
+
+.. bpo: 4236
+.. date: 8444
+.. nonce: kMjQK6
+.. section: Core and Builtins
+
+Py_InitModule4 now checks the import machinery directly rather than the
+Py_IsInitialized flag, avoiding a Fatal Python error in certain
+circumstances when an import is done in __del__.
+
+..
+
+.. bpo: 11828
+.. date: 8443
+.. nonce: nBlnst
+.. section: Core and Builtins
+
+startswith and endswith don't accept None as slice index. Patch by Torsten
+Becker.
+
+..
+
+.. bpo: 10674
+.. date: 8442
+.. nonce: ZNFQ1f
+.. section: Core and Builtins
+
+Remove unused 'dictmaker' rule from grammar.
+
+..
+
+.. bpo: 10596
+.. date: 8441
+.. nonce: r05xzm
+.. section: Core and Builtins
+
+Fix float.__mod__ to have the same behaviour as float.__divmod__ with
+respect to signed zeros.  -4.0 % 4.0 should be 0.0, not -0.0.
+
+..
+
+.. bpo: 11386
+.. date: 8440
+.. nonce: wrrB8K
+.. section: Core and Builtins
+
+bytearray.pop() now throws IndexError when the bytearray is empty, instead
+of OverflowError.
+
+..
+
+.. bpo: 12161
+.. date: 8439
+.. nonce: CmDpNV
+.. section: Library
+
+Cause StringIO.getvalue() to raise a ValueError when used on a closed
+StringIO instance.
+
+..
+
+.. bpo: 12182
+.. date: 8438
+.. nonce: IWruZQ
+.. section: Library
+
+Fix pydoc.HTMLDoc.multicolumn() if Python uses the new (true) division
+(python -Qnew). Patch written by Ralf W. Grosse-Kunstleve.
+
+..
+
+.. bpo: 12175
+.. date: 8437
+.. nonce: 9M55CV
+.. section: Library
+
+RawIOBase.readall() now returns None if read() returns None.
+
+..
+
+.. bpo: 12175
+.. date: 8436
+.. nonce: U3k4iw
+.. section: Library
+
+FileIO.readall() now raises a ValueError instead of an IOError if the file
+is closed.
+
+..
+
+.. bpo: 1441530
+.. date: 8435
+.. nonce: pSlnFk
+.. section: Library
+
+In imaplib, use makefile() to wrap the SSL socket to avoid heap
+fragmentation and MemoryError with some malloc implementations.
+
+..
+
+.. bpo: 12100
+.. date: 8434
+.. nonce: 4sb-gJ
+.. section: Library
+
+Don't reset incremental encoders of CJK codecs at each call to their
+encode() method anymore, but continue to call the reset() method if the
+final argument is True.
+
+..
+
+.. bpo: 12124
+.. date: 8433
+.. nonce: qpMI7g
+.. section: Library
+
+zipimport doesn't keep a reference to zlib.decompress() anymore to be able
+to unload the module.
+
+..
+
+.. bpo: 10154
+.. date: 8432
+.. nonce: 4iPVr8
+.. section: Library
+
+change the normalization of UTF-8 to "UTF-8" instead of "UTF8" in the locale
+module as the latter is not supported MacOSX and OpenBSD. (See also:
+bpo-10090)
+
+..
+
+.. bpo: 9516
+.. date: 8431
+.. nonce: WLkxuC
+.. section: Library
+
+avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET is set in shell.
+
+..
+
+.. bpo: 12050
+.. date: 8430
+.. nonce: v6HF9i
+.. section: Library
+
+zlib.decompressobj().decompress() now clears the unconsumed_tail attribute
+when called without a max_length argument.
+
+..
+
+.. bpo: 12062
+.. date: 8429
+.. nonce: fUVuyO
+.. section: Library
+
+In the `io` module, fix a flushing bug when doing a certain type of I/O
+sequence on a file opened in read+write mode (namely: reading, seeking a bit
+forward, writing, then seeking before the previous write but still within
+buffered data, and writing again).
+
+..
+
+.. bpo: 8498
+.. date: 8428
+.. nonce: XooGVI
+.. section: Library
+
+In socket.accept(), allow specifying 0 as a backlog value in order to accept
+exactly one connection.  Patch by Daniel Evers.
+
+..
+
+.. bpo: 12012
+.. date: 8427
+.. nonce: raFUoR
+.. section: Library
+
+ssl.PROTOCOL_SSLv2 becomes optional.
+
+..
+
+.. bpo: 11927
+.. date: 8426
+.. nonce: UqvRAV
+.. section: Library
+
+SMTP_SSL now uses port 465 by default as documented.  Patch by Kasun Herath.
+
+..
+
+.. bpo: 11999
+.. date: 8425
+.. nonce: aLa-HD
+.. section: Library
+
+fixed sporadic sync failure mailbox.Maildir due to its trying to detect
+mtime changes by comparing to the system clock instead of to the previous
+value of the mtime.
+
+..
+
+.. bpo: 10684
+.. date: 8424
+.. nonce: Ctye6o
+.. section: Library
+
+shutil.move used to delete a folder on case insensitive filesystems when the
+source and destination name where the same except for the case.
+
+..
+
+.. bpo: 11982
+.. date: 8423
+.. nonce: 4CiHRO
+.. section: Library
+
+fix json.loads('""') to return u'' rather than ''.
+
+..
+
+.. bpo: 11277
+.. date: 8422
+.. nonce: 4nCUxv
+.. section: Library
+
+mmap.mmap() calls fcntl(fd, F_FULLFSYNC) on Mac OS X to get around a mmap
+bug with sparse files. Patch written by Steffen Daode Nurpmeso.
+
+..
+
+.. bpo: 10761
+.. date: 8421
+.. nonce: rwSQE7
+.. section: Library
+
+Fix tarfile.extractall failure when symlinked files are present. Initial
+patch by Scott Leerssen.
+
+..
+
+.. bpo: 11763
+.. date: 8420
+.. nonce: LPGrnG
+.. section: Library
+
+don't use difflib in TestCase.assertMultiLineEqual if the strings are too
+long.
+
+..
+
+.. bpo: 11236
+.. date: 8419
+.. nonce: DyWdnL
+.. section: Library
+
+getpass.getpass responds to ctrl-c or ctrl-z on terminal.
+
+..
+
+.. bpo: 11768
+.. date: 8418
+.. nonce: HRg5Hy
+.. section: Library
+
+The signal handler of the signal module only calls Py_AddPendingCall() for
+the first signal to fix a deadlock on reentrant or parallel calls.
+PyErr_SetInterrupt() writes also into the wake up file.
+
+..
+
+.. bpo: 11875
+.. date: 8417
+.. nonce: xFn-yD
+.. section: Library
+
+collections.OrderedDict's __reduce__ was temporarily mutating the object
+instead of just working on a copy.
+
+..
+
+.. bpo: 11442
+.. date: 8416
+.. nonce: Jta8go
+.. section: Library
+
+Add a charset parameter to the Content-type in SimpleHTTPServer to avoid XSS
+attacks.
+
+..
+
+.. bpo: 11467
+.. date: 8415
+.. nonce: th8B0N
+.. section: Library
+
+Fix urlparse behavior when handling urls which contains scheme specific part
+only digits. Patch by Santoso Wijaya.
+
+..
+
+.. bpo: 0
+.. date: 8414
+.. nonce: MOd782
+.. section: Library
+
+collections.Counter().copy() now works correctly for subclasses.
+
+..
+
+.. bpo: 11474
+.. date: 8413
+.. nonce: UKTAWA
+.. section: Library
+
+Fix the bug with url2pathname() handling of '/C|/' on Windows. Patch by
+Santoso Wijaya.
+
+..
+
+.. bpo: 9233
+.. date: 8412
+.. nonce: AIRcqi
+.. section: Library
+
+Fix json.loads('{}') to return a dict (instead of a list), when _json is not
+available.
+
+..
+
+.. bpo: 11703
+.. date: 8411
+.. nonce: hwI5Mw
+.. section: Library
+
+urllib2.geturl() does not return correct url when the original url contains
+#fragment.
+
+..
+
+.. bpo: 10019
+.. date: 8410
+.. nonce: J7QVFU
+.. section: Library
+
+Fixed regression in json module where an indent of 0 stopped adding newlines
+and acted instead like 'None'.
+
+..
+
+.. bpo: 5162
+.. date: 8409
+.. nonce: UYJrO-
+.. section: Library
+
+Treat services like frozen executables to allow child spawning from
+multiprocessing.forking on Windows.
+
+..
+
+.. bpo: 4877
+.. date: 8408
+.. nonce: 4B7uDJ
+.. section: Library
+
+Fix a segfault in xml.parsers.expat while attempting to parse a closed file.
+
+..
+
+.. bpo: 11830
+.. date: 8407
+.. nonce: tFEtWl
+.. section: Library
+
+Remove unnecessary introspection code in the decimal module. It was causing
+a failed import in the Turkish locale where the locale sensitive str.upper()
+method caused a name mismatch.
+
+..
+
+.. bpo: 8428
+.. date: 8406
+.. nonce: vVu7J6
+.. section: Library
+
+Fix a race condition in multiprocessing.Pool when terminating worker
+processes: new processes would be spawned while the pool is being shut down.
+Patch by Charles-François Natali.
+
+..
+
+.. bpo: 7311
+.. date: 8405
+.. nonce: lRokCQ
+.. section: Library
+
+Fix HTMLParser to accept non-ASCII attribute values.
+
+..
+
+.. bpo: 10963
+.. date: 8404
+.. nonce: _J-MW9
+.. section: Library
+
+Ensure that subprocess.communicate() never raises EPIPE.
+
+..
+
+.. bpo: 11662
+.. date: 8403
+.. nonce: GpHbgk
+.. section: Library
+
+Make urllib and urllib2 ignore redirections if the scheme is not HTTP, HTTPS
+or FTP (CVE-2011-1521).
+
+..
+
+.. bpo: 11256
+.. date: 8402
+.. nonce: AVqrHZ
+.. section: Library
+
+Fix inspect.getcallargs on functions that take only keyword arguments.
+
+..
+
+.. bpo: 11696
+.. date: 8401
+.. nonce: dzz7nM
+.. section: Library
+
+Fix ID generation in msilib.
+
+..
+
+.. bpo: 9696
+.. date: 8400
+.. nonce: Nh0u8J
+.. section: Library
+
+Fix exception incorrectly raised by xdrlib.Packer.pack_int when trying to
+pack a negative (in-range) integer.
+
+..
+
+.. bpo: 11675
+.. date: 8399
+.. nonce: qFfmkU
+.. section: Library
+
+multiprocessing.[Raw]Array objects created from an integer size are now
+zeroed on creation.  This matches the behaviour specified by the
+documentation.
+
+..
+
+.. bpo: 7639
+.. date: 8398
+.. nonce: PKfmwz
+.. section: Library
+
+Fix short file name generation in bdist_msi.
+
+..
+
+.. bpo: 11666
+.. date: 8397
+.. nonce: Hni56e
+.. section: Library
+
+let help() display named tuple attributes and methods that start with a
+leading underscore.
+
+..
+
+.. bpo: 11673
+.. date: 8396
+.. nonce: uXlx4W
+.. section: Library
+
+Fix multiprocessing Array and RawArray constructors to accept a size of type
+'long', rather than only accepting 'int'.
+
+..
+
+.. bpo: 10042
+.. date: 8395
+.. nonce: SCtRiD
+.. section: Library
+
+Fixed the total_ordering decorator to handle cross-type comparisons that
+could lead to infinite recursion.
+
+..
+
+.. bpo: 10979
+.. date: 8394
+.. nonce: FjyVrT
+.. section: Library
+
+unittest stdout buffering now works with class and module setup and
+teardown.
+
+..
+
+.. bpo: 11569
+.. date: 8393
+.. nonce: fp461F
+.. section: Library
+
+use absolute path to the sysctl command in multiprocessing to ensure that it
+will be found regardless of the shell PATH. This ensures that
+multiprocessing.cpu_count works on default installs of MacOSX.
+
+..
+
+.. bpo: 11500
+.. date: 8392
+.. nonce: SOGd4Y
+.. section: Library
+
+Fixed a bug in the os x proxy bypass code for fully qualified IP addresses
+in the proxy exception list.
+
+..
+
+.. bpo: 11131
+.. date: 8391
+.. nonce: PnmRwo
+.. section: Library
+
+Fix sign of zero in plus and minus operations when the context rounding mode
+is ROUND_FLOOR.
+
+..
+
+.. bpo: 5622
+.. date: 8390
+.. nonce: dM7tnW
+.. section: Library
+
+Fix curses.wrapper to raise correct exception if curses initialization
+fails.
+
+..
+
+.. bpo: 11391
+.. date: 8389
+.. nonce: hdoRPe
+.. section: Library
+
+Writing to a mmap object created with ``mmap.PROT_READ|mmap.PROT_EXEC``
+would segfault instead of raising a TypeError.  Patch by Charles-François
+Natali.
+
+..
+
+.. bpo: 11306
+.. date: 8388
+.. nonce: 2rXDt4
+.. section: Library
+
+mailbox in certain cases adapts to an inability to open certain files in
+read-write mode.  Previously it detected this by checking for EACCES, now it
+also checks for EROFS.
+
+..
+
+.. bpo: 11265
+.. date: 8387
+.. nonce: Y51oyn
+.. section: Library
+
+asyncore now correctly handles EPIPE, EBADF and EAGAIN errors on accept(),
+send() and recv().
+
+..
+
+.. bpo: 11326
+.. date: 8386
+.. nonce: 2GUPyU
+.. section: Library
+
+Add the missing connect_ex() implementation for SSL sockets, and make it
+work for non-blocking connects.
+
+..
+
+.. bpo: 10956
+.. date: 8385
+.. nonce: ArNOt6
+.. section: Library
+
+Buffered I/O classes retry reading or writing after a signal has arrived and
+the handler returned successfully.
+
+..
+
+.. bpo: 10680
+.. date: 8384
+.. nonce: pAmFnC
+.. section: Library
+
+Fix mutually exclusive arguments for argument groups in argparse.
+
+..
+
+.. bpo: 4681
+.. date: 8383
+.. nonce: I20jgq
+.. section: Library
+
+Allow mmap() to work on file sizes and offsets larger than 4GB, even on
+32-bit builds.  Initial patch by Ross Lagerwall, adapted for 32-bit Windows.
+
+..
+
+.. bpo: 10360
+.. date: 8382
+.. nonce: JAYw4l
+.. section: Library
+
+In WeakSet, do not raise TypeErrors when testing for membership of non-
+weakrefable objects.
+
+..
+
+.. bpo: 10549
+.. date: 8381
+.. nonce: 15cASW
+.. section: Library
+
+Fix pydoc traceback when text-documenting certain classes.
+
+..
+
+.. bpo: 940286
+.. date: 8380
+.. nonce: cPglIg
+.. section: Library
+
+pydoc.Helper.help() ignores input/output init parameters.
+
+..
+
+.. bpo: 11171
+.. date: 8379
+.. nonce: ZXEFXT
+.. section: Library
+
+Fix detection of config/Makefile when --prefix != --exec-prefix, which
+caused Python to not start.
+
+..
+
+.. bpo: 11116
+.. date: 8378
+.. nonce: J0xgWH
+.. section: Library
+
+any error during addition of a message to a mailbox now causes a rollback,
+instead of leaving the mailbox partially modified.
+
+..
+
+.. bpo: 8275
+.. date: 8377
+.. nonce: -TRADs
+.. section: Library
+
+Fix passing of callback arguments with ctypes under Win64. Patch by Stan
+Mihai.
+
+..
+
+.. bpo: 10949
+.. date: 8376
+.. nonce: sknBTt
+.. section: Library
+
+Improved robustness of rotating file handlers.
+
+..
+
+.. bpo: 10955
+.. date: 8375
+.. nonce: RSqPRN
+.. section: Library
+
+Fix a potential crash when trying to mmap() a file past its length.  Initial
+patch by Ross Lagerwall.
+
+..
+
+.. bpo: 10898
+.. date: 8374
+.. nonce: 2VhVxS
+.. section: Library
+
+Allow compiling the posix module when the C library defines a symbol named
+FSTAT.
+
+..
+
+.. bpo: 10916
+.. date: 8373
+.. nonce: xpdEg8
+.. section: Library
+
+mmap should not segfault when a file is mapped using 0 as length and a non-
+zero offset, and an attempt to read past the end of file is made (IndexError
+is raised instead).  Patch by Ross Lagerwall.
+
+..
+
+.. bpo: 10875
+.. date: 8372
+.. nonce: RSNYLS
+.. section: Library
+
+Update Regular Expression HOWTO; patch by 'SilentGhost'.
+
+..
+
+.. bpo: 10827
+.. date: 8371
+.. nonce: vjZCZr
+.. section: Library
+
+Changed the rules for 2-digit years.  The time.asctime function will now
+format any year when ``time.accept2dyear`` is false and will accept years >=
+1000 otherwise.  The year range accepted by ``time.mktime`` and
+``time.strftime`` is still system dependent, but ``time.mktime`` will now
+accept full range supported by the OS.  Conversion of 2-digit years to
+4-digit is deprecated.
+
+..
+
+.. bpo: 10869
+.. date: 8370
+.. nonce: 3xBkWx
+.. section: Library
+
+Fixed bug where ast.increment_lineno modified the root node twice.
+
+..
+
+.. bpo: 7858
+.. date: 8369
+.. nonce: DKZMOA
+.. section: Library
+
+Raise an error properly when os.utime() fails under Windows on an existing
+file.
+
+..
+
+.. bpo: 3839
+.. date: 8368
+.. nonce: zMNSit
+.. section: Library
+
+wsgiref should not override a Content-Length header set by the application.
+Initial patch by Clovis Fabricio.
+
+..
+
+.. bpo: 10806
+.. date: 8367
+.. nonce: dEztuB
+.. section: Library
+
+Fix subprocess pipes when some of the standard file descriptors (0, 1, 2)
+are closed in the parent process.  Initial patch by Ross Lagerwall. (See
+also: bpo-9905)
+
+..
+
+.. bpo: 4662
+.. date: 8366
+.. nonce: m3fHnI
+.. section: Library
+
+os.tempnam(), os.tmpfile() and os.tmpnam() now raise a py3k
+DeprecationWarning.
+
+..
+
+.. bpo: 0
+.. date: 8365
+.. nonce: t8RJ2P
+.. section: Library
+
+Subclasses of collections.OrderedDict now work correctly with __missing__.
+
+..
+
+.. bpo: 10753
+.. date: 8364
+.. nonce: pjcQCT
+.. section: Library
+
+Characters ';', '=' and ',' in the PATH_INFO environment variable won't be
+quoted when the URI is constructed by the wsgiref.util 's request_uri
+method. According to RFC 3986, these characters can be a part of params in
+PATH component of URI and need not be quoted.
+
+..
+
+.. bpo: 10738
+.. date: 8363
+.. nonce: GT7QZa
+.. section: Library
+
+Fix webbrowser.Opera.raise_opts
+
+..
+
+.. bpo: 9824
+.. date: 8362
+.. nonce: vJBIAh
+.. section: Library
+
+SimpleCookie now encodes , and ; in values to cater to how browsers actually
+parse cookies.
+
+..
+
+.. bpo: 1379416
+.. date: 8361
+.. nonce: fpWgER
+.. section: Library
+
+eliminated a source of accidental unicode promotion in
+email.header.Header.encode.
+
+..
+
+.. bpo: 5258
+.. date: 8360
+.. nonce: fNenmJ
+.. section: Library
+
+if site.py encounters a .pth file that generates an error, it now prints the
+filename, line number, and traceback to stderr and skips the rest of that
+individual file, instead of stopping processing entirely. (See also:
+bpo-10642)
+
+..
+
+.. bpo: 10750
+.. date: 8359
+.. nonce: o-KFTn
+.. section: Library
+
+The ``raw`` attribute of buffered IO objects is now read-only.
+
+..
+
+.. bpo: 10242
+.. date: 8358
+.. nonce: uwgK8s
+.. section: Library
+
+unittest.TestCase.assertItemsEqual makes too many assumptions about input.
+
+..
+
+.. bpo: 10611
+.. date: 8357
+.. nonce: y67Wpv
+.. section: Library
+
+SystemExit should not cause a unittest test run to exit.
+
+..
+
+.. bpo: 6791
+.. date: 8356
+.. nonce: b5b4M7
+.. section: Library
+
+Limit header line length (to 65535 bytes) in http.client, to avoid denial of
+services from the other party.
+
+..
+
+.. bpo: 9907
+.. date: 8355
+.. nonce: EC_Wry
+.. section: Library
+
+Fix tab handling on OSX when using editline by calling rl_initialize first,
+then setting our custom defaults, then reading .editrc.
+
+..
+
+.. bpo: 4188
+.. date: 8354
+.. nonce: nIr5eF
+.. section: Library
+
+Avoid creating dummy thread objects when logging operations from the
+threading module (with the internal verbose flag activated).
+
+..
+
+.. bpo: 9721
+.. date: 8353
+.. nonce: G8i-SO
+.. section: Library
+
+Fix the behavior of urljoin when the relative url starts with a ';'
+character. Patch by Wes Chow.
+
+..
+
+.. bpo: 10714
+.. date: 8352
+.. nonce: 2ytXWI
+.. section: Library
+
+Limit length of incoming request in http.server to 65536 bytes for security
+reasons.  Initial patch by Ross Lagerwall.
+
+..
+
+.. bpo: 9558
+.. date: 8351
+.. nonce: Zu3z6Q
+.. section: Library
+
+Fix distutils.command.build_ext with VS 8.0.
+
+..
+
+.. bpo: 10695
+.. date: 8350
+.. nonce: 9PoZLI
+.. section: Library
+
+passing the port as a string value to telnetlib no longer causes debug mode
+to fail.
+
+..
+
+.. bpo: 10478
+.. date: 8349
+.. nonce: 3rusTg
+.. section: Library
+
+Reentrant calls inside buffered IO objects (for example by way of a signal
+handler) now raise a RuntimeError instead of freezing the current process.
+
+..
+
+.. bpo: 10497
+.. date: 8348
+.. nonce: KCVp0v
+.. section: Library
+
+Fix incorrect use of gettext in argparse.
+
+..
+
+.. bpo: 10464
+.. date: 8347
+.. nonce: oT76Cm
+.. section: Library
+
+netrc now correctly handles lines with embedded '#' characters.
+
+..
+
+.. bpo: 1731717
+.. date: 8346
+.. nonce: 1WiN2u
+.. section: Library
+
+Fixed the problem where subprocess.wait() could cause an OSError exception
+when The OS had been told to ignore SIGCLD in our process or otherwise not
+wait for exiting child processes.
+
+..
+
+.. bpo: 9509
+.. date: 8345
+.. nonce: Oh-iMy
+.. section: Library
+
+argparse now properly handles IOErrors raised by argparse.FileType.
+
+..
+
+.. bpo: 9348
+.. date: 8344
+.. nonce: zsJPPj
+.. section: Library
+
+Raise an early error if argparse nargs and metavar don't match.
+
+..
+
+.. bpo: 8982
+.. date: 8343
+.. nonce: fTONNH
+.. section: Library
+
+Improve the documentation for the argparse Namespace object.
+
+..
+
+.. bpo: 9343
+.. date: 8342
+.. nonce: 9T-Qyz
+.. section: Library
+
+Document that argparse parent parsers must be configured before their
+children.
+
+..
+
+.. bpo: 9026
+.. date: 8341
+.. nonce: 2xqEFT
+.. section: Library
+
+Fix order of argparse sub-commands in help messages.
+
+..
+
+.. bpo: 9347
+.. date: 8340
+.. nonce: R8xBsQ
+.. section: Library
+
+Fix formatting for tuples in argparse type= error messages.
+
+..
+
+.. bpo: 0
+.. date: 8339
+.. nonce: qXxXWp
+.. section: Library
+
+Stop using the old interface for providing methods and attributes in the
+_sre module. Among other things, this gives these classes ``__class__``
+attributes. (See #12099)
+
+..
+
+.. bpo: 10169
+.. date: 8338
+.. nonce: OXJ9Nh
+.. section: Library
+
+Fix argument parsing in socket.sendto() to avoid error masking.
+
+..
+
+.. bpo: 12051
+.. date: 8337
+.. nonce: 7HjY_U
+.. section: Library
+
+Fix segfault in json.dumps() while encoding highly-nested objects using the
+C accelerations.
+
+..
+
+.. bpo: 12017
+.. date: 8336
+.. nonce: w25YNq
+.. section: Library
+
+Fix segfault in json.loads() while decoding highly-nested objects using the
+C accelerations.
+
+..
+
+.. bpo: 1838
+.. date: 8335
+.. nonce: EzKU3z
+.. section: Library
+
+Prevent segfault in ctypes, when _as_parameter_ on a class is set to an
+instance of the class.
+
+..
+
+.. bpo: 678250
+.. date: 8334
+.. nonce: a5vtlO
+.. section: Library
+
+Make mmap flush a noop on ACCESS_READ and ACCESS_COPY.
+
+..
+
+.. bpo: 11718
+.. date: 8333
+.. nonce: giS1iY
+.. section: IDLE
+
+IDLE's open module dialog couldn't find the __init__.py file in a package.
+
+..
+
+.. bpo: 12590
+.. date: 8332
+.. nonce: dcDjo7
+.. section: IDLE
+
+IDLE editor window now always displays the first line when opening a long
+file.  With Tk 8.5, the first line was hidden.
+
+..
+
+.. bpo: 11088
+.. date: 8331
+.. nonce: 08NI5v
+.. section: IDLE
+
+don't crash when using F5 to run a script in IDLE on MacOSX with Tk 8.5.
+
+..
+
+.. bpo: 10940
+.. date: 8330
+.. nonce: qwi3cm
+.. section: IDLE
+
+Workaround an IDLE hang on Mac OS X 10.6 when using the menu accelerators
+for Open Module, Go to Line, and New Indent Width. The accelerators still
+work but no longer appear in the menu items.
+
+..
+
+.. bpo: 10907
+.. date: 8329
+.. nonce: BHHc_r
+.. section: IDLE
+
+Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5, rather than the
+currently problematic Apple-supplied one, when running with the 64-/32-bit
+installer variant.
+
+..
+
+.. bpo: 11052
+.. date: 8328
+.. nonce: avmtSQ
+.. section: IDLE
+
+Correct IDLE menu accelerators on Mac OS X for Save commands.
+
+..
+
+.. bpo: 6075
+.. date: 8327
+.. nonce: AHKNEZ
+.. section: IDLE
+
+IDLE on Mac OS X now works with both Carbon AquaTk and Cocoa AquaTk.
+
+..
+
+.. bpo: 10404
+.. date: 8326
+.. nonce: CBzs_G
+.. section: IDLE
+
+Use ctl-button-1 on OSX for the context menu in Idle.
+
+..
+
+.. bpo: 10107
+.. date: 8325
+.. nonce: Bsx-F4
+.. section: IDLE
+
+Warn about unsaved files in IDLE on OSX.
+
+..
+
+.. bpo: 10406
+.. date: 8324
+.. nonce: HKSefS
+.. section: IDLE
+
+Enable Rstrip IDLE extension on OSX (just like on other platforms).
+
+..
+
+.. bpo: 6378
+.. date: 8323
+.. nonce: Vr_x3W
+.. section: IDLE
+
+Further adjust idle.bat to start associated Python
+
+..
+
+.. bpo: 11896
+.. date: 8322
+.. nonce: XPwdkw
+.. section: IDLE
+
+Save on Close failed despite selecting "Yes" in dialog.
+
+..
+
+.. bpo: 4676
+.. date: 8321
+.. nonce: qQkued
+.. section: IDLE
+
+<Home> toggle failing on Tk 8.5, causing IDLE exits and strange selection
+behavior.  Improve selection extension behaviour.
+
+..
+
+.. bpo: 3851
+.. date: 8320
+.. nonce: iy6ENX
+.. section: IDLE
+
+<Home> toggle non-functional when NumLock set on Windows.
+
+..
+
+.. bpo: 11217
+.. date: 8319
+.. nonce: mIEwfc
+.. section: Build
+
+For 64-bit/32-bit Mac OS X universal framework builds, ensure "make install"
+creates symlinks in --prefix bin for the "-32" files in the framework bin
+directory like the installer does.
+
+..
+
+.. bpo: 11411
+.. date: 8318
+.. nonce: 1m9fjv
+.. section: Build
+
+Fix 'make DESTDIR=' with a relative destination.
+
+..
+
+.. bpo: 10709
+.. date: 8317
+.. nonce: QpLCFk
+.. section: Build
+
+Add updated AIX notes in Misc/README.AIX.
+
+..
+
+.. bpo: 11184
+.. date: 8316
+.. nonce: sGfAXw
+.. section: Build
+
+Fix large-file support on AIX.
+
+..
+
+.. bpo: 941346
+.. date: 8315
+.. nonce: heMADD
+.. section: Build
+
+Fix broken shared library build on AIX.
+
+..
+
+.. bpo: 11268
+.. date: 8314
+.. nonce: Lgcka6
+.. section: Build
+
+Prevent Mac OS X Installer failure if Documentation package had previously
+been installed.
+
+..
+
+.. bpo: 11079
+.. date: 8313
+.. nonce: Y0Hh5V
+.. section: Build
+
+The /Applications/Python x.x folder created by the Mac OS X installers now
+includes a link to the installed documentation.
+
+..
+
+.. bpo: 11054
+.. date: 8312
+.. nonce: BN3sYU
+.. section: Build
+
+Allow Mac OS X installer builds to again work on 10.5 with the system-
+provided Python.
+
+..
+
+.. bpo: 10843
+.. date: 8311
+.. nonce: EdyFR6
+.. section: Build
+
+Update third-party library versions used in OS X 32-bit installer builds:
+bzip2 1.0.6, readline 6.1.2, SQLite 3.7.4 (with FTS3/FTS4 and RTREE
+enabled), and ncursesw 5.5 (wide-char support enabled).
+
+..
+
+.. bpo: 0
+.. date: 8310
+.. nonce: nsY3xU
+.. section: Build
+
+Don't run pgen twice when using make -j.
+
+..
+
+.. bpo: 7716
+.. date: 8309
+.. nonce: KkZ-2b
+.. section: Build
+
+Under Solaris, don't assume existence of /usr/xpg4/bin/grep in the configure
+script but use $GREP instead.  Patch by Fabian Groffen.
+
+..
+
+.. bpo: 10475
+.. date: 8308
+.. nonce: LVKSbB
+.. section: Build
+
+Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD and DragonFly
+BSD.  Patch by Nicolas Joly.
+
+..
+
+.. bpo: 10655
+.. date: 8307
+.. nonce: WauLJp
+.. section: Build
+
+Fix the build on PowerPC on Linux with GCC when building with timestamp
+profiling (--with-tsc): the preprocessor test for the PowerPC support now
+looks for "__powerpc__" as well as "__ppc__": the latter seems to only be
+present on OS X; the former is the correct one for Linux with GCC.
+
+..
+
+.. bpo: 1099
+.. date: 8306
+.. nonce: KikOsu
+.. section: Build
+
+Fix the build on MacOSX when building a framework with pydebug using GCC
+4.0.
+
+..
+
+.. bpo: 11164
+.. date: 8305
+.. nonce: w2nrYU
+.. section: Tests
+
+Remove obsolete allnodes test from minidom test.
+
+..
+
+.. bpo: 12205
+.. date: 8304
+.. nonce: gVhWmC
+.. section: Tests
+
+Fix test_subprocess failure due to uninstalled test data.
+
+..
+
+.. bpo: 5723
+.. date: 8303
+.. nonce: Lfg1OX
+.. section: Tests
+
+Improve json tests to be executed with and without accelerations.
+
+..
+
+.. bpo: 11910
+.. date: 8302
+.. nonce: HhQx49
+.. section: Tests
+
+Fix test_heapq to skip the C tests when _heapq is missing.
+
+..
+
+.. bpo: 0
+.. date: 8301
+.. nonce: i8QOXe
+.. section: Tests
+
+Fix test_startfile to wait for child process to terminate before finishing.
+
+..
+
+.. bpo: 11719
+.. date: 8300
+.. nonce: ojamUL
+.. section: Tests
+
+Fix message about unexpected test_msilib skip on non-Windows platforms.
+Patch by Nadeem Vawda.
+
+..
+
+.. bpo: 7108
+.. date: 8299
+.. nonce: xaF3OE
+.. section: Tests
+
+Fix test_commands to not fail when special attributes ('@' or '.') appear in
+'ls -l' output.
+
+..
+
+.. bpo: 11490
+.. date: 8298
+.. nonce: I86Gxz
+.. section: Tests
+
+test_subprocess:test_leaking_fds_on_error no longer gives a false positive
+if the last directory in the path is inaccessible.
+
+..
+
+.. bpo: 10822
+.. date: 8297
+.. nonce: P0VrIZ
+.. section: Tests
+
+Fix test_posix:test_getgroups failure under Solaris.  Patch by Ross
+Lagerwall.
+
+..
+
+.. bpo: 6293
+.. date: 8296
+.. nonce: J7ur1U
+.. section: Tests
+
+Have regrtest.py echo back sys.flags.  This is done by default in whole runs
+and enabled selectively using ``--header`` when running an explicit list of
+tests.  Original patch by Collin Winter.
+
+..
+
+.. bpo: 775964
+.. date: 8295
+.. nonce: 7a2XLN
+.. section: Tests
+
+test_grp now skips YP/NIS entries instead of failing when encountering them.
+
+..
+
+.. bpo: 7110
+.. date: 8294
+.. nonce: SyQreJ
+.. section: Tests
+
+regrtest now sends test failure reports and single-failure tracebacks to
+stderr rather than stdout.
diff --git a/Misc/NEWS.d/2.7.3rc1.rst b/Misc/NEWS.d/2.7.3rc1.rst
new file mode 100644
index 0000000..1fdc19f
--- /dev/null
+++ b/Misc/NEWS.d/2.7.3rc1.rst
@@ -0,0 +1,1916 @@
+.. bpo: 13020
+.. date: 8656
+.. nonce: 7y51PJ
+.. release date: 2012-02-23
+.. section: Core and Builtins
+
+Fix a reference leak when allocating a structsequence object fails.  Patch
+by Suman Saha.
+
+..
+
+.. bpo: 13703
+.. date: 8655
+.. nonce: 8FylqY
+.. section: Core and Builtins
+
+oCERT-2011-003: add -R command-line option and PYTHONHASHSEED environment
+variable, to provide an opt-in way to protect against denial of service
+attacks due to hash collisions within the dict and set types.  Patch by
+David Malcolm, based on work by Victor Stinner.
+
+..
+
+.. bpo: 11235
+.. date: 8654
+.. nonce: 6wzkv-
+.. section: Core and Builtins
+
+Fix OverflowError when trying to import a source file whose modification
+time doesn't fit in a 32-bit timestamp.
+
+..
+
+.. bpo: 11638
+.. date: 8653
+.. nonce: M-D70Z
+.. section: Core and Builtins
+
+Unicode strings in 'name' and 'version' no longer cause UnicodeDecodeErrors.
+
+..
+
+.. bpo: 0
+.. date: 8652
+.. nonce: 2J4kRL
+.. section: Core and Builtins
+
+Fix the fix for issue #12149: it was incorrect, although it had the side
+effect of appearing to resolve the issue.  Thanks to Mark Shannon for
+noticing.
+
+..
+
+.. bpo: 13546
+.. date: 8651
+.. nonce: iNNZwK
+.. section: Core and Builtins
+
+Fixed an overflow issue that could crash the intepreter when calling
+sys.setrecursionlimit((1<<31)-1).
+
+..
+
+.. bpo: 13333
+.. date: 8650
+.. nonce: jkzjPN
+.. section: Core and Builtins
+
+The UTF-7 decoder now accepts lone surrogates (the encoder already accepts
+them).
+
+..
+
+.. bpo: 10519
+.. date: 8649
+.. nonce: vnPUhZ
+.. section: Core and Builtins
+
+Avoid unnecessary recursive function calls in setobject.c.
+
+..
+
+.. bpo: 13268
+.. date: 8648
+.. nonce: 1add1A
+.. section: Core and Builtins
+
+Fix the assert statement when a tuple is passed as the message.
+
+..
+
+.. bpo: 13018
+.. date: 8647
+.. nonce: WRySxn
+.. section: Core and Builtins
+
+Fix reference leaks in error paths in dictobject.c. Patch by Suman Saha.
+
+..
+
+.. bpo: 12604
+.. date: 8646
+.. nonce: dDegux
+.. section: Core and Builtins
+
+VTRACE macro expanded to no-op in _sre.c to avoid compiler warnings. Patch
+by Josh Triplett and Petri Lehtinen.
+
+..
+
+.. bpo: 7833
+.. date: 8645
+.. nonce: NcSnnJ
+.. section: Core and Builtins
+
+Extension modules built using distutils on Windows will no longer include a
+"manifest" to prevent them failing at import time in some embedded
+situations.
+
+..
+
+.. bpo: 13186
+.. date: 8644
+.. nonce: 8x-IKP
+.. section: Core and Builtins
+
+Fix __delitem__ on old-style instances when invoked through
+PySequence_DelItem.
+
+..
+
+.. bpo: 13156
+.. date: 8643
+.. nonce: YQ_oHA
+.. section: Core and Builtins
+
+Revert the patch for issue #10517 (reset TLS upon fork()), which was only
+relevant for the native pthread TLS implementation.
+
+..
+
+.. bpo: 7732
+.. date: 8642
+.. nonce: Su45lo
+.. section: Core and Builtins
+
+Fix a crash on importing a module if a directory has the same name than a
+Python module (e.g. "__init__.py"): don't close the file twice.
+
+..
+
+.. bpo: 12973
+.. date: 8641
+.. nonce: i36yPj
+.. section: Core and Builtins
+
+Fix overflow checks that invoked undefined behaviour in int.__pow__.  These
+overflow checks were causing int.__pow__ to produce incorrect results with
+recent versions of Clang, as a result of the compiler optimizing the check
+away.  Also fix similar overflow checks in list_repeat (listobject.c) and
+islice_next (itertoolsmodule.c).  These bugs caused test failures with
+recent versions of Clang.
+
+..
+
+.. bpo: 12266
+.. date: 8640
+.. nonce: SifsgD
+.. section: Core and Builtins
+
+Fix str.capitalize() to correctly uppercase/lowercase titlecased and cased
+non-letter characters.
+
+..
+
+.. bpo: 12610
+.. date: 8639
+.. nonce: ppRi5I
+.. section: Core and Builtins
+
+Verify that user generated AST has correct string and identifier types
+before compiling. (See also: bpo-12609)
+
+..
+
+.. bpo: 11627
+.. date: 8638
+.. nonce: sfRw_E
+.. section: Core and Builtins
+
+Fix segfault when __new__ on an exception returns a non-exception class.
+
+..
+
+.. bpo: 12149
+.. date: 8637
+.. nonce: tp-PTF
+.. section: Core and Builtins
+
+Update the method cache after a type's dictionnary gets cleared by the
+garbage collector.  This fixes a segfault when an instance and its type get
+caught in a reference cycle, and the instance's deallocator calls one of the
+methods on the type (e.g. when subclassing IOBase).  Diagnosis and patch by
+Davide Rizzo.
+
+..
+
+.. bpo: 12501
+.. date: 8636
+.. nonce: 25PdW1
+.. section: Core and Builtins
+
+Remove Py3k warning for callable. callable() is supported again in Python
+3.2.
+
+..
+
+.. bpo: 9611
+.. date: 8635
+.. nonce: tQEmuh
+.. section: Core and Builtins
+
+FileIO.read(), FileIO.readinto(), FileIO.write() and os.write() clamp the
+length to INT_MAX on Windows. (See also: bpo-9015)
+
+..
+
+.. bpo: 1195
+.. date: 8634
+.. nonce: Tp_J8Y
+.. section: Core and Builtins
+
+my_fgets() now always clears errors before calling fgets(). Fix the
+following case: sys.stdin.read() stopped with CTRL+d (end of file),
+raw_input() interrupted by CTRL+c.
+
+..
+
+.. bpo: 10860
+.. date: 8633
+.. nonce: _w3Kvl
+.. section: Core and Builtins
+
+httplib now correctly handles an empty port after port delimiter in URLs.
+
+..
+
+.. bpo: 0
+.. date: 8632
+.. nonce: dh7XT7
+.. section: Core and Builtins
+
+dict_proxy objects now display their contents rather than just the class
+name.
+
+..
+
+.. bpo: 8033
+.. date: 8631
+.. nonce: vZ-AWU
+.. section: Library
+
+sqlite3: Fix 64-bit integer handling in user functions on 32-bit
+architectures. Initial patch by Philippe Devalkeneer.
+
+..
+
+.. bpo: 0
+.. date: 8630
+.. nonce: Apd_xz
+.. section: Library
+
+HTMLParser is now able to handle slashes in the start tag.
+
+..
+
+.. bpo: 14001
+.. date: 8629
+.. nonce: Za_h38
+.. section: Library
+
+CVE-2012-0845: xmlrpc: Fix an endless loop in SimpleXMLRPCServer upon
+malformed POST request.
+
+..
+
+.. bpo: 2489
+.. date: 8628
+.. nonce: EENP1J
+.. section: Library
+
+pty.spawn could consume 100% cpu when it encountered an EOF.
+
+..
+
+.. bpo: 13014
+.. date: 8627
+.. nonce: bfZLHS
+.. section: Library
+
+Fix a possible reference leak in SSLSocket.getpeercert().
+
+..
+
+.. bpo: 13987
+.. date: 8626
+.. nonce: rZLDDo
+.. section: Library
+
+HTMLParser is now able to handle EOFs in the middle of a construct and
+malformed start tags.
+
+..
+
+.. bpo: 13015
+.. date: 8625
+.. nonce: bxws6S
+.. section: Library
+
+Fix a possible reference leak in defaultdict.__repr__. Patch by Suman Saha.
+
+..
+
+.. bpo: 13979
+.. date: 8624
+.. nonce: Q0ci2w
+.. section: Library
+
+A bug in ctypes.util.find_library that caused the wrong library name to be
+returned has been fixed.
+
+..
+
+.. bpo: 1326113
+.. date: 8623
+.. nonce: QvF-XL
+.. section: Library
+
+distutils' build_ext command --libraries option now correctly parses
+multiple values separated by whitespace or commas.
+
+..
+
+.. bpo: 13993
+.. date: 8622
+.. nonce: 4g3z3P
+.. section: Library
+
+HTMLParser is now able to handle broken end tags.
+
+..
+
+.. bpo: 13960
+.. date: 8621
+.. nonce: g0TjwZ
+.. section: Library
+
+HTMLParser is now able to handle broken comments.
+
+..
+
+.. bpo: 9750
+.. date: 8620
+.. nonce: CsQyVM
+.. section: Library
+
+Fix sqlite3.Connection.iterdump on tables and fields with a name that is a
+keyword or contains quotes. Patch by Marko Kohtala.
+
+..
+
+.. bpo: 13994
+.. date: 8619
+.. nonce: pnLrEB
+.. section: Library
+
+Earlier partial revert of Distutils enhancements in 2.7 has left two
+versions of customize_compiler, the original in distutils.sysconfig and
+another copy in distutils.ccompiler, with some parts of distutils calling
+one and others using the other. Complete the revert back to only having one
+in distutils.sysconfig as is the case in 3.x.
+
+..
+
+.. bpo: 13590
+.. date: 8618
+.. nonce: b6Qvrj
+.. section: Library
+
+On OS X 10.7 and 10.6 with Xcode 4.2, building Distutils-based packages with
+C extension modules may fail because Apple has removed gcc-4.2, the version
+used to build python.org 64-bit/32-bit Pythons.  If the user does not
+explicitly override the default C compiler by setting the CC environment
+variable, Distutils will now attempt to compile extension modules with clang
+if gcc-4.2 is required but not found. Also as a convenience, if the user
+does explicitly set CC, substitute its value as the default compiler in the
+Distutils LDSHARED configuration variable for OS X. (Note, the python.org
+32-bit-only Pythons use gcc-4.0 and the 10.4u SDK, neither of which are
+available in Xcode 4.  This change does not attempt to override settings to
+support their use with Xcode 4.)
+
+..
+
+.. bpo: 9021
+.. date: 8617
+.. nonce: A0WRsT
+.. section: Library
+
+Add an introduction to the copy module documentation.
+
+..
+
+.. bpo: 6005
+.. date: 8616
+.. nonce: cy8Z22
+.. section: Library
+
+Examples in the socket library documentation use sendall, where relevant,
+instead send method.
+
+..
+
+.. bpo: 10811
+.. date: 8615
+.. nonce: m6b_ZC
+.. section: Library
+
+Fix recursive usage of cursors. Instead of crashing, raise a
+ProgrammingError now.
+
+..
+
+.. bpo: 13676
+.. date: 8614
+.. nonce: IwPgKL
+.. section: Library
+
+Handle strings with embedded zeros correctly in sqlite3.
+
+..
+
+.. bpo: 13806
+.. date: 8613
+.. nonce: Y34Lg3
+.. section: Library
+
+The size check in audioop decompression functions was too strict and could
+reject valid compressed data.  Patch by Oleg Plakhotnyuk.
+
+..
+
+.. bpo: 13885
+.. date: 8612
+.. nonce: fTNryk
+.. section: Library
+
+CVE-2011-3389: the _ssl module would always disable the CBC IV attack
+countermeasure.
+
+..
+
+.. bpo: 6631
+.. date: 8611
+.. nonce: FyxhCp
+.. section: Library
+
+Disallow relative file paths in urllib urlopen methods.
+
+..
+
+.. bpo: 13781
+.. date: 8610
+.. nonce: xWnNcZ
+.. section: Library
+
+Prevent gzip.GzipFile from using the dummy filename provided by file objects
+opened with os.fdopen().
+
+..
+
+.. bpo: 13589
+.. date: 8609
+.. nonce: sQsnEf
+.. section: Library
+
+Fix some serialization primitives in the aifc module. Patch by Oleg
+Plakhotnyuk.
+
+..
+
+.. bpo: 13803
+.. date: 8608
+.. nonce: WnPIts
+.. section: Library
+
+Under Solaris, distutils doesn't include bitness in the directory name.
+
+..
+
+.. bpo: 13642
+.. date: 8607
+.. nonce: 8qUg-G
+.. section: Library
+
+Unquote before b64encoding user:password during Basic Authentication. Patch
+contributed by Joonas Kuorilehto and Michele Orrù.
+
+..
+
+.. bpo: 13636
+.. date: 8606
+.. nonce: eWRf1t
+.. section: Library
+
+Weak ciphers are now disabled by default in the ssl module (except when
+SSLv2 is explicitly asked for).
+
+..
+
+.. bpo: 12798
+.. date: 8605
+.. nonce: ggdsmY
+.. section: Library
+
+Updated the mimetypes documentation.
+
+..
+
+.. bpo: 13639
+.. date: 8604
+.. nonce: X0z3dn
+.. section: Library
+
+Accept unicode filenames in tarfile.open(mode="w|gz").
+
+..
+
+.. bpo: 1785
+.. date: 8603
+.. nonce: DKL5I8
+.. section: Library
+
+Fix inspect and pydoc with misbehaving descriptors.
+
+..
+
+.. bpo: 7502
+.. date: 8602
+.. nonce: lIMyju
+.. section: Library
+
+Fix equality comparison for DocTestCase instances.  Patch by Cédric Krier.
+
+..
+
+.. bpo: 11870
+.. date: 8601
+.. nonce: 85bAB9
+.. section: Library
+
+threading: Properly reinitialize threads internal locks and condition
+variables to avoid deadlocks in child processes.
+
+..
+
+.. bpo: 8035
+.. date: 8600
+.. nonce: yzn_Oa
+.. section: Library
+
+urllib: Fix a bug where the client could remain stuck after a redirection or
+an error.
+
+..
+
+.. bpo: 0
+.. date: 8599
+.. nonce: xZO873
+.. section: Library
+
+tarfile.py: Correctly detect bzip2 compressed streams with blocksizes other
+than 900k.
+
+..
+
+.. bpo: 13573
+.. date: 8598
+.. nonce: 2oPaJa
+.. section: Library
+
+The csv.writer now uses the repr() for floats rather than str(). This allows
+floats to round-trip without loss of precision.
+
+..
+
+.. bpo: 13439
+.. date: 8597
+.. nonce: H8wdOt
+.. section: Library
+
+Fix many errors in turtle docstrings.
+
+..
+
+.. bpo: 12856
+.. date: 8596
+.. nonce: 7eIfN8
+.. section: Library
+
+Ensure child processes do not inherit the parent's random seed for filename
+generation in the tempfile module.  Patch by Brian Harring.
+
+..
+
+.. bpo: 13458
+.. date: 8595
+.. nonce: EHyzED
+.. section: Library
+
+Fix a memory leak in the ssl module when decoding a certificate with a
+subjectAltName.  Patch by Robert Xiao.
+
+..
+
+.. bpo: 13415
+.. date: 8594
+.. nonce: Ap8joO
+.. section: Library
+
+os.unsetenv() doesn't ignore errors anymore.
+
+..
+
+.. bpo: 13322
+.. date: 8593
+.. nonce: Ect89q
+.. section: Library
+
+Fix BufferedWriter.write() to ensure that BlockingIOError is raised when the
+wrapped raw file is non-blocking and the write would block. Previous code
+assumed that the raw write() would raise BlockingIOError, but
+RawIOBase.write() is defined to returned None when the call would block.
+Patch by sbt.
+
+..
+
+.. bpo: 13358
+.. date: 8592
+.. nonce: kPO1ja
+.. section: Library
+
+HTMLParser now calls handle_data only once for each CDATA.
+
+..
+
+.. bpo: 4147
+.. date: 8591
+.. nonce: wQbNcw
+.. section: Library
+
+minidom's toprettyxml no longer adds whitespace around a text node when it
+is the only child of an element.  Initial patch by Dan Kenigsberg.
+
+..
+
+.. bpo: 1745761
+.. date: 8590
+.. nonce: zfO1ng
+.. section: Library
+
+HTMLParser now correctly handles non-valid attributes, including adjacent
+and unquoted attributes. (See also: bpo-755670, bpo-13357, bpo-12629,
+bpo-1200313)
+
+..
+
+.. bpo: 13373
+.. date: 8589
+.. nonce: 8wM3bP
+.. section: Library
+
+multiprocessing.Queue.get() could sometimes block indefinitely when called
+with a timeout.  Patch by Arnaud Ysmal.
+
+..
+
+.. bpo: 3067
+.. date: 8588
+.. nonce: yjMIU9
+.. section: Library
+
+Enhance the documentation and docstring of locale.setlocale().
+
+..
+
+.. bpo: 13254
+.. date: 8587
+.. nonce: CKJxT0
+.. section: Library
+
+Fix Maildir initialization so that maildir contents are read correctly.
+
+..
+
+.. bpo: 13140
+.. date: 8586
+.. nonce: EguPSD
+.. section: Library
+
+Fix the daemon_threads attribute of ThreadingMixIn.
+
+..
+
+.. bpo: 2892
+.. date: 8585
+.. nonce: kugtRq
+.. section: Library
+
+preserve iterparse events in case of SyntaxError.
+
+..
+
+.. bpo: 670664
+.. date: 8584
+.. nonce: dPMzKt
+.. section: Library
+
+Fix HTMLParser to correctly handle the content of ``<script>...</script>``
+and ``<style>...</style>``.
+
+..
+
+.. bpo: 10817
+.. date: 8583
+.. nonce: 2NZ4yV
+.. section: Library
+
+Fix urlretrieve function to raise ContentTooShortError even when reporthook
+is None. Patch by Jyrki Pulliainen.
+
+..
+
+.. bpo: 7334
+.. date: 8582
+.. nonce: HVmJ5I
+.. section: Library
+
+close source files on ElementTree.parse and iterparse.
+
+..
+
+.. bpo: 13232
+.. date: 8581
+.. nonce: WWF7QZ
+.. section: Library
+
+logging: Improved logging of exceptions in the presence of multiple
+encodings.
+
+..
+
+.. bpo: 10332
+.. date: 8580
+.. nonce: E9qFmi
+.. section: Library
+
+multiprocessing: fix a race condition when a Pool is closed before all tasks
+have completed.
+
+..
+
+.. bpo: 1548891
+.. date: 8579
+.. nonce: isTjAs
+.. section: Library
+
+The cStringIO.StringIO() constructor now encodes unicode arguments with the
+system default encoding just like the write() method does, instead of
+converting it to a raw buffer.  This also fixes handling of unicode input in
+the shlex module (#6988, #1170).
+
+..
+
+.. bpo: 9168
+.. date: 8578
+.. nonce: eLGWkL
+.. section: Library
+
+now smtpd is able to bind privileged port.
+
+..
+
+.. bpo: 12529
+.. date: 8577
+.. nonce: TX2NNI
+.. section: Library
+
+fix cgi.parse_header issue on strings with double-quotes and semicolons
+together. Patch by Ben Darnell and Petri Lehtinen.
+
+..
+
+.. bpo: 6090
+.. date: 8576
+.. nonce: 8BVasJ
+.. section: Library
+
+zipfile raises a ValueError when a document with a timestamp earlier than
+1980 is provided. Patch contributed by Petri Lehtinen.
+
+..
+
+.. bpo: 13194
+.. date: 8575
+.. nonce: b0HQpu
+.. section: Library
+
+zlib.compressobj().copy() and zlib.decompressobj().copy() are now available
+on Windows.
+
+..
+
+.. bpo: 13114
+.. date: 8574
+.. nonce: qtS6EQ
+.. section: Library
+
+Fix the distutils commands check and register when the long description is a
+Unicode string with non-ASCII characters.
+
+..
+
+.. bpo: 7367
+.. date: 8573
+.. nonce: 2xoC41
+.. section: Library
+
+Fix pkgutil.walk_paths to skip directories whose contents cannot be read.
+
+..
+
+.. bpo: 7425
+.. date: 8572
+.. nonce: e4gH2x
+.. section: Library
+
+Prevent pydoc -k failures due to module import errors. (Backport to 2.7 of
+existing 3.x fix)
+
+..
+
+.. bpo: 13099
+.. date: 8571
+.. nonce: hhmbgp
+.. section: Library
+
+Fix sqlite3.Cursor.lastrowid under a Turkish locale. Reported and diagnosed
+by Thomas Kluyver.
+
+..
+
+.. bpo: 7689
+.. date: 8570
+.. nonce: --iH31
+.. section: Library
+
+Allow pickling of dynamically created classes when their metaclass is
+registered with copy_reg.  Patch by Nicolas M. Thiéry and Craig Citro.
+
+..
+
+.. bpo: 13058
+.. date: 8569
+.. nonce: KJ3kEA
+.. section: Library
+
+ossaudiodev: fix a file descriptor leak on error. Patch by Thomas Jarosch.
+
+..
+
+.. bpo: 12931
+.. date: 8568
+.. nonce: b6La4G
+.. section: Library
+
+xmlrpclib now encodes Unicode URI to ISO-8859-1, instead of failing with a
+UnicodeDecodeError.
+
+..
+
+.. bpo: 8933
+.. date: 8567
+.. nonce: yiVHCJ
+.. section: Library
+
+distutils' PKG-INFO files will now correctly report Metadata-Version: 1.1
+instead of 1.0 if a Classifier or Download-URL field is present.
+
+..
+
+.. bpo: 8286
+.. date: 8566
+.. nonce: 9gJAZN
+.. section: Library
+
+The distutils command sdist will print a warning message instead of crashing
+when an invalid path is given in the manifest template.
+
+..
+
+.. bpo: 12841
+.. date: 8565
+.. nonce: VRTnfy
+.. section: Library
+
+tarfile unnecessarily checked the existence of numerical user and group ids
+on extraction. If one of them did not exist the respective id of the current
+user (i.e. root) was used for the file and ownership information was lost.
+
+..
+
+.. bpo: 10946
+.. date: 8564
+.. nonce: HYgRut
+.. section: Library
+
+The distutils commands bdist_dumb, bdist_wininst and bdist_msi now respect a
+--skip-build option given to bdist.
+
+..
+
+.. bpo: 12287
+.. date: 8563
+.. nonce: _b1Hy3
+.. section: Library
+
+Fix a stack corruption in ossaudiodev module when the FD is greater than
+FD_SETSIZE.
+
+..
+
+.. bpo: 12839
+.. date: 8562
+.. nonce: YFQywe
+.. section: Library
+
+Fix crash in zlib module due to version mismatch. Fix by Richard M. Tew.
+
+..
+
+.. bpo: 12786
+.. date: 8561
+.. nonce: Wv58St
+.. section: Library
+
+Set communication pipes used by subprocess.Popen CLOEXEC to avoid them being
+inherited by other subprocesses.
+
+..
+
+.. bpo: 4106
+.. date: 8560
+.. nonce: CWHsfS
+.. section: Library
+
+Fix occasional exceptions printed out by multiprocessing on interpreter
+shutdown.
+
+..
+
+.. bpo: 11657
+.. date: 8559
+.. nonce: K6NkKs
+.. section: Library
+
+Fix sending file descriptors over 255 over a multiprocessing Pipe.
+
+..
+
+.. bpo: 12213
+.. date: 8558
+.. nonce: nL3AJE
+.. section: Library
+
+Fix a buffering bug with interleaved reads and writes that could appear on
+io.BufferedRandom streams.
+
+..
+
+.. bpo: 12326
+.. date: 8557
+.. nonce: oR88Sz
+.. section: Library
+
+sys.platform is now always 'linux2' on Linux, even if Python is compiled on
+Linux 3.
+
+..
+
+.. bpo: 13007
+.. date: 8556
+.. nonce: 6OcUii
+.. section: Library
+
+whichdb should recognize gdbm 1.9 magic numbers.
+
+..
+
+.. bpo: 9173
+.. date: 8555
+.. nonce: 7CSZen
+.. section: Library
+
+Let shutil._make_archive work if the logger argument is None.
+
+..
+
+.. bpo: 12650
+.. date: 8554
+.. nonce: hY2GLb
+.. section: Library
+
+Fix a race condition where a subprocess.Popen could leak resources
+(FD/zombie) when killed at the wrong time.
+
+..
+
+.. bpo: 12752
+.. date: 8553
+.. nonce: 3uiyON
+.. section: Library
+
+Fix regression which prevented locale.normalize() from accepting unicode
+strings.
+
+..
+
+.. bpo: 12683
+.. date: 8552
+.. nonce: pySdFM
+.. section: Library
+
+urlparse updated to include svn as schemes that uses relative paths. (svn
+from 1.5 onwards support relative path).
+
+..
+
+.. bpo: 11933
+.. date: 8551
+.. nonce: voGTke
+.. section: Library
+
+Fix incorrect mtime comparison in distutils.
+
+..
+
+.. bpo: 11104
+.. date: 8550
+.. nonce: EZRzAK
+.. section: Library
+
+Fix the behavior of distutils' sdist command with manually-maintained
+MANIFEST files. (See also: bpo-8688)
+
+..
+
+.. bpo: 8887
+.. date: 8549
+.. nonce: GV2FAG
+.. section: Library
+
+"pydoc somebuiltin.somemethod" (or help('somebuiltin.somemethod') in Python
+code) now finds the doc of the method.
+
+..
+
+.. bpo: 12603
+.. date: 8548
+.. nonce: wO8DQ8
+.. section: Library
+
+Fix pydoc.synopsis() on files with non-negative st_mtime.
+
+..
+
+.. bpo: 12514
+.. date: 8547
+.. nonce: e1PR4a
+.. section: Library
+
+Use try/finally to assure the timeit module restores garbage collections
+when it is done.
+
+..
+
+.. bpo: 12607
+.. date: 8546
+.. nonce: t5RWHt
+.. section: Library
+
+In subprocess, fix issue where if stdin, stdout or stderr is given as a low
+fd, it gets overwritten.
+
+..
+
+.. bpo: 12102
+.. date: 8545
+.. nonce: VJSgGA
+.. section: Library
+
+Document that buffered files must be flushed before being used with mmap.
+Patch by Steffen Daode Nurpmeso.
+
+..
+
+.. bpo: 12560
+.. date: 8544
+.. nonce: 9ydkW_
+.. section: Library
+
+Build libpython.so on OpenBSD. Patch by Stefan Sperling.
+
+..
+
+.. bpo: 1813
+.. date: 8543
+.. nonce: M1IkRm
+.. section: Library
+
+Fix codec lookup and setting/getting locales under Turkish locales.
+
+..
+
+.. bpo: 10883
+.. date: 8542
+.. nonce: _e0WlS
+.. section: Library
+
+Fix socket leaks in urllib when using FTP.
+
+..
+
+.. bpo: 12592
+.. date: 8541
+.. nonce: -EZrk3
+.. section: Library
+
+Make Python build on OpenBSD 5 (and future major releases).
+
+..
+
+.. bpo: 12372
+.. date: 8540
+.. nonce: 7QRSzO
+.. section: Library
+
+POSIX semaphores are broken on AIX: don't use them.
+
+..
+
+.. bpo: 12571
+.. date: 8539
+.. nonce: qrkjgh
+.. section: Library
+
+Add a plat-linux3 directory mirroring the plat-linux2 directory, so that
+"import DLFCN" and other similar imports work on Linux 3.0.
+
+..
+
+.. bpo: 7484
+.. date: 8538
+.. nonce: 0bZoAH
+.. section: Library
+
+smtplib no longer puts <> around addresses in VRFY and EXPN commands; they
+aren't required and in fact postfix doesn't support that form.
+
+..
+
+.. bpo: 11603
+.. date: 8537
+.. nonce: B016rQ
+.. section: Library
+
+Fix a crash when __str__ is rebound as __repr__.  Patch by Andreas Stührk.
+
+..
+
+.. bpo: 12502
+.. date: 8536
+.. nonce: p8Kedr
+.. section: Library
+
+asyncore: fix polling loop with AF_UNIX sockets.
+
+..
+
+.. bpo: 4376
+.. date: 8535
+.. nonce: 6yUats
+.. section: Library
+
+ctypes now supports nested structures in an endian different than the parent
+structure. Patch by Vlad Riscutia.
+
+..
+
+.. bpo: 12493
+.. date: 8534
+.. nonce: qaPq_Q
+.. section: Library
+
+subprocess: Popen.communicate() now also handles EINTR errors if the process
+has only one pipe.
+
+..
+
+.. bpo: 12467
+.. date: 8533
+.. nonce: x0sMKt
+.. section: Library
+
+warnings: fix a race condition if a warning is emitted at shutdown, if
+globals()['__file__'] is None.
+
+..
+
+.. bpo: 12352
+.. date: 8532
+.. nonce: Htm8Oe
+.. section: Library
+
+Fix a deadlock in multiprocessing.Heap when a block is freed by the garbage
+collector while the Heap lock is held.
+
+..
+
+.. bpo: 9516
+.. date: 8531
+.. nonce: v8AhHk
+.. section: Library
+
+On Mac OS X, change Distutils to no longer globally attempt to check or set
+the MACOSX_DEPLOYMENT_TARGET environment variable for the interpreter
+process.  This could cause failures in non-Distutils subprocesses and was
+unreliable since tests or user programs could modify the interpreter
+environment after Distutils set it.  Instead, have Distutils set the
+deployment target only in the environment of each build subprocess.  It is
+still possible to globally override the default by setting
+MACOSX_DEPLOYMENT_TARGET before launching the interpreter; its value must be
+greater or equal to the default value, the value with which the interpreter
+was built.
+
+..
+
+.. bpo: 11802
+.. date: 8530
+.. nonce: 6ktAp2
+.. section: Library
+
+The cache in filecmp now has a maximum size of 100 so that it won't grow
+without bound.
+
+..
+
+.. bpo: 12404
+.. date: 8529
+.. nonce: bS5-Qf
+.. section: Library
+
+Remove C89 incompatible code from mmap module. Patch by Akira Kitada.
+
+..
+
+.. bpo: 11700
+.. date: 8528
+.. nonce: VpdGS5
+.. section: Library
+
+mailbox proxy object close methods can now be called multiple times without
+error, and _ProxyFile now closes the wrapped file.
+
+..
+
+.. bpo: 12133
+.. date: 8527
+.. nonce: Ag9yty
+.. section: Library
+
+AbstractHTTPHandler.do_open() of urllib.request closes the HTTP connection
+if its getresponse() method fails with a socket error. Patch written by Ezio
+Melotti.
+
+..
+
+.. bpo: 9284
+.. date: 8526
+.. nonce: -NhBcF
+.. section: Library
+
+Allow inspect.findsource() to find the source of doctest functions.
+
+..
+
+.. bpo: 10694
+.. date: 8525
+.. nonce: JD6qXr
+.. section: Library
+
+zipfile now ignores garbage at the end of a zipfile.
+
+..
+
+.. bpo: 11583
+.. date: 8524
+.. nonce: Wu1xMh
+.. section: Library
+
+Speed up os.path.isdir on Windows by using GetFileAttributes instead of
+os.stat.
+
+..
+
+.. bpo: 12080
+.. date: 8523
+.. nonce: oDmVxk
+.. section: Library
+
+Fix a performance issue in Decimal._power_exact that caused some corner-case
+Decimal.__pow__ calls to take an unreasonably long time.
+
+..
+
+.. bpo: 0
+.. date: 8522
+.. nonce: aMnclC
+.. section: Library
+
+Named tuples now work correctly with vars().
+
+..
+
+.. bpo: 0
+.. date: 8521
+.. nonce: qdHiJw
+.. section: Library
+
+sys.setcheckinterval() now updates the current ticker count as well as
+updating the check interval, so if the user decreases the check interval,
+the ticker doesn't have to wind down to zero from the old starting point
+before the new interval takes effect.  And if the user increases the
+interval, it makes sure the new limit takes effect right away rather have an
+early task switch before recognizing the new interval.
+
+..
+
+.. bpo: 12085
+.. date: 8520
+.. nonce: cu9-Sp
+.. section: Library
+
+Fix an attribute error in subprocess.Popen destructor if the constructor has
+failed, e.g. because of an undeclared keyword argument. Patch written by
+Oleg Oshmyan.
+
+..
+
+.. bpo: 9041
+.. date: 8519
+.. nonce: iLXuHK
+.. section: Library
+
+An issue in ctypes.c_longdouble, ctypes.c_double, and ctypes.c_float that
+caused an incorrect exception to be returned in the case of overflow has
+been fixed.
+
+..
+
+.. bpo: 0
+.. date: 8518
+.. nonce: zRuNTM
+.. section: Library
+
+bsddb module: Erratic behaviour of "DBEnv->rep_elect()" because a typo.
+Possible crash.
+
+..
+
+.. bpo: 13774
+.. date: 8517
+.. nonce: -HkPbH
+.. section: Library
+
+json: Fix a SystemError when a bogus encoding is passed to json.loads().
+
+..
+
+.. bpo: 9975
+.. date: 8516
+.. nonce: 2SRKp5
+.. section: Library
+
+socket: Fix incorrect use of flowinfo and scope_id. Patch by Vilmos Nebehaj.
+
+..
+
+.. bpo: 13159
+.. date: 8515
+.. nonce: Zoj0wD
+.. section: Library
+
+FileIO, BZ2File, and the built-in file class now use a linear-time buffer
+growth strategy instead of a quadratic one.
+
+..
+
+.. bpo: 13070
+.. date: 8514
+.. nonce: zcoYVY
+.. section: Library
+
+Fix a crash when a TextIOWrapper caught in a reference cycle would be
+finalized after the reference to its underlying BufferedRWPair's writer got
+cleared by the GC.
+
+..
+
+.. bpo: 12881
+.. date: 8513
+.. nonce: IpOO6j
+.. section: Library
+
+ctypes: Fix segfault with large structure field names.
+
+..
+
+.. bpo: 13013
+.. date: 8512
+.. nonce: KLH96V
+.. section: Library
+
+ctypes: Fix a reference leak in PyCArrayType_from_ctype. Thanks to Suman
+Saha for finding the bug and providing a patch.
+
+..
+
+.. bpo: 13022
+.. date: 8511
+.. nonce: zeo8hs
+.. section: Library
+
+Fix: _multiprocessing.recvfd() doesn't check that file descriptor was
+actually received.
+
+..
+
+.. bpo: 12483
+.. date: 8510
+.. nonce: IpGhKV
+.. section: Library
+
+ctypes: Fix a crash when the destruction of a callback object triggers the
+garbage collector.
+
+..
+
+.. bpo: 12950
+.. date: 8509
+.. nonce: Z7xl-R
+.. section: Library
+
+Fix passing file descriptors in multiprocessing, under OpenIndiana/Illumos.
+
+..
+
+.. bpo: 12764
+.. date: 8508
+.. nonce: YtBoIj
+.. section: Library
+
+Fix a crash in ctypes when the name of a Structure field is not a string.
+
+..
+
+.. bpo: 9651
+.. date: 8507
+.. nonce: INPcwf
+.. section: Library
+
+Fix a crash when ctypes.create_string_buffer(0) was passed to some functions
+like file.write().
+
+..
+
+.. bpo: 10309
+.. date: 8506
+.. nonce: -z_Mxz
+.. section: Library
+
+Define _GNU_SOURCE so that mremap() gets the proper signature.  Without
+this, architectures where sizeof void* != sizeof int are broken.  Patch
+given by Hallvard B Furuseth.
+
+..
+
+.. bpo: 964437
+.. date: 8505
+.. nonce: buwNGK
+.. section: IDLE
+
+Make IDLE help window non-modal. Patch by Guilherme Polo and Roger Serwy.
+
+..
+
+.. bpo: 13933
+.. date: 8504
+.. nonce: 5CAw8l
+.. section: IDLE
+
+IDLE auto-complete did not work with some imported module, like hashlib.
+(Patch by Roger Serwy)
+
+..
+
+.. bpo: 13506
+.. date: 8503
+.. nonce: ztXHhD
+.. section: IDLE
+
+Add '' to path for IDLE Shell when started and restarted with Restart Shell.
+Original patches by Marco Scataglini and Roger Serwy.
+
+..
+
+.. bpo: 4625
+.. date: 8502
+.. nonce: 2pS4tW
+.. section: IDLE
+
+If IDLE cannot write to its recent file or breakpoint files, display a
+message popup and continue rather than crash. (original patch by Roger
+Serwy)
+
+..
+
+.. bpo: 8793
+.. date: 8501
+.. nonce: 2eA1HO
+.. section: IDLE
+
+Prevent IDLE crash when given strings with invalid hex escape sequences.
+
+..
+
+.. bpo: 13296
+.. date: 8500
+.. nonce: bMHIFe
+.. section: IDLE
+
+Fix IDLE to clear compile __future__ flags on shell restart. (Patch by Roger
+Serwy)
+
+..
+
+.. bpo: 14409
+.. date: 8499
+.. nonce: 8SNyRR
+.. section: IDLE
+
+IDLE now properly executes commands in the Shell window when it cannot read
+the normal config files on startup and has to use the built-in default key
+bindings. There was previously a bug in one of the defaults.
+
+..
+
+.. bpo: 3573
+.. date: 8498
+.. nonce: yIQRtd
+.. section: IDLE
+
+IDLE hangs when passing invalid command line args (directory(ies) instead of
+file(s)).
+
+..
+
+.. bpo: 6807
+.. date: 8497
+.. nonce: lfskSG
+.. section: Build
+
+Run msisupport.mak earlier.
+
+..
+
+.. bpo: 10580
+.. date: 8496
+.. nonce: GkwWHF
+.. section: Build
+
+Minor grammar change in Windows installer.
+
+..
+
+.. bpo: 12627
+.. date: 8495
+.. nonce: pVGmbv
+.. section: Build
+
+Implement PEP 394 for Python 2.7 ("python2").
+
+..
+
+.. bpo: 8746
+.. date: 8494
+.. nonce: z-aagT
+.. section: Build
+
+Correct faulty configure checks so that os.chflags() and os.lchflags() are
+once again built on systems that support these functions (*BSD and OS X).
+Also add new stat file flags for OS X (UF_HIDDEN and UF_COMPRESSED).
+
+..
+
+.. bpo: 14053
+.. date: 8493
+.. nonce: tR4DDC
+.. section: Tools/Demos
+
+patchcheck.py ("make patchcheck") now works with MQ patches. Patch by
+Francisco Martín Brugué.
+
+..
+
+.. bpo: 13930
+.. date: 8492
+.. nonce: jUdfJ-
+.. section: Tools/Demos
+
+2to3 is now able to write its converted output files to another directory
+tree as well as copying unchanged files and altering the file suffix.  See
+its new -o, -W and --add-suffix options.  This makes it more useful in many
+automated code translation workflows.
+
+..
+
+.. bpo: 10639
+.. date: 8491
+.. nonce: ZGu-0K
+.. section: Tools/Demos
+
+reindent.py no longer converts newlines and will raise an error if
+attempting to convert a file with mixed newlines.
+
+..
+
+.. bpo: 13628
+.. date: 8490
+.. nonce: XznUD3
+.. section: Tools/Demos
+
+python-gdb.py is now able to retrieve more frames in the Python traceback if
+Python is optimized.
+
+..
+
+.. bpo: 15467
+.. date: 8489
+.. nonce: Ilkvjd
+.. section: Tests
+
+Move helpers for __sizeof__ tests into test_support. Patch by Serhiy
+Storchaka.
+
+..
+
+.. bpo: 11689
+.. date: 8488
+.. nonce: n1UPYK
+.. section: Tests
+
+Fix a variable scoping error in an sqlite3 test. Initial patch by Torsten
+Landschoff.
+
+..
+
+.. bpo: 10881
+.. date: 8487
+.. nonce: CG7Ecn
+.. section: Tests
+
+Fix test_site failures with OS X framework builds.
+
+..
+
+.. bpo: 13901
+.. date: 8486
+.. nonce: ICKGPH
+.. section: Tests
+
+Prevent test_distutils failures on OS X with --enable-shared.
+
+..
+
+.. bpo: 13304
+.. date: 8485
+.. nonce: jDDi97
+.. section: Tests
+
+Skip test case if user site-packages disabled (-s or PYTHONNOUSERSITE).
+(Patch by Carl Meyer)
+
+..
+
+.. bpo: 13218
+.. date: 8484
+.. nonce: EZ3jnV
+.. section: Tests
+
+Fix test_ssl failures on Debian/Ubuntu.
+
+..
+
+.. bpo: 12821
+.. date: 8483
+.. nonce: fmA715
+.. section: Tests
+
+Fix test_fcntl failures on OpenBSD 5.
+
+..
+
+.. bpo: 12331
+.. date: 8482
+.. nonce: ZSPeJW
+.. section: Tests
+
+The test suite for lib2to3 can now run from an installed Python.
+
+..
+
+.. bpo: 12549
+.. date: 8481
+.. nonce: S4urNL
+.. section: Tests
+
+Correct test_platform to not fail when OS X returns 'x86_64' as the
+processor type on some Mac systems.
+
+..
+
+.. bpo: 0
+.. date: 8480
+.. nonce: EofQqr
+.. section: Tests
+
+Skip network tests when getaddrinfo() returns EAI_AGAIN, meaning a temporary
+failure in name resolution.
+
+..
+
+.. bpo: 11812
+.. date: 8479
+.. nonce: jeNaCB
+.. section: Tests
+
+Solve transient socket failure to connect to 'localhost' in
+test_telnetlib.py.
+
+..
+
+.. bpo: 0
+.. date: 8478
+.. nonce: cUdl39
+.. section: Tests
+
+Solved a potential deadlock in test_telnetlib.py. Related to issue #11812.
+
+..
+
+.. bpo: 0
+.. date: 8477
+.. nonce: QtTimW
+.. section: Tests
+
+Avoid failing in test_robotparser when mueblesmoraleda.com is flaky and an
+overzealous DNS service (e.g. OpenDNS) redirects to a placeholder Web site.
+
+..
+
+.. bpo: 0
+.. date: 8476
+.. nonce: Vvh-2P
+.. section: Tests
+
+Avoid failing in test_urllibnet.test_bad_address when some overzealous DNS
+service (e.g. OpenDNS) resolves a non-existent domain name.  The test is now
+skipped instead.
+
+..
+
+.. bpo: 8716
+.. date: 8475
+.. nonce: -qUe-z
+.. section: Tests
+
+Avoid crashes caused by Aqua Tk on OSX when attempting to run test_tk or
+test_ttk_guionly under a username that is not currently logged in to the
+console windowserver (as may be the case under buildbot or ssh).
+
+..
+
+.. bpo: 12141
+.. date: 8474
+.. nonce: -5YCgZ
+.. section: Tests
+
+Install a copy of template C module file so that test_build_ext of
+test_distutils is no longer silently skipped when run outside of a build
+directory.
+
+..
+
+.. bpo: 8746
+.. date: 8473
+.. nonce: I497O-
+.. section: Tests
+
+Add additional tests for os.chflags() and os.lchflags(). Patch by Garrett
+Cooper.
+
+..
+
+.. bpo: 10736
+.. date: 8472
+.. nonce: 60t_7a
+.. section: Tests
+
+Fix test_ttk test_widgets failures with Cocoa Tk 8.5.9 on Mac OS X.  (Patch
+by Ronald Oussoren)
+
+..
+
+.. bpo: 12057
+.. date: 8471
+.. nonce: 7QVG6T
+.. section: Tests
+
+Add tests for ISO 2022 codecs (iso2022_jp, iso2022_jp_2, iso2022_kr).
+
+..
+
+.. bpo: 13491
+.. date: 8470
+.. nonce: zMFNID
+.. section: Documentation
+
+Fix many errors in sqlite3 documentation. Initial patch for #13491 by
+Johannes Vogel. (See also: bpo-13995)
+
+..
+
+.. bpo: 13402
+.. date: 8469
+.. nonce: VSNrG0
+.. section: Documentation
+
+Document absoluteness of sys.executable.
+
+..
+
+.. bpo: 13883
+.. date: 8468
+.. nonce: atFSNh
+.. section: Documentation
+
+PYTHONCASEOK also works on OS X, OS/2, and RiscOS.
+
+..
+
+.. bpo: 2134
+.. date: 8467
+.. nonce: lkdzru
+.. section: Documentation
+
+The tokenize documentation has been clarified to explain why all operator
+and delimiter tokens are treated as token.OP tokens.
+
+..
+
+.. bpo: 13513
+.. date: 8466
+.. nonce: Z6l39q
+.. section: Documentation
+
+Fix io.IOBase documentation to correctly link to the io.IOBase.readline
+method instead of the readline module.
+
+..
+
+.. bpo: 13237
+.. date: 8465
+.. nonce: EVVjZK
+.. section: Documentation
+
+Reorganise subprocess documentation to emphasise convenience functions and
+the most commonly needed arguments to Popen.
+
+..
+
+.. bpo: 13141
+.. date: 8464
+.. nonce: rDLimI
+.. section: Documentation
+
+Demonstrate recommended style for SocketServer examples.
diff --git a/Misc/NEWS.d/2.7.3rc2.rst b/Misc/NEWS.d/2.7.3rc2.rst
new file mode 100644
index 0000000..8927310
--- /dev/null
+++ b/Misc/NEWS.d/2.7.3rc2.rst
@@ -0,0 +1,10 @@
+.. bpo: 14234
+.. date: 8657
+.. nonce: 3-5k8_
+.. release date: 2012-03-17
+.. section: Library
+
+CVE-2012-0876: Randomize hashes of xml attributes in the hash table internal
+to the pyexpat module's copy of the expat library to avoid a denial of
+service due to hash collisions.  Patch by David Malcolm with some
+modifications by the expat project.
diff --git a/Misc/NEWS.d/2.7.4.rst b/Misc/NEWS.d/2.7.4.rst
new file mode 100644
index 0000000..5fbe3ab
--- /dev/null
+++ b/Misc/NEWS.d/2.7.4.rst
@@ -0,0 +1,64 @@
+.. bpo: 17550
+.. date: 9013
+.. nonce: zn8gOk
+.. release date: 2013-04-06
+.. section: Build
+
+Fix the --enable-profiling configure switch.
+
+..
+
+.. bpo: 15801
+.. date: 9012
+.. nonce: zsLcEY
+.. section: Core and Builtins
+
+With string % formatting, relax the type check for a mapping such that any
+type with a __getitem__ can be used on the right hand side.
+
+..
+
+.. bpo: 17625
+.. date: 9011
+.. nonce: SoDm9J
+.. section: IDLE
+
+In IDLE, close the replace dialog after it is used.
+
+..
+
+.. bpo: 17835
+.. date: 9010
+.. nonce: mJdR71
+.. section: Tests
+
+Fix test_io when the default OS pipe buffer size is larger than one million
+bytes.
+
+..
+
+.. bpo: 17531
+.. date: 9009
+.. nonce: 7PzWC2
+.. section: Tests
+
+Fix tests that thought group and user ids were always the int type. Also,
+always allow -1 as a valid group and user id.
+
+..
+
+.. bpo: 17533
+.. date: 9008
+.. nonce: XGejM9
+.. section: Tests
+
+Fix test_xpickle with older versions of Python 2.5.
+
+..
+
+.. bpo: 17538
+.. date: 9007
+.. nonce: M8FVLz
+.. section: Documentation
+
+Document XML vulnerabilties
diff --git a/Misc/NEWS.d/2.7.4rc1.rst b/Misc/NEWS.d/2.7.4rc1.rst
new file mode 100644
index 0000000..bb0bd5f
--- /dev/null
+++ b/Misc/NEWS.d/2.7.4rc1.rst
@@ -0,0 +1,3419 @@
+.. bpo: 10211
+.. date: 9006
+.. nonce: JF6QJN
+.. release date: 2013-03-23
+.. section: Core and Builtins
+
+Buffer objects expose the new buffer interface internally
+
+..
+
+.. bpo: 16445
+.. date: 9005
+.. nonce: EF19nl
+.. section: Core and Builtins
+
+Fixed potential segmentation fault when deleting an exception message.
+
+..
+
+.. bpo: 17275
+.. date: 9004
+.. nonce: Aqerft
+.. section: Core and Builtins
+
+Corrected class name in init error messages of the C version of
+BufferedWriter and BufferedRandom.
+
+..
+
+.. bpo: 7963
+.. date: 9003
+.. nonce: FWJtUT
+.. section: Core and Builtins
+
+Fixed misleading error message that issued when object is called without
+arguments.
+
+..
+
+.. bpo: 5308
+.. date: 9002
+.. nonce: s5uAbP
+.. section: Core and Builtins
+
+Raise ValueError when marshalling too large object (a sequence with size >=
+2**31), instead of producing illegal marshal data.
+
+..
+
+.. bpo: 17043
+.. date: 9001
+.. nonce: 4OVhGk
+.. section: Core and Builtins
+
+The unicode-internal decoder no longer read past the end of input buffer.
+
+..
+
+.. bpo: 16979
+.. date: 9000
+.. nonce: jTR3Oe
+.. section: Core and Builtins
+
+Fix error handling bugs in the unicode-escape-decode decoder.
+
+..
+
+.. bpo: 10156
+.. date: 8999
+.. nonce: iEZGhY
+.. section: Core and Builtins
+
+In the interpreter's initialization phase, unicode globals are now
+initialized dynamically as needed.
+
+..
+
+.. bpo: 16975
+.. date: 8998
+.. nonce: H9EsG9
+.. section: Core and Builtins
+
+Fix error handling bug in the escape-decode decoder.
+
+..
+
+.. bpo: 14850
+.. date: 8997
+.. nonce: EhU_If
+.. section: Core and Builtins
+
+Now a charmap decoder treats U+FFFE as "undefined mapping" in any mapping,
+not only in a Unicode string.
+
+..
+
+.. bpo: 11461
+.. date: 8996
+.. nonce: xwn_Zw
+.. section: Core and Builtins
+
+Fix the incremental UTF-16 decoder. Original patch by Amaury Forgeot d'Arc.
+
+..
+
+.. bpo: 16367
+.. date: 8995
+.. nonce: lewlCg
+.. section: Core and Builtins
+
+Fix FileIO.readall() on Windows for files larger than 2 GB.
+
+..
+
+.. bpo: 15516
+.. date: 8994
+.. nonce: 5-JJO7
+.. section: Core and Builtins
+
+Fix a bug in PyString_FromFormat where it failed to properly ignore errors
+from a __int__() method.
+
+..
+
+.. bpo: 16839
+.. date: 8993
+.. nonce: aEw6ZB
+.. section: Core and Builtins
+
+Fix a segfault when calling unicode() on a classic class early in
+interpreter initialization.
+
+..
+
+.. bpo: 16761
+.. date: 8992
+.. nonce: Z2d0Tr
+.. section: Core and Builtins
+
+Calling ``int()`` and ``long()`` with *base* argument only now raises
+TypeError.
+
+..
+
+.. bpo: 16759
+.. date: 8991
+.. nonce: U0-CFS
+.. section: Core and Builtins
+
+Support the full DWORD (unsigned long) range in Reg2Py when retrieving a
+REG_DWORD value. This corrects functions like winreg.QueryValueEx that may
+have been returning truncated values.
+
+..
+
+.. bpo: 14420
+.. date: 8990
+.. nonce: uknqaC
+.. section: Core and Builtins
+
+Support the full DWORD (unsigned long) range in Py2Reg when passed a
+REG_DWORD value. Fixes ValueError in winreg.SetValueEx when given a long.
+
+..
+
+.. bpo: 13863
+.. date: 8989
+.. nonce: jfoNlP
+.. section: Core and Builtins
+
+Work around buggy 'fstat' implementation on Windows / NTFS that lead to
+incorrect timestamps (off by one hour) being stored in .pyc files on some
+systems.
+
+..
+
+.. bpo: 16602
+.. date: 8988
+.. nonce: FjnLTD
+.. section: Core and Builtins
+
+When a weakref's target was part of a long deallocation chain, the object
+could remain reachable through its weakref even though its refcount had
+dropped to zero.
+
+..
+
+.. bpo: 9011
+.. date: 8987
+.. nonce: ENWTWf
+.. section: Core and Builtins
+
+Fix hacky AST code that modified the CST when compiling a negated numeric
+literal.
+
+..
+
+.. bpo: 16306
+.. date: 8986
+.. nonce: H29SXn
+.. section: Core and Builtins
+
+Fix multiple error messages when unknown command line parameters where
+passed to the interpreter.  Patch by Hieu Nguyen.
+
+..
+
+.. bpo: 15379
+.. date: 8985
+.. nonce: Ix2NTb
+.. section: Core and Builtins
+
+Fix passing of non-BMP characters as integers for the charmap decoder
+(already working as unicode strings).  Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 16453
+.. date: 8984
+.. nonce: 0Zm9en
+.. section: Core and Builtins
+
+Fix equality testing of dead weakref objects.
+
+..
+
+.. bpo: 9535
+.. date: 8983
+.. nonce: hkixPD
+.. section: Core and Builtins
+
+Fix pending signals that have been received but not yet handled by Python to
+not persist after os.fork() in the child process.
+
+..
+
+.. bpo: 15001
+.. date: 8982
+.. nonce: oD3gtX
+.. section: Core and Builtins
+
+fix segfault on "del sys.modules['__main__']". Patch by Victor Stinner.
+
+..
+
+.. bpo: 5057
+.. date: 8981
+.. nonce: 5HFeht
+.. section: Core and Builtins
+
+the peepholer no longer optimizes subscription on unicode literals (e.g.
+u'foo'[0]) in order to produce compatible pyc files between narrow and wide
+builds.
+
+..
+
+.. bpo: 8401
+.. date: 8980
+.. nonce: TslRZr
+.. section: Core and Builtins
+
+assigning an int to a bytearray slice (e.g. b[3:4] = 5) now raises an error.
+
+..
+
+.. bpo: 14700
+.. date: 8979
+.. nonce: 1hIs61
+.. section: Core and Builtins
+
+Fix buggy overflow checks for large width and precision in string formatting
+operations.
+
+..
+
+.. bpo: 16345
+.. date: 8978
+.. nonce: azvPpP
+.. section: Core and Builtins
+
+Fix an infinite loop when ``fromkeys`` on a dict subclass received a
+nonempty dict from the constructor.
+
+..
+
+.. bpo: 6074
+.. date: 8977
+.. nonce: CXlveH
+.. section: Core and Builtins
+
+Ensure cached bytecode files can always be updated by the user that created
+them, even when the source file is read-only.
+
+..
+
+.. bpo: 14783
+.. date: 8976
+.. nonce: Sk4dfh
+.. section: Core and Builtins
+
+Improve int() and long() docstrings and switch docstrings for unicode(),
+slice(), range(), and xrange() to use multi-line signatures.
+
+..
+
+.. bpo: 16030
+.. date: 8975
+.. nonce: ljwmkM
+.. section: Core and Builtins
+
+Fix overflow bug in computing the `repr` of an xrange object with large
+start, step or length.
+
+..
+
+.. bpo: 16029
+.. date: 8974
+.. nonce: zGzl68
+.. section: Core and Builtins
+
+Fix overflow bug occurring when pickling xranges with large start, step or
+length.
+
+..
+
+.. bpo: 16037
+.. date: 8973
+.. nonce: tA7cA2
+.. section: Core and Builtins
+
+Limit httplib's _read_status() function to work around broken HTTP servers
+and reduce memory usage. It's actually a backport of a Python 3.2 fix.
+Thanks to Adrien Kunysz.
+
+..
+
+.. bpo: 16588
+.. date: 8972
+.. nonce: YKgxOa
+.. section: Core and Builtins
+
+Silence unused-but-set warnings in Python/thread_pthread
+
+..
+
+.. bpo: 13992
+.. date: 8971
+.. nonce: Jasaf2
+.. section: Core and Builtins
+
+The trashcan mechanism is now thread-safe.  This eliminates sporadic crashes
+in multi-thread programs when several long deallocator chains ran
+concurrently and involved subclasses of built-in container types.
+
+..
+
+.. bpo: 15801
+.. date: 8970
+.. nonce: gpcQV3
+.. section: Core and Builtins
+
+Make sure mappings passed to '%' formatting are actually subscriptable.
+
+..
+
+.. bpo: 15604
+.. date: 8969
+.. nonce: q1V3sc
+.. section: Core and Builtins
+
+Update uses of PyObject_IsTrue() to check for and handle errors correctly.
+Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 14579
+.. date: 8968
+.. nonce: Bcg1J1
+.. section: Core and Builtins
+
+Fix error handling bug in the utf-16 decoder.  Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 15368
+.. date: 8967
+.. nonce: iAaiat
+.. section: Core and Builtins
+
+An issue that caused bytecode generation to be non-deterministic when using
+randomized hashing (-R) has been fixed.
+
+..
+
+.. bpo: 15897
+.. date: 8966
+.. nonce: GQpoBE
+.. section: Core and Builtins
+
+zipimport.c doesn't check return value of fseek(). Patch by Felipe Cruz.
+
+..
+
+.. bpo: 16369
+.. date: 8965
+.. nonce: GtRTux
+.. section: Core and Builtins
+
+Global PyTypeObjects not initialized with PyType_Ready(...).
+
+..
+
+.. bpo: 15033
+.. date: 8964
+.. nonce: gKl1Eg
+.. section: Core and Builtins
+
+Fix the exit status bug when modules invoked using -m switch, return the
+proper failure return value (1). Patch contributed by Jeff Knupp.
+
+..
+
+.. bpo: 12268
+.. date: 8963
+.. nonce: 6mnsQI
+.. section: Core and Builtins
+
+File readline, readlines and read() methods no longer lose data when an
+underlying read system call is interrupted.  IOError is no longer raised due
+to a read system call returning EINTR from within these methods.
+
+..
+
+.. bpo: 13512
+.. date: 8962
+.. nonce: KW8Du9
+.. section: Core and Builtins
+
+Create ~/.pypirc securely (CVE-2011-4944).  Initial patch by Philip Jenvey,
+tested by Mageia and Debian.
+
+..
+
+.. bpo: 7719
+.. date: 8961
+.. nonce: O-kdp6
+.. section: Core and Builtins
+
+Make distutils ignore ``.nfs*`` files instead of choking later on.  Initial
+patch by SilentGhost and Jeff Ramnani.
+
+..
+
+.. bpo: 10053
+.. date: 8960
+.. nonce: rOxp0i
+.. section: Core and Builtins
+
+Don't close FDs when FileIO.__init__ fails. Loosely based on the work by
+Hirokazu Yamamoto.
+
+..
+
+.. bpo: 14775
+.. date: 8959
+.. nonce: AHE3Lc
+.. section: Core and Builtins
+
+Fix a potential quadratic dict build-up due to the garbage collector
+repeatedly trying to untrack dicts.
+
+..
+
+.. bpo: 14494
+.. date: 8958
+.. nonce: OjJqfu
+.. section: Core and Builtins
+
+Fix __future__.py and its documentation to note that absolute imports are
+the default behavior in 3.0 instead of 2.7. Patch by Sven Marnach.
+
+..
+
+.. bpo: 14761
+.. date: 8957
+.. nonce: A8TEE6
+.. section: Core and Builtins
+
+Fix potential leak on an error case in the import machinery.
+
+..
+
+.. bpo: 14699
+.. date: 8956
+.. nonce: AuoeMs
+.. section: Core and Builtins
+
+Fix calling the classmethod descriptor directly.
+
+..
+
+.. bpo: 11603
+.. date: 8955
+.. nonce: aGsFsn
+.. section: Core and Builtins
+
+Setting __repr__ to __str__ now raises a RuntimeError when repr() or str()
+is called on such an object.
+
+..
+
+.. bpo: 14658
+.. date: 8954
+.. nonce: jeSkqL
+.. section: Core and Builtins
+
+Fix binding a special method to a builtin implementation of a special method
+with a different name.
+
+..
+
+.. bpo: 14612
+.. date: 8953
+.. nonce: uTBlpg
+.. section: Core and Builtins
+
+Fix jumping around with blocks by setting f_lineno.
+
+..
+
+.. bpo: 13889
+.. date: 8952
+.. nonce: 5jUbDL
+.. section: Core and Builtins
+
+Check and (if necessary) set FPU control word before calling any of the
+dtoa.c string <-> float conversion functions, on MSVC builds of Python.
+This fixes issues when embedding Python in a Delphi app.
+
+..
+
+.. bpo: 14505
+.. date: 8951
+.. nonce: oeGD4J
+.. section: Core and Builtins
+
+Fix file descriptor leak when deallocating file objects created with
+PyFile_FromString().
+
+..
+
+.. bpo: 14474
+.. date: 8950
+.. nonce: 8TuKNN
+.. section: Core and Builtins
+
+Save and restore exception state in thread.start_new_thread() while writing
+error message if the thread leaves an unhandled exception.
+
+..
+
+.. bpo: 13019
+.. date: 8949
+.. nonce: LYHgJO
+.. section: Core and Builtins
+
+Fix potential reference leaks in bytearray.extend().  Patch by Suman Saha.
+
+..
+
+.. bpo: 14378
+.. date: 8948
+.. nonce: SYESoz
+.. section: Core and Builtins
+
+Fix compiling ast.ImportFrom nodes with a "__future__" string as the module
+name that was not interned.
+
+..
+
+.. bpo: 14331
+.. date: 8947
+.. nonce: xcTH6m
+.. section: Core and Builtins
+
+Use significantly less stack space when importing modules by allocating path
+buffers on the heap instead of the stack.
+
+..
+
+.. bpo: 14334
+.. date: 8946
+.. nonce: l8YQhg
+.. section: Core and Builtins
+
+Prevent in a segfault in type.__getattribute__ when it was not passed
+strings. Also fix segfaults in the __getattribute__ and __setattr__ methods
+of old-style classes.
+
+..
+
+.. bpo: 14161
+.. date: 8945
+.. nonce: VorA5N
+.. section: Core and Builtins
+
+fix the __repr__ of file objects to escape the file name.
+
+..
+
+.. bpo: 1469629
+.. date: 8944
+.. nonce: ej86Z-
+.. section: Core and Builtins
+
+Allow cycles through an object's __dict__ slot to be collected. (For example
+if ``x.__dict__ is x``).
+
+..
+
+.. bpo: 13521
+.. date: 8943
+.. nonce: L_inbK
+.. section: Core and Builtins
+
+dict.setdefault() now does only one lookup for the given key, making it
+"atomic" for many purposes.  Patch by Filip Gruszczyński.
+
+..
+
+.. bpo: 1602133
+.. date: 8942
+.. nonce: lYqpUo
+.. section: Core and Builtins
+
+on Mac OS X a shared library build (``--enable-shared``) now fills the
+``os.environ`` variable correctly.
+
+..
+
+.. bpo: 10538
+.. date: 8941
+.. nonce: F7Gerr
+.. section: Core and Builtins
+
+When using the "s*" code with PyArg_ParseTuple() to fill a Py_buffer
+structure with data from an object supporting only the old PyBuffer
+interface, a reference to the source objects is now properly added to the
+Py_buffer.obj member.
+
+..
+
+.. bpo: 12718
+.. date: 8940
+.. nonce: lrGueo
+.. section: Library
+
+Fix interaction with winpdb overriding __import__ by setting importer
+attribute on BaseConfigurator instance.
+
+..
+
+.. bpo: 17521
+.. date: 8939
+.. nonce: rDGKe7
+.. section: Library
+
+Corrected non-enabling of logger following two calls to fileConfig().
+
+..
+
+.. bpo: 17508
+.. date: 8938
+.. nonce: sO6qmY
+.. section: Library
+
+Corrected MemoryHandler configuration in dictConfig() where the target
+handler wasn't configured first.
+
+..
+
+.. bpo: 10212
+.. date: 8937
+.. nonce: XGXAQQ
+.. section: Library
+
+cStringIO and struct.unpack support new buffer objects.
+
+..
+
+.. bpo: 12098
+.. date: 8936
+.. nonce: kcQpDY
+.. section: Library
+
+multiprocessing on Windows now starts child processes using the same
+sys.flags as the current process.  Initial patch by Sergey Mezentsev.
+
+..
+
+.. bpo: 8862
+.. date: 8935
+.. nonce: WpBti_
+.. section: Library
+
+Fixed curses cleanup when getkey is interrupted by a signal.
+
+..
+
+.. bpo: 9090
+.. date: 8934
+.. nonce: FUyySi
+.. section: Library
+
+When a socket with a timeout fails with EWOULDBLOCK or EAGAIN, retry the
+select() loop instead of bailing out.  This is because select() can
+incorrectly report a socket as ready for reading (for example, if it
+received some data with an invalid checksum).
+
+..
+
+.. bpo: 1285086
+.. date: 8933
+.. nonce: U7ONBL
+.. section: Library
+
+Get rid of the refcounting hack and speed up urllib.unquote().
+
+..
+
+.. bpo: 17368
+.. date: 8932
+.. nonce: y8QiJd
+.. section: Library
+
+Fix an off-by-one error in the Python JSON decoder that caused a failure
+while decoding empty object literals when object_pairs_hook was specified.
+
+..
+
+.. bpo: 17278
+.. date: 8931
+.. nonce: pOF4An
+.. section: Library
+
+Fix a crash in heapq.heappush() and heapq.heappop() when the list is being
+resized concurrently.
+
+..
+
+.. bpo: 17018
+.. date: 8930
+.. nonce: l8_sa8
+.. section: Library
+
+Make Process.join() retry if os.waitpid() fails with EINTR.
+
+..
+
+.. bpo: 14720
+.. date: 8929
+.. nonce: rjT0OJ
+.. section: Library
+
+sqlite3: Convert datetime microseconds correctly. Patch by Lowe Thiderman.
+
+..
+
+.. bpo: 17225
+.. date: 8928
+.. nonce: Z396fN
+.. section: Library
+
+JSON decoder now counts columns in the first line starting with 1, as in
+other lines.
+
+..
+
+.. bpo: 7842
+.. date: 8927
+.. nonce: p2kMAC
+.. section: Library
+
+backported fix for py_compile.compile() syntax error handling.
+
+..
+
+.. bpo: 13153
+.. date: 8926
+.. nonce: IN7Ddm
+.. section: Library
+
+Tkinter functions now raise TclError instead of ValueError when a unicode
+argument contains non-BMP character.
+
+..
+
+.. bpo: 9669
+.. date: 8925
+.. nonce: Td9alB
+.. section: Library
+
+Protect re against infinite loops on zero-width matching in non-greedy
+repeat.  Patch by Matthew Barnett.
+
+..
+
+.. bpo: 13169
+.. date: 8924
+.. nonce: txDMgH
+.. section: Library
+
+The maximal repetition number in a regular expression has been increased
+from 65534 to 2147483647 (on 32-bit platform) or 4294967294 (on 64-bit).
+
+..
+
+.. bpo: 16743
+.. date: 8923
+.. nonce: 7vwfDN
+.. section: Library
+
+Fix mmap overflow check on 32 bit Windows.
+
+..
+
+.. bpo: 11311
+.. date: 8922
+.. nonce: NvgObQ
+.. section: Library
+
+StringIO.readline(0) now returns an empty string as all other file-like
+objects.
+
+..
+
+.. bpo: 16800
+.. date: 8921
+.. nonce: HxSo58
+.. section: Library
+
+tempfile.gettempdir() no longer left temporary files when the disk is full.
+Original patch by Amir Szekely.
+
+..
+
+.. bpo: 13555
+.. date: 8920
+.. nonce: bXG1a4
+.. section: Library
+
+cPickle now supports files larger than 2 GiB.
+
+..
+
+.. bpo: 17052
+.. date: 8919
+.. nonce: TEWdzQ
+.. section: Library
+
+unittest discovery should use self.testLoader.
+
+..
+
+.. bpo: 4591
+.. date: 8918
+.. nonce: 9wJlD8
+.. section: Library
+
+Uid and gid values larger than 2**31 are supported now.
+
+..
+
+.. bpo: 17141
+.. date: 8917
+.. nonce: pXFICp
+.. section: Library
+
+random.vonmisesvariate() no more hangs for large kappas.
+
+..
+
+.. bpo: 17149
+.. date: 8916
+.. nonce: ONtJnJ
+.. section: Library
+
+Fix random.vonmisesvariate to always return results in the range [0,
+2*math.pi].
+
+..
+
+.. bpo: 1470548
+.. date: 8915
+.. nonce: xr_CsJ
+.. section: Library
+
+XMLGenerator now works with UTF-16 and UTF-32 encodings.
+
+..
+
+.. bpo: 6975
+.. date: 8914
+.. nonce: 4GoPXW
+.. section: Library
+
+os.path.realpath() now correctly resolves multiple nested symlinks on POSIX
+platforms.
+
+..
+
+.. bpo: 7358
+.. date: 8913
+.. nonce: -jPlTz
+.. section: Library
+
+cStringIO.StringIO now supports writing to and reading from a stream larger
+than 2 GiB on 64-bit systems.
+
+..
+
+.. bpo: 10355
+.. date: 8912
+.. nonce: lkhqo9
+.. section: Library
+
+In SpooledTemporaryFile class mode and name properties and xreadlines method
+now work for unrolled files.  encoding and newlines properties now removed
+as they have no sense and always produced AttributeError.
+
+..
+
+.. bpo: 16686
+.. date: 8911
+.. nonce: zT_bpe
+.. section: Library
+
+Fixed a lot of bugs in audioop module.  Fixed crashes in avgpp(), maxpp()
+and ratecv().  Fixed an integer overflow in add(), bias(), and ratecv().
+reverse(), lin2lin() and ratecv() no more lose precision for 32-bit samples.
+max() and rms() no more returns a negative result and various other
+functions now work correctly with 32-bit sample -0x80000000.
+
+..
+
+.. bpo: 17073
+.. date: 8910
+.. nonce: wlCar1
+.. section: Library
+
+Fix some integer overflows in sqlite3 module.
+
+..
+
+.. bpo: 6083
+.. date: 8909
+.. nonce: MVAIwI
+.. section: Library
+
+Fix multiple segmentation faults occurred when PyArg_ParseTuple parses
+nested mutating sequence.
+
+..
+
+.. bpo: 5289
+.. date: 8908
+.. nonce: 4azz2m
+.. section: Library
+
+Fix ctypes.util.find_library on Solaris.
+
+..
+
+.. bpo: 17106
+.. date: 8907
+.. nonce: -2_cbV
+.. section: Library
+
+Fix a segmentation fault in io.TextIOWrapper when an underlying stream or a
+decoder produces data of an unexpected type (i.e. when io.TextIOWrapper
+initialized with text stream or use bytes-to-bytes codec).
+
+..
+
+.. bpo: 13994
+.. date: 8906
+.. nonce: Y89GZB
+.. section: Library
+
+Add compatibility alias in distutils.ccompiler for
+distutils.sysconfig.customize_compiler.
+
+..
+
+.. bpo: 15633
+.. date: 8905
+.. nonce: t407yZ
+.. section: Library
+
+httplib.HTTPResponse is now mark closed when the server sends less than the
+advertised Content-Length.
+
+..
+
+.. bpo: 15881
+.. date: 8904
+.. nonce: UfzKmP
+.. section: Library
+
+Fixed atexit hook in multiprocessing.
+
+..
+
+.. bpo: 14340
+.. date: 8903
+.. nonce: 6XMfoZ
+.. section: Library
+
+Upgrade the embedded expat library to version 2.1.0.
+
+..
+
+.. bpo: 11159
+.. date: 8902
+.. nonce: P-3Mf3
+.. section: Library
+
+SAX parser now supports unicode file names.
+
+..
+
+.. bpo: 6972
+.. date: 8901
+.. nonce: e2Lq4T
+.. section: Library
+
+The zipfile module no longer overwrites files outside of its destination
+path when extracting malicious zip files.
+
+..
+
+.. bpo: 17049
+.. date: 8900
+.. nonce: CoOx8W
+.. section: Library
+
+Localized calendar methods now return unicode if a locale includes an
+encoding and the result string contains month or weekday (was regression
+from Python 2.6).
+
+..
+
+.. bpo: 4844
+.. date: 8899
+.. nonce: jvXWfL
+.. section: Library
+
+ZipFile now raises BadZipfile when opens a ZIP file with an incomplete "End
+of Central Directory" record.  Original patch by Guilherme Polo and Alan
+McIntyre.
+
+..
+
+.. bpo: 15505
+.. date: 8898
+.. nonce: -pH9Mh
+.. section: Library
+
+`unittest.installHandler` no longer assumes SIGINT handler is set to a
+callable object.
+
+..
+
+.. bpo: 17051
+.. date: 8897
+.. nonce: erKg1U
+.. section: Library
+
+Fix a memory leak in os.path.isdir() on Windows. Patch by Robert Xiao.
+
+..
+
+.. bpo: 13454
+.. date: 8896
+.. nonce: 81rUI-
+.. section: Library
+
+Fix a crash when deleting an iterator created by itertools.tee() if all
+other iterators were very advanced before.
+
+..
+
+.. bpo: 16992
+.. date: 8895
+.. nonce: s_RXIM
+.. section: Library
+
+On Windows in signal.set_wakeup_fd, validate the file descriptor argument.
+
+..
+
+.. bpo: 15861
+.. date: 8894
+.. nonce: gGkxCM
+.. section: Library
+
+tkinter now correctly works with lists and tuples containing strings with
+whitespaces, backslashes or unbalanced braces.
+
+..
+
+.. bpo: 10527
+.. date: 8893
+.. nonce: EuNKip
+.. section: Library
+
+Use poll() instead of select() for multiprocessing pipes.
+
+..
+
+.. bpo: 9720
+.. date: 8892
+.. nonce: XPXDks
+.. section: Library
+
+zipfile now writes correct local headers for files larger than 4 GiB.
+
+..
+
+.. bpo: 13899
+.. date: 8891
+.. nonce: yz3hXA
+.. section: Library
+
+\A, \Z, and \B now correctly match the A, Z, and B literals when used inside
+character classes (e.g. '[\A]').  Patch by Matthew Barnett.
+
+..
+
+.. bpo: 16398
+.. date: 8890
+.. nonce: JU7cL4
+.. section: Library
+
+Optimize deque.rotate() so that it only moves pointers and doesn't touch the
+underlying data with increfs and decrefs.
+
+..
+
+.. bpo: 15109
+.. date: 8889
+.. nonce: Qk6XVt
+.. section: Library
+
+Fix regression in sqlite3's iterdump method where it would die with an
+encoding error if the database contained string values containing non-ASCII.
+(Regression was introduced by fix for 9750).
+
+..
+
+.. bpo: 15545
+.. date: 8888
+.. nonce: FCBNNV
+.. section: Library
+
+Fix regression in sqlite3's iterdump method where it was failing if the
+connection used a row factory (such as sqlite3.Row) that produced unsortable
+objects. (Regression was introduced by fix for 9750).
+
+..
+
+.. bpo: 16828
+.. date: 8887
+.. nonce: KB886T
+.. section: Library
+
+Fix error incorrectly raised by bz2.compress(''). Patch by Martin Packman.
+
+..
+
+.. bpo: 9586
+.. date: 8886
+.. nonce: 9tuKgR
+.. section: Library
+
+Redefine SEM_FAILED on MacOSX to keep compiler happy.
+
+..
+
+.. bpo: 10527
+.. date: 8885
+.. nonce: 7btVvN
+.. section: Library
+
+make multiprocessing use poll() instead of select() if available.
+
+..
+
+.. bpo: 16485
+.. date: 8884
+.. nonce: aUJyTZ
+.. section: Library
+
+Now file descriptors are closed if file header patching failed on closing an
+aifc file.
+
+..
+
+.. bpo: 12065
+.. date: 8883
+.. nonce: FBZpyD
+.. section: Library
+
+connect_ex() on an SSL socket now returns the original errno when the
+socket's timeout expires (it used to return None).
+
+..
+
+.. bpo: 16713
+.. date: 8882
+.. nonce: YX5wyQ
+.. section: Library
+
+Fix the parsing of tel url with params using urlparse module.
+
+..
+
+.. bpo: 16443
+.. date: 8881
+.. nonce: SnGosi
+.. section: Library
+
+Add docstrings to regular expression match objects. Patch by Anton Kasyanov.
+
+..
+
+.. bpo: 8853
+.. date: 8880
+.. nonce: vSQPAG
+.. section: Library
+
+Allow port to be of type long for socket.getaddrinfo().
+
+..
+
+.. bpo: 16597
+.. date: 8879
+.. nonce: z8uMEN
+.. section: Library
+
+In buffered and text IO, call close() on the underlying stream if invoking
+flush() fails.
+
+..
+
+.. bpo: 15701
+.. date: 8878
+.. nonce: rAh1Sy
+.. section: Library
+
+Fix HTTPError info method call to return the headers information.
+
+..
+
+.. bpo: 16646
+.. date: 8877
+.. nonce: Tc3vsq
+.. section: Library
+
+ftplib.FTP.makeport() might lose socket error details. (patch by Serhiy
+Storchaka)
+
+..
+
+.. bpo: 16626
+.. date: 8876
+.. nonce: P9xKcu
+.. section: Library
+
+Fix infinite recursion in glob.glob() on Windows when the pattern contains a
+wildcard in the drive or UNC path.  Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 16298
+.. date: 8875
+.. nonce: kN3o52
+.. section: Library
+
+In HTTPResponse.read(), close the socket when there is no Content-Length and
+the incoming stream is finished.  Patch by Eran Rundstein.
+
+..
+
+.. bpo: 16248
+.. date: 8874
+.. nonce: yOopnt
+.. section: Library
+
+Disable code execution from the user's home directory by tkinter when the -E
+flag is passed to Python.  Patch by Zachary Ware.
+
+..
+
+.. bpo: 16628
+.. date: 8873
+.. nonce: qnWML3
+.. section: Library
+
+Fix a memory leak in ctypes.resize().
+
+..
+
+.. bpo: 13614
+.. date: 8872
+.. nonce: buqA2j
+.. section: Library
+
+Fix setup.py register failure with invalid rst in description. Patch by
+Julien Courteau and Pierre Paul Lefebvre.
+
+..
+
+.. bpo: 10182
+.. date: 8871
+.. nonce: 0nH79H
+.. section: Library
+
+The re module doesn't truncate indices to 32 bits anymore. Patch by Serhiy
+Storchaka.
+
+..
+
+.. bpo: 16573
+.. date: 8870
+.. nonce: kKjx72
+.. section: Library
+
+In 2to3, treat enumerate() like a consuming call, so superfluous list()
+calls aren't added to filter(), map(), and zip() which are directly passed
+enumerate().
+
+..
+
+.. bpo: 1160
+.. date: 8869
+.. nonce: n79fOA
+.. section: Library
+
+Fix compiling large regular expressions on UCS2 builds. Patch by Serhiy
+Storchaka.
+
+..
+
+.. bpo: 14313
+.. date: 8868
+.. nonce: WpDB93
+.. section: Library
+
+zipfile now raises NotImplementedError when the compression type is unknown.
+
+..
+
+.. bpo: 16408
+.. date: 8867
+.. nonce: iqzks4
+.. section: Library
+
+Fix file descriptors not being closed in error conditions in the zipfile
+module.  Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 16327
+.. date: 8866
+.. nonce: uVAHv3
+.. section: Library
+
+The subprocess module no longer leaks file descriptors used for
+stdin/stdout/stderr pipes to the child when fork() fails.
+
+..
+
+.. bpo: 14396
+.. date: 8865
+.. nonce: aUgPuV
+.. section: Library
+
+Handle the odd rare case of waitpid returning 0 when not expected in
+subprocess.Popen.wait().
+
+..
+
+.. bpo: 16411
+.. date: 8864
+.. nonce: 9Mn07O
+.. section: Library
+
+Fix a bug where zlib.decompressobj().flush() might try to access previously-
+freed memory. Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 16350
+.. date: 8863
+.. nonce: b77tF6
+.. section: Library
+
+zlib.decompressobj().decompress() now accumulates data from successive calls
+after EOF in unused_data, instead of only saving the argument to the last
+call. decompressobj().flush() now correctly sets unused_data and
+unconsumed_tail. A bug in the handling of MemoryError when setting the
+unconsumed_tail attribute has also been fixed. Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 12759
+.. date: 8862
+.. nonce: c7p8aw
+.. section: Library
+
+sre_parse now raises a proper error when the name of the group is missing.
+Initial patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 16152
+.. date: 8861
+.. nonce: Lypvsp
+.. section: Library
+
+fix tokenize to ignore whitespace at the end of the code when no newline is
+found.  Patch by Ned Batchelder.
+
+..
+
+.. bpo: 16230
+.. date: 8860
+.. nonce: Y7XU0-
+.. section: Library
+
+Fix a crash in select.select() when one of the lists changes size while
+iterated on.  Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 16228
+.. date: 8859
+.. nonce: zsna-8
+.. section: Library
+
+Fix a crash in the json module where a list changes size while it is being
+encoded.  Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 14897
+.. date: 8858
+.. nonce: OGbALj
+.. section: Library
+
+Enhance error messages of struct.pack and struct.pack_into. Patch by Matti
+Mäki.
+
+..
+
+.. bpo: 12890
+.. date: 8857
+.. nonce: kDaDxa
+.. section: Library
+
+cgitb no longer prints spurious <p> tags in text mode when the logdir option
+is specified.
+
+..
+
+.. bpo: 14398
+.. date: 8856
+.. nonce: jPT4ME
+.. section: Library
+
+Fix size truncation and overflow bugs in the bz2 module.
+
+..
+
+.. bpo: 5148
+.. date: 8855
+.. nonce: VHoO2C
+.. section: Library
+
+Ignore 'U' in mode given to gzip.open() and gzip.GzipFile().
+
+..
+
+.. bpo: 16220
+.. date: 8854
+.. nonce: KAtvbg
+.. section: Library
+
+wsgiref now always calls close() on an iterable response. Patch by Brent
+Tubbs.
+
+..
+
+.. bpo: 16461
+.. date: 8853
+.. nonce: 4XLB7L
+.. section: Library
+
+Wave library should be able to deal with 4GB wav files, and sample rate of
+44100 Hz.
+
+..
+
+.. bpo: 16176
+.. date: 8852
+.. nonce: iZz-x5
+.. section: Library
+
+Properly identify Windows 8 via platform.platform()
+
+..
+
+.. bpo: 15756
+.. date: 8851
+.. nonce: cV4TEW
+.. section: Library
+
+subprocess.poll() now properly handles errno.ECHILD to return a returncode
+of 0 when the child has already exited or cannot be waited on.
+
+..
+
+.. bpo: 12376
+.. date: 8850
+.. nonce: mkpQwv
+.. section: Library
+
+Pass on parameters in TextTestResult.__init__ super call
+
+..
+
+.. bpo: 15222
+.. date: 8849
+.. nonce: lOnn6t
+.. section: Library
+
+Insert blank line after each message in mbox mailboxes
+
+..
+
+.. bpo: 16013
+.. date: 8848
+.. nonce: lJImKp
+.. section: Library
+
+Fix CSV Reader parsing issue with ending quote characters. Patch by Serhiy
+Storchaka.
+
+..
+
+.. bpo: 15421
+.. date: 8847
+.. nonce: SUEEPv
+.. section: Library
+
+fix an OverflowError in Calendar.itermonthdates() after datetime.MAXYEAR.
+Patch by Cédric Krier.
+
+..
+
+.. bpo: 15970
+.. date: 8846
+.. nonce: 8deo2K
+.. section: Library
+
+xml.etree.ElementTree now serializes correctly the empty HTML elements
+'meta' and 'param'.
+
+..
+
+.. bpo: 15676
+.. date: 8845
+.. nonce: V_auQh
+.. section: Library
+
+Now "mmap" check for empty files before doing the offset check.  Patch by
+Steven Willis.
+
+..
+
+.. bpo: 15340
+.. date: 8844
+.. nonce: Aqn0c1
+.. section: Library
+
+Fix importing the random module when /dev/urandom cannot be opened.  This
+was a regression caused by the hash randomization patch.
+
+..
+
+.. bpo: 15841
+.. date: 8843
+.. nonce: M11nwa
+.. section: Library
+
+The readable(), writable() and seekable() methods of io.BytesIO and
+io.StringIO objects now raise ValueError when the object has been closed.
+Patch by Alessandro Moura.
+
+..
+
+.. bpo: 16112
+.. date: 8842
+.. nonce: 7UQthq
+.. section: Library
+
+platform.architecture does not correctly escape argument to /usr/bin/file.
+Patch by David Benjamin.
+
+..
+
+.. bpo: 12776
+.. date: 8841
+.. nonce: MzM-xL
+.. section: Library
+
+call argparse type function (specified by add_argument) only once. Before,
+the type function was called twice in the case where the default was
+specified and the argument was given as well.  This was especially
+problematic for the FileType type, as a default file would always be opened,
+even if a file argument was specified on the command line. (See also:
+bpo-11839)
+
+..
+
+.. bpo: 15906
+.. date: 8840
+.. nonce: sY-Tgu
+.. section: Library
+
+Fix a regression in argparse caused by the preceding change, when
+action='append', type='str' and default=[].
+
+..
+
+.. bpo: 13370
+.. date: 8839
+.. nonce: E9RveK
+.. section: Library
+
+Ensure that ctypes works on Mac OS X when Python is compiled using the clang
+compiler
+
+..
+
+.. bpo: 15544
+.. date: 8838
+.. nonce: 3QjWdU
+.. section: Library
+
+Fix Decimal.__float__ to work with payload-carrying NaNs.
+
+..
+
+.. bpo: 15199
+.. date: 8837
+.. nonce: iOOV1X
+.. section: Library
+
+Fix JavaScript's default MIME type to application/javascript. Patch by
+Bohuslav Kabrda.
+
+..
+
+.. bpo: 15477
+.. date: 8836
+.. nonce: 9gGqPw
+.. section: Library
+
+In cmath and math modules, add workaround for platforms whose system-
+supplied log1p function doesn't respect signs of zeros.
+
+..
+
+.. bpo: 11062
+.. date: 8835
+.. nonce: ZhTF21
+.. section: Library
+
+Fix adding a message from file to Babyl mailbox.
+
+..
+
+.. bpo: 15646
+.. date: 8834
+.. nonce: VbhKq4
+.. section: Library
+
+Prevent equivalent of a fork bomb when using multiprocessing on Windows
+without the "if __name__ == '__main__'" idiom.
+
+..
+
+.. bpo: 15567
+.. date: 8833
+.. nonce: MGuZ8N
+.. section: Library
+
+Fix NameError when running threading._test
+
+..
+
+.. bpo: 15424
+.. date: 8832
+.. nonce: 6ZaCfJ
+.. section: Library
+
+Add a __sizeof__ implementation for array objects. Patch by Ludwig Hähne.
+
+..
+
+.. bpo: 15538
+.. date: 8831
+.. nonce: CJHtAs
+.. section: Library
+
+Fix compilation of the getnameinfo() / getaddrinfo() emulation code.  Patch
+by Philipp Hagemeister.
+
+..
+
+.. bpo: 12288
+.. date: 8830
+.. nonce: EeBUVC
+.. section: Library
+
+Consider '0' and '0.0' as valid initialvalue for tkinter SimpleDialog.
+
+..
+
+.. bpo: 15489
+.. date: 8829
+.. nonce: P9-vH9
+.. section: Library
+
+Add a __sizeof__ implementation for BytesIO objects. Patch by Serhiy
+Storchaka.
+
+..
+
+.. bpo: 15469
+.. date: 8828
+.. nonce: eFsJXX
+.. section: Library
+
+Add a __sizeof__ implementation for deque objects. Patch by Serhiy
+Storchaka.
+
+..
+
+.. bpo: 15487
+.. date: 8827
+.. nonce: vtEBtw
+.. section: Library
+
+Add a __sizeof__ implementation for buffered I/O objects. Patch by Serhiy
+Storchaka.
+
+..
+
+.. bpo: 15512
+.. date: 8826
+.. nonce: JO3bbV
+.. section: Library
+
+Add a __sizeof__ implementation for parser. Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 15402
+.. date: 8825
+.. nonce: MWs0d1
+.. section: Library
+
+An issue in the struct module that caused sys.getsizeof to return incorrect
+results for struct.Struct instances has been fixed. Initial patch by Serhiy
+Storchaka.
+
+..
+
+.. bpo: 15232
+.. date: 8824
+.. nonce: R723JW
+.. section: Library
+
+when mangle_from is True, email.Generator now correctly mangles lines that
+start with 'From ' that occur in a MIME preamble or epilog.
+
+..
+
+.. bpo: 13922
+.. date: 8823
+.. nonce: mg0ypz
+.. section: Library
+
+argparse no longer incorrectly strips '--'s that appear after the first one.
+
+..
+
+.. bpo: 12353
+.. date: 8822
+.. nonce: S3NUQb
+.. section: Library
+
+argparse now correctly handles null argument values.
+
+..
+
+.. bpo: 6493
+.. date: 8821
+.. nonce: onAuOo
+.. section: Library
+
+An issue in ctypes on Windows that caused structure bitfields of type
+ctypes.c_uint32 and width 32 to incorrectly be set has been fixed.
+
+..
+
+.. bpo: 14635
+.. date: 8820
+.. nonce: R89rsl
+.. section: Library
+
+telnetlib will use poll() rather than select() when possible to avoid
+failing due to the select() file descriptor limit.
+
+..
+
+.. bpo: 15247
+.. date: 8819
+.. nonce: XQlOgY
+.. section: Library
+
+FileIO now raises an error when given a file descriptor pointing to a
+directory.
+
+..
+
+.. bpo: 14591
+.. date: 8818
+.. nonce: WiL398
+.. section: Library
+
+Fix bug in Random.jumpahead that could produce an invalid Mersenne Twister
+state on 64-bit machines.
+
+..
+
+.. bpo: 5346
+.. date: 8817
+.. nonce: KazqNd
+.. section: Library
+
+Preserve permissions of mbox, MMDF and Babyl mailbox files on flush().
+
+..
+
+.. bpo: 15219
+.. date: 8816
+.. nonce: q8ah8W
+.. section: Library
+
+Fix a reference leak when hashlib.new() is called with invalid parameters.
+
+..
+
+.. bpo: 9559
+.. date: 8815
+.. nonce: HNrpSz
+.. section: Library
+
+If messages were only added, a new file is no longer created and renamed
+over the old file when flush() is called on an mbox, MMDF or Babyl mailbox.
+
+..
+
+.. bpo: 14653
+.. date: 8814
+.. nonce: wxr1Hp
+.. section: Library
+
+email.utils.mktime_tz() no longer relies on system mktime() when timezone
+offest is supplied.
+
+..
+
+.. bpo: 6056
+.. date: 8813
+.. nonce: QB7JkF
+.. section: Library
+
+Make multiprocessing use setblocking(True) on the sockets it uses.  Original
+patch by J Derek Wilson.
+
+..
+
+.. bpo: 15101
+.. date: 8812
+.. nonce: IWvk9X
+.. section: Library
+
+Make pool finalizer avoid joining current thread.
+
+..
+
+.. bpo: 15054
+.. date: 8811
+.. nonce: tE72L_
+.. section: Library
+
+A bug in tokenize.tokenize that caused string literals with 'b' and 'br'
+prefixes to be incorrectly tokenized has been fixed. Patch by Serhiy
+Storchaka.
+
+..
+
+.. bpo: 15036
+.. date: 8810
+.. nonce: Mhm512
+.. section: Library
+
+Mailbox no longer throws an error if a flush is done between operations when
+removing or changing multiple items in mbox, MMDF, or Babyl mailboxes.
+
+..
+
+.. bpo: 10133
+.. date: 8809
+.. nonce: RredST
+.. section: Library
+
+Make multiprocessing deallocate buffer if socket read fails.  Patch by
+Hallvard B Furuseth.
+
+..
+
+.. bpo: 13854
+.. date: 8808
+.. nonce: ms8PU3
+.. section: Library
+
+Make multiprocessing properly handle non-integer non-string argument to
+SystemExit.
+
+..
+
+.. bpo: 12157
+.. date: 8807
+.. nonce: awxWQJ
+.. section: Library
+
+Make pool.map() empty iterables correctly.  Initial patch by mouad.
+
+..
+
+.. bpo: 14036
+.. date: 8806
+.. nonce: wfrN3N
+.. section: Library
+
+Add an additional check to validate that port in urlparse does not go in
+illegal range and returns None.
+
+..
+
+.. bpo: 14888
+.. date: 8805
+.. nonce: 8d3GPF
+.. section: Library
+
+Fix misbehaviour of the _md5 module when called on data larger than 2**32
+bytes.
+
+..
+
+.. bpo: 15908
+.. date: 8804
+.. nonce: xfD3R4
+.. section: Library
+
+Fix misbehaviour of the sha1 module when called on data larger than 2**32
+bytes.
+
+..
+
+.. bpo: 15910
+.. date: 8803
+.. nonce: Xik0eY
+.. section: Library
+
+Fix misbehaviour of _md5 and sha1 modules when "updating" on data larger
+than 2**32 bytes.
+
+..
+
+.. bpo: 14875
+.. date: 8802
+.. nonce: pGNN-W
+.. section: Library
+
+Use float('inf') instead of float('1e66666') in the json module.
+
+..
+
+.. bpo: 14572
+.. date: 8801
+.. nonce: FxInwF
+.. section: Library
+
+Prevent build failures with pre-3.5.0 versions of sqlite3, such as was
+shipped with Centos 5 and Mac OS X 10.4.
+
+..
+
+.. bpo: 14426
+.. date: 8800
+.. nonce: GSay45
+.. section: Library
+
+Correct the Date format in Expires attribute of Set-Cookie Header in
+Cookie.py.
+
+..
+
+.. bpo: 14721
+.. date: 8799
+.. nonce: 3gDakm
+.. section: Library
+
+Send proper header, Content-length: 0 when the body is an empty string ''.
+Initial Patch contributed by Arve Knudsen.
+
+..
+
+.. bpo: 14072
+.. date: 8798
+.. nonce: 4bVZye
+.. section: Library
+
+Fix parsing of 'tel' URIs in urlparse by making the check for ports
+stricter.
+
+..
+
+.. bpo: 9374
+.. date: 8797
+.. nonce: 73g_V_
+.. section: Library
+
+Generic parsing of query and fragment portions of url for any scheme.
+Supported both by RFC3986 and RFC2396.
+
+..
+
+.. bpo: 14798
+.. date: 8796
+.. nonce: uw_PT-
+.. section: Library
+
+Fix the functions in pyclbr to raise an ImportError when the first part of a
+dotted name is not a package. Patch by Xavier de Gaye.
+
+..
+
+.. bpo: 14832
+.. date: 8795
+.. nonce: ZyLvfY
+.. section: Library
+
+fixed the order of the argument references in the error message produced by
+unittest's assertItemsEqual.
+
+..
+
+.. bpo: 14829
+.. date: 8794
+.. nonce: yWZKyP
+.. section: Library
+
+Fix bisect issues under 64-bit Windows.
+
+..
+
+.. bpo: 14777
+.. date: 8793
+.. nonce: SS0XEf
+.. section: Library
+
+tkinter may return undecoded UTF-8 bytes as a string when accessing the Tk
+clipboard.  Modify clipboard_get() to first request type UTF8_STRING when no
+specific type is requested in an X11 windowing environment, falling back to
+the current default type STRING if that fails. Original patch by Thomas
+Kluyver.
+
+..
+
+.. bpo: 12541
+.. date: 8792
+.. nonce: srvUYa
+.. section: Library
+
+Be lenient with quotes around Realm field with HTTP Basic Authentation in
+urllib2.
+
+..
+
+.. bpo: 14662
+.. date: 8791
+.. nonce: kBgGen
+.. section: Library
+
+Prevent shutil failures on OS X when destination does not support chflag
+operations.  Patch by Hynek Schlawack.
+
+..
+
+.. bpo: 14157
+.. date: 8790
+.. nonce: QVP6vO
+.. section: Library
+
+Fix time.strptime failing without a year on February 29th. Patch by Hynek
+Schlawack.
+
+..
+
+.. bpo: 14768
+.. date: 8789
+.. nonce: UFzrQa
+.. section: Library
+
+os.path.expanduser('~/a') doesn't work correctly when HOME is '/'.
+
+..
+
+.. bpo: 13183
+.. date: 8788
+.. nonce: WXohoU
+.. section: Library
+
+Fix pdb skipping frames after hitting a breakpoint and running step.  Patch
+by Xavier de Gaye.
+
+..
+
+.. bpo: 14664
+.. date: 8787
+.. nonce: pdyfQE
+.. section: Library
+
+It is now possible to use @unittest.skip{If,Unless} on a test class that
+doesn't inherit from TestCase (i.e. a mixin).
+
+..
+
+.. bpo: 14160
+.. date: 8786
+.. nonce: eP9a5e
+.. section: Library
+
+TarFile.extractfile() failed to resolve symbolic links when the links were
+not located in an archive subdirectory.
+
+..
+
+.. bpo: 14638
+.. date: 8785
+.. nonce: cfMimX
+.. section: Library
+
+pydoc now treats non-string __name__ values as if they were missing, instead
+of raising an error.
+
+..
+
+.. bpo: 13684
+.. date: 8784
+.. nonce: GMakQh
+.. section: Library
+
+Fix httplib tunnel issue of infinite loops for certain sites which send EOF
+without trailing \r\n.
+
+..
+
+.. bpo: 14308
+.. date: 8783
+.. nonce: VI_YtW
+.. section: Library
+
+Fix an exception when a "dummy" thread is in the threading module's active
+list after a fork().
+
+..
+
+.. bpo: 14538
+.. date: 8782
+.. nonce: l61eIV
+.. section: Library
+
+HTMLParser can now parse correctly start tags that contain a bare '/'.
+
+..
+
+.. bpo: 14452
+.. date: 8781
+.. nonce: TPNgz8
+.. section: Library
+
+SysLogHandler no longer inserts a UTF-8 BOM into the message.
+
+..
+
+.. bpo: 13496
+.. date: 8780
+.. nonce: ZTq6yk
+.. section: Library
+
+Fix potential overflow in bisect.bisect algorithm when applied to a
+collection of size > sys.maxsize / 2.
+
+..
+
+.. bpo: 14399
+.. date: 8779
+.. nonce: ucnoq5
+.. section: Library
+
+zipfile now recognizes that the archive has been modified even if only the
+comment is changed.  As a consequence of this fix, ZipFile is now a new
+style class.
+
+..
+
+.. bpo: 7978
+.. date: 8778
+.. nonce: DdYwzu
+.. section: Library
+
+SocketServer now restarts the select() call when EINTR is returned.  This
+avoids crashing the server loop when a signal is received. Patch by Jerzy
+Kozera.
+
+..
+
+.. bpo: 10340
+.. date: 8777
+.. nonce: QZDDK-
+.. section: Library
+
+asyncore - properly handle EINVAL in dispatcher constructor on OSX; avoid to
+call handle_connect in case of a disconnected socket which was not meant to
+connect.
+
+..
+
+.. bpo: 12757
+.. date: 8776
+.. nonce: lfCCKo
+.. section: Library
+
+Fix the skipping of doctests when python is run with -OO so that it works in
+unittest's verbose mode as well as non-verbose mode.
+
+..
+
+.. bpo: 13694
+.. date: 8775
+.. nonce: qresWC
+.. section: Library
+
+asynchronous connect in asyncore.dispatcher does not set addr attribute.
+
+..
+
+.. bpo: 10484
+.. date: 8774
+.. nonce: NgDSdJ
+.. section: Library
+
+Fix the CGIHTTPServer's PATH_INFO handling problem.
+
+..
+
+.. bpo: 11199
+.. date: 8773
+.. nonce: UMivCa
+.. section: Library
+
+Fix the with urllib which hangs on particular ftp urls.
+
+..
+
+.. bpo: 14252
+.. date: 8772
+.. nonce: -5zjL9
+.. section: Library
+
+Fix subprocess.Popen.terminate() to not raise an error under Windows when
+the child process has already exited.
+
+..
+
+.. bpo: 14195
+.. date: 8771
+.. nonce: XpCJYQ
+.. section: Library
+
+An issue that caused weakref.WeakSet instances to incorrectly return True
+for a WeakSet instance 'a' in both 'a < a' and 'a > a' has been fixed.
+
+..
+
+.. bpo: 14159
+.. date: 8770
+.. nonce: -rJiOd
+.. section: Library
+
+Fix the len() of weak sets to return a better approximation when some
+objects are dead or dying.  Moreover, the implementation is now O(1) rather
+than O(n).
+
+..
+
+.. bpo: 2945
+.. date: 8769
+.. nonce: QZCfeH
+.. section: Library
+
+Make the distutils upload command aware of bdist_rpm products.
+
+..
+
+.. bpo: 6884
+.. date: 8768
+.. nonce: w-DWFF
+.. section: Library
+
+Fix long-standing bugs with MANIFEST.in parsing in distutils on Windows.
+
+..
+
+.. bpo: 16441
+.. date: 8767
+.. nonce: zm1gad
+.. section: Library
+
+Avoid excessive memory usage working with large gzip files using the gzip
+module.
+
+..
+
+.. bpo: 15782
+.. date: 8766
+.. nonce: c-rtHz
+.. section: Library
+
+Prevent compile errors of OS X Carbon modules _Fm, _Qd, and _Qdoffs when
+compiling with an SDK of 10.7 or later.  The OS X APIs they wrap have long
+been deprecated and have now been removed with 10.7. These modules were
+already empty for 64-bit builds and have been removed in Python 3.
+
+..
+
+.. bpo: 17477
+.. date: 8765
+.. nonce: mkozKG
+.. section: Library
+
+Update the bsddb module to pybsddb 5.3.0, supporting db-5.x, and dropping
+support for db-4.1 and db-4.2.
+
+..
+
+.. bpo: 17192
+.. date: 8764
+.. nonce: U0oKFo
+.. section: Library
+
+Update the ctypes module's libffi to v3.0.13.  This specifically addresses a
+stack misalignment issue on x86 and issues on some more recent platforms.
+
+..
+
+.. bpo: 12268
+.. date: 8763
+.. nonce: cWvcGA
+.. section: Library
+
+The io module file object write methods no longer abort early when a write
+system calls is interrupted (EINTR).
+
+..
+
+.. bpo: 0
+.. date: 8762
+.. nonce: R41GNw
+.. section: Library
+
+Fix the leak of a dict in the time module when used in an embedded
+interpreter that is repeatedly initialized and shutdown and reinitialized.
+
+..
+
+.. bpo: 12268
+.. date: 8761
+.. nonce: _DnsP2
+.. section: Library
+
+File readline, readlines and read or readall methods no longer lose data
+when an underlying read system call is interrupted within an io module
+object.  IOError is no longer raised due to a read system call returning
+EINTR from within these methods.
+
+..
+
+.. bpo: 16012
+.. date: 8760
+.. nonce: O3e6G-
+.. section: Library
+
+Fix a regression in pyexpat. The parser's UseForeignDTD() method doesn't
+require an argument again.
+
+..
+
+.. bpo: 13590
+.. date: 8759
+.. nonce: 1aEwh4
+.. section: Library
+
+OS X Xcode 4 - improve support for universal extension modules In
+particular, fix extension module build failures when trying to use 32-bit-
+only installer Pythons on systems with Xcode 4 (currently OS X 10.8, 10.7,
+and optionally 10.6). * Backport 3.3.0 fixes to 2.7 branch (for release in
+2.7.4) * Since Xcode 4 removes ppc support, extension module builds now
+check for ppc compiler support and by default remove ppc and   ppc64 archs
+when they are not available. * Extension module builds now revert to using
+system installed   headers and libs (/usr and /System/Library) if the SDK
+used   to build the interpreter is not installed or has moved. * Try to
+avoid building extension modules with deprecated   and problematic Apple
+llvm-gcc compiler.  If original compiler   is not available, use clang
+instead by default.
+
+..
+
+.. bpo: 0
+.. date: 8758
+.. nonce: hHxr-m
+.. section: IDLE
+
+IDLE was displaying spurious SystemExit tracebacks when running scripts that
+terminated by raising SystemExit (i.e. unittest and turtledemo).
+
+..
+
+.. bpo: 9290
+.. date: 8757
+.. nonce: Msbacw
+.. section: IDLE
+
+In IDLE the sys.std* streams now implement io.TextIOBase interface and
+support all mandatory methods and properties.
+
+..
+
+.. bpo: 16829
+.. date: 8756
+.. nonce: u44Uel
+.. section: IDLE
+
+IDLE printing no longer fails if there are spaces or other special
+characters in the file path.
+
+..
+
+.. bpo: 16819
+.. date: 8755
+.. nonce: rcJDrk
+.. section: IDLE
+
+IDLE method completion now correctly works for unicode literals.
+
+..
+
+.. bpo: 16504
+.. date: 8754
+.. nonce: othtN_
+.. section: IDLE
+
+IDLE now catches SyntaxErrors raised by tokenizer. Patch by Roger Serwy.
+
+..
+
+.. bpo: 1207589
+.. date: 8753
+.. nonce: 0bmiue
+.. section: IDLE
+
+Add Cut/Copy/Paste items to IDLE right click Context Menu. Patch by Todd
+Rovito.
+
+..
+
+.. bpo: 13052
+.. date: 8752
+.. nonce: ulRmqo
+.. section: IDLE
+
+Fix IDLE crashing when replace string in Search/Replace dialog ended with
+'\'. Patch by Roger Serwy.
+
+..
+
+.. bpo: 9803
+.. date: 8751
+.. nonce: lJhnei
+.. section: IDLE
+
+Don't close IDLE on saving if breakpoint is open. Patch by Roger Serwy.
+
+..
+
+.. bpo: 14958
+.. date: 8750
+.. nonce: fWA3Eh
+.. section: IDLE
+
+Change IDLE systax highlighting to recognize all string and byte literals
+currently supported in Python 2.7.
+
+..
+
+.. bpo: 14962
+.. date: 8749
+.. nonce: W_t8Sw
+.. section: IDLE
+
+Update text coloring in IDLE shell window after changing options.  Patch by
+Roger Serwy.
+
+..
+
+.. bpo: 10997
+.. date: 8748
+.. nonce: D59Zo_
+.. section: IDLE
+
+Prevent a duplicate entry in IDLE's "Recent Files" menu.
+
+..
+
+.. bpo: 12510
+.. date: 8747
+.. nonce: 5hlN77
+.. section: IDLE
+
+Attempting to get invalid tooltip no longer closes IDLE. Original patch by
+Roger Serwy.
+
+..
+
+.. bpo: 10365
+.. date: 8746
+.. nonce: DI-DrH
+.. section: IDLE
+
+File open dialog now works instead of crashing even when parent window is
+closed. Patch by Roger Serwy.
+
+..
+
+.. bpo: 14876
+.. date: 8745
+.. nonce: 73XqgG
+.. section: IDLE
+
+Use user-selected font for highlight configuration. Patch by Roger Serwy.
+
+..
+
+.. bpo: 14409
+.. date: 8744
+.. nonce: 8SNyRR
+.. section: IDLE
+
+IDLE now properly executes commands in the Shell window when it cannot read
+the normal config files on startup and has to use the built-in default key
+bindings. There was previously a bug in one of the defaults.
+
+..
+
+.. bpo: 3573
+.. date: 8743
+.. nonce: FIbWrY
+.. section: IDLE
+
+IDLE hangs when passing invalid command line args (directory(ies) instead of
+file(s)) (Patch by Guilherme Polo)
+
+..
+
+.. bpo: 5219
+.. date: 8742
+.. nonce: We72rp
+.. section: IDLE
+
+Prevent event handler cascade in IDLE.
+
+..
+
+.. bpo: 15318
+.. date: 8741
+.. nonce: H1-iES
+.. section: IDLE
+
+Prevent writing to sys.stdin.
+
+..
+
+.. bpo: 13532
+.. date: 8740
+.. nonce: csNEK_
+.. section: IDLE
+
+Check that arguments to sys.stdout.write are strings. (See also: bpo-15319)
+
+..
+
+.. bpo: 10365
+.. date: 8739
+.. nonce: MInibr
+.. section: IDLE
+
+File open dialog now works instead of crashing even when parent window is
+closed while dialog is open.
+
+..
+
+.. bpo: 14018
+.. date: 8738
+.. nonce: HjN-7b
+.. section: IDLE
+
+Update checks for unstable system Tcl/Tk versions on OS X to include
+versions shipped with OS X 10.7 and 10.8 in addition to 10.6.
+
+..
+
+.. bpo: 15853
+.. date: 8737
+.. nonce: Re1tK-
+.. section: IDLE
+
+Prevent IDLE crash on OS X when opening Preferences menu with certain
+versions of Tk 8.5.  Initial patch by Kevin Walzer.
+
+..
+
+.. bpo: 16702
+.. date: 8736
+.. nonce: 3Xf_t-
+.. section: Tests
+
+test_urllib2_localnet tests now correctly ignores proxies for localhost
+tests.
+
+..
+
+.. bpo: 13447
+.. date: 8735
+.. nonce: _wys-6
+.. section: Tests
+
+Add a test file to host regression tests for bugs in the scripts found in
+the Tools directory.
+
+..
+
+.. bpo: 11420
+.. date: 8734
+.. nonce: J5oaxT
+.. section: Tests
+
+make test suite pass with -B/DONTWRITEBYTECODE set. Initial patch by Thomas
+Wouters.
+
+..
+
+.. bpo: 17299
+.. date: 8733
+.. nonce: N_JA1r
+.. section: Tests
+
+Add test coverage for cPickle with file objects and general IO objects.
+Original patch by Aman Shah.
+
+..
+
+.. bpo: 11963
+.. date: 8732
+.. nonce: _g8d_g
+.. section: Tests
+
+remove human verification from test_parser and test_subprocess.
+
+..
+
+.. bpo: 17249
+.. date: 8731
+.. nonce: wGvw7G
+.. section: Tests
+
+convert a test in test_capi to use unittest and reap threads.
+
+..
+
+.. bpo: 0
+.. date: 8730
+.. nonce: eaH1rt
+.. section: Tests
+
+We now run both test_email.py and test_email_renamed.py when running the
+test_email regression test.  test_email_renamed contains some tests that
+test_email does not.
+
+..
+
+.. bpo: 17041
+.. date: 8729
+.. nonce: 57V5iD
+.. section: Tests
+
+Fix testing when Python is configured with the --without-doc-strings option.
+
+..
+
+.. bpo: 15539
+.. date: 8728
+.. nonce: a1_G0Q
+.. section: Tests
+
+Added regression tests for Tools/scripts/pindent.py.
+
+..
+
+.. bpo: 15324
+.. date: 8727
+.. nonce: VlPGUN
+.. section: Tests
+
+Fix regrtest parsing of --fromfile and --randomize options.
+
+..
+
+.. bpo: 16618
+.. date: 8726
+.. nonce: a2Xoyn
+.. section: Tests
+
+Add more regression tests for glob. Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 16664
+.. date: 8725
+.. nonce: CxbZwX
+.. section: Tests
+
+Add regression tests for glob's behaviour concerning entries starting with a
+".".  Patch by Sebastian Kreft.
+
+..
+
+.. bpo: 15747
+.. date: 8724
+.. nonce: TE3rVk
+.. section: Tests
+
+ZFS always returns EOPNOTSUPP when attempting to set the UF_IMMUTABLE flag
+(via either chflags or lchflags); refactor affected tests in test_posix.py
+to account for this.
+
+..
+
+.. bpo: 16549
+.. date: 8723
+.. nonce: 9ENPOM
+.. section: Tests
+
+Add tests for json.tools.  Initial patch by Berker Peksag and Serhiy
+Storchaka.
+
+..
+
+.. bpo: 16559
+.. date: 8722
+.. nonce: JvxWbq
+.. section: Tests
+
+Add more tests for the json module, including some from the official test
+suite at json.org.  Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 16274
+.. date: 8721
+.. nonce: 9-uVb_
+.. section: Tests
+
+Fix test_asyncore on Solaris.  Patch by Giampaolo Rodola'.
+
+..
+
+.. bpo: 15040
+.. date: 8720
+.. nonce: F30TYe
+.. section: Tests
+
+Close files in mailbox tests for PyPy compatibility. Original patch by Matti
+Picus.
+
+..
+
+.. bpo: 15802
+.. date: 8719
+.. nonce: Ow-zrD
+.. section: Tests
+
+Fix test logic in TestMaildir.test_create_tmp. Patch by Serhiy Storchaka.
+
+..
+
+.. bpo: 15765
+.. date: 8718
+.. nonce: rH6KB2
+.. section: Tests
+
+Extend a previous fix to Solaris and OpenBSD for quirky getcwd() behaviour
+(issue #9185) to NetBSD as well.
+
+..
+
+.. bpo: 15615
+.. date: 8717
+.. nonce: C9YuEt
+.. section: Tests
+
+Add some tests for the json module's handling of invalid input data.  Patch
+by Kushal Das.
+
+..
+
+.. bpo: 15496
+.. date: 8716
+.. nonce: tm76dD
+.. section: Tests
+
+Add directory removal helpers for tests on Windows. Patch by Jeremy Kloth.
+
+..
+
+.. bpo: 15043
+.. date: 8715
+.. nonce: R2j8Hb
+.. section: Tests
+
+test_gdb is now skipped entirely if gdb security settings block loading of
+the gdb hooks
+
+..
+
+.. bpo: 14589
+.. date: 8714
+.. nonce: 9aNtuR
+.. section: Tests
+
+Update certificate chain for sha256.tbs-internet.com, fixing a test failure
+in test_ssl.
+
+..
+
+.. bpo: 16698
+.. date: 8713
+.. nonce: RgmYjY
+.. section: Tests
+
+Skip posix test_getgroups when built with OS X deployment target prior to
+10.6.
+
+..
+
+.. bpo: 17111
+.. date: 8712
+.. nonce: ypc66r
+.. section: Tests
+
+Prevent test_surrogates (test_fileio) failure on OS X 10.4.
+
+..
+
+.. bpo: 17425
+.. date: 8711
+.. nonce: wTCSht
+.. section: Build
+
+Build against openssl 0.9.8y on Windows.
+
+..
+
+.. bpo: 16004
+.. date: 8710
+.. nonce: 5o_DZo
+.. section: Build
+
+Add `make touch`.
+
+..
+
+.. bpo: 5033
+.. date: 8709
+.. nonce: HKAgDA
+.. section: Build
+
+Fix building of the sqlite3 extension module when the SQLite library version
+has "beta" in it. Patch by Andreas Pelme.
+
+..
+
+.. bpo: 17228
+.. date: 8708
+.. nonce: CCkAM0
+.. section: Build
+
+Fix building without pymalloc.
+
+..
+
+.. bpo: 17086
+.. date: 8707
+.. nonce: iNoopm
+.. section: Build
+
+Backport the patches from the 3.3 branch to cross-build the package.
+
+..
+
+.. bpo: 3754
+.. date: 8706
+.. nonce: sUdOUp
+.. section: Build
+
+fix typo in pthread AC_CACHE_VAL.
+
+..
+
+.. bpo: 17029
+.. date: 8705
+.. nonce: dUd1NT
+.. section: Build
+
+Let h2py search the multiarch system include directory.
+
+..
+
+.. bpo: 16953
+.. date: 8704
+.. nonce: tW1KVY
+.. section: Build
+
+Fix socket module compilation on platforms with HAVE_BROKEN_POLL. Patch by
+Jeffrey Armstrong.
+
+..
+
+.. bpo: 16836
+.. date: 8703
+.. nonce: JZ-zO7
+.. section: Build
+
+Enable IPv6 support even if IPv6 is disabled on the build host.
+
+..
+
+.. bpo: 15923
+.. date: 8702
+.. nonce: PIv70V
+.. section: Build
+
+fix a mistake in asdl_c.py that resulted in a TypeError after 2801bf875a24
+(see #15801).
+
+..
+
+.. bpo: 11715
+.. date: 8701
+.. nonce: M3MapP
+.. section: Build
+
+Fix multiarch detection without having Debian development tools (dpkg-dev)
+installed.
+
+..
+
+.. bpo: 15819
+.. date: 8700
+.. nonce: 09XLHb
+.. section: Build
+
+Make sure we can build Python out-of-tree from a readonly source directory.
+(Somewhat related to Issue #9860.)
+
+..
+
+.. bpo: 15822
+.. date: 8699
+.. nonce: aLjenQ
+.. section: Build
+
+Ensure 2to3 grammar pickles are properly installed.
+
+..
+
+.. bpo: 15560
+.. date: 8698
+.. nonce: I8yMU0
+.. section: Build
+
+Fix building _sqlite3 extension on OS X with an SDK.
+
+..
+
+.. bpo: 8847
+.. date: 8697
+.. nonce: lqI_r8
+.. section: Build
+
+Disable COMDAT folding in Windows PGO builds.
+
+..
+
+.. bpo: 14018
+.. date: 8696
+.. nonce: RHawO_
+.. section: Build
+
+Fix OS X Tcl/Tk framework checking when using OS X SDKs.
+
+..
+
+.. bpo: 16256
+.. date: 8695
+.. nonce: vrx66r
+.. section: Build
+
+OS X installer now sets correct permissions for doc directory.
+
+..
+
+.. bpo: 8767
+.. date: 8694
+.. nonce: swHbgQ
+.. section: Build
+
+Restore building with --disable-unicode. Patch by Stefano Taschini.
+
+..
+
+.. bpo: 0
+.. date: 8693
+.. nonce: wZLzuy
+.. section: Build
+
+Build against bzip2 1.0.6 and openssl 0.9.8x on Windows.
+
+..
+
+.. bpo: 14557
+.. date: 8692
+.. nonce: UCbIq7
+.. section: Build
+
+Fix extensions build on HP-UX. Patch by Adi Roiban.
+
+..
+
+.. bpo: 14437
+.. date: 8691
+.. nonce: 61tmQt
+.. section: Build
+
+Fix building the _io module under Cygwin.
+
+..
+
+.. bpo: 15587
+.. date: 8690
+.. nonce: gR7vei
+.. section: Build
+
+Enable Tk high-resolution text rendering on Macs with Retina displays.
+Applies to Tkinter apps, such as IDLE, on OS X framework builds linked with
+Cocoa Tk 8.5.
+
+..
+
+.. bpo: 17161
+.. date: 8689
+.. nonce: 8Qr4fl
+.. section: Build
+
+make install now also installs a python2 and python man page.
+
+..
+
+.. bpo: 16848
+.. date: 8688
+.. nonce: CtyvVC
+.. section: Build
+
+python-config now returns proper --ldflags values for OS X framework builds.
+
+..
+
+.. bpo: 17156
+.. date: 8687
+.. nonce: iaFJiz
+.. section: Tools/Demos
+
+pygettext.py now correctly escapes non-ascii characters.
+
+..
+
+.. bpo: 15539
+.. date: 8686
+.. nonce: 6bqqV-
+.. section: Tools/Demos
+
+Fix a number of bugs in Tools/scripts/pindent.py.  Now pindent.py works with
+a "with" statement.  pindent.py no longer produces improper indentation.
+pindent.py now works with continued lines broken after "class" or "def"
+keywords and with continuations at the start of line.
+
+..
+
+.. bpo: 16476
+.. date: 8685
+.. nonce: xAomrd
+.. section: Tools/Demos
+
+Fix json.tool to avoid including trailing whitespace.
+
+..
+
+.. bpo: 13301
+.. date: 8684
+.. nonce: A4WOk5
+.. section: Tools/Demos
+
+use ast.literal_eval() instead of eval() in Tools/i18n/msgfmt.py. Patch by
+Serhiy Storchaka.
+
+..
+
+.. bpo: 15041
+.. date: 8683
+.. nonce: nMyhwF
+.. section: Documentation
+
+Update "see also" list in tkinter documentation.
+
+..
+
+.. bpo: 17412
+.. date: 8682
+.. nonce: 9xIwEh
+.. section: Documentation
+
+update 2.7 Doc/make.bat to also use sphinx-1.0.7.
+
+..
+
+.. bpo: 17047
+.. date: 8681
+.. nonce: sVzpby
+.. section: Documentation
+
+remove doubled words in docs and docstrings reported by Serhiy Storchaka and
+Matthew Barnett.
+
+..
+
+.. bpo: 16406
+.. date: 8680
+.. nonce: _Z8alE
+.. section: Documentation
+
+combine the pages for uploading and registering to PyPI.
+
+..
+
+.. bpo: 16403
+.. date: 8679
+.. nonce: wPuYgA
+.. section: Documentation
+
+Document how distutils uses the maintainer field in PKG-INFO. Patch by Jyrki
+Pulliainen.
+
+..
+
+.. bpo: 16695
+.. date: 8678
+.. nonce: O3-q4k
+.. section: Documentation
+
+Document how glob handles filenames starting with a dot. Initial patch by
+Jyrki Pulliainen.
+
+..
+
+.. bpo: 8890
+.. date: 8677
+.. nonce: ldKgWT
+.. section: Documentation
+
+Stop advertising an insecure practice by replacing uses of the /tmp
+directory with better alternatives in the documentation. Patch by Geoff
+Wilson.
+
+..
+
+.. bpo: 17203
+.. date: 8676
+.. nonce: b42JWx
+.. section: Documentation
+
+add long option names to unittest discovery docs.
+
+..
+
+.. bpo: 13094
+.. date: 8675
+.. nonce: ujdNxz
+.. section: Documentation
+
+add "Why do lambdas defined in a loop with different values all return the
+same result?" programming FAQ.
+
+..
+
+.. bpo: 14901
+.. date: 8674
+.. nonce: o_thZo
+.. section: Documentation
+
+Update portions of the Windows FAQ. Patch by Ashish Nitin Patil.
+
+..
+
+.. bpo: 15990
+.. date: 8673
+.. nonce: 41C5_M
+.. section: Documentation
+
+Improve argument/parameter documentation.
+
+..
+
+.. bpo: 16400
+.. date: 8672
+.. nonce: kDLZRV
+.. section: Documentation
+
+Update the description of which versions of a given package PyPI displays.
+
+..
+
+.. bpo: 15677
+.. date: 8671
+.. nonce: _0vY-h
+.. section: Documentation
+
+Document that zlib and gzip accept a compression level of 0 to mean 'no
+compression'. Patch by Brian Brazil.
+
+..
+
+.. bpo: 8040
+.. date: 8670
+.. nonce: R8VAys
+.. section: Documentation
+
+added a version switcher to the documentation.  Patch by Yury Selivanov.
+
+..
+
+.. bpo: 16115
+.. date: 8669
+.. nonce: Ba1MH_
+.. section: Documentation
+
+Improve subprocess.Popen() documentation around args, shell, and executable
+arguments.
+
+..
+
+.. bpo: 15979
+.. date: 8668
+.. nonce: UATtRZ
+.. section: Documentation
+
+Improve timeit documentation.
+
+..
+
+.. bpo: 16036
+.. date: 8667
+.. nonce: AGR4Am
+.. section: Documentation
+
+Improve documentation of built-in int()'s signature and arguments.
+
+..
+
+.. bpo: 15935
+.. date: 8666
+.. nonce: Ik7Y0z
+.. section: Documentation
+
+Clarification of argparse docs, re: add_argument() type and default
+arguments.  Patch contributed by Chris Jerdonek.
+
+..
+
+.. bpo: 13769
+.. date: 8665
+.. nonce: TfRtQT
+.. section: Documentation
+
+Document the effect of ensure_ascii to the return type of JSON decoding
+functions.
+
+..
+
+.. bpo: 14880
+.. date: 8664
+.. nonce: bfazFx
+.. section: Documentation
+
+Fix kwargs notation in csv.reader, .writer & .register_dialect. Patch by
+Chris Rebert.
+
+..
+
+.. bpo: 14674
+.. date: 8663
+.. nonce: AMOJT_
+.. section: Documentation
+
+Add a discussion of the json module's standard compliance. Patch by Chris
+Rebert.
+
+..
+
+.. bpo: 15630
+.. date: 8662
+.. nonce: ijhqyT
+.. section: Documentation
+
+Add an example for "continue" stmt in the tutorial. Patch by Daniel Ellis.
+
+..
+
+.. bpo: 13557
+.. date: 8661
+.. nonce: IHzHRn
+.. section: Documentation
+
+Clarify effect of giving two different namespaces to exec or execfile().
+
+..
+
+.. bpo: 14034
+.. date: 8660
+.. nonce: 34GDTv
+.. section: Documentation
+
+added the argparse tutorial.
+
+..
+
+.. bpo: 15250
+.. date: 8659
+.. nonce: vLLPGK
+.. section: Documentation
+
+Document that filecmp.dircmp compares files shallowly. Patch contributed by
+Chris Jerdonek.
+
+..
+
+.. bpo: 15116
+.. date: 8658
+.. nonce: uDQI_8
+.. section: Documentation
+
+Remove references to appscript as it is no longer being supported.
diff --git a/Misc/NEWS.d/2.7.5.rst b/Misc/NEWS.d/2.7.5.rst
new file mode 100644
index 0000000..f209312
--- /dev/null
+++ b/Misc/NEWS.d/2.7.5.rst
@@ -0,0 +1,510 @@
+.. bpo: 15535
+.. date: 9067
+.. nonce: UcBEvl
+.. release date: 2013-05-12
+.. section: Core and Builtins
+
+Fixed regression in the pickling of named tuples by removing the __dict__
+property introduced in 2.7.4.
+
+..
+
+.. bpo: 17857
+.. date: 9066
+.. nonce: 7cCKDk
+.. section: Core and Builtins
+
+Prevent build failures with pre-3.5.0 versions of sqlite3, such as was
+shipped with Centos 5 and Mac OS X 10.4.
+
+..
+
+.. bpo: 17703
+.. date: 9065
+.. nonce: eLf2tu
+.. section: Core and Builtins
+
+Fix a regression where an illegal use of Py_DECREF() after interpreter
+finalization can cause a crash.
+
+..
+
+.. bpo: 16447
+.. date: 9064
+.. nonce: Nqypja
+.. section: Core and Builtins
+
+Fixed potential segmentation fault when setting __name__ on a class.
+
+..
+
+.. bpo: 17610
+.. date: 9063
+.. nonce: QpIzEB
+.. section: Core and Builtins
+
+Don't rely on non-standard behavior of the C qsort() function.
+
+..
+
+.. bpo: 17979
+.. date: 9062
+.. nonce: l6BtNx
+.. section: Library
+
+Fixed the re module in build with --disable-unicode.
+
+..
+
+.. bpo: 17606
+.. date: 9061
+.. nonce: yNd47F
+.. section: Library
+
+Fixed support of encoded byte strings in the XMLGenerator .characters() and
+ignorableWhitespace() methods.  Original patch by Sebastian Ortiz Vasquez.
+
+..
+
+.. bpo: 16601
+.. date: 9060
+.. nonce: _FiBrB
+.. section: Library
+
+Restarting iteration over tarfile no more continues from where it left off.
+Patch by Michael Birtwell.
+
+..
+
+.. bpo: 16584
+.. date: 9059
+.. nonce: 6yyCuX
+.. section: Library
+
+in filecomp._cmp, catch IOError as well as os.error. Patch by Till Maas.
+
+..
+
+.. bpo: 17926
+.. date: 9058
+.. nonce: nv5fLf
+.. section: Library
+
+Fix dbm.__contains__ on 64-bit big-endian machines.
+
+..
+
+.. bpo: 19267
+.. date: 9057
+.. nonce: SXv-Bh
+.. section: Library
+
+Fix support of multibyte encoding (ex: UTF-16) in the logging module.
+
+..
+
+.. bpo: 17918
+.. date: 9056
+.. nonce: qtEN-L
+.. section: Library
+
+When using SSLSocket.accept(), if the SSL handshake failed on the new
+socket, the socket would linger indefinitely.  Thanks to Peter Saveliev for
+reporting.
+
+..
+
+.. bpo: 17289
+.. date: 9055
+.. nonce: NPHOks
+.. section: Library
+
+The readline module now plays nicer with external modules or applications
+changing the rl_completer_word_break_characters global variable.  Initial
+patch by Bradley Froehle.
+
+..
+
+.. bpo: 12181
+.. date: 9054
+.. nonce: Dq2moC
+.. section: Library
+
+select module: Fix struct kevent definition on OpenBSD 64-bit platforms.
+Patch by Federico Schwindt.
+
+..
+
+.. bpo: 14173
+.. date: 9053
+.. nonce: mZM9Pr
+.. section: Library
+
+Avoid crashing when reading a signal handler during interpreter shutdown.
+
+..
+
+.. bpo: 16316
+.. date: 9052
+.. nonce: AOkxPd
+.. section: Library
+
+mimetypes now recognizes the .xz and .txz (.tar.xz) extensions.
+
+..
+
+.. bpo: 17192
+.. date: 9051
+.. nonce: F-vIFl
+.. section: Library
+
+Restore the patch for Issue #10309 which was ommitted in 2.7.4 when updating
+the bundled version of libffi used by ctypes.
+
+..
+
+.. bpo: 17843
+.. date: 9050
+.. nonce: 9IBe9A
+.. section: Library
+
+Removed test data file that was triggering false-positive virus warnings
+with certain antivirus software.
+
+..
+
+.. bpo: 17353
+.. date: 9049
+.. nonce: 6Wiqfl
+.. section: Library
+
+Plistlib emitted empty data tags with deeply nested datastructures
+
+..
+
+.. bpo: 11714
+.. date: 9048
+.. nonce: EZxzYl
+.. section: Library
+
+Use 'with' statements to assure a Semaphore releases a condition variable.
+Original patch by Thomas Rachel.
+
+..
+
+.. bpo: 17795
+.. date: 9047
+.. nonce: IgVwMv
+.. section: Library
+
+Reverted backwards-incompatible change in SysLogHandler with Unix domain
+sockets.
+
+..
+
+.. bpo: 17555
+.. date: 9046
+.. nonce: 9klJCB
+.. section: Library
+
+Fix ForkAwareThreadLock so that size of after fork registry does not grow
+exponentially with generation of process.
+
+..
+
+.. bpo: 17710
+.. date: 9045
+.. nonce: p-amHh
+.. section: Library
+
+Fix cPickle raising a SystemError on bogus input.
+
+..
+
+.. bpo: 17341
+.. date: 9044
+.. nonce: DI-1AO
+.. section: Library
+
+Include the invalid name in the error messages from re about invalid group
+names.
+
+..
+
+.. bpo: 17016
+.. date: 9043
+.. nonce: lQnMI8
+.. section: Library
+
+Get rid of possible pointer wraparounds and integer overflows in the re
+module.  Patch by Nickolai Zeldovich.
+
+..
+
+.. bpo: 17536
+.. date: 9042
+.. nonce: E6rcrn
+.. section: Library
+
+Add to webbrowser's browser list: xdg-open, gvfs-open, www-browser, x-www-
+browser, chromium browsers, iceweasel, iceape.
+
+..
+
+.. bpo: 17656
+.. date: 9041
+.. nonce: wtQq2x
+.. section: Library
+
+Fix extraction of zip files with unicode member paths.
+
+..
+
+.. bpo: 17666
+.. date: 9040
+.. nonce: L8Gq8u
+.. section: Library
+
+Fix reading gzip files with an extra field.
+
+..
+
+.. bpo: 13150
+.. date: 9039
+.. nonce: fW-wYi
+.. section: Library
+
+sysconfig no longer parses the Makefile and config.h files when imported,
+instead doing it at build time.  This makes importing sysconfig faster and
+reduces Python startup time by 20%. (See also: bpo-17512)
+
+..
+
+.. bpo: 13163
+.. date: 9038
+.. nonce: oHSKa5
+.. section: Library
+
+Rename operands in smtplib.SMTP._get_socket to correct names; fixes
+otherwise misleading output in tracebacks and when when debug is on.
+
+..
+
+.. bpo: 17526
+.. date: 9037
+.. nonce: wiYvlk
+.. section: Library
+
+fix an IndexError raised while passing code without filename to
+inspect.findsource().  Initial patch by Tyler Doyle.
+
+..
+
+.. bpo: 17547
+.. date: 9036
+.. nonce: yVllRd
+.. section: Build
+
+In configure, explicitly pass -Wformat for the benefit for GCC 4.8.
+
+..
+
+.. bpo: 17682
+.. date: 9035
+.. nonce: UJyp1a
+.. section: Build
+
+Add the _io module to Modules/Setup.dist (commented out).
+
+..
+
+.. bpo: 17086
+.. date: 9034
+.. nonce: PPxAFs
+.. section: Build
+
+Search the include and library directories provided by the compiler.
+
+..
+
+.. bpo: 17928
+.. date: 9033
+.. nonce: y6tiT2
+.. section: Tests
+
+Fix test_structmembers on 64-bit big-endian machines.
+
+..
+
+.. bpo: 17883
+.. date: 9032
+.. nonce: SrO_uE
+.. section: Tests
+
+Fix buildbot testing of Tkinter on Windows. Patch by Zachary Ware.
+
+..
+
+.. bpo: 7855
+.. date: 9031
+.. nonce: ZbX91d
+.. section: Tests
+
+Add tests for ctypes/winreg for issues found in IronPython. Initial patch by
+Dino Viehland.
+
+..
+
+.. bpo: 17712
+.. date: 9030
+.. nonce: RqkHUB
+.. section: Tests
+
+Fix test_gdb failures on Ubuntu 13.04.
+
+..
+
+.. bpo: 17065
+.. date: 9029
+.. nonce: rql8lF
+.. section: Tests
+
+Use process-unique key for winreg tests to avoid failures if test is run
+multiple times in parallel (eg: on a buildbot host).
+
+..
+
+.. bpo: 17838
+.. date: 9028
+.. nonce: -DDdhT
+.. section: IDLE
+
+Allow sys.stdin to be reassigned.
+
+..
+
+.. bpo: 14735
+.. date: 9027
+.. nonce: lbbw49
+.. section: IDLE
+
+Update IDLE docs to omit "Control-z on Windows".
+
+..
+
+.. bpo: 17585
+.. date: 9026
+.. nonce: oXlcVX
+.. section: IDLE
+
+Fixed IDLE regression. Now closes when using exit() or quit().
+
+..
+
+.. bpo: 17657
+.. date: 9025
+.. nonce: rGfxNo
+.. section: IDLE
+
+Show full Tk version in IDLE's about dialog. Patch by Todd Rovito.
+
+..
+
+.. bpo: 17613
+.. date: 9024
+.. nonce: MfAJ31
+.. section: IDLE
+
+Prevent traceback when removing syntax colorizer in IDLE.
+
+..
+
+.. bpo: 1207589
+.. date: 9023
+.. nonce: wqzkjh
+.. section: IDLE
+
+Backwards-compatibility patch for right-click menu in IDLE.
+
+..
+
+.. bpo: 16887
+.. date: 9022
+.. nonce: -tb-0g
+.. section: IDLE
+
+IDLE now accepts Cancel in tabify/untabify dialog box.
+
+..
+
+.. bpo: 14254
+.. date: 9021
+.. nonce: heeMG-
+.. section: IDLE
+
+IDLE now handles readline correctly across shell restarts.
+
+..
+
+.. bpo: 17614
+.. date: 9020
+.. nonce: 9pmpYW
+.. section: IDLE
+
+IDLE no longer raises exception when quickly closing a file.
+
+..
+
+.. bpo: 6698
+.. date: 9019
+.. nonce: fXoiv2
+.. section: IDLE
+
+IDLE now opens just an editor window when configured to do so.
+
+..
+
+.. bpo: 8900
+.. date: 9018
+.. nonce: jkW99r
+.. section: IDLE
+
+Using keyboard shortcuts in IDLE to open a file no longer raises an
+exception.
+
+..
+
+.. bpo: 6649
+.. date: 9017
+.. nonce: uwGice
+.. section: IDLE
+
+Fixed missing exit status in IDLE. Patch by Guilherme Polo.
+
+..
+
+.. bpo: 17390
+.. date: 9016
+.. nonce: o3w4vc
+.. section: IDLE
+
+Display Python version on Idle title bar. Initial patch by Edmond Burnett.
+
+..
+
+.. bpo: 15940
+.. date: 9015
+.. nonce: XL62xu
+.. section: Documentation
+
+Specify effect of locale on time functions.
+
+..
+
+.. bpo: 6696
+.. date: 9014
+.. nonce: -aRVrf
+.. section: Documentation
+
+add documentation for the Profile objects, and improve profile/cProfile
+docs.  Patch by Tom Pinckney.
diff --git a/Misc/NEWS.d/2.7.6.rst b/Misc/NEWS.d/2.7.6.rst
new file mode 100644
index 0000000..51ab9bc
--- /dev/null
+++ b/Misc/NEWS.d/2.7.6.rst
@@ -0,0 +1,37 @@
+.. bpo: 19435
+.. date: 9186
+.. nonce: kXqMz3
+.. release date: 2013-11-10
+.. section: Library
+
+Fix directory traversal attack on CGIHttpRequestHandler.
+
+..
+
+.. bpo: 19426
+.. date: 9185
+.. nonce: PwatP7
+.. section: IDLE
+
+Fixed the opening of Python source file with specified encoding.
+
+..
+
+.. bpo: 19457
+.. date: 9184
+.. nonce: HGwEFx
+.. section: Tests
+
+Fixed xmlcharrefreplace tests on wide build when tests are loaded from
+.py[co] files.
+
+..
+
+.. bpo: 15663
+.. date: 9183
+.. nonce: p-vVTG
+.. section: Build
+
+Revert OS X installer built-in Tcl/Tk support for 2.7.6. Some third-party
+projects, such as Matplotlib and PIL/Pillow, depended on being able to build
+with Tcl and Tk frameworks in /Library/Frameworks.
diff --git a/Misc/NEWS.d/2.7.6rc1.rst b/Misc/NEWS.d/2.7.6rc1.rst
new file mode 100644
index 0000000..32ee2e6
--- /dev/null
+++ b/Misc/NEWS.d/2.7.6rc1.rst
@@ -0,0 +1,1130 @@
+.. bpo: 18603
+.. date: 9182
+.. nonce: 7SMyAQ
+.. release date: 2013-10-26
+.. section: Core and Builtins
+
+Ensure that PyOS_mystricmp and PyOS_mystrnicmp are in the Python executable
+and not removed by the linker's optimizer.
+
+..
+
+.. bpo: 19279
+.. date: 9181
+.. nonce: bXi_a1
+.. section: Core and Builtins
+
+UTF-7 decoder no more produces illegal unicode strings.
+
+..
+
+.. bpo: 18739
+.. date: 9180
+.. nonce: ZUuspY
+.. section: Core and Builtins
+
+Fix an inconsistency between math.log(n) and math.log(long(n)); the results
+could be off from one another by a ulp or two.
+
+..
+
+.. bpo: 13461
+.. date: 9179
+.. nonce: ExV3tX
+.. section: Core and Builtins
+
+Fix a crash in the "replace" error handler on 64-bit platforms. Patch by
+Yogesh Chaudhari.
+
+..
+
+.. bpo: 15866
+.. date: 9178
+.. nonce: meZHE-
+.. section: Core and Builtins
+
+The xmlcharrefreplace error handler no more produces two XML entities for a
+non-BMP character on narrow build.
+
+..
+
+.. bpo: 18184
+.. date: 9177
+.. nonce: xLNVG3
+.. section: Core and Builtins
+
+PyUnicode_FromFormat() and PyUnicode_FromFormatV() now raise OverflowError
+when an argument of %c format is out of range.
+
+..
+
+.. bpo: 18137
+.. date: 9176
+.. nonce: a_Vsor
+.. section: Core and Builtins
+
+Detect integer overflow on precision in float.__format__() and
+complex.__format__().
+
+..
+
+.. bpo: 18038
+.. date: 9175
+.. nonce: Q8prhd
+.. section: Core and Builtins
+
+SyntaxError raised during compilation sources with illegal encoding now
+always contains an encoding name.
+
+..
+
+.. bpo: 18019
+.. date: 9174
+.. nonce: HdAInl
+.. section: Core and Builtins
+
+Fix crash in the repr of dictionaries containing their own views.
+
+..
+
+.. bpo: 18427
+.. date: 9173
+.. nonce: XEBN6L
+.. section: Core and Builtins
+
+str.replace could crash the interpreter with huge strings.
+
+..
+
+.. bpo: 19393
+.. date: 9172
+.. nonce: ytbAwl
+.. section: Library
+
+Fix symtable.symtable function to not be confused when there are functions
+or classes named "top".
+
+..
+
+.. bpo: 19327
+.. date: 9171
+.. nonce: S7Xvxs
+.. section: Library
+
+Fixed the working of regular expressions with too big charset.
+
+..
+
+.. bpo: 19350
+.. date: 9170
+.. nonce: MCCKjK
+.. section: Library
+
+Increasing the test coverage of macurl2path. Patch by Colin Williams.
+
+..
+
+.. bpo: 19352
+.. date: 9169
+.. nonce: 3TfAkY
+.. section: Library
+
+Fix unittest discovery when a module can be reached through several paths
+(e.g. under Debian/Ubuntu with virtualenv).
+
+..
+
+.. bpo: 15207
+.. date: 9168
+.. nonce: piOBBi
+.. section: Library
+
+Fix mimetypes to read from correct part of Windows registry Original patch
+by Dave Chambers
+
+..
+
+.. bpo: 8964
+.. date: 9167
+.. nonce: dzU2FB
+.. section: Library
+
+fix platform._sys_version to handle IronPython 2.6+. Patch by Martin
+Matusiak.
+
+..
+
+.. bpo: 16038
+.. date: 9166
+.. nonce: TZGbSo
+.. section: Library
+
+CVE-2013-1752: ftplib: Limit amount of data read by limiting the call to
+readline().  Original patch by Michał Jastrzębski and Giampaolo Rodola.
+
+..
+
+.. bpo: 19276
+.. date: 9165
+.. nonce: Y69Qmv
+.. section: Library
+
+Fixed the wave module on 64-bit big-endian platforms.
+
+..
+
+.. bpo: 18458
+.. date: 9164
+.. nonce: 6Bs0gr
+.. section: Library
+
+Prevent crashes with newer versions of libedit.  Its readline emulation has
+changed from 0-based indexing to 1-based like gnu readline. Original patch
+by Ronald Oussoren.
+
+..
+
+.. bpo: 18919
+.. date: 9163
+.. nonce: rIO3MQ
+.. section: Library
+
+If the close() method of a writer in the sunau or wave module failed, second
+invocation of close() and destructor no more raise an exception.  Second
+invocation of close() on sunau writer now has no effects. The aifc module
+now accepts lower case of names of the 'ulaw' and 'alaw' codecs.
+
+..
+
+.. bpo: 19131
+.. date: 9162
+.. nonce: eZXzpr
+.. section: Library
+
+The aifc module now correctly reads and writes sampwidth of compressed
+streams.
+
+..
+
+.. bpo: 19158
+.. date: 9161
+.. nonce: GvkZuU
+.. section: Library
+
+A rare race in BoundedSemaphore could allow .release() too often.
+
+..
+
+.. bpo: 18037
+.. date: 9160
+.. nonce: pmZRS7
+.. section: Library
+
+2to3 now escapes '\u' and '\U' in native strings.
+
+..
+
+.. bpo: 19137
+.. date: 9159
+.. nonce: kdJchn
+.. section: Library
+
+The pprint module now correctly formats empty set and frozenset and
+instances of set and frozenset subclasses.
+
+..
+
+.. bpo: 16040
+.. date: 9158
+.. nonce: xg3xlX
+.. section: Library
+
+CVE-2013-1752: nntplib: Limit maximum line lengths to 2048 to prevent
+readline() calls from consuming too much memory.  Patch by Jyrki Pulliainen.
+
+..
+
+.. bpo: 12641
+.. date: 9157
+.. nonce: r9sIyX
+.. section: Library
+
+Avoid passing "-mno-cygwin" to the mingw32 compiler, except when necessary.
+Patch by Oscar Benjamin.
+
+..
+
+.. bpo: 0
+.. date: 9156
+.. nonce: 08TsG5
+.. section: Library
+
+Properly initialize all fields of a SSL object after allocation.
+
+..
+
+.. bpo: 4366
+.. date: 9155
+.. nonce: lDEdfK
+.. section: Library
+
+Fix building extensions on all platforms when --enable-shared is used.
+
+..
+
+.. bpo: 18950
+.. date: 9154
+.. nonce: AoZ5GZ
+.. section: Library
+
+Fix miscellaneous bugs in the sunau module. Au_read.readframes() now updates
+current file position and reads correct number of frames from multichannel
+stream.  Au_write.writeframesraw() now correctly updates current file
+position.  Au_read and Au_write now correctly work with file object if start
+file position is not a zero.
+
+..
+
+.. bpo: 18050
+.. date: 9153
+.. nonce: LUKrBT
+.. section: Library
+
+Fixed an incompatibility of the re module with Python 2.7.3 and older
+binaries.
+
+..
+
+.. bpo: 19037
+.. date: 9152
+.. nonce: OfBhoU
+.. section: Library
+
+The mailbox module now makes all changes to maildir files before moving them
+into place, to avoid race conditions with other programs that may be
+accessing the maildir directory.
+
+..
+
+.. bpo: 14984
+.. date: 9151
+.. nonce: iRbFp4
+.. section: Library
+
+On POSIX systems, when netrc is called without a filename argument (and
+therefore is reading the user's $HOME/.netrc file), it now enforces the same
+security rules as typical ftp clients: the .netrc file must be owned by the
+user that owns the process and must not be readable by any other user.
+
+..
+
+.. bpo: 17324
+.. date: 9150
+.. nonce: 0PkOTi
+.. section: Library
+
+Fix http.server's request handling case on trailing '/'. Patch contributed
+by Vajrasky Kok.
+
+..
+
+.. bpo: 19018
+.. date: 9149
+.. nonce: mntKOW
+.. section: Library
+
+The heapq.merge() function no longer suppresses IndexError in the underlying
+iterables.
+
+..
+
+.. bpo: 18784
+.. date: 9148
+.. nonce: ocU3GG
+.. section: Library
+
+The uuid module no more attempts to load libc via ctypes.CDLL, if all
+necessary functions are already found in libuuid. Patch by Evgeny Sologubov.
+
+..
+
+.. bpo: 14971
+.. date: 9147
+.. nonce: cc8xNA
+.. section: Library
+
+unittest test discovery no longer gets confused when a function has a
+different __name__ than its name in the TestCase class dictionary.
+
+..
+
+.. bpo: 18672
+.. date: 9146
+.. nonce: CIblDh
+.. section: Library
+
+Fixed format specifiers for Py_ssize_t in debugging output in the _sre
+module.
+
+..
+
+.. bpo: 18830
+.. date: 9145
+.. nonce: Uzi-Y4
+.. section: Library
+
+inspect.getclasstree() no more produces duplicated entries even when input
+list contains duplicates.
+
+..
+
+.. bpo: 18909
+.. date: 9144
+.. nonce: XSu98N
+.. section: Library
+
+Fix _tkinter.tkapp.interpaddr() on Windows 64-bit, don't cast 64-bit pointer
+to long (32 bits).
+
+..
+
+.. bpo: 18876
+.. date: 9143
+.. nonce: 30Ist9
+.. section: Library
+
+The FileIO.mode attribute now better reflects the actual mode under which
+the file was opened.  Patch by Erik Bray.
+
+..
+
+.. bpo: 18851
+.. date: 9142
+.. nonce: -YsF6X
+.. section: Library
+
+Avoid a double close of subprocess pipes when the child process fails
+starting.
+
+..
+
+.. bpo: 18418
+.. date: 9141
+.. nonce: _SFG8w
+.. section: Library
+
+After fork(), reinit all threads states, not only active ones. Patch by A.
+Jesse Jiryu Davis.
+
+..
+
+.. bpo: 11973
+.. date: 9140
+.. nonce: uPtBvG
+.. section: Library
+
+Fix a problem in kevent. The flags and fflags fields are now properly
+handled as unsigned.
+
+..
+
+.. bpo: 16809
+.. date: 9139
+.. nonce: TF5mD7
+.. section: Library
+
+Fixed some tkinter incompatibilities with Tcl/Tk 8.6.
+
+..
+
+.. bpo: 16809
+.. date: 9138
+.. nonce: WqSHdP
+.. section: Library
+
+Tkinter's splitlist() and split() methods now accept Tcl_Obj argument.
+
+..
+
+.. bpo: 17119
+.. date: 9137
+.. nonce: sfp47f
+.. section: Library
+
+Fixed integer overflows when processing large Unicode strings and tuples in
+the tkinter module.
+
+..
+
+.. bpo: 15233
+.. date: 9136
+.. nonce: 8YQW0-
+.. section: Library
+
+Python now guarantees that callables registered with the atexit module will
+be called in a deterministic order.
+
+..
+
+.. bpo: 18747
+.. date: 9135
+.. nonce: tPZkbG
+.. section: Library
+
+Re-seed OpenSSL's pseudo-random number generator after fork. A
+pthread_atfork() parent handler is used to seed the PRNG with pid, time and
+some stack data.
+
+..
+
+.. bpo: 8865
+.. date: 9134
+.. nonce: cKBSJh
+.. section: Library
+
+Concurrent invocation of select.poll.poll() now raises a RuntimeError
+exception.  Patch by Christian Schubert.
+
+..
+
+.. bpo: 13461
+.. date: 9133
+.. nonce: nLeS2R
+.. section: Library
+
+Fix a crash in the TextIOWrapper.tell method on 64-bit platforms.  Patch by
+Yogesh Chaudhari.
+
+..
+
+.. bpo: 18777
+.. date: 9132
+.. nonce: VLsjOw
+.. section: Library
+
+The ssl module now uses the new CRYPTO_THREADID API of OpenSSL 1.0.0+
+instead of the deprecated CRYPTO id callback function.
+
+..
+
+.. bpo: 18768
+.. date: 9131
+.. nonce: r3TSCo
+.. section: Library
+
+Correct doc string of RAND_edg(). Patch by Vajrasky Kok.
+
+..
+
+.. bpo: 18178
+.. date: 9130
+.. nonce: i4hnf-
+.. section: Library
+
+Fix ctypes on BSD. dlmalloc.c was compiled twice which broke malloc weak
+symbols.
+
+..
+
+.. bpo: 18709
+.. date: 9129
+.. nonce: DWzpRe
+.. section: Library
+
+Fix CVE-2013-4238. The SSL module now handles NULL bytes inside
+subjectAltName correctly. Formerly the module has used OpenSSL's
+GENERAL_NAME_print() function to get the string representation of ASN.1
+strings for ``rfc822Name`` (email), ``dNSName`` (DNS) and
+``uniformResourceIdentifier`` (URI).
+
+..
+
+.. bpo: 18756
+.. date: 9128
+.. nonce: moRUfX
+.. section: Library
+
+Improve error reporting in os.urandom() when the failure is due to something
+else than /dev/urandom not existing (for example, exhausting the file
+descriptor limit).
+
+..
+
+.. bpo: 0
+.. date: 9127
+.. nonce: b9GShY
+.. section: Library
+
+Fix tkinter regression introduced by the security fix in issue #16248.
+
+..
+
+.. bpo: 18676
+.. date: 9126
+.. nonce: WAq1iB
+.. section: Library
+
+Change 'positive' to 'non-negative' in queue.py put and get docstrings and
+ValueError messages. Patch by Zhongyue Luo
+
+..
+
+.. bpo: 17998
+.. date: 9125
+.. nonce: hIbru5
+.. section: Library
+
+Fix an internal error in regular expression engine.
+
+..
+
+.. bpo: 17557
+.. date: 9124
+.. nonce: s6BEMI
+.. section: Library
+
+Fix os.getgroups() to work with the modified behavior of getgroups(2) on OS
+X 10.8.  Original patch by Mateusz Lenik.
+
+..
+
+.. bpo: 18455
+.. date: 9123
+.. nonce: t1b0R_
+.. section: Library
+
+multiprocessing should not retry connect() with same socket.
+
+..
+
+.. bpo: 18513
+.. date: 9122
+.. nonce: 12JUZi
+.. section: Library
+
+Fix behaviour of cmath.rect w.r.t. signed zeros on OS X 10.8 + gcc.
+
+..
+
+.. bpo: 18101
+.. date: 9121
+.. nonce: hWfUNM
+.. section: Library
+
+Tcl.split() now process Unicode strings nested in a tuple as it do with byte
+strings.
+
+..
+
+.. bpo: 18347
+.. date: 9120
+.. nonce: r98Yh-
+.. section: Library
+
+ElementTree's html serializer now preserves the case of closing tags.
+
+..
+
+.. bpo: 17261
+.. date: 9119
+.. nonce: FBzLVh
+.. section: Library
+
+Ensure multiprocessing's proxies use proper address.
+
+..
+
+.. bpo: 17097
+.. date: 9118
+.. nonce: npje1S
+.. section: Library
+
+Make multiprocessing ignore EINTR.
+
+..
+
+.. bpo: 18155
+.. date: 9117
+.. nonce: P-O3wv
+.. section: Library
+
+The csv module now correctly handles csv files that use a delimiter
+character that has a special meaning in regexes, instead of throwing an
+exception.
+
+..
+
+.. bpo: 18135
+.. date: 9116
+.. nonce: AYPE8L
+.. section: Library
+
+ssl.SSLSocket.write() now raises an OverflowError if the input string in
+longer than 2 gigabytes. The ssl module does not support partial write.
+
+..
+
+.. bpo: 18167
+.. date: 9115
+.. nonce: CE6ZMO
+.. section: Library
+
+cgi.FieldStorage no longer fails to handle multipart/form-data when \r\n
+appears at end of 65535 bytes without other newlines.
+
+..
+
+.. bpo: 17403
+.. date: 9114
+.. nonce: gtIhUd
+.. section: Library
+
+urllib.parse.robotparser normalizes the urls before adding to ruleline. This
+helps in handling certain types invalid urls in a conservative manner. Patch
+contributed by Mher Movsisyan.
+
+..
+
+.. bpo: 0
+.. date: 9113
+.. nonce: jM5EPF
+.. section: Library
+
+Implement inequality on weakref.WeakSet.
+
+..
+
+.. bpo: 17981
+.. date: 9112
+.. nonce: kIczv7
+.. section: Library
+
+Closed socket on error in SysLogHandler.
+
+..
+
+.. bpo: 18015
+.. date: 9111
+.. nonce: 85_YuN
+.. section: Library
+
+Fix unpickling of 2.7.3 and 2.7.4 namedtuples.
+
+..
+
+.. bpo: 17754
+.. date: 9110
+.. nonce: xa6Bc3
+.. section: Library
+
+Make ctypes.util.find_library() independent of the locale.
+
+..
+
+.. bpo: 0
+.. date: 9109
+.. nonce: 9OGCJH
+.. section: Library
+
+Fix typos in the multiprocessing module.
+
+..
+
+.. bpo: 17269
+.. date: 9108
+.. nonce: 7LxyKz
+.. section: Library
+
+Workaround for socket.getaddrinfo crash on MacOS X with port None or "0" and
+flags AI_NUMERICSERV.
+
+..
+
+.. bpo: 18080
+.. date: 9107
+.. nonce: 8bMdE3
+.. section: Library
+
+When building a C extension module on OS X, if the compiler is overridden
+with the CC environment variable, use the new compiler as the default for
+linking if LDSHARED is not also overridden.  This restores Distutils
+behavior introduced in 2.7.3 and inadvertently dropped in 2.7.4.
+
+..
+
+.. bpo: 18071
+.. date: 9106
+.. nonce: 2FwU0S
+.. section: Library
+
+C extension module builds on OS X could fail with TypeError if the Xcode
+command line tools were not installed.
+
+..
+
+.. bpo: 18113
+.. date: 9105
+.. nonce: 7w81KJ
+.. section: Library
+
+Fixed a refcount leak in the curses.panel module's set_userptr() method.
+Reported by Atsuo Ishimoto.
+
+..
+
+.. bpo: 18849
+.. date: 9104
+.. nonce: Q0kF0R
+.. section: Library
+
+Fixed a Windows-specific tempfile bug where collision with an existing
+directory caused mkstemp and related APIs to fail instead of retrying.
+Report and fix by Vlad Shcherbina.
+
+..
+
+.. bpo: 19400
+.. date: 9103
+.. nonce: QAqpk5
+.. section: Library
+
+Prevent extension module build failures with Xcode 5 on OS X 10.8+ when
+using a universal Python that included a PPC architecture, such as with a
+python.org 32-bit-only binary installer.
+
+..
+
+.. bpo: 18873
+.. date: 9102
+.. nonce: i_1Tf_
+.. section: Tools/Demos
+
+2to3 and the findnocoding.py script now detect Python source code encoding
+only in comment lines.
+
+..
+
+.. bpo: 18817
+.. date: 9101
+.. nonce: yma3Gh
+.. section: Tools/Demos
+
+Fix a resource warning in Lib/aifc.py demo.
+
+..
+
+.. bpo: 18439
+.. date: 9100
+.. nonce: W9DxeL
+.. section: Tools/Demos
+
+Make patchcheck work on Windows for ACKS, NEWS.
+
+..
+
+.. bpo: 18448
+.. date: 9099
+.. nonce: gMA5pg
+.. section: Tools/Demos
+
+Fix a typo in Demo/newmetaclasses/Eiffel.py.
+
+..
+
+.. bpo: 12990
+.. date: 9098
+.. nonce: E1geL-
+.. section: Tools/Demos
+
+The "Python Launcher" on OSX could not launch python scripts that have paths
+that include wide characters.
+
+..
+
+.. bpo: 16067
+.. date: 9097
+.. nonce: xeYOfj
+.. section: Build
+
+Add description into MSI file to replace installer's temporary name.
+
+..
+
+.. bpo: 18256
+.. date: 9096
+.. nonce: PiEkYT
+.. section: Build
+
+Compilation fix for recent AIX releases.  Patch by David Edelsohn.
+
+..
+
+.. bpo: 18098
+.. date: 9095
+.. nonce: KZmfoE
+.. section: Build
+
+The deprecated OS X Build Applet.app fails to build on OS X 10.8 systems
+because the Apple-deprecated QuickDraw headers have been removed from Xcode
+4.  Skip building it in this case.
+
+..
+
+.. bpo: 1584
+.. date: 9094
+.. nonce: qjDxpR
+.. section: Build
+
+Provide options to override default search paths for Tcl and Tk when
+building _tkinter.
+
+..
+
+.. bpo: 15663
+.. date: 9093
+.. nonce: 9Da_Rj
+.. section: Build
+
+Tcl/Tk 8.5.15 is now included with the OS X 10.6+ 64-bit/32-bit installer
+for 10.6+.  It is no longer necessary to install a third-party version of
+Tcl/Tk 8.5 to work around the problems in the Apple-supplied Tcl/Tk 8.5
+shipped in OS X 10.6 and later releases.
+
+..
+
+.. bpo: 19019
+.. date: 9092
+.. nonce: 5W7lw_
+.. section: Build
+
+Change the OS X installer build script to use CFLAGS instead of OPT for
+special build options.  By setting OPT, some compiler-specific options like
+-fwrapv were overridden and thus not used, which could result in broken
+interpreters when building with clang.
+
+..
+
+.. bpo: 18873
+.. date: 9091
+.. nonce: dyLPY9
+.. section: IDLE
+
+IDLE now detects Python source code encoding only in comment lines.
+
+..
+
+.. bpo: 18988
+.. date: 9090
+.. nonce: 6CpesW
+.. section: IDLE
+
+The "Tab" key now works when a word is already autocompleted.
+
+..
+
+.. bpo: 18489
+.. date: 9089
+.. nonce: nOvxOH
+.. section: IDLE
+
+Add tests for SearchEngine. Original patch by Phil Webster.
+
+..
+
+.. bpo: 18429
+.. date: 9088
+.. nonce: F1lTq1
+.. section: IDLE
+
+Format / Format Paragraph, now works when comment blocks are selected. As
+with text blocks, this works best when the selection only includes complete
+lines.
+
+..
+
+.. bpo: 18226
+.. date: 9087
+.. nonce: 5HtrW1
+.. section: IDLE
+
+Add docstrings and unittests for FormatParagraph.py. Original patches by
+Todd Rovito and Phil Webster.
+
+..
+
+.. bpo: 18279
+.. date: 9086
+.. nonce: UoF-oR
+.. section: IDLE
+
+Format - Strip trailing whitespace no longer marks a file as changed when it
+has not been changed. This fix followed the addition of a test file
+originally written by Phil Webster (the issue's main goal).
+
+..
+
+.. bpo: 18539
+.. date: 9085
+.. nonce: _ddWOv
+.. section: IDLE
+
+Calltips now work for float default arguments.
+
+..
+
+.. bpo: 7136
+.. date: 9084
+.. nonce: 7horQf
+.. section: IDLE
+
+In the Idle File menu, "New Window" is renamed "New File". Patch by Tal
+Einat, Roget Serwy, and Todd Rovito.
+
+..
+
+.. bpo: 8515
+.. date: 9083
+.. nonce: wY13t0
+.. section: IDLE
+
+Set __file__ when run file in IDLE. Initial patch by Bruce Frederiksen.
+
+..
+
+.. bpo: 5492
+.. date: 9082
+.. nonce: LCx7lq
+.. section: IDLE
+
+Avoid traceback when exiting IDLE caused by a race condition.
+
+..
+
+.. bpo: 17511
+.. date: 9081
+.. nonce: 6XqdTH
+.. section: IDLE
+
+Keep IDLE find dialog open after clicking "Find Next". Original patch by
+Sarah K.
+
+..
+
+.. bpo: 15392
+.. date: 9080
+.. nonce: rB5VoV
+.. section: IDLE
+
+Create a unittest framework for IDLE. Preliminary patch by Rajagopalasarma
+Jayakrishnan See Lib/idlelib/idle_test/README.txt for how to run Idle tests.
+
+..
+
+.. bpo: 14146
+.. date: 9079
+.. nonce: -n5gzd
+.. section: IDLE
+
+Highlight source line while debugging on Windows.
+
+..
+
+.. bpo: 17532
+.. date: 9078
+.. nonce: wgA70Z
+.. section: IDLE
+
+Always include Options menu for IDLE on OS X. Patch by Guilherme Simões.
+
+..
+
+.. bpo: 18919
+.. date: 9077
+.. nonce: BOq1BY
+.. section: Tests
+
+Added tests for the sunau module.  Unified and extended tests for audio
+modules: aifc, sunau and wave.
+
+..
+
+.. bpo: 18792
+.. date: 9076
+.. nonce: 5RkYdK
+.. section: Tests
+
+Use "127.0.0.1" or "::1" instead of "localhost" as much as possible, since
+"localhost" goes through a DNS lookup under recent Windows versions.
+
+..
+
+.. bpo: 18357
+.. date: 9075
+.. nonce: jRiyQA
+.. section: Tests
+
+add tests for dictview set difference. Patch by Fraser Tweedale.
+
+..
+
+.. bpo: 11185
+.. date: 9074
+.. nonce: McIHeT
+.. section: Tests
+
+Fix test_wait4 under AIX.  Patch by Sébastien Sablé.
+
+..
+
+.. bpo: 18094
+.. date: 9073
+.. nonce: VeMh1H
+.. section: Tests
+
+test_uuid no more reports skipped tests as passed.
+
+..
+
+.. bpo: 11995
+.. date: 9072
+.. nonce: varfN1
+.. section: Tests
+
+test_pydoc doesn't import all sys.path modules anymore.
+
+..
+
+.. bpo: 18758
+.. date: 9071
+.. nonce: hMCi7Z
+.. section: Documentation
+
+Fixed and improved cross-references.
+
+..
+
+.. bpo: 18718
+.. date: 9070
+.. nonce: CtpK5H
+.. section: Documentation
+
+datetime documentation contradictory on leap second support.
+
+..
+
+.. bpo: 17701
+.. date: 9069
+.. nonce: FtTZ66
+.. section: Documentation
+
+Improving strftime documentation.
+
+..
+
+.. bpo: 17844
+.. date: 9068
+.. nonce: R4Gssa
+.. section: Documentation
+
+Refactor a documentation of Python specific encodings. Add links to encoders
+and decoders for binary-to-binary codecs.
diff --git a/Misc/NEWS.d/2.7.7.rst b/Misc/NEWS.d/2.7.7.rst
new file mode 100644
index 0000000..fbad9ad
--- /dev/null
+++ b/Misc/NEWS.d/2.7.7.rst
@@ -0,0 +1,16 @@
+.. bpo: 21462
+.. date: 9328
+.. nonce: Ee4oKH
+.. release date: 2014-05-31
+.. section: Build
+
+Build the Windows installers with OpenSSL 1.0.1g.
+
+..
+
+.. bpo: 19866
+.. date: 9327
+.. nonce: 15D08i
+.. section: Build
+
+Include some test data in the Windows installers, so tests don't fail.
diff --git a/Misc/NEWS.d/2.7.7rc1.rst b/Misc/NEWS.d/2.7.7rc1.rst
new file mode 100644
index 0000000..93ef569
--- /dev/null
+++ b/Misc/NEWS.d/2.7.7rc1.rst
@@ -0,0 +1,1376 @@
+.. bpo: 21350
+.. date: 9326
+.. nonce: jnq6gO
+.. release date: 2014-05-17
+.. section: Core and Builtins
+
+Fix file.writelines() to accept arbitrary buffer objects, as advertised.
+Patch by Brian Kearns.
+
+..
+
+.. bpo: 20437
+.. date: 9325
+.. nonce: 9Rsiua
+.. section: Core and Builtins
+
+Fixed 43 potential bugs when deleting object references.
+
+..
+
+.. bpo: 21134
+.. date: 9324
+.. nonce: ZL4SKo
+.. section: Core and Builtins
+
+Fix segfault when str is called on an uninitialized UnicodeEncodeError,
+UnicodeDecodeError, or UnicodeTranslateError object.
+
+..
+
+.. bpo: 20494
+.. date: 9323
+.. nonce: uGIFPX
+.. section: Core and Builtins
+
+Ensure that free()d memory arenas are really released on POSIX systems
+supporting anonymous memory mappings.  Patch by Charles-François Natali.
+
+..
+
+.. bpo: 17825
+.. date: 9322
+.. nonce: toRoZf
+.. section: Core and Builtins
+
+Cursor "^" is correctly positioned for SyntaxError and IndentationError.
+
+..
+
+.. bpo: 0
+.. date: 9321
+.. nonce: nfw3S8
+.. section: Core and Builtins
+
+Raise a better error when non-unicode codecs are used for a file's coding
+cookie.
+
+..
+
+.. bpo: 17976
+.. date: 9320
+.. nonce: w402Bf
+.. section: Core and Builtins
+
+Fixed potential problem with file.write() not detecting IO error by
+inspecting the return value of fwrite().  Based on patches by Jaakko Moisio
+and Victor Stinner.
+
+..
+
+.. bpo: 14432
+.. date: 9319
+.. nonce: kZ1mYr
+.. section: Core and Builtins
+
+Generator now clears the borrowed reference to the thread state. Fix a crash
+when a generator is created in a C thread that is destroyed while the
+generator is still used. The issue was that a generator contains a frame,
+and the frame kept a reference to the Python state of the destroyed C
+thread. The crash occurs when a trace function is setup.
+
+..
+
+.. bpo: 19932
+.. date: 9318
+.. nonce: ZU_tXW
+.. section: Core and Builtins
+
+Fix typo in import.h, missing whitespaces in function prototypes.
+
+..
+
+.. bpo: 19638
+.. date: 9317
+.. nonce: lh5Awt
+.. section: Core and Builtins
+
+Fix possible crash / undefined behaviour from huge (more than 2 billion
+characters) input strings in _Py_dg_strtod.
+
+..
+
+.. bpo: 12546
+.. date: 9316
+.. nonce: kDqF_s
+.. section: Core and Builtins
+
+Allow \x00 to be used as a fill character when using str, int, float, and
+complex __format__ methods.
+
+..
+
+.. bpo: 10744
+.. date: 9315
+.. nonce: kfV0wm
+.. section: Library
+
+Fix PEP 3118 format strings on ctypes objects with a nontrivial shape.
+
+..
+
+.. bpo: 7776
+.. date: 9314
+.. nonce: DFUgrv
+.. section: Library
+
+Backport Fix ``Host:'' header and reconnection when using
+http.client.HTTPConnection.set_tunnel() from Python 3.  Patch by Nikolaus
+Rath.
+
+..
+
+.. bpo: 21306
+.. date: 9313
+.. nonce: 8ABvGX
+.. section: Library
+
+Backport hmac.compare_digest from Python 3. This is part of PEP 466.
+
+..
+
+.. bpo: 21470
+.. date: 9312
+.. nonce: uH-yCD
+.. section: Library
+
+Do a better job seeding the random number generator by using enough bytes to
+span the full state space of the Mersenne Twister.
+
+..
+
+.. bpo: 21469
+.. date: 9311
+.. nonce: _fFGuq
+.. section: Library
+
+Reduced the risk of false positives in robotparser by checking to make sure
+that robots.txt has been read or does not exist prior to returning True in
+can_fetch().
+
+..
+
+.. bpo: 21321
+.. date: 9310
+.. nonce: wUkTON
+.. section: Library
+
+itertools.islice() now releases the reference to the source iterator when
+the slice is exhausted.  Patch by Anton Afanasyev.
+
+..
+
+.. bpo: 9291
+.. date: 9309
+.. nonce: QlHuPo
+.. section: Library
+
+Do not attempt to re-encode mimetype data read from registry in ANSI mode.
+Initial patches by Dmitry Jemerov & Vladimir Iofik.
+
+..
+
+.. bpo: 21349
+.. date: 9308
+.. nonce: G6dnGO
+.. section: Library
+
+Passing a memoryview to _winreg.SetValueEx now correctly raises a TypeError
+where it previously crashed the interpreter. Patch by Brian Kearns
+
+..
+
+.. bpo: 21529
+.. date: 9307
+.. nonce: 57R_Fc
+.. section: Library
+
+Fix arbitrary memory access in JSONDecoder.raw_decode with a negative second
+parameter. Bug reported by Guido Vranken. (See also: CVE-2014-4616)
+
+..
+
+.. bpo: 21172
+.. date: 9306
+.. nonce: dQ7yY7
+.. section: Library
+
+isinstance check relaxed from dict to collections.Mapping.
+
+..
+
+.. bpo: 21191
+.. date: 9305
+.. nonce: T8gLBH
+.. section: Library
+
+In os.fdopen, never close the file descriptor when an exception happens.
+
+..
+
+.. bpo: 21149
+.. date: 9304
+.. nonce: cnjwMR
+.. section: Library
+
+Improved thread-safety in logging cleanup during interpreter shutdown.
+Thanks to Devin Jeanpierre for the patch.
+
+..
+
+.. bpo: 0
+.. date: 9303
+.. nonce: WKcVnZ
+.. section: Library
+
+Fix possible overflow bug in strop.expandtabs. You shouldn't be using this
+module!
+
+..
+
+.. bpo: 20145
+.. date: 9302
+.. nonce: JeZoJn
+.. section: Library
+
+`assertRaisesRegex` now raises a TypeError if the second argument is not a
+string or compiled regex.
+
+..
+
+.. bpo: 21058
+.. date: 9301
+.. nonce: SqznP1
+.. section: Library
+
+Fix a leak of file descriptor in tempfile.NamedTemporaryFile(), close the
+file descriptor if os.fdopen() fails
+
+..
+
+.. bpo: 20283
+.. date: 9300
+.. nonce: v0Vs9V
+.. section: Library
+
+RE pattern methods now accept the string keyword parameters as documented.
+The pattern and source keyword parameters are left as deprecated aliases.
+
+..
+
+.. bpo: 11599
+.. date: 9299
+.. nonce: 9QOXf4
+.. section: Library
+
+When an external command (e.g. compiler) fails, distutils now prints out the
+whole command line (instead of just the command name) if the environment
+variable DISTUTILS_DEBUG is set.
+
+..
+
+.. bpo: 4931
+.. date: 9298
+.. nonce: uF10hr
+.. section: Library
+
+distutils should not produce unhelpful "error: None" messages anymore.
+distutils.util.grok_environment_error is kept but doc-deprecated.
+
+..
+
+.. bpo: 0
+.. date: 9297
+.. nonce: mdcWGA
+.. section: Library
+
+Improve the random module's default seeding to use 256 bits of entropy from
+os.urandom().  This was already done for Python 3, mildly improving security
+with a bigger seed space.
+
+..
+
+.. bpo: 15618
+.. date: 9296
+.. nonce: r5_ACR
+.. section: Library
+
+Make turtle.py compatible with 'from __future__ import unicode_literals'.
+Initial patch by Juancarlo Añez.
+
+..
+
+.. bpo: 20501
+.. date: 9295
+.. nonce: Jwfgph
+.. section: Library
+
+fileinput module no longer reads whole file into memory when using
+fileinput.hook_encoded.
+
+..
+
+.. bpo: 6815
+.. date: 9294
+.. nonce: poU-vm
+.. section: Library
+
+os.path.expandvars() now supports non-ASCII Unicode environment variables
+names and values.
+
+..
+
+.. bpo: 20635
+.. date: 9293
+.. nonce: ZKwOpn
+.. section: Library
+
+Fixed grid_columnconfigure() and grid_rowconfigure() methods of Tkinter
+widgets to work in wantobjects=True mode.
+
+..
+
+.. bpo: 17671
+.. date: 9292
+.. nonce: 8tHRKJ
+.. section: Library
+
+Fixed a crash when use non-initialized io.BufferedRWPair. Based on patch by
+Stephen Tu.
+
+..
+
+.. bpo: 8478
+.. date: 9291
+.. nonce: OS7q1h
+.. section: Library
+
+Untokenizer.compat processes first token from iterator input. Patch based on
+lines from Georg Brandl, Eric Snow, and Gareth Rees.
+
+..
+
+.. bpo: 20594
+.. date: 9290
+.. nonce: BVHxPd
+.. section: Library
+
+Avoid name clash with the libc function posix_close.
+
+..
+
+.. bpo: 19856
+.. date: 9289
+.. nonce: jFhYW_
+.. section: Library
+
+shutil.move() failed to move a directory to other directory on Windows if
+source name ends with os.altsep.
+
+..
+
+.. bpo: 14983
+.. date: 9288
+.. nonce: H_gs8w
+.. section: Library
+
+email.generator now always adds a line end after each MIME boundary marker,
+instead of doing so only when there is an epilogue.  This fixes an RFC
+compliance bug and solves an issue with signed MIME parts.
+
+..
+
+.. bpo: 20013
+.. date: 9287
+.. nonce: erNy8V
+.. section: Library
+
+Some imap servers disconnect if the current mailbox is deleted, and imaplib
+did not handle that case gracefully.  Now it handles the 'bye' correctly.
+
+..
+
+.. bpo: 20426
+.. date: 9286
+.. nonce: f0ozAP
+.. section: Library
+
+When passing the re.DEBUG flag, re.compile() displays the debug output every
+time it is called, regardless of the compilation cache.
+
+..
+
+.. bpo: 20368
+.. date: 9285
+.. nonce: BlXEFo
+.. section: Library
+
+The null character now correctly passed from Tcl to Python (in unicode
+strings only).  Improved error handling in variables-related commands.
+
+..
+
+.. bpo: 20435
+.. date: 9284
+.. nonce: _UNhlH
+.. section: Library
+
+Fix _pyio.StringIO.getvalue() to take into account newline translation
+settings.
+
+..
+
+.. bpo: 20288
+.. date: 9283
+.. nonce: 6zUZe3
+.. section: Library
+
+fix handling of invalid numeric charrefs in HTMLParser.
+
+..
+
+.. bpo: 19456
+.. date: 9282
+.. nonce: 6HhsFx
+.. section: Library
+
+ntpath.join() now joins relative paths correctly when a drive is present.
+
+..
+
+.. bpo: 8260
+.. date: 9281
+.. nonce: nf7gg9
+.. section: Library
+
+The read(), readline() and readlines() methods of codecs.StreamReader
+returned incomplete data when were called after readline() or read(size).
+Based on patch by Amaury Forgeot d'Arc.
+
+..
+
+.. bpo: 20374
+.. date: 9280
+.. nonce: EWofHb
+.. section: Library
+
+Fix build with GNU readline >= 6.3.
+
+..
+
+.. bpo: 14548
+.. date: 9279
+.. nonce: ClAkmE
+.. section: Library
+
+Make multiprocessing finalizers check pid before running to cope with
+possibility of gc running just after fork. (Backport from 3.x.)
+
+..
+
+.. bpo: 20262
+.. date: 9278
+.. nonce: co0t1R
+.. section: Library
+
+Warnings are raised now when duplicate names are added in the ZIP file or
+too long ZIP file comment is truncated.
+
+..
+
+.. bpo: 20270
+.. date: 9277
+.. nonce: hDccjr
+.. section: Library
+
+urllib and urlparse now support empty ports.
+
+..
+
+.. bpo: 20243
+.. date: 9276
+.. nonce: nApKCK
+.. section: Library
+
+TarFile no longer raise ReadError when opened in write mode.
+
+..
+
+.. bpo: 20245
+.. date: 9275
+.. nonce: 93kf_h
+.. section: Library
+
+The open functions in the tarfile module now correctly handle empty mode.
+
+..
+
+.. bpo: 20086
+.. date: 9274
+.. nonce: RV3SGi
+.. section: Library
+
+Restored the use of locale-independent mapping instead of locale-dependent
+str.lower() in locale.normalize().
+
+..
+
+.. bpo: 20246
+.. date: 9273
+.. nonce: CC8uTq
+.. section: Library
+
+Fix buffer overflow in socket.recvfrom_into.
+
+..
+
+.. bpo: 19082
+.. date: 9272
+.. nonce: Qv6W7t
+.. section: Library
+
+Working SimpleXMLRPCServer and xmlrpclib examples, both in modules and
+documentation.
+
+..
+
+.. bpo: 13107
+.. date: 9271
+.. nonce: YgEEME
+.. section: Library
+
+argparse and optparse no longer raises an exception when output a help on
+environment with too small COLUMNS.  Based on patch by Elazar Gershuni.
+
+..
+
+.. bpo: 20207
+.. date: 9270
+.. nonce: ziIyF1
+.. section: Library
+
+Always disable SSLv2 except when PROTOCOL_SSLv2 is explicitly asked for.
+
+..
+
+.. bpo: 20072
+.. date: 9269
+.. nonce: FzVG15
+.. section: Library
+
+Fixed multiple errors in tkinter with wantobjects is False.
+
+..
+
+.. bpo: 1065986
+.. date: 9268
+.. nonce: pSaw56
+.. section: Library
+
+pydoc can now handle unicode strings.
+
+..
+
+.. bpo: 16039
+.. date: 9267
+.. nonce: Cy3_BL
+.. section: Library
+
+CVE-2013-1752: Change use of readline in imaplib module to limit line
+length.  Patch by Emil Lind.
+
+..
+
+.. bpo: 19422
+.. date: 9266
+.. nonce: 1dRaPS
+.. section: Library
+
+Explicitly disallow non-SOCK_STREAM sockets in the ssl module, rather than
+silently let them emit clear text data.
+
+..
+
+.. bpo: 20027
+.. date: 9265
+.. nonce: dtB7OG
+.. section: Library
+
+Fixed locale aliases for devanagari locales.
+
+..
+
+.. bpo: 20067
+.. date: 9264
+.. nonce: MlnlYd
+.. section: Library
+
+Tkinter variables now work when wantobjects is false.
+
+..
+
+.. bpo: 19020
+.. date: 9263
+.. nonce: _16K__
+.. section: Library
+
+Tkinter now uses splitlist() instead of split() in configure methods.
+
+..
+
+.. bpo: 12226
+.. date: 9262
+.. nonce: -vXCBM
+.. section: Library
+
+HTTPS is now used by default when connecting to PyPI.
+
+..
+
+.. bpo: 20048
+.. date: 9261
+.. nonce: YvvUoW
+.. section: Library
+
+Fixed ZipExtFile.peek() when it is called on the boundary of the uncompress
+buffer and read() goes through more than one readbuffer.
+
+..
+
+.. bpo: 20034
+.. date: 9260
+.. nonce: GlYpNX
+.. section: Library
+
+Updated alias mapping to most recent locale.alias file from X.org
+distribution using makelocalealias.py.
+
+..
+
+.. bpo: 5815
+.. date: 9259
+.. nonce: FxSb0P
+.. section: Library
+
+Fixed support for locales with modifiers.  Fixed support for locale
+encodings with hyphens.
+
+..
+
+.. bpo: 20026
+.. date: 9258
+.. nonce: KO1jB6
+.. section: Library
+
+Fix the sqlite module to handle correctly invalid isolation level (wrong
+type).
+
+..
+
+.. bpo: 18829
+.. date: 9257
+.. nonce: QPwJFn
+.. section: Library
+
+csv.Dialect() now checks type for delimiter, escapechar and quotechar
+fields.  Original patch by Vajrasky Kok.
+
+..
+
+.. bpo: 19855
+.. date: 9256
+.. nonce: TtBUO6
+.. section: Library
+
+uuid.getnode() on Unix now looks on the PATH for the executables used to
+find the mac address, with /sbin and /usr/sbin as fallbacks.
+
+..
+
+.. bpo: 20007
+.. date: 9255
+.. nonce: IaSnPo
+.. section: Library
+
+HTTPResponse.read(0) no more prematurely closes connection. Original patch
+by Simon Sapin.
+
+..
+
+.. bpo: 19912
+.. date: 9254
+.. nonce: TviIPi
+.. section: Library
+
+Fixed numerous bugs in ntpath.splitunc().
+
+..
+
+.. bpo: 19623
+.. date: 9253
+.. nonce: cPL8XH
+.. section: Library
+
+Fixed writing to unseekable files in the aifc module. Fixed writing 'ulaw'
+(lower case) compressed AIFC files.
+
+..
+
+.. bpo: 17919
+.. date: 9252
+.. nonce: H5iGXv
+.. section: Library
+
+select.poll.register() again works with poll.POLLNVAL on AIX. Fixed integer
+overflow in the eventmask parameter.
+
+..
+
+.. bpo: 17200
+.. date: 9251
+.. nonce: y1euZh
+.. section: Library
+
+telnetlib's read_until and expect timeout was broken by the fix to Issue
+#14635 in Python 2.7.4 to be interpreted as milliseconds instead of seconds
+when the platform supports select.poll (ie: everywhere). It is now treated
+as seconds once again.
+
+..
+
+.. bpo: 19099
+.. date: 9250
+.. nonce: U4CHJk
+.. section: Library
+
+The struct module now supports Unicode format strings.
+
+..
+
+.. bpo: 19878
+.. date: 9249
+.. nonce: 7oVPCy
+.. section: Library
+
+Fix segfault in bz2 module after calling __init__ twice with non-existent
+filename. Initial patch by Vajrasky Kok.
+
+..
+
+.. bpo: 16373
+.. date: 9248
+.. nonce: 9drXFZ
+.. section: Library
+
+Prevent infinite recursion for ABC Set class comparisons.
+
+..
+
+.. bpo: 19138
+.. date: 9247
+.. nonce: xwKrX_
+.. section: Library
+
+doctest's IGNORE_EXCEPTION_DETAIL now allows a match when no exception
+detail exists (no colon following the exception's name, or a colon does
+follow but no text follows the colon).
+
+..
+
+.. bpo: 16231
+.. date: 9246
+.. nonce: BospTf
+.. section: Library
+
+Fixed pickle.Pickler to only fallback to its default pickling behaviour when
+Pickler.persistent_id returns None, but not for any other false values.
+This allows false values other than None to be used as persistent IDs.  This
+behaviour is consistent with cPickle.
+
+..
+
+.. bpo: 11508
+.. date: 9245
+.. nonce: fx7Abs
+.. section: Library
+
+Fixed uuid.getnode() and uuid.uuid1() on environment with virtual interface.
+Original patch by Kent Frazier.
+
+..
+
+.. bpo: 11489
+.. date: 9244
+.. nonce: 3ZQHi8
+.. section: Library
+
+JSON decoder now accepts lone surrogates.
+
+..
+
+.. bpo: 0
+.. date: 9243
+.. nonce: mrzJif
+.. section: Library
+
+Fix test.test_support.bind_port() to not cause an error when Python was
+compiled on a system with SO_REUSEPORT defined in the headers but run on a
+system with an OS kernel that does not support that new socket option.
+
+..
+
+.. bpo: 19633
+.. date: 9242
+.. nonce: XJNQit
+.. section: Library
+
+Fixed writing not compressed 16- and 32-bit wave files on big-endian
+platforms.
+
+..
+
+.. bpo: 19449
+.. date: 9241
+.. nonce: F2TbC_
+.. section: Library
+
+in csv's writerow, handle non-string keys when generating the error message
+that certain keys are not in the 'fieldnames' list.
+
+..
+
+.. bpo: 12853
+.. date: 9240
+.. nonce: Hf7EYH
+.. section: Library
+
+Fix NameError in distutils.command.upload.
+
+..
+
+.. bpo: 19523
+.. date: 9239
+.. nonce: tNiY9i
+.. section: Library
+
+Closed FileHandler leak which occurred when delay was set.
+
+..
+
+.. bpo: 1575020
+.. date: 9238
+.. nonce: skWyvl
+.. section: Library
+
+Fixed support of 24-bit wave files on big-endian platforms.
+
+..
+
+.. bpo: 19480
+.. date: 9237
+.. nonce: MY3dmW
+.. section: Library
+
+HTMLParser now accepts all valid start-tag names as defined by the HTML5
+standard.
+
+..
+
+.. bpo: 17827
+.. date: 9236
+.. nonce: HJGFDL
+.. section: Library
+
+Add the missing documentation for ``codecs.encode`` and ``codecs.decode``.
+
+..
+
+.. bpo: 6157
+.. date: 9235
+.. nonce: ZW67ae
+.. section: Library
+
+Fixed Tkinter.Text.debug().  Original patch by Guilherme Polo.
+
+..
+
+.. bpo: 6160
+.. date: 9234
+.. nonce: Mr5UuA
+.. section: Library
+
+The bbox() method of tkinter.Spinbox now returns a tuple of integers instead
+of a string.  Based on patch by Guilherme Polo.
+
+..
+
+.. bpo: 19286
+.. date: 9233
+.. nonce: TUZetF
+.. section: Library
+
+Directories in ``package_data`` are no longer added to the filelist,
+preventing failure outlined in the ticket.
+
+..
+
+.. bpo: 6676
+.. date: 9232
+.. nonce: CJu5On
+.. section: Library
+
+Ensure a meaningful exception is raised when attempting to parse more than
+one XML document per pyexpat xmlparser instance. (Original patches by
+Hirokazu Yamamoto and Amaury Forgeot d'Arc, with suggested wording by David
+Gutteridge)
+
+..
+
+.. bpo: 21311
+.. date: 9231
+.. nonce: JsDF8H
+.. section: Library
+
+Avoid exception in _osx_support with non-standard compiler configurations.
+Patch by John Szakmeister.
+
+..
+
+.. bpo: 3561
+.. date: 9230
+.. nonce: DuNr6C
+.. section: Tools/Demos
+
+The Windows installer now has an option, off by default, for placing the
+Python installation into the system "Path" environment variable. This was
+backported from Python 3.3.
+
+..
+
+.. bpo: 0
+.. date: 9229
+.. nonce: _-ge-g
+.. section: Tools/Demos
+
+Add support for ``yield from`` to 2to3.
+
+..
+
+.. bpo: 0
+.. date: 9228
+.. nonce: dpFbyZ
+.. section: Tools/Demos
+
+Add support for the PEP 465 matrix multiplication operator to 2to3.
+
+..
+
+.. bpo: 19936
+.. date: 9227
+.. nonce: moet1K
+.. section: Tools/Demos
+
+Added executable bits or shebang lines to Python scripts which requires
+them.  Disable executable bits and shebang lines in test and benchmark files
+in order to prevent using a random system python, and in source files of
+modules which don't provide command line interface.
+
+..
+
+.. bpo: 18104
+.. date: 9226
+.. nonce: 8Fj9Pf
+.. section: IDLE
+
+Add idlelib/idle_test/htest.py with a few sample tests to begin
+consolidating and improving human-validated tests of Idle. Change other
+files as needed to work with htest.  Running the module as __main__ runs all
+tests.
+
+..
+
+.. bpo: 21139
+.. date: 9225
+.. nonce: kqetng
+.. section: IDLE
+
+Change default paragraph width to 72, the PEP 8 recommendation.
+
+..
+
+.. bpo: 21284
+.. date: 9224
+.. nonce: KKJfmv
+.. section: IDLE
+
+Paragraph reformat test passes after user changes reformat width.
+
+..
+
+.. bpo: 20406
+.. date: 9223
+.. nonce: AgBe_5
+.. section: IDLE
+
+Use Python application icons for Idle window title bars. Patch mostly by
+Serhiy Storchaka.
+
+..
+
+.. bpo: 21029
+.. date: 9222
+.. nonce: JnlAAt
+.. section: IDLE
+
+Occurrences of "print" are now consistently colored as being a keyword (the
+colorizer doesn't know if print functions are enabled in the source).
+
+..
+
+.. bpo: 17721
+.. date: 9221
+.. nonce: 8Jh8C1
+.. section: IDLE
+
+Remove non-functional configuration dialog help button until we make it
+actually gives some help when clicked. Patch by Guilherme Simões.
+
+..
+
+.. bpo: 17390
+.. date: 9220
+.. nonce: 9m6ZhV
+.. section: IDLE
+
+Add Python version to Idle editor window title bar. Original patches by
+Edmond Burnett and Kent Johnson.
+
+..
+
+.. bpo: 20058
+.. date: 9219
+.. nonce: KnDlhH
+.. section: IDLE
+
+sys.stdin.readline() in IDLE now always returns only one line.
+
+..
+
+.. bpo: 19481
+.. date: 9218
+.. nonce: b5EHmn
+.. section: IDLE
+
+print() of unicode, str or bytearray subclass instance in IDLE no more
+hangs.
+
+..
+
+.. bpo: 18270
+.. date: 9217
+.. nonce: lu6dRW
+.. section: IDLE
+
+Prevent possible IDLE AttributeError on OS X when no initial shell window is
+present.
+
+..
+
+.. bpo: 17654
+.. date: 9216
+.. nonce: NbzhNS
+.. section: IDLE
+
+Ensure IDLE menus are customized properly on OS X for non-framework builds
+and for all variants of Tk.
+
+..
+
+.. bpo: 17752
+.. date: 9215
+.. nonce: P8iG44
+.. section: Tests
+
+Fix distutils tests when run from the installed location.
+
+..
+
+.. bpo: 18604
+.. date: 9214
+.. nonce: Q00Xrj
+.. section: Tests
+
+Consolidated checks for GUI availability.  All platforms now at least check
+whether Tk can be instantiated when the GUI resource is requested.
+
+..
+
+.. bpo: 20946
+.. date: 9213
+.. nonce: iI4MlK
+.. section: Tests
+
+Correct alignment assumptions of some ctypes tests.
+
+..
+
+.. bpo: 20743
+.. date: 9212
+.. nonce: hxZQUf
+.. section: Tests
+
+Fix a reference leak in test_tcl.
+
+..
+
+.. bpo: 20510
+.. date: 9211
+.. nonce: X9p_K2
+.. section: Tests
+
+Rewrote test_exit in test_sys to match existing comments, use modern
+unittest features, and use helpers from test.script_helper instead of using
+subprocess directly.  Initial patch by Gareth Rees.
+
+..
+
+.. bpo: 20532
+.. date: 9210
+.. nonce: qsOt4d
+.. section: Tests
+
+Tests which use _testcapi now are marked as CPython only.
+
+..
+
+.. bpo: 19920
+.. date: 9209
+.. nonce: suOIC7
+.. section: Tests
+
+Added tests for TarFile.list().  Based on patch by Vajrasky Kok.
+
+..
+
+.. bpo: 19990
+.. date: 9208
+.. nonce: Lp1MVj
+.. section: Tests
+
+Added tests for the imghdr module.  Based on patch by Claudiu Popa.
+
+..
+
+.. bpo: 19804
+.. date: 9207
+.. nonce: xIHIl7
+.. section: Tests
+
+The test_find_mac test in test_uuid is now skipped if the ifconfig
+executable is not available.
+
+..
+
+.. bpo: 19886
+.. date: 9206
+.. nonce: nqDFRC
+.. section: Tests
+
+Use better estimated memory requirements for bigmem tests.
+
+..
+
+.. bpo: 0
+.. date: 9205
+.. nonce: 6LQ8qX
+.. section: Tests
+
+Backported tests for Tkinter variables.
+
+..
+
+.. bpo: 19320
+.. date: 9204
+.. nonce: 9x_cw5
+.. section: Tests
+
+test_tcl no longer fails when wantobjects is false.
+
+..
+
+.. bpo: 19683
+.. date: 9203
+.. nonce: iD76Cq
+.. section: Tests
+
+Removed empty tests from test_minidom.  Initial patch by Ajitesh Gupta.
+
+..
+
+.. bpo: 19928
+.. date: 9202
+.. nonce: dwOQ95
+.. section: Tests
+
+Implemented a test for repr() of cell objects.
+
+..
+
+.. bpo: 19595
+.. date: 9201
+.. nonce: q5oNE_
+.. section: Tests
+
+Re-enabled a long-disabled test in test_winsound. (See also: bpo-19987)
+
+..
+
+.. bpo: 19588
+.. date: 9200
+.. nonce: EXKxpC
+.. section: Tests
+
+Fixed tests in test_random that were silently skipped most of the time.
+Patch by Julian Gindi.
+
+..
+
+.. bpo: 17883
+.. date: 9199
+.. nonce: rQfRpP
+.. section: Tests
+
+Tweak test_tcl testLoadWithUNC to skip the test in the event of a permission
+error on Windows and to properly report other skip conditions.
+
+..
+
+.. bpo: 17883
+.. date: 9198
+.. nonce: 12qN1i
+.. section: Tests
+
+Backported _is_gui_available() in test.test_support to avoid hanging Windows
+buildbots on test_ttk_guionly.
+
+..
+
+.. bpo: 18702
+.. date: 9197
+.. nonce: a2jP-V
+.. section: Tests
+
+All skipped tests now reported as skipped. (See also: bpo-19572)
+
+..
+
+.. bpo: 19085
+.. date: 9196
+.. nonce: Gcl9XX
+.. section: Tests
+
+Added basic tests for all tkinter widget options.
+
+..
+
+.. bpo: 20605
+.. date: 9195
+.. nonce: uef5pT
+.. section: Tests
+
+Make test_socket getaddrinfo OS X segfault test more robust.
+
+..
+
+.. bpo: 20939
+.. date: 9194
+.. nonce: x3KQ35
+.. section: Tests
+
+Avoid various network test failures due to new redirect of
+http://www.python.org/ to https://www.python.org: use http://www.example.com
+instead.
+
+..
+
+.. bpo: 21093
+.. date: 9193
+.. nonce: CcpRim
+.. section: Tests
+
+Prevent failures of ctypes test_macholib on OS X if a copy of libz exists in
+$HOME/lib or /usr/local/lib.
+
+..
+
+.. bpo: 21285
+.. date: 9192
+.. nonce: cU9p2E
+.. section: Build
+
+Refactor and fix curses configure check to always search in a ncursesw
+directory.
+
+..
+
+.. bpo: 20255
+.. date: 9191
+.. nonce: P9HfTR
+.. section: Documentation
+
+Update the about and bugs pages.
+
+..
+
+.. bpo: 18840
+.. date: 9190
+.. nonce: _2UItV
+.. section: Documentation
+
+Introduce the json module in the tutorial, and de-emphasize the pickle
+module.
+
+..
+
+.. bpo: 19795
+.. date: 9189
+.. nonce: z5sbe1
+.. section: Documentation
+
+Improved markup of True/False constants.
+
+..
+
+.. bpo: 21303
+.. date: 9188
+.. nonce: AHY5As
+.. section: Windows
+
+Updated the version of Tcl/Tk included in the installer from 8.5.2 to
+8.5.15. (See also: bpo-20565)
+
+..
+
+.. bpo: 0
+.. date: 9187
+.. nonce: FhpkVS
+.. section: macOS
+
+As of 2.7.8, the 32-bit-only installer will support OS X 10.5 and later
+systems as is currently done for Python 3.x installers. For 2.7.7 only, we
+will provide three installers: the legacy deprecated 10.3+ 32-bit-only
+format; the newer 10.5+ 32-bit-only format; and the unchanged 10.6+
+64-/32-bit format. Although binary installers will no longer be available
+from python.org as of 2.7.8, it will still be possible to build from source
+on 10.3.9 and 10.4 systems if necessary. See Mac/BuildScript/README.txt for
+more information.
diff --git a/Misc/NEWS.d/2.7.8.rst b/Misc/NEWS.d/2.7.8.rst
new file mode 100644
index 0000000..bd4462c
--- /dev/null
+++ b/Misc/NEWS.d/2.7.8.rst
@@ -0,0 +1,433 @@
+.. bpo: 4346
+.. date: 9373
+.. nonce: UASH7u
+.. release date: 2014-06-29
+.. section: Core and Builtins
+
+In PyObject_CallMethod and PyObject_CallMethodObjArgs, don't overwrite the
+error set in PyObject_GetAttr.
+
+..
+
+.. bpo: 21831
+.. date: 9372
+.. nonce: LMoAu3
+.. section: Core and Builtins
+
+Avoid integer overflow when large sizes and offsets are given to the buffer
+type. CVE-2014-7185.
+
+..
+
+.. bpo: 19656
+.. date: 9371
+.. nonce: H_jvEi
+.. section: Core and Builtins
+
+Running Python with the -3 option now also warns about non-ascii bytes
+literals.
+
+..
+
+.. bpo: 21642
+.. date: 9370
+.. nonce: CjIqaU
+.. section: Core and Builtins
+
+If the conditional if-else expression, allow an integer written with no
+space between itself and the ``else`` keyword (e.g. ``True if 42else
+False``) to be valid syntax.
+
+..
+
+.. bpo: 21523
+.. date: 9369
+.. nonce: f_PPYO
+.. section: Core and Builtins
+
+Fix over-pessimistic computation of the stack effect of some opcodes in the
+compiler.  This also fixes a quadratic compilation time issue noticeable
+when compiling code with a large number of "and" and "or" operators.
+
+..
+
+.. bpo: 21652
+.. date: 9368
+.. nonce: kCNkbE
+.. section: Library
+
+Prevent mimetypes.type_map from containing unicode keys on Windows.
+
+..
+
+.. bpo: 21729
+.. date: 9367
+.. nonce: oa2kD6
+.. section: Library
+
+Used the "with" statement in the dbm.dumb module to ensure files closing.
+
+..
+
+.. bpo: 21672
+.. date: 9366
+.. nonce: iMRNWM
+.. section: Library
+
+Fix the behavior of ntpath.join on UNC-style paths.
+
+..
+
+.. bpo: 19145
+.. date: 9365
+.. nonce: cRrKpW
+.. section: Library
+
+The times argument for itertools.repeat now handles negative values the same
+way for keyword arguments as it does for positional arguments.
+
+..
+
+.. bpo: 21832
+.. date: 9364
+.. nonce: PBA0Uu
+.. section: Library
+
+Require named tuple inputs to be exact strings.
+
+..
+
+.. bpo: 8343
+.. date: 9363
+.. nonce: 2KNnCH
+.. section: Library
+
+Named group error messages in the re module did not show the name of the
+erroneous group.
+
+..
+
+.. bpo: 21491
+.. date: 9362
+.. nonce: suNKZf
+.. section: Library
+
+SocketServer: Fix a race condition in child processes reaping.
+
+..
+
+.. bpo: 21635
+.. date: 9361
+.. nonce: ET3OJZ
+.. section: Library
+
+The difflib SequenceMatcher.get_matching_blocks() method cache didn't match
+the actual result.  The former was a list of tuples and the latter was a
+list of named tuples.
+
+..
+
+.. bpo: 21722
+.. date: 9360
+.. nonce: WTHuRy
+.. section: Library
+
+The distutils "upload" command now exits with a non-zero return code when
+uploading fails.  Patch by Martin Dengler.
+
+..
+
+.. bpo: 21766
+.. date: 9359
+.. nonce: 0xk_xC
+.. section: Library
+
+Prevent a security hole in CGIHTTPServer by URL unquoting paths before
+checking for a CGI script at that path.
+
+..
+
+.. bpo: 21310
+.. date: 9358
+.. nonce: 2mjByJ
+.. section: Library
+
+Fixed possible resource leak in failed open().
+
+..
+
+.. bpo: 21304
+.. date: 9357
+.. nonce: xXyySz
+.. section: Library
+
+Backport the key derivation function hashlib.pbkdf2_hmac from Python 3 per
+PEP 466.
+
+..
+
+.. bpo: 11709
+.. date: 9356
+.. nonce: JdObvL
+.. section: Library
+
+Fix the pydoc.help function to not fail when sys.stdin is not a valid file.
+
+..
+
+.. bpo: 13223
+.. date: 9355
+.. nonce: 9AzEbN
+.. section: Library
+
+Fix pydoc.writedoc so that the HTML documentation for methods that use
+'self' in the example code is generated correctly.
+
+..
+
+.. bpo: 21552
+.. date: 9354
+.. nonce: uVy4tM
+.. section: Library
+
+Fixed possible integer overflow of too long string lengths in the tkinter
+module on 64-bit platforms.
+
+..
+
+.. bpo: 14315
+.. date: 9353
+.. nonce: YzZzS8
+.. section: Library
+
+The zipfile module now ignores extra fields in the central directory that
+are too short to be parsed instead of letting a struct.unpack error bubble
+up as this "bad data" appears in many real world zip files in the wild and
+is ignored by other zip tools.
+
+..
+
+.. bpo: 21402
+.. date: 9352
+.. nonce: GuVy1L
+.. section: Library
+
+Tkinter.ttk now works when default root window is not set.
+
+..
+
+.. bpo: 10203
+.. date: 9351
+.. nonce: gERvVk
+.. section: Library
+
+sqlite3.Row now truly supports sequence protocol.  In particulr it supports
+reverse() and negative indices.  Original patch by Claudiu Popa.
+
+..
+
+.. bpo: 8743
+.. date: 9350
+.. nonce: I6_2r3
+.. section: Library
+
+Fix interoperability between set objects and the collections.Set() abstract
+base class.
+
+..
+
+.. bpo: 21481
+.. date: 9349
+.. nonce: YDrlf7
+.. section: Library
+
+Argparse equality and inequality tests now return NotImplemented when
+comparing to an unknown type.
+
+..
+
+.. bpo: 21940
+.. date: 9348
+.. nonce: VlIRz7
+.. section: IDLE
+
+Add unittest for WidgetRedirector. Initial patch by Saimadhav Heblikar.
+
+..
+
+.. bpo: 18592
+.. date: 9347
+.. nonce: sMG-SZ
+.. section: IDLE
+
+Add unittest for SearchDialogBase. Patch by Phil Webster.
+
+..
+
+.. bpo: 21694
+.. date: 9346
+.. nonce: 1oLmRo
+.. section: IDLE
+
+Add unittest for ParenMatch. Patch by Saimadhav Heblikar.
+
+..
+
+.. bpo: 21686
+.. date: 9345
+.. nonce: TAkFB0
+.. section: IDLE
+
+add unittest for HyperParser. Original patch by Saimadhav Heblikar.
+
+..
+
+.. bpo: 12387
+.. date: 9344
+.. nonce: XO7Ozk
+.. section: IDLE
+
+Add missing upper(lower)case versions of default Windows key bindings for
+Idle so Caps Lock does not disable them. Patch by Roger Serwy.
+
+..
+
+.. bpo: 21695
+.. date: 9343
+.. nonce: g-t0Tm
+.. section: IDLE
+
+Closing a Find-in-files output window while the search is still in progress
+no longer closes Idle.
+
+..
+
+.. bpo: 18910
+.. date: 9342
+.. nonce: ke8lMK
+.. section: IDLE
+
+Add unittest for textView. Patch by Phil Webster.
+
+..
+
+.. bpo: 18292
+.. date: 9341
+.. nonce: ks_3wm
+.. section: IDLE
+
+Add unittest for AutoExpand. Patch by Saihadhav Heblikar.
+
+..
+
+.. bpo: 18409
+.. date: 9340
+.. nonce: 7fe-aK
+.. section: IDLE
+
+Add unittest for AutoComplete. Patch by Phil Webster.
+
+..
+
+.. bpo: 20155
+.. date: 9339
+.. nonce: nphzS3
+.. section: Tests
+
+Changed HTTP method names in failing tests in test_httpservers so that
+packet filtering software (specifically Windows Base Filtering Engine) does
+not interfere with the transaction semantics expected by the tests.
+
+..
+
+.. bpo: 19493
+.. date: 9338
+.. nonce: SwbzLQ
+.. section: Tests
+
+Refactored the ctypes test package to skip tests explicitly rather than
+silently.
+
+..
+
+.. bpo: 18492
+.. date: 9337
+.. nonce: ylPRU7
+.. section: Tests
+
+All resources are now allowed when tests are not run by regrtest.py.
+
+..
+
+.. bpo: 21605
+.. date: 9336
+.. nonce: qsLV8d
+.. section: Tests
+
+Added tests for Tkinter images.
+
+..
+
+.. bpo: 21493
+.. date: 9335
+.. nonce: NqhRsy
+.. section: Tests
+
+Added test for ntpath.expanduser().  Original patch by Claudiu Popa.
+
+..
+
+.. bpo: 19925
+.. date: 9334
+.. nonce: dhMx08
+.. section: Tests
+
+Added tests for the spwd module. Original patch by Vajrasky Kok.
+
+..
+
+.. bpo: 13355
+.. date: 9333
+.. nonce: gCByXK
+.. section: Tests
+
+random.triangular() no longer fails with a ZeroDivisionError when low equals
+high.
+
+..
+
+.. bpo: 21522
+.. date: 9332
+.. nonce: b-VwFW
+.. section: Tests
+
+Added Tkinter tests for Listbox.itemconfigure(),
+PanedWindow.paneconfigure(), and Menu.entryconfigure().
+
+..
+
+.. bpo: 20635
+.. date: 9331
+.. nonce: mzWmoS
+.. section: Tests
+
+Added tests for Tk geometry managers.
+
+..
+
+.. bpo: 21811
+.. date: 9330
+.. nonce: 3_Xyr-
+.. section: Build
+
+Anticipated fixes to support OS X versions > 10.9.
+
+..
+
+.. bpo: 21671
+.. date: 9329
+.. nonce: sm-hhO
+.. section: Windows
+
+The bundled version of OpenSSL has been updated to 1.0.1h. (See also:
+CVE-2014-0224)
diff --git a/Misc/NEWS.d/2.7.9.rst b/Misc/NEWS.d/2.7.9.rst
new file mode 100644
index 0000000..15cbfe9
--- /dev/null
+++ b/Misc/NEWS.d/2.7.9.rst
@@ -0,0 +1,65 @@
+.. bpo: 22959
+.. date: 9494
+.. nonce: FioVGu
+.. release date: 2014-12-10
+.. section: Library
+
+Remove the *check_hostname* parameter of httplib.HTTPSConnection. The
+*context* parameter should be used instead.
+
+..
+
+.. bpo: 16043
+.. date: 9493
+.. nonce: TGIC7t
+.. section: Library
+
+Add a default limit for the amount of data xmlrpclib.gzip_decode will
+return. This resolves CVE-2013-1753.
+
+..
+
+.. bpo: 16042
+.. date: 9492
+.. nonce: 7I3FPy
+.. section: Library
+
+CVE-2013-1752: smtplib: Limit amount of data read by limiting the call to
+readline().  Original patch by Christian Heimes.
+
+..
+
+.. bpo: 16041
+.. date: 9491
+.. nonce: TyhfVi
+.. section: Library
+
+In poplib, limit maximum line length read from the server to prevent
+CVE-2013-1752.
+
+..
+
+.. bpo: 22960
+.. date: 9490
+.. nonce: J-KiZ3
+.. section: Library
+
+Add a context argument to xmlrpclib.ServerProxy.
+
+..
+
+.. bpo: 22935
+.. date: 9489
+.. nonce: -vY3lc
+.. section: Build
+
+Allow the ssl module to be compiled if openssl doesn't support SSL 3.
+
+..
+
+.. bpo: 17128
+.. date: 9488
+.. nonce: JMdOBP
+.. section: Build
+
+Use private version of OpenSSL for 2.7.9 OS X 10.5+ installer.
diff --git a/Misc/NEWS.d/2.7.9rc1.rst b/Misc/NEWS.d/2.7.9rc1.rst
new file mode 100644
index 0000000..45782bd
--- /dev/null
+++ b/Misc/NEWS.d/2.7.9rc1.rst
@@ -0,0 +1,1124 @@
+.. bpo: 21963
+.. date: 9487
+.. nonce: eUwKx1
+.. release date: 2014-11-25
+.. section: Core and Builtins
+
+backout issue #1856 patch (avoid crashes and lockups when daemon threads run
+while the interpreter is shutting down; instead, these threads are now
+killed when they try to take the GIL), as it seems to break some existing
+code.
+
+..
+
+.. bpo: 22604
+.. date: 9486
+.. nonce: yii-It
+.. section: Core and Builtins
+
+Fix assertion error in debug mode when dividing a complex number by
+(nan+0j).
+
+..
+
+.. bpo: 22470
+.. date: 9485
+.. nonce: Lc7ZPK
+.. section: Core and Builtins
+
+Fixed integer overflow issues in "backslashreplace" and "xmlcharrefreplace"
+error handlers.
+
+..
+
+.. bpo: 22526
+.. date: 9484
+.. nonce: Oc9lar
+.. section: Core and Builtins
+
+Fix iterating through files with lines longer than 2^31 bytes.
+
+..
+
+.. bpo: 22519
+.. date: 9483
+.. nonce: zTlQLy
+.. section: Core and Builtins
+
+Fix overflow checking in PyString_Repr.
+
+..
+
+.. bpo: 22518
+.. date: 9482
+.. nonce: C9T6ed
+.. section: Core and Builtins
+
+Fix integer overflow issues in latin-1 encoding.
+
+..
+
+.. bpo: 22379
+.. date: 9481
+.. nonce: 4_3Ge-
+.. section: Core and Builtins
+
+Fix empty exception message in a TypeError raised in ``str.join``.
+
+..
+
+.. bpo: 22221
+.. date: 9480
+.. nonce: t0BE8h
+.. section: Core and Builtins
+
+Now the source encoding declaration on the second line isn't effective if
+the first line contains anything except a comment.
+
+..
+
+.. bpo: 22023
+.. date: 9479
+.. nonce: id5Xei
+.. section: Core and Builtins
+
+Fix ``%S``, ``%R`` and ``%V`` formats of :c:func:`PyUnicode_FromFormat`.
+
+..
+
+.. bpo: 21591
+.. date: 9478
+.. nonce: hJVYlf
+.. section: Core and Builtins
+
+Correctly handle qualified exec statements in tuple form by moving
+compatibility layer from run-time to AST transformation.
+
+..
+
+.. bpo: 22417
+.. date: 9477
+.. nonce: To4b7U
+.. section: Library
+
+Verify certificates by default in httplib (PEP 476).
+
+..
+
+.. bpo: 22927
+.. date: 9476
+.. nonce: TKaKOP
+.. section: Library
+
+Allow urllib.urlopen to take a *context* parameter to control SSL settings
+for HTTPS connections.
+
+..
+
+.. bpo: 22921
+.. date: 9475
+.. nonce: a4wx1C
+.. section: Library
+
+Allow SSLContext to take the *hostname* parameter even if OpenSSL doesn't
+support SNI.
+
+..
+
+.. bpo: 9003
+.. date: 9474
+.. nonce: VCncsy
+.. section: Library
+
+httplib.HTTPSConnection, urllib2.HTTPSHandler and urllib2.urlopen now take
+optional arguments to allow for server certificate checking, as recommended
+in public uses of HTTPS. This backport is part of PEP 467. (See also:
+bpo-22366)
+
+..
+
+.. bpo: 12728
+.. date: 9473
+.. nonce: rHZmXO
+.. section: Library
+
+Different Unicode characters having the same uppercase but different
+lowercase are now matched in case-insensitive regular expressions.
+
+..
+
+.. bpo: 22821
+.. date: 9472
+.. nonce: 30cQ-U
+.. section: Library
+
+Fixed fcntl() with integer argument on 64-bit big-endian platforms.
+
+..
+
+.. bpo: 17293
+.. date: 9471
+.. nonce: Hk06bO
+.. section: Library
+
+uuid.getnode() now determines MAC address on AIX using netstat. Based on
+patch by Aivars Kalvāns.
+
+..
+
+.. bpo: 22769
+.. date: 9470
+.. nonce: PunnvQ
+.. section: Library
+
+Fixed ttk.Treeview.tag_has() when called without arguments.
+
+..
+
+.. bpo: 22787
+.. date: 9469
+.. nonce: QIzbnh
+.. section: Library
+
+Allow the keyfile argument of SSLContext.load_cert_chain to be None.
+
+..
+
+.. bpo: 22775
+.. date: 9468
+.. nonce: 9X-KKA
+.. section: Library
+
+Fixed unpickling of Cookie.SimpleCookie with protocol 2. Patch by Tim
+Graham.
+
+..
+
+.. bpo: 22776
+.. date: 9467
+.. nonce: xNcRse
+.. section: Library
+
+Brought excluded code into the scope of a try block in SysLogHandler.emit().
+
+..
+
+.. bpo: 17381
+.. date: 9466
+.. nonce: IrcC9I
+.. section: Library
+
+Fixed ranges handling in case-insensitive regular expressions.
+
+..
+
+.. bpo: 19329
+.. date: 9465
+.. nonce: f3o3tr
+.. section: Library
+
+Optimized compiling charsets in regular expressions.
+
+..
+
+.. bpo: 22410
+.. date: 9464
+.. nonce: 99YFdd
+.. section: Library
+
+Module level functions in the re module now cache compiled locale-dependent
+regular expressions taking into account the locale.
+
+..
+
+.. bpo: 8876
+.. date: 9463
+.. nonce: A83Av4
+.. section: Library
+
+distutils now falls back to copying files when hard linking doesn't work.
+This allows use with special filesystems such as VirtualBox shared folders.
+
+..
+
+.. bpo: 9351
+.. date: 9462
+.. nonce: u5UI-6
+.. section: Library
+
+Defaults set with set_defaults on an argparse subparser are no longer
+ignored when also set on the parent parser.
+
+..
+
+.. bpo: 20421
+.. date: 9461
+.. nonce: iR0S1s
+.. section: Library
+
+Add a .version() method to SSL sockets exposing the actual protocol version
+in use.
+
+..
+
+.. bpo: 22435
+.. date: 9460
+.. nonce: Mrmeio
+.. section: Library
+
+Fix a file descriptor leak when SocketServer bind fails.
+
+..
+
+.. bpo: 13664
+.. date: 9459
+.. nonce: tjVs9o
+.. section: Library
+
+GzipFile now supports non-ascii Unicode filenames.
+
+..
+
+.. bpo: 13096
+.. date: 9458
+.. nonce: rsailB
+.. section: Library
+
+Fixed segfault in CTypes POINTER handling of large values.
+
+..
+
+.. bpo: 11694
+.. date: 9457
+.. nonce: JuDrch
+.. section: Library
+
+Raise ConversionError in xdrlib as documented.  Patch by Filip Gruszczyński
+and Claudiu Popa.
+
+..
+
+.. bpo: 1686
+.. date: 9456
+.. nonce: -w9zEU
+.. section: Library
+
+Fix string.Template when overriding the pattern attribute.
+
+..
+
+.. bpo: 11866
+.. date: 9455
+.. nonce: xrvbIC
+.. section: Library
+
+Eliminated race condition in the computation of names for new threads.
+
+..
+
+.. bpo: 22219
+.. date: 9454
+.. nonce: l9Enh9
+.. section: Library
+
+The zipfile module CLI now adds entries for directories (including empty
+directories) in ZIP file.
+
+..
+
+.. bpo: 22449
+.. date: 9453
+.. nonce: nFW_Fl
+.. section: Library
+
+In the ssl.SSLContext.load_default_certs, consult the environmental
+variables SSL_CERT_DIR and SSL_CERT_FILE on Windows.
+
+..
+
+.. bpo: 8473
+.. date: 9452
+.. nonce: QcfDba
+.. section: Library
+
+doctest.testfile now uses universal newline mode to read the test file.
+
+..
+
+.. bpo: 20076
+.. date: 9451
+.. nonce: -7OIVB
+.. section: Library
+
+Added non derived UTF-8 aliases to locale aliases table.
+
+..
+
+.. bpo: 20079
+.. date: 9450
+.. nonce: qM949O
+.. section: Library
+
+Added locales supported in glibc 2.18 to locale alias table.
+
+..
+
+.. bpo: 22530
+.. date: 9449
+.. nonce: 4EcK4x
+.. section: Library
+
+Allow the ``group()`` method of regular expression match objects to take a
+``long`` as an index.
+
+..
+
+.. bpo: 22517
+.. date: 9448
+.. nonce: qT6-aB
+.. section: Library
+
+When an io.BufferedRWPair object is deallocated, clear its weakrefs.
+
+..
+
+.. bpo: 10510
+.. date: 9447
+.. nonce: N-ntcD
+.. section: Library
+
+distutils register and upload methods now use HTML standards compliant CRLF
+line endings.
+
+..
+
+.. bpo: 9850
+.. date: 9446
+.. nonce: D-UnVi
+.. section: Library
+
+Fixed macpath.join() for empty first component.  Patch by Oleg Oshmyan.
+
+..
+
+.. bpo: 20912
+.. date: 9445
+.. nonce: cAq3mZ
+.. section: Library
+
+Now directories added to ZIP file have correct Unix and MS-DOS directory
+attributes.
+
+..
+
+.. bpo: 21866
+.. date: 9444
+.. nonce: hSc4wM
+.. section: Library
+
+ZipFile.close() no longer writes ZIP64 central directory records if
+allowZip64 is false.
+
+..
+
+.. bpo: 22415
+.. date: 9443
+.. nonce: VKFghV
+.. section: Library
+
+Fixed debugging output of the GROUPREF_EXISTS opcode in the re module.
+
+..
+
+.. bpo: 22423
+.. date: 9442
+.. nonce: Rtb4oT
+.. section: Library
+
+Unhandled exception in thread no longer causes unhandled AttributeError when
+sys.stderr is None.
+
+..
+
+.. bpo: 22419
+.. date: 9441
+.. nonce: FqH4aC
+.. section: Library
+
+Limit the length of incoming HTTP request in wsgiref server to 65536 bytes
+and send a 414 error code for higher lengths. Patch contributed by Devin
+Cook.
+
+..
+
+.. bpo: 0
+.. date: 9440
+.. nonce: y7r3O2
+.. section: Library
+
+Lax cookie parsing in http.cookies could be a security issue when combined
+with non-standard cookie handling in some Web browsers.  Reported by Sergey
+Bobrov.
+
+..
+
+.. bpo: 21147
+.. date: 9439
+.. nonce: w9DE17
+.. section: Library
+
+sqlite3 now raises an exception if the request contains a null character
+instead of truncating it.  Based on patch by Victor Stinner.
+
+..
+
+.. bpo: 21951
+.. date: 9438
+.. nonce: 3vS4LK
+.. section: Library
+
+Fixed a crash in Tkinter on AIX when called Tcl command with empty string or
+tuple argument.
+
+..
+
+.. bpo: 21951
+.. date: 9437
+.. nonce: _CCC4v
+.. section: Library
+
+Tkinter now most likely raises MemoryError instead of crash if the memory
+allocation fails.
+
+..
+
+.. bpo: 22226
+.. date: 9436
+.. nonce: T1ZMPY
+.. section: Library
+
+First letter no longer is stripped from the "status" key in the result of
+Treeview.heading().
+
+..
+
+.. bpo: 22051
+.. date: 9435
+.. nonce: cUjFqL
+.. section: Library
+
+turtledemo no longer reloads examples to re-run them. Initialization of
+variables and gui setup should be done in main(), which is called each time
+a demo is run, but not on import.
+
+..
+
+.. bpo: 21597
+.. date: 9434
+.. nonce: aPTCWJ
+.. section: Library
+
+The separator between the turtledemo text pane and the drawing canvas can
+now be grabbed and dragged with a mouse.  The code text pane can be widened
+to easily view or copy the full width of the text.  The canvas can be
+widened on small screens.  Original patches by Jan Kanis and Lita Cho.
+
+..
+
+.. bpo: 18132
+.. date: 9433
+.. nonce: 2R2nwM
+.. section: Library
+
+Turtledemo buttons no longer disappear when the window is shrunk.  Original
+patches by Jan Kanis and Lita Cho.
+
+..
+
+.. bpo: 22312
+.. date: 9432
+.. nonce: WP13o8
+.. section: Library
+
+Fix ntpath.splitdrive IndexError.
+
+..
+
+.. bpo: 22216
+.. date: 9431
+.. nonce: Cmalu6
+.. section: Library
+
+smtplib now resets its state more completely after a quit.  The most obvious
+consequence of the previous behavior was a STARTTLS failure during a
+connect/starttls/quit/connect/starttls sequence.
+
+..
+
+.. bpo: 21305
+.. date: 9430
+.. nonce: Fl8I5B
+.. section: Library
+
+os.urandom now caches a fd to /dev/urandom. This is a PEP 466 backport from
+Python 3.
+
+..
+
+.. bpo: 21307
+.. date: 9429
+.. nonce: U7iiqX
+.. section: Library
+
+As part of PEP 466, backport hashlib.algorithms_guaranteed and
+hashlib.algorithms_available.
+
+..
+
+.. bpo: 22259
+.. date: 9428
+.. nonce: 6v9wLm
+.. section: Library
+
+Fix segfault when attempting to fopen a file descriptor corresponding to a
+directory.
+
+..
+
+.. bpo: 22236
+.. date: 9427
+.. nonce: 1utXkg
+.. section: Library
+
+Fixed Tkinter images copying operations in NoDefaultRoot mode.
+
+..
+
+.. bpo: 22191
+.. date: 9426
+.. nonce: 1K-CmD
+.. section: Library
+
+Fixed warnings.__all__.
+
+..
+
+.. bpo: 21308
+.. date: 9425
+.. nonce: _z9b8i
+.. section: Library
+
+Backport numerous features from Python's ssl module. This is part of PEP
+466.
+
+..
+
+.. bpo: 15696
+.. date: 9424
+.. nonce: PTwXYJ
+.. section: Library
+
+Add a __sizeof__ implementation for mmap objects on Windows.
+
+..
+
+.. bpo: 8797
+.. date: 9423
+.. nonce: aJcIPu
+.. section: Library
+
+Raise HTTPError on failed Basic Authentication immediately. Initial patch by
+Sam Bull.
+
+..
+
+.. bpo: 22068
+.. date: 9422
+.. nonce: wCdaW0
+.. section: Library
+
+Avoided reference loops with Variables and Fonts in Tkinter.
+
+..
+
+.. bpo: 21448
+.. date: 9421
+.. nonce: THJSYB
+.. section: Library
+
+Changed FeedParser feed() to avoid O(N**2) behavior when parsing long line.
+Original patch by Raymond Hettinger.
+
+..
+
+.. bpo: 17923
+.. date: 9420
+.. nonce: YI_QjG
+.. section: Library
+
+glob() patterns ending with a slash no longer match non-dirs on AIX.  Based
+on patch by Delhallt.
+
+..
+
+.. bpo: 21975
+.. date: 9419
+.. nonce: MI8ntO
+.. section: Library
+
+Fixed crash when using uninitialized sqlite3.Row (in particular when
+unpickling pickled sqlite3.Row).  sqlite3.Row is now initialized in the
+__new__() method.
+
+..
+
+.. bpo: 16037
+.. date: 9418
+.. nonce: q6A9-W
+.. section: Library
+
+HTTPMessage.readheaders() raises an HTTPException when more than 100 headers
+are read. Patch by Jyrki Pulliainen and Daniel Eriksson.
+
+..
+
+.. bpo: 21580
+.. date: 9417
+.. nonce: BUIf7o
+.. section: Library
+
+Now Tkinter correctly handles binary "data" and "maskdata" configure options
+of tkinter.PhotoImage.
+
+..
+
+.. bpo: 19612
+.. date: 9416
+.. nonce: xvU6AH
+.. section: Library
+
+subprocess.communicate() now also ignores EINVAL when using at least two
+pipes.
+
+..
+
+.. bpo: 0
+.. date: 9415
+.. nonce: aDlT3j
+.. section: Library
+
+Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError on
+closed socket.
+
+..
+
+.. bpo: 16133
+.. date: 9414
+.. nonce: 6cKWd2
+.. section: Library
+
+The asynchat.async_chat.handle_read() method now ignores socket.error()
+exceptions with blocking I/O errors: EAGAIN, EALREADY, EINPROGRESS, or
+EWOULDBLOCK.
+
+..
+
+.. bpo: 21990
+.. date: 9413
+.. nonce: _lujpf
+.. section: Library
+
+Clean-up unnecessary and slow inner class definition in saxutils
+(Contributed by Alex Gaynor).
+
+..
+
+.. bpo: 1730136
+.. date: 9412
+.. nonce: sqWp2M
+.. section: Library
+
+Fix the comparison between a tkFont.Font and an object of another kind.
+
+..
+
+.. bpo: 19884
+.. date: 9411
+.. nonce: 6cbo0V
+.. section: Library
+
+readline: Disable the meta modifier key if stdout is not a terminal to not
+write the ANSI sequence "\033[1034h" into stdout. This sequence is used on
+some terminal (ex: TERM=xterm-256color") to enable support of 8 bit
+characters.
+
+..
+
+.. bpo: 22017
+.. date: 9410
+.. nonce: BojGgr
+.. section: Library
+
+Correct reference counting error in the initialization of the _warnings
+module.
+
+..
+
+.. bpo: 21868
+.. date: 9409
+.. nonce: q_ZIvF
+.. section: Library
+
+Prevent turtle crash when undo buffer set to a value less than one.
+
+..
+
+.. bpo: 21151
+.. date: 9408
+.. nonce: T7tb9Q
+.. section: Library
+
+Fixed a segfault in the _winreg module when ``None`` is passed as a
+``REG_BINARY`` value to SetValueEx.  Patch by John Ehresman.
+
+..
+
+.. bpo: 21090
+.. date: 9407
+.. nonce: 20Ooif
+.. section: Library
+
+io.FileIO.readall() does not ignore I/O errors anymore. Before, it ignored
+I/O errors if at least the first C call read() succeed.
+
+..
+
+.. bpo: 19870
+.. date: 9406
+.. nonce: 3QBvmj
+.. section: Library
+
+BaseCookie now parses 'secure' and 'httponly' flags. Backport of issue
+#16611.
+
+..
+
+.. bpo: 21923
+.. date: 9405
+.. nonce: hXnoZa
+.. section: Library
+
+Prevent AttributeError in distutils.sysconfig.customize_compiler due to
+possible uninitialized _config_vars.
+
+..
+
+.. bpo: 21323
+.. date: 9404
+.. nonce: yRf1v6
+.. section: Library
+
+Fix CGIHTTPServer to again handle scripts in CGI subdirectories, broken by
+the fix for security issue #19435.  Patch by Zach Byrne.
+
+..
+
+.. bpo: 22199
+.. date: 9403
+.. nonce: SIwKds
+.. section: Library
+
+Make get_makefile_filename() available in Lib/sysconfig.py for 2.7 to match
+other versions of sysconfig.
+
+..
+
+.. bpo: 3068
+.. date: 9402
+.. nonce: TYjXTA
+.. section: IDLE
+
+Add Idle extension configuration dialog to Options menu. Changes are written
+to HOME/.idlerc/config-extensions.cfg. Original patch by Tal Einat.
+
+..
+
+.. bpo: 16233
+.. date: 9401
+.. nonce: sOadNo
+.. section: IDLE
+
+A module browser (File : Class Browser, Alt+C) requires an editor window
+with a filename.  When Class Browser is requested otherwise, from a shell,
+output window, or 'Untitled' editor, Idle no longer displays an error box.
+It now pops up an Open Module box (Alt+M). If a valid name is entered and a
+module is opened, a corresponding browser is also opened.
+
+..
+
+.. bpo: 4832
+.. date: 9400
+.. nonce: GRKi9M
+.. section: IDLE
+
+Save As to type Python files automatically adds .py to the name you enter
+(even if your system does not display it).  Some systems automatically add
+.txt when type is Text files.
+
+..
+
+.. bpo: 21986
+.. date: 9399
+.. nonce: 04GUv2
+.. section: IDLE
+
+Code objects are not normally pickled by the pickle module. To match this,
+they are no longer pickled when running under Idle.
+
+..
+
+.. bpo: 22221
+.. date: 9398
+.. nonce: d87SuA
+.. section: IDLE
+
+IDLE now ignores the source encoding declaration on the second line if the
+first line contains anything except a comment.
+
+..
+
+.. bpo: 17390
+.. date: 9397
+.. nonce: I4vHFh
+.. section: IDLE
+
+Adjust Editor window title; remove 'Python', move version to end.
+
+..
+
+.. bpo: 14105
+.. date: 9396
+.. nonce: -FZwYH
+.. section: IDLE
+
+Idle debugger breakpoints no longer disappear when inserting or deleting
+lines.
+
+..
+
+.. bpo: 22381
+.. date: 9395
+.. nonce: 6ngdZW
+.. section: Library
+
+Update zlib to 1.2.8.
+
+..
+
+.. bpo: 22176
+.. date: 9394
+.. nonce: rgbRyg
+.. section: Library
+
+Update the ctypes module's libffi to v3.1.  This release adds support for
+the Linux AArch64 and POWERPC ELF ABIv2 little endian architectures.
+
+..
+
+.. bpo: 10712
+.. date: 9393
+.. nonce: rnd0oc
+.. section: Tools/Demos
+
+2to3 has a new "asserts" fixer that replaces deprecated names of unittest
+methods (e.g. failUnlessEqual -> assertEqual).
+
+..
+
+.. bpo: 22221
+.. date: 9392
+.. nonce: vONLqA
+.. section: Tools/Demos
+
+2to3 and the findnocoding.py script now ignore the source encoding
+declaration on the second line if the first line contains anything except a
+comment.
+
+..
+
+.. bpo: 22201
+.. date: 9391
+.. nonce: k1Awbh
+.. section: Tools/Demos
+
+Command-line interface of the zipfile module now correctly extracts ZIP
+files with directory entries.  Patch by Ryan Wilson.
+
+..
+
+.. bpo: 22236
+.. date: 9390
+.. nonce: ginJSI
+.. section: Tests
+
+Tkinter tests now don't reuse default root window.  New root window is
+created for every test class.
+
+..
+
+.. bpo: 18004
+.. date: 9389
+.. nonce: jPXten
+.. section: Tests
+
+test_overflow in test_list by mistake consumed 40 GiB of memory on 64-bit
+systems.
+
+..
+
+.. bpo: 21976
+.. date: 9388
+.. nonce: Slq6se
+.. section: Tests
+
+Fix test_ssl to accept LibreSSL version strings.  Thanks to William Orr.
+
+..
+
+.. bpo: 22770
+.. date: 9387
+.. nonce: FxAh91
+.. section: Tests
+
+Prevent some Tk segfaults on OS X when running gui tests.
+
+..
+
+.. bpo: 20221
+.. date: 9386
+.. nonce: _yAetK
+.. section: Build
+
+Removed conflicting (or circular) hypot definition when compiled with VS
+2010 or above.  Initial patch by Tabrez Mohammed.
+
+..
+
+.. bpo: 16537
+.. date: 9385
+.. nonce: llFo71
+.. section: Build
+
+Check whether self.extensions is empty in setup.py. Patch by Jonathan
+Hosmer.
+
+..
+
+.. bpo: 0
+.. date: 9384
+.. nonce: YZUllw
+.. section: Build
+
+The documentation Makefile no longer automatically downloads Sphinx. Users
+are now required to have Sphinx already installed to build the
+documentation.
+
+..
+
+.. bpo: 21958
+.. date: 9383
+.. nonce: 3rq4qR
+.. section: Build
+
+Define HAVE_ROUND when building with Visual Studio 2013 and above.  Patch by
+Zachary Turner.
+
+..
+
+.. bpo: 15759
+.. date: 9382
+.. nonce: iGLR6O
+.. section: Build
+
+"make suspicious", "make linkcheck" and "make doctest" in Doc/ now display
+special message when and only when there are failures.
+
+..
+
+.. bpo: 21166
+.. date: 9381
+.. nonce: KAl7aO
+.. section: Build
+
+Prevent possible segfaults and other random failures of python --generate-
+posix-vars in pybuilddir.txt build target.
+
+..
+
+.. bpo: 18096
+.. date: 9380
+.. nonce: ELyAUJ
+.. section: Build
+
+Fix library order returned by python-config.
+
+..
+
+.. bpo: 17219
+.. date: 9379
+.. nonce: q8ueQ0
+.. section: Build
+
+Add library build dir for Python extension cross-builds.
+
+..
+
+.. bpo: 22877
+.. date: 9378
+.. nonce: nq_snR
+.. section: Build
+
+PEP 477 - OS X installer now installs pip.
+
+..
+
+.. bpo: 22878
+.. date: 9377
+.. nonce: y4UnOy
+.. section: Build
+
+PEP 477 - "make install" and "make altinstall" can now install or upgrade
+pip, using the bundled pip provided by the backported ensurepip module.  A
+configure option, --with-ensurepip[=upgrade|install|no], is available to set
+the option for subsequent installs; the default for Python 2 in "no" (do not
+install or upgrade pip).  The option can also be set with "make [alt]install
+ENSUREPIP=[upgrade|install|no]".
+
+..
+
+.. bpo: 17896
+.. date: 9376
+.. nonce: o79rHM
+.. section: Windows
+
+The Windows build scripts now expect external library sources to be in
+``PCbuild\..\externals`` rather than ``PCbuild\..\..``.
+
+..
+
+.. bpo: 17717
+.. date: 9375
+.. nonce: y1zoye
+.. section: Windows
+
+The Windows build scripts now use a copy of NASM pulled from svn.python.org
+to build OpenSSL.
+
+..
+
+.. bpo: 22644
+.. date: 9374
+.. nonce: gosBki
+.. section: Windows
+
+The bundled version of OpenSSL has been updated to 1.0.1j.
diff --git a/Misc/NEWS.d/2.7.rst b/Misc/NEWS.d/2.7.rst
new file mode 100644
index 0000000..fad0537
--- /dev/null
+++ b/Misc/NEWS.d/2.7.rst
@@ -0,0 +1,46 @@
+.. bpo: 0
+.. date: 8096
+.. nonce: HgSXMh
+.. release date: 2010-07-03
+.. section: Core and Builtins
+
+Prevent assignment to set literals.
+
+..
+
+.. bpo: 1868
+.. date: 8095
+.. nonce: 8rTkvC
+.. section: Library
+
+Eliminate subtle timing issues in thread-local objects by getting rid of the
+cached copy of thread-local attribute dictionary.
+
+..
+
+.. bpo: 9125
+.. date: 8094
+.. nonce: bm97Ws
+.. section: Library
+
+Add recognition of 'except ... as ...' syntax to parser module.
+
+..
+
+.. bpo: 7673
+.. date: 8093
+.. nonce: cDxsD2
+.. section: Library
+
+Fix security vulnerability (CVE-2010-2089) in the audioop module, ensure
+that the input string length is a multiple of the frame size.
+
+..
+
+.. bpo: 9075
+.. date: 8092
+.. nonce: kvxac2
+.. section: Library
+
+In the ssl module, remove the setting of a ``debug`` flag on an OpenSSL
+structure.
diff --git a/Misc/NEWS.d/2.7a1.rst b/Misc/NEWS.d/2.7a1.rst
new file mode 100644
index 0000000..5d0f99c
--- /dev/null
+++ b/Misc/NEWS.d/2.7a1.rst
@@ -0,0 +1,5751 @@
+.. bpo: 7419
+.. date: 7759
+.. nonce: k1cFGq
+.. release date: 2009-12-05
+.. section: Core and Builtins
+
+``locale.setlocale()`` could crash the interpreter on Windows when called
+with invalid values.
+
+..
+
+.. bpo: 3382
+.. date: 7758
+.. nonce: gtmT4T
+.. section: Core and Builtins
+
+'F' formatting for float and complex now convert the result to upper case.
+This only affects 'inf' and 'nan', since 'f' no longer converts to 'g' for
+large values.
+
+..
+
+.. bpo: 0
+.. date: 7757
+.. nonce: fw7KHO
+.. section: Core and Builtins
+
+Remove switch from "%f" formatting to "%g" formatting for floats larger than
+1e50 in absolute value.
+
+..
+
+.. bpo: 0
+.. date: 7756
+.. nonce: npJH0D
+.. section: Core and Builtins
+
+Remove restrictions on precision when formatting floats.  E.g., "%.120g" %
+1e-100 used to raise OverflowError, but now gives the requested 120
+significant digits instead.
+
+..
+
+.. bpo: 0
+.. date: 7755
+.. nonce: Z3-djS
+.. section: Core and Builtins
+
+Add Py3k warnings for parameter names in parentheses.
+
+..
+
+.. bpo: 7362
+.. date: 7754
+.. nonce: wy5JgV
+.. section: Core and Builtins
+
+Give a proper error message for ``def f((x)=3): pass``.
+
+..
+
+.. bpo: 7085
+.. date: 7753
+.. nonce: 1mo7hs
+.. section: Core and Builtins
+
+Fix crash when importing some extensions in a thread on MacOSX 10.6.
+
+..
+
+.. bpo: 7117
+.. date: 7752
+.. nonce: 3_1LKC
+.. section: Core and Builtins
+
+``repr(x)`` for a float x returns a result based on the shortest decimal
+string that's guaranteed to round back to x under correct rounding (with
+round-half-to-even rounding mode).  Previously it gave a string based on
+rounding x to 17 decimal digits.  repr(x) for a complex number behaves
+similarly.  On platforms where the correctly-rounded strtod and dtoa code is
+not supported (see below), repr is unchanged.
+
+..
+
+.. bpo: 7117
+.. date: 7751
+.. nonce: 6am3Rw
+.. section: Core and Builtins
+
+On almost all platforms: float-to-string and string-to-float conversions
+within Python are now correctly rounded.  Places these conversions occur
+include: str for floats and complex numbers; the float and complex
+constructors; old-style and new-style numeric formatting; serialization and
+deserialization of floats and complex numbers using marshal, pickle and
+json; parsing of float and imaginary literals in Python code; Decimal-to-
+float conversion.
+
+The conversions use a Python-adapted version of David Gay's well-known
+dtoa.c, providing correctly-rounded strtod and dtoa C functions.  This code
+is supported on Windows, and on Unix-like platforms using gcc, icc or suncc
+as the C compiler.  There may be a small number of platforms on which
+correct operation of this code cannot be guaranteed, so the code is not
+used: notably, this applies to platforms where the C double format is not
+IEEE 754 binary64, and to platforms on x86 hardware where the x87 FPU is set
+to 64-bit precision and Python's configure script is unable to determine how
+to change the FPU precision.  On these platforms conversions use the
+platform strtod and dtoa, as before.
+
+..
+
+.. bpo: 7117
+.. date: 7750
+.. nonce: 2KoEdA
+.. section: Core and Builtins
+
+Backport round implementation from Python 3.x.  ``round()`` now uses the
+correctly-rounded string <-> float conversions described above (when
+available), and so produces correctly rounded results that will display
+nicely under the float repr.  There are two related small changes: (1) round
+now accepts any class with an ``__index__()`` method for its second argument
+(but no longer accepts floats for the second argument), and (2) an
+excessively large second integer argument (e.g., ``round(1.234, 10**100)``)
+no longer raises an exception.
+
+..
+
+.. bpo: 1757126
+.. date: 7749
+.. nonce: W4QhUw
+.. section: Core and Builtins
+
+Fix the cyrillic-asian alias for the ptcp154 encoding.
+
+..
+
+.. bpo: 0
+.. date: 7748
+.. nonce: mZpsla
+.. section: Core and Builtins
+
+Fix several issues with ``compile()``.  The input can now contain Windows
+and Mac newlines and is no longer required to end in a newline.
+
+..
+
+.. bpo: 0
+.. date: 7747
+.. nonce: sUbwH3
+.. section: Core and Builtins
+
+Remove length limitation when constructing a complex number from a unicode
+string.
+
+..
+
+.. bpo: 7244
+.. date: 7746
+.. nonce: qAVavO
+.. section: Core and Builtins
+
+``itertools.izip_longest()`` no longer ignores exceptions raised during the
+formation of an output tuple.
+
+..
+
+.. bpo: 1087418
+.. date: 7745
+.. nonce: dyFZpg
+.. section: Core and Builtins
+
+Boost performance of bitwise operations for longs.
+
+..
+
+.. bpo: 1722344
+.. date: 7744
+.. nonce: QqabuR
+.. section: Core and Builtins
+
+``threading._shutdown()`` is now called in ``Py_Finalize()``, which fixes
+the problem of some exceptions being thrown at shutdown when the interpreter
+is killed.  Patch by Adam Olsen.
+
+..
+
+.. bpo: 7168
+.. date: 7743
+.. nonce: pYjKia
+.. section: Core and Builtins
+
+Document ``PyFloat_AsString()`` and ``PyFloat_AsReprString()``, and note
+that they are unsafe and deprecated.
+
+..
+
+.. bpo: 7120
+.. date: 7742
+.. nonce: Ft2RxW
+.. section: Core and Builtins
+
+logging: Remove import of multiprocessing which is causing crash in GAE.
+
+..
+
+.. bpo: 7140
+.. date: 7741
+.. nonce: KNTZLI
+.. section: Core and Builtins
+
+The ``__dict__`` of a module should not be cleared unless the module is the
+only object holding a reference to it.
+
+..
+
+.. bpo: 1754094
+.. date: 7740
+.. nonce: I0gQmd
+.. section: Core and Builtins
+
+Improve the stack depth calculation in the compiler.  There should be no
+other effect than a small decrease in memory use.  Patch by Christopher Tur
+Lesniewski-Laas.
+
+..
+
+.. bpo: 7084
+.. date: 7739
+.. nonce: kUk5-B
+.. section: Core and Builtins
+
+Fix a (very unlikely) crash when printing a list from one thread, and
+mutating it from another one.  Patch by Scott Dial.
+
+..
+
+.. bpo: 1571184
+.. date: 7738
+.. nonce: EqTH98
+.. section: Core and Builtins
+
+The Unicode database contains properties for more characters. The tables for
+code points representing numeric values, white spaces or line breaks are now
+generated from the official Unicode Character Database files, and include
+information from the Unihan.txt file.
+
+..
+
+.. bpo: 7050
+.. date: 7737
+.. nonce: DM5jYL
+.. section: Core and Builtins
+
+Fix a SystemError when trying to use unpacking and augmented assignment.
+
+..
+
+.. bpo: 5329
+.. date: 7736
+.. nonce: bkqqa-
+.. section: Core and Builtins
+
+Fix ``os.popen*`` regression from 2.5 with commands as a sequence running
+through the shell.  Patch by Jean-Paul Calderone and Jani Hakala.
+
+..
+
+.. bpo: 7019
+.. date: 7735
+.. nonce: sCk9wW
+.. section: Core and Builtins
+
+Raise ValueError when unmarshalling bad long data, instead of producing
+internally inconsistent Python longs.
+
+..
+
+.. bpo: 6990
+.. date: 7734
+.. nonce: 19LcUf
+.. section: Core and Builtins
+
+Fix ``threading.local`` subclasses leaving old state around after a
+reference cycle GC which could be recycled by new locals.
+
+..
+
+.. bpo: 6300
+.. date: 7733
+.. nonce: 6gPIDy
+.. section: Core and Builtins
+
+unicode.encode, unicode.decode, str.decode, and str.encode now take keyword
+arguments.
+
+..
+
+.. bpo: 6922
+.. date: 7732
+.. nonce: _MuLB9
+.. section: Core and Builtins
+
+Fix an infinite loop when trying to decode an invalid UTF-32 stream with a
+non-raising error handler like "replace" or "ignore".
+
+..
+
+.. bpo: 6713
+.. date: 7731
+.. nonce: 89EnqN
+.. section: Core and Builtins
+
+Improve performance of base 10 int -> string and long -> string conversions.
+
+..
+
+.. bpo: 1590864
+.. date: 7730
+.. nonce: 8aex1L
+.. section: Core and Builtins
+
+Fix potential deadlock when mixing threads and fork().
+
+..
+
+.. bpo: 6844
+.. date: 7729
+.. nonce: oWxRbN
+.. section: Core and Builtins
+
+Do not emit DeprecationWarnings when accessing a "message" attribute on
+exceptions that was set explicitly.
+
+..
+
+.. bpo: 6846
+.. date: 7728
+.. nonce: q7b-Oy
+.. section: Core and Builtins
+
+Fix bug where bytearray.pop() returns negative integers.
+
+..
+
+.. bpo: 0
+.. date: 7727
+.. nonce: GQUdwf
+.. section: Core and Builtins
+
+``classmethod()`` no longer checks if its argument is callable.
+
+..
+
+.. bpo: 6750
+.. date: 7726
+.. nonce: _Pln31
+.. section: Core and Builtins
+
+A text file opened with ``io.open()`` could duplicate its output when
+writing from multiple threads at the same time.
+
+..
+
+.. bpo: 6704
+.. date: 7725
+.. nonce: OpSyKo
+.. section: Core and Builtins
+
+Improve the col_offset in AST for "for" statements with a target of tuple
+unpacking.
+
+..
+
+.. bpo: 6707
+.. date: 7724
+.. nonce: DXTwpb
+.. section: Core and Builtins
+
+``dir()`` on an uninitialized module caused a crash.
+
+..
+
+.. bpo: 6540
+.. date: 7723
+.. nonce: NsoPR8
+.. section: Core and Builtins
+
+Fixed crash for ``bytearray.translate()`` with invalid parameters.
+
+..
+
+.. bpo: 6573
+.. date: 7722
+.. nonce: VBwjtf
+.. section: Core and Builtins
+
+``set.union()`` stopped processing inputs if an instance of self occurred in
+the argument chain.
+
+..
+
+.. bpo: 1616979
+.. date: 7721
+.. nonce: YHyBWF
+.. section: Core and Builtins
+
+Added the cp720 (Arabic DOS) encoding.
+
+..
+
+.. bpo: 6070
+.. date: 7720
+.. nonce: -wC7vb
+.. section: Core and Builtins
+
+On posix platforms import no longer copies the execute bit from the .py file
+to the .pyc file if it is set.  Patch by Marco N.
+
+..
+
+.. bpo: 4618
+.. date: 7719
+.. nonce: B-bSRk
+.. section: Core and Builtins
+
+When unicode arguments are passed to ``print()``, the default separator and
+end should be unicode also.
+
+..
+
+.. bpo: 6119
+.. date: 7718
+.. nonce: 94FrLZ
+.. section: Core and Builtins
+
+Fixed an incorrect Py3k warning about order comparisons of built-in
+functions and methods.
+
+..
+
+.. bpo: 6347
+.. date: 7717
+.. nonce: VBKK7h
+.. section: Core and Builtins
+
+Include inttypes.h as well as stdint.h in pyport.h.  This fixes a build
+failure on HP-UX: int32_t and uint32_t are defined in inttypes.h instead of
+stdint.h on that platform.
+
+..
+
+.. bpo: 4856
+.. date: 7716
+.. nonce: RhxQ0Y
+.. section: Core and Builtins
+
+Remove checks for win NT.
+
+..
+
+.. bpo: 2016
+.. date: 7715
+.. nonce: ZTf6oS
+.. section: Core and Builtins
+
+Fixed a crash in a corner case where the dictionary of keyword arguments
+could be modified during the function call setup.
+
+..
+
+.. bpo: 0
+.. date: 7714
+.. nonce: uhA2zk
+.. section: Core and Builtins
+
+Removed the ipaddr module.
+
+..
+
+.. bpo: 6329
+.. date: 7713
+.. nonce: j7fwCJ
+.. section: Core and Builtins
+
+Fixed iteration for memoryview objects (it was being blocked because it
+wasn't recognized as a sequence).
+
+..
+
+.. bpo: 6289
+.. date: 7712
+.. nonce: zQqm8L
+.. section: Core and Builtins
+
+Encoding errors from ``compile()`` were being masked.
+
+..
+
+.. bpo: 0
+.. date: 7711
+.. nonce: s6jnqm
+.. section: Core and Builtins
+
+When no module is given in a relative import, the module field of the
+ImportFrom AST node is now None instead of an empty string.
+
+..
+
+.. bpo: 0
+.. date: 7710
+.. nonce: dFzVxY
+.. section: Core and Builtins
+
+Assignment to None using import statements now raises a SyntaxError.
+
+..
+
+.. bpo: 4547
+.. date: 7709
+.. nonce: 4fI3tX
+.. section: Core and Builtins
+
+When debugging a very large function, it was not always possible to update
+the lineno attribute of the current frame.
+
+..
+
+.. bpo: 5330
+.. date: 7708
+.. nonce: HPvn6G
+.. section: Core and Builtins
+
+C functions called with keyword arguments were not reported by the various
+profiling modules (profile, cProfile).  Patch by Hagen Fürstenau.
+
+..
+
+.. bpo: 5982
+.. date: 7707
+.. nonce: c_mt6_
+.. section: Core and Builtins
+
+staticmethod and classmethod now expose the wrapped function with
+``__func__``.
+
+..
+
+.. bpo: 0
+.. date: 7706
+.. nonce: w77qV4
+.. section: Core and Builtins
+
+Added support for multiple context managers in the same with-statement.
+Deprecated ``contextlib.nested()`` which is no longer needed.
+
+..
+
+.. bpo: 6101
+.. date: 7705
+.. nonce: 4tQTZX
+.. section: Core and Builtins
+
+A new opcode, SETUP_WITH, has been added to speed up the with statement and
+correctly lookup the __enter__ and __exit__ special methods.
+
+..
+
+.. bpo: 5829
+.. date: 7704
+.. nonce: Zt7a5o
+.. section: Core and Builtins
+
+complex("1e500") no longer raises OverflowError.  This makes it consistent
+with float("1e500") and interpretation of real and imaginary literals.
+
+..
+
+.. bpo: 3527
+.. date: 7703
+.. nonce: Eyqquq
+.. section: Core and Builtins
+
+Removed Py_WIN_WIDE_FILENAMES which is not used any more.
+
+..
+
+.. bpo: 0
+.. date: 7702
+.. nonce: 2yrH_o
+.. section: Core and Builtins
+
+``__instancecheck__()`` and ``__subclasscheck__()`` are now completely
+ignored on classic classes and instances.
+
+..
+
+.. bpo: 5994
+.. date: 7701
+.. nonce: woNvhx
+.. section: Core and Builtins
+
+The marshal module now has docstrings.
+
+..
+
+.. bpo: 5981
+.. date: 7700
+.. nonce: LkapH9
+.. section: Core and Builtins
+
+Fix three minor inf/nan issues in float.fromhex:
+
+(1) inf and nan strings with trailing whitespace were incorrectly rejected;
+(2) parsing of strings representing infinities and nans was locale aware;
+and (3) the interpretation of fromhex('-nan') didn't match that of
+float('-nan').
+
+..
+
+.. bpo: 5920
+.. date: 7699
+.. nonce: ZoI1xB
+.. section: Core and Builtins
+
+For ``float.__format__()``, change the behavior with the empty presentation
+type (that is, not one of 'e', 'f', 'g', or 'n') to be like 'g' but with at
+least one decimal point and with a default precision of 12. Previously, the
+behavior the same but with a default precision of 6. This more closely
+matches ``str()``, and reduces surprises when adding alignment flags to the
+empty presentation type. This also affects the new complex.__format__ in the
+same way.
+
+..
+
+.. bpo: 5890
+.. date: 7698
+.. nonce: sbCAtW
+.. section: Core and Builtins
+
+In subclasses of 'property' the __doc__ attribute was shadowed by
+classtype's, even if it was None.  property now inserts the __doc__ into the
+subclass instance __dict__.
+
+..
+
+.. bpo: 4426
+.. date: 7697
+.. nonce: Ny5_Rg
+.. section: Core and Builtins
+
+The UTF-7 decoder was too strict and didn't accept some legal sequences.
+Patch by Nick Barnes and Victor Stinner.
+
+..
+
+.. bpo: 1588
+.. date: 7696
+.. nonce: 8-XCeQ
+.. section: Core and Builtins
+
+Add complex.__format__. For example, ``format(complex(1, 2./3), '.5')`` now
+produces a sensible result.
+
+..
+
+.. bpo: 5864
+.. date: 7695
+.. nonce: UElc0c
+.. section: Core and Builtins
+
+Fix empty format code formatting for floats so that it never gives more than
+the requested number of significant digits.
+
+..
+
+.. bpo: 5793
+.. date: 7694
+.. nonce: 0DjdQj
+.. section: Core and Builtins
+
+Rationalize isdigit / isalpha / tolower, etc. Includes new Py_ISDIGIT /
+Py_ISALPHA / Py_TOLOWER, etc. in pctypes.h.
+
+..
+
+.. bpo: 4971
+.. date: 7693
+.. nonce: G5AyFS
+.. section: Core and Builtins
+
+Fix titlecase for characters that are their own titlecase, but not their own
+uppercase.
+
+..
+
+.. bpo: 5835
+.. date: 7692
+.. nonce: SBkH58
+.. section: Core and Builtins
+
+Deprecate PyOS_ascii_formatd and replace it with _PyOS_double_to_string or
+PyOS_double_to_string.
+
+..
+
+.. bpo: 5283
+.. date: 7691
+.. nonce: p_vsQP
+.. section: Core and Builtins
+
+Setting __class__ in __del__ caused a segfault.
+
+..
+
+.. bpo: 5816
+.. date: 7690
+.. nonce: 5WDdX0
+.. section: Core and Builtins
+
+``complex(repr(z))`` now recovers z exactly, even when z involves nans, infs
+or negative zeros.
+
+..
+
+.. bpo: 0
+.. date: 7689
+.. nonce: ld0JdT
+.. section: Core and Builtins
+
+Implement PEP 378, Format Specifier for Thousands Separator, for floats,
+ints, and longs.
+
+..
+
+.. bpo: 5515
+.. date: 7688
+.. nonce: H1aLcI
+.. section: Core and Builtins
+
+'n' formatting for ints, longs, and floats handles leading zero formatting
+poorly.
+
+..
+
+.. bpo: 5772
+.. date: 7687
+.. nonce: tXqVft
+.. section: Core and Builtins
+
+For float.__format__, don't add a trailing ".0" if we're using no type code
+and we have an exponent.
+
+..
+
+.. bpo: 3166
+.. date: 7686
+.. nonce: oL_y0x
+.. section: Core and Builtins
+
+Make long -> float (and int -> float) conversions correctly rounded.
+
+..
+
+.. bpo: 5787
+.. date: 7685
+.. nonce: iV1WRE
+.. section: Core and Builtins
+
+``object.__getattribute__(some_type, "__bases__")`` segfaulted on some
+built-in types.
+
+..
+
+.. bpo: 1869
+.. date: 7684
+.. nonce: cQ4HTO
+.. section: Core and Builtins
+
+Fix a couple of minor round() issues.  ``round(5e15+1)`` was giving 5e15+2;
+``round(-0.0)`` was losing the sign of the zero.
+
+..
+
+.. bpo: 5759
+.. date: 7683
+.. nonce: j3dL9W
+.. section: Core and Builtins
+
+float() didn't call __float__ on str subclasses.
+
+..
+
+.. bpo: 5704
+.. date: 7682
+.. nonce: TDk8Ck
+.. section: Core and Builtins
+
+The "-3" command-line option now implies "-t".
+
+..
+
+.. bpo: 2170
+.. date: 7681
+.. nonce: 35irN6
+.. section: Core and Builtins
+
+Refactored ``xml.dom.minidom.normalize``, increasing both its clarity and
+its speed.
+
+..
+
+.. bpo: 2396
+.. date: 7680
+.. nonce: v-oJ0Q
+.. section: Core and Builtins
+
+The memoryview object was backported from Python 3.1.
+
+..
+
+.. bpo: 0
+.. date: 7679
+.. nonce: wxbCGj
+.. section: Core and Builtins
+
+Fix a problem in PyErr_NormalizeException that leads to "undetected errors"
+when hitting the recursion limit under certain circumstances.
+
+..
+
+.. bpo: 1665206
+.. date: 7678
+.. nonce: D9xyVJ
+.. section: Core and Builtins
+
+Remove the last eager import in _warnings.c and make it lazy.
+
+..
+
+.. bpo: 4865
+.. date: 7677
+.. nonce: 9T7IVK
+.. section: Core and Builtins
+
+On MacOSX /Library/Python/2.7/site-packages is added to the end sys.path,
+for compatibility with the system install of Python.
+
+..
+
+.. bpo: 4688
+.. date: 7676
+.. nonce: k7jSS9
+.. section: Core and Builtins
+
+Add a heuristic so that tuples and dicts containing only untrackable objects
+are not tracked by the garbage collector. This can reduce the size of
+collections and therefore the garbage collection overhead on long-running
+programs, depending on their particular use of datatypes.
+
+..
+
+.. bpo: 5512
+.. date: 7675
+.. nonce: 0akWHy
+.. section: Core and Builtins
+
+Rewrite PyLong long division algorithm (x_divrem) to improve its
+performance.  Long divisions and remainder operations are now between 50%
+and 150% faster.
+
+..
+
+.. bpo: 4258
+.. date: 7674
+.. nonce: VzQaoh
+.. section: Core and Builtins
+
+Make it possible to use base 2**30 instead of base 2**15 for the internal
+representation of integers, for performance reasons.  Base 2**30 is enabled
+by default on 64-bit machines.  Add --enable-big-digits option to configure,
+which overrides the default.  Add sys.long_info structseq to provide
+information about the internal format.
+
+..
+
+.. bpo: 4034
+.. date: 7673
+.. nonce: WdZVvE
+.. section: Core and Builtins
+
+Fix weird attribute error messages of the traceback object. (As a result
+traceback.__members__ no longer exists.)
+
+..
+
+.. bpo: 4474
+.. date: 7672
+.. nonce: d-gOFs
+.. section: Core and Builtins
+
+PyUnicode_FromWideChar now converts characters outside the BMP to surrogate
+pairs, on systems with sizeof(wchar_t) == 4 and sizeof(Py_UNICODE) == 2.
+
+..
+
+.. bpo: 5237
+.. date: 7671
+.. nonce: TC5vHj
+.. section: Core and Builtins
+
+Allow auto-numbered fields in str.format(). For example: ``'{} {}'.format(1,
+2) == '1 2'``.
+
+..
+
+.. bpo: 3652
+.. date: 7670
+.. nonce: LS7lbT
+.. section: Core and Builtins
+
+Make the 'line' argument for ``warnings.showwarning()`` a requirement.
+Means the DeprecationWarning from Python 2.6 can go away.
+
+..
+
+.. bpo: 5247
+.. date: 7669
+.. nonce: FherHz
+.. section: Core and Builtins
+
+Improve error message when unknown format codes are used when using
+``str.format()`` with str, unicode, long, int, and float arguments.
+
+..
+
+.. bpo: 0
+.. date: 7668
+.. nonce: UMEr-l
+.. section: Core and Builtins
+
+Running Python with the -3 option now also warns about classic division for
+ints and longs.
+
+..
+
+.. bpo: 5260
+.. date: 7667
+.. nonce: Em88-S
+.. section: Core and Builtins
+
+Long integers now consume less memory: average saving is 2 bytes per long on
+a 32-bit system and 6 bytes per long on a 64-bit system.
+
+..
+
+.. bpo: 5186
+.. date: 7666
+.. nonce: j1is78
+.. section: Core and Builtins
+
+Reduce hash collisions for objects with no __hash__ method by rotating the
+object pointer by 4 bits to the right.
+
+..
+
+.. bpo: 4575
+.. date: 7665
+.. nonce: kbytK5
+.. section: Core and Builtins
+
+Fix Py_IS_INFINITY macro to work correctly on x87 FPUs: it now forces its
+argument to double before testing for infinity.
+
+..
+
+.. bpo: 4978
+.. date: 7664
+.. nonce: 1CHApa
+.. section: Core and Builtins
+
+Passing keyword arguments as unicode strings is now allowed.
+
+..
+
+.. bpo: 1242657
+.. date: 7663
+.. nonce: XDCnZa
+.. section: Core and Builtins
+
+the __len__() and __length_hint__() calls in several tools were suppressing
+all exceptions.  These include list(), filter(), map(), zip(), and
+bytearray().
+
+..
+
+.. bpo: 0
+.. date: 7662
+.. nonce: cFart9
+.. section: Core and Builtins
+
+os.ftruncate raises OSErrors instead of IOErrors for consistency with other
+os functions.
+
+..
+
+.. bpo: 4991
+.. date: 7661
+.. nonce: ALUxl0
+.. section: Core and Builtins
+
+Passing invalid file descriptors to io.FileIO now raises an OSError.
+
+..
+
+.. bpo: 4807
+.. date: 7660
+.. nonce: zBKF-Y
+.. section: Core and Builtins
+
+Port the _winreg module to Windows CE.
+
+..
+
+.. bpo: 4935
+.. date: 7659
+.. nonce: FCRsi7
+.. section: Core and Builtins
+
+The overflow checking code in the expandtabs() method common to str, bytes
+and bytearray could be optimized away by the compiler, letting the
+interpreter segfault instead of raising an error.
+
+..
+
+.. bpo: 3720
+.. date: 7658
+.. nonce: AhqraF
+.. section: Core and Builtins
+
+Fix a crash when an iterator modifies its class and removes its __next__
+method.
+
+..
+
+.. bpo: 4893
+.. date: 7657
+.. nonce: 6cqBTr
+.. section: Core and Builtins
+
+Use NT threading on CE.
+
+..
+
+.. bpo: 4915
+.. date: 7656
+.. nonce: 687QYF
+.. section: Core and Builtins
+
+Port sysmodule to Windows CE.
+
+..
+
+.. bpo: 4074
+.. date: 7655
+.. nonce: P6W6AU
+.. section: Core and Builtins
+
+Change the criteria for doing a full garbage collection (i.e. collecting the
+oldest generation) so that allocating lots of objects without destroying
+them does not show quadratic performance. Based on a proposal by Martin von
+Löwis at http://mail.python.org/pipermail/python-dev/2008-June/080579.html.
+
+..
+
+.. bpo: 4850
+.. date: 7654
+.. nonce: I2rQxz
+.. section: Core and Builtins
+
+Change COUNT_ALLOCS variables to Py_ssize_t.
+
+..
+
+.. bpo: 1180193
+.. date: 7653
+.. nonce: pCkOCz
+.. section: Core and Builtins
+
+When importing a module from a .pyc (or .pyo) file with an existing .py
+counterpart, override the co_filename attributes of all code objects if the
+original filename is obsolete (which can happen if the file has been
+renamed, moved, or if it is accessed through different paths).  Patch by
+Ziga Seilnacht and Jean-Paul Calderone.
+
+..
+
+.. bpo: 4075
+.. date: 7652
+.. nonce: Ccn4nr
+.. section: Core and Builtins
+
+Use ``OutputDebugStringW()`` in Py_FatalError.
+
+..
+
+.. bpo: 4797
+.. date: 7651
+.. nonce: X8BGMK
+.. section: Core and Builtins
+
+IOError.filename was not set when _fileio.FileIO failed to open file with
+`str' filename on Windows.
+
+..
+
+.. bpo: 3680
+.. date: 7650
+.. nonce: sDYVgF
+.. section: Core and Builtins
+
+Reference cycles created through a dict, set or deque iterator did not get
+collected.
+
+..
+
+.. bpo: 4701
+.. date: 7649
+.. nonce: KCWdVt
+.. section: Core and Builtins
+
+PyObject_Hash now implicitly calls PyType_Ready on types where the tp_hash
+and tp_dict slots are both NULL.
+
+..
+
+.. bpo: 4764
+.. date: 7648
+.. nonce: 9uJcCX
+.. section: Core and Builtins
+
+With io.open, IOError.filename is set when trying to open a directory on
+POSIX systems.
+
+..
+
+.. bpo: 4764
+.. date: 7647
+.. nonce: m87cQp
+.. section: Core and Builtins
+
+IOError.filename is set when trying to open a directory on POSIX systems.
+
+..
+
+.. bpo: 4759
+.. date: 7646
+.. nonce: jS_IUc
+.. section: Core and Builtins
+
+None is now allowed as the first argument of ``bytearray.translate()``.  It
+was always allowed for ``bytes.translate()``.
+
+..
+
+.. bpo: 0
+.. date: 7645
+.. nonce: NJHPw5
+.. section: Core and Builtins
+
+Added test case to ensure attempts to read from a file opened for writing
+fail.
+
+..
+
+.. bpo: 2467
+.. date: 7644
+.. nonce: hTdCDO
+.. section: Core and Builtins
+
+gc.DEBUG_STATS reported invalid elapsed times. Also, always print elapsed
+times, not only when some objects are uncollectable/unreachable. Original
+patch by Neil Schemenauer.
+
+..
+
+.. bpo: 3439
+.. date: 7643
+.. nonce: FDqFob
+.. section: Core and Builtins
+
+Add a bit_length method to int and long.
+
+..
+
+.. bpo: 2183
+.. date: 7642
+.. nonce: N4TSpS
+.. section: Core and Builtins
+
+Simplify and optimize bytecode for list comprehensions.  Original patch by
+Neal Norwitz.
+
+..
+
+.. bpo: 4597
+.. date: 7641
+.. nonce: tAXQWn
+.. section: Core and Builtins
+
+Fixed exception handling when the __exit__ function of a context manager
+returns a value that cannot be converted to a bool.
+
+..
+
+.. bpo: 4597
+.. date: 7640
+.. nonce: nQOPGV
+.. section: Core and Builtins
+
+Fixed several opcodes that weren't always propagating exceptions.
+
+..
+
+.. bpo: 4445
+.. date: 7639
+.. nonce: irvsqZ
+.. section: Core and Builtins
+
+Replace ``sizeof(PyStringObject)`` with ``offsetof(PyStringObject, ob_sval)
++ 1`` when allocating memory for str instances.  On a typical machine this
+saves 3 bytes of memory (on average) per string allocation.
+
+..
+
+.. bpo: 3996
+.. date: 7638
+.. nonce: MarU4T
+.. section: Core and Builtins
+
+On Windows, the PyOS_CheckStack function would cause the interpreter to
+abort ("Fatal Python error: Could not reset the stack!") instead of throwing
+a MemoryError.
+
+..
+
+.. bpo: 3689
+.. date: 7637
+.. nonce: CNYxlz
+.. section: Core and Builtins
+
+The list reversed iterator now supports __length_hint__ instead of __len__.
+Behavior now matches other reversed iterators.
+
+..
+
+.. bpo: 4367
+.. date: 7636
+.. nonce: fmKFqn
+.. section: Core and Builtins
+
+Python would segfault during compiling when the unicodedata module couldn't
+be imported and \N escapes were present.
+
+..
+
+.. bpo: 4233
+.. date: 7635
+.. nonce: iQj976
+.. section: Core and Builtins
+
+Changed semantic of ``_fileio.FileIO``'s ``close()`` method on file objects
+with closefd=False. The file descriptor is still kept open but the file
+object behaves like a closed file. The ``FileIO`` object also got a new
+readonly attribute ``closefd``.
+
+..
+
+.. bpo: 4348
+.. date: 7634
+.. nonce: 8mh_bw
+.. section: Core and Builtins
+
+Some bytearray methods returned that didn't cause any change to the
+bytearray, returned the same bytearray instead of a copy.
+
+..
+
+.. bpo: 4317
+.. date: 7633
+.. nonce: GGUHMc
+.. section: Core and Builtins
+
+Fixed a crash in the ``imageop.rgb2rgb8()`` function.
+
+..
+
+.. bpo: 4230
+.. date: 7632
+.. nonce: Ndmrfx
+.. section: Core and Builtins
+
+If ``__getattr__`` is a descriptor, it now functions correctly.
+
+..
+
+.. bpo: 4048
+.. date: 7631
+.. nonce: KmD4Fy
+.. section: Core and Builtins
+
+The parser module now correctly validates relative imports.
+
+..
+
+.. bpo: 4225
+.. date: 7630
+.. nonce: 7zU-HH
+.. section: Core and Builtins
+
+``from __future__ import unicode_literals`` didn't work in an exec
+statement.
+
+..
+
+.. bpo: 4176
+.. date: 7629
+.. nonce: qhcxIs
+.. section: Core and Builtins
+
+Fixed a crash when pickling an object which ``__reduce__`` method does not
+return iterators for the 4th and 5th items.
+
+..
+
+.. bpo: 4209
+.. date: 7628
+.. nonce: iE6R1Z
+.. section: Core and Builtins
+
+Enabling unicode_literals and the print_function in the same __future__
+import didn't work.
+
+..
+
+.. bpo: 0
+.. date: 7627
+.. nonce: EZzjhE
+.. section: Core and Builtins
+
+Using ``nonlocal`` as a variable name will now raise a Py3k SyntaxWarning
+because it is a reserved word in 3.x.
+
+..
+
+.. bpo: 0
+.. date: 7626
+.. nonce: 6ugG-L
+.. section: Core and Builtins
+
+On windows, ``os.chdir()`` given unicode was not working if
+GetCurrentDirectoryW returned a path longer than MAX_PATH. (But It's
+doubtful this code path is really executed because I cannot move to such
+directory on win2k)
+
+..
+
+.. bpo: 4069
+.. date: 7625
+.. nonce: KZVhcT
+.. section: Core and Builtins
+
+When ``set.remove(element)`` is used with a set element, the element is
+temporarily replaced with an equivalent frozenset.  But the eventual
+KeyError would always report the empty ``frozenset()`` as the missing key.
+Now it correctly refers to the initial element.
+
+..
+
+.. bpo: 4509
+.. date: 7624
+.. nonce: s_M7sU
+.. section: Core and Builtins
+
+Various issues surrounding resize of bytearray objects to which there are
+buffer exports.
+
+..
+
+.. bpo: 4748
+.. date: 7623
+.. nonce: VdAMxK
+.. section: Core and Builtins
+
+Lambda generators no longer return a value.
+
+..
+
+.. bpo: 3582
+.. date: 7622
+.. nonce: lPZMhV
+.. section: Core and Builtins
+
+Use native TLS functions on Windows
+
+..
+
+.. bpo: 0
+.. date: 7621
+.. nonce: -7Es2G
+.. section: Core and Builtins
+
+The re.sub(), re.subn() and re.split() functions now accept a flags
+parameter.
+
+..
+
+.. bpo: 3845
+.. date: 7620
+.. nonce: 1zs3tX
+.. section: Core and Builtins
+
+In PyRun_SimpleFileExFlags avoid invalid memory access with short file
+names.
+
+..
+
+.. bpo: 1113244
+.. date: 7619
+.. nonce: 0youo-
+.. section: Core and Builtins
+
+Py_XINCREF, Py_DECREF, Py_XDECREF: Add `do { ... } while (0)' to avoid
+compiler warnings.
+
+..
+
+.. bpo: 5705
+.. date: 7618
+.. nonce: sV9axH
+.. section: Core and Builtins
+
+os.setuid() would not accept values > 2**31-1 but pwd.getpwnam() returned
+them on 64bit platforms.
+
+..
+
+.. bpo: 5108
+.. date: 7617
+.. nonce: dAFFuh
+.. section: Core and Builtins
+
+Handle %s like %S and %R in PyUnicode_FromFormatV(): Call
+PyUnicode_DecodeUTF8() once, remember the result and output it in a second
+step. This avoids problems with counting UTF-8 bytes that ignores the effect
+of using the replace error handler in PyUnicode_DecodeUTF8().
+
+..
+
+.. bpo: 3739
+.. date: 7616
+.. nonce: M2kAQq
+.. section: Core and Builtins
+
+The unicode-internal encoder now reports the number of characters consumed
+like any other encoder (instead of the number of bytes).
+
+..
+
+.. bpo: 2422
+.. date: 7615
+.. nonce: wzigzB
+.. section: Core and Builtins
+
+When compiled with the ``--with-valgrind`` option, the pymalloc allocator
+will be automatically disabled when running under Valgrind.  This gives
+improved memory leak detection when running under Valgrind, while taking
+advantage of pymalloc at other times.
+
+..
+
+.. bpo: 0
+.. date: 7614
+.. nonce: hEj501
+.. section: Library
+
+Add count() and reverse() methods to collections.deque().
+
+..
+
+.. bpo: 0
+.. date: 7613
+.. nonce: uRsKsO
+.. section: Library
+
+Fix variations of extending deques:  d.extend(d)  d.extendleft(d)  d+=d
+
+..
+
+.. bpo: 6986
+.. date: 7612
+.. nonce: SdGPr9
+.. section: Library
+
+Fix crash in the JSON C accelerator when called with the wrong parameter
+types.  Patch by Victor Stinner.
+
+..
+
+.. bpo: 0
+.. date: 7611
+.. nonce: NFsq2E
+.. section: Library
+
+logging: Added optional "secure" parameter to SMTPHandler, to enable use of
+TLS with authentication credentials.
+
+..
+
+.. bpo: 1923
+.. date: 7610
+.. nonce: knrn4i
+.. section: Library
+
+Fixed the removal of meaningful spaces when PKG-INFO is generated in
+Distutils. Patch by Stephen Emslie.
+
+..
+
+.. bpo: 4120
+.. date: 7609
+.. nonce: 3cH4Sr
+.. section: Library
+
+Drop reference to CRT from manifest when building extensions with
+msvc9compiler.
+
+..
+
+.. bpo: 7333
+.. date: 7608
+.. nonce: 2fKr4C
+.. section: Library
+
+The ``posix`` module gains an ``initgroups()`` function providing access to
+the initgroups(3) C library call on Unix systems which implement it. Patch
+by Jean-Paul Calderone.
+
+..
+
+.. bpo: 7408
+.. date: 7607
+.. nonce: rgPHXu
+.. section: Library
+
+Fixed distutils.tests.sdist so it doesn't check for group ownership when the
+group is not forced, because the group may be different from the user's
+group and inherit from its container when the test is run.
+
+..
+
+.. bpo: 1515
+.. date: 7606
+.. nonce: xkpoux
+.. section: Library
+
+Enable use of deepcopy() with instance methods.  Patch by Robert Collins.
+
+..
+
+.. bpo: 7403
+.. date: 7605
+.. nonce: FwNMdd
+.. section: Library
+
+logging: Fixed possible race condition in lock creation.
+
+..
+
+.. bpo: 6845
+.. date: 7604
+.. nonce: TrdLOB
+.. section: Library
+
+Add restart support for binary upload in ftplib.  The ``storbinary()``
+method of FTP and FTP_TLS objects gains an optional "rest" argument.  Patch
+by Pablo Mouzo.
+
+..
+
+.. bpo: 5788
+.. date: 7603
+.. nonce: eXZYrC
+.. section: Library
+
+``datetime.timedelta`` objects get a new ``total_seconds()`` method
+returning the total number of seconds in the duration.  Patch by Brian
+Quinlan.
+
+..
+
+.. bpo: 6615
+.. date: 7602
+.. nonce: L1bwX7
+.. section: Library
+
+logging: Used weakrefs in internal handler list.
+
+..
+
+.. bpo: 1488943
+.. date: 7601
+.. nonce: bGsZyB
+.. section: Library
+
+``difflib.Differ`` doesn't always add hints for tab characters.
+
+..
+
+.. bpo: 6123
+.. date: 7600
+.. nonce: 7jPAMR
+.. section: Library
+
+tarfile now opens empty archives correctly and consistently raises ReadError
+on empty files.
+
+..
+
+.. bpo: 7354
+.. date: 7599
+.. nonce: JiC3ff
+.. section: Library
+
+distutils.tests.test_msvc9compiler - dragfullwindows can be 2.
+
+..
+
+.. bpo: 5037
+.. date: 7598
+.. nonce: OuRtI7
+.. section: Library
+
+Proxy the __unicode__ special method to __unicode__ instead of __str__.
+
+..
+
+.. bpo: 7341
+.. date: 7597
+.. nonce: ePPgs_
+.. section: Library
+
+Close the internal file object in the TarFile constructor in case of an
+error.
+
+..
+
+.. bpo: 7293
+.. date: 7596
+.. nonce: O5Dcu2
+.. section: Library
+
+``distutils.test_msvc9compiler`` is fixed to work on any fresh Windows box.
+Help provided by David Bolen.
+
+..
+
+.. bpo: 7328
+.. date: 7595
+.. nonce: I7W1pc
+.. section: Library
+
+pydoc no longer corrupts sys.path when run with the '-m' switch.
+
+..
+
+.. bpo: 2054
+.. date: 7594
+.. nonce: CqsOHR
+.. section: Library
+
+ftplib now provides an FTP_TLS class to do secure FTP using TLS or SSL.
+Patch by Giampaolo Rodola'.
+
+..
+
+.. bpo: 4969
+.. date: 7593
+.. nonce: etEJDg
+.. section: Library
+
+The mimetypes module now reads the MIME database from the registry under
+Windows.  Patch by Gabriel Genellina.
+
+..
+
+.. bpo: 6816
+.. date: 7592
+.. nonce: FkQHgU
+.. section: Library
+
+runpy now provides a run_path function that allows Python code to execute
+file paths that refer to source or compiled Python files as well as
+zipfiles, directories and other valid sys.path entries that contain a
+__main__.py file. This allows applications that run other Python scripts to
+support the same flexibility as the CPython command line itself.
+
+..
+
+.. bpo: 7318
+.. date: 7591
+.. nonce: 5Q1hkQ
+.. section: Library
+
+multiprocessing now uses a timeout when it fails to establish a connection
+with another process, rather than looping endlessly. The default timeout is
+20 seconds, which should be amply sufficient for local connections.
+
+..
+
+.. bpo: 7197
+.. date: 7590
+.. nonce: 0cm1Qm
+.. section: Library
+
+Allow unittest.TextTestRunner objects to be pickled and unpickled.  This
+fixes crashes under Windows when trying to run test_multiprocessing in
+verbose mode.
+
+..
+
+.. bpo: 7282
+.. date: 7589
+.. nonce: PGSXX5
+.. section: Library
+
+Fix a memory leak when an RLock was used in a thread other than those
+started through ``threading.Thread`` (for example, using
+``thread.start_new_thread()``.
+
+..
+
+.. bpo: 7264
+.. date: 7588
+.. nonce: gXNBWt
+.. section: Library
+
+Fix a possible deadlock when deallocating thread-local objects which are
+part of a reference cycle.
+
+..
+
+.. bpo: 7211
+.. date: 7587
+.. nonce: wuvMbi
+.. section: Library
+
+Allow 64-bit values for the ``ident`` and ``data`` fields of kevent objects
+on 64-bit systems.  Patch by Michael Broghton.
+
+..
+
+.. bpo: 6896
+.. date: 7586
+.. nonce: rXqOUx
+.. section: Library
+
+``mailbox.Maildir`` now invalidates its internal cache each time a
+modification is done through it.  This fixes inconsistencies and test
+failures on systems with slightly bogus mtime behaviour.
+
+..
+
+.. bpo: 7246
+.. date: 7585
+.. nonce: vVWoc1
+.. section: Library
+
+getpass now properly flushes input before reading from stdin so that
+existing input does not confuse it and lead to incorrect entry or an
+IOError.  It also properly flushes it afterwards to avoid the terminal
+echoing the input afterwards on OSes such as Solaris. (See also: bpo-7208)
+
+..
+
+.. bpo: 7233
+.. date: 7584
+.. nonce: Bfx5J4
+.. section: Library
+
+Fix a number of two-argument Decimal methods to make sure that they accept
+an int or long as the second argument.  Also fix buggy handling of large
+arguments (those with coefficient longer than the current precision) in
+shift and rotate.
+
+..
+
+.. bpo: 4750
+.. date: 7583
+.. nonce: qsUXdQ
+.. section: Library
+
+Store the basename of the original filename in the gzip FNAME header as
+required by RFC 1952.
+
+..
+
+.. bpo: 1180
+.. date: 7582
+.. nonce: ajrI93
+.. section: Library
+
+Added a new global option to ignore ~/.pydistutils.cfg in Distutils.
+
+..
+
+.. bpo: 7218
+.. date: 7581
+.. nonce: _fm9R5
+.. section: Library
+
+Fix test_site for win32, the directory comparison was done with an
+uppercase.
+
+..
+
+.. bpo: 7205
+.. date: 7580
+.. nonce: QiP1X-
+.. section: Library
+
+Fix a possible deadlock when using a BZ2File object from several threads at
+once.
+
+..
+
+.. bpo: 7071
+.. date: 7579
+.. nonce: QFsV-G
+.. section: Library
+
+byte-compilation in Distutils is now done with respect to
+sys.dont_write_bytecode.
+
+..
+
+.. bpo: 7066
+.. date: 7578
+.. nonce: FQTn5e
+.. section: Library
+
+archive_util.make_archive now restores the cwd if an error is raised.
+Initial patch by Ezio Melotti.
+
+..
+
+.. bpo: 6218
+.. date: 7577
+.. nonce: GFU36I
+.. section: Library
+
+io.StringIO and io.BytesIO instances are now picklable with protocol 2.
+
+..
+
+.. bpo: 7077
+.. date: 7576
+.. nonce: NfTfRo
+.. section: Library
+
+logging: SysLogHandler now treats Unicode as per RFC 5424.
+
+..
+
+.. bpo: 7099
+.. date: 7575
+.. nonce: fxh-zw
+.. section: Library
+
+Decimal.is_normal now returns True for numbers with exponent larger than
+emax.
+
+..
+
+.. bpo: 5833
+.. date: 7574
+.. nonce: bCmU3a
+.. section: Library
+
+Fix extra space character in readline completion with the GNU readline
+library version 6.0.
+
+..
+
+.. bpo: 7133
+.. date: 7573
+.. nonce: m6rxoT
+.. section: Library
+
+SSL objects now support the new buffer API.
+
+..
+
+.. bpo: 7149
+.. date: 7572
+.. nonce: J_eq7B
+.. section: Library
+
+urllib fails on OSX in the proxy detection code.
+
+..
+
+.. bpo: 7069
+.. date: 7571
+.. nonce: v9P7a0
+.. section: Library
+
+Make inspect.isabstract() return a boolean.
+
+..
+
+.. bpo: 0
+.. date: 7570
+.. nonce: mxZpdI
+.. section: Library
+
+Add support to the ``ihooks`` module for relative imports.
+
+..
+
+.. bpo: 6894
+.. date: 7569
+.. nonce: 1peOts
+.. section: Library
+
+Fixed the issue urllib2 doesn't respect "no_proxy" environment.
+
+..
+
+.. bpo: 7086
+.. date: 7568
+.. nonce: mZidvN
+.. section: Library
+
+Added TCP support to SysLogHandler, and tidied up some anachronisms in the
+code which were a relic of 1.5.2 compatibility.
+
+..
+
+.. bpo: 7082
+.. date: 7567
+.. nonce: 0CSJXy
+.. section: Library
+
+When falling back to the MIME 'name' parameter, the correct place to look
+for it is the Content-Type header.
+
+..
+
+.. bpo: 7048
+.. date: 7566
+.. nonce: TXR5Xr
+.. section: Library
+
+Force Decimal.logb to round its result when that result is too large to fit
+in the current precision.
+
+..
+
+.. bpo: 6516
+.. date: 7565
+.. nonce: omgsNx
+.. section: Library
+
+Added owner/group support when creating tar archives in Distutils.
+
+..
+
+.. bpo: 7031
+.. date: 7564
+.. nonce: n09dXD
+.. section: Library
+
+Add ``TestCase.assert(Not)IsInstance()`` methods.
+
+..
+
+.. bpo: 6790
+.. date: 7563
+.. nonce: Z8U9rk
+.. section: Library
+
+Make it possible again to pass an ``array.array`` to
+``httplib.HTTPConnection.send``.  Patch by Kirk McDonald.
+
+..
+
+.. bpo: 6236
+.. date: 7562
+.. nonce: cfUWek
+.. section: Library
+
+Fix various failures in the `io` module under AIX and other platforms, when
+using a non-gcc compiler.  Patch by egreen. (See also: bpo-6348)
+
+..
+
+.. bpo: 6954
+.. date: 7561
+.. nonce: Xr-JVf
+.. section: Library
+
+Fixed crash when using DISTUTILS_DEBUG flag in Distutils.
+
+..
+
+.. bpo: 6851
+.. date: 7560
+.. nonce: Hvzfi2
+.. section: Library
+
+Fix urllib.urlopen crash on secondairy threads on OSX 10.6
+
+..
+
+.. bpo: 4606
+.. date: 7559
+.. nonce: mPxDNW
+.. section: Library
+
+Passing 'None' if ctypes argtype is set to POINTER(...) does now always
+result in NULL.
+
+..
+
+.. bpo: 5042
+.. date: 7558
+.. nonce: eHTDqZ
+.. section: Library
+
+ctypes Structure sub-subclass does now initialize correctly with base class
+positional arguments.
+
+..
+
+.. bpo: 6938
+.. date: 7557
+.. nonce: qq4x0H
+.. section: Library
+
+Fix a TypeError in string formatting of a multiprocessing debug message.
+
+..
+
+.. bpo: 6635
+.. date: 7556
+.. nonce: hMzo5g
+.. section: Library
+
+Fix profiler printing usage message.
+
+..
+
+.. bpo: 6856
+.. date: 7555
+.. nonce: pxRVCd
+.. section: Library
+
+Add a filter keyword argument to TarFile.add().
+
+..
+
+.. bpo: 6163
+.. date: 7554
+.. nonce: RIBPzi
+.. section: Library
+
+Fixed HP-UX runtime library dir options in distutils.unixcompiler.  Initial
+patch by Sridhar Ratnakumar and Michael Haubenwallner.
+
+..
+
+.. bpo: 6857
+.. date: 7553
+.. nonce: HdfUqZ
+.. section: Library
+
+Default format() alignment should be '>' for Decimal instances.
+
+..
+
+.. bpo: 6795
+.. date: 7552
+.. nonce: q74KXT
+.. section: Library
+
+int(Decimal('nan')) now raises ValueError instead of returning NaN or
+raising InvalidContext.  Also, fix infinite recursion in
+long(Decimal('nan')).
+
+..
+
+.. bpo: 6850
+.. date: 7551
+.. nonce: qs_7UF
+.. section: Library
+
+Fix bug in Decimal._parse_format_specifier for formats with no type
+specifier.
+
+..
+
+.. bpo: 4937
+.. date: 7550
+.. nonce: q3smbI
+.. section: Library
+
+plat-mac/bundlebuilder refers to non-existing version.plist.
+
+..
+
+.. bpo: 6838
+.. date: 7549
+.. nonce: OOrAC0
+.. section: Library
+
+Use a list to accumulate the value instead of repeatedly concatenating
+strings in httplib's HTTPResponse._read_chunked providing a significant
+speed increase when downloading large files servend with a Transfer-Encoding
+of 'chunked'.
+
+..
+
+.. bpo: 5275
+.. date: 7548
+.. nonce: -iW5eK
+.. section: Library
+
+In Cookie's Cookie.load(), properly handle non-string arguments as
+documented.
+
+..
+
+.. bpo: 2666
+.. date: 7547
+.. nonce: XO1rSx
+.. section: Library
+
+Handle BROWSER environment variable properly for unknown browser names in
+the webbrowser module.
+
+..
+
+.. bpo: 6054
+.. date: 7546
+.. nonce: 593-Mx
+.. section: Library
+
+Do not normalize stored pathnames in tarfile.
+
+..
+
+.. bpo: 6794
+.. date: 7545
+.. nonce: k5-rmk
+.. section: Library
+
+Fix Decimal.compare_total and Decimal.compare_total_mag: NaN payloads are
+now ordered by integer value rather than lexicographically.
+
+..
+
+.. bpo: 6693
+.. date: 7544
+.. nonce: _dWH_f
+.. section: Library
+
+New functions in site.py to get user/global site packages paths.
+
+..
+
+.. bpo: 0
+.. date: 7543
+.. nonce: tZF7Ai
+.. section: Library
+
+The thread.lock type now supports weak references.
+
+..
+
+.. bpo: 1356969
+.. date: 7542
+.. nonce: fTwnvR
+.. section: Library
+
+Add missing info methods in Tix.HList.
+
+..
+
+.. bpo: 1522587
+.. date: 7541
+.. nonce: z2n84F
+.. section: Library
+
+New constants and methods for the Tix.Grid widget.
+
+..
+
+.. bpo: 1250469
+.. date: 7540
+.. nonce: Mbak0x
+.. section: Library
+
+Fix the return value of Tix.PanedWindow.panes.
+
+..
+
+.. bpo: 1119673
+.. date: 7539
+.. nonce: rSCSoq
+.. section: Library
+
+Do not override Tkinter.Text methods when creating a ScrolledText.
+
+..
+
+.. bpo: 6665
+.. date: 7538
+.. nonce: 4ep0tD
+.. section: Library
+
+Fix fnmatch to properly match filenames with newlines in them.
+
+..
+
+.. bpo: 1135
+.. date: 7537
+.. nonce: 3A5Z-R
+.. section: Library
+
+Add the XView and YView mix-ins to avoid duplicating the xview* and yview*
+methods.
+
+..
+
+.. bpo: 6629
+.. date: 7536
+.. nonce: 095djT
+.. section: Library
+
+Fix a data corruption issue in the new `io` package, which could occur when
+writing to a BufferedRandom object (e.g. a file opened in "rb+" or "wb+"
+mode) after having buffered a certain amount of data for reading. This bug
+was not present in the pure Python implementation.
+
+..
+
+.. bpo: 4660
+.. date: 7535
+.. nonce: xyTC5J
+.. section: Library
+
+If a multiprocessing.JoinableQueue.put() was preempted, it was possible to
+get a spurious 'task_done() called too many times' error.
+
+..
+
+.. bpo: 1628205
+.. date: 7534
+.. nonce: Bkm9lB
+.. section: Library
+
+Socket file objects returned by socket.socket.makefile() now properly
+handles EINTR within the read, readline, write & flush methods.  The
+socket.sendall() method now properly handles interrupted system calls.
+
+..
+
+.. bpo: 6595
+.. date: 7533
+.. nonce: 5kBbXa
+.. section: Library
+
+The Decimal constructor now allows arbitrary Unicode decimal digits in
+input, as recommended by the standard.  Previously it was restricted to
+accepting [0-9].
+
+..
+
+.. bpo: 6511
+.. date: 7532
+.. nonce: Qzfkov
+.. section: Library
+
+ZipFile now raises BadZipfile (instead of an IOError) when opening an empty
+or very small file.
+
+..
+
+.. bpo: 6553
+.. date: 7531
+.. nonce: Tr4HDD
+.. section: Library
+
+Fixed a crash in cPickle.load(), when given a file-like object containing
+incomplete data.
+
+..
+
+.. bpo: 6545
+.. date: 7530
+.. nonce: q91_KL
+.. section: Library
+
+Removed assert statements in distutils.Extension, so the behavior is similar
+when used with -O.
+
+..
+
+.. bpo: 0
+.. date: 7529
+.. nonce: QiwXfr
+.. section: Library
+
+unittest has been split up into a package.  All old names should still work.
+
+..
+
+.. bpo: 6431
+.. date: 7528
+.. nonce: tKBkPb
+.. section: Library
+
+Make Fraction type return NotImplemented when it doesn't know how to handle
+a comparison without loss of precision.  Also add correct handling of
+infinities and nans for comparisons with float.
+
+..
+
+.. bpo: 6415
+.. date: 7527
+.. nonce: QOMg1q
+.. section: Library
+
+Fixed warnings.warn segfault on bad formatted string.
+
+..
+
+.. bpo: 6466
+.. date: 7526
+.. nonce: j5IKKm
+.. section: Library
+
+Now distutils.cygwinccompiler and distutils.emxccompiler uses the same
+refactored function to get gcc/ld/dllwrap versions numbers.  It's
+``distutils.util.get_compiler_versions()``.  Added deprecation warnings for
+the obsolete get_versions() functions.
+
+..
+
+.. bpo: 6433
+.. date: 7525
+.. nonce: FJUeBp
+.. section: Library
+
+Fixed issues with multiprocessing.pool.map hanging on empty list.
+
+..
+
+.. bpo: 6314
+.. date: 7524
+.. nonce: oq2Uzy
+.. section: Library
+
+logging: Extra checks on the "level" argument in more places.
+
+..
+
+.. bpo: 2622
+.. date: 7523
+.. nonce: khlgNf
+.. section: Library
+
+Fixed an ImportError when importing email.messsage from a standalone
+application built with py2exe or py2app.
+
+..
+
+.. bpo: 6455
+.. date: 7522
+.. nonce: xHz4mF
+.. section: Library
+
+Fixed test_build_ext under win32.
+
+..
+
+.. bpo: 6377
+.. date: 7521
+.. nonce: Or-Jam
+.. section: Library
+
+Enabled the compiler option, and deprecate its usage as an attribute.
+
+..
+
+.. bpo: 6413
+.. date: 7520
+.. nonce: dVuHyQ
+.. section: Library
+
+Fixed the log level in distutils.dist for announce.
+
+..
+
+.. bpo: 3392
+.. date: 7519
+.. nonce: M_DdFb
+.. section: Library
+
+The subprocess communicate() method no longer fails in select() when file
+descriptors are large; communicate() now uses poll() when possible.
+
+..
+
+.. bpo: 6403
+.. date: 7518
+.. nonce: kDwSzy
+.. section: Library
+
+Fixed package path usage in build_ext.
+
+..
+
+.. bpo: 5155
+.. date: 7517
+.. nonce: G_HFri
+.. section: Library
+
+multiprocessing.Process._bootstrap was unconditionally calling
+"os.close(sys.stdin.fileno())" resulting in file descriptor errors. (See
+also: bpo-5313, bpo-5331)
+
+..
+
+.. bpo: 6365
+.. date: 7516
+.. nonce: eWJ_Cl
+.. section: Library
+
+Distutils build_ext inplace mode was copying the compiled extension in a
+subdirectory if the extension name had dots.
+
+..
+
+.. bpo: 6344
+.. date: 7515
+.. nonce: l35xXH
+.. section: Library
+
+Fixed a crash of mmap.read() when passed a negative argument.
+
+..
+
+.. bpo: 5230
+.. date: 7514
+.. nonce: EhUbpW
+.. section: Library
+
+pydoc would report no documentation found if a module generated a 'not
+found' import error when loaded; it now reports the import errors. Thanks to
+Lucas Prado Melo for initial fix and collaboration on the tests.
+
+..
+
+.. bpo: 6314
+.. date: 7513
+.. nonce: g55uyy
+.. section: Library
+
+``logging.basicConfig()`` performs extra checks on the "level" argument.
+
+..
+
+.. bpo: 6164
+.. date: 7512
+.. nonce: 6QByEi
+.. section: Library
+
+Added an AIX specific linker argument in Distutils unixcompiler. Original
+patch by Sridhar Ratnakumar.
+
+..
+
+.. bpo: 6274
+.. date: 7511
+.. nonce: eQoMPr
+.. section: Library
+
+Fixed possible file descriptors leak in subprocess.py.
+
+..
+
+.. bpo: 6189
+.. date: 7510
+.. nonce: aY-0-v
+.. section: Library
+
+Restored compatibility of subprocess.py with Python 2.2.
+
+..
+
+.. bpo: 6287
+.. date: 7509
+.. nonce: i5loQG
+.. section: Library
+
+Added the license field in Distutils documentation.
+
+..
+
+.. bpo: 6286
+.. date: 7508
+.. nonce: j2u4Wn
+.. section: Library
+
+Now Distutils upload command is based on urllib2 instead of httplib,
+allowing the usage of http_proxy.
+
+..
+
+.. bpo: 6271
+.. date: 7507
+.. nonce: nMZxcE
+.. section: Library
+
+mmap tried to close invalid file handle (-1) for anonymous maps on Unix.
+
+..
+
+.. bpo: 6215
+.. date: 7506
+.. nonce: e-D-t7
+.. section: Library
+
+All bug fixes and enhancements from the Python 3.1 io library (including the
+fast C implementation) have been backported to the standard ``io`` module.
+
+..
+
+.. bpo: 6258
+.. date: 7505
+.. nonce: dwBSws
+.. section: Library
+
+Support AMD64 in bdist_msi.
+
+..
+
+.. bpo: 6252
+.. date: 7504
+.. nonce: sYTPyU
+.. section: Library
+
+Fixed bug in next rollover time computation in TimedRotatingFileHandler.
+
+..
+
+.. bpo: 6263
+.. date: 7503
+.. nonce: 5RhZzP
+.. section: Library
+
+Fixed syntax error in distutils.cygwincompiler.
+
+..
+
+.. bpo: 5201
+.. date: 7502
+.. nonce: Wt3Orj
+.. section: Library
+
+distutils.sysconfig.parse_makefile() now understands ``$$`` in Makefiles.
+This prevents compile errors when using syntax like:
+``LDFLAGS='-rpath=\$$LIB:/some/other/path'``.  Patch by Floris Bruynooghe.
+
+..
+
+.. bpo: 5767
+.. date: 7501
+.. nonce: N_vQVh
+.. section: Library
+
+Removed sgmlop support from xmlrpclib.
+
+..
+
+.. bpo: 6131
+.. date: 7500
+.. nonce: yV_s9j
+.. section: Library
+
+test_modulefinder leaked when run after test_distutils.  Patch by Hirokazu
+Yamamoto.
+
+..
+
+.. bpo: 6048
+.. date: 7499
+.. nonce: 8c4ttr
+.. section: Library
+
+Now Distutils uses the tarfile module in archive_util.
+
+..
+
+.. bpo: 6121
+.. date: 7498
+.. nonce: u-IDuG
+.. section: Library
+
+pydoc now ignores leading and trailing spaces in the argument to the 'help'
+function.
+
+..
+
+.. bpo: 0
+.. date: 7497
+.. nonce: zlEDRS
+.. section: Library
+
+In unittest, using a skipping decorator on a class is now equivalent to
+skipping every test on the class.  The ClassTestSuite class has been
+removed.
+
+..
+
+.. bpo: 6050
+.. date: 7496
+.. nonce: tl_8xc
+.. section: Library
+
+Don't fail extracting a directory from a zipfile if the directory already
+exists.
+
+..
+
+.. bpo: 5311
+.. date: 7495
+.. nonce: 0oOK6H
+.. section: Library
+
+bdist_msi can now build packages that do not depend on a specific Python
+version.
+
+..
+
+.. bpo: 1309352
+.. date: 7494
+.. nonce: WM3egI
+.. section: Library
+
+fcntl now converts its third arguments to a C `long` rather than an int,
+which makes some operations possible under 64-bit Linux (e.g. DN_MULTISHOT
+with F_NOTIFY).
+
+..
+
+.. bpo: 1424152
+.. date: 7493
+.. nonce: ajujge
+.. section: Library
+
+Fix for httplib, urllib2 to support SSL while working through proxy.
+Original patch by Christopher Li, changes made by Senthil Kumaran.
+
+..
+
+.. bpo: 1983
+.. date: 7492
+.. nonce: 4NQtSC
+.. section: Library
+
+Fix functions taking or returning a process identifier to use the dedicated
+C type ``pid_t`` instead of a C ``int``.  Some platforms have a process
+identifier type wider than the standard C integer type.
+
+..
+
+.. bpo: 4066
+.. date: 7491
+.. nonce: 2iOjZ9
+.. section: Library
+
+smtplib.SMTP_SSL._get_socket now correctly returns the socket. Patch by
+Farhan Ahmad, test by Marcin Bachry.
+
+..
+
+.. bpo: 6062
+.. date: 7490
+.. nonce: 9WLZ5z
+.. section: Library
+
+In distutils, fixed the package option of build_ext.  Feedback and tests on
+pywin32 by Tim Golden.
+
+..
+
+.. bpo: 6053
+.. date: 7489
+.. nonce: WvTL0w
+.. section: Library
+
+Fixed distutils tests on win32.  Patch by Hirokazu Yamamoto.
+
+..
+
+.. bpo: 6046
+.. date: 7488
+.. nonce: cMZ2Tc
+.. section: Library
+
+Fixed the library extension when distutils build_ext is used in place.
+Initial patch by Roumen Petrov.
+
+..
+
+.. bpo: 6041
+.. date: 7487
+.. nonce: sw57bD
+.. section: Library
+
+Now distutils `sdist` and `register` commands use `check` as a subcommand.
+
+..
+
+.. bpo: 2116
+.. date: 7486
+.. nonce: 8p8xN6
+.. section: Library
+
+Weak references and weak dictionaries now support copy()ing and
+deepcopy()ing.
+
+..
+
+.. bpo: 1655
+.. date: 7485
+.. nonce: M-5sGT
+.. section: Library
+
+Make imaplib IPv6-capable.  Patch by Derek Morr.
+
+..
+
+.. bpo: 5918
+.. date: 7484
+.. nonce: x-8Oxl
+.. section: Library
+
+Fix a crash in the parser module.
+
+..
+
+.. bpo: 1664
+.. date: 7483
+.. nonce: sRl46y
+.. section: Library
+
+Make nntplib IPv6-capable.  Patch by Derek Morr.
+
+..
+
+.. bpo: 6022
+.. date: 7482
+.. nonce: Y3dUhe
+.. section: Library
+
+A test file was created in the current working directory by test_get_outputs
+in Distutils.
+
+..
+
+.. bpo: 4050
+.. date: 7481
+.. nonce: mjHlfF
+.. section: Library
+
+inspect.findsource/getsource now raise an IOError if the 'source' file is a
+binary.  Patch by Brodie Rao, tests by Daniel Diniz.
+
+..
+
+.. bpo: 5977
+.. date: 7480
+.. nonce: xcP2Su
+.. section: Library
+
+distutils build_ext.get_outputs was not taking into account the inplace
+option.  Initial patch by kxroberto.
+
+..
+
+.. bpo: 5984
+.. date: 7479
+.. nonce: evqxbf
+.. section: Library
+
+distutils.command.build_ext.check_extensions_list checks were broken for
+old-style extensions.
+
+..
+
+.. bpo: 5971
+.. date: 7478
+.. nonce: IQW2NO
+.. section: Library
+
+StreamHandler.handleError now swallows IOErrors which occur when trying to
+print a traceback.
+
+..
+
+.. bpo: 5976
+.. date: 7477
+.. nonce: 01_dSR
+.. section: Library
+
+Fixed Distutils test_check_environ.
+
+..
+
+.. bpo: 5900
+.. date: 7476
+.. nonce: uMqjsO
+.. section: Library
+
+Ensure RUNPATH is added to extension modules with RPATH if GNU ld is used.
+Original patch by Floris Bruynooghe.
+
+..
+
+.. bpo: 5941
+.. date: 7475
+.. nonce: Xdk_6Y
+.. section: Library
+
+Distutils build_clib command was not working anymore because of an
+incomplete customization of the archiver command.  Added ARFLAGS in the
+Makefile besides AR and make Distutils use it.  Original patch by David
+Cournapeau.
+
+..
+
+.. bpo: 5955
+.. date: 7474
+.. nonce: rZM3XY
+.. section: Library
+
+aifc's close method did not close the file it wrapped, now it does.  This
+also means getfp method now returns the real fp.
+
+..
+
+.. bpo: 4875
+.. date: 7473
+.. nonce: lozHFb
+.. section: Library
+
+On win32, ctypes.util.find_library does no longer return directories.
+
+..
+
+.. bpo: 5142
+.. date: 7472
+.. nonce: XGXII1
+.. section: Library
+
+Add the ability to skip modules while stepping to pdb.
+
+..
+
+.. bpo: 1309567
+.. date: 7471
+.. nonce: wcqooN
+.. section: Library
+
+Fix linecache behavior of stripping subdirectories when looking for files
+given by a relative filename.
+
+..
+
+.. bpo: 5692
+.. date: 7470
+.. nonce: XbbGod
+.. section: Library
+
+In ``zipfile.Zipfile``, fix wrong path calculation when extracting a file to
+the root directory.
+
+..
+
+.. bpo: 5913
+.. date: 7469
+.. nonce: Gg7oAA
+.. section: Library
+
+``os.listdir()`` should fail for empty path on windows.
+
+..
+
+.. bpo: 5084
+.. date: 7468
+.. nonce: 28LIEg
+.. section: Library
+
+Unpickling now interns the attribute names of pickled objects, saving memory
+and avoiding growth in size of subsequent pickles.  Proposal and original
+patch by Jake McGuire.
+
+..
+
+.. bpo: 3002
+.. date: 7467
+.. nonce: Q2Bwlw
+.. section: Library
+
+``shutil.copyfile()`` and ``shutil.copytree()`` now raise an error when a
+named pipe is encountered, rather than blocking infinitely.
+
+..
+
+.. bpo: 3959
+.. date: 7466
+.. nonce: JOcNpv
+.. section: Library
+
+The ipaddr module has been added to the standard library. Contributed by
+Google.
+
+..
+
+.. bpo: 2245
+.. date: 7465
+.. nonce: wM6yIG
+.. section: Library
+
+aifc now skips chunk types it doesn't recognize, per spec.
+
+..
+
+.. bpo: 5874
+.. date: 7464
+.. nonce: Wrh4pp
+.. section: Library
+
+distutils.tests.test_config_cmd is not locale-sensitive anymore.
+
+..
+
+.. bpo: 4305
+.. date: 7463
+.. nonce: yHp6W2
+.. section: Library
+
+ctypes should now build again on mipsel-linux-gnu
+
+..
+
+.. bpo: 1734234
+.. date: 7462
+.. nonce: I3S_a6
+.. section: Library
+
+Massively speedup ``unicodedata.normalize()`` when the string is already in
+normalized form, by performing a quick check beforehand. Original patch by
+Rauli Ruohonen.
+
+..
+
+.. bpo: 5853
+.. date: 7461
+.. nonce: oKokIP
+.. section: Library
+
+Calling a function of the mimetypes module from several threads at once
+could hit the recursion limit if the mimetypes database hadn't been
+initialized before.
+
+..
+
+.. bpo: 5854
+.. date: 7460
+.. nonce: 8o0llM
+.. section: Library
+
+Updated __all__ to include some missing names and remove some names which
+should not be exported.
+
+..
+
+.. bpo: 5810
+.. date: 7459
+.. nonce: LFr2OK
+.. section: Library
+
+Fixed Distutils test_build_scripts so it uses
+``sysconfig.get_config_vars()``.
+
+..
+
+.. bpo: 4951
+.. date: 7458
+.. nonce: 9eKc7j
+.. section: Library
+
+Fixed failure in test_httpservers.
+
+..
+
+.. bpo: 3102
+.. date: 7457
+.. nonce: LDgk6Z
+.. section: Library
+
+All global symbols that the _ctypes extension defines are now prefixed with
+'Py' or '_ctypes'.
+
+..
+
+.. bpo: 5041
+.. date: 7456
+.. nonce: 8SM2Q6
+.. section: Library
+
+ctypes does now allow pickling wide character.
+
+..
+
+.. bpo: 5812
+.. date: 7455
+.. nonce: DG4u35
+.. section: Library
+
+For the two-argument form of the Fraction constructor, ``Fraction(m, n)``, m
+and n are permitted to be arbitrary Rational instances.
+
+..
+
+.. bpo: 5812
+.. date: 7454
+.. nonce: bdeIy6
+.. section: Library
+
+Fraction('1e6') is valid: more generally, any string that's valid for
+float() is now valid for Fraction(), with the exception of strings
+representing NaNs and infinities.
+
+..
+
+.. bpo: 5795
+.. date: 7453
+.. nonce: _5SXcu
+.. section: Library
+
+Fixed test_distutils failure on Debian ppc.
+
+..
+
+.. bpo: 5768
+.. date: 7452
+.. nonce: Lx3FBy
+.. section: Library
+
+Fixed bug in Unicode output logic and test case for same.
+
+..
+
+.. bpo: 1161031
+.. date: 7451
+.. nonce: vIHCeg
+.. section: Library
+
+Fix readwrite select flag handling: POLLPRI now results in a
+handle_expt_event call, not handle_read_event, and POLLERR and POLLNVAL now
+call handle_close, not handle_expt_event.  Also, dispatcher now has an
+'ignore_log_types' attribute for suppressing log messages, which is set to
+'warning' by default.
+
+..
+
+.. bpo: 5607
+.. date: 7450
+.. nonce: GlYpK6
+.. section: Library
+
+Fixed Distutils test_get_platform for Mac OS X fat binaries.
+
+..
+
+.. bpo: 5741
+.. date: 7449
+.. nonce: sKDQuN
+.. section: Library
+
+Don't disallow "%%" (which is an escape for "%") when setting a value in
+SafeConfigParser.
+
+..
+
+.. bpo: 5732
+.. date: 7448
+.. nonce: BxEaO_
+.. section: Library
+
+Added a new command in Distutils: check.
+
+..
+
+.. bpo: 5731
+.. date: 7447
+.. nonce: tCA4Qq
+.. section: Library
+
+Distutils bdist_wininst no longer worked on non-Windows platforms.  Initial
+patch by Paul Moore.
+
+..
+
+.. bpo: 2254
+.. date: 7446
+.. nonce: XwszLk
+.. section: Library
+
+Fix CGIHTTPServer information disclosure.  Relative paths are now collapsed
+within the url properly before looking in cgi_directories.
+
+..
+
+.. bpo: 5095
+.. date: 7445
+.. nonce: xiSRDz
+.. section: Library
+
+Added bdist_msi to the list of bdist supported formats.  Initial fix by
+Steven Bethard.
+
+..
+
+.. bpo: 1491431
+.. date: 7444
+.. nonce: aNp23F
+.. section: Library
+
+Fixed distutils.filelist.glob_to_re for edge cases.  Initial fix by Wayne
+Davison.
+
+..
+
+.. bpo: 5693
+.. date: 7443
+.. nonce: M0PEHJ
+.. section: Library
+
+TestSuite.__iter__ can now be consistently overridden in subclasses.
+
+..
+
+.. bpo: 5694
+.. date: 7442
+.. nonce: ZvKxFR
+.. section: Library
+
+Removed spurious test output in Distutils (test_clean).
+
+..
+
+.. bpo: 5471
+.. date: 7441
+.. nonce: BKf7Q4
+.. section: Library
+
+Fix os.path.expanduser() for $HOME set to '/'.
+
+..
+
+.. bpo: 1326077
+.. date: 7440
+.. nonce: if0OW2
+.. section: Library
+
+Fix the formatting of SyntaxErrors by the traceback module.
+
+..
+
+.. bpo: 1726172
+.. date: 7439
+.. nonce: e2vy9u
+.. section: Library
+
+Fix IndexError in the case of and empty response in ftplib.
+
+..
+
+.. bpo: 2625
+.. date: 7438
+.. nonce: _XRRkk
+.. section: Library
+
+Added missing iteritems() call to the for loop in mailbox.MH.get_message().
+
+..
+
+.. bpo: 5585
+.. date: 7437
+.. nonce: YAZXyy
+.. section: Library
+
+Add the ability to call an initializer to multiprocessing.manager so that
+users can install custom handlers/etc.
+
+..
+
+.. bpo: 3551
+.. date: 7436
+.. nonce: Cu6Cul
+.. section: Library
+
+Patch multiprocessing to raise a proper exception if the size of the object
+when writefile is called causes an ERROR_NO_SYSTEM_RESOURCES.  Added docs to
+note the limitation.
+
+..
+
+.. bpo: 0
+.. date: 7435
+.. nonce: xAXTK2
+.. section: Library
+
+unittest.assertNotEqual() now uses the inequality operator (!=) instead of
+the equality operator.
+
+..
+
+.. bpo: 6001
+.. date: 7434
+.. nonce: oWiMFG
+.. section: Library
+
+Test discovery for unittest. Implemented in unittest.TestLoader.discover and
+from the command line.
+
+..
+
+.. bpo: 5679
+.. date: 7433
+.. nonce: GDbJ3F
+.. section: Library
+
+The methods unittest.TestCase.addCleanup and doCleanups were added.
+addCleanup allows you to add cleanup functions that will be called
+unconditionally (after setUp if setUp fails, otherwise after tearDown). This
+allows for much simpler resource allocation and deallocation during tests.
+
+..
+
+.. bpo: 3379
+.. date: 7432
+.. nonce: yfUkbC
+.. section: Library
+
+unittest.main now takes an optional exit argument. If False main doesn't
+call sys.exit allowing it to be used from the interactive interpreter.
+
+..
+
+.. bpo: 5995
+.. date: 7431
+.. nonce: S0agLh
+.. section: Library
+
+unittest.main now takes an optional verbosity argument allowing test modules
+to be run with a higher than default verbosity.
+
+..
+
+.. bpo: 5995
+.. date: 7430
+.. nonce: zjk0GI
+.. section: Library
+
+A fix to allow you to run "python -m unittest test_module" or "python -m
+unittest test_module.TestClass" from the command line.
+
+..
+
+.. bpo: 5728
+.. date: 7429
+.. nonce: wPx88T
+.. section: Library
+
+unittest.TestResult has new startTestRun and stopTestRun methods; called
+immediately before and after a test run.
+
+..
+
+.. bpo: 5663
+.. date: 7428
+.. nonce: FdiDuS
+.. section: Library
+
+Better failure messages for unittest asserts. Default assertTrue and
+assertFalse messages are now useful. TestCase has a longMessage attribute.
+This defaults to False, but if set to True useful error messages are shown
+in addition to explicit messages passed to assert methods.
+
+..
+
+.. bpo: 3110
+.. date: 7427
+.. nonce: ybmLDs
+.. section: Library
+
+Add additional protect around SEM_VALUE_MAX for multiprocessing.
+
+..
+
+.. bpo: 0
+.. date: 7426
+.. nonce: PTlc4y
+.. section: Library
+
+In Pdb, prevent the reassignment of __builtin__._ by sys.displayhook on
+printing out values.
+
+..
+
+.. bpo: 4572
+.. date: 7425
+.. nonce: yh5ziP
+.. section: Library
+
+Added SEEK_* symbolic constants to io module.
+
+..
+
+.. bpo: 1665206
+.. date: 7424
+.. nonce: 8AhGz1
+.. section: Library
+
+Move imports in cgitb to the top of the module instead of performing them in
+functions. Helps prevent import deadlocking in threads.
+
+..
+
+.. bpo: 5647
+.. date: 7423
+.. nonce: KPmSmW
+.. section: Library
+
+MutableSet.__iand__() no longer mutates self during iteration.
+
+..
+
+.. bpo: 0
+.. date: 7422
+.. nonce: t0Sm7D
+.. section: Library
+
+Actually make the SimpleXMLRPCServer CGI handler work.
+
+..
+
+.. bpo: 2522
+.. date: 7421
+.. nonce: TTa0fi
+.. section: Library
+
+locale.format() now checks its first argument to ensure it has been passed
+only one pattern, avoiding mysterious errors where it appeared that it was
+failing to do localization.
+
+..
+
+.. bpo: 5583
+.. date: 7420
+.. nonce: GNjR3y
+.. section: Library
+
+Added optional extensions in Distutils.  Initial patch by Georg Brandl.
+
+..
+
+.. bpo: 5619
+.. date: 7419
+.. nonce: IkF1og
+.. section: Library
+
+Multiprocessing children disobey the debug flag and causes popups on windows
+buildbots.  Patch applied to work around this issue.
+
+..
+
+.. bpo: 5632
+.. date: 7418
+.. nonce: OcociP
+.. section: Library
+
+Thread.ident was None for the main thread and threads not created with the
+threading module.
+
+..
+
+.. bpo: 5400
+.. date: 7417
+.. nonce: zmbm0t
+.. section: Library
+
+Added patch for multiprocessing on netbsd compilation/support.
+
+..
+
+.. bpo: 5387
+.. date: 7416
+.. nonce: uvZ11E
+.. section: Library
+
+Fixed mmap.move crash by integer overflow.
+
+..
+
+.. bpo: 5261
+.. date: 7415
+.. nonce: py6jc9
+.. section: Library
+
+Patch multiprocessing's semaphore.c to support context manager use: "with
+multiprocessing.Lock()" works now.
+
+..
+
+.. bpo: 5177
+.. date: 7414
+.. nonce: eRUMiM
+.. section: Library
+
+Multiprocessing's SocketListener class now uses socket.SO_REUSEADDR on all
+connections so that the user no longer needs to wait 120 seconds for the
+socket to expire.
+
+..
+
+.. bpo: 0
+.. date: 7413
+.. nonce: pFfCqO
+.. section: Library
+
+Adjusted _tkinter to compile without warnings when WITH_THREAD is not
+defined (part of issue #5035).
+
+..
+
+.. bpo: 5561
+.. date: 7412
+.. nonce: 11jxV4
+.. section: Library
+
+Removed the sys.version_info shortcuts from platform's python_version() and
+python_version_tuple() since they produced different output compared to
+previous Python versions.
+
+..
+
+.. bpo: 1034053
+.. date: 7411
+.. nonce: kAn84D
+.. section: Library
+
+unittest now supports skipping tests and expected failures.
+
+..
+
+.. bpo: 0
+.. date: 7410
+.. nonce: GHZyr1
+.. section: Library
+
+The unittest.TestCase.assertRaises() method now returns a context manager
+when not given a callable so that code to be tested can be written inline
+using a with statement.
+
+..
+
+.. bpo: 2578
+.. date: 7409
+.. nonce: JvL31E
+.. section: Library
+
+The unittest.TestCase.assertEqual() now displays the differences in lists,
+tuples, dicts and sets on failure.  Many new handy type and comparison
+specific assert* methods have been added that fail with error messages
+actually useful for debugging.  Contributed in part by Google.
+
+..
+
+.. bpo: 5068
+.. date: 7408
+.. nonce: MXgCgm
+.. section: Library
+
+Fixed the tarfile._BZ2Proxy.read() method that would loop forever on
+incomplete input.  That caused tarfile.open() to hang when used with mode
+'r' or 'r:bz2' and a fileobj argument that contained no data or partial
+bzip2 compressed data.
+
+..
+
+.. bpo: 5536
+.. date: 7407
+.. nonce: 9f--jv
+.. section: Library
+
+urllib.urlretrieve makes sure to close the file it's writing to even if an
+exception occurs.
+
+..
+
+.. bpo: 5381
+.. date: 7406
+.. nonce: qzMSVP
+.. section: Library
+
+Added object_pairs_hook to the json module.  This allows OrderedDicts to be
+built by the decoder.
+
+..
+
+.. bpo: 2110
+.. date: 7405
+.. nonce: VVQTv0
+.. section: Library
+
+Add support for thousands separator and 'n' type specifier to
+``Decimal.__format__()``.
+
+..
+
+.. bpo: 0
+.. date: 7404
+.. nonce: E4kk25
+.. section: Library
+
+Fix Decimal.__format__ bug that swapped the meanings of the '<' and '>'
+alignment characters.
+
+..
+
+.. bpo: 1222
+.. date: 7403
+.. nonce: o6ET8T
+.. section: Library
+
+``locale.format()`` bug when the thousands separator is a space character.
+
+..
+
+.. bpo: 5472
+.. date: 7402
+.. nonce: y52FYs
+.. section: Library
+
+Fixed distutils.test_util tear down. Original patch by Tim Golden.
+
+..
+
+.. bpo: 0
+.. date: 7401
+.. nonce: 353Xjd
+.. section: Library
+
+collections.deque objects now have a read-only attribute called maxlen.
+
+..
+
+.. bpo: 2638
+.. date: 7400
+.. nonce: NX9HHb
+.. section: Library
+
+Show a window constructed with tkSimpleDialog.Dialog only after it is has
+been populated and properly configured in order to prevent window flashing.
+
+..
+
+.. bpo: 4792
+.. date: 7399
+.. nonce: jK4Q6l
+.. section: Library
+
+Prevent a segfault in _tkinter by using the guaranteed to be safe interp
+argument given to the PythonCmd in place of the Tcl interpreter taken from a
+PythonCmd_ClientData.
+
+..
+
+.. bpo: 5193
+.. date: 7398
+.. nonce: cT2tgG
+.. section: Library
+
+Guarantee that Tkinter.Text.search returns a string.
+
+..
+
+.. bpo: 5394
+.. date: 7397
+.. nonce: i2Ffk-
+.. section: Library
+
+Removed > 2.3 syntax from distutils.msvc9compiler. Original patch by Akira
+Kitada.
+
+..
+
+.. bpo: 5385
+.. date: 7396
+.. nonce: I6RMU3
+.. section: Library
+
+Fixed mmap crash after resize failure on windows.
+
+..
+
+.. bpo: 5179
+.. date: 7395
+.. nonce: J-DtY4
+.. section: Library
+
+Fixed subprocess handle leak on failure on windows.
+
+..
+
+.. bpo: 0
+.. date: 7394
+.. nonce: 7zHVyM
+.. section: Library
+
+PEP 372: Added collections.OrderedDict().
+
+..
+
+.. bpo: 0
+.. date: 7393
+.. nonce: 7DzM2Y
+.. section: Library
+
+The _asdict() for method for namedtuples now returns an OrderedDict().
+
+..
+
+.. bpo: 0
+.. date: 7392
+.. nonce: 4id7jq
+.. section: Library
+
+The configparser module now defaults to using an ordered dictionary.
+
+..
+
+.. bpo: 4308
+.. date: 7391
+.. nonce: 7O6QSe
+.. section: Library
+
+httplib.IncompleteRead's repr doesn't include all of the data all ready
+received.
+
+..
+
+.. bpo: 5401
+.. date: 7390
+.. nonce: L67vEY
+.. section: Library
+
+Fixed a performance problem in mimetypes when ``from mimetypes import
+guess_extension`` was used.
+
+..
+
+.. bpo: 1733986
+.. date: 7389
+.. nonce: v6ClaV
+.. section: Library
+
+Fixed mmap crash on Windows in accessing elements of second map object with
+same tagname but larger size than first map.
+
+..
+
+.. bpo: 5386
+.. date: 7388
+.. nonce: Mfoc4E
+.. section: Library
+
+mmap.write_byte didn't check map size, so it could cause buffer overrun.
+
+..
+
+.. bpo: 1533164
+.. date: 7387
+.. nonce: oSDeo2
+.. section: Library
+
+Installed but not listed *.pyo was breaking Distutils bdist_rpm command.
+
+..
+
+.. bpo: 5378
+.. date: 7386
+.. nonce: Nu7yhK
+.. section: Library
+
+Added --quiet option to Distutils bdist_rpm command.
+
+..
+
+.. bpo: 5052
+.. date: 7385
+.. nonce: tuRmM7
+.. section: Library
+
+Make Distutils compatible with 2.3 again.
+
+..
+
+.. bpo: 0
+.. date: 7384
+.. nonce: i4QWFU
+.. section: Library
+
+Deprecated methods of symtable.Symbol have been removed: is_keywordarg(),
+is_vararg(), and is_in_tuple().
+
+..
+
+.. bpo: 5316
+.. date: 7383
+.. nonce: gdWjbL
+.. section: Library
+
+Fixed buildbot failures introduced by multiple inheritance in Distutils
+tests.
+
+..
+
+.. bpo: 5287
+.. date: 7382
+.. nonce: m3xQet
+.. section: Library
+
+Add exception handling around findCaller() call to help out IronPython.
+
+..
+
+.. bpo: 5282
+.. date: 7381
+.. nonce: oc64yd
+.. section: Library
+
+Fixed mmap resize on 32bit Windows and Unix.  When ``offset > 0``, the file
+was resized to wrong size.
+
+..
+
+.. bpo: 5292
+.. date: 7380
+.. nonce: K-iKkZ
+.. section: Library
+
+Fixed mmap crash on its boundary access m[len(m)].
+
+..
+
+.. bpo: 2279
+.. date: 7379
+.. nonce: T7t8d0
+.. section: Library
+
+distutils.sdist.add_defaults now add files from the package_data and the
+data_files metadata.
+
+..
+
+.. bpo: 5257
+.. date: 7378
+.. nonce: asNrGx
+.. section: Library
+
+Refactored all tests in distutils, so they use support.TempdirManager, to
+avoid writing in the tests directory.
+
+..
+
+.. bpo: 4524
+.. date: 7377
+.. nonce: Y3L_fh
+.. section: Library
+
+distutils build_script command failed with --with-suffix=3. Initial patch by
+Amaury Forgeot d'Arc.
+
+..
+
+.. bpo: 2461
+.. date: 7376
+.. nonce: RD653P
+.. section: Library
+
+Added tests for distutils.util.
+
+..
+
+.. bpo: 1008086
+.. date: 7375
+.. nonce: BbViq-
+.. section: Library
+
+Fixed socket.inet_aton() to always return 4 bytes even on LP64 platforms
+(most 64-bit Linux, bsd, unix systems).
+
+..
+
+.. bpo: 5203
+.. date: 7374
+.. nonce: _dsCYh
+.. section: Library
+
+Fixed ctypes segfaults when passing a unicode string to a function without
+argtypes (only occurs if HAVE_USABLE_WCHAR_T is false).
+
+..
+
+.. bpo: 3386
+.. date: 7373
+.. nonce: KG-Ru5
+.. section: Library
+
+distutils.sysconfig.get_python_lib prefix argument was ignored under NT and
+OS2. Patch by Philip Jenvey.
+
+..
+
+.. bpo: 5128
+.. date: 7372
+.. nonce: RLP-Ij
+.. section: Library
+
+Make compileall properly inspect bytecode to determine if needs to be
+recreated.  This avoids a timing hole thanks to the old reliance on the
+ctime of the files involved.
+
+..
+
+.. bpo: 5122
+.. date: 7371
+.. nonce: 45BIdZ
+.. section: Library
+
+Synchronize tk load failure check to prevent a potential deadlock.
+
+..
+
+.. bpo: 1818
+.. date: 7370
+.. nonce: _i2lg8
+.. section: Library
+
+collections.namedtuple() now supports a keyword argument 'rename' which lets
+invalid fieldnames be automatically converted to positional names in the
+form, _1, _2, ...
+
+..
+
+.. bpo: 4890
+.. date: 7369
+.. nonce: frM5Ou
+.. section: Library
+
+Handle empty text search pattern in Tkinter.Text.search.
+
+..
+
+.. bpo: 5170
+.. date: 7368
+.. nonce: qiqrbO
+.. section: Library
+
+Fixed Unicode output bug in logging and added test case.  This is a
+regression which did not occur in 2.5.
+
+..
+
+.. bpo: 4512
+.. date: 7367
+.. nonce: WCcn7w
+.. section: Library
+
+Promote ``ZipImporter._get_filename()`` to be a public documented method
+``ZipImporter.get_filename()``.
+
+..
+
+.. bpo: 4195
+.. date: 7366
+.. nonce: 462RKE
+.. section: Library
+
+The ``runpy`` module (and the ``-m`` switch) now support the execution of
+packages by looking for and executing a ``__main__`` submodule when a
+package name is supplied. Initial patch by Andi Vajda.
+
+..
+
+.. bpo: 1731706
+.. date: 7365
+.. nonce: WZ5WX5
+.. section: Library
+
+Call Tcl_ConditionFinalize for Tcl_Conditions that will not be used again
+(this requires Tcl/Tk 8.3.1), also fix a memory leak in Tkapp_Call when
+calling from a thread different than the one that created the Tcl
+interpreter.  Patch by Robert Hancock.
+
+..
+
+.. bpo: 1520877
+.. date: 7364
+.. nonce: 8L5pMp
+.. section: Library
+
+Now distutils.sysconfig reads $AR from the environment/Makefile. Patch by
+Douglas Greiman.
+
+..
+
+.. bpo: 4285
+.. date: 7363
+.. nonce: 3vlvS6
+.. section: Library
+
+Change sys.version_info to be a named tuple.  Patch by Ross Light.
+
+..
+
+.. bpo: 1276768
+.. date: 7362
+.. nonce: xGRlK_
+.. section: Library
+
+The verbose option was not used in the code of distutils.file_util and
+distutils.dir_util.
+
+..
+
+.. bpo: 5132
+.. date: 7361
+.. nonce: lYsgxj
+.. section: Library
+
+Fixed trouble building extensions under Solaris with --enabled-shared
+activated. Initial patch by Dave Peterson.
+
+..
+
+.. bpo: 1581476
+.. date: 7360
+.. nonce: 8PPtxr
+.. section: Library
+
+Always use the Tcl global namespace when calling into Tcl.
+
+..
+
+.. bpo: 2047
+.. date: 7359
+.. nonce: W29q2y
+.. section: Library
+
+shutil.move() could believe that its destination path was inside its source
+path if it began with the same letters (e.g. "src" vs.  "src.new").
+
+..
+
+.. bpo: 4920
+.. date: 7358
+.. nonce: 4C6Tka
+.. section: Library
+
+Fixed .next() vs .__next__() issues in the ABCs for Iterator and MutableSet.
+
+..
+
+.. bpo: 0
+.. date: 7357
+.. nonce: St1AK1
+.. section: Library
+
+Added the ttk module. See issue #2983: Ttk support for Tkinter.
+
+..
+
+.. bpo: 5021
+.. date: 7356
+.. nonce: w66Gt4
+.. section: Library
+
+doctest.testfile() did not create __name__ and collections.namedtuple()
+relied on __name__ being defined.
+
+..
+
+.. bpo: 0
+.. date: 7355
+.. nonce: iqhL-t
+.. section: Library
+
+Backport importlib from Python 3.1. Only the import_module() function has
+been backported to help facilitate transitions from 2.7 to 3.1.
+
+..
+
+.. bpo: 1885
+.. date: 7354
+.. nonce: PtaVKd
+.. section: Library
+
+distutils: When running sdist with --formats=tar,gztar the tar file was
+overridden by the gztar one.
+
+..
+
+.. bpo: 4863
+.. date: 7353
+.. nonce: WAd1yO
+.. section: Library
+
+distutils.mwerkscompiler has been removed.
+
+..
+
+.. bpo: 0
+.. date: 7352
+.. nonce: N87zoU
+.. section: Library
+
+Added new itertools functions: combinations_with_replacement() and
+compress().
+
+..
+
+.. bpo: 5032
+.. date: 7351
+.. nonce: Hc_HF9
+.. section: Library
+
+Added a step argument to itertools.count() and allowed non-integer
+arguments.
+
+..
+
+.. bpo: 0
+.. date: 7350
+.. nonce: htGT5q
+.. section: Library
+
+Fix and properly document the multiprocessing module's logging support,
+expose the internal levels and provide proper usage examples.
+
+..
+
+.. bpo: 1672332
+.. date: 7349
+.. nonce: PilXzF
+.. section: Library
+
+Fix unpickling of subnormal floats, which was producing a ValueError on some
+platforms.
+
+..
+
+.. bpo: 3881
+.. date: 7348
+.. nonce: bIWN64
+.. section: Library
+
+Help Tcl to load even when started through the unreadable local symlink to
+"Program Files" on Vista.
+
+..
+
+.. bpo: 4710
+.. date: 7347
+.. nonce: ZjbAFp
+.. section: Library
+
+Extract directories properly in the zipfile module; allow adding directories
+to a zipfile.
+
+..
+
+.. bpo: 3807
+.. date: 7346
+.. nonce: E4I458
+.. section: Library
+
+_multiprocessing build fails when configure is passed --without-threads
+argument. When this occurs, _multiprocessing will be disabled, and not
+compiled.
+
+..
+
+.. bpo: 5008
+.. date: 7345
+.. nonce: n1uR4V
+.. section: Library
+
+When a file is opened in append mode with the new IO library, do an explicit
+seek to the end of file (so that e.g. tell() returns the file size rather
+than 0). This is consistent with the behaviour of the traditional 2.x file
+object.
+
+..
+
+.. bpo: 5013
+.. date: 7344
+.. nonce: AZ9WNo
+.. section: Library
+
+Fixed a bug in FileHandler which occurred when the delay parameter was set.
+
+..
+
+.. bpo: 4998
+.. date: 7343
+.. nonce: AomdSw
+.. section: Library
+
+The memory saving effect of __slots__ had been lost on Fractions which
+inherited from numbers.py which did not have __slots__ defined.  The numbers
+hierarchy now has its own __slots__ declarations.
+
+..
+
+.. bpo: 3321
+.. date: 7342
+.. nonce: 4gfMOk
+.. section: Library
+
+_multiprocessing.Connection() doesn't check handle; added checks for *nix
+machines for negative handles and large int handles.  Without this check it
+is possible to segfault the interpreter.
+
+..
+
+.. bpo: 4449
+.. date: 7341
+.. nonce: O4I8D7
+.. section: Library
+
+AssertionError in mp_benchmarks.py, caused by an underlying issue in
+sharedctypes.py.
+
+..
+
+.. bpo: 1225107
+.. date: 7340
+.. nonce: p6wro7
+.. section: Library
+
+inspect.isclass() returned True for instances with a custom __getattr__.
+
+..
+
+.. bpo: 3997
+.. date: 7339
+.. nonce: kDqtnQ
+.. section: Library
+
+Zipfiles generated with more than 65536 files could not be opened with other
+applications.
+
+..
+
+.. bpo: 1162154
+.. date: 7338
+.. nonce: QHeSnh
+.. section: Library
+
+``inspect.getmembers()`` now skips attributes that raise AttributeError,
+e.g. a __slots__ attribute which has not been set.
+
+..
+
+.. bpo: 1696199
+.. date: 7337
+.. nonce: cR113m
+.. section: Library
+
+Add collections.Counter() for rapid and convenient counting.
+
+..
+
+.. bpo: 3860
+.. date: 7336
+.. nonce: f8AZsh
+.. section: Library
+
+GzipFile and BZ2File now support the context management protocol.
+
+..
+
+.. bpo: 4272
+.. date: 7335
+.. nonce: auf_M0
+.. section: Library
+
+Add an optional argument to the GzipFile constructor to override the
+timestamp in the gzip stream.  The default value remains the current time.
+The information can be used by e.g. gunzip when decompressing.  Patch by
+Jacques Frechet.
+
+..
+
+.. bpo: 0
+.. date: 7334
+.. nonce: 7sDs9W
+.. section: Library
+
+Restore Python 2.3 compatibility for decimal.py.
+
+..
+
+.. bpo: 1702551
+.. date: 7333
+.. nonce: If0hpw
+.. section: Library
+
+distutils sdist was not excluding VCS directories under Windows. Initial
+solution by Guy Dalberto.
+
+..
+
+.. bpo: 0
+.. date: 7332
+.. nonce: exKvPN
+.. section: Library
+
+The _tkinter module functions "createfilehandler", "deletefilehandler",
+"createtimerhandler", "mainloop", "dooneevent" and "quit" have been
+deprecated for removal in 3.x
+
+..
+
+.. bpo: 4796
+.. date: 7331
+.. nonce: UBKEyz
+.. section: Library
+
+Added Decimal.from_float() and Context.create_decimal_from_float() to the
+decimal module.
+
+..
+
+.. bpo: 4812
+.. date: 7330
+.. nonce: 2hPczw
+.. section: Library
+
+Add missing underscore prefix to some internal-use-only constants in the
+decimal module.  (Dec_0 becomes _Dec_0, etc.)
+
+..
+
+.. bpo: 4795
+.. date: 7329
+.. nonce: _vA-Zf
+.. section: Library
+
+inspect.isgeneratorfunction() returns False instead of None when the
+function is not a generator.
+
+..
+
+.. bpo: 4702
+.. date: 7328
+.. nonce: ybmQBP
+.. section: Library
+
+Throwing a DistutilsPlatformError instead of IOError in case no MSVC
+compiler is found under Windows.  Original patch by Philip Jenvey.
+
+..
+
+.. bpo: 4646
+.. date: 7327
+.. nonce: 7wQSEv
+.. section: Library
+
+distutils was choking on empty options arg in the setup function. Original
+patch by Thomas Heller.
+
+..
+
+.. bpo: 0
+.. date: 7326
+.. nonce: cAjOp1
+.. section: Library
+
+Fractions.from_float() no longer loses precision for integers too big to
+cast as floats.
+
+..
+
+.. bpo: 4790
+.. date: 7325
+.. nonce: aKNjhn
+.. section: Library
+
+The nsmallest() and nlargest() functions in the heapq module did unnecessary
+work in the common case where no key function was specified.
+
+..
+
+.. bpo: 3767
+.. date: 7324
+.. nonce: sY2Wyh
+.. section: Library
+
+Convert Tk object to string in tkColorChooser.
+
+..
+
+.. bpo: 3248
+.. date: 7323
+.. nonce: 6UId_r
+.. section: Library
+
+Allow placing ScrolledText in a PanedWindow.
+
+..
+
+.. bpo: 4444
+.. date: 7322
+.. nonce: oBxx2k
+.. section: Library
+
+Allow assertRaises() to be used as a context handler, so that the code under
+test can be written inline if more practical.
+
+..
+
+.. bpo: 4739
+.. date: 7321
+.. nonce: VoYRrw
+.. section: Library
+
+Add pydoc help topics for symbols, so that e.g. help('@') works as expected
+in the interactive environment.
+
+..
+
+.. bpo: 4756
+.. date: 7320
+.. nonce: pscfIt
+.. section: Library
+
+zipfile.is_zipfile() now supports file-like objects. Patch by Gabriel
+Genellina.
+
+..
+
+.. bpo: 4400
+.. date: 7319
+.. nonce: CSFvcN
+.. section: Library
+
+.pypirc default generated file was broken in distutils.
+
+..
+
+.. bpo: 4736
+.. date: 7318
+.. nonce: qftNAR
+.. section: Library
+
+io.BufferedRWPair's closed property now functions properly.
+
+..
+
+.. bpo: 3954
+.. date: 7317
+.. nonce: vPsfgT
+.. section: Library
+
+Fix a potential SystemError in _hotshot.logreader error handling.
+
+..
+
+.. bpo: 4574
+.. date: 7316
+.. nonce: CXYnzF
+.. section: Library
+
+Fix a crash in io.IncrementalNewlineDecoder when a carriage return encodes
+to more than one byte in the source encoding (e.g. UTF-16) and gets split on
+a chunk boundary.
+
+..
+
+.. bpo: 4223
+.. date: 7315
+.. nonce: UCATW5
+.. section: Library
+
+inspect.getsource() will now correctly display source code for packages
+loaded via zipimport (or any other conformant PEP 302 loader). Original
+patch by Alexander Belopolsky.
+
+..
+
+.. bpo: 4201
+.. date: 7314
+.. nonce: hdQbIQ
+.. section: Library
+
+pdb can now access and display source code loaded via zipimport (or any
+other conformant PEP 302 loader).  Original patch by Alexander Belopolsky.
+
+..
+
+.. bpo: 4197
+.. date: 7313
+.. nonce: IA6tPh
+.. section: Library
+
+Doctests in modules loaded via zipimport (or any other PEP 302 conformant
+loader) will now work correctly in most cases (they are still subject to the
+constraints that exist for all code running from inside a module loaded via
+a PEP 302 loader and attempting to perform IO operations based on __file__).
+Original patch by Alexander Belopolsky.
+
+..
+
+.. bpo: 4082
+.. date: 7312
+.. nonce: jpnXzi
+.. section: Library
+
+Add runpy support to zipimport in a manner that allows backporting to
+maintenance branches.  Original patch by Alexander Belopolsky. (See also:
+bpo-4512)
+
+..
+
+.. bpo: 4163
+.. date: 7311
+.. nonce: r4afWs
+.. section: Library
+
+Use unicode-friendly word splitting in the textwrap functions when given a
+Unicode string.
+
+..
+
+.. bpo: 4616
+.. date: 7310
+.. nonce: EfehU4
+.. section: Library
+
+TarFile.utime(): Restore directory times on Windows.
+
+..
+
+.. bpo: 4084
+.. date: 7309
+.. nonce: CgsU1v
+.. section: Library
+
+Fix max, min, max_mag and min_mag Decimal methods to give correct results in
+the case where one argument is a quiet NaN and the other is a finite number
+that requires rounding.
+
+..
+
+.. bpo: 1030250
+.. date: 7308
+.. nonce: s-KbFX
+.. section: Library
+
+Distutils created directories even when run with the --dry-run option.
+
+..
+
+.. bpo: 4483
+.. date: 7307
+.. nonce: H2pFWf
+.. section: Library
+
+_dbm module now builds on systems with gdbm & gdbm_compat libs.
+
+..
+
+.. bpo: 4529
+.. date: 7306
+.. nonce: J-M1ot
+.. section: Library
+
+Fix the parser module's validation of try-except-finally statements.
+
+..
+
+.. bpo: 4458
+.. date: 7305
+.. nonce: d68Oc-
+.. section: Library
+
+getopt.gnu_getopt() now recognizes a single "-" as an argument, not a
+malformed option.
+
+..
+
+.. bpo: 0
+.. date: 7304
+.. nonce: JcSDah
+.. section: Library
+
+Added the subprocess.check_output() convenience function to get output from
+a subprocess on success or raise an exception on error.
+
+..
+
+.. bpo: 1055234
+.. date: 7303
+.. nonce: PJDWMZ
+.. section: Library
+
+cgi.parse_header(): Fixed parsing of header parameters to support unusual
+filenames (such as those containing semi-colons) in Content-Disposition
+headers.
+
+..
+
+.. bpo: 4384
+.. date: 7302
+.. nonce: 5W6yrD
+.. section: Library
+
+Added logging integration with warnings module using captureWarnings().
+This change includes a NullHandler which does nothing; it will be of use to
+library developers who want to avoid the "No handlers could be found for
+logger XXX" message which can appear if the library user doesn't configure
+logging.
+
+..
+
+.. bpo: 3741
+.. date: 7301
+.. nonce: ugW7ZS
+.. section: Library
+
+DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an exception.
+
+..
+
+.. bpo: 4363
+.. date: 7300
+.. nonce: zbP2s9
+.. section: Library
+
+The uuid.uuid1() and uuid.uuid4() functions now work even if the ctypes
+module is not present.
+
+..
+
+.. bpo: 0
+.. date: 7299
+.. nonce: 9ohu2f
+.. section: Library
+
+FileIO's mode attribute now always includes ``"b"``.
+
+..
+
+.. bpo: 4116
+.. date: 7298
+.. nonce: CD_MP7
+.. section: Library
+
+Resolve member name conflict in ScrolledCanvas.__init__.
+
+..
+
+.. bpo: 0
+.. date: 7297
+.. nonce: QmONdW
+.. section: Library
+
+httplib.HTTPConnection.putheader() now accepts an arbitrary number of values
+for any header, matching what the documentation has claimed for a while.
+
+..
+
+.. bpo: 3774
+.. date: 7296
+.. nonce: qhBNNQ
+.. section: Library
+
+Fixed an error when create a Tkinter menu item without command and then
+remove it.
+
+..
+
+.. bpo: 0
+.. date: 7295
+.. nonce: NbETIR
+.. section: Library
+
+Fixed a modulefinder crash on certain relative imports.
+
+..
+
+.. bpo: 4150
+.. date: 7294
+.. nonce: Q8jnkP
+.. section: Library
+
+Pdb's "up" command now works for generator frames in post-mortem debugging.
+
+..
+
+.. bpo: 4092
+.. date: 7293
+.. nonce: cgu8U7
+.. section: Library
+
+Return ArgInfo as promised in the documentation from inspect.getargvalues.
+
+..
+
+.. bpo: 3935
+.. date: 7292
+.. nonce: xo6LXH
+.. section: Library
+
+Properly support list subclasses in bisect's C implementation.
+
+..
+
+.. bpo: 4014
+.. date: 7291
+.. nonce: VPepZh
+.. section: Library
+
+Don't claim that Python has an Alpha release status, in addition to claiming
+it is Mature.
+
+..
+
+.. bpo: 4730
+.. date: 7290
+.. nonce: Gb-t2A
+.. section: Library
+
+Fixed the cPickle module to handle correctly astral characters when protocol
+0 is used.
+
+..
+
+.. bpo: 1594
+.. date: 7289
+.. nonce: HEsHsF
+.. section: Library
+
+MacOS.GetCreatorAndType now always returns a big-endian result, to be
+consistent with Apple tools.
+
+..
+
+.. bpo: 900949
+.. date: 7288
+.. nonce: WLxHoH
+.. section: Library
+
+plat-mac/videoreader.py no longer relies on a non-existing module.
+
+..
+
+.. bpo: 16278952
+.. date: 7287
+.. nonce: lzPQW7
+.. section: Library
+
+plat-mac/videoreader.py now correctly imports MediaDescr
+
+..
+
+.. bpo: 1737832
+.. date: 7286
+.. nonce: cQdLju
+.. section: Library
+
+plat-mac/EasyDialog.py no longer uses the broken aepack module.
+
+..
+
+.. bpo: 1149804
+.. date: 7285
+.. nonce: -5eLwa
+.. section: Library
+
+macostools.mkdirs now even works when another process creates one of the
+needed subdirectories.
+
+..
+
+.. bpo: 900506
+.. date: 7284
+.. nonce: kVZAZL
+.. section: Library
+
+added --no-zipimport flag to the bundlebuilder script.
+
+..
+
+.. bpo: 841800
+.. date: 7283
+.. nonce: XCnSdr
+.. section: Library
+
+bundlebuilder now works with 'python -O'.
+
+..
+
+.. bpo: 4861
+.. date: 7282
+.. nonce: sIt_9h
+.. section: Library
+
+ctypes.util.find_library(): Robustify. Fix library detection on biarch
+systems.  Try to rely on ldconfig only, without using objdump and gcc.
+
+..
+
+.. bpo: 5104
+.. date: 7281
+.. nonce: YzzKtZ
+.. section: Library
+
+The socket module now raises OverflowError when 16-bit port and protocol
+numbers are supplied outside the allowed 0-65536 range on bind() and
+getservbyport().
+
+..
+
+.. bpo: 999042
+.. date: 7280
+.. nonce: cVohJD
+.. section: Library
+
+The Python compiler now handles explict global statements correctly (should
+be assigned using STORE_GLOBAL opcode).
+
+..
+
+.. bpo: 2703
+.. date: 7279
+.. nonce: nHzm3m
+.. section: Library
+
+SimpleXMLRPCDispatcher.__init__: Provide default values for new arguments
+introduced in 2.5.
+
+..
+
+.. bpo: 5828
+.. date: 7278
+.. nonce: vKsQ82
+.. section: Library
+
+Fixed bogus logic in makeunicodedata.py and regenerated the Unicode database
+(This fixes u'\u1d79'.lower() == '\x00').
+
+..
+
+.. bpo: 0
+.. date: 7277
+.. nonce: aOxIb2
+.. section: Library
+
+Windows locale mapping updated to Vista.
+
+..
+
+.. bpo: 5150
+.. date: 7276
+.. nonce: ROvOEC
+.. section: IDLE
+
+IDLE's format menu now has an option to strip trailing whitespace.
+
+..
+
+.. bpo: 5847
+.. date: 7275
+.. nonce: XwEpMA
+.. section: IDLE
+
+Remove -n switch on "Edit with IDLE" menu item.
+
+..
+
+.. bpo: 0
+.. date: 7274
+.. nonce: 0fQMGL
+.. section: IDLE
+
+idle.py modified and simplified to better support developing experimental
+versions of IDLE which are not installed in the standard location.
+
+..
+
+.. bpo: 5559
+.. date: 7273
+.. nonce: GKhgt1
+.. section: IDLE
+
+OutputWindow/PyShell right click menu "Go to file/line" wasn't working with
+file paths containing spaces.
+
+..
+
+.. bpo: 5783
+.. date: 7272
+.. nonce: oZFpQE
+.. section: IDLE
+
+Windows: Version string for the .chm help file changed, file not being
+accessed.  Patch by Guilherme Polo/
+
+..
+
+.. bpo: 1529142
+.. date: 7271
+.. nonce: _7kvP5
+.. section: IDLE
+
+Allow multiple IDLE GUI/subprocess pairs to exist simultaneously. Thanks to
+David Scherer for suggesting the use of an ephemeral port for the GUI.
+Patch by Weeble.
+
+..
+
+.. bpo: 0
+.. date: 7270
+.. nonce: D4DReJ
+.. section: IDLE
+
+Remove port spec from run.py and fix bug where subprocess fails to extract
+port from command line when warnings are present.
+
+..
+
+.. bpo: 5129
+.. date: 7269
+.. nonce: eVAJqn
+.. section: IDLE
+
+Tk 8.5 Text widget requires 'wordprocessor' tabstyle attr to handle mixed
+space/tab properly. Patch by Guilherme Polo.
+
+..
+
+.. bpo: 3549
+.. date: 7268
+.. nonce: nZ7He6
+.. section: IDLE
+
+On MacOS the preferences menu was not present
+
+..
+
+.. bpo: 0
+.. date: 7267
+.. nonce: fyANj_
+.. section: Tools/Demos
+
+Ttk demos added in Demo/tkinter/ttk/.
+
+..
+
+.. bpo: 4677
+.. date: 7266
+.. nonce: 4BCeec
+.. section: Tools/Demos
+
+Add two list comprehension tests to pybench.
+
+..
+
+.. bpo: 6603
+.. date: 7265
+.. nonce: I-Evb7
+.. section: Build
+
+Change READ_TIMESTAMP macro in ceval.c so that it compiles correctly under
+gcc on x86-64.  This fixes a reported problem with the --with-tsc build on
+x86-64.
+
+..
+
+.. bpo: 0
+.. date: 7264
+.. nonce: fOuNOF
+.. section: Build
+
+Add 2 new options to ``--with-universal-archs`` on MacOSX: ``intel`` builds
+a distribution with ``i386`` and ``x86_64`` architectures, while ``3-way``
+builds a distribution with the ``ppc``, ``i386`` and ``x86_64``
+architectures.
+
+..
+
+.. bpo: 6802
+.. date: 7263
+.. nonce: I0PGjW
+.. section: Build
+
+Fix build issues on MacOSX 10.6.
+
+..
+
+.. bpo: 6244
+.. date: 7262
+.. nonce: hQGLlr
+.. section: Build
+
+Allow detect_tkinter to look for Tcl/Tk 8.6.
+
+..
+
+.. bpo: 5390
+.. date: 7261
+.. nonce: ZnkJkB
+.. section: Build
+
+Add uninstall icon independent of whether file extensions are installed.
+
+..
+
+.. bpo: 5809
+.. date: 7260
+.. nonce: WMK90h
+.. section: Build
+
+Specifying both --enable-framework and --enable-shared is an error.
+Configure now explicitly tells you about this.
+
+..
+
+.. bpo: 3585
+.. date: 7259
+.. nonce: eB4RFU
+.. section: Build
+
+Add pkg-config support.  It creates a python-2.7.pc file and a python.pc
+symlink in the $(LIBDIR)/pkgconfig directory.  Patch by Clinton Roy.
+
+..
+
+.. bpo: 6094
+.. date: 7258
+.. nonce: shJUAU
+.. section: Build
+
+Build correctly with Subversion 1.7.
+
+..
+
+.. bpo: 5726
+.. date: 7257
+.. nonce: nHrlsd
+.. section: Build
+
+Make Modules/ld_so_aix return the actual exit code of the linker, rather
+than always exit successfully.  Patch by Floris Bruynooghe.
+
+..
+
+.. bpo: 4587
+.. date: 7256
+.. nonce: nnNweB
+.. section: Build
+
+Add configure option --with-dbmliborder=db1:db2:... to specify the order
+that backends for the dbm extension are checked.
+
+..
+
+.. bpo: 0
+.. date: 7255
+.. nonce: 9K_NPs
+.. section: Build
+
+Link the shared python library with $(MODLIBS).
+
+..
+
+.. bpo: 5134
+.. date: 7254
+.. nonce: JmNLWO
+.. section: Build
+
+Silence compiler warnings when compiling sqlite with VC++.
+
+..
+
+.. bpo: 4494
+.. date: 7253
+.. nonce: IGajo-
+.. section: Build
+
+Fix build with Py_NO_ENABLE_SHARED on Windows.
+
+..
+
+.. bpo: 4895
+.. date: 7252
+.. nonce: S-3ytm
+.. section: Build
+
+Use _strdup on Windows CE.
+
+..
+
+.. bpo: 4472
+.. date: 7251
+.. nonce: UbvbZD
+.. section: Build
+
+``configure --enable-shared`` now works on OSX.
+
+..
+
+.. bpo: 4728
+.. date: 7250
+.. nonce: FPe7Wi
+.. section: Build
+
+WORDS_BIGEDIAN is now correct in Universal builds. (See also: bpo-4060)
+
+..
+
+.. bpo: 4389
+.. date: 7249
+.. nonce: UrR3rH
+.. section: Build
+
+Add icon to the uninstall entry in "add-and-remove-programs".
+
+..
+
+.. bpo: 4289
+.. date: 7248
+.. nonce: xDo3LW
+.. section: Build
+
+Remove Cancel button from AdvancedDlg.
+
+..
+
+.. bpo: 1656675
+.. date: 7247
+.. nonce: yhrY5M
+.. section: Build
+
+Register a drop handler for .py* files on Windows.
+
+..
+
+.. bpo: 4120
+.. date: 7246
+.. nonce: AJJ_Yg
+.. section: Build
+
+Exclude manifest from extension modules in VS2008.
+
+..
+
+.. bpo: 4091
+.. date: 7245
+.. nonce: j3E4hq
+.. section: Build
+
+Install pythonxy.dll in system32 again.
+
+..
+
+.. bpo: 4018
+.. date: 7244
+.. nonce: UVtBMQ
+.. section: Build
+
+Disable "for me" installations on Vista.
+
+..
+
+.. bpo: 3758
+.. date: 7243
+.. nonce: cBcoI8
+.. section: Build
+
+Add ``patchcheck`` build target to ``.PHONY``.
+
+..
+
+.. bpo: 4204
+.. date: 7242
+.. nonce: NQswDc
+.. section: Build
+
+Fixed module build errors on FreeBSD 4.
+
+..
+
+.. bpo: 6556
+.. date: 7241
+.. nonce: Qn6fFV
+.. section: Documentation
+
+Fixed the Distutils configuration files location explanation for Windows.
+
+..
+
+.. bpo: 6801
+.. date: 7240
+.. nonce: yMIrow
+.. section: Documentation
+
+symmetric_difference_update also accepts ``|``.  Thanks to Carl Chenet.
+
+..
+
+.. bpo: 7528
+.. date: 7239
+.. nonce: CxgEcB
+.. section: C API
+
+Add PyLong_AsLongAndOverflow (backported from py3k).
+
+..
+
+.. bpo: 7228
+.. date: 7238
+.. nonce: Kj3IXX
+.. section: C API
+
+Add '%lld' and '%llu' support to PyString_FromFormat(V) and PyErr_Format, on
+machines with HAVE_LONG_LONG defined.
+
+..
+
+.. bpo: 0
+.. date: 7237
+.. nonce: XqzKYC
+.. section: C API
+
+Add new C-API function PyOS_string_to_double, and deprecated PyOS_ascii_atof
+and PyOS_ascii_strtod.
+
+..
+
+.. bpo: 0
+.. date: 7236
+.. nonce: EzTAcl
+.. section: C API
+
+Removed _PyOS_double_to_string. Use PyOS_double_to_string instead.  This is
+in preparation for (but not strictly related to) issue #7117, short float
+repr.
+
+..
+
+.. bpo: 6624
+.. date: 7235
+.. nonce: qPXO6F
+.. section: C API
+
+PyArg_ParseTuple with "s" format when parsing argument with NULL: Bogus
+TypeError detail string.
+
+..
+
+.. bpo: 5954
+.. date: 7234
+.. nonce: bl2-P2
+.. section: C API
+
+Add a PyFrame_GetLineNumber() function to replace most uses of
+PyCode_Addr2Line().
+
+..
+
+.. bpo: 5959
+.. date: 7233
+.. nonce: wmWB5t
+.. section: C API
+
+Add a PyCode_NewEmpty() function to create a new empty code object at a
+specified file, function, and line number.
+
+..
+
+.. bpo: 1419652
+.. date: 7232
+.. nonce: Q6BERX
+.. section: C API
+
+Change the first argument to PyImport_AppendInittab() to ``const char *`` as
+the string is stored beyond the call.
+
+..
+
+.. bpo: 0
+.. date: 7231
+.. nonce: hva90Q
+.. section: C API
+
+Some PyBytes_* aliases have been removed because they don't exist in 3.x.
+
+..
+
+.. bpo: 5175
+.. date: 7230
+.. nonce: r1a8Ms
+.. section: C API
+
+PyLong_AsUnsignedLongLong now raises OverflowError for negative arguments.
+Previously, it raised TypeError.
+
+..
+
+.. bpo: 4720
+.. date: 7229
+.. nonce: Mb6W01
+.. section: C API
+
+The format for PyArg_ParseTupleAndKeywords can begin with '|'.
+
+..
+
+.. bpo: 3632
+.. date: 7228
+.. nonce: upPC86
+.. section: C API
+
+From the gdb debugger, the 'pyo' macro can now be called when the GIL is
+released, or owned by another thread.
+
+..
+
+.. bpo: 4122
+.. date: 7227
+.. nonce: fhMq7A
+.. section: C API
+
+On Windows, fix a compilation error when using the Py_UNICODE_ISSPACE macro
+in an extension module.
+
+..
+
+.. bpo: 4293
+.. date: 7226
+.. nonce: QdarHx
+.. section: C API
+
+Py_AddPendingCall() is now thread safe and can be used for asynchronous
+notifications to python from any thread.  Documentation added.
+
+..
+
+.. bpo: 6508
+.. date: 7225
+.. nonce: R3EvXY
+.. section: Library
+
+Add posix.{getresuid,getresgid,setresuid,setresgid}.
+
+..
+
+.. bpo: 7078
+.. date: 7224
+.. nonce: 90Z604
+.. section: Library
+
+Set struct.__doc__ from _struct.__doc__.
+
+..
+
+.. bpo: 3366
+.. date: 7223
+.. nonce: U1DfAJ
+.. section: Library
+
+Add erf, erfc, expm1, gamma, lgamma functions to math module.
+
+..
+
+.. bpo: 6823
+.. date: 7222
+.. nonce: m4cwqj
+.. section: Library
+
+Allow time.strftime() to accept a tuple with a isdst field outside of the
+range of [-1, 1] by normalizing the value to within that range.
+
+..
+
+.. bpo: 6877
+.. date: 7221
+.. nonce: CMXt7p
+.. section: Library
+
+Make it possible to link the readline extension to libedit on OSX.
+
+..
+
+.. bpo: 6944
+.. date: 7220
+.. nonce: A9aMl7
+.. section: Library
+
+Fix a SystemError when socket.getnameinfo() was called with something other
+than a tuple as first argument.
+
+..
+
+.. bpo: 6865
+.. date: 7219
+.. nonce: 8EKGt5
+.. section: Library
+
+Fix reference counting issue in the initialization of the pwd module.
+
+..
+
+.. bpo: 6848
+.. date: 7218
+.. nonce: yoWK1A
+.. section: Library
+
+Fix curses module build failure on OS X 10.6.
+
+..
+
+.. bpo: 0
+.. date: 7217
+.. nonce: k2iXEM
+.. section: Library
+
+Fix a segfault in expat when given a specially crafted input lead to the
+tokenizer not stopping. CVE-2009-3720.
+
+..
+
+.. bpo: 6561
+.. date: 7216
+.. nonce: tJwGr-
+.. section: Library
+
+'\d' in a regex now matches only characters with Unicode category 'Nd'
+(Number, Decimal Digit).  Previously it also matched characters with
+category 'No'.
+
+..
+
+.. bpo: 1523
+.. date: 7215
+.. nonce: GYRz49
+.. section: Library
+
+Remove deprecated overflow wrapping for struct.pack with an integer format
+code ('bBhHiIlLqQ').  Packing an out-of-range integer now consistently
+raises struct.error.
+
+..
+
+.. bpo: 1530559
+.. date: 7214
+.. nonce: 0TjrtL
+.. section: Library
+
+Fix various struct.pack inconsistencies for the integer formats
+('bBhHiIlLqQ').  In the following, '*' represents any of '=', '<', '>'.
+
+- Packing a float now always gives a Deprecation Warning.  Previously it
+only warned for 'I', 'L', '*B', '*H', '*I', '*L'.
+
+- If x is not an int, long or float, then packing x will always result in
+struct.error.  Previously an x with an __int__ method could be packed by
+'b', 'B', 'h', 'H', 'i', 'l', '*b', '*h' ,'*i', '*l', and an x with a
+__long__ method could be packed by 'q', 'Q', '*q', '*Q'; for x with
+neither __int__ nor __long__, TypeError used to be raised (with a
+confusing error message) for 'I', 'L', '*B', '*H', '*I', '*L', and
+struct.error in other cases.
+
+Note: as of Python 2.7 beta 1, the above is out of date.  In 2.7 beta 1, any
+argument with an __int__ method can be packed, but use of this feature
+triggers a DeprecationWarning. (See also: bpo-1741130)
+
+..
+
+.. bpo: 4873
+.. date: 7213
+.. nonce: X6xp5Z
+.. section: Library
+
+Fix resource leaks in error cases of pwd and grp.
+
+..
+
+.. bpo: 4751
+.. date: 7212
+.. nonce: 6sPqcu
+.. section: Library
+
+For hashlib algorithms provided by OpenSSL, the Python GIL is now released
+during computation on data lengths >= 2048 bytes.
+
+..
+
+.. bpo: 3745
+.. date: 7211
+.. nonce: UWvSDY
+.. section: Library
+
+Fix hashlib to always reject unicode and non buffer-api supporting objects
+as input no matter how it was compiled (built in implementations or external
+openssl library).  NOTE: Undone in 2.7a2.
+
+..
+
+.. bpo: 4397
+.. date: 7210
+.. nonce: v3SDSI
+.. section: Library
+
+Fix occasional test_socket failure on OS X.
+
+..
+
+.. bpo: 4279
+.. date: 7209
+.. nonce: 4RY6FX
+.. section: Library
+
+Fix build of parsermodule under Cygwin.
+
+..
+
+.. bpo: 4051
+.. date: 7208
+.. nonce: CWy5So
+.. section: Library
+
+Prevent conflict of UNICODE macros in cPickle.
+
+..
+
+.. bpo: 4228
+.. date: 7207
+.. nonce: 6AP3nQ
+.. section: Library
+
+Pack negative values the same way as 2.4 in struct's L format.
+
+..
+
+.. bpo: 1040026
+.. date: 7206
+.. nonce: f_lNlD
+.. section: Library
+
+Fix os.times result on systems where HZ is incorrect.
+
+..
+
+.. bpo: 3167
+.. date: 7205
+.. nonce: Wq3nLl
+.. section: Library
+
+Fix test_math failures for log, log10 on Solaris, OpenBSD. (See also:
+bpo-3682)
+
+..
+
+.. bpo: 4365
+.. date: 7204
+.. nonce: 1v_32N
+.. section: Library
+
+Add crtassem.h constants to the msvcrt module.
+
+..
+
+.. bpo: 4396
+.. date: 7203
+.. nonce: 3vmXT4
+.. section: Library
+
+The parser module now correctly validates the with statement.
+
+..
+
+.. bpo: 5228
+.. date: 7202
+.. nonce: lDpzrP
+.. section: Library
+
+Make functools.partial objects can now be pickled.
+
+..
+
+.. bpo: 7431
+.. date: 7201
+.. nonce: gQvWFz
+.. section: Tests
+
+Use TESTFN in test_linecache instead of trying to create a file in the
+Lib/test directory, which might be read-only for the user running the tests.
+
+..
+
+.. bpo: 7324
+.. date: 7200
+.. nonce: qx7wYQ
+.. section: Tests
+
+Add a sanity check to regrtest argument parsing to catch the case of an
+option with no handler.
+
+..
+
+.. bpo: 7312
+.. date: 7199
+.. nonce: owJk3R
+.. section: Tests
+
+Add a -F flag to run the selected tests in a loop until a test fails.  Can
+be combined with -j.
+
+..
+
+.. bpo: 7295
+.. date: 7198
+.. nonce: ukZhHi
+.. section: Tests
+
+Do not use a hardcoded file name in test_tarfile.
+
+..
+
+.. bpo: 7270
+.. date: 7197
+.. nonce: am_b1S
+.. section: Tests
+
+Add some dedicated unit tests for multi-thread synchronization primitives
+such as Lock, RLock, Condition, Event and Semaphore.
+
+..
+
+.. bpo: 7222
+.. date: 7196
+.. nonce: iKJspN
+.. section: Tests
+
+Make thread "reaping" more reliable so that reference leak-chasing test runs
+give sensible results.  The previous method of reaping threads could return
+successfully while some Thread objects were still referenced.  This also
+introduces a new private function: ``thread._count()``.
+
+..
+
+.. bpo: 7151
+.. date: 7195
+.. nonce: U07hpR
+.. section: Tests
+
+Fixed regrtest -j so that output to stderr from a test no longer runs the
+risk of causing the worker thread to fail.
+
+..
+
+.. bpo: 7055
+.. date: 7194
+.. nonce: 3okJ5l
+.. section: Tests
+
+test___all__ now greedily detects all modules which have an __all__
+attribute, rather than using a hardcoded and incomplete list.
+
+..
+
+.. bpo: 7058
+.. date: 7193
+.. nonce: 3DkUXi
+.. section: Tests
+
+Added save/restore for things like sys.argv and cwd to runtest_inner in
+regrtest, with warnings if the called test modifies them, and a new section
+in the summary report at the end.
+
+..
+
+.. bpo: 7042
+.. date: 7192
+.. nonce: b8v3FJ
+.. section: Tests
+
+Fix test_signal (test_itimer_virtual) failure on OS X 10.6.
+
+..
+
+.. bpo: 6806
+.. date: 7191
+.. nonce: hS_Ys4
+.. section: Tests
+
+test_platform failed under OS X 10.6.0 because ``sw_ver`` leaves off the
+trailing 0 in the version number.
+
+..
+
+.. bpo: 5450
+.. date: 7190
+.. nonce: c2vdqn
+.. section: Tests
+
+Moved tests involving loading tk from Lib/test/test_tcl to Lib/lib-
+tk/test/test_tkinter/test_loadtk. With this, these tests demonstrate the
+same behaviour as test_ttkguionly (and now also test_tk) which is to skip
+the tests if DISPLAY is defined but can't be used.
+
+..
+
+.. bpo: 6152
+.. date: 7189
+.. nonce: EkeKpL
+.. section: Tests
+
+New option '-j'/'--multiprocess' for regrtest allows running regression
+tests in parallel, shortening the total runtime.
+
+..
+
+.. bpo: 5354
+.. date: 7188
+.. nonce: vIbbLT
+.. section: Tests
+
+New test support function import_fresh_module() makes it easy to import both
+normal and optimised versions of modules.  test_heapq and test_warnings have
+been adjusted to use it, tests for other modules with both C and Python
+implementations in the stdlib can be adjusted to use it over time.
+
+..
+
+.. bpo: 0
+.. date: 7187
+.. nonce: bTuQvV
+.. section: Tests
+
+Fix test_warnings to no longer reset the warnings filter.
+
+..
+
+.. bpo: 0
+.. date: 7186
+.. nonce: Mmlolu
+.. section: Tests
+
+Fix test_logging to no longer reset the warnings filter.
+
+..
+
+.. bpo: 5635
+.. date: 7185
+.. nonce: 8Yq1dn
+.. section: Tests
+
+Fix running test_sys with tracing enabled.
+
+..
+
+.. bpo: 0
+.. date: 7184
+.. nonce: t8Gnx4
+.. section: Tests
+
+regrtest no longer treats ImportError as equivalent to SkipTest.  Imports
+that should cause a test to be skipped are now done using import_module from
+test support, which does the conversion.
+
+..
+
+.. bpo: 5083
+.. date: 7183
+.. nonce: imHnrP
+.. section: Tests
+
+New 'gui' resource for regrtest.
+
+..
+
+.. bpo: 5837
+.. date: 7182
+.. nonce: s1idZB
+.. section: Tests
+
+Certain sequences of calls to set() and unset() for
+support.EnvironmentVarGuard objects restored the environment variables
+incorrectly on __exit__.
+
+..
+
+.. bpo: 2389
+.. date: 7181
+.. nonce: w0L9Yb
+.. section: Tests
+
+Array objects are now pickled in a portable manner.
+
+..
+
+.. bpo: 5611
+.. date: 7180
+.. nonce: UOPr-Q
+.. section: Windows
+
+Auto-detect whether a C file uses tabs or spaces in Vim.
diff --git a/Misc/NEWS.d/2.7a2.rst b/Misc/NEWS.d/2.7a2.rst
new file mode 100644
index 0000000..fa13081
--- /dev/null
+++ b/Misc/NEWS.d/2.7a2.rst
@@ -0,0 +1,457 @@
+.. bpo: 0
+.. date: 7804
+.. nonce: jherxT
+.. release date: 2010-01-09
+.. section: Core and Builtins
+
+The ``__complex__()`` method is now looked up on the class of instances to
+make it consistent with other special methods.
+
+..
+
+.. bpo: 7462
+.. date: 7803
+.. nonce: E1r1bi
+.. section: Core and Builtins
+
+Implement the stringlib fast search algorithm for the `rfind`, `rindex`,
+`rsplit` and `rpartition` methods.  Patch by Florent Xicluna.
+
+..
+
+.. bpo: 5080
+.. date: 7802
+.. nonce: Wb4q9j
+.. section: Core and Builtins
+
+A number of functions and methods previously produced a DeprecationWarning
+when passed a float argument where an integer was expected. These functions
+and methods now raise TypeError instead.  The majority of the effects of
+this change are in the extension modules, but some core functions and
+methods are affected: notably the 'chr', 'range' and 'xrange' builtins, and
+many unicode/str methods.
+
+..
+
+.. bpo: 7604
+.. date: 7801
+.. nonce: tTzdbD
+.. section: Core and Builtins
+
+Deleting an unset slotted attribute did not raise an AttributeError.
+
+..
+
+.. bpo: 7534
+.. date: 7800
+.. nonce: UJiEZi
+.. section: Core and Builtins
+
+Fix handling of IEEE specials (infinities, nans, negative zero) in **
+operator.  The behaviour now conforms to that described in C99 Annex F.
+
+..
+
+.. bpo: 7579
+.. date: 7799
+.. nonce: cmOrYb
+.. section: Core and Builtins
+
+The msvcrt module now has docstrings for all its functions.
+
+..
+
+.. bpo: 7413
+.. date: 7798
+.. nonce: g6Euap
+.. section: Core and Builtins
+
+Passing '\0' as the separator to datetime.datetime.isoformat() used to drop
+the time part of the result.
+
+..
+
+.. bpo: 1811
+.. date: 7797
+.. nonce: e1nd7g
+.. section: Core and Builtins
+
+Improve accuracy and cross-platform consistency for true division of
+integers: the result of a/b is now correctly rounded for ints a and b (at
+least on IEEE 754 platforms), and in particular does not depend on the
+internal representation of a long.
+
+..
+
+.. bpo: 6108
+.. date: 7796
+.. nonce: j3A6pp
+.. section: Core and Builtins
+
+``unicode(exception)`` and ``str(exception)`` should return the same message
+when only ``__str__()`` (and not ``__unicode__()``) is overridden in the
+subclass.
+
+..
+
+.. bpo: 6834
+.. date: 7795
+.. nonce: iPCAPI
+.. section: Core and Builtins
+
+Replace the implementation for the 'python' and 'pythonw' executables on
+OSX.
+
+These executables now work properly with the arch(1) command: ``arch -ppc
+python`` will start a universal binary version of python in PPC mode (unlike
+previous releases).
+
+..
+
+.. bpo: 1680159
+.. date: 7794
+.. nonce: zCoubo
+.. section: Core and Builtins
+
+Unicode coercion during an 'in' operation no longer masks the underlying
+error when the coercion fails for the left hand operand.
+
+..
+
+.. bpo: 7491
+.. date: 7793
+.. nonce: bGallI
+.. section: Core and Builtins
+
+Metaclass's __cmp__ method was ignored.
+
+..
+
+.. bpo: 7466
+.. date: 7792
+.. nonce: zrhYS4
+.. section: Core and Builtins
+
+Segmentation fault when the garbage collector is called in the middle of
+populating a tuple.  Patch by Florent Xicluna.
+
+..
+
+.. bpo: 6963
+.. date: 7791
+.. nonce: TJvFT0
+.. section: Library
+
+Added "maxtasksperchild" argument to ``multiprocessing.Pool``, allowing for
+a maximum number of tasks within the pool to be completed by the worker
+before that worker is terminated, and a new one created to replace it.
+
+..
+
+.. bpo: 7617
+.. date: 7790
+.. nonce: duSdpP
+.. section: Library
+
+Make sure distutils.unixccompiler.UnixCCompiler recognizes gcc when it has a
+fully qualified configuration prefix.  Initial patch by Arfrever.
+
+..
+
+.. bpo: 7092
+.. date: 7789
+.. nonce: 8Bxjpz
+.. section: Library
+
+Remove py3k warning when importing cPickle.  2to3 handles renaming of
+`cPickle` to `pickle`.  The warning was annoying since there's no
+alternative to cPickle if you care about performance.  Patch by Florent
+Xicluna.
+
+..
+
+.. bpo: 7455
+.. date: 7788
+.. nonce: 4QZ2RC
+.. section: Library
+
+Fix possible crash in cPickle on invalid input.  Patch by Victor Stinner.
+
+..
+
+.. bpo: 7092
+.. date: 7787
+.. nonce: z80fv1
+.. section: Library
+
+Fix the DeprecationWarnings emitted by the standard library when using the
+-3 flag.  Patch by Florent Xicluna.
+
+..
+
+.. bpo: 7471
+.. date: 7786
+.. nonce: Flh7OS
+.. section: Library
+
+Improve the performance of GzipFile's buffering mechanism, and make it
+implement the ``io.BufferedIOBase`` ABC to allow for further speedups by
+wrapping it in an ``io.BufferedReader``.  Patch by Nir Aides.
+
+..
+
+.. bpo: 3972
+.. date: 7785
+.. nonce: T0AsF9
+.. section: Library
+
+``httplib.HTTPConnection`` now accepts an optional source_address parameter
+to allow specifying where your connections come from.
+
+..
+
+.. bpo: 0
+.. date: 7784
+.. nonce: VuT7xt
+.. section: Library
+
+``socket.create_connection()`` now accepts an optional source_address
+parameter.
+
+..
+
+.. bpo: 5511
+.. date: 7783
+.. nonce: qXXb66
+.. section: Library
+
+``zipfile.ZipFile`` can now be used as a context manager. Initial patch by
+Brian Curtin.
+
+..
+
+.. bpo: 0
+.. date: 7782
+.. nonce: jVBfGB
+.. section: Library
+
+Distutils now correctly identifies the build architecture as "x86_64" when
+building on OSX 10.6 without "-arch" flags.
+
+..
+
+.. bpo: 7556
+.. date: 7781
+.. nonce: 9TArd4
+.. section: Library
+
+Distutils' msvc9compiler now opens the MSVC Manifest file in text mode.
+
+..
+
+.. bpo: 7552
+.. date: 7780
+.. nonce: cuagLV
+.. section: Library
+
+Removed line feed in the base64 Authorization header in the Distutils upload
+command to avoid an error when PyPI reads it.  This occurs on long
+passwords.  Initial patch by JP St. Pierre.
+
+..
+
+.. bpo: 7231
+.. date: 7779
+.. nonce: PtW-pZ
+.. section: Library
+
+urllib2 cannot handle https with proxy requiring auth.  Patch by Tatsuhiro
+Tsujikawa.
+
+..
+
+.. bpo: 7349
+.. date: 7778
+.. nonce: qwbHfI
+.. section: Library
+
+Make methods of file objects in the io module accept None as an argument
+where file-like objects (ie StringIO and BytesIO) accept them to mean the
+same as passing no argument.
+
+..
+
+.. bpo: 7348
+.. date: 7777
+.. nonce: 47KswH
+.. section: Library
+
+``StringIO.StringIO.readline(-1)`` now acts as if it got no argument like
+other file objects.
+
+..
+
+.. bpo: 7357
+.. date: 7776
+.. nonce: EteBpH
+.. section: Library
+
+tarfile no longer suppresses fatal extraction errors by default.
+
+..
+
+.. bpo: 7470
+.. date: 7775
+.. nonce: IW_7wI
+.. section: Library
+
+logging: Fix bug in Unicode encoding fallback.
+
+..
+
+.. bpo: 5949
+.. date: 7774
+.. nonce: oAWtv2
+.. section: Library
+
+Fixed IMAP4_SSL hang when the IMAP server response is missing proper end-of-
+line termination.
+
+..
+
+.. bpo: 7457
+.. date: 7773
+.. nonce: n8Bkqb
+.. section: Library
+
+Added a read_pkg_file method to ``distutils.dist.DistributionMetadata``.
+
+..
+
+.. bpo: 3745
+.. date: 7772
+.. nonce: 1on7AT
+.. section: Library
+
+Undo the 2.7a1 change to have hashlib to reject unicode and non buffer API
+supporting objects as input.  That behavior is for 3.x only.
+
+..
+
+.. bpo: 7767
+.. date: 7771
+.. nonce: XmNIZJ
+.. section: C API
+
+New function ``PyLong_AsLongLongAndOverflow()`` added, analogous to
+``PyLong_AsLongAndOverflow()``.
+
+..
+
+.. bpo: 5080
+.. date: 7770
+.. nonce: bMlEGy
+.. section: C API
+
+The argument parsing functions ``PyArg_ParseTuple()``,
+``PyArg_ParseTupleAndKeywords()``, ``PyArg_VaParse()``,
+``PyArg_VaParseTupleAndKeywords()`` and ``PyArg_Parse()`` no longer accept
+float arguments for integer format codes (other than 'L'): previously an
+attempt to pass a float resulted in a DeprecationWarning; now it gives a
+TypeError.  For the 'L' format code (which previously had no warning) there
+is now a DeprecationWarning.
+
+..
+
+.. bpo: 7033
+.. date: 7769
+.. nonce: koLSHo
+.. section: C API
+
+Function ``PyErr_NewExceptionWithDoc()`` added.
+
+..
+
+.. bpo: 6491
+.. date: 7768
+.. nonce: mDJ_mR
+.. section: Build
+
+Allow --with-dbmliborder to specify that no dbms will be built.
+
+..
+
+.. bpo: 6943
+.. date: 7767
+.. nonce: HhHPsy
+.. section: Build
+
+Use pkg-config to find the libffi headers when the ``--with-system-ffi``
+flag is used.
+
+..
+
+.. bpo: 7609
+.. date: 7766
+.. nonce: w1witS
+.. section: Build
+
+Add a ``--with-system-expat`` option that causes the system's expat library
+to be used for the pyexpat module instead of the one included with Python.
+
+..
+
+.. bpo: 7589
+.. date: 7765
+.. nonce: uh9YyY
+.. section: Build
+
+Only build the nis module when the correct header files are found.
+
+..
+
+.. bpo: 0
+.. date: 7764
+.. nonce: 6WvEdi
+.. section: Build
+
+Switch to OpenSSL 0.9.8l and sqlite 3.6.21 on Windows.
+
+..
+
+.. bpo: 7541
+.. date: 7763
+.. nonce: V8g0W6
+.. section: Build
+
+when using ``python-config`` with a framework install the compiler might use
+the wrong library.
+
+..
+
+.. bpo: 7376
+.. date: 7762
+.. nonce: Y0Cani
+.. section: Tests
+
+Instead of running a self-test (which was failing) when called with no
+arguments, doctest.py now gives a usage message.
+
+..
+
+.. bpo: 7396
+.. date: 7761
+.. nonce: WRRHMZ
+.. section: Tests
+
+Fix regrtest -s, which was broken by the -j enhancement.
+
+..
+
+.. bpo: 7498
+.. date: 7760
+.. nonce: Cpaz-t
+.. section: Tests
+
+test_multiprocessing now uses test_support.find_unused_port instead of a
+hardcoded port number in test_rapid_restart.
diff --git a/Misc/NEWS.d/2.7a3.rst b/Misc/NEWS.d/2.7a3.rst
new file mode 100644
index 0000000..02c0778
--- /dev/null
+++ b/Misc/NEWS.d/2.7a3.rst
@@ -0,0 +1,442 @@
+.. bpo: 5677
+.. date: 7847
+.. nonce: b0Qejz
+.. release date: 2010-02-06
+.. section: Core and Builtins
+
+Explicitly forbid write operations on read-only file objects, and read
+operations on write-only file objects.  On Windows, the system C library
+would return a bogus result; on Solaris, it was possible to crash the
+interpreter.  Patch by Stefan Krah.
+
+..
+
+.. bpo: 7853
+.. date: 7846
+.. nonce: 7BnJKC
+.. section: Core and Builtins
+
+Normalize exceptions before they are passed to a context manager's
+``__exit__()`` method.
+
+..
+
+.. bpo: 7385
+.. date: 7845
+.. nonce: OVCbWd
+.. section: Core and Builtins
+
+Fix a crash in ``PyMemoryView_FromObject()`` when ``PyObject_GetBuffer()``
+fails.  Patch by Florent Xicluna.
+
+..
+
+.. bpo: 7819
+.. date: 7844
+.. nonce: tGsOrJ
+.. section: Core and Builtins
+
+Check ``sys.call_tracing()`` arguments types.
+
+..
+
+.. bpo: 7788
+.. date: 7843
+.. nonce: 4T4M13
+.. section: Core and Builtins
+
+Fix an interpreter crash produced by deleting a list slice with very large
+step value.
+
+..
+
+.. bpo: 7766
+.. date: 7842
+.. nonce: aejr9M
+.. section: Core and Builtins
+
+Change ``sys.getwindowsversion()`` return value to a named tuple and add the
+additional members returned in an OSVERSIONINFOEX structure.  The new
+members are service_pack_major, service_pack_minor, suite_mask, and
+product_type.
+
+..
+
+.. bpo: 7561
+.. date: 7841
+.. nonce: dYmand
+.. section: Core and Builtins
+
+Operations on empty bytearrays (such as ``int(bytearray())``) could crash in
+many places because of the ``PyByteArray_AS_STRING()`` macro returning NULL.
+The macro now returns a statically allocated empty string instead.
+
+..
+
+.. bpo: 7622
+.. date: 7840
+.. nonce: yL5cXb
+.. section: Core and Builtins
+
+Improve the split(), rsplit(), splitlines() and replace() methods of bytes,
+bytearray and unicode objects by using a common implementation based on
+stringlib's fast search.  Patch by Florent Xicluna.
+
+..
+
+.. bpo: 7632
+.. date: 7839
+.. nonce: djAkIG
+.. section: Core and Builtins
+
+Fix various str -> float conversion bugs present in 2.7 alpha 2, including:
+
+(1) a serious 'wrong output' bug that could occur for long (> 40 digit)
+input     strings, (2) a crash in dtoa.c that occurred in debug builds when
+parsing certain long     numeric strings corresponding to subnormal values,
+(3) a memory leak for some values large enough to cause overflow, and (4) a
+number of flaws that could lead to incorrectly rounded results.
+
+..
+
+.. bpo: 7319
+.. date: 7838
+.. nonce: CIP64d
+.. section: Core and Builtins
+
+Silence ``DeprecationWarning`` by default when the -3 option is not used.
+(See also: bpo-7770)
+
+..
+
+.. bpo: 2335
+.. date: 7837
+.. nonce: NB-Xpf
+.. section: Core and Builtins
+
+Backport set literals syntax from Python 3.x.
+
+..
+
+.. bpo: 2333
+.. date: 7836
+.. nonce: yWLBy3
+.. section: Core and Builtins
+
+Backport set and dict comprehensions syntax from Python 3.x.
+
+..
+
+.. bpo: 1967
+.. date: 7835
+.. nonce: RryGx3
+.. section: Core and Builtins
+
+Backport dictionary views from Python 3.x.
+
+..
+
+.. bpo: 9137
+.. date: 7834
+.. nonce: DgWODo
+.. section: Library
+
+Fix issue in MutableMapping.update, which incorrectly treated keyword
+arguments called 'self' or 'other' specially.
+
+..
+
+.. bpo: 7835
+.. date: 7833
+.. nonce: jlbrK8
+.. section: Library
+
+shelve should no longer produce mysterious warnings during interpreter
+shutdown.
+
+..
+
+.. bpo: 2746
+.. date: 7832
+.. nonce: F6UqCX
+.. section: Library
+
+Don't escape ampersands and angle brackets ("&", "<", ">") in XML processing
+instructions and comments.  These raw characters are allowed by the XML
+specification, and are necessary when outputting e.g.  PHP code in a
+processing instruction.  Patch by Neil Muller.
+
+..
+
+.. bpo: 7869
+.. date: 7831
+.. nonce: 1QS851
+.. section: Library
+
+logging: Improved diagnostic for format-time errors.
+
+..
+
+.. bpo: 7868
+.. date: 7830
+.. nonce: PXTr9t
+.. section: Library
+
+logging: Added loggerClass attribute to Manager.
+
+..
+
+.. bpo: 7851
+.. date: 7829
+.. nonce: 7OtUnx
+.. section: Library
+
+logging: Clarification on logging configuration files.
+
+..
+
+.. bpo: 4772
+.. date: 7828
+.. nonce: 9_Y3av
+.. section: Library
+
+Raise a ValueError when an unknown Bluetooth protocol is specified, rather
+than fall through to AF_PACKET (in the ``socket`` module). Also, raise
+ValueError rather than TypeError when an unknown TIPC address type is
+specified.  Patch by Brian Curtin.
+
+..
+
+.. bpo: 0
+.. date: 7827
+.. nonce: DG4Srd
+.. section: Library
+
+logging: Implemented PEP 391.
+
+..
+
+.. bpo: 6939
+.. date: 7826
+.. nonce: 8fBhhK
+.. section: Library
+
+Fix file I/O objects in the `io` module to keep the original file position
+when calling `truncate()`.  It would previously change the file position to
+the given argument, which goes against the tradition of ftruncate() and
+other truncation APIs.  Patch by Pascal Chambon.
+
+..
+
+.. bpo: 7610
+.. date: 7825
+.. nonce: 2DXmYZ
+.. section: Library
+
+Reworked implementation of the internal ``zipfile.ZipExtFile`` class used to
+represent files stored inside an archive.  The new implementation is
+significantly faster and can be wrapped in an ``io.BufferedReader`` object
+for more speedups.  It also solves an issue where interleaved calls to
+``read()`` and ``readline()`` give wrong results. Patch by Nir Aides.
+
+..
+
+.. bpo: 7792
+.. date: 7824
+.. nonce: ncH8BS
+.. section: Library
+
+Registering non-classes to ABCs raised an obscure error.
+
+..
+
+.. bpo: 0
+.. date: 7823
+.. nonce: RpNACh
+.. section: Library
+
+Removed the deprecated functions ``verify()`` and ``vereq()`` from
+Lib/test/test_support.py.
+
+..
+
+.. bpo: 7773
+.. date: 7822
+.. nonce: x2tWld
+.. section: Library
+
+Fix an UnboundLocalError in ``platform.linux_distribution()`` when the
+release file is empty.
+
+..
+
+.. bpo: 7748
+.. date: 7821
+.. nonce: YlAgV-
+.. section: Library
+
+Since unicode values are supported for some metadata options in Distutils,
+the DistributionMetadata get_* methods will now return a utf-8 encoded
+string for them.  This ensures that the upload and register commands send
+the correct values to PyPI without any error.
+
+..
+
+.. bpo: 1670765
+.. date: 7820
+.. nonce: 9eCqJl
+.. section: Library
+
+Prevent ``email.generator.Generator`` from re-wrapping headers in
+multipart/signed MIME parts, which fixes one of the sources of invalid
+modifications to such parts by Generator.
+
+..
+
+.. bpo: 7701
+.. date: 7819
+.. nonce: e9a5VO
+.. section: Library
+
+Fix crash in ``binascii.b2a_uu()`` in debug mode when given a 1-byte
+argument.  Patch by Victor Stinner.
+
+..
+
+.. bpo: 3299
+.. date: 7818
+.. nonce: AzzK85
+.. section: Library
+
+Fix possible crash in the _sre module when given bad argument values in
+debug mode.  Patch by Victor Stinner.
+
+..
+
+.. bpo: 7703
+.. date: 7817
+.. nonce: FNoqUO
+.. section: Library
+
+Add support for the new buffer API to functions of the binascii module.
+Backported from py3k by Florent Xicluna, with some additional tests.
+
+..
+
+.. bpo: 2846
+.. date: 7816
+.. nonce: 1yXo1U
+.. section: Library
+
+Add support for gzip.GzipFile reading zero-padded files.  Patch by Brian
+Curtin.
+
+..
+
+.. bpo: 5827
+.. date: 7815
+.. nonce: HqdXuX
+.. section: Library
+
+Make sure that normpath preserves unicode.  Initial patch by Matt Giuca.
+
+..
+
+.. bpo: 5372
+.. date: 7814
+.. nonce: t3pYj8
+.. section: Library
+
+Drop the reuse of .o files in Distutils' ccompiler (since Extension extra
+options may change the output without changing the .c file). Initial patch
+by Collin Winter.
+
+..
+
+.. bpo: 0
+.. date: 7813
+.. nonce: nL49In
+.. section: Library
+
+Expat: Fix DoS via XML document with malformed UTF-8 sequences
+(CVE_2009_3560).
+
+..
+
+.. bpo: 7632
+.. date: 7812
+.. nonce: AWDxJU
+.. section: Build
+
+When Py_USING_MEMORY_DEBUGGER is defined, disable the private memory
+allocation scheme in dtoa.c and use PyMem_Malloc and PyMem_Free instead.
+Also disable caching of powers of 5.
+
+..
+
+.. bpo: 7658
+.. date: 7811
+.. nonce: oUBbSZ
+.. section: Build
+
+Ensure that the new pythonw executable works on OSX 10.4
+
+..
+
+.. bpo: 7714
+.. date: 7810
+.. nonce: 27wQ2M
+.. section: Build
+
+Use ``gcc -dumpversion`` to detect the version of GCC on MacOSX.
+
+..
+
+.. bpo: 7661
+.. date: 7809
+.. nonce: ggMDHr
+.. section: Build
+
+Allow ctypes to be built from a non-ASCII directory path. Patch by Florent
+Xicluna.
+
+..
+
+.. bpo: 0
+.. date: 7808
+.. nonce: KgUrLn
+.. section: Tools/Demos
+
+iobench (a file I/O benchmark) and ccbench (a concurrency benchmark) were
+added to the ``Tools`` directory.  They were previously living in the
+sandbox.
+
+..
+
+.. bpo: 7728
+.. date: 7807
+.. nonce: f9wo4c
+.. section: Tests
+
+test_timeout was changed to use ``test_support.bind_port()`` instead of a
+hard coded port.
+
+..
+
+.. bpo: 0
+.. date: 7806
+.. nonce: Dx9g36
+.. section: Documentation
+
+Updated "Using Python" documentation to include description of CPython's -J,
+-U and -X options.
+
+..
+
+.. bpo: 0
+.. date: 7805
+.. nonce: vllYdR
+.. section: Documentation
+
+Updated Python manual page (options -B, -O0, -s, environment variables
+PYTHONDONTWRITEBYTECODE, PYTHONNOUSERSITE).
diff --git a/Misc/NEWS.d/2.7a4.rst b/Misc/NEWS.d/2.7a4.rst
new file mode 100644
index 0000000..08a0518
--- /dev/null
+++ b/Misc/NEWS.d/2.7a4.rst
@@ -0,0 +1,440 @@
+.. bpo: 7544
+.. date: 7892
+.. nonce: TTDd8s
+.. release date: 2010-03-06
+.. section: Core and Builtins
+
+Preallocate thread memory before creating the thread to avoid a fatal error
+in low memory condition.
+
+..
+
+.. bpo: 7820
+.. date: 7891
+.. nonce: hEaQ9f
+.. section: Core and Builtins
+
+The parser tokenizer restores all bytes in the right if the BOM check fails.
+
+..
+
+.. bpo: 7309
+.. date: 7890
+.. nonce: pAF_KB
+.. section: Core and Builtins
+
+Fix unchecked attribute access when converting UnicodeEncodeError,
+UnicodeDecodeError, and UnicodeTranslateError to strings.
+
+..
+
+.. bpo: 7649
+.. date: 7889
+.. nonce: KS0hoy
+.. section: Core and Builtins
+
+"u'%c' % char" now behaves like "u'%s' % char" and raises a
+UnicodeDecodeError if 'char' is a byte string that can't be decoded using
+the default encoding.
+
+..
+
+.. bpo: 6902
+.. date: 7888
+.. nonce: RDRX1R
+.. section: Core and Builtins
+
+Fix problem with built-in types format incorrectly with 0 padding.
+
+..
+
+.. bpo: 2560
+.. date: 7887
+.. nonce: kdK-75
+.. section: Core and Builtins
+
+Remove an unnecessary 'for' loop from ``my_fgets()`` in Parser/myreadline.c.
+
+..
+
+.. bpo: 7988
+.. date: 7886
+.. nonce: 9h758B
+.. section: Core and Builtins
+
+Fix default alignment to be right aligned for ``complex.__format__``.  Now
+it matches other numeric types.
+
+..
+
+.. bpo: 5211
+.. date: 7885
+.. nonce: bktLaF
+.. section: Core and Builtins
+
+The complex type no longer uses implicit coercion in mixed-type binary
+arithmetic operations.
+
+..
+
+.. bpo: 7904
+.. date: 7884
+.. nonce: fiQRfj
+.. section: Library
+
+Changes to urllib.parse.urlsplit to handle schemes as defined by RFC3986.
+Anything before :// is considered a scheme and is followed by an authority
+(or netloc) and by '/' led path, which is optional.
+
+..
+
+.. bpo: 1555570
+.. date: 7883
+.. nonce: ruR9CS
+.. section: Library
+
+email no longer inserts extra blank lines when a \r\n combo crosses an 8192
+byte boundary.
+
+..
+
+.. bpo: 6906
+.. date: 7882
+.. nonce: BJTdHl
+.. section: Library
+
+Tk should not set Unicode environment variables on Windows.
+
+..
+
+.. bpo: 1054943
+.. date: 7881
+.. nonce: uHWve2
+.. section: Library
+
+Fix ``unicodedata.normalize('NFC', text)`` for the Public Review Issue #29
+(http://unicode.org/review/pr-29.html).
+
+..
+
+.. bpo: 7494
+.. date: 7880
+.. nonce: ZnUIo2
+.. section: Library
+
+Fix a crash in ``_lsprof`` (cProfile) after clearing the profiler, reset
+also the pointer to the current pointer context.
+
+..
+
+.. bpo: 7232
+.. date: 7879
+.. nonce: dD983K
+.. section: Library
+
+Add support for the context management protocol to the ``tarfile.TarFile``
+class.
+
+..
+
+.. bpo: 7250
+.. date: 7878
+.. nonce: SqXm2h
+.. section: Library
+
+Fix info leak of os.environ across multi-run uses of
+``wsgiref.handlers.CGIHandler``.
+
+..
+
+.. bpo: 1729305
+.. date: 7877
+.. nonce: pRiKEW
+.. section: Library
+
+Fix doctest to handle encode error with "backslashreplace".
+
+..
+
+.. bpo: 691291
+.. date: 7876
+.. nonce: SkVfbl
+.. section: Library
+
+``codecs.open()`` should not convert end of lines on reading and writing.
+
+..
+
+.. bpo: 7975
+.. date: 7875
+.. nonce: lm8Hlp
+.. section: Library
+
+Correct regression in dict methods supported by bsddb.dbshelve.
+
+..
+
+.. bpo: 7959
+.. date: 7874
+.. nonce: 0Si0xg
+.. section: Library
+
+ctypes callback functions are now registered correctly with the cycle
+garbage collector.
+
+..
+
+.. bpo: 7970
+.. date: 7873
+.. nonce: zsdvhZ
+.. section: Library
+
+``email.Generator.flatten`` now correctly flattens message/rfc822 messages
+parsed by ``email.Parser.HeaderParser``.
+
+..
+
+.. bpo: 3426
+.. date: 7872
+.. nonce: bunX9f
+.. section: Library
+
+``os.path.abspath`` now returns unicode when its arg is unicode.
+
+..
+
+.. bpo: 7633
+.. date: 7871
+.. nonce: kpPZYL
+.. section: Library
+
+In the decimal module, ``Context`` class methods (with the exception of
+canonical and is_canonical) now accept instances of int and long wherever a
+Decimal instance is accepted, and implicitly convert that argument to
+Decimal.  Previously only some arguments were converted.
+
+..
+
+.. bpo: 6003
+.. date: 7870
+.. nonce: TAoZ-e
+.. section: Library
+
+Add an argument to ``zipfile.Zipfile.writestr`` to specify the compression
+type.
+
+..
+
+.. bpo: 7893
+.. date: 7869
+.. nonce: IFB3BV
+.. section: Library
+
+``unittest.TextTestResult`` is made public and a ``resultclass`` argument
+added to the TextTestRunner constructor allowing a different result class to
+be used without having to subclass.
+
+..
+
+.. bpo: 7588
+.. date: 7868
+.. nonce: rOCPeT
+.. section: Library
+
+``unittest.TextTestResult.getDescription`` now includes the test name in
+failure reports even if the test has a docstring.
+
+..
+
+.. bpo: 5801
+.. date: 7867
+.. nonce: eOropo
+.. section: Library
+
+Remove spurious empty lines in wsgiref.
+
+..
+
+.. bpo: 1537721
+.. date: 7866
+.. nonce: cM7u3p
+.. section: Library
+
+Add a ``writeheader()`` method to ``csv.DictWriter``.
+
+..
+
+.. bpo: 7427
+.. date: 7865
+.. nonce: c1z170
+.. section: Library
+
+Improve the representation of httplib.BadStatusLine exceptions.
+
+..
+
+.. bpo: 7481
+.. date: 7864
+.. nonce: FOM-ZK
+.. section: Library
+
+When a ``threading.Thread`` failed to start it would leave the instance
+stuck in initial state and present in ``threading.enumerate()``.
+
+..
+
+.. bpo: 1068268
+.. date: 7863
+.. nonce: GTy8EE
+.. section: Library
+
+The subprocess module now handles EINTR in internal ``os.waitpid()`` and
+``os.read()`` system calls where appropriate.
+
+..
+
+.. bpo: 6729
+.. date: 7862
+.. nonce: WSzBED
+.. section: Library
+
+Add ``ctypes.c_ssize_t`` to represent ssize_t.
+
+..
+
+.. bpo: 6247
+.. date: 7861
+.. nonce: qqe0rR
+.. section: Library
+
+The argparse module has been added to the standard library.
+
+..
+
+.. bpo: 0
+.. date: 7860
+.. nonce: sY1Wyi
+.. section: Library
+
+The sqlite3 module was updated to pysqlite 2.6.0.  This fixes several
+obscure bugs and allows loading SQLite extensions from shared libraries.
+
+..
+
+.. bpo: 7808
+.. date: 7859
+.. nonce: Onia6y
+.. section: Library
+
+Fix reference leaks in _bsddb and related tests.
+
+..
+
+.. bpo: 6544
+.. date: 7858
+.. nonce: NLvwqS
+.. section: Library
+
+Fix a reference leak in the kqueue implementation's error handling.
+
+..
+
+.. bpo: 0
+.. date: 7857
+.. nonce: yVX0tF
+.. section: Library
+
+Stop providing crtassem.h symbols when compiling with Visual Studio 2010, as
+msvcr100.dll is not a platform assembly anymore.
+
+..
+
+.. bpo: 7242
+.. date: 7856
+.. nonce: VzdbKI
+.. section: Library
+
+On Solaris 9 and earlier calling ``os.fork()`` from within a thread could
+raise an incorrect RuntimeError about not holding the import lock.  The
+import lock is now reinitialized after fork.
+
+..
+
+.. bpo: 7999
+.. date: 7855
+.. nonce: -6kN7B
+.. section: Library
+
+``os.setreuid()`` and ``os.setregid()`` would refuse to accept a -1
+parameter on some platforms such as OS X.
+
+..
+
+.. bpo: 7849
+.. date: 7854
+.. nonce: XQLva6
+.. section: Tests
+
+The utility ``test.test_support.check_warnings()`` verifies if warnings are
+effectively raised.  A new utility ``check_py3k_warnings()`` is available.
+
+..
+
+.. bpo: 0
+.. date: 7853
+.. nonce: iFGi5W
+.. section: Tests
+
+The four path modules (genericpath, macpath, ntpath, posixpath) share a
+common TestCase for some tests: test_genericpath.CommonTest.
+
+..
+
+.. bpo: 0
+.. date: 7852
+.. nonce: xd6x8Q
+.. section: Tests
+
+Print platform information when running the whole test suite, or using the
+``--verbose`` flag.
+
+..
+
+.. bpo: 767675
+.. date: 7851
+.. nonce: cR-mRY
+.. section: Tests
+
+Enable test_pep277 on POSIX platforms with Unicode-friendly filesystem
+encoding.
+
+..
+
+.. bpo: 6292
+.. date: 7850
+.. nonce: RJOYAi
+.. section: Tests
+
+For the moment at least, the test suite runs cleanly if python is run with
+the -OO flag.  Tests requiring docstrings are skipped.
+
+..
+
+.. bpo: 7712
+.. date: 7849
+.. nonce: Co5Xm7
+.. section: Tests
+
+test_support gained a new ``temp_cwd`` context manager which is now also
+used by regrtest to run all the tests in a temporary directory.  The
+original CWD is saved in ``test.test_support.SAVEDCWD``.  Thanks to Florent
+Xicluna who helped with the patch.
+
+..
+
+.. bpo: 3920
+.. date: 7848
+.. nonce: 5cWPGY
+.. section: Build
+
+Define _BSD_SOURCE on OpenBSD 4.4 through 4.9. (See also: bpo-7903)
diff --git a/Misc/NEWS.d/2.7b1.rst b/Misc/NEWS.d/2.7b1.rst
new file mode 100644
index 0000000..cfa710e
--- /dev/null
+++ b/Misc/NEWS.d/2.7b1.rst
@@ -0,0 +1,802 @@
+.. bpo: 7301
+.. date: 7972
+.. nonce: dlecRg
+.. release date: 2010-04-10
+.. section: Core and Builtins
+
+Add environment variable $PYTHONWARNINGS.
+
+..
+
+.. bpo: 8329
+.. date: 7971
+.. nonce: ZUTObm
+.. section: Core and Builtins
+
+Don't return the same lists from select.select when no fds are changed.
+
+..
+
+.. bpo: 8259
+.. date: 7970
+.. nonce: NNoD66
+.. section: Core and Builtins
+
+``1L << (2**31)`` no longer produces an 'outrageous shift error' on 64-bit
+machines.  The shift count for either left or right shift is permitted to be
+up to sys.maxsize.
+
+..
+
+.. bpo: 0
+.. date: 7969
+.. nonce: iwBvru
+.. section: Core and Builtins
+
+Ensure that tokenization of identifiers is not affected by locale.
+
+..
+
+.. bpo: 1222585
+.. date: 7968
+.. nonce: emqFT3
+.. section: Core and Builtins
+
+Added LDCXXSHARED for C++ support.  Patch by Arfrever.
+
+..
+
+.. bpo: 0
+.. date: 7967
+.. nonce: jCkZ20
+.. section: Core and Builtins
+
+Raise a TypeError when trying to delete a T_STRING_INPLACE struct member.
+
+..
+
+.. bpo: 7994
+.. date: 7966
+.. nonce: ZEBSAJ
+.. section: Core and Builtins
+
+Issue a PendingDeprecationWarning if object.__format__ is called with a non-
+empty format string. This is an effort to future-proof user code. If a
+derived class does not currently implement __format__ but later adds its own
+__format__, it would most likely break user code that had supplied a format
+string. This will be changed to a DeprecationWarning in Python 3.3 and it
+will be an error in Python 3.4.
+
+..
+
+.. bpo: 8268
+.. date: 7965
+.. nonce: usS51U
+.. section: Core and Builtins
+
+Old-style classes (not just instances) now support weak references.
+
+..
+
+.. bpo: 8211
+.. date: 7964
+.. nonce: InhXpq
+.. section: Core and Builtins
+
+Save/restore CFLAGS around AC_PROG_CC in configure.in, in case it is set.
+
+..
+
+.. bpo: 1583863
+.. date: 7963
+.. nonce: tSkjxk
+.. section: Core and Builtins
+
+A unicode subclass can now override the __unicode__ method
+
+..
+
+.. bpo: 6474
+.. date: 7962
+.. nonce: yFxVuM
+.. section: Core and Builtins
+
+Make error message from passing an inadequate number of keyword arguments to
+a function correct.
+
+..
+
+.. bpo: 8164
+.. date: 7961
+.. nonce: uRYEY5
+.. section: Core and Builtins
+
+Don't allow lambda functions to have a docstring.
+
+..
+
+.. bpo: 3137
+.. date: 7960
+.. nonce: Em70dh
+.. section: Core and Builtins
+
+Don't ignore errors at startup, especially a keyboard interrupt (SIGINT).
+If an error occurs while importing the site module, the error is printed and
+Python exits.  Initialize the GIL before importing the site module.
+
+..
+
+.. bpo: 0
+.. date: 7959
+.. nonce: kIQmnN
+.. section: Core and Builtins
+
+Code objects now support weak references.
+
+..
+
+.. bpo: 5277
+.. date: 7958
+.. nonce: CQ8CXN
+.. section: Library
+
+Fix quote counting when parsing RFC 2231 encoded parameters.
+
+..
+
+.. bpo: 8321
+.. date: 7957
+.. nonce: Tul_aA
+.. section: Library
+
+Give access to OpenSSL version numbers from the `ssl` module, using the new
+attributes `ssl.OPENSSL_VERSION`, `ssl.OPENSSL_VERSION_INFO` and
+`ssl.OPENSSL_VERSION_NUMBER`.
+
+..
+
+.. bpo: 8310
+.. date: 7956
+.. nonce: 6fu8uc
+.. section: Library
+
+Allow dis to examine new style classes.
+
+..
+
+.. bpo: 8257
+.. date: 7955
+.. nonce: PzabSZ
+.. section: Library
+
+The Decimal construct now accepts a float instance directly, converting that
+float to a Decimal of equal value:
+
+>>> Decimal(1.1)
+Decimal('1.100000000000000088817841970012523233890533447265625')
+
+..
+
+.. bpo: 0
+.. date: 7954
+.. nonce: 02C1gn
+.. section: Library
+
+collections.Counter() now supports a subtract() method.
+
+..
+
+.. bpo: 0
+.. date: 7953
+.. nonce: or8thG
+.. section: Library
+
+The functools module now has a total_ordering() class decorator to simplify
+the specification of rich comparisons.
+
+..
+
+.. bpo: 0
+.. date: 7952
+.. nonce: nshtA2
+.. section: Library
+
+The functools module also adds cmp_to_key() as a tool to transition old-
+style comparison functions to new-style key-functions.
+
+..
+
+.. bpo: 8294
+.. date: 7951
+.. nonce: 42HIIC
+.. section: Library
+
+The Fraction constructor now accepts Decimal and float instances directly.
+
+..
+
+.. bpo: 7279
+.. date: 7950
+.. nonce: v1uyoh
+.. section: Library
+
+Comparisons involving a Decimal signaling NaN now signal InvalidOperation
+instead of returning False.  (Comparisons involving a quiet NaN are
+unchanged.)  Also, Decimal quiet NaNs are now hashable; Decimal signaling
+NaNs remain unhashable.
+
+..
+
+.. bpo: 2531
+.. date: 7949
+.. nonce: ELCENf
+.. section: Library
+
+Comparison operations between floats and Decimal instances now return a
+result based on the numeric values of the operands; previously they returned
+an arbitrary result based on the relative ordering of id(float) and
+id(Decimal).
+
+..
+
+.. bpo: 8233
+.. date: 7948
+.. nonce: xJkVL4
+.. section: Library
+
+When run as a script, py_compile.py optionally takes a single argument `-`
+which tells it to read files to compile from stdin.  Each line is read on
+demand and the named file is compiled immediately.  (Original patch by Piotr
+Ożarowski).
+
+..
+
+.. bpo: 3135
+.. date: 7947
+.. nonce: 5u_w3h
+.. section: Library
+
+Add ``inspect.getcallargs()``, which binds arguments to a function like a
+normal call.
+
+..
+
+.. bpo: 0
+.. date: 7946
+.. nonce: CTbVhT
+.. section: Library
+
+Backwards incompatible change: Unicode codepoints line tabulation (0x0B) and
+form feed (0x0C) are now considered linebreaks, as specified in Unicode
+Standard Annex #14.  See issue #7643.  http://www.unicode.org/reports/tr14/
+
+..
+
+.. bpo: 0
+.. date: 7945
+.. nonce: Y0P_8n
+.. section: Library
+
+Comparisons using one of <, <=, >, >= between a complex instance and a
+Fractions instance now raise TypeError instead of returning True/False.
+This makes Fraction <=> complex comparisons consistent with int <=> complex,
+float <=> complex, and complex <=> complex comparisons.
+
+..
+
+.. bpo: 0
+.. date: 7944
+.. nonce: POrUTx
+.. section: Library
+
+Addition of ``WeakSet`` to the ``weakref`` module.
+
+..
+
+.. bpo: 0
+.. date: 7943
+.. nonce: 6xyUXj
+.. section: Library
+
+logging: Added LOG_FTP to SysLogHandler and updated documentation.
+
+..
+
+.. bpo: 8205
+.. date: 7942
+.. nonce: GK6syz
+.. section: Library
+
+Remove the "Modules" directory from sys.path when Python is running from the
+build directory (POSIX only).
+
+..
+
+.. bpo: 7667
+.. date: 7941
+.. nonce: 581UIL
+.. section: Library
+
+Fix doctest failures with non-ASCII paths.
+
+..
+
+.. bpo: 7512
+.. date: 7940
+.. nonce: 3tQWru
+.. section: Library
+
+shutil.copystat() could raise an OSError when the filesystem didn't support
+chflags() (for example ZFS under FreeBSD).  The error is now silenced.
+
+..
+
+.. bpo: 7703
+.. date: 7939
+.. nonce: _QnWbZ
+.. section: Library
+
+ctypes supports both buffer() and memoryview().  The former is deprecated.
+
+..
+
+.. bpo: 7860
+.. date: 7938
+.. nonce: DV2Y4E
+.. section: Library
+
+platform.uname now reports the correct 'machine' type when Python is running
+in WOW64 mode on 64 bit Windows.
+
+..
+
+.. bpo: 0
+.. date: 7937
+.. nonce: ZMh4CS
+.. section: Library
+
+logging: Added getChild utility method to Logger and added isEnabledFor
+method to LoggerAdapter.
+
+..
+
+.. bpo: 8201
+.. date: 7936
+.. nonce: Zsfq9o
+.. section: Library
+
+logging: Handle situation of non-ASCII and Unicode logger names existing at
+the same time, causing a Unicode error when configuration code attempted to
+sort the existing loggers.
+
+..
+
+.. bpo: 8200
+.. date: 7935
+.. nonce: QhAmka
+.. section: Library
+
+logging: Handle errors when multiprocessing is not fully loaded when logging
+occurs.
+
+..
+
+.. bpo: 3890
+.. date: 7934
+.. nonce: LxiC0p
+.. section: Library
+
+Fix recv() and recv_into() on non-blocking SSL sockets. Also, enable the
+SSL_MODE_AUTO_RETRY flag on SSL sockets, so that blocking reads and writes
+are always retried by OpenSSL itself. (See also: bpo-8222)
+
+..
+
+.. bpo: 8179
+.. date: 7933
+.. nonce: 8H5ich
+.. section: Library
+
+Fix macpath.realpath() on a non-existing path.
+
+..
+
+.. bpo: 8024
+.. date: 7932
+.. nonce: OWylMQ
+.. section: Library
+
+Update the Unicode database to 5.2.
+
+..
+
+.. bpo: 8104
+.. date: 7931
+.. nonce: sE4WnG
+.. section: Library
+
+socket.recv_into() and socket.recvfrom_into() now support writing into
+objects supporting the new buffer API, for example bytearrays or
+memoryviews.
+
+..
+
+.. bpo: 4961
+.. date: 7930
+.. nonce: WDc-2x
+.. section: Library
+
+Inconsistent/wrong result of askyesno function in tkMessageBox with
+Tcl/Tk-8.5.
+
+..
+
+.. bpo: 8140
+.. date: 7929
+.. nonce: GfkB7_
+.. section: Library
+
+Extend compileall to compile single files.  Add -i option.
+
+..
+
+.. bpo: 7774
+.. date: 7928
+.. nonce: BddO6b
+.. section: Library
+
+Set sys.executable to an empty string if ``argv[0]`` has been set to a non
+existent program name and Python is unable to retrieve the real program
+name.
+
+..
+
+.. bpo: 8117
+.. date: 7927
+.. nonce: CFgyRD
+.. section: Library
+
+logging: Improved algorithm for computing initial rollover time for
+``TimedRotatingFileHandler`` by using the modification time of an existing
+log file to compute the next rollover time.  If the log file does not exist,
+the current time is used as the basis for the computation.
+
+..
+
+.. bpo: 6472
+.. date: 7926
+.. nonce: c0VR0M
+.. section: Library
+
+The ``xml.etree`` package is updated to ElementTree 1.3.  The cElementTree
+module is updated too.
+
+..
+
+.. bpo: 7880
+.. date: 7925
+.. nonce: oSpS50
+.. section: Library
+
+Fix sysconfig when the python executable is a symbolic link.
+
+..
+
+.. bpo: 7624
+.. date: 7924
+.. nonce: P9QTki
+.. section: Library
+
+Fix ``isinstance(foo(), collections.Callable)`` for old-style classes.
+
+..
+
+.. bpo: 7143
+.. date: 7923
+.. nonce: A30Qss
+.. section: Library
+
+email: ``get_payload()`` used to strip any trailing newline from a base64
+transfer-encoded payload *after* decoding it; it no longer does. This is a
+behavior change, so email's minor version number is now bumped, to version
+4.0.2, for the 2.7 release.
+
+..
+
+.. bpo: 8235
+.. date: 7922
+.. nonce: 7txk3-
+.. section: Library
+
+_socket: Add the constant ``SO_SETFIB``.  SO_SETFIB is a socket option
+available on FreeBSD 7.1 and newer.
+
+..
+
+.. bpo: 8038
+.. date: 7921
+.. nonce: GrZDC3
+.. section: Library
+
+unittest.TestCase.assertNotRegexpMatches
+
+..
+
+.. bpo: 0
+.. date: 7920
+.. nonce: V2kHuO
+.. section: Library
+
+Addition of -b command line option to unittest for buffering stdout / stderr
+during test runs.
+
+..
+
+.. bpo: 1220212
+.. date: 7919
+.. nonce: GqZ0L4
+.. section: Library
+
+Added os.kill support for Windows, including support for sending CTRL+C and
+CTRL+BREAK events to console subprocesses.
+
+..
+
+.. bpo: 8314
+.. date: 7918
+.. nonce: s45vVC
+.. section: Library
+
+Fix unsigned long long bug in libffi on Sparc v8.
+
+..
+
+.. bpo: 1039
+.. date: 7917
+.. nonce: BQUTJH
+.. section: Library
+
+Fix os.execlp() crash with missing 2nd argument. (See also: bpo-8154)
+
+..
+
+.. bpo: 8156
+.. date: 7916
+.. nonce: 5LG8uP
+.. section: Library
+
+bsddb module updated to version 4.8.4.
+http://www.jcea.es/programacion/pybsddb.htm#bsddb3-4.8.4.  This update drops
+support for Berkeley DB 4.0, and adds support for 4.8.
+
+..
+
+.. bpo: 3928
+.. date: 7915
+.. nonce: kY8ENm
+.. section: Library
+
+os.mknod() now available in Solaris, also.
+
+..
+
+.. bpo: 8142
+.. date: 7914
+.. nonce: ArTkHw
+.. section: Library
+
+Update libffi to the 3.0.9 release.
+
+..
+
+.. bpo: 8300
+.. date: 7913
+.. nonce: fAkvVk
+.. section: Library
+
+When passing a non-integer argument to struct.pack with any integer format
+code, struct.pack first attempts to convert the non-integer using its
+__index__ method.  If that method is non-existent or raises TypeError it
+goes on to try the __int__ method, as described below.
+
+..
+
+.. bpo: 1530559
+.. date: 7912
+.. nonce: KXF5m2
+.. section: Library
+
+When passing a non-integer argument to struct.pack with *any* integer format
+code (one of 'bBhHiIlLqQ'), struct.pack attempts to use the argument's
+__int__ method to convert to an integer before packing.  It also produces a
+DeprecationWarning in this case.  (In Python 2.6, the behaviour was
+inconsistent: __int__ was used for some integer codes but not for others,
+and the set of integer codes for which it was used differed between native
+packing and standard packing.)
+
+..
+
+.. bpo: 7347
+.. date: 7911
+.. nonce: RdqRiz
+.. section: Library
+
+_winreg: Add CreateKeyEx and DeleteKeyEx, as well as fix a bug in the return
+value of QueryReflectionKey.
+
+..
+
+.. bpo: 7993
+.. date: 7910
+.. nonce: M7oNRJ
+.. section: Tools/Demos
+
+Add a test of IO packet processing bandwidth to ccbench.  It measures the
+number of UDP packets processed per second depending on the number of
+background CPU-bound Python threads.
+
+..
+
+.. bpo: 0
+.. date: 7909
+.. nonce: KeNbfw
+.. section: Tools/Demos
+
+python-config now supports multiple options on the same command line.
+
+..
+
+.. bpo: 8032
+.. date: 7908
+.. nonce: gv-Du9
+.. section: Build
+
+For gdb7, a python-gdb.py file is added to the build, allowing to use
+advanced gdb features when debugging Python.
+
+..
+
+.. bpo: 1628484
+.. date: 7907
+.. nonce: wcrSr1
+.. section: Build
+
+The Makefile doesn't ignore the CFLAGS environment variable anymore.  It
+also forwards the LDFLAGS settings to the linker when building a shared
+library.
+
+..
+
+.. bpo: 6716
+.. date: 7906
+.. nonce: tQLBdR
+.. section: Build
+
+Quote -x arguments of compileall in MSI installer.
+
+..
+
+.. bpo: 7705
+.. date: 7905
+.. nonce: sw6ifg
+.. section: Build
+
+Fix linking on FreeBSD.
+
+..
+
+.. bpo: 0
+.. date: 7904
+.. nonce: Dm_ncE
+.. section: Build
+
+Make sure that the FreeBSD build of the included libffi uses the proper
+assembly file.
+
+..
+
+.. bpo: 8276
+.. date: 7903
+.. nonce: 40pgLF
+.. section: C API
+
+PyEval_CallObject() is now only available in macro form.  The function
+declaration, which was kept for backwards compatibility reasons, is now
+removed (the macro was introduced in 1997!).
+
+..
+
+.. bpo: 7992
+.. date: 7902
+.. nonce: 2eLlya
+.. section: C API
+
+A replacement PyCObject API, PyCapsule, has been backported from Python 3.1.
+All existing Python CObjects in the main distribution have been converted to
+capsules.  To address backwards-compatibility concerns,
+PyCObject_AsVoidPtr() was changed to understand capsules.
+
+..
+
+.. bpo: 3864
+.. date: 7901
+.. nonce: bkbNiO
+.. section: Tests
+
+Skip three test_signal tests on freebsd6 because they fail if any thread was
+previously started, most likely due to a platform bug.
+
+..
+
+.. bpo: 8348
+.. date: 7900
+.. nonce: Nygf2t
+.. section: Tests
+
+Fix test ftp url in test_urllib2net.
+
+..
+
+.. bpo: 8204
+.. date: 7899
+.. nonce: iYMJ7_
+.. section: Tests
+
+Fix test_ttk notebook test by forcing focus.
+
+..
+
+.. bpo: 8344
+.. date: 7898
+.. nonce: kt2Sq_
+.. section: Tests
+
+Fix test_ttk bug on FreeBSD.
+
+..
+
+.. bpo: 8193
+.. date: 7897
+.. nonce: T8MbIc
+.. section: Tests
+
+Fix test_zlib failure with zlib 1.2.4.
+
+..
+
+.. bpo: 8248
+.. date: 7896
+.. nonce: pBx5bT
+.. section: Tests
+
+Add some tests for the bool type.  Patch by Gregory Nofi.
+
+..
+
+.. bpo: 8263
+.. date: 7895
+.. nonce: zNUf-5
+.. section: Tests
+
+Now regrtest.py will report a failure if it receives a KeyboardInterrupt
+(SIGINT).
+
+..
+
+.. bpo: 8180
+.. date: 7894
+.. nonce: yyLvZY
+.. section: Tests
+
+Fix test_pep277 on OS X and add more tests for special Unicode normalization
+cases. (See also: bpo-8207)
+
+..
+
+.. bpo: 7783
+.. date: 7893
+.. nonce: K20ttO
+.. section: Tests
+
+test.test_support.open_urlresource invalidates the outdated files from the
+local cache.
diff --git a/Misc/NEWS.d/2.7b2.rst b/Misc/NEWS.d/2.7b2.rst
new file mode 100644
index 0000000..caa336b
--- /dev/null
+++ b/Misc/NEWS.d/2.7b2.rst
@@ -0,0 +1,666 @@
+.. bpo: 0
+.. date: 8039
+.. nonce: 8aqNKP
+.. release date: 2010-05-08
+.. section: Core and Builtins
+
+Run Clang 2.7's static analyzer for ``Objects/`` and ``Python/``.
+
+..
+
+.. bpo: 1533
+.. date: 8038
+.. nonce: 6FLjC9
+.. section: Core and Builtins
+
+Fix inconsistency in range function argument processing: any non-float non-
+integer argument is now converted to an integer (if possible) using its
+__int__ method.  Previously, only small arguments were treated this way;
+larger arguments (those whose __int__ was outside the range of a C long)
+would produce a TypeError.
+
+..
+
+.. bpo: 8202
+.. date: 8037
+.. nonce: UvqmQ2
+.. section: Core and Builtins
+
+``sys.argv[0]`` is now set to '-m' instead of '-c' when searching for the
+module file to be executed with the -m command line option.
+
+..
+
+.. bpo: 7319
+.. date: 8036
+.. nonce: Ry0QuX
+.. section: Core and Builtins
+
+When -Q is used, do not silence DeprecationWarning.
+
+..
+
+.. bpo: 7332
+.. date: 8035
+.. nonce: mCUzwz
+.. section: Core and Builtins
+
+Remove the 16KB stack-based buffer in ``PyMarshal_ReadLastObjectFromFile``,
+which doesn't bring any noticeable benefit compared to the dynamic memory
+allocation fallback.  Patch by Charles-François Natali.
+
+..
+
+.. bpo: 8417
+.. date: 8034
+.. nonce: qcRfh8
+.. section: Core and Builtins
+
+Raise an OverflowError when an integer larger than sys.maxsize is passed to
+bytearray.
+
+..
+
+.. bpo: 7072
+.. date: 8033
+.. nonce: YGHQG7
+.. section: Core and Builtins
+
+``isspace(0xa0)`` is true on Mac OS X.
+
+..
+
+.. bpo: 8404
+.. date: 8032
+.. nonce: 0krGPF
+.. section: Core and Builtins
+
+Fix set operations on dictionary views.
+
+..
+
+.. bpo: 8084
+.. date: 8031
+.. nonce: uiAFoS
+.. section: Core and Builtins
+
+PEP 370 now conforms to system conventions for framework builds on MacOS X.
+That is, ``python setup.py install --user`` will install into
+``~/Library/Python/2.7`` instead of ``~/.local``.
+
+..
+
+.. bpo: 8681
+.. date: 8030
+.. nonce: bnD2Mi
+.. section: Library
+
+Make the zlib module's error messages more informative when the zlib itself
+doesn't give any detailed explanation.
+
+..
+
+.. bpo: 8571
+.. date: 8029
+.. nonce: BGxcud
+.. section: Library
+
+Fix an internal error when compressing or decompressing a chunk larger than
+1GB with the zlib module's compressor and decompressor objects.
+
+..
+
+.. bpo: 8573
+.. date: 8028
+.. nonce: PZTYKm
+.. section: Library
+
+asyncore ``_strerror()`` function might throw ValueError.
+
+..
+
+.. bpo: 8483
+.. date: 8027
+.. nonce: gWRwCr
+.. section: Library
+
+asyncore.dispatcher's __getattr__ method produced confusing error messages
+when accessing undefined class attributes because of the cheap inheritance
+with the underlying socket object.  The cheap inheritance has been
+deprecated.
+
+..
+
+.. bpo: 4265
+.. date: 8026
+.. nonce: gtcR-h
+.. section: Library
+
+``shutil.copyfile()`` was leaking file descriptors when disk fills.  Patch
+by Tres Seaver.
+
+..
+
+.. bpo: 7755
+.. date: 8025
+.. nonce: k5FaAX
+.. section: Library
+
+Use an unencumbered audio file for tests.
+
+..
+
+.. bpo: 8621
+.. date: 8024
+.. nonce: 64sJJn
+.. section: Library
+
+``uuid.uuid4()`` returned the same sequence of values in the parent and any
+children created using ``os.fork`` on Mac OS X 10.6.
+
+..
+
+.. bpo: 8313
+.. date: 8023
+.. nonce: lE868K
+.. section: Library
+
+``traceback.format_exception_only()`` encodes unicode message to ASCII with
+backslashreplace error handler if ``str(value)`` failed.
+
+..
+
+.. bpo: 8567
+.. date: 8022
+.. nonce: agGfsd
+.. section: Library
+
+Fix precedence of signals in Decimal module: when a Decimal operation raises
+multiple signals and more than one of those signals is trapped, the
+specification determines the order in which the signals should be handled.
+In many cases this order wasn't being followed, leading to the wrong Python
+exception being raised.
+
+..
+
+.. bpo: 7865
+.. date: 8021
+.. nonce: YF-RSw
+.. section: Library
+
+The close() method of :mod:`io` objects should not swallow exceptions raised
+by the implicit flush().  Also ensure that calling close() several times is
+supported.  Patch by Pascal Chambon.
+
+..
+
+.. bpo: 8576
+.. date: 8020
+.. nonce: P-vn7s
+.. section: Library
+
+logging updated to remove usage of find_unused_port().
+
+..
+
+.. bpo: 4687
+.. date: 8019
+.. nonce: WuWPAI
+.. section: Library
+
+Fix accuracy of garbage collection runtimes displayed with gc.DEBUG_STATS.
+
+..
+
+.. bpo: 8354
+.. date: 8018
+.. nonce: ihPpD8
+.. section: Library
+
+The siginterrupt setting is now preserved for all signals, not just SIGCHLD.
+
+..
+
+.. bpo: 7192
+.. date: 8017
+.. nonce: crfmVq
+.. section: Library
+
+``webbrowser.get("firefox")`` now works on Mac OS X, as does
+``webbrowser.get("safari")``.
+
+..
+
+.. bpo: 8577
+.. date: 8016
+.. nonce: aNmUf8
+.. section: Library
+
+``distutils.sysconfig.get_python_inc()`` now makes a difference between the
+build dir and the source dir when looking for "python.h" or "Include".
+
+..
+
+.. bpo: 8464
+.. date: 8015
+.. nonce: dckIPz
+.. section: Library
+
+tarfile no longer creates files with execute permissions set when mode="w|"
+is used.
+
+..
+
+.. bpo: 7834
+.. date: 8014
+.. nonce: 6FWkzA
+.. section: Library
+
+Fix connect() of Bluetooth L2CAP sockets with recent versions of the Linux
+kernel.  Patch by Yaniv Aknin.
+
+..
+
+.. bpo: 6312
+.. date: 8013
+.. nonce: ZgHCwc
+.. section: Library
+
+Fix http HEAD request when the transfer encoding is chunked.  It should
+correctly return an empty response now.
+
+..
+
+.. bpo: 7490
+.. date: 8012
+.. nonce: hT8uzG
+.. section: Library
+
+To facilitate sharing of doctests between 2.x and 3.x test suites, the
+``IGNORE_EXCEPTION_DETAIL`` directive now also ignores the module location
+of the raised exception.  Based on initial patch by Lennart Regebro.
+
+..
+
+.. bpo: 8086
+.. date: 8011
+.. nonce: Nn01DF
+.. section: Library
+
+In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline before the
+certificate footer.  Patch by Kyle VanderBeek.
+
+..
+
+.. bpo: 8546
+.. date: 8010
+.. nonce: ZJV_Z2
+.. section: Library
+
+Reject None given as the buffering argument to ``_pyio.open()``.
+
+..
+
+.. bpo: 8549
+.. date: 8009
+.. nonce: 9m7vbm
+.. section: Library
+
+Fix compiling the _ssl extension under AIX.  Patch by Sridhar Ratnakumar.
+
+..
+
+.. bpo: 6656
+.. date: 8008
+.. nonce: oU6_NU
+.. section: Library
+
+Fix locale.format_string to handle escaped percents and mappings.
+
+..
+
+.. bpo: 2302
+.. date: 8007
+.. nonce: KqJUA8
+.. section: Library
+
+Fix a race condition in SocketServer.BaseServer.shutdown, where the method
+could block indefinitely if called just before the event loop started
+running.  This also fixes the occasional freezes witnessed in
+test_httpservers.
+
+..
+
+.. bpo: 5103
+.. date: 8006
+.. nonce: mBe0-l
+.. section: Library
+
+SSL handshake would ignore the socket timeout and block indefinitely if the
+other end didn't respond.
+
+..
+
+.. bpo: 0
+.. date: 8005
+.. nonce: XlQAbN
+.. section: Library
+
+The do_handshake() method of SSL objects now adjusts the blocking mode of
+the SSL structure if necessary (as other methods already do).
+
+..
+
+.. bpo: 7507
+.. date: 8004
+.. nonce: PPZWiA
+.. section: Library
+
+Quote "!" in pipes.quote(); it is special to some shells.
+
+..
+
+.. bpo: 5238
+.. date: 8003
+.. nonce: HjIVqr
+.. section: Library
+
+Calling makefile() on an SSL object would prevent the underlying socket from
+being closed until all objects get truely destroyed.
+
+..
+
+.. bpo: 7943
+.. date: 8002
+.. nonce: 0wcepT
+.. section: Library
+
+Fix circular reference created when instantiating an SSL socket. Initial
+patch by Péter Szabó.
+
+..
+
+.. bpo: 8451
+.. date: 8001
+.. nonce: vWZKfu
+.. section: Library
+
+Syslog module now uses basename(sys.argv[0]) instead of the string "python"
+as the *ident*.  openlog() arguments are all optional and keywords.
+
+..
+
+.. bpo: 8108
+.. date: 8000
+.. nonce: gw3ghC
+.. section: Library
+
+Fix the unwrap() method of SSL objects when the socket has a non-infinite
+timeout.  Also make that method friendlier with applications wanting to
+continue using the socket in clear-text mode, by disabling OpenSSL's
+internal readahead.  Thanks to Darryl Miles for guidance.
+
+..
+
+.. bpo: 8484
+.. date: 7999
+.. nonce: b9zFsh
+.. section: Library
+
+Load all ciphers and digest algorithms when initializing the _ssl extension,
+such that verification of some SSL certificates doesn't fail because of an
+"unknown algorithm".
+
+..
+
+.. bpo: 8437
+.. date: 7998
+.. nonce: iGGyX3
+.. section: Library
+
+Fix test_gdb failures, patch written by Dave Malcolm
+
+..
+
+.. bpo: 4814
+.. date: 7997
+.. nonce: kc5m59
+.. section: Library
+
+The timeout parameter is now applied also for connections resulting from
+PORT/EPRT commands.
+
+..
+
+.. bpo: 8463
+.. date: 7996
+.. nonce: slxxrW
+.. section: Library
+
+Add missing reference to bztar in shutil's documentation.
+
+..
+
+.. bpo: 8438
+.. date: 7995
+.. nonce: TUjaAU
+.. section: Library
+
+Remove reference to the missing "surrogateescape" encoding error handler
+from the new IO library.
+
+..
+
+.. bpo: 3817
+.. date: 7994
+.. nonce: 6zjb85
+.. section: Library
+
+ftplib.FTP.abort() method now considers 225 a valid response code as stated
+in RFC-959 at chapter 5.4.
+
+..
+
+.. bpo: 8279
+.. date: 7993
+.. nonce: MubiOg
+.. section: Library
+
+Fix test_gdb failures.
+
+..
+
+.. bpo: 8322
+.. date: 7992
+.. nonce: XVocgc
+.. section: Library
+
+Add a *ciphers* argument to SSL sockets, so as to change the available
+cipher list.  Helps fix test_ssl with OpenSSL 1.0.0.
+
+..
+
+.. bpo: 2987
+.. date: 7991
+.. nonce: FbxT-M
+.. section: Library
+
+RFC 2732 support for urlparse (IPv6 addresses).  Patch by Tony Locke and
+Hans Ulrich Niedermann.
+
+..
+
+.. bpo: 7585
+.. date: 7990
+.. nonce: stGadz
+.. section: Library
+
+difflib context and unified diffs now place a tab between filename and date,
+conforming to the 'standards' they were originally designed to follow.  This
+improves compatibility with patch tools.
+
+..
+
+.. bpo: 7472
+.. date: 7989
+.. nonce: IghBPp
+.. section: Library
+
+Fixed typo in email.encoders module; messages using ISO-2022 character sets
+will now consistently use a Content-Transfer-Encoding of 7bit rather than
+sometimes being marked as 8bit.
+
+..
+
+.. bpo: 8330
+.. date: 7988
+.. nonce: LPDqBG
+.. section: Library
+
+Fix expected output in test_gdb.
+
+..
+
+.. bpo: 8374
+.. date: 7987
+.. nonce: bWoGdD
+.. section: Library
+
+Update the internal alias table in the :mod:`locale` module to cover recent
+locale changes and additions.
+
+..
+
+.. bpo: 8644
+.. date: 7986
+.. nonce: JWO_61
+.. section: Library
+
+Improved accuracy of ``timedelta.total_seconds()``.
+
+..
+
+.. bpo: 0
+.. date: 7985
+.. nonce: LYHXVb
+.. section: Library
+
+Use Clang 2.7's static analyzer to find places to clean up some code.
+
+..
+
+.. bpo: 0
+.. date: 7984
+.. nonce: jbiDIM
+.. section: Library
+
+Build the ossaudio extension on GNU/kFreeBSD.
+
+..
+
+.. bpo: 0
+.. date: 7983
+.. nonce: NCKMWo
+.. section: Library
+
+On Windows, ctypes no longer checks the stack before and after calling a
+foreign function.  This allows using the unmodified libffi library.
+
+..
+
+.. bpo: 8672
+.. date: 7982
+.. nonce: hs9Ync
+.. section: Tests
+
+Add a zlib test ensuring that an incomplete stream can be handled by a
+decompressor object without errors (it returns incomplete uncompressed
+data).
+
+..
+
+.. bpo: 8490
+.. date: 7981
+.. nonce: yG1Xr0
+.. section: Tests
+
+asyncore now has a more solid test suite which actually tests its API.
+
+..
+
+.. bpo: 8576
+.. date: 7980
+.. nonce: Up6MTB
+.. section: Tests
+
+Remove use of find_unused_port() in test_smtplib and test_multiprocessing.
+Patch by Paul Moore.
+
+..
+
+.. bpo: 7449
+.. date: 7979
+.. nonce: as77J5
+.. section: Tests
+
+Fix many tests to support Python compiled without thread support. Patches
+written by Jerry Seutter.
+
+..
+
+.. bpo: 8108
+.. date: 7978
+.. nonce: -PlMAS
+.. section: Tests
+
+test_ftplib's non-blocking SSL server now has proper handling of SSL
+shutdowns.
+
+..
+
+.. bpo: 8625
+.. date: 7977
+.. nonce: E4dSUW
+.. section: Build
+
+Turn off optimization in ``--with-pydebug`` builds with gcc. (Optimization
+was unintentionally turned on in gcc --with-pydebug builds in 2.7 beta1 as a
+result of the issue #1628484 fix, combined with autoconf's strange choice of
+default CFLAGS produced by AC_PROG_CC for gcc.)
+
+..
+
+.. bpo: 8509
+.. date: 7976
+.. nonce: N8vHHZ
+.. section: Build
+
+Fix quoting in help strings and code snippets in configure.in.
+
+..
+
+.. bpo: 3646
+.. date: 7975
+.. nonce: UyNDbm
+.. section: Build
+
+It is now easily possible to install a Python framework into your home
+directory on Mac OS X, see Mac/README for more information.
+
+..
+
+.. bpo: 8510
+.. date: 7974
+.. nonce: 8MiUfR
+.. section: Build
+
+Update to autoconf 2.65.
+
+..
+
+.. bpo: 0
+.. date: 7973
+.. nonce: 18HloG
+.. section: Windows
+
+Update the Vim syntax highlight file.
diff --git a/Misc/NEWS.d/2.7rc1.rst b/Misc/NEWS.d/2.7rc1.rst
new file mode 100644
index 0000000..1984c09
--- /dev/null
+++ b/Misc/NEWS.d/2.7rc1.rst
@@ -0,0 +1,395 @@
+.. bpo: 8271
+.. date: 8078
+.. nonce: HKwc-i
+.. release date: 2010-06-05
+.. section: Core and Builtins
+
+during the decoding of an invalid UTF-8 byte sequence, only the start byte
+and the continuation byte(s) are now considered invalid, instead of the
+number of bytes specified by the start byte. E.g.:
+'\xf1\x80AB'.decode('utf-8', 'replace') now returns u'\ufffdAB' and replaces
+with U+FFFD only the start byte ('\xf1') and the continuation byte ('\x80')
+even if '\xf1' is the start byte of a 4-bytes sequence. Previous versions
+returned a single u'\ufffd'.
+
+..
+
+.. bpo: 8627
+.. date: 8077
+.. nonce: l2l6Zs
+.. section: Core and Builtins
+
+Remove bogus "Overriding __cmp__ blocks inheritance of __hash__ in 3.x"
+warning.  Also fix "XXX undetected error" that arises from the "Overriding
+__eq__ blocks inheritance ..." warning when turned into an exception: in
+this case the exception simply gets ignored.
+
+..
+
+.. bpo: 8748
+.. date: 8076
+.. nonce: bKymOB
+.. section: Core and Builtins
+
+Fix two issues with comparisons between complex and integer objects.  (1)
+The comparison could incorrectly return True in some cases (2**53+1 ==
+complex(2**53) == 2**53), breaking transivity of equality. (2) The
+comparison raised an OverflowError for large integers, leading to
+unpredictable exceptions when combining integers and complex objects in sets
+or dicts.
+
+..
+
+.. bpo: 5211
+.. date: 8075
+.. nonce: BNwm54
+.. section: Core and Builtins
+
+Implicit coercion for the complex type is now completely removed.  (Coercion
+for arithmetic operations was already removed in 2.7 alpha 4, but coercion
+for rich comparisons was accidentally left in.)
+
+..
+
+.. bpo: 3798
+.. date: 8074
+.. nonce: L9n27k
+.. section: Core and Builtins
+
+Write sys.exit() message to sys.stderr to use stderr encoding and error
+handler, instead of writing to the C stderr file in utf-8
+
+..
+
+.. bpo: 7902
+.. date: 8073
+.. nonce: K75Ezw
+.. section: Core and Builtins
+
+When using explicit relative import syntax, don't try implicit relative
+import semantics.
+
+..
+
+.. bpo: 7079
+.. date: 8072
+.. nonce: wEGBdB
+.. section: Core and Builtins
+
+Fix a possible crash when closing a file object while using it from another
+thread.  Patch by Daniel Stutzbach.
+
+..
+
+.. bpo: 8868
+.. date: 8071
+.. nonce: rg3J-W
+.. section: Core and Builtins
+
+Fix that ensures that python scripts have access to the Window Server again
+in a framework build on MacOSX 10.5 or earlier.
+
+..
+
+.. bpo: 5753
+.. date: 8070
+.. nonce: 205374
+.. section: C API
+
+A new C API function, :cfunc:`PySys_SetArgvEx`, allows embedders of the
+interpreter to set sys.argv without also modifying sys.path.  This helps fix
+`CVE-2008-5983 <http://cve.mitre.org/cgi-
+bin/cvename.cgi?name=CVE-2008-5983>`_.
+
+..
+
+.. bpo: 8302
+.. date: 8069
+.. nonce: U5tZ_l
+.. section: Library
+
+SkipTest in unittest.TestCase.setUpClass or setUpModule is now reported as a
+skip rather than an error.
+
+..
+
+.. bpo: 8351
+.. date: 8068
+.. nonce: 8I5oO-
+.. section: Library
+
+Excessively large diffs due to unittest.TestCase.assertSequenceEqual are no
+longer included in failure reports.
+
+..
+
+.. bpo: 8899
+.. date: 8067
+.. nonce: Q6oIpy
+.. section: Library
+
+time.struct_time now has class and attribute docstrings.
+
+..
+
+.. bpo: 4487
+.. date: 8066
+.. nonce: WdV86e
+.. section: Library
+
+email now accepts as charset aliases all codec aliases accepted by the
+codecs module.
+
+..
+
+.. bpo: 6470
+.. date: 8065
+.. nonce: eVTlgU
+.. section: Library
+
+Drop UNC prefix in FixTk.
+
+..
+
+.. bpo: 5610
+.. date: 8064
+.. nonce: 3x0O2c
+.. section: Library
+
+feedparser no longer eats extra characters at the end of a body part if the
+body part ends with a \r\n.
+
+..
+
+.. bpo: 8833
+.. date: 8063
+.. nonce: R9JBZA
+.. section: Library
+
+tarfile created hard link entries with a size field != 0 by mistake.
+
+..
+
+.. bpo: 1368247
+.. date: 8062
+.. nonce: OVD5zb
+.. section: Library
+
+set_charset (and therefore MIMEText) now automatically encodes a unicode
+_payload to the output_charset.
+
+..
+
+.. bpo: 7150
+.. date: 8061
+.. nonce: kBTznJ
+.. section: Library
+
+Raise OverflowError if the result of adding or subtracting timedelta from
+date or datetime falls outside of the MINYEAR:MAXYEAR range.
+
+..
+
+.. bpo: 6662
+.. date: 8060
+.. nonce: jpO1QX
+.. section: Library
+
+Fix parsing of malformatted charref (&#bad;), patch written by Fredrik Håård
+
+..
+
+.. bpo: 8016
+.. date: 8059
+.. nonce: vAmdrz
+.. section: Library
+
+Add the CP858 codec.
+
+..
+
+.. bpo: 3924
+.. date: 8058
+.. nonce: -W1f1B
+.. section: Library
+
+Ignore cookies with invalid "version" field in cookielib.
+
+..
+
+.. bpo: 6268
+.. date: 8057
+.. nonce: fQgJxL
+.. section: Library
+
+Fix seek() method of codecs.open(), don't read or write the BOM twice after
+seek(0). Fix also reset() method of codecs, UTF-16, UTF-32 and StreamWriter
+classes.
+
+..
+
+.. bpo: 5640
+.. date: 8056
+.. nonce: dpc6TZ
+.. section: Library
+
+Fix Shift-JIS incremental encoder for error handlers different than
+'strict'.
+
+..
+
+.. bpo: 8782
+.. date: 8055
+.. nonce: asLuOV
+.. section: Library
+
+Add a trailing newline in linecache.updatecache to the last line of files
+without one.
+
+..
+
+.. bpo: 8729
+.. date: 8054
+.. nonce: Nq_Uhf
+.. section: Library
+
+Return NotImplemented from ``collections.Mapping.__eq__()`` when comparing
+to a non-mapping.
+
+..
+
+.. bpo: 8759
+.. date: 8053
+.. nonce: 0yDlu7
+.. section: Library
+
+Fix user paths in sysconfig for posix and os2 schemes.
+
+..
+
+.. bpo: 1285086
+.. date: 8052
+.. nonce: U8BtXR
+.. section: Library
+
+Speed up ``urllib.quote()`` and urllib.unquote for simple cases.
+
+..
+
+.. bpo: 8688
+.. date: 8051
+.. nonce: gUJqmI
+.. section: Library
+
+Distutils now recalculates MANIFEST every time.
+
+..
+
+.. bpo: 5099
+.. date: 8050
+.. nonce: kmjFaU
+.. section: Library
+
+The ``__del__()`` method of ``subprocess.Popen`` (and the methods it calls)
+referenced global objects, causing errors to pop up during interpreter
+shutdown.
+
+..
+
+.. bpo: 7384
+.. date: 8049
+.. nonce: E16zrc
+.. section: Library
+
+If the system readline library is linked against ncurses, the curses module
+must be linked against ncurses as well. Otherwise it is not safe to load
+both the readline and curses modules in an application.
+
+..
+
+.. bpo: 2810
+.. date: 8048
+.. nonce: FSt0Y0
+.. section: Library
+
+Fix cases where the Windows registry API returns ERROR_MORE_DATA, requiring
+a re-try in order to get the complete result.
+
+..
+
+.. bpo: 8674
+.. date: 8047
+.. nonce: Q2kfWX
+.. section: Library
+
+Fixed a number of incorrect or undefined-behaviour-inducing overflow checks
+in the ``audioop`` module.
+
+..
+
+.. bpo: 8889
+.. date: 8046
+.. nonce: 9IoVzA
+.. section: Tests
+
+test_support.transient_internet rewritten so that the new checks also work
+on FreeBSD, which lacks EAI_NODATA.
+
+..
+
+.. bpo: 8835
+.. date: 8045
+.. nonce: FJzJvJ
+.. section: Tests
+
+test_support.transient_internet() catches gaierror(EAI_NONAME) and
+gaierror(EAI_NODATA)
+
+..
+
+.. bpo: 7449
+.. date: 8044
+.. nonce: LeKyd_
+.. section: Tests
+
+Skip test_socketserver if threading support is disabled
+
+..
+
+.. bpo: 0
+.. date: 8043
+.. nonce: b_na1a
+.. section: Tests
+
+On darwin, ``test_site`` assumed that a framework build was being used,
+leading to a failure where four directories were expected for site-packages
+instead of two in a non-framework build.
+
+..
+
+.. bpo: 0
+.. date: 8042
+.. nonce: g-v7fs
+.. section: Build
+
+Display installer warning that Windows 2000 won't be supported in future
+releases.
+
+..
+
+.. bpo: 1759169
+.. date: 8041
+.. nonce: NW035m
+.. section: Build
+
+Drop _XOPEN_SOURCE on Solaris, define it for multiprocessing only. (See
+also: bpo-8864)
+
+..
+
+.. bpo: 5464
+.. date: 8040
+.. nonce: R1pj9Y
+.. section: Tools/Demos
+
+Implement plural forms in msgfmt.py.
diff --git a/Misc/NEWS.d/2.7rc2.rst b/Misc/NEWS.d/2.7rc2.rst
new file mode 100644
index 0000000..6ad8075
--- /dev/null
+++ b/Misc/NEWS.d/2.7rc2.rst
@@ -0,0 +1,125 @@
+.. bpo: 9058
+.. date: 8091
+.. nonce: l34Hmg
+.. release date: 2010-06-20
+.. section: Core and Builtins
+
+Remove assertions about INT_MAX in UnicodeDecodeError.
+
+..
+
+.. bpo: 8202
+.. date: 8090
+.. nonce: D-a4-i
+.. section: Core and Builtins
+
+Previous change to ``sys.argv[0]`` handling for -m command line option
+reverted due to unintended side effects on handling of ``sys.path``. See
+tracker issue for details.
+
+..
+
+.. bpo: 8941
+.. date: 8089
+.. nonce: p6MUoO
+.. section: Core and Builtins
+
+decoding big endian UTF-32 data in UCS-2 builds could crash the interpreter
+with characters outside the Basic Multilingual Plane (higher than 0x10000).
+
+..
+
+.. bpo: 0
+.. date: 8088
+.. nonce: diKrLc
+.. section: Core and Builtins
+
+In the unicode/str.format(), raise a ValueError when indexes to arguments
+are too large.
+
+..
+
+.. bpo: 8854
+.. date: 8087
+.. nonce: gOjstX
+.. section: Build
+
+Fix finding Visual Studio 2008 on Windows x64.
+
+..
+
+.. bpo: 6589
+.. date: 8086
+.. nonce: nEjgGc
+.. section: Library
+
+cleanup asyncore.socket_map in case smtpd.SMTPServer constructor raises an
+exception.
+
+..
+
+.. bpo: 8959
+.. date: 8085
+.. nonce: lO7u2O
+.. section: Library
+
+fix regression caused by using unmodified libffi library on Windows.  ctypes
+does now again check the stack before and after calling foreign functions.
+
+..
+
+.. bpo: 8720
+.. date: 8084
+.. nonce: rgLhvU
+.. section: Library
+
+fix regression caused by fix for #4050 by making getsourcefile smart enough
+to find source files in the linecache.
+
+..
+
+.. bpo: 8986
+.. date: 8083
+.. nonce: f31LM5
+.. section: Library
+
+math.erfc was incorrectly raising OverflowError for values between -27.3 and
+-30.0 on some platforms.
+
+..
+
+.. bpo: 8924
+.. date: 8082
+.. nonce: ENI5YP
+.. section: Library
+
+logging: Improved error handling for Unicode in exception text.
+
+..
+
+.. bpo: 8948
+.. date: 8081
+.. nonce: BIIiQc
+.. section: Library
+
+cleanup functions and class / module setups and teardowns are now honored in
+unittest debug methods.
+
+..
+
+.. bpo: 8909
+.. date: 8080
+.. nonce: OfU6lI
+.. section: Documentation
+
+Added the size of the bitmap used in the installer created by distutils'
+bdist_wininst. Patch by Anatoly Techtonik.
+
+..
+
+.. bpo: 8362
+.. date: 8079
+.. nonce: KsG-3E
+.. section: Windows
+
+Add maintainers.rst: list of module maintainers
diff --git a/Misc/NEWS.d/next/Build/008.bpo-28768.b9_a6E.rst b/Misc/NEWS.d/next/Build/008.bpo-28768.b9_a6E.rst
new file mode 100644
index 0000000..702e14e
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/008.bpo-28768.b9_a6E.rst
@@ -0,0 +1 @@
+Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto
diff --git a/Misc/NEWS.d/next/Build/009.bpo-29572.iZ1XKK.rst b/Misc/NEWS.d/next/Build/009.bpo-29572.iZ1XKK.rst
new file mode 100644
index 0000000..9bf71f9
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/009.bpo-29572.iZ1XKK.rst
@@ -0,0 +1 @@
+Update Windows build and OS X installers to use OpenSSL 1.0.2k.
diff --git a/Misc/NEWS.d/next/Build/010.bpo-29643.4DrjEB.rst b/Misc/NEWS.d/next/Build/010.bpo-29643.4DrjEB.rst
new file mode 100644
index 0000000..51f6667
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/010.bpo-29643.4DrjEB.rst
@@ -0,0 +1 @@
+Fix ``--enable-optimization`` configure option didn't work.
diff --git a/Misc/NEWS.d/next/Build/011.bpo-27593.v87xEr.rst b/Misc/NEWS.d/next/Build/011.bpo-27593.v87xEr.rst
new file mode 100644
index 0000000..5b345e6
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/011.bpo-27593.v87xEr.rst
@@ -0,0 +1,3 @@
+sys.version and the platform module python_build(), python_branch(), and
+python_revision() functions now use git information rather than hg when
+building from a repo.
diff --git a/Misc/NEWS.d/next/Build/012.bpo-23404.PdYVWg.rst b/Misc/NEWS.d/next/Build/012.bpo-23404.PdYVWg.rst
new file mode 100644
index 0000000..0addfd0
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/012.bpo-23404.PdYVWg.rst
@@ -0,0 +1,2 @@
+Don't regenerate generated files based on file modification time anymore:
+the action is now explicit. Replace ``make touch`` with ``make regen-all``.
diff --git a/Misc/NEWS.d/next/Build/013.bpo-29243.WDK4hT.rst b/Misc/NEWS.d/next/Build/013.bpo-29243.WDK4hT.rst
new file mode 100644
index 0000000..378e49f
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/013.bpo-29243.WDK4hT.rst
@@ -0,0 +1,3 @@
+Prevent unnecessary rebuilding of Python during ``make test``, ``make
+install`` and some other make targets when configured with ``--enable-
+optimizations``.
diff --git a/Misc/NEWS.d/next/Core and Builtins/063.bpo-28932.QnLx8A.rst b/Misc/NEWS.d/next/Core and Builtins/063.bpo-28932.QnLx8A.rst
new file mode 100644
index 0000000..e209011
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/063.bpo-28932.QnLx8A.rst
@@ -0,0 +1 @@
+Do not include <sys/random.h> if it does not exist.
diff --git a/Misc/NEWS.d/next/Core and Builtins/064.bpo-29145.2x5NOb.rst b/Misc/NEWS.d/next/Core and Builtins/064.bpo-29145.2x5NOb.rst
new file mode 100644
index 0000000..36ccc22
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/064.bpo-29145.2x5NOb.rst
@@ -0,0 +1,2 @@
+Fix overflow checks in string, bytearray and unicode. Patch by jan matejek
+and Xiang Zhang.
diff --git a/Misc/NEWS.d/next/Core and Builtins/065.bpo-29028.BxGcd9.rst b/Misc/NEWS.d/next/Core and Builtins/065.bpo-29028.BxGcd9.rst
new file mode 100644
index 0000000..c173122
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/065.bpo-29028.BxGcd9.rst
@@ -0,0 +1,2 @@
+Fixed possible use-after-free bugs in the subscription of the buffer object
+with custom index object.
diff --git a/Misc/NEWS.d/next/Core and Builtins/066.bpo-14376.xrKNqX.rst b/Misc/NEWS.d/next/Core and Builtins/066.bpo-14376.xrKNqX.rst
new file mode 100644
index 0000000..843bf81
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/066.bpo-14376.xrKNqX.rst
@@ -0,0 +1 @@
+Allow sys.exit to accept longs as well as ints. Patch by Gareth Rees.
diff --git a/Misc/NEWS.d/next/Core and Builtins/067.bpo-29347.1RPPGN.rst b/Misc/NEWS.d/next/Core and Builtins/067.bpo-29347.1RPPGN.rst
new file mode 100644
index 0000000..35fa106
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/067.bpo-29347.1RPPGN.rst
@@ -0,0 +1,2 @@
+Fixed possibly dereferencing undefined pointers when creating weakref
+objects.
diff --git a/Misc/NEWS.d/next/Core and Builtins/068.bpo-29602.qyyskC.rst b/Misc/NEWS.d/next/Core and Builtins/068.bpo-29602.qyyskC.rst
new file mode 100644
index 0000000..cc1366c
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/068.bpo-29602.qyyskC.rst
@@ -0,0 +1,3 @@
+Fix incorrect handling of signed zeros in complex constructor for complex
+subclasses and for inputs having a __complex__ method. Patch by Serhiy
+Storchaka.
diff --git a/Misc/NEWS.d/next/Core and Builtins/069.bpo-28598.QxbzQn.rst b/Misc/NEWS.d/next/Core and Builtins/069.bpo-28598.QxbzQn.rst
new file mode 100644
index 0000000..4757347
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/069.bpo-28598.QxbzQn.rst
@@ -0,0 +1,2 @@
+Support __rmod__ for subclasses of str being called before str.__mod__.
+Patch by Martijn Pieters.
diff --git a/Misc/NEWS.d/next/Core and Builtins/070.bpo-29935.2ZTSxR.rst b/Misc/NEWS.d/next/Core and Builtins/070.bpo-29935.2ZTSxR.rst
new file mode 100644
index 0000000..e035ac0
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/070.bpo-29935.2ZTSxR.rst
@@ -0,0 +1,2 @@
+Fixed error messages in the index() method of tuple and list when pass
+indices of wrong type.
diff --git a/Misc/NEWS.d/next/Core and Builtins/071.bpo-25794.j0nJ5x.rst b/Misc/NEWS.d/next/Core and Builtins/071.bpo-25794.j0nJ5x.rst
new file mode 100644
index 0000000..ed9286f
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/071.bpo-25794.j0nJ5x.rst
@@ -0,0 +1,2 @@
+Fixed type.__setattr__() and type.__delattr__() for non-interned or unicode
+attribute names.  Based on patch by Eryk Sun.
diff --git a/Misc/NEWS.d/next/Core and Builtins/072.bpo-27945.p29r3O.rst b/Misc/NEWS.d/next/Core and Builtins/072.bpo-27945.p29r3O.rst
new file mode 100644
index 0000000..da5b8d1
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/072.bpo-27945.p29r3O.rst
@@ -0,0 +1,3 @@
+Fixed various segfaults with dict when input collections are mutated during
+searching, inserting or comparing.  Based on patches by Duane Griffin and
+Tim Mitchell.
diff --git a/Misc/NEWS.d/next/Core and Builtins/073.bpo-30657.Q_r7JJ.rst b/Misc/NEWS.d/next/Core and Builtins/073.bpo-30657.Q_r7JJ.rst
new file mode 100644
index 0000000..9beaead
--- /dev/null
+++ b/Misc/NEWS.d/next/Core and Builtins/073.bpo-30657.Q_r7JJ.rst
@@ -0,0 +1,2 @@
+Fixed possible integer overflow in PyString_DecodeEscape. Patch by Jay
+Bosamiya.
diff --git a/Misc/NEWS.d/next/Documentation/014.bpo-12067.8RbyOz.rst b/Misc/NEWS.d/next/Documentation/014.bpo-12067.8RbyOz.rst
new file mode 100644
index 0000000..72caeee
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/014.bpo-12067.8RbyOz.rst
@@ -0,0 +1,4 @@
+Rewrite Comparisons section in the Expressions chapter of the language
+reference. Some of the details of comparing mixed types were incorrect or
+ambiguous. Added default behaviour and consistency suggestions for user-
+defined classes. Based on patch from Andy Maier.
diff --git a/Misc/NEWS.d/next/Documentation/015.bpo-26355.SDq_8Y.rst b/Misc/NEWS.d/next/Documentation/015.bpo-26355.SDq_8Y.rst
new file mode 100644
index 0000000..2614c0b
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/015.bpo-26355.SDq_8Y.rst
@@ -0,0 +1,2 @@
+Add canonical header link on each page to corresponding major version of the
+documentation. Patch by Matthias Bussonnier.
diff --git a/Misc/NEWS.d/next/Documentation/016.bpo-28929.Md7kb0.rst b/Misc/NEWS.d/next/Documentation/016.bpo-28929.Md7kb0.rst
new file mode 100644
index 0000000..acacdd0
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/016.bpo-28929.Md7kb0.rst
@@ -0,0 +1 @@
+Link the documentation to its source file on GitHub.
diff --git a/Misc/NEWS.d/next/Documentation/017.bpo-30176.VivmCg.rst b/Misc/NEWS.d/next/Documentation/017.bpo-30176.VivmCg.rst
new file mode 100644
index 0000000..df73aed
--- /dev/null
+++ b/Misc/NEWS.d/next/Documentation/017.bpo-30176.VivmCg.rst
@@ -0,0 +1 @@
+Add missing attribute related constants in curses documentation.
diff --git a/Misc/NEWS.d/next/Library/018.bpo-28925.9zLygi.rst b/Misc/NEWS.d/next/Library/018.bpo-28925.9zLygi.rst
new file mode 100644
index 0000000..b9a556a
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/018.bpo-28925.9zLygi.rst
@@ -0,0 +1,2 @@
+cPickle now correctly propagates errors when unpickle instances of old-style
+classes.
diff --git a/Misc/NEWS.d/next/Library/019.bpo-19542.5tCkaK.rst b/Misc/NEWS.d/next/Library/019.bpo-19542.5tCkaK.rst
new file mode 100644
index 0000000..b330241
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/019.bpo-19542.5tCkaK.rst
@@ -0,0 +1,2 @@
+Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop()
+when a GC collection happens in another thread.
diff --git a/Misc/NEWS.d/next/Library/020.bpo-29019.MO2AeR.rst b/Misc/NEWS.d/next/Library/020.bpo-29019.MO2AeR.rst
new file mode 100644
index 0000000..5e3ff0b
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/020.bpo-29019.MO2AeR.rst
@@ -0,0 +1,2 @@
+Fix dict.fromkeys(x) overallocates when x is sparce dict. Original patch by
+Rasmus Villemoes.
diff --git a/Misc/NEWS.d/next/Library/021.bpo-28923._hrXiL.rst b/Misc/NEWS.d/next/Library/021.bpo-28923._hrXiL.rst
new file mode 100644
index 0000000..057509f
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/021.bpo-28923._hrXiL.rst
@@ -0,0 +1,2 @@
+Remove editor artifacts from Tix.py, including encoding not recognized by
+codecs.lookup.
diff --git a/Misc/NEWS.d/next/Library/022.bpo-28998.NfBgmb.rst b/Misc/NEWS.d/next/Library/022.bpo-28998.NfBgmb.rst
new file mode 100644
index 0000000..fcd6ddb
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/022.bpo-28998.NfBgmb.rst
@@ -0,0 +1 @@
+More APIs now support longs as well as ints.
diff --git a/Misc/NEWS.d/next/Library/023.bpo-28427.vUd-va.rst b/Misc/NEWS.d/next/Library/023.bpo-28427.vUd-va.rst
new file mode 100644
index 0000000..e6eab05
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/023.bpo-28427.vUd-va.rst
@@ -0,0 +1,2 @@
+old keys should not remove new values from WeakValueDictionary when
+collecting from another thread.
diff --git a/Misc/NEWS.d/next/Library/024.bpo-9770.WJJnwP.rst b/Misc/NEWS.d/next/Library/024.bpo-9770.WJJnwP.rst
new file mode 100644
index 0000000..18abe3d
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/024.bpo-9770.WJJnwP.rst
@@ -0,0 +1 @@
+curses.ascii predicates now work correctly with negative integers.
diff --git a/Misc/NEWS.d/next/Library/025.bpo-13051.YzC1Te.rst b/Misc/NEWS.d/next/Library/025.bpo-13051.YzC1Te.rst
new file mode 100644
index 0000000..87fe36e
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/025.bpo-13051.YzC1Te.rst
@@ -0,0 +1,2 @@
+Fixed recursion errors in large or resized curses.textpad.Textbox.  Based on
+patch by Tycho Andersen.
diff --git a/Misc/NEWS.d/next/Library/026.bpo-29142._FTyvm.rst b/Misc/NEWS.d/next/Library/026.bpo-29142._FTyvm.rst
new file mode 100644
index 0000000..137a552
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/026.bpo-29142._FTyvm.rst
@@ -0,0 +1,3 @@
+In urllib, suffixes in no_proxy environment variable with leading dots could
+match related hostnames again (e.g. .b.c matches a.b.c). Patch by Milan
+Oberkirch.
diff --git a/Misc/NEWS.d/next/Library/027.bpo-29188.RI3v1Q.rst b/Misc/NEWS.d/next/Library/027.bpo-29188.RI3v1Q.rst
new file mode 100644
index 0000000..58a1617
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/027.bpo-29188.RI3v1Q.rst
@@ -0,0 +1,4 @@
+Support glibc 2.24 on Linux: don't use getentropy() function but read from
+/dev/urandom to get random bytes, for example in os.urandom(). On Linux,
+getentropy() is implemented which getrandom() is blocking mode, whereas
+os.urandom() should not block.
diff --git a/Misc/NEWS.d/next/Library/028.bpo-29082.D5Xs7F.rst b/Misc/NEWS.d/next/Library/028.bpo-29082.D5Xs7F.rst
new file mode 100644
index 0000000..27de575
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/028.bpo-29082.D5Xs7F.rst
@@ -0,0 +1,2 @@
+Fixed loading libraries in ctypes by unicode names on Windows. Original
+patch by Chi Hsuan Yen.
diff --git a/Misc/NEWS.d/next/Library/029.bpo-29219.kxui7t.rst b/Misc/NEWS.d/next/Library/029.bpo-29219.kxui7t.rst
new file mode 100644
index 0000000..ab6725f
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/029.bpo-29219.kxui7t.rst
@@ -0,0 +1 @@
+Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances.
diff --git a/Misc/NEWS.d/next/Library/030.bpo-29335._KC7IK.rst b/Misc/NEWS.d/next/Library/030.bpo-29335._KC7IK.rst
new file mode 100644
index 0000000..79e1748
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/030.bpo-29335._KC7IK.rst
@@ -0,0 +1,2 @@
+Fix subprocess.Popen.wait() when the child process has exited to a stopped
+instead of terminated state (ex: when under ptrace).
diff --git a/Misc/NEWS.d/next/Library/031.bpo-29354.TH2vMX.rst b/Misc/NEWS.d/next/Library/031.bpo-29354.TH2vMX.rst
new file mode 100644
index 0000000..f4ce088
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/031.bpo-29354.TH2vMX.rst
@@ -0,0 +1 @@
+Fixed inspect.getargs() for parameters which are cell variables.
diff --git a/Misc/NEWS.d/next/Library/032.bpo-29110.IBWuZ2.rst b/Misc/NEWS.d/next/Library/032.bpo-29110.IBWuZ2.rst
new file mode 100644
index 0000000..da04bb1
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/032.bpo-29110.IBWuZ2.rst
@@ -0,0 +1,2 @@
+Fix file object leak in aifc.open() when file is given as a filesystem path
+and is not in valid AIFF format. Original patch by Anthony Zhang.
diff --git a/Misc/NEWS.d/next/Library/033.bpo-27880.elFFAF.rst b/Misc/NEWS.d/next/Library/033.bpo-27880.elFFAF.rst
new file mode 100644
index 0000000..d51402d
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/033.bpo-27880.elFFAF.rst
@@ -0,0 +1,2 @@
+Fixed integer overflow in cPickle when pickle large strings or too many
+objects.
diff --git a/Misc/NEWS.d/next/Library/034.bpo-29861.t2ZoRK.rst b/Misc/NEWS.d/next/Library/034.bpo-29861.t2ZoRK.rst
new file mode 100644
index 0000000..c14091a
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/034.bpo-29861.t2ZoRK.rst
@@ -0,0 +1,2 @@
+Release references to tasks, their arguments and their results as soon as
+they are finished in multiprocessing.Pool.
diff --git a/Misc/NEWS.d/next/Library/035.bpo-29942.CsGNuT.rst b/Misc/NEWS.d/next/Library/035.bpo-29942.CsGNuT.rst
new file mode 100644
index 0000000..39b8ba8
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/035.bpo-29942.CsGNuT.rst
@@ -0,0 +1,2 @@
+Fix a crash in itertools.chain.from_iterable when encountering long runs of
+empty iterables.
diff --git a/Misc/NEWS.d/next/Library/036.bpo-27863.pPYHHI.rst b/Misc/NEWS.d/next/Library/036.bpo-27863.pPYHHI.rst
new file mode 100644
index 0000000..49f0f03
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/036.bpo-27863.pPYHHI.rst
@@ -0,0 +1,2 @@
+Fixed multiple crashes in ElementTree caused by race conditions and wrong
+types.
diff --git a/Misc/NEWS.d/next/Library/037.bpo-30068.n4q47r.rst b/Misc/NEWS.d/next/Library/037.bpo-30068.n4q47r.rst
new file mode 100644
index 0000000..429673b
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/037.bpo-30068.n4q47r.rst
@@ -0,0 +1 @@
+_io._IOBase.readlines will check if it's closed first when hint is present.
diff --git a/Misc/NEWS.d/next/Library/038.bpo-30011.2MLfQj.rst b/Misc/NEWS.d/next/Library/038.bpo-30011.2MLfQj.rst
new file mode 100644
index 0000000..687aaac
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/038.bpo-30011.2MLfQj.rst
@@ -0,0 +1 @@
+Fixed race condition in HTMLParser.unescape().
diff --git a/Misc/NEWS.d/next/Library/039.bpo-30061.ilxNPt.rst b/Misc/NEWS.d/next/Library/039.bpo-30061.ilxNPt.rst
new file mode 100644
index 0000000..f26dd55
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/039.bpo-30061.ilxNPt.rst
@@ -0,0 +1,4 @@
+Fixed crashes in IOBase methods next() and readlines() when readline() or
+next() respectively return non-sizeable object. Fixed possible other errors
+caused by not checking results of PyObject_Size(), PySequence_Size(), or
+PyMapping_Size().
diff --git a/Misc/NEWS.d/next/Library/040.bpo-30070.XM_B41.rst b/Misc/NEWS.d/next/Library/040.bpo-30070.XM_B41.rst
new file mode 100644
index 0000000..8e31371
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/040.bpo-30070.XM_B41.rst
@@ -0,0 +1 @@
+Fixed leaks and crashes in errors handling in the parser module.
diff --git a/Misc/NEWS.d/next/Library/041.bpo-26293.wig0YG.rst b/Misc/NEWS.d/next/Library/041.bpo-26293.wig0YG.rst
new file mode 100644
index 0000000..ae97748
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/041.bpo-26293.wig0YG.rst
@@ -0,0 +1 @@
+Change resulted because of zipfile breakage. (See also: bpo-29094)
diff --git a/Misc/NEWS.d/next/Library/042.bpo-30243.RHQt0v.rst b/Misc/NEWS.d/next/Library/042.bpo-30243.RHQt0v.rst
new file mode 100644
index 0000000..6037eaf
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/042.bpo-30243.RHQt0v.rst
@@ -0,0 +1,3 @@
+Removed the __init__ methods of _json's scanner and encoder. Misusing them
+could cause memory leaks or crashes.  Now scanner and encoder objects are
+completely initialized in the __new__ methods.
diff --git a/Misc/NEWS.d/next/Library/043.bpo-29990.HWV6KE.rst b/Misc/NEWS.d/next/Library/043.bpo-29990.HWV6KE.rst
new file mode 100644
index 0000000..7a67930
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/043.bpo-29990.HWV6KE.rst
@@ -0,0 +1 @@
+Fix range checking in GB18030 decoder.  Original patch by Ma Lin.
diff --git a/Misc/NEWS.d/next/Library/044.bpo-30342.87Qgur.rst b/Misc/NEWS.d/next/Library/044.bpo-30342.87Qgur.rst
new file mode 100644
index 0000000..83ac0a4
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/044.bpo-30342.87Qgur.rst
@@ -0,0 +1,2 @@
+Fix sysconfig.is_python_build() if Python is built with Visual Studio 2008
+(VS 9.0).
diff --git a/Misc/NEWS.d/next/Library/045.bpo-30329.Yb1MTr.rst b/Misc/NEWS.d/next/Library/045.bpo-30329.Yb1MTr.rst
new file mode 100644
index 0000000..d853028
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/045.bpo-30329.Yb1MTr.rst
@@ -0,0 +1,3 @@
+imaplib now catchs the Windows socket WSAEINVAL error (code 10022) on
+shutdown(SHUT_RDWR): An invalid operation was attempted. This error occurs
+sometimes on SSL connections.
diff --git a/Misc/NEWS.d/next/Library/046.bpo-30365.XVP7_M.rst b/Misc/NEWS.d/next/Library/046.bpo-30365.XVP7_M.rst
new file mode 100644
index 0000000..2fcdbac
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/046.bpo-30365.XVP7_M.rst
@@ -0,0 +1,3 @@
+Fixed a deprecation warning about the doctype() method of the
+xml.etree.ElementTree.XMLParser class.  Now it is emitted only when define
+the doctype() method in the subclass of XMLParser.
diff --git a/Misc/NEWS.d/next/Library/047.bpo-30365.eDwdmC.rst b/Misc/NEWS.d/next/Library/047.bpo-30365.eDwdmC.rst
new file mode 100644
index 0000000..15a5f1b
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/047.bpo-30365.eDwdmC.rst
@@ -0,0 +1,4 @@
+Running Python with the -3 option now emits deprecation warnings for
+getchildren() and getiterator() methods of the Element class in the
+xml.etree.cElementTree module and when pass the html argument to
+xml.etree.ElementTree.XMLParser().
diff --git a/Misc/NEWS.d/next/Library/048.bpo-30363.l6J41Y.rst b/Misc/NEWS.d/next/Library/048.bpo-30363.l6J41Y.rst
new file mode 100644
index 0000000..7f25f4a
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/048.bpo-30363.l6J41Y.rst
@@ -0,0 +1,3 @@
+Running Python with the -3 option now warns about regular expression syntax
+that is invalid or has different semantic in Python 3 or will change the
+behavior in future Python versions.
diff --git a/Misc/NEWS.d/next/Library/049.bpo-30375.9c8qM7.rst b/Misc/NEWS.d/next/Library/049.bpo-30375.9c8qM7.rst
new file mode 100644
index 0000000..cb0f7eb
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/049.bpo-30375.9c8qM7.rst
@@ -0,0 +1,3 @@
+Warnings emitted when compile a regular expression now always point to the
+line in the user code.  Previously they could point into inners of the re
+module if emitted from inside of groups or conditionals.
diff --git a/Misc/NEWS.d/next/Library/050.bpo-30003.BOl9HE.rst b/Misc/NEWS.d/next/Library/050.bpo-30003.BOl9HE.rst
new file mode 100644
index 0000000..ac44972
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/050.bpo-30003.BOl9HE.rst
@@ -0,0 +1 @@
+Fix handling escape characters in HZ codec.  Based on patch by Ma Lin.
diff --git a/Misc/NEWS.d/next/Library/051.bpo-30414.jGl1Lb.rst b/Misc/NEWS.d/next/Library/051.bpo-30414.jGl1Lb.rst
new file mode 100644
index 0000000..3bd0a23
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/051.bpo-30414.jGl1Lb.rst
@@ -0,0 +1,2 @@
+multiprocessing.Queue._feed background running thread do not break from main
+loop on exception.
diff --git a/Misc/NEWS.d/next/Library/052.bpo-30310.SAkE6e.rst b/Misc/NEWS.d/next/Library/052.bpo-30310.SAkE6e.rst
new file mode 100644
index 0000000..d6e8448
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/052.bpo-30310.SAkE6e.rst
@@ -0,0 +1 @@
+tkFont now supports unicode options (e.g. font family).
diff --git a/Misc/NEWS.d/next/Library/053.bpo-29960.g0wr3r.rst b/Misc/NEWS.d/next/Library/053.bpo-29960.g0wr3r.rst
new file mode 100644
index 0000000..0b37a4b
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/053.bpo-29960.g0wr3r.rst
@@ -0,0 +1,2 @@
+Preserve generator state when _random.Random.setstate() raises an exception.
+Patch by Bryan Olson.
diff --git a/Misc/NEWS.d/next/Library/054.bpo-30378.R_19_5.rst b/Misc/NEWS.d/next/Library/054.bpo-30378.R_19_5.rst
new file mode 100644
index 0000000..5994abe
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/054.bpo-30378.R_19_5.rst
@@ -0,0 +1,2 @@
+Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6
+addresses.
diff --git a/Misc/NEWS.d/next/Library/055.bpo-30418.EwISQm.rst b/Misc/NEWS.d/next/Library/055.bpo-30418.EwISQm.rst
new file mode 100644
index 0000000..43e149d
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/055.bpo-30418.EwISQm.rst
@@ -0,0 +1,2 @@
+On Windows, subprocess.Popen.communicate() now also ignore EINVAL on
+stdin.write() if the child process is still running but closed the pipe.
diff --git a/Misc/NEWS.d/next/Library/056.bpo-28994.9vzun1.rst b/Misc/NEWS.d/next/Library/056.bpo-28994.9vzun1.rst
new file mode 100644
index 0000000..80de944
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/056.bpo-28994.9vzun1.rst
@@ -0,0 +1,2 @@
+The traceback no longer displayed for SystemExit raised in a callback
+registered by atexit.
diff --git a/Misc/NEWS.d/next/Library/061.bpo-30746.7drQI0.rst b/Misc/NEWS.d/next/Library/061.bpo-30746.7drQI0.rst
new file mode 100644
index 0000000..94803bb
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/061.bpo-30746.7drQI0.rst
@@ -0,0 +1,2 @@
+Prohibited the '=' character in environment variable names in
+``os.putenv()`` and ``os.spawn*()``.
diff --git a/Misc/NEWS.d/next/Library/062.bpo-29169.8ypApm.rst b/Misc/NEWS.d/next/Library/062.bpo-29169.8ypApm.rst
new file mode 100644
index 0000000..96d066d
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/062.bpo-29169.8ypApm.rst
@@ -0,0 +1 @@
+Update zlib to 1.2.11.
diff --git a/Misc/NEWS.d/next/Security/057.bpo-29591.ExKblw.rst b/Misc/NEWS.d/next/Security/057.bpo-29591.ExKblw.rst
new file mode 100644
index 0000000..7394ac2
--- /dev/null
+++ b/Misc/NEWS.d/next/Security/057.bpo-29591.ExKblw.rst
@@ -0,0 +1,5 @@
+.. original section: Library
+
+Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and
+CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more
+information.
diff --git a/Misc/NEWS.d/next/Security/058.bpo-30500.j5KrEp.rst b/Misc/NEWS.d/next/Security/058.bpo-30500.j5KrEp.rst
new file mode 100644
index 0000000..5d47c5d
--- /dev/null
+++ b/Misc/NEWS.d/next/Security/058.bpo-30500.j5KrEp.rst
@@ -0,0 +1,6 @@
+.. original section: Library
+
+Fix urllib.splithost() to correctly parse fragments. For example,
+``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the
+``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an
+authentification (``login@host``).
diff --git a/Misc/NEWS.d/next/Security/059.bpo-30694.WkMWM_.rst b/Misc/NEWS.d/next/Security/059.bpo-30694.WkMWM_.rst
new file mode 100644
index 0000000..ebbd359
--- /dev/null
+++ b/Misc/NEWS.d/next/Security/059.bpo-30694.WkMWM_.rst
@@ -0,0 +1,10 @@
+.. original section: Library
+
+Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security
+vulnerabilities including: CVE-2017-9233 (External entity infinite loop
+DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix
+regression bugs from 2.2.0's fix to CVE-2016-0718) and CVE-2012-0876
+(Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use os-
+specific entropy sources like getrandom) doesn't impact Python, since Python
+already gets entropy from the OS to set the expat secret using
+``XML_SetHashSalt()``.
diff --git a/Misc/NEWS.d/next/Security/060.bpo-30730.rJsyTH.rst b/Misc/NEWS.d/next/Security/060.bpo-30730.rJsyTH.rst
new file mode 100644
index 0000000..008aa70
--- /dev/null
+++ b/Misc/NEWS.d/next/Security/060.bpo-30730.rJsyTH.rst
@@ -0,0 +1,4 @@
+.. original section: Library
+
+Prevent environment variables injection in subprocess on Windows.  Prevent
+passing other environment variables and command arguments.
diff --git a/Misc/NEWS.d/next/Tests/001.bpo-15083.Tz3ZZm.rst b/Misc/NEWS.d/next/Tests/001.bpo-15083.Tz3ZZm.rst
new file mode 100644
index 0000000..3554d97
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/001.bpo-15083.Tz3ZZm.rst
@@ -0,0 +1 @@
+Convert ElementTree doctests to unittests.
diff --git a/Misc/NEWS.d/next/Tests/002.bpo-28087.m8dc4R.rst b/Misc/NEWS.d/next/Tests/002.bpo-28087.m8dc4R.rst
new file mode 100644
index 0000000..5e33e56
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/002.bpo-28087.m8dc4R.rst
@@ -0,0 +1,3 @@
+Skip test_asyncore and test_eintr poll failures on macOS. Skip some tests of
+select.poll when running on macOS due to unresolved issues with the
+underlying system poll function on some macOS versions.
diff --git a/Misc/NEWS.d/next/Tests/003.bpo-30197.hajYvd.rst b/Misc/NEWS.d/next/Tests/003.bpo-30197.hajYvd.rst
new file mode 100644
index 0000000..f447c7a
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/003.bpo-30197.hajYvd.rst
@@ -0,0 +1,5 @@
+Enhanced function swap_attr() in the test.test_support module. It now works
+when delete replaced attribute inside the with statement.  The old value of
+the attribute (or None if it doesn't exist) now will be assigned to the
+target of the "as" clause, if there is one. Also backported function
+swap_item().
diff --git a/Misc/NEWS.d/next/Tests/004.bpo-30207.EiRhGi.rst b/Misc/NEWS.d/next/Tests/004.bpo-30207.EiRhGi.rst
new file mode 100644
index 0000000..8461ed4
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/004.bpo-30207.EiRhGi.rst
@@ -0,0 +1,5 @@
+To simplify backports from Python 3, the test.test_support module was
+converted into a package and renamed to test.support.  The
+test.script_helper module was moved into the test.support package. Names
+test.test_support and test.script_helper are left as aliases to test.support
+and test.support.script_helper.
diff --git a/Misc/NEWS.d/next/Tests/005.bpo-30223.TYC9rA.rst b/Misc/NEWS.d/next/Tests/005.bpo-30223.TYC9rA.rst
new file mode 100644
index 0000000..614a2e1
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/005.bpo-30223.TYC9rA.rst
@@ -0,0 +1,3 @@
+To unify running tests in Python 2.7 and Python 3, the test package can be
+run as a script.  This is equivalent to running the test.regrtest module as
+a script.
diff --git a/Misc/NEWS.d/next/Tests/006.bpo-30236.vOYTDq.rst b/Misc/NEWS.d/next/Tests/006.bpo-30236.vOYTDq.rst
new file mode 100644
index 0000000..5b60803
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/006.bpo-30236.vOYTDq.rst
@@ -0,0 +1 @@
+Backported test.regrtest options -m/--match and -G/--failfast from Python 3.
diff --git a/Misc/NEWS.d/next/Tests/007.bpo-11790.0actZf.rst b/Misc/NEWS.d/next/Tests/007.bpo-11790.0actZf.rst
new file mode 100644
index 0000000..9a29e2d
--- /dev/null
+++ b/Misc/NEWS.d/next/Tests/007.bpo-11790.0actZf.rst
@@ -0,0 +1 @@
+Fix sporadic failures in test_multiprocessing.WithProcessesTestCondition.
