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