From: Terry Jan Reedy Date: Tue, 29 Sep 2015 05:01:00 +0000 (-0400) Subject: Merge with 3.4 X-Git-Tag: v3.5.1rc1~249 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=c69b37ff4e3ac3d20d1bcbb7caa305b118615583;p=python Merge with 3.4 --- c69b37ff4e3ac3d20d1bcbb7caa305b118615583 diff --cc Misc/NEWS index 7d9684acb7,b68d702f69..d352296beb --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -114,388 -142,405 +114,388 @@@ Librar - Issue #21159: Improve message in configparser.InterpolationMissingOptionError. Patch from Łukasz Langa. -- Issue #23888: Handle fractional time in cookie expiry. Patch by ssh. +- Issue #20362: Honour TestCase.longMessage correctly in assertRegex. + Patch from Ilia Kurenkov. -- Issue #23004: mock_open() now reads binary data correctly when the type of - read_data is bytes. Initial patch by Aaron Hill. +- Issue #23572: Fixed functools.singledispatch on classes with falsy + metaclasses. Patch by Ethan Furman. -- Issue #23652: Make it possible to compile the select module against the - libc headers from the Linux Standard Base, which do not include some - EPOLL macros. Patch by Matt Frank. +IDLE +---- -- Issue #22932: Fix timezones in email.utils.formatdate. - Patch from Dmitry Shachnev. +- Issue #24972: Inactive selection background now matches active selection + background, as configured by user, on all systems. Found items are now + always highlighted on Windows. Initial patch by Mark Roseman. -- Issue #23779: imaplib raises TypeError if authenticator tries to abort. - Patch from Craig Holmquist. +- Issue #24570: Idle: make calltip and completion boxes appear on Macs + affected by a tk regression. Initial patch by Mark Roseman. -- Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch - written by Matthieu Gautier. +- Issue #24988: Idle ScrolledList context menus (used in debugger) + now work on Mac Aqua. Patch by Mark Roseman. -- Issue #23254: Document how to close the TCPServer listening socket. - Patch from Martin Panter. +- Issue #24801: Make right-click for context menu work on Mac Aqua. + Patch by Mark Roseman. -- Issue #19450: Update Windows and OS X installer builds to use SQLite 3.8.11. +- Issue #25173: Associate tkinter messageboxes with a specific widget. + For Mac OSX, make them a 'sheet'. Patch by Mark Roseman. -- Issue #23441: rcompleter now prints a tab character instead of displaying - possible completions for an empty word. Initial patch by Martin Sekera. +- Issue #25198: Enhance the initial html viewer now used for Idle Help. + * Properly indent fixed-pitch text (patch by Mark Roseman). + * Give code snippet a very Sphinx-like light blueish-gray background. + * Re-use initial width and height set by users for shell and editor. + * When the Table of Contents (TOC) menu is used, put the section header - at the top of the screen. ++ at the top of the screen. -- Issue #24735: Fix invalid memory access in - itertools.combinations_with_replacement(). +- Issue #25225: Condense and rewrite Idle doc section on text colors. -- Issue #17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella. +- Issue #21995: Explain some differences between IDLE and console Python. -- Issue #24683: Fixed crashes in _json functions called with arguments of - inappropriate type. +- Issue #22820: Explain need for *print* when running file from Idle editor. -- Issue #21697: shutil.copytree() now correctly handles symbolic links that - point to directories. Patch by Eduardo Seabra and Thomas Kluyver. +- Issue #25224: Doc: augment Idle feature list and no-subprocess section. -- Issue #24620: Random.setstate() now validates the value of state last element. +- Issue #25219: Update doc for Idle command line options. + Some were missing and notes were not correct. -- Issue #22153: Improve unittest docs. Patch from Martin Panter and evilzero. +- Issue #24861: Most of idlelib is private and subject to change. + Use idleib.idle.* to start Idle. See idlelib.__init__.__doc__. -- Issue #24206: Fixed __eq__ and __ne__ methods of inspect classes. +- Issue #25199: Idle: add synchronization comments for future maintainers. -- Issue #21750: mock_open.read_data can now be read from each instance, as it - could in Python 3.3. +- Issue #16893: Replace help.txt with help.html for Idle doc display. + The new idlelib/help.html is rstripped Doc/build/html/library/idle.html. + It looks better than help.txt and will better document Idle as released. + The tkinter html viewer that works for this file was written by Mark Roseman. + The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated. -- Issue #23247: Fix a crash in the StreamWriter.reset() of CJK codecs. +- Issue #24199: Deprecate unused idlelib.idlever with possible removal in 3.6. -- Issue #18622: unittest.mock.mock_open().reset_mock would recurse infinitely. - Patch from Nicola Palumbo and Laurent De Buyst. +- Issue #24782: In Idle extension config dialog, replace tabs with sorted list. + Patch by Mark Roseman. -- Issue #24608: chunk.Chunk.read() now always returns bytes, not str. +- Issue #24790: Remove extraneous code (which also create 2 & 3 conflicts). -- Issue #18684: Fixed reading out of the buffer in the re module. +Documentation +------------- -- Issue #24259: tarfile now raises a ReadError if an archive is truncated - inside a data segment. +- Issue #12067: Rewrite Comparisons section in the Expressions chapter of the + language reference. Some of the details of comparing mixed types were + incorrect or ambiguous. NotImplemented is only relevant at a lower level + than the Expressions chapter. Added details of comparing range() objects, + and default behaviour and consistency suggestions for user-defined classes. + Patch from Andy Maier. -- Issue #24552: Fix use after free in an error case of the _pickle module. +- Issue #24952: Clarify the default size argument of stack_size() in + the "threading" and "_thread" modules. Patch from Mattip. -- Issue #24514: tarfile now tolerates number fields consisting of only - whitespace. +- Issue #23725: Overhaul tempfile docs. Note deprecated status of mktemp. + Patch from Zbigniew Jędrzejewski-Szmek. -- Issue #19176: Fixed doctype() related bugs in C implementation of ElementTree. - A deprecation warning no longer issued by XMLParser subclass with default - doctype() method. Direct call of doctype() now issues a warning. Parser's - doctype() now is not called if target's doctype() is called. Based on patch - by Martin Panter. +- Issue #24808: Update the types of some PyTypeObject fields. Patch by + Joseph Weston. -- Issue #20387: Restore semantic round-trip correctness in tokenize/untokenize - for tab-indented blocks. +- Issue #22812: Fix unittest discovery examples. + Patch from Pam McA'Nulty. -- Issue #24456: Fixed possible buffer over-read in adpcm2lin() and lin2adpcm() - functions of the audioop module. +Tests +----- -- Issue #24336: The contextmanager decorator now works with functions with - keyword arguments called "func" and "self". Patch by Martin Panter. +- PCbuild\rt.bat now accepts an unlimited number of arguments to pass along + to regrtest.py. Previously there was a limit of 9. -- Issue #24489: ensure a previously set C errno doesn't disturb cmath.polar(). +Build +----- -- Issue #5633: Fixed timeit when the statement is a string and the setup is not. +- Issue #24915: Add LLVM support for PGO builds and use the test suite to + generate the profile data. Initiial patch by Alecsandru Patrascu of Intel. -- Issue #24326: Fixed audioop.ratecv() with non-default weightB argument. - Original patch by David Moore. +- Issue #24910: Windows MSIs now have unique display names. -- Issue #23840: tokenize.open() now closes the temporary binary file on error - to fix a resource warning. +- Issue #24986: It is now possible to build Python on Windows without errors + when external libraries are not available. -- Issue #24257: Fixed segmentation fault in sqlite3.Row constructor with faked - cursor type. +Windows +------- -- Issue #22107: tempfile.gettempdir() and tempfile.mkdtemp() now try again - when a directory with the chosen name already exists on Windows as well as - on Unix. tempfile.mkstemp() now fails early if parent directory is not - valid (not exists or is a file) on Windows. +- Issues #25112: py.exe launcher is missing icons -- Issue #6598: Increased time precision and random number range in - email.utils.make_msgid() to strengthen the uniqueness of the message ID. +- Issue #25102: Windows installer does not precompile for -O or -OO. -- Issue #24091: Fixed various crashes in corner cases in C implementation of - ElementTree. +- Issue #25081: Makes Back button in installer go back to upgrade page when + upgrading. -- Issue #21931: msilib.FCICreate() now raises TypeError in the case of a bad - argument instead of a ValueError with a bogus FCI error number. - Patch by Jeffrey Armstrong. +- Issue #25091: Increases font size of the installer. -- Issue #23796: peek and read1 methods of BufferedReader now raise ValueError - if they called on a closed object. Patch by John Hergenroeder. +- Issue #25126: Clarifies that the non-web installer will download some + components. -- Issue #24521: Fix possible integer overflows in the pickle module. +- Issue #25213: Restores requestedExecutionLevel to manifest to disable + UAC virtualization. -- Issue #22931: Allow '[' and ']' in cookie values. +- Issue #25022: Removed very outdated PC/example_nt/ directory. -- Issue #20274: Remove ignored and erroneous "kwargs" parameters from three - METH_VARARGS methods on _sqlite.Connection. +What's New in Python 3.5.0 final? +================================= -- Issue #24094: Fix possible crash in json.encode with poorly behaved dict - subclasses. +Release date: 2015-09-13 -- Asyncio issue 222 / PR 231 (Victor Stinner) -- fix @coroutine - functions without __name__. +Build +----- -- Issue #9246: On POSIX, os.getcwd() now supports paths longer than 1025 bytes. - Patch written by William Orr. +- Issue #25071: Windows installer should not require TargetDir + parameter when installing quietly. -- The keywords attribute of functools.partial is now always a dictionary. -- Issues #24099, #24100, and #24101: Fix free-after-use bug in heapq's siftup - and siftdown functions. +What's New in Python 3.5.0 release candidate 4? +=============================================== -- Backport collections.deque fixes from Python 3.5. Prevents reentrant badness - during deletion by deferring the decref until the container has been restored - to a consistent state. +Release date: 2015-09-09 -- Issue #23008: Fixed resolving attributes with boolean value is False in pydoc. +Library +------- -- Fix asyncio issue 235: LifoQueue and PriorityQueue's put didn't - increment unfinished tasks (this bug was introduced in 3.4.3 when - JoinableQueue was merged with Queue). +- Issue #25029: Fixes MemoryError in test_strptime. -- Issue #23908: os functions now reject paths with embedded null character - on Windows instead of silently truncate them. +Build +----- -- Issue #23728: binascii.crc_hqx() could return an integer outside of the range - 0-0xffff for empty data. +- Issue #25027: Reverts partial-static build options and adds + vcruntime140.dll to Windows installation. -- Issue #23811: Add missing newline to the PyCompileError error message. - Patch by Alex Shkop. -- Issue #17898: Fix exception in gettext.py when parsing certain plural forms. +What's New in Python 3.5.0 release candidate 3? +=============================================== -- Issue #22982: Improve BOM handling when seeking to multiple positions of - a writable text file. +Release date: 2015-09-07 -- Issue #23865: close() methods in multiple modules now are idempotent and more - robust at shutdown. If they need to release multiple resources, all are - released even if errors occur. +Core and Builtins +----------------- -- Issue #23881: urllib.request.ftpwrapper constructor now closes the socket if - the FTP connection failed to fix a ResourceWarning. +- Issue #24305: Prevent import subsystem stack frames from being counted + by the warnings.warn(stacklevel=) parameter. -- Issue #23400: Raise same exception on both Python 2 and 3 if sem_open is not - available. Patch by Davin Potts. +- Issue #24912: Prevent __class__ assignment to immutable built-in objects. -- Issue #15133: _tkinter.tkapp.getboolean() now supports Tcl_Obj and always - returns bool. tkinter.BooleanVar now validates input values (accepted bool, - int, str, and Tcl_Obj). tkinter.BooleanVar.get() now always returns bool. +- Issue #24975: Fix AST compilation for PEP 448 syntax. -- Issue #23338: Fixed formatting ctypes error messages on Cygwin. - Patch by Makoto Kato. +Library +------- -- Issue #16840: Tkinter now supports 64-bit integers added in Tcl 8.4 and - arbitrary precision integers added in Tcl 8.5. +- Issue #24917: time_strftime() buffer over-read. -- Issue #23834: Fix socket.sendto(), use the C Py_ssize_t type to store the - result of sendto() instead of the C int type. +- Issue #24748: To resolve a compatibility problem found with py2exe and + pywin32, imp.load_dynamic() once again ignores previously loaded modules + to support Python modules replacing themselves with extension modules. + Patch by Petr Viktorin. -- Issue #21526: Tkinter now supports new boolean type in Tcl 8.5. +- Issue #24635: Fixed a bug in typing.py where isinstance([], typing.Iterable) + would return True once, then False on subsequent calls. -- Issue #23838: linecache now clears the cache and returns an empty result on - MemoryError. +- Issue #24989: Fixed buffer overread in BytesIO.readline() if a position is + set beyond size. Based on patch by John Leitch. -- Issue #18473: Fixed 2to3 and 3to2 compatible pickle mappings. Fixed - ambigious reverse mappings. Added many new mappings. Import mapping is no - longer applied to modules already mapped with full name mapping. +- Issue #24913: Fix overrun error in deque.index(). + Found by John Leitch and Bryce Darling. -- Issue #23745: The new email header parser now handles duplicate MIME - parameter names without error, similar to how get_param behaves. -- Issue #23792: Ignore KeyboardInterrupt when the pydoc pager is active. - This mimics the behavior of the standard unix pagers, and prevents - pipepager from shutting down while the pager itself is still running. +What's New in Python 3.5.0 release candidate 2? +=============================================== -- Issue #23742: ntpath.expandvars() no longer loses unbalanced single quotes. +Release date: 2015-08-25 -- Issue #21802: The reader in BufferedRWPair now is closed even when closing - writer failed in BufferedRWPair.close(). +Core and Builtins +----------------- -- Issue #23671: string.Template now allows to specify the "self" parameter as - keyword argument. string.Formatter now allows to specify the "self" and - the "format_string" parameters as keyword arguments. +- Issue #24769: Interpreter now starts properly when dynamic loading + is disabled. Patch by Petr Viktorin. -- Issue #21560: An attempt to write a data of wrong type no longer cause - GzipFile corruption. Original patch by Wolfgang Maier. +- Issue #21167: NAN operations are now handled correctly when python is + compiled with ICC even if -fp-model strict is not specified. -- Issue #23647: Increase impalib's MAXLINE to accommodate modern mailbox sizes. +- Issue #24492: A "package" lacking a __name__ attribute when trying to perform + a ``from .. import ...`` statement will trigger an ImportError instead of an + AttributeError. -- Issue #23539: If body is None, http.client.HTTPConnection.request now sets - Content-Length to 0 for PUT, POST, and PATCH headers to avoid 411 errors from - some web servers. +Library +------- -- Issue #22351: The nntplib.NNTP constructor no longer leaves the connection - and socket open until the garbage collector cleans them up. Patch by - Martin Panter. +- Issue #24847: Removes vcruntime140.dll dependency from Tcl/Tk. -- Issue #23136: _strptime now uniformly handles all days in week 0, including - Dec 30 of previous year. Based on patch by Jim Carroll. +- Issue #24839: platform._syscmd_ver raises DeprecationWarning -- Issue #23700: Iterator of NamedTemporaryFile now keeps a reference to - NamedTemporaryFile instance. Patch by Bohuslav Kabrda. +- Issue #24867: Fix Task.get_stack() for 'async def' coroutines -- Issue #22903: The fake test case created by unittest.loader when it fails - importing a test module is now picklable. -- Issue #23568: Add rdivmod support to MagicMock() objects. - Patch by Håkan Lövdahl. +What's New in Python 3.5.0 release candidate 1? +=============================================== -- Issue #23138: Fixed parsing cookies with absent keys or values in cookiejar. - Patch by Demian Brecht. +Release date: 2015-08-09 -- Issue #23051: multiprocessing.Pool methods imap() and imap_unordered() now - handle exceptions raised by an iterator. Patch by Alon Diamant and Davin - Potts. +Core and Builtins +----------------- -- Issue #22928: Disabled HTTP header injections in http.client. - Original patch by Demian Brecht. +- Issue #24667: Resize odict in all cases that the underlying dict resizes. -- Issue #23615: Modules bz2, tarfile and tokenize now can be reloaded with - imp.reload(). Patch by Thomas Kluyver. +Library +------- -- Issue #23476: In the ssl module, enable OpenSSL's X509_V_FLAG_TRUSTED_FIRST - flag on certificate stores when it is available. +- Issue #24824: Signatures of codecs.encode() and codecs.decode() now are + compatible with pydoc. -- Issue #23576: Avoid stalling in SSL reads when EOF has been reached in the - SSL layer but the underlying connection hasn't been closed. +- Issue #24634: Importing uuid should not try to load libc on Windows -- Issue #23504: Added an __all__ to the types module. +- Issue #24798: _msvccompiler.py doesn't properly support manifests -- Issue #20204: Added the __module__ attribute to _tkinter classes. +- Issue #4395: Better testing and documentation of binary operators. + Patch by Martin Panter. -- Issue #23521: Corrected pure python implementation of timedelta division. +- Issue #23973: Update typing.py from GitHub repo. - * Eliminated OverflowError from timedelta * float for some floats; - * Corrected rounding in timedlta true division. +- Issue #23004: mock_open() now reads binary data correctly when the type of + read_data is bytes. Initial patch by Aaron Hill. -- Issue #21619: Popen objects no longer leave a zombie after exit in the with - statement if the pipe was broken. Patch by Martin Panter. +- Issue #23888: Handle fractional time in cookie expiry. Patch by ssh. -- Issue #6639: Module-level turtle functions no longer raise TclError after - closing the window. +- Issue #23652: Make it possible to compile the select module against the + libc headers from the Linux Standard Base, which do not include some + EPOLL macros. Patch by Matt Frank. -- Issues #814253, #9179: Warnings now are raised when group references and - conditional group references are used in lookbehind assertions in regular - expressions. +- Issue #22932: Fix timezones in email.utils.formatdate. + Patch from Dmitry Shachnev. -- Issue #23215: Multibyte codecs with custom error handlers that ignores errors - consumed too much memory and raised SystemError or MemoryError. - Original patch by Aleksi Torhamo. +- Issue #23779: imaplib raises TypeError if authenticator tries to abort. + Patch from Craig Holmquist. -- Issue #5700: io.FileIO() called flush() after closing the file. - flush() was not called in close() if closefd=False. +- Issue #23319: Fix ctypes.BigEndianStructure, swap correctly bytes. Patch + written by Matthieu Gautier. -- Issue #23374: Fixed pydoc failure with non-ASCII files when stdout encoding - differs from file system encoding (e.g. on Mac OS). +- Issue #23254: Document how to close the TCPServer listening socket. + Patch from Martin Panter. -- Issue #23481: Remove RC4 from the SSL module's default cipher list. +- Issue #19450: Update Windows and OS X installer builds to use SQLite 3.8.11. -- Issue #21548: Fix pydoc.synopsis() and pydoc.apropos() on modules with empty - docstrings. +- Issue #17527: Add PATCH to wsgiref.validator. Patch from Luca Sbardella. -- Issue #22885: Fixed arbitrary code execution vulnerability in the dbm.dumb - module. Original patch by Claudiu Popa. +- Issue #24791: Fix grammar regression for call syntax: 'g(*a or b)'. -- Issue #23146: Fix mishandling of absolute Windows paths with forward - slashes in pathlib. +IDLE +---- -- Issue #23421: Fixed compression in tarfile CLI. Patch by wdv4758h. +- Issue #23672: Allow Idle to edit and run files with astral chars in name. + Patch by Mohd Sanad Zaki Rizvi. -- Issue #23367: Fix possible overflows in the unicodedata module. +- Issue #24745: Idle editor default font. Switch from Courier to + platform-sensitive TkFixedFont. This should not affect current customized + font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg + and remove 'fontxxx' entries from [Editor Window]. Patch by Mark Roseman. -- Issue #23361: Fix possible overflow in Windows subprocess creation code. +- Issue #21192: Idle editor. When a file is run, put its name in the restart bar. + Do not print false prompts. Original patch by Adnan Umer. -- Issue #23801: Fix issue where cgi.FieldStorage did not always ignore the - entire preamble to a multipart body. +- Issue #13884: Idle menus. Remove tearoff lines. Patch by Roger Serwy. -- Issue #23310: Fix MagicMock's initializer to work with __methods__, just - like configure_mock(). Patch by Kasia Jachim. +Documentation +------------- -- asyncio: New event loop APIs: set_task_factory() and get_task_factory(). +- Issue #24129: Clarify the reference documentation for name resolution. + This includes removing the assumption that readers will be familiar with the + name resolution scheme Python used prior to the introduction of lexical + scoping for function namespaces. Patch by Ivan Levkivskyi. -- asyncio: async() function is deprecated in favour of ensure_future(). +- Issue #20769: Improve reload() docs. Patch by Dorian Pula. -- Issue #23898: Fix inspect.classify_class_attrs() to support attributes - with overloaded __eq__ and __bool__. Patch by Mike Bayer. +- Issue #23589: Remove duplicate sentence from the FAQ. Patch by Yongzhi Pan. -- Issue #24298: Fix inspect.signature() to correctly unwrap wrappers - around bound methods. +- Issue #24729: Correct IO tutorial to match implementation regarding + encoding parameter to open function. -- Issue #23572: Fixed functools.singledispatch on classes with falsy - metaclasses. Patch by Ethan Furman. +Tests +----- -IDLE ----- +- Issue #24751: When running regrtest with the ``-w`` command line option, + a test run is no longer marked as a failure if all tests succeed when + re-run. -- Issue #24972: Inactive selection background now matches active selection - background, as configured by user, on all systems. Found items are now - always highlighted on Windows. Initial patch by Mark Roseman. -- Issue #24570: Idle: make calltip and completion boxes appear on Macs - affected by a tk regression. Initial patch by Mark Roseman. +What's New in Python 3.5.0 beta 4? +================================== -- Issue #24988: Idle ScrolledList context menus (used in debugger) - now work on Mac Aqua. Patch by Mark Roseman. +Release date: 2015-07-26 -- Issue #24801: Make right-click for context menu work on Mac Aqua. - Patch by Mark Roseman. +Core and Builtins +----------------- -- Issue #25173: Associate tkinter messageboxes with a specific widget. - For Mac OSX, make them a 'sheet'. Patch by Mark Roseman. +- Issue #23573: Restored optimization of bytes.rfind() and bytearray.rfind() + for single-byte argument on Linux. -- Issue #25198: Enhance the initial html viewer now used for Idle Help. - * Properly indent fixed-pitch text (patch by Mark Roseman). - * Give code snippet a very Sphinx-like light blueish-gray background. - * Re-use initial width and height set by users for shell and editor. - * When the Table of Contents (TOC) menu is used, put the section header - at the top of the screen. +- Issue #24569: Make PEP 448 dictionary evaluation more consistent. -- Issue #25225: Condense and rewrite Idle doc section on text colors. +- Issue #24583: Fix crash when set is mutated while being updated. -- Issue #21995: Explain some differences between IDLE and console Python. +- Issue #24407: Fix crash when dict is mutated while being updated. -- Issue #22820: Explain need for *print* when running file from Idle editor. +- Issue #24619: New approach for tokenizing async/await. As a consequence, + is is now possible to have one-line 'async def foo(): await ..' functions. -- Issue #25224: Doc: augment Idle feature list and no-subprocess section. +- Issue #24687: Plug refleak on SyntaxError in function parameters + annotations. -- Issue #25219: Update doc for Idle command line options. - Some were missing and notes were not correct. +- Issue #15944: memoryview: Allow arbitrary formats when casting to bytes. + Patch by Martin Panter. -- Issue #24861: Most of idlelib is private and subject to change. - Use idleib.idle.* to start Idle. See idlelib.__init__.__doc__. +Library +------- -- Issue #25199: Idle: add synchronization comments for future maintainers. +- Issue #23441: rcompleter now prints a tab character instead of displaying + possible completions for an empty word. Initial patch by Martin Sekera. -- Issue #16893: Replace help.txt with help.html for Idle doc display. - The new idlelib/help.html is rstripped Doc/build/html/library/idle.html. - It looks better than help.txt and will better document Idle as released. - The tkinter html viewer that works for this file was written by Mark Roseman. - The now unused EditorWindow.HelpDialog class and helt.txt file are deprecated. +- Issue #24683: Fixed crashes in _json functions called with arguments of + inappropriate type. -- Issue #24199: Deprecate unused idlelib.idlever with possible removal in 3.6. +- Issue #21697: shutil.copytree() now correctly handles symbolic links that + point to directories. Patch by Eduardo Seabra and Thomas Kluyver. -- Issue #24782: In Idle extension config dialog, replace tabs with sorted list. - Patch by Mark Roseman. +- Issue #14373: Fixed segmentation fault when gc.collect() is called during + constructing lru_cache (C implementation). -- Issue #24790: Remove extraneous code (which also create 2 & 3 conflicts). +- Issue #24695: Fix a regression in traceback.print_exception(). If + exc_traceback is None we shouldn't print a traceback header like described + in the documentation. -- Issue #23672: Allow Idle to edit and run files with astral chars in name. - Patch by Mohd Sanad Zaki Rizvi. +- Issue #24620: Random.setstate() now validates the value of state last element. -- Issue 24745: Idle editor default font. Switch from Courier to - platform-sensitive TkFixedFont. This should not affect current customized - font selections. If there is a problem, edit $HOME/.idlerc/config-main.cfg - and remove 'fontxxx' entries from [Editor Window]. Patch by Mark Roseman. +- Issue #22485: Fixed an issue that caused `inspect.getsource` to return + incorrect results on nested functions. -- Issue #21192: Idle editor. When a file is run, put its name in the restart bar. - Do not print false prompts. Original patch by Adnan Umer. +- Issue #22153: Improve unittest docs. Patch from Martin Panter and evilzero. -- Issue #13884: Idle menus. Remove tearoff lines. Patch by Roger Serwy. +- Issue #24580: Symbolic group references to open group in re patterns now are + explicitly forbidden as well as numeric group references. -- Issue #23184: remove unused names and imports in idlelib. - Initial patch by Al Sweigart. +- Issue #24206: Fixed __eq__ and __ne__ methods of inspect classes. -Tests ------ +- Issue #24631: Fixed regression in the timeit module with multiline setup. -- Issue #24751: When running regrtest with the ``-w`` command line option, - a test run is no longer marked as a failure if all tests succeed when - re-run. +- Issue #18622: unittest.mock.mock_open().reset_mock would recurse infinitely. + Patch from Nicola Palumbo and Laurent De Buyst. -- Issue #21520: test_zipfile no longer fails if the word 'bad' appears - anywhere in the name of the current directory. +- Issue #23661: unittest.mock side_effects can now be exceptions again. This + was a regression vs Python 3.4. Patch from Ignacio Rossi -- Issue #23799: Added test.support.start_threads() for running and - cleaning up multiple threads. +- Issue #24608: chunk.Chunk.read() now always returns bytes, not str. -- Issue #22390: test.regrtest now emits a warning if temporary files or - directories are left after running a test. +- Issue #18684: Fixed reading out of the buffer in the re module. -- Issue #23583: Added tests for standard IO streams in IDLE. +- Issue #24259: tarfile now raises a ReadError if an archive is truncated + inside a data segment. + +- Issue #15014: SMTP.auth() and SMTP.login() now support RFC 4954's optional + initial-response argument to the SMTP AUTH command. + +- Issue #24669: Fix inspect.getsource() for 'async def' functions. + Patch by Kai Groner. + +- Issue #24688: ast.get_docstring() for 'async def' functions. Build -----