]> granicus.if.org Git - python/commitdiff
Rewrap long lines in Misc/NEWS.
authorR David Murray <rdmurray@bitdance.com>
Fri, 19 Aug 2016 01:45:12 +0000 (21:45 -0400)
committerR David Murray <rdmurray@bitdance.com>
Fri, 19 Aug 2016 01:45:12 +0000 (21:45 -0400)
Also moved news item for #2466 to the correct place.

1  2 
Misc/NEWS

diff --cc Misc/NEWS
index dc73485b19fb349531011981e80b63aa68ef8055,37a16d0d0dab5d3502dcd0156c82be5082cc6ed1..bcc808713d4ea8feb210bf79311305c4c0c4c513
+++ b/Misc/NEWS
@@@ -14,41 -14,17 +14,45 @@@ Core and Builtin
    In a brand new thread, raise a RuntimeError since there is no active
    exception to reraise. Patch written by Xiang Zhang.
  
 -- Issue #27419: Standard __import__() no longer look up "__import__" in globals
 -  or builtins for importing submodules or "from import".  Fixed handling an
 -  error of non-string package name.
 +Library
 +-------
  
 -- Issue #27083: Respect the PYTHONCASEOK environment variable under Windows.
++- Issue #2466: posixpath.ismount now correctly recognizes mount points which
++  the user does not have permission to access.
 -- Issue #27514: Make having too many statically nested blocks a SyntaxError
 -  instead of SystemError.
 +- Issue #9998: On Linux, ctypes.util.find_library now looks in LD_LIBRARY_PATH
 +  for shared libraries.
  
 -- Issue #27473: Fixed possible integer overflow in bytes and bytearray
 -  concatenations.  Patch by Xiang Zhang.
 +- Issue #12713: Allowed abbreviation of subcommands by end-users for users of
 +  argparse.
 +
 +
 +What's New in Python 3.6.0 alpha 4
 +==================================
 +
 +*Release date: 2016-08-15*
 +
 +Core and Builtins
 +-----------------
 +
 +- Issue #27704: Optimized creating bytes and bytearray from byte-like objects
 +  and iterables.  Speed up to 3 times for short objects.  Original patch by
 +  Naoki Inada.
 +
 +- Issue #26823: Large sections of repeated lines in tracebacks are now
 +  abbreviated as "[Previous line repeated {count} more times]" by the builtin
 +  traceback rendering. Patch by Emanuel Barry.
 +
 +- Issue #27574: Decreased an overhead of parsing keyword arguments in functions
 +  implemented with using Argument Clinic.
 +
- - Issue #22557: Now importing already imported modules is up to 2.5 times faster.
++- Issue #22557: Now importing already imported modules is up to 2.5 times
++  faster.
 +
 +- Issue #17596: Include <wincrypt.h> to help with Min GW building.
 +
 +- Issue #17599: On Windows, rename the privately defined REPARSE_DATA_BUFFER
 +  structure to avoid conflicting with the definition from Min GW.
  
  - Issue #27507: Add integer overflow check in bytearray.extend().  Patch by
    Xiang Zhang.
  Library
  -------
  
--- Issue #2466: posixpath.ismount now correctly recognizes mount points which
--  the user does not have permission to access.
 +- Issue #25958: Support "anti-registration" of special methods from
 +  various ABCs, like __hash__, __iter__ or __len__.  All these (and
 +  several more) can be set to None in an implementation class and the
 +  behavior will be as if the method is not defined at all.
 +  (Previously, this mechanism existed only for __hash__, to make
 +  mutable classes unhashable.)  Code contributed by Andrew Barnert and
 +  Ivan Levkivskyi.
 +
 +- Issue #16764: Support keyword arguments to zlib.decompress().  Patch by
 +  Xiang Zhang.
 +
 +- Issue #27736: Prevent segfault after interpreter re-initialization due
 +  to ref count problem introduced in code for Issue #27038 in 3.6.0a3.
 +  Patch by Xiang Zhang.
 +
- - Issue #25628:  The *verbose* and *rename* parameters for collections.namedtuple
-   are now keyword-only.
++- Issue #25628:  The *verbose* and *rename* parameters for
++  collections.namedtuple are now keyword-only.
 +
 +- Issue #12345: Add mathemathical constant tau to math and cmath. See also
 +  PEP 628.
 +
 +- Issue #26823: traceback.StackSummary.format now abbreviates large sections of
 +  repeated lines as "[Previous line repeated {count} more times]" (this change
 +  then further affects other traceback display operations in the module). Patch
 +  by Emanuel Barry.
 +
 +- Issue #27664: Add to concurrent.futures.thread.ThreadPoolExecutor()
 +  the ability to specify a thread name prefix.
 +
 +- Issue #27181: Add geometric_mean and harmonic_mean to statistics module.
 +
 +- Issue #27573: code.interact now prints an message when exiting.
 +
 +- Issue #6422: Add autorange method to timeit.Timer objects.
  
- - Issue #27773: Correct some memory management errors server_hostname in _ssl.wrap_socket().
+ - Issue #27773: Correct some memory management errors server_hostname in
+   _ssl.wrap_socket().
  
  - Issue #26750: unittest.mock.create_autospec() now works properly for
 -  subclasses of property() and other data descriptors.
 +  subclasses of property() and other data descriptors.  Removes the never
 +  publicly used, never documented unittest.mock.DescriptorTypes tuple.
 +
 +- Issue #26754: Undocumented support of general bytes-like objects
 +  as path in compile() and similar functions is now deprecated.
 +
 +- Issue #26800: Undocumented support of general bytes-like objects
 +  as paths in os functions is now deprecated.
 +
 +- Issue #27661: Added tzinfo keyword argument to datetime.combine.
  
  - In the curses module, raise an error if window.getstr() or window.instr() is
    passed a negative value.
@@@ -319,13 -118,10 +322,13 @@@ Librar
    when exiting, let the new chained one through.  This avoids the PEP 479
    bug described in issue25782.
  
- - [Security] Issue #27278: Fix os.urandom() implementation using getrandom() on Linux.
-   Truncate size to INT_MAX and loop until we collected enough random bytes,
-   instead of casting a directly Py_ssize_t to int.
+ - [Security] Issue #27278: Fix os.urandom() implementation using getrandom() on
+   Linux.  Truncate size to INT_MAX and loop until we collected enough random
+   bytes, instead of casting a directly Py_ssize_t to int.
  
 +- Issue #16864: sqlite3.Cursor.lastrowid now supports REPLACE statement.
 +  Initial patch by Alex LordThorsen.
 +
  - Issue #26386: Fixed ttk.TreeView selection operations with item id's
    containing spaces.
  
@@@ -371,12 -146,6 +374,12 @@@ IDL
    Previously, when IDLE was started from a console or by import, a cascade
    of warnings was emitted.  Patch by Serhiy Storchaka.
  
- - Issue #24137: Run IDLE, test_idle, and htest with tkinter default root disabled.
-   Fix code and tests that fail with this restriction.
-   Fix htests to not create a second and redundant root and mainloop.
++- Issue #24137: Run IDLE, test_idle, and htest with tkinter default root
++  disabled.  Fix code and tests that fail with this restriction.  Fix htests to
++  not create a second and redundant root and mainloop.
 +
 +- Issue #27310: Fix IDLE.app failure to launch on OS X due to vestigial import.
 +
  C API
  -----
  
@@@ -411,265 -166,43 +414,266 @@@ Tools/Demo
  
  - Issue #27418: Fixed Tools/importbench/importbench.py.
  
 -Windows
 +Documentation
 +-------------
 +
 +- Issue #27285: Update documentation to reflect the deprecation of ``pyvenv``
 +  and normalize on the term "virtual environment". Patch by Steve Piercy.
 +
 +Tests
 +-----
 +
 +- Issue #27027: Added test.support.is_android that is True when this is an
 +  Android build.
 +
 +
 +What's New in Python 3.6.0 alpha 2
 +==================================
 +
 +*Release date: 2016-06-13*
 +
 +Core and Builtins
 +-----------------
 +
 +- Issue #27095: Simplified MAKE_FUNCTION and removed MAKE_CLOSURE opcodes.
 +  Patch by Demur Rumed.
 +
 +- Issue #27190: Raise NotSupportedError if sqlite3 is older than 3.3.1.
 +  Patch by Dave Sawyer.
 +
 +- Issue #27286: Fixed compiling BUILD_MAP_UNPACK_WITH_CALL opcode.  Calling
 +  function with generalized unpacking (PEP 448) and conflicting keyword names
 +  could cause undefined behavior.
 +
 +- Issue #27140: Added BUILD_CONST_KEY_MAP opcode.
 +
 +- Issue #27186: Add support for os.PathLike objects to open() (part of PEP 519).
 +
 +- Issue #27066: Fixed SystemError if a custom opener (for open()) returns a
 +  negative number without setting an exception.
 +
 +- Issue #26983: float() now always return an instance of exact float.
 +  The deprecation warning is emitted if __float__ returns an instance of
 +  a strict subclass of float.  In a future versions of Python this can
 +  be an error.
 +
 +- Issue #27097: Python interpreter is now about 7% faster due to optimized
 +  instruction decoding.  Based on patch by Demur Rumed.
 +
 +- Issue #26647: Python interpreter now uses 16-bit wordcode instead of bytecode.
 +  Patch by Demur Rumed.
 +
 +- Issue #23275: Allow assigning to an empty target list in round brackets:
 +  () = iterable.
 +
 +- Issue #27243: Update the __aiter__ protocol: instead of returning
 +  an awaitable that resolves to an asynchronous iterator, the asynchronous
 +  iterator should be returned directly.  Doing the former will trigger a
 +  PendingDeprecationWarning.
 +
 +
 +Library
  -------
  
 -- Issue #27469: Adds a shell extension to the launcher so that drag and drop
 -  works correctly.
 +- Comment out socket (SO_REUSEPORT) and posix (O_SHLOCK, O_EXLOCK) constants
 +  exposed on the API which are not implemented on GNU/Hurd. They would not
 +  work at runtime anyway.
  
 -- Issue #27309: Enabled proper Windows styles in python[w].exe manifest.
 +- Issue #25455: Fixed crashes in repr of recursive ElementTree.Element and
 +  functools.partial objects.
  
 -Build
 ------
 +- Issue #27294: Improved repr for Tkinter event objects.
  
 -- Issue #25825: Correct the references to Modules/python.exp, which is
 -  required on AIX.  The references were accidentally changed in 3.5.0a1.
 +- Issue #20508: Improve exception message of IPv{4,6}Network.__getitem__.
 +  Patch by Gareth Rees.
  
 -- Issue #27453: CPP invocation in configure must use CPPFLAGS. Patch by
 -  Chi Hsuan Yen.
 +- [Security] Issue #26556: Update expat to 2.1.1, fixes CVE-2015-1283.
  
- - [Security] Fix TLS stripping vulnerability in smtplib, CVE-2016-0772.  Reported by Team
-   Oststrom
 -- Issue #27641: The configure script now inserts comments into the makefile
 -  to prevent the pgen and _freeze_importlib executables from being cross-
 -  compiled.
++- [Security] Fix TLS stripping vulnerability in smtplib, CVE-2016-0772.
++  Reported by Team Oststrom.
  
 -- Issue #26662: Set PYTHON_FOR_GEN in configure as the Python program to be
 -  used for file generation during the build.
 +- Issue #21386: Implement missing IPv4Address.is_global property.  It was
 +  documented since 07a5610bae9d.  Initial patch by Roger Luethi.
  
 -- Issue #10910: Avoid C++ compilation errors on FreeBSD and OS X.
 -  Also update FreedBSD version checks for the original ctype UTF-8 workaround.
 +- Issue #27029: Removed deprecated support of universal newlines mode from
 +  ZipFile.open().
  
 +- Issue #27030: Unknown escapes consisting of ``'\'`` and an ASCII letter in
 +  regular expressions now are errors.  The re.LOCALE flag now can be used
 +  only with bytes patterns.
  
 -What's New in Python 3.5.2?
 -===========================
 +- Issue #27186: Add os.PathLike support to DirEntry (part of PEP 519).
 +  Initial patch by Jelle Zijlstra.
  
 -Release date: 2016-06-26
 +- Issue #20900: distutils register command now decodes HTTP responses
 +  correctly.  Initial patch by ingrid.
  
 -Core and Builtins
 ------------------
 +- Issue #27186: Add os.PathLike support to pathlib, removing its provisional
 +  status (part of PEP 519). Initial patch by Dusty Phillips.
  
 -- Issue #26930: Update Windows builds to use OpenSSL 1.0.2h.
 +- Issue #27186: Add support for os.PathLike objects to os.fsencode() and
 +  os.fsdecode() (part of PEP 519).
 +
 +- Issue #27186: Introduce os.PathLike and os.fspath() (part of PEP 519).
 +
 +- A new version of typing.py provides several new classes and
 +  features: @overload outside stubs, Reversible, DefaultDict, Text,
 +  ContextManager, Type[], NewType(), TYPE_CHECKING, and numerous bug
 +  fixes (note that some of the new features are not yet implemented in
 +  mypy or other static analyzers).  Also classes for PEP 492
 +  (Awaitable, AsyncIterable, AsyncIterator) have been added (in fact
 +  they made it into 3.5.1 but were never mentioned).
 +
 +- Issue #25738: Stop http.server.BaseHTTPRequestHandler.send_error() from
 +  sending a message body for 205 Reset Content.  Also, don't send Content
 +  header fields in responses that don't have a body.  Patch by Susumu
 +  Koshiba.
 +
 +- Issue #21313: Fix the "platform" module to tolerate when sys.version
 +  contains truncated build information.
 +
- - [Security] Issue #26839: On Linux, :func:`os.urandom` now calls ``getrandom()`` with
-   ``GRND_NONBLOCK`` to fall back on reading ``/dev/urandom`` if the urandom
-   entropy pool is not initialized yet. Patch written by Colm Buckley.
++- [Security] Issue #26839: On Linux, :func:`os.urandom` now calls
++  ``getrandom()`` with ``GRND_NONBLOCK`` to fall back on reading
++  ``/dev/urandom`` if the urandom entropy pool is not initialized yet. Patch
++  written by Colm Buckley.
 +
 +- Issue #23883: Added missing APIs to __all__ to match the documented APIs
 +  for the following modules: cgi, mailbox, mimetypes, plistlib and smtpd.
 +  Patches by Jacek Kołodziej.
 +
 +- Issue #27164: In the zlib module, allow decompressing raw Deflate streams
 +  with a predefined zdict.  Based on patch by Xiang Zhang.
 +
 +- Issue #24291: Fix wsgiref.simple_server.WSGIRequestHandler to completely
 +  write data to the client.  Previously it could do partial writes and
 +  truncate data.  Also, wsgiref.handler.ServerHandler can now handle stdout
 +  doing partial writes, but this is deprecated.
 +
 +- Issue #21272: Use _sysconfigdata.py to initialize distutils.sysconfig.
 +
 +- Issue #19611: :mod:`inspect` now reports the implicit ``.0`` parameters
 +  generated by the compiler for comprehension and generator expression scopes
 +  as if they were positional-only parameters called ``implicit0``.
 +  Patch by Jelle Zijlstra.
 +
 +- Issue #26809: Add ``__all__`` to :mod:`string`.  Patch by Emanuel Barry.
 +
 +- Issue #26373: subprocess.Popen.communicate now correctly ignores
 +  BrokenPipeError when the child process dies before .communicate()
 +  is called in more/all circumstances.
 +
 +- signal, socket, and ssl module IntEnum constant name lookups now return a
 +  consistent name for values having multiple names.  Ex: signal.Signals(6)
 +  now refers to itself as signal.SIGALRM rather than flipping between that
 +  and signal.SIGIOT based on the interpreter's hash randomization seed.
 +
 +- Issue #27167: Clarify the subprocess.CalledProcessError error message text
 +  when the child process died due to a signal.
 +
 +- Issue #25931: Don't define socketserver.Forking* names on platforms such
 +  as Windows that do not support os.fork().
 +
 +- Issue #21776: distutils.upload now correctly handles HTTPError.
 +  Initial patch by Claudiu Popa.
 +
 +- Issue #26526: Replace custom parse tree validation in the parser
 +  module with a simple DFA validator.
 +
 +- Issue #27114: Fix SSLContext._load_windows_store_certs fails with
 +  PermissionError
 +
 +- Issue #18383: Avoid creating duplicate filters when using filterwarnings
 +  and simplefilter.  Based on patch by Alex Shkop.
 +
 +- Issue #23026: winreg.QueryValueEx() now return an integer for REG_QWORD type.
 +
 +- Issue #26741: subprocess.Popen destructor now emits a ResourceWarning warning
 +  if the child process is still running.
 +
 +- Issue #27056: Optimize pickle.load() and pickle.loads(), up to 10% faster
 +  to deserialize a lot of small objects.
 +
 +- Issue #21271: New keyword only parameters in reset_mock call.
 +
 +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 #24750: Switch all scrollbars in IDLE to ttk versions.
 +  Where needed, minimal tests are added to cover changes.
 +
 +- Issue #24759: IDLE requires tk 8.5 and availability ttk widgets.
 +  Delete now unneeded tk version tests and code for older versions.
 +  Add test for IDLE syntax colorizoer.
 +
 +- Issue #27239: idlelib.macosx.isXyzTk functions initialize as needed.
 +
 +- Issue #27262: move Aqua unbinding code, which enable context menus, to maxosx.
 +
 +- 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 #27196: Stop 'ThemeChanged' warnings when running IDLE tests.
 +  These persisted after other warnings were suppressed in #20567.
 +  Apply Serhiy Storchaka's update_idletasks solution to four test files.
 +  Record this additional advice in idle_test/README.txt
 +
 +- Issue #20567: Revise idle_test/README.txt with advice about avoiding
 +  tk warning messages from tests.  Apply advice to several IDLE tests.
 +
 +- Issue #24225: Update idlelib/README.txt with new file names
 +  and event handlers.
 +
 +- Issue #27156: Remove obsolete code not used by IDLE.  Replacements:
 +  1. help.txt, replaced by help.html, is out-of-date and should not be used.
 +  Its dedicated viewer has be replaced by the html viewer in help.py.
 +  2. ‘`import idlever; I = idlever.IDLE_VERSION`’ is the same as
 +  ‘`import sys; I = version[:version.index(' ')]`’
 +  3. After ‘`ob = stackviewer.VariablesTreeItem(*args)`’,
 +  ‘`ob.keys() == list(ob.object.keys)`’.
 +  4. In macosc, runningAsOSXAPP == isAquaTk; idCarbonAquaTk == isCarbonTk
 +
 +- Issue #27117: Make colorizer htest and turtledemo work with dark themes.
 +  Move code for configuring text widget colors to a new function.
 +
 +- Issue #24225: Rename many `idlelib/*.py` and `idle_test/test_*.py` files.
 +  Edit files to replace old names with new names when the old name
 +  referred to the module rather than the class it contained.
 +  See the issue and IDLE section in What's New in 3.6 for more.
 +
 +- Issue #26673: When tk reports font size as 0, change to size 10.
 +  Such fonts on Linux prevented the configuration dialog from opening.
 +
 +- Issue #21939: Add test for IDLE's percolator.
 +  Original patch by Saimadhav Heblikar.
 +
 +- Issue #21676: Add test for IDLE's replace dialog.
 +  Original patch by Saimadhav Heblikar.
 +
 +- Issue #18410: Add test for IDLE's search dialog.
 +  Original patch by Westley Martínez.
 +
 +- Issue #21703: Add test for undo delegator.  Patch mostly by
 +  Saimadhav Heblikar .
 +
 +- Issue #27044: Add ConfigDialog.remove_var_callbacks to stop memory leaks.
 +
 +- Issue #23977: Add more asserts to test_delegator.
 +
 +Documentation
 +-------------
 +
 +- 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.
 +
 +- Issue #24136: Document the new PEP 448 unpacking syntax of 3.5.
 +
 +- Issue #22558: Add remaining doc links to source code for Python-coded modules.
 +  Patch by Yoni Lavi.
  
  Tests
  -----
@@@ -893,12 -321,10 +897,13 @@@ Core and Builtin
    This allows sys.getsize() to work correctly with their subclasses with
    __slots__ defined.
  
- - Issue #25709: Fixed problem with in-place string concatenation and utf-8 cache.
+ - Issue #25709: Fixed problem with in-place string concatenation and utf-8
+   cache.
  
 -- Issue #27147: Mention PEP 420 in the importlib docs.
 +- Issue #5319: New Py_FinalizeEx() API allowing Python to set an exit status
 +  of 120 on failure to flush buffered streams.
 +
 +- Issue #25485: telnetlib.Telnet is now a context manager.
  
  - Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
    __getattr__.
@@@ -1225,13 -538,8 +1230,13 @@@ Librar
  - Issue #26560: Avoid potential ValueError in BaseHandler.start_response.
    Initial patch by Peter Inglesby.
  
- - [Security] Issue #26313: ssl.py _load_windows_store_certs fails if windows cert store
-   is empty. Patch by Baji.
 +- Issue #26567: Add a new function :c:func:`PyErr_ResourceWarning` function to
 +  pass the destroyed object. Add a *source* attribute to
 +  :class:`warnings.WarningMessage`. Add warnings._showwarnmsg() which uses
 +  tracemalloc to get the traceback where source object was allocated.
 +
+ - [Security] Issue #26313: ssl.py _load_windows_store_certs fails if windows
+   cert store is empty. Patch by Baji.
  
  - Issue #26569: Fix :func:`pyclbr.readmodule` and :func:`pyclbr.readmodule_ex`
    to support importing packages.
  
  - 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 #15068: Got rid of excessive buffering in fileinput.
 +  The bufsize parameter is now deprecated and ignored.
 +
 +- Issue #19475: Added an optional argument timespec to the datetime
 +  isoformat() method to choose the precision of the time component.
  
  - Issue #2202: Fix UnboundLocalError in
-   AbstractDigestAuthHandler.get_algorithm_impls.  Initial patch by Mathieu Dupuy.
+   AbstractDigestAuthHandler.get_algorithm_impls.  Initial patch by Mathieu
+   Dupuy.
  
 +- Issue #26167: Minimized overhead in copy.copy() and copy.deepcopy().
 +  Optimized copying and deepcopying bytearrays, NotImplemented, slices,
 +  short lists, tuples, dicts, sets.
 +
  - Issue #25718: Fixed pickling and copying the accumulate() iterator with
    total is None.
  
    the connected socket) when verify_request() returns false.  Patch by Aviv
    Palivoda.
  
- - [Security] Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates.
 +- Issue #23430: Change the socketserver module to only catch exceptions
 +  raised from a request handler that are derived from Exception (instead of
 +  BaseException).  Therefore SystemExit and KeyboardInterrupt no longer
 +  trigger the handle_error() method, and will now to stop a single-threaded
 +  server.
 +
+ - [Security] Issue #25939: On Windows open the cert store readonly in
+   ssl.enum_certificates.
  
  - Issue #25995: os.walk() no longer uses FDs proportional to the tree depth.
  
  
  - Issue #16620: Fixed AttributeError in msilib.Directory.glob().
  
 -- Issue #26013: Added compatibility with broken protocol 2 pickles created
 -  in old Python 3 versions (3.4.3 and lower).
 +- Issue #26013: Added compatibility with broken protocol 2 pickles created
 +  in old Python 3 versions (3.4.3 and lower).
 +
 +- Issue #26129: Deprecated accepting non-integers in grp.getgrgid().
 +
 +- Issue #25850: Use cross-compilation by default for 64-bit Windows.
 +
 +- Issue #25822: Add docstrings to the fields of urllib.parse results.
 +  Patch contributed by Swati Jaiswal.
 +
 +- Issue #22642: Convert trace module option parsing mechanism to argparse.
 +  Patch contributed by SilentGhost.
 +
 +- Issue #24705: Fix sysconfig._parse_makefile not expanding ${} vars
 +  appearing before $() vars.
 +
 +- Issue #26069: Remove the deprecated apis in the trace module.
 +
 +- Issue #22138: Fix mock.patch behavior when patching descriptors. Restore
 +  original values after patching. Patch contributed by Sean McCully.
 +
 +- Issue #25672: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode
 +  option if it is safe to do so.
 +
 +- Issue #26012: Don't traverse into symlinks for ** pattern in
 +  pathlib.Path.[r]glob().
 +
 +- Issue #24120: Ignore PermissionError when traversing a tree with
 +  pathlib.Path.[r]glob().  Patch by Ulrich Petri.
 +
 +- Issue #21815: Accept ] characters in the data portion of imap responses,
 +  in order to handle the flags with square brackets accepted and produced
 +  by servers such as gmail.
 +
 +- Issue #25447: fileinput now uses sys.stdin as-is if it does not have a
 +  buffer attribute (restores backward compatibility).
 +
 +- Issue #25971: Optimized creating Fractions from floats by 2 times and from
 +  Decimals by 3 times.
 +
 +- Issue #25802: Document as deprecated the remaining implementations of
 +  importlib.abc.Loader.load_module().
 +
 +- Issue #25928: Add Decimal.as_integer_ratio().
 +
 +- Issue #25447: Copying the lru_cache() wrapper object now always works,
 +  independently from the type of the wrapped object (by returning the original
 +  object unchanged).
 +
 +- Issue #25768: Have the functions in compileall return booleans instead of
 +  ints and add proper documentation and tests for the return values.
 +
 +- Issue #24103: Fixed possible use after free in ElementTree.XMLPullParser.
 +
 +- Issue #25860: os.fwalk() no longer skips remaining directories when error
 +  occurs.  Original patch by Samson Lee.
 +
 +- Issue #25914: Fixed and simplified OrderedDict.__sizeof__.
 +
 +- Issue #25869: Optimized deepcopying ElementTree; it is now 20 times faster.
 +
 +- Issue #25873: Optimized iterating ElementTree.  Iterating elements
 +  Element.iter() is now 40% faster, iterating text Element.itertext()
 +  is now up to 2.5 times faster.
 +
 +- Issue #25902: Fixed various refcount issues in ElementTree iteration.
 +
 +- Issue #22227: The TarFile iterator is reimplemented using generator.
 +  This implementation is simpler that using class.
 +
 +- Issue #25638: Optimized ElementTree.iterparse(); it is now 2x faster.
 +  Optimized ElementTree parsing; it is now 10% faster.
 +
 +- Issue #25761: Improved detecting errors in broken pickle data.
 +
 +- Issue #25717: Restore the previous behaviour of tolerating most fstat()
 +  errors when opening files.  This was a regression in 3.5a1, and stopped
 +  anonymous temporary files from working in special cases.
 +
 +- Issue #24903: Fix regression in number of arguments compileall accepts when
 +  '-d' is specified.  The check on the number of arguments has been dropped
 +  completely as it never worked correctly anyway.
 +
 +- Issue #25764: In the subprocess module, preserve any exception caused by
 +  fork() failure when preexec_fn is used.
 +
 +- Issue #25771: Tweak the exception message for importlib.util.resolve_name()
 +  when 'package' isn't specified but necessary.
 +
 +- Issue #6478: _strptime's regexp cache now is reset after changing timezone
 +  with time.tzset().
 +
 +- Issue #14285: When executing a package with the "python -m package" option,
 +  and package initialization fails, a proper traceback is now reported.  The
 +  "runpy" module now lets exceptions from package initialization pass back to
 +  the caller, rather than raising ImportError.
 +
 +- Issue #19771: Also in runpy and the "-m" option, omit the irrelevant
 +  message ". . . is a package and cannot be directly executed" if the package
 +  could not even be initialized (e.g. due to a bad ``*.pyc`` file).
 +
 +- Issue #25177: Fixed problem with the mean of very small and very large
 +  numbers. As a side effect, statistics.mean and statistics.variance should
 +  be significantly faster.
 +
 +- Issue #25718: Fixed copying object with state with boolean value is false.
 +
 +- Issue #10131: Fixed deep copying of minidom documents.  Based on patch
 +  by Marian Ganisin.
 +
 +- Issue #7990: dir() on ElementTree.Element now lists properties: "tag",
 +  "text", "tail" and "attrib".  Original patch by Santoso Wijaya.
 +
 +- Issue #25725: Fixed a reference leak in pickle.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 unpickler on broken pickle data.
 +
 +- Issue #25691: Fixed crash on deleting ElementTree.Element attributes.
 +
 +- Issue #25624: ZipFile now always writes a ZIP_STORED header for directory
 +  entries.  Patch by Dingyuan Wang.
 +
 +- Issue #25626: Change three zlib functions to accept sizes that fit in
 +  Py_ssize_t, but internally cap those sizes to UINT_MAX.  This resolves a
 +  regression in 3.5 where GzipFile.read() failed to read chunks larger than 2
 +  or 4 GiB.  The change affects the zlib.Decompress.decompress() max_length
 +  parameter, the zlib.decompress() bufsize parameter, and the
 +  zlib.Decompress.flush() length parameter.
 +
 +- Issue #25583: Avoid incorrect errors raised by os.makedirs(exist_ok=True)
 +  when the OS gives priority to errors such as EACCES over EEXIST.
 +
 +- Issue #25593: Change semantics of EventLoop.stop() in asyncio.
 +
 +- Issue #6973: When we know a subprocess.Popen process has died, do
 +  not allow the send_signal(), terminate(), or kill() methods to do
 +  anything as they could potentially signal a different process.
 +
 +- Issue #23883: Added missing APIs to __all__ to match the documented APIs
 +  for the following modules: calendar, csv, enum, fileinput, ftplib, logging,
 +  optparse, tarfile, threading and wave.  Also added a
 +  test.support.check__all__() helper.  Patches by Jacek Kołodziej, Mauro
 +  S. M. Rodrigues and Joel Taddei.
 +
 +- Issue #25590: In the Readline completer, only call getattr() once per
 +  attribute.  Also complete names of attributes such as properties and slots
 +  which are listed by dir() but not yet created on an instance.
 +
 +- Issue #25498: Fix a crash when garbage-collecting ctypes objects created
 +  by wrapping a memoryview.  This was a regression made in 3.5a1.  Based
 +  on patch by Eryksun.
 +
 +- Issue #25584: Added "escape" to the __all__ list in the glob module.
 +
 +- Issue #25584: Fixed recursive glob() with patterns starting with '\*\*'.
 +
 +- Issue #25446: Fix regression in smtplib's AUTH LOGIN support.
 +
 +- Issue #18010: Fix the pydoc web server's module search function to handle
 +  exceptions from importing packages.
 +
 +- Issue #25554: Got rid of circular references in regular expression parsing.
 +
 +- Issue #18973: Command-line interface of the calendar module now uses argparse
 +  instead of optparse.
 +
 +- Issue #25510: fileinput.FileInput.readline() now returns b'' instead of ''
 +  at the end if the FileInput was opened with binary mode.
 +  Patch by Ryosuke Ito.
 +
 +- Issue #25503: Fixed inspect.getdoc() for inherited docstrings of properties.
 +  Original patch by John Mark Vandenberg.
 +
 +- 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 #25447: The lru_cache() wrapper objects now can be copied and pickled
 +  (by returning the original object unchanged).
 +
 +- Issue #25390: typing: Don't crash on Union[str, Pattern].
 +
 +- Issue #25441: asyncio: Raise error from drain() when socket is closed.
 +
 +- Issue #25410: Cleaned up and fixed minor bugs in C implementation of
 +  OrderedDict.
 +
 +- Issue #25411: Improved Unicode support in SMTPHandler through better use of
 +  the email package. Thanks to user simon04 for the patch.
 +
 +- Move the imp module from a PendingDeprecationWarning to DeprecationWarning.
 +
 +- Issue #25407: Remove mentions of the formatter module being removed in
 +  Python 3.6.
 +
 +- Issue #25406: Fixed a bug in C implementation of OrderedDict.move_to_end()
 +  that caused segmentation fault or hang in iterating after moving several
 +  items to the start of ordered dict.
 +
 +- Issue #25382: pickletools.dis() now outputs implicit memo index for the
 +  MEMOIZE opcode.
 +
 +- Issue #25357: Add an optional newline paramer to binascii.b2a_base64().
 +  base64.b64encode() uses it to avoid a memory copy.
 +
 +- Issue #24164: Objects that need calling ``__new__`` with keyword arguments,
 +  can now be pickled using pickle protocols older than protocol version 4.
 +
 +- Issue #25364: zipfile now works in threads disabled builds.
 +
 +- Issue #25328: smtpd's SMTPChannel now correctly raises a ValueError if both
 +  decode_data and enable_SMTPUTF8 are set to true.
 +
 +- Issue #16099: RobotFileParser now supports Crawl-delay and Request-rate
 +  extensions.  Patch by Nikolay Bogoychev.
 +
 +- Issue #25316: distutils raises OSError instead of DistutilsPlatformError
 +  when MSVC is not installed.
 +
 +- Issue #25380: Fixed protocol for the STACK_GLOBAL opcode in
 +  pickletools.opcodes.
 +
 +- Issue #23972: Updates asyncio datagram create method allowing reuseport
 +  and reuseaddr socket options to be set prior to binding the socket.
 +  Mirroring the existing asyncio create_server method the reuseaddr option
 +  for datagram sockets defaults to True if the O/S is 'posix' (except if the
 +  platform is Cygwin). Patch by Chris Laws.
 +
 +- Issue #25304: Add asyncio.run_coroutine_threadsafe().  This lets you
 +  submit a coroutine to a loop from another thread, returning a
 +  concurrent.futures.Future.  By Vincent Michel.
 +
 +- 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 #25850: Use cross-compilation by default for 64-bit Windows.
 +- 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 #17633: Improve zipimport's support for namespace packages.
 +- Issue #25287: Don't add crypt.METHOD_CRYPT to crypt.methods if it's not
 +  supported. Check if it is supported, it may not be supported on OpenBSD for
 +  example.
  
 -- Issue #24705: Fix sysconfig._parse_makefile not expanding ${} vars
 -  appearing before $() vars.
 +- Issue #23600: Default implementation of tzinfo.fromutc() was returning
 +  wrong results in some cases.
  
 -- Issue #22138: Fix mock.patch behavior when patching descriptors. Restore
 -  original values after patching. Patch contributed by Sean McCully.
 +- Issue #25203: Failed readline.set_completer_delims() no longer left the
 +  module in inconsistent state.
  
 -- Issue #25672: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode
 -  option if it is safe to do so.
 +- Issue #25011: rlcompleter now omits private and special attribute names unless
 +  the prefix starts with underscores.
  
- - Issue #25209: rlcompleter now can add a space or a colon after completed keyword.
 -- Issue #26012: Don't traverse into symlinks for ** pattern in
 -  pathlib.Path.[r]glob().
++- Issue #25209: rlcompleter now can add a space or a colon after completed
++  keyword.
  
 -- Issue #24120: Ignore PermissionError when traversing a tree with
 -  pathlib.Path.[r]glob().  Patch by Ulrich Petri.
 +- Issue #22241: timezone.utc name is now plain 'UTC', not 'UTC-00:00'.
  
 -- Issue #25447: fileinput now uses sys.stdin as-is if it does not have a
 -  buffer attribute (restores backward compatibility).
 +- Issue #23517: fromtimestamp() and utcfromtimestamp() methods of
 +  datetime.datetime now round microseconds to nearest with ties going to
 +  nearest even integer (ROUND_HALF_EVEN), as round(float), instead of rounding
 +  towards -Infinity (ROUND_FLOOR).
  
 -- Issue #25447: Copying the lru_cache() wrapper object now always works,
 -  independedly from the type of the wrapped object (by returning the original
 -  object unchanged).
 +- Issue #23552: Timeit now warns when there is substantial (4x) variance
 +  between best and worst times. Patch from Serhiy Storchaka.
  
 -- Issue #24103: Fixed possible use after free in ElementTree.XMLPullParser.
 +- Issue #24633: site-packages/README -> README.txt.
  
 -- Issue #25860: os.fwalk() no longer skips remaining directories when error
 -  occurs.  Original patch by Samson Lee.
 +- Issue #24879: help() and pydoc can now list named tuple fields in the
 +  order they were defined rather than alphabetically.  The ordering is
 +  determined by the _fields attribute if present.
  
 -- Issue #25914: Fixed and simplified OrderedDict.__sizeof__.
 +- Issue #24874: Improve speed of itertools.cycle() and make its
 +  pickle more compact.
  
 -- Issue #25902: Fixed various refcount issues in ElementTree iteration.
 +- Fix crash in itertools.cycle.__setstate__() when the first argument wasn't
 +  a list.
  
 -- Issue #25717: Restore the previous behaviour of tolerating most fstat()
 -  errors when opening files.  This was a regression in 3.5a1, and stopped
 -  anonymous temporary files from working in special cases.
 +- Issue #20059: urllib.parse raises ValueError on all invalid ports.
 +  Patch by Martin Panter.
  
 -- Issue #24903: Fix regression in number of arguments compileall accepts when
 -  '-d' is specified.  The check on the number of arguments has been dropped
 -  completely as it never worked correctly anyway.
 +- Issue #24360: Improve __repr__ of argparse.Namespace() for invalid
 +  identifiers.  Patch by Matthias Bussonnier.
  
 -- Issue #25764: In the subprocess module, preserve any exception caused by
 -  fork() failure when preexec_fn is used.
 +- Issue #23426: run_setup was broken in distutils.
 +  Patch from Alexander Belopolsky.
  
 -- Issue #6478: _strptime's regexp cache now is reset after changing timezone
 -  with time.tzset().
 +- Issue #13938: 2to3 converts StringTypes to a tuple. Patch from Mark Hammond.
  
 -- Issue #14285: When executing a package with the "python -m package" option,
 -  and package initialization fails, a proper traceback is now reported.  The
 -  "runpy" module now lets exceptions from package initialization pass back to
 -  the caller, rather than raising ImportError.
 +- Issue #2091: open() accepted a 'U' mode string containing '+', but 'U' can
 +  only be used with 'r'. Patch from Jeff Balogh and John O'Connor.
  
 -- Issue #19771: Also in runpy and the "-m" option, omit the irrelevant
 -  message ". . . is a package and cannot be directly executed" if the package
 -  could not even be initialized (e.g. due to a bad ``*.pyc`` file).
 +- Issue #8585: improved tests for zipimporter2. Patch from Mark Lawrence.
  
 -- Issue #25177: Fixed problem with the mean of very small and very large
 -  numbers. As a side effect, statistics.mean and statistics.variance should
 -  be significantly faster.
 +- Issue #18622: unittest.mock.mock_open().reset_mock would recurse infinitely.
 +  Patch from Nicola Palumbo and Laurent De Buyst.
  
 -- Issue #25718: Fixed copying object with state with boolean value is false.
 +- Issue #24426: Fast searching optimization in regular expressions now works
 +  for patterns that starts with capturing groups.  Fast searching optimization
 +  now can't be disabled at compile time.
  
 -- Issue #10131: Fixed deep copying of minidom documents.  Based on patch
 -  by Marian Ganisin.
 +- Issue #23661: unittest.mock side_effects can now be exceptions again. This
 +  was a regression vs Python 3.4. Patch from Ignacio Rossi
  
 -- Issue #25725: Fixed a reference leak in pickle.loads() when unpickling
 -  invalid data including tuple instructions.
 +- Issue #13248: Remove deprecated inspect.getmoduleinfo function.
  
 -- Issue #25663: In the Readline completer, avoid listing duplicate global
 -  names, and search the global namespace before searching builtins.
 +- Issue #25578: Fix (another) memory leak in SSLSocket.getpeercer().
  
 -- Issue #25688: Fixed file leak in ElementTree.iterparse() raising an error.
 +- Issue #25530: Disable the vulnerable SSLv3 protocol by default when creating
 +  ssl.SSLContext.
  
 -- Issue #23914: Fixed SystemError raised by unpickler on broken pickle data.
 +- Issue #25569: Fix memory leak in SSLSocket.getpeercert().
  
 -- Issue #25691: Fixed crash on deleting ElementTree.Element attributes.
 +- Issue #25471: Sockets returned from accept() shouldn't appear to be
 +  nonblocking.
  
 -- Issue #25624: ZipFile now always writes a ZIP_STORED header for directory
 -  entries.  Patch by Dingyuan Wang.
 +- Issue #25319: When threading.Event is reinitialized, the underlying condition
 +  should use a regular lock rather than a recursive lock.
  
  - Skip getaddrinfo if host is already resolved.
    Patch by A. Jesse Jiryu Davis.