.. bpo: 30682 .. date: 9989 .. nonce: zZm88E .. release date: 2017-06-17 .. section: Core and Builtins Removed a too-strict assertion that failed for certain f-strings, such as eval("f'\\\n'") and eval("f'\\\r'"). .. .. bpo: 30604 .. date: 9988 .. nonce: W47hPY .. section: Core and Builtins Move co_extra_freefuncs to not be per-thread to avoid crashes .. .. bpo: 29104 .. date: 9987 .. nonce: u26yCx .. section: Core and Builtins Fixed parsing backslashes in f-strings. .. .. bpo: 27945 .. date: 9986 .. nonce: p29r3O .. section: Core and Builtins Fixed various segfaults with dict when input collections are mutated during searching, inserting or comparing. Based on patches by Duane Griffin and Tim Mitchell. .. .. bpo: 25794 .. date: 9985 .. nonce: xfPwqm .. section: Core and Builtins Fixed type.__setattr__() and type.__delattr__() for non-interned attribute names. Based on patch by Eryk Sun. .. .. bpo: 30039 .. date: 9984 .. nonce: e0u4DG .. section: Core and Builtins If a KeyboardInterrupt happens when the interpreter is in the middle of resuming a chain of nested 'yield from' or 'await' calls, it's now correctly delivered to the innermost frame. .. .. bpo: 12414 .. date: 9983 .. nonce: T9ix8O .. section: Core and Builtins sys.getsizeof() on a code object now returns the sizes which includes the code struct and sizes of objects which it references. Patch by Dong-hee Na. .. .. bpo: 29949 .. date: 9982 .. nonce: DevGPS .. section: Core and Builtins Fix memory usage regression of set and frozenset object. .. .. bpo: 29935 .. date: 9981 .. nonce: vgjdJo .. section: Core and Builtins Fixed error messages in the index() method of tuple, list and deque when pass indices of wrong type. .. .. bpo: 29859 .. date: 9980 .. nonce: Z1MLcA .. section: Core and Builtins Show correct error messages when any of the pthread_* calls in thread_pthread.h fails. .. .. bpo: 28876 .. date: 9979 .. nonce: cU-sGT .. section: Core and Builtins ``bool(range)`` works even if ``len(range)`` raises :exc:`OverflowError`. .. .. bpo: 29600 .. date: 9978 .. nonce: 77wQ6C .. section: Core and Builtins Fix wrapping coroutine return values in StopIteration. .. .. bpo: 28856 .. date: 9977 .. nonce: AFRmo4 .. section: Core and Builtins Fix an oversight that %b format for bytes should support objects follow the buffer protocol. .. .. bpo: 29714 .. date: 9976 .. nonce: z-BhVd .. section: Core and Builtins Fix a regression that bytes format may fail when containing zero bytes inside. .. .. bpo: 29478 .. date: 9975 .. nonce: rTQ-qy .. section: Core and Builtins If max_line_length=None is specified while using the Compat32 policy, it is no longer ignored. Patch by Mircea Cosbuc. .. .. bpo: 30616 .. date: 9974 .. nonce: I2mDTz .. section: Library Functional API of enum allows to create empty enums. Patched by Dong-hee Na .. .. bpo: 30038 .. date: 9973 .. nonce: vb4DWk .. section: Library Fix race condition between signal delivery and wakeup file descriptor. Patch by Nathaniel Smith. .. .. bpo: 23894 .. date: 9972 .. nonce: k2pADV .. section: Library lib2to3 now recognizes ``rb'...'`` and ``f'...'`` strings. .. .. bpo: 23890 .. date: 9971 .. nonce: GCFAAZ .. section: Library unittest.TestCase.assertRaises() now manually breaks a reference cycle to not keep objects alive longer than expected. .. .. bpo: 30149 .. date: 9970 .. nonce: hE649r .. section: Library inspect.signature() now supports callables with variable-argument parameters wrapped with partialmethod. Patch by Dong-hee Na. .. .. bpo: 30645 .. date: 9969 .. nonce: oYzbbW .. section: Library Fix path calculation in imp.load_package(), fixing it for cases when a package is only shipped with bytecodes. Patch by Alexandru Ardelean. .. .. bpo: 29931 .. date: 9968 .. nonce: tfcTwK .. section: Library Fixed comparison check for ipaddress.ip_interface objects. Patch by Sanjay Sundaresan. .. .. bpo: 30605 .. date: 9967 .. nonce: XqGz1r .. section: Library re.compile() no longer raises a BytesWarning when compiling a bytes instance with misplaced inline modifier. Patch by Roy Williams. .. .. bpo: 29591 .. date: 9966 .. nonce: ExKblw .. original section: Library .. section: Security Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more information. .. .. bpo: 24484 .. date: 9965 .. nonce: fNS32j .. section: Library Avoid race condition in multiprocessing cleanup (#2159) .. .. bpo: 28994 .. date: 9964 .. nonce: 9vzun1 .. section: Library The traceback no longer displayed for SystemExit raised in a callback registered by atexit. .. .. bpo: 30508 .. date: 9963 .. nonce: wNWRS2 .. section: Library Don't log exceptions if Task/Future "cancel()" method was called. .. .. bpo: 28556 .. date: 9962 .. nonce: mESP7G .. section: Library Updates to typing module: Add generic AsyncContextManager, add support for ContextManager on all versions. Original PRs by Jelle Zijlstra and Ivan Levkivskyi .. .. bpo: 29870 .. date: 9961 .. nonce: p960Ih .. section: Library Fix ssl sockets leaks when connection is aborted in asyncio/ssl implementation. Patch by Michaël Sghaïer. .. .. bpo: 29743 .. date: 9960 .. nonce: en2P4s .. section: Library Closing transport during handshake process leaks open socket. Patch by Nikolay Kim .. .. bpo: 27585 .. date: 9959 .. nonce: 0Ugqqu .. section: Library Fix waiter cancellation in asyncio.Lock. Patch by Mathieu Sornay. .. .. bpo: 30418 .. date: 9958 .. nonce: EwISQm .. section: Library On Windows, subprocess.Popen.communicate() now also ignore EINVAL on stdin.write() if the child process is still running but closed the pipe. .. .. bpo: 29822 .. date: 9957 .. nonce: G7dX13 .. section: Library inspect.isabstract() now works during __init_subclass__. Patch by Nate Soares. .. .. bpo: 29581 .. date: 9956 .. nonce: gHCrxP .. section: Library ABCMeta.__new__ now accepts ``**kwargs``, allowing abstract base classes to use keyword parameters in __init_subclass__. Patch by Nate Soares. .. .. bpo: 30557 .. date: 9955 .. nonce: uykrLf .. section: Library faulthandler now correctly filters and displays exception codes on Windows .. .. bpo: 30378 .. date: 9954 .. nonce: R_19_5 .. section: Library Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6 addresses. .. .. bpo: 29960 .. date: 9953 .. nonce: g0wr3r .. section: Library Preserve generator state when _random.Random.setstate() raises an exception. Patch by Bryan Olson. .. .. bpo: 30414 .. date: 9952 .. nonce: jGl1Lb .. section: Library multiprocessing.Queue._feed background running thread do not break from main loop on exception. .. .. bpo: 30003 .. date: 9951 .. nonce: BOl9HE .. section: Library Fix handling escape characters in HZ codec. Based on patch by Ma Lin. .. .. bpo: 30301 .. date: 9950 .. nonce: ywOkjN .. section: Library Fix AttributeError when using SimpleQueue.empty() under *spawn* and *forkserver* start methods. .. .. bpo: 30329 .. date: 9949 .. nonce: EuT36N .. section: Library imaplib and poplib now catch the Windows socket WSAEINVAL error (code 10022) on shutdown(SHUT_RDWR): An invalid operation was attempted. This error occurs sometimes on SSL connections. .. .. bpo: 30375 .. date: 9948 .. nonce: 9c8qM7 .. section: Library Warnings emitted when compile a regular expression now always point to the line in the user code. Previously they could point into inners of the re module if emitted from inside of groups or conditionals. .. .. bpo: 30048 .. date: 9947 .. nonce: ELRx8R .. section: Library Fixed ``Task.cancel()`` can be ignored when the task is running coroutine and the coroutine returned without any more ``await``. .. .. bpo: 30266 .. date: 9946 .. nonce: YJzHAH .. section: Library contextlib.AbstractContextManager now supports anti-registration by setting __enter__ = None or __exit__ = None, following the pattern introduced in bpo-25958. Patch by Jelle Zijlstra. .. .. bpo: 30298 .. date: 9945 .. nonce: ZN-bWo .. section: Library Weaken the condition of deprecation warnings for inline modifiers. Now allowed several subsequential inline modifiers at the start of the pattern (e.g. ``'(?i)(?s)...'``). In verbose mode whitespaces and comments now are allowed before and between inline modifiers (e.g. ``'(?x) (?i) (?s)...'``). .. .. bpo: 29990 .. date: 9944 .. nonce: HWV6KE .. section: Library Fix range checking in GB18030 decoder. Original patch by Ma Lin. .. .. bpo: 26293 .. date: 9943 .. nonce: wig0YG .. section: Library Change resulted because of zipfile breakage. (See also: bpo-29094) .. .. bpo: 30243 .. date: 9942 .. nonce: RHQt0v .. section: Library Removed the __init__ methods of _json's scanner and encoder. Misusing them could cause memory leaks or crashes. Now scanner and encoder objects are completely initialized in the __new__ methods. .. .. bpo: 30185 .. date: 9941 .. nonce: Tiu1n8 .. section: Library Avoid KeyboardInterrupt tracebacks in forkserver helper process when Ctrl-C is received. .. .. bpo: 28556 .. date: 9940 .. nonce: 51gjbP .. section: Library Various updates to typing module: add typing.NoReturn type, use WrapperDescriptorType, minor bug-fixes. Original PRs by Jim Fasarakis-Hilliard and Ivan Levkivskyi. .. .. bpo: 30205 .. date: 9939 .. nonce: BsxO34 .. section: Library Fix getsockname() for unbound AF_UNIX sockets on Linux. .. .. bpo: 30070 .. date: 9938 .. nonce: XM_B41 .. section: Library Fixed leaks and crashes in errors handling in the parser module. .. .. bpo: 30061 .. date: 9937 .. nonce: 2w_dX9 .. section: Library Fixed crashes in IOBase methods __next__() and readlines() when readline() or __next__() respectively return non-sizeable object. Fixed possible other errors caused by not checking results of PyObject_Size(), PySequence_Size(), or PyMapping_Size(). .. .. bpo: 30017 .. date: 9936 .. nonce: cKBuhU .. section: Library Allowed calling the close() method of the zip entry writer object multiple times. Writing to a closed writer now always produces a ValueError. .. .. bpo: 30068 .. date: 9935 .. nonce: n4q47r .. section: Library _io._IOBase.readlines will check if it's closed first when hint is present. .. .. bpo: 29694 .. date: 9934 .. nonce: LWKxb1 .. section: Library Fixed race condition in pathlib mkdir with flags parents=True. Patch by Armin Rigo. .. .. bpo: 29692 .. date: 9933 .. nonce: oyWrAE .. section: Library Fixed arbitrary unchaining of RuntimeError exceptions in contextlib.contextmanager. Patch by Siddharth Velankar. .. .. bpo: 29998 .. date: 9932 .. nonce: poeIKD .. section: Library Pickling and copying ImportError now preserves name and path attributes. .. .. bpo: 29953 .. date: 9931 .. nonce: Q1hSt- .. section: Library Fixed memory leaks in the replace() method of datetime and time objects when pass out of bound fold argument. .. .. bpo: 29942 .. date: 9930 .. nonce: CsGNuT .. section: Library Fix a crash in itertools.chain.from_iterable when encountering long runs of empty iterables. .. .. bpo: 27863 .. date: 9929 .. nonce: pPYHHI .. section: Library Fixed multiple crashes in ElementTree caused by race conditions and wrong types. .. .. bpo: 28699 .. date: 9928 .. nonce: wZztZP .. section: Library Fixed a bug in pools in multiprocessing.pool that raising an exception at the very first of an iterable may swallow the exception or make the program hang. Patch by Davin Potts and Xiang Zhang. .. .. bpo: 25803 .. date: 9927 .. nonce: CPDR0W .. section: Library Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when the OS gives priority to errors such as EACCES over EEXIST. .. .. bpo: 29861 .. date: 9926 .. nonce: t2ZoRK .. section: Library Release references to tasks, their arguments and their results as soon as they are finished in multiprocessing.Pool. .. .. bpo: 29884 .. date: 9925 .. nonce: kWXR8W .. section: Library faulthandler: Restore the old sigaltstack during teardown. Patch by Christophe Zeitouny. .. .. bpo: 25455 .. date: 9924 .. nonce: ZsahHN .. section: Library Fixed crashes in repr of recursive buffered file-like objects. .. .. bpo: 29800 .. date: 9923 .. nonce: d2xASa .. section: Library Fix crashes in partial.__repr__ if the keys of partial.keywords are not strings. Patch by Michael Seifert. .. .. bpo: 29742 .. date: 9922 .. nonce: 8hqfEO .. section: Library get_extra_info() raises exception if get called on closed ssl transport. Patch by Nikolay Kim. .. .. bpo: 8256 .. date: 9921 .. nonce: jAwGQH .. section: Library Fixed possible failing or crashing input() if attributes "encoding" or "errors" of sys.stdin or sys.stdout are not set or are not strings. .. .. bpo: 28298 .. date: 9920 .. nonce: xfm84U .. section: Library Fix a bug that prevented array 'Q', 'L' and 'I' from accepting big intables (objects that have __int__) as elements. Patch by Oren Milman. .. .. bpo: 28231 .. date: 9919 .. nonce: MG1X09 .. section: Library The zipfile module now accepts path-like objects for external paths. .. .. bpo: 26915 .. date: 9918 .. nonce: qShJZO .. section: Library index() and count() methods of collections.abc.Sequence now check identity before checking equality when do comparisons. .. .. bpo: 29615 .. date: 9917 .. nonce: OpFKzg .. section: Library SimpleXMLRPCDispatcher no longer chains KeyError (or any other exception) to exception(s) raised in the dispatched methods. Patch by Petr Motejlek. .. .. bpo: 30177 .. date: 9916 .. nonce: JGIJNL .. section: Library path.resolve(strict=False) no longer cuts the path after the first element not present in the filesystem. Patch by Antoine Pietri. .. .. bpo: 15786 .. date: 9915 .. nonce: _XRbaR .. section: IDLE Fix several problems with IDLE's autocompletion box. The following should now work: clicking on selection box items; using the scrollbar; selecting an item by hitting Return. Hangs on MacOSX should no longer happen. Patch by Louie Lu. .. .. bpo: 25514 .. date: 9914 .. nonce: 882pXa .. section: IDLE Add doc subsubsection about IDLE failure to start. Popup no-connection message directs users to this section. .. .. bpo: 30642 .. date: 9913 .. nonce: 3Zujzt .. section: IDLE Fix reference leaks in IDLE tests. Patches by Louie Lu and Terry Jan Reedy. .. .. bpo: 30495 .. date: 9912 .. nonce: I3i5vL .. section: IDLE Add docstrings for textview.py and use PEP8 names. Patches by Cheryl Sabella and Terry Jan Reedy. .. .. bpo: 30290 .. date: 9911 .. nonce: fZ3kod .. section: IDLE Help-about: use pep8 names and add tests. Increase coverage to 100%. Patches by Louie Lu, Cheryl Sabella, and Terry Jan Reedy. .. .. bpo: 30303 .. date: 9910 .. nonce: 2L2F-4 .. section: IDLE Add _utest option to textview; add new tests. Increase coverage to 100%. Patches by Louie Lu and Terry Jan Reedy. .. .. bpo: 27867 .. date: 9909 .. nonce: B46BRE .. section: C API Function PySlice_GetIndicesEx() no longer replaced with a macro if Py_LIMITED_API is not set. .. .. bpo: 29941 .. date: 9908 .. nonce: ylh45A .. section: Build Add ``--with-assertions`` configure flag to explicitly enable C ``assert()`` checks. Defaults to off. ``--with-pydebug`` implies ``--with-assertions``. .. .. bpo: 28787 .. date: 9907 .. nonce: vhH_6a .. section: Build Fix out-of-tree builds of Python when configured with ``--with--dtrace``. .. .. bpo: 29243 .. date: 9906 .. nonce: WDK4hT .. section: Build Prevent unnecessary rebuilding of Python during ``make test``, ``make install`` and some other make targets when configured with ``--enable-optimizations``. .. .. bpo: 23404 .. date: 9905 .. nonce: PdYVWg .. section: Build Don't regenerate generated files based on file modification time anymore: the action is now explicit. Replace ``make touch`` with ``make regen-all``. .. .. bpo: 29643 .. date: 9904 .. nonce: 4WLIJQ .. section: Build Fix ``--enable-optimization`` didn't work. .. .. bpo: 30176 .. date: 9903 .. nonce: VivmCg .. section: Documentation Add missing attribute related constants in curses documentation. .. .. bpo: 30052 .. date: 9902 .. nonce: TpmpaF .. section: Documentation the link targets for :func:`bytes` and :func:`bytearray` are now their respective type definitions, rather than the corresponding builtin function entries. Use :ref:`bytes <func-bytes>` and :ref:`bytearray <func-bytearray>` to reference the latter. In order to ensure this and future cross-reference updates are applied automatically, the daily documentation builds now disable the default output caching features in Sphinx. .. .. bpo: 26985 .. date: 9901 .. nonce: NB5_9S .. section: Documentation Add missing info of code object in inspect documentation. .. .. bpo: 29367 .. date: 9900 .. nonce: 4dOKL0 .. section: Tools/Demos python-gdb.py now supports also ``method-wrapper`` (``wrapperobject``) objects. .. .. bpo: 30357 .. date: 9899 .. nonce: n4CPEa .. section: Tests test_thread: setUp() now uses support.threading_setup() and support.threading_cleanup() to wait until threads complete to avoid random side effects on following tests. Initial patch written by Grzegorz Grzywacz. .. .. bpo: 30197 .. date: 9898 .. nonce: c5wRfu .. section: Tests Enhanced functions swap_attr() and swap_item() in the test.support module. They now work when delete replaced attribute or item inside the with statement. The old value of the attribute or item (or None if it doesn't exist) now will be assigned to the target of the "as" clause, if there is one. .. .. bpo: 30687 .. date: 9897 .. nonce: 8mqHnu .. section: Windows Locate msbuild.exe on Windows when building rather than vcvarsall.bat .. .. bpo: 30450 .. date: 9896 .. nonce: qsaK8y .. section: Windows The build process on Windows no longer depends on Subversion, instead pulling external code from GitHub via a Python script. If Python 3.6 is not found on the system (via ``py -3.6``), NuGet is used to download a copy of 32-bit Python.