- Issue #2466: posixpath.ismount now correctly recognizes mount points which
the user does not have permission to access.
-- Issue #27773: Correct some memory management errors server_hostname in
- _ssl.wrap_socket().
+- Issue #9998: On Linux, ctypes.util.find_library now looks in LD_LIBRARY_PATH
+ for shared libraries.
-- Issue #26750: unittest.mock.create_autospec() now works properly for
- subclasses of property() and other data descriptors.
+- Issue #27573: exit message for code.interact is now configurable.
-- In the curses module, raise an error if window.getstr() or window.instr() is
- passed a negative value.
+- Issue #27930: Improved behaviour of logging.handlers.QueueListener.
+ Thanks to Paulo Andrade and Petr Viktorin for the analysis and patch.
-- Issue #27783: Fix possible usage of uninitialized memory in
- operator.methodcaller.
+- Issue #6766: Distributed reference counting added to multiprocessing
+ to support nesting of shared values / proxy objects.
-- Issue #27774: Fix possible Py_DECREF on unowned object in _sre.
+- Issue #21201: Improves readability of multiprocessing error message. Thanks
+ to Wojciech Walczak for patch.
-- Issue #27760: Fix possible integer overflow in binascii.b2a_qp.
++IDLE
++----
+
-- Issue #27758: Fix possible integer overflow in the _csv module for large
- record lengths.
++- Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen.
+
-- 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 #27891: Consistently group and sort imports within idlelib modules.
+
-- Issue #27656: Do not assume sched.h defines any SCHED_* constants.
++- Issue #17642: add larger font sizes for classroom projection.
+
-- Issue #27130: In the "zlib" module, fix handling of large buffers
- (typically 4 GiB) when compressing and decompressing. Previously, inputs
- were limited to 4 GiB, and compression and decompression operations did not
- properly handle results of 4 GiB.
++- Add version to title of IDLE help window.
+
-- Issue #27533: Release GIL in nt._isdir
++- Issue #25564: In section on IDLE -- console differences, mention that
++ using exec means that __builtins__ is defined for each statement.
+
-- Issue #17711: Fixed unpickling by the persistent ID with protocol 0.
- Original patch by Alexandre Vassalotti.
++- Issue #27821: Fix 3.6.0a3 regression that prevented custom key sets
++ from being selected when no custom theme was defined.
+
-- Issue #27522: Avoid an unintentional reference cycle in email.feedparser.
+C API
+-----
-- Issue #26844: Fix error message for imp.find_module() to refer to 'path'
- instead of 'name'. Patch by Lev Maximov.
+- Issue #26027: Add support for path-like objects in PyUnicode_FSConverter() &
+ PyUnicode_FSDecoder().
-- Issue #23804: Fix SSL zero-length recv() calls to not block and not raise
- an error about unclean EOF.
+Tests
+-----
-- Issue #27466: Change time format returned by http.cookie.time2netscape,
- confirming the netscape cookie format and making it consistent with
- documentation.
+- Issue #27427: Additional tests for the math module. Patch by Francisco Couzo.
-- Issue #26664: Fix activate.fish by removing mis-use of ``$``.
+- Issue #27953: Skip math and cmath tests that fail on OS X 10.4 due to a
+ poor libm implementation of tan.
-- 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, tracing in the "u" mode now works.
+- Issue #26040: Improve test_math and test_cmath coverage and rigour. Patch by
+ Jeff Allen.
-- Fix a scoping issue in importlib.util.LazyLoader which triggered an
- UnboundLocalError when lazy-loading a module that was already put into
- sys.modules.
+- Issue #27787: Call gc.collect() before checking each test for "dangling
+ threads", since the dangling threads are weak references.
-- Issue #27079: Fixed curses.ascii functions isblank(), iscntrl() and ispunct().
+Build
+-----
-- Issue #26754: Some functions (compile() etc) accepted a filename argument
- encoded as an iterable of integers. Now only strings and byte-like objects
- are accepted.
+- Issue #27566: Fix clean target in freeze makefile (patch by Lisa Roach)
-- Issue #27048: Prevents distutils failing on Windows when environment
- variables contain non-ASCII characters
+- Issue #27705: Update message in validate_ucrtbase.py
-- Issue #27330: Fixed possible leaks in the ctypes module.
+- Issue #27976: Deprecate building _ctypes with the bundled copy of libffi on
+ non-OSX UNIX platforms.
-- Issue #27238: Got rid of bare excepts in the turtle module. Original patch
- by Jelle Zijlstra.
+- 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 #27122: When an exception is raised within the context being managed
- by a contextlib.ExitStack() and one of the exit stack generators
- catches and raises it in a chain, do not re-raise the original exception
- when exiting, let the new chained one through. This avoids the PEP 479
- bug described in issue25782.
+- Issue #21590: Support for DTrace and SystemTap probes.
-- [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 #26307: The profile-opt build now applys PGO to the built-in modules.
-- Issue #26386: Fixed ttk.TreeView selection operations with item id's
- containing spaces.
+- Issue #26539: Add the --with-optimizations flag to turn on LTO and PGO build
+ support when available.
-- [Security] Issue #22636: Avoid shell injection problems with
- ctypes.util.find_library().
+- Issue #27917: Set platform triplets for Android builds.
-- Issue #16182: Fix various functions in the "readline" module to use the
- locale encoding, and fix get_begidx() and get_endidx() to return code point
- indexes.
+- Issue #25825: Update references to the $(LIBPL) installation path on AIX.
+ This path was changed in 3.2a4.
-- Issue #26930: Update Windows builds to use OpenSSL 1.0.2h.
+- Update OS X installer to use SQLite 3.14.1 and XZ 5.2.2.
-- Issue #27392: Add loop.connect_accepted_socket().
- Patch by Jim Fulton.
+- Issue #21122: Fix LTO builds on OS X.
-- Issue #27930: Improved behaviour of logging.handlers.QueueListener.
- Thanks to Paulo Andrade and Petr Viktorin for the analysis and patch.
+Windows
+-------
-- Issue #21201: Improves readability of multiprocessing error message. Thanks
- to Wojciech Walczak for patch.
+- Issue #25144: Ensures TargetDir is set before continuing with custom
+ install.
-IDLE
-----
+- Issue #1602: Windows console doesn't input or print Unicode (PEP 528)
-- Issue #27922: Stop IDLE tests from 'flashing' gui widgets on the screen.
+- Issue #27781: Change file system encoding on Windows to UTF-8 (PEP 529)
-- Add version to title of IDLE help window.
+- Issue #27731: Opt-out of MAX_PATH on Windows 10
-- Issue #25564: In section on IDLE -- console differences, mention that
- using exec means that __builtins__ is defined for each statement.
+- Issue #6135: Adds encoding and errors parameters to subprocess.
-- 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 #27959: Adds oem encoding, alias ansi to mbcs, move aliasmbcs to
+ codec lookup.
-- Issue #25507: IDLE no longer runs buggy code because of its tkinter imports.
- Users must include the same imports required to run directly in Python.
+- Issue #27982: The functions of the winsound module now accept keyword
+ arguments.
-- Issue #27452: add line counter and crc to IDLE configHandler test dump.
+- Issue #20366: Build full text search support into SQLite on Windows.
-- Issue #27365: Allow non-ascii chars in IDLE NEWS.txt, for contributor names.
+- Issue #27756: Adds new icons for Python files and processes on Windows.
+ Designs by Cherry Wang.
-- 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.
+- Issue #27883: Update sqlite to 3.14.1.0 on Windows.
-C API
------
-- Issue #26754: PyUnicode_FSDecoder() accepted a filename argument encoded as
- an iterable of integers. Now only strings and bytes-like objects are accepted.
+What's New in Python 3.6.0 alpha 4
+==================================
-Tests
------
+*Release date: 2016-08-15*
-- Issue #27787: Call gc.collect() before checking each test for "dangling
- threads", since the dangling threads are weak references.
+Core and Builtins
+-----------------
-- Issue #27369: In test_pyexpat, avoid testing an error message detail that
- changed in Expat 2.2.0.
+- 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.
-Tools/Demos
------------
+- 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 #27332: Fixed the type of the first argument of module-level functions
- generated by Argument Clinic. Patch by Petr Viktorin.
+- Issue #27574: Decreased an overhead of parsing keyword arguments in functions
+ implemented with using Argument Clinic.
-- Issue #27418: Fixed Tools/importbench/importbench.py.
+- Issue #22557: Now importing already imported modules is up to 2.5 times
+ faster.
-Windows
--------
+- Issue #17596: Include <wincrypt.h> to help with Min GW building.
-- Issue #25144: Ensures TargetDir is set before continuing with custom
- install.
+- Issue #17599: On Windows, rename the privately defined REPARSE_DATA_BUFFER
+ structure to avoid conflicting with the definition from Min GW.
-- Issue #27469: Adds a shell extension to the launcher so that drag and drop
- works correctly.
+- Issue #27507: Add integer overflow check in bytearray.extend(). Patch by
+ Xiang Zhang.
-- Issue #27309: Enabled proper Windows styles in python[w].exe manifest.
+- Issue #27581: Don't rely on wrapping for overflow check in
+ PySequence_Tuple(). Patch by Xiang Zhang.
-Build
------
+- Issue #1621: Avoid signed integer overflow in list and tuple operations.
+ Patch by Xiang Zhang.
-- Issue #27566: Fix clean target in freeze makefile (patch by Lisa Roach)
+- Issue #27419: Standard __import__() no longer look up "__import__" in globals
+ or builtins for importing submodules or "from import". Fixed a crash if
+ raise a warning about unabling to resolve package from __spec__ or
+ __package__.
-- Issue #27705: Update message in validate_ucrtbase.py
+- Issue #27083: Respect the PYTHONCASEOK environment variable under Windows.
-- 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 #27514: Make having too many statically nested blocks a SyntaxError
+ instead of SystemError.
-- Issue #26307: The profile-opt build now applys PGO to the built-in modules.
+- Issue #27366: Implemented PEP 487 (Simpler customization of class creation).
+ Upon subclassing, the __init_subclass__ classmethod is called on the base
+ class. Descriptors are initialized with __set_name__ after class creation.
-- Issue #26359: Add the --with-optimizations configure flag.
+Library
+-------
-- Issue #27713: Suppress spurious build warnings when updating importlib's
- bootstrap files. Patch by Xiang Zhang
+- Issue #26027, #27524: Add PEP 519/__fspath__() support to the os and os.path
+ modules. Includes code from Jelle Zijlstra.
-- Issue #25825: Correct the references to Modules/python.exp and ld_so_aix,
- which are required on AIX. This updates references to an installation path
- that was changed in 3.2a4, and undoes changed references to the build tree
- that were made in 3.5.0a1.
+- Issue #27598: Add Collections to collections.abc.
+ Patch by Ivan Levkivskyi, docs by Neil Girdhar.
-- Issue #27453: CPP invocation in configure must use CPPFLAGS. Patch by
- Chi Hsuan Yen.
+- 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 #27641: The configure script now inserts comments into the makefile
- to prevent the pgen and _freeze_importlib executables from being cross-
- compiled.
+- Issue #16764: Support keyword arguments to zlib.decompress(). Patch by
+ Xiang Zhang.
-- Issue #26662: Set PYTHON_FOR_GEN in configure as the Python program to be
- used for file generation during the build.
+- 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 #10910: Avoid C++ compilation errors on FreeBSD and OS X.
- Also update FreedBSD version checks for the original ctype UTF-8 workaround.
+- Issue #25628: The *verbose* and *rename* parameters for
+ collections.namedtuple are now keyword-only.
+- Issue #12345: Add mathematical constant tau to math and cmath. See also
+ PEP 628.
-What's New in Python 3.5.2?
-===========================
+- 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.
-Release date: 2016-06-26
+- Issue #27664: Add to concurrent.futures.thread.ThreadPoolExecutor()
+ the ability to specify a thread name prefix.
-Core and Builtins
------------------
+- Issue #27181: Add geometric_mean and harmonic_mean to statistics module.
-- Issue #26930: Update Windows builds to use OpenSSL 1.0.2h.
+- Issue #27573: code.interact now prints an message when exiting.
-Tests
------
+- Issue #6422: Add autorange method to timeit.Timer objects.
-- Issue #26867: Ubuntu's openssl OP_NO_SSLv3 is forced on by default; fix test.
+- Issue #27773: Correct some memory management errors server_hostname in
+ _ssl.wrap_socket().
-IDLE
-----
+- Issue #26750: unittest.mock.create_autospec() now works properly for
+ subclasses of property() and other data descriptors. Removes the never
+ publicly used, never documented unittest.mock.DescriptorTypes tuple.
-- Issue #27365: Allow non-ascii in idlelib/NEWS.txt - minimal part for 3.5.2.
+- 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.
-What's New in Python 3.5.2 release candidate 1?
-===============================================
+- Issue #26981: Add _order_ compatibility shim to enum.Enum for
+ Python 2/3 code bases.
+
+- 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.
+
+- 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.
+
+- Issue #27758: Fix possible integer overflow in the _csv module for large
+ record lengths.
+
+- 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 #7063: Remove dead code from the "array" module's slice handling.
+ Patch by Chuck.
+
+- Issue #27656: Do not assume sched.h defines any SCHED_* constants.
+
+- Issue #27130: In the "zlib" module, fix handling of large buffers
+ (typically 4 GiB) when compressing and decompressing. Previously, inputs
+ were limited to 4 GiB, and compression and decompression operations did not
+ properly handle results of 4 GiB.
+
+- Issue #24773: Implemented PEP 495 (Local Time Disambiguation).
+
+- Expose the EPOLLEXCLUSIVE constant (when it is defined) in the select module.
+
+- Issue #27567: Expose the EPOLLRDHUP and POLLRDHUP constants in the select
+ module.
+
+- Issue #1621: Avoid signed int negation overflow in the "audioop" module.
+
+- Issue #27533: Release GIL in nt._isdir
+
+- Issue #17711: Fixed unpickling by the persistent ID with protocol 0.
+ Original patch by Alexandre Vassalotti.
+
+- Issue #27522: Avoid an unintentional reference cycle in email.feedparser.
+
+- Issue #27512: Fix a segfault when os.fspath() called an __fspath__() method
+ that raised an exception. Patch by Xiang Zhang.
+
+IDLE
+----
+
+- 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 #27621: Put query response validation error messages in the query
+ box itself instead of in a separate massagebox. Redo tests to match.
+ Add Mac OSX refinements. Original patch by Mark Roseman.
+
+- Issue #27620: Escape key now closes Query box as cancelled.
+
+- Issue #27609: IDLE: tab after initial whitespace should tab, not
+ autocomplete. This fixes problem with writing docstrings at least
+ twice indented.
+
+- Issue #27609: Explicitly return None when there are also non-None
+ returns. In a few cases, reverse a condition and eliminate a return.
+
+- Issue #25507: IDLE no longer runs buggy code because of its tkinter imports.
+ Users must include the same imports required to run directly in Python.
+
+- Issue #27173: Add 'IDLE Modern Unix' to the built-in key sets.
+ Make the default key set depend on the platform.
+ Add tests for the changes to the config module.
+
+- Issue #27452: add line counter and crc to IDLE configHandler test dump.
+
+Tests
+-----
+
+- Issue #25805: Skip a test in test_pkgutil as needed that doesn't work when
+ ``__name__ == __main__``. Patch by SilentGhost.
+
+- Issue #27472: Add test.support.unix_shell as the path to the default shell.
+
+- Issue #27369: In test_pyexpat, avoid testing an error message detail that
+ changed in Expat 2.2.0.
+
+- Issue #27594: Prevent assertion error when running test_ast with coverage
+ enabled: ensure code object has a valid first line number.
+ Patch suggested by Ivan Levkivskyi.
+
+Windows
+-------
+
+- Issue #27647: Update bundled Tcl/Tk to 8.6.6.
+
+- Issue #27610: Adds PEP 514 metadata to Windows installer
+
+- Issue #27469: Adds a shell extension to the launcher so that drag and drop
+ works correctly.
+
+- Issue #27309: Enables proper Windows styles in python[w].exe manifest.
+
+Build
+-----
+
+- Issue #27713: Suppress spurious build warnings when updating importlib's
+ bootstrap files. Patch by Xiang Zhang
+
+- Issue #25825: Correct the references to Modules/python.exp, which is
+ required on AIX. The references were accidentally changed in 3.5.0a1.
+
+- Issue #27453: CPP invocation in configure must use CPPFLAGS. Patch by
+ Chi Hsuan Yen.
+
+- Issue #27641: The configure script now inserts comments into the makefile
+ to prevent the pgen and _freeze_importlib executables from being cross-
+ compiled.
+
+- Issue #26662: Set PYTHON_FOR_GEN in configure as the Python program to be
+ used for file generation during the build.
+
+- Issue #10910: Avoid C++ compilation errors on FreeBSD and OS X.
+ Also update FreedBSD version checks for the original ctype UTF-8 workaround.
+
+What's New in Python 3.6.0 alpha 3
+==================================
+
+*Release date: 2016-07-11*
+
+Core and Builtins
+-----------------
+
+- Issue #27473: Fixed possible integer overflow in bytes and bytearray
+ concatenations. Patch by Xiang Zhang.
+
+- Issue #23034: The output of a special Python build with defined COUNT_ALLOCS,
+ SHOW_ALLOC_COUNT or SHOW_TRACK_COUNT macros is now off by default. It can
+ be re-enabled using the "-X showalloccount" option. It now outputs to stderr
+ instead of stdout.
+
+- Issue #27443: __length_hint__() of bytearray iterators no longer return a
+ negative integer for a resized bytearray.
+
+- Issue #27007: The fromhex() class methods of bytes and bytearray subclasses
+ now return an instance of corresponding subclass.
+
+Library
+-------
+
+- Issue #26844: Fix error message for imp.find_module() to refer to 'path'
+ instead of 'name'. Patch by Lev Maximov.
+
+- 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 #21708: Deprecated dbm.dumb behavior that differs from common dbm
+ behavior: creating a database in 'r' and 'w' modes and modifying a database
+ in 'r' mode.
+
+- Issue #26721: Change the socketserver.StreamRequestHandler.wfile attribute
+ to implement BufferedIOBase. In particular, the write() method no longer
+ does partial writes.
+
+- Issue #22115: Added methods trace_add, trace_remove and trace_info in the
+ tkinter.Variable class. They replace old methods trace_variable, trace,
+ trace_vdelete and trace_vinfo that use obsolete Tcl commands and might
+ not work in future versions of Tcl. Fixed old tracing methods:
+ trace_vdelete() with wrong mode no longer break tracing, trace_vinfo() now
+ always returns a list of pairs of strings, tracing in the "u" mode now works.
+
+- Issue #26243: Only the level argument to zlib.compress() is keyword argument
+ now. The first argument is positional-only.
+
+- Issue #27038: Expose the DirEntry type as os.DirEntry. Code patch by
+ Jelle Zijlstra.
+
+- Issue #27186: Update os.fspath()/PyOS_FSPath() to check the return value of
+ __fspath__() to be either str or bytes.
+
+- Issue #18726: All optional parameters of the dump(), dumps(),
+ load() and loads() functions and JSONEncoder and JSONDecoder class
+ constructors in the json module are now keyword-only.
+
+- Issue #27319: Methods selection_set(), selection_add(), selection_remove()
+ and selection_toggle() of ttk.TreeView now allow passing multiple items as
+ multiple arguments instead of passing them as a tuple. Deprecated
+ undocumented ability of calling the selection() method with arguments.
+
+- Issue #27079: Fixed curses.ascii functions isblank(), iscntrl() and ispunct().
+
+- Issue #27294: Numerical state in the repr for Tkinter event objects is now
+ represented as a combination of known flags.
+
+- Issue #27177: Match objects in the re module now support index-like objects
+ as group indices. Based on patches by Jeroen Demeyer and Xiang Zhang.
+
+- Issue #26754: Some functions (compile() etc) accepted a filename argument
+ encoded as an iterable of integers. Now only strings and byte-like objects
+ are accepted.
+
+- Issue #26536: socket.ioctl now supports SIO_LOOPBACK_FAST_PATH. Patch by
+ Daniel Stokes.
+
+- Issue #27048: Prevents distutils failing on Windows when environment
+ variables contain non-ASCII characters
+
+- 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 #27122: When an exception is raised within the context being managed
+ by a contextlib.ExitStack() and one of the exit stack generators
+ catches and raises it in a chain, do not re-raise the original exception
+ 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.
+
+- 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.
+
+- Issue #8637: Honor a pager set by the env var MANPAGER (in preference to
+ one set by the env var PAGER).
+
+- [Security] Issue #22636: Avoid shell injection problems with
+ ctypes.util.find_library().
+
+- Issue #16182: Fix various functions in the "readline" module to use the
+ locale encoding, and fix get_begidx() and get_endidx() to return code point
+ indexes.
+
+- Issue #27392: Add loop.connect_accepted_socket().
+ Patch by Jim Fulton.
+
+IDLE
+----
+
+- Issue #27477: IDLE search dialogs now use ttk widgets.
+
+- Issue #27173: Add 'IDLE Modern Unix' to the built-in key sets.
+ Make the default key set depend on the platform.
+ Add tests for the changes to the config module.
+
+- Issue #27452: make command line "idle-test> python test_help.py" work.
+ __file__ is relative when python is started in the file's directory.
+
+- Issue #27452: add line counter and crc to IDLE configHandler test dump.
+
+- Issue #27380: IDLE: add query.py with base Query dialog and ttk widgets.
+ Module had subclasses SectionName, ModuleName, and HelpSource, which are
+ used to get information from users by configdialog and file =>Load Module.
+ Each subclass has itw own validity checks. Using ModuleName allows users
+ to edit bad module names instead of starting over.
+ Add tests and delete the two files combined into the new one.
+
+- Issue #27372: Test_idle no longer changes the locale.
+
+- 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.
+
+- 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 #26754: PyUnicode_FSDecoder() accepted a filename argument encoded as
+ an iterable of integers. Now only strings and byte-like objects are accepted.
+
+Build
+-----
+
+- Issue #27442: Expose the Android API level that python was built against, in
+ sysconfig.get_config_vars() as 'ANDROID_API_LEVEL'.
+
+- Issue #27434: The interpreter that runs the cross-build, found in PATH, must
+ now be of the same feature version (e.g. 3.6) as the source being built.
+
+- Issue #26930: Update Windows builds to use OpenSSL 1.0.2h.
+
+- Issue #23968: Rename the platform directory from plat-$(MACHDEP) to
+ plat-$(PLATFORM_TRIPLET).
+ Rename the config directory (LIBPL) from config-$(LDVERSION) to
+ config-$(LDVERSION)-$(PLATFORM_TRIPLET).
+ Install the platform specifc _sysconfigdata module into the platform
+ directory and rename it to include the ABIFLAGS.
+
+- Don't use largefile support for GNU/Hurd.
+
+Tools/Demos
+-----------
+
+- Issue #27332: Fixed the type of the first argument of module-level functions
+ generated by Argument Clinic. Patch by Petr Viktorin.
+
+- Issue #27418: Fixed Tools/importbench/importbench.py.
+
+Documentation
+-------------
+
+- Issue #19489: Moved the search box from the sidebar to the header and footer
+ of each page. Patch by Ammar Askar.
+
+- 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
+-------
+
+- 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 #25455: Fixed crashes in repr of recursive ElementTree.Element and
+ functools.partial objects.
+
+- Issue #27294: Improved repr for Tkinter event objects.
+
+- Issue #20508: Improve exception message of IPv{4,6}Network.__getitem__.
+ Patch by Gareth Rees.
+
+- [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 #21386: Implement missing IPv4Address.is_global property. It was
+ documented since 07a5610bae9d. Initial patch by Roger Luethi.
+
+- 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.
+
+- Issue #27186: Add os.PathLike support to DirEntry (part of PEP 519).
+ Initial patch by Jelle Zijlstra.
+
+- Issue #20900: distutils register command now decodes HTTP responses
+ correctly. Initial patch by ingrid.
+
+- Issue #27186: Add os.PathLike support to pathlib, removing its provisional
+ status (part of PEP 519). Initial patch by Dusty Phillips.
+
+- 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.
+
+- 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
+-----
+
+- Issue #25285: regrtest now uses subprocesses when the -j1 command line option
+ is used: each test file runs in a fresh child process. Before, the -j1 option
+ was ignored.
+
+- Issue #25285: Tools/buildbot/test.bat script now uses -j1 by default to run
+ each test file in fresh child process.
+
+Windows
+-------
+
+- Issue #27064: The py.exe launcher now defaults to Python 3.
+ The Windows launcher ``py.exe`` no longer prefers an installed
+ Python 2 version over Python 3 by default when used interactively.
+
+Build
+-----
+
+- Issue #27229: Fix the cross-compiling pgen rule for in-tree builds. Patch
+ by Xavier de Gaye.
+
+- Issue #26930: Update OS X 10.5+ 32-bit-only installer to build
+ and link with OpenSSL 1.0.2h.
+
+Misc
+----
+
+- Issue #17500, and https://github.com/python/pythondotorg/issues/945: Remove
+ unused and outdated icons.
+
+C API
+-----
+
+- Issue #27186: Add the PyOS_FSPath() function (part of PEP 519).
+
+- Issue #26282: PyArg_ParseTupleAndKeywords() now supports positional-only
+ parameters.
+
+Tools/Demos
+-----------
+
+- Issue #26282: Argument Clinic now supports positional-only and keyword
+ parameters in the same function.
+
+
+What's New in Python 3.6.0 alpha 1?
+===================================
-Release date: 2016-06-12
+Release date: 2016-05-16
Core and Builtins
-----------------