.. bpo: 33001 .. date: 2018-03-05-10-09-51 .. nonce: elj4Aa .. release date: 2018-03-13 .. section: Security Minimal fix to prevent buffer overrun in os.symlink on Windows .. .. bpo: 32981 .. date: 2018-03-02-10-24-52 .. nonce: O_qDyj .. section: Security Regexes in difflib and poplib were vulnerable to catastrophic backtracking. These regexes formed potential DOS vectors (REDOS). They have been refactored. This resolves :cve:`2018-1060` and :cve:`2018-1061`. Patch by Jamie Davis. .. .. bpo: 33026 .. date: 2018-03-08-09-48-38 .. nonce: QZA3Ba .. section: Core and Builtins Fixed jumping out of "with" block by setting f_lineno. .. .. bpo: 17288 .. date: 2018-02-27-13-36-21 .. nonce: Gdj24S .. section: Core and Builtins Prevent jumps from 'return' and 'exception' trace events. .. .. bpo: 32889 .. date: 2018-02-20-21-53-48 .. nonce: J6eWy5 .. section: Core and Builtins Update Valgrind suppression list to account for the rename of ``Py_ADDRESS_IN_RANG`` to ``address_in_range``. .. .. bpo: 32650 .. date: 2018-01-28-23-01-39 .. nonce: Bbi7ek .. section: Core and Builtins Pdb and other debuggers dependent on bdb.py will correctly step over (next command) native coroutines. Patch by Pablo Galindo. .. .. bpo: 32685 .. date: 2018-01-28-12-25-06 .. nonce: nGctze .. section: Core and Builtins Improve suggestion when the Python 2 form of print statement is either present on the same line as the header of a compound statement or else terminated by a semi-colon instead of a newline. Patch by Nitish Chandra. .. .. bpo: 32583 .. date: 2018-01-26-21-20-21 .. nonce: Fh3fau .. section: Core and Builtins Fix possible crashing in builtin Unicode decoders caused by write out-of-bound errors when using customized decode error handlers. .. .. bpo: 26163 .. date: 2018-01-14-20-32-47 .. nonce: xv9Iuv .. section: Core and Builtins Improved frozenset() hash to create more distinct hash values when faced with datasets containing many similar values. .. .. bpo: 27169 .. date: 2017-12-15-11-50-06 .. nonce: VO84fQ .. section: Core and Builtins The ``__debug__`` constant is now optimized out at compile time. This fixes also bpo-22091. .. .. bpo: 32329 .. date: 2017-12-15-00-55-35 .. nonce: XL1O99 .. section: Core and Builtins ``sys.flags.hash_randomization`` is now properly set to 0 when hash randomization is turned off by ``PYTHONHASHSEED=0``. .. .. bpo: 30416 .. date: 2017-12-14-11-48-19 .. nonce: hlHo_9 .. section: Core and Builtins The optimizer is now protected from spending much time doing complex calculations and consuming much memory for creating large constants in constant folding. .. .. bpo: 18533 .. date: 2017-12-13-16-46-23 .. nonce: Dlk8d7 .. section: Core and Builtins ``repr()`` on a dict containing its own ``values()`` or ``items()`` no longer raises ``RecursionError``; OrderedDict similarly. Instead, use ``...``, as for other recursive structures. Patch by Ben North. .. .. bpo: 32028 .. date: 2017-12-03-22-29-13 .. nonce: KC2w4Q .. section: Core and Builtins Leading whitespace is now correctly ignored when generating suggestions for converting Py2 print statements to Py3 builtin print function calls. Patch by Sanyam Khurana. .. .. bpo: 32137 .. date: 2017-11-26-14-36-30 .. nonce: Stj5nL .. section: Core and Builtins The repr of deeply nested dict now raises a RecursionError instead of crashing due to a stack overflow. .. .. bpo: 33064 .. date: 2018-03-12-19-58-25 .. nonce: LO2KIY .. section: Library lib2to3 now properly supports trailing commas after ``*args`` and ``**kwargs`` in function signatures. .. .. bpo: 31804 .. date: 2018-03-11-19-03-52 .. nonce: i8KUMp .. section: Library Avoid failing in multiprocessing.Process if the standard streams are closed or None at exit. .. .. bpo: 33037 .. date: 2018-03-09-23-07-07 .. nonce: nAJ3at .. section: Library Skip sending/receiving data after SSL transport closing. .. .. bpo: 30353 .. date: 2018-03-08-09-54-01 .. nonce: XdE5aM .. section: Library Fix ctypes pass-by-value for structs on 64-bit Cygwin/MinGW. .. .. bpo: 33009 .. date: 2018-03-06-11-54-59 .. nonce: -Ekysb .. section: Library Fix inspect.signature() for single-parameter partialmethods. .. .. bpo: 32969 .. date: 2018-03-06-00-19-41 .. nonce: rGTKa0 .. section: Library Expose several missing constants in zlib and fix corresponding documentation. .. .. bpo: 32713 .. date: 2018-02-26-13-16-36 .. nonce: 55yegW .. section: Library Fixed tarfile.itn handling of out-of-bounds float values. Patch by Joffrey Fuhrer. .. .. bpo: 30622 .. date: 2018-02-24-21-40-42 .. nonce: dQjxSe .. section: Library The ssl module now detects missing NPN support in LibreSSL. .. .. bpo: 32922 .. date: 2018-02-23-19-12-04 .. nonce: u-xe0B .. section: Library dbm.open() now encodes filename with the filesystem encoding rather than default encoding. .. .. bpo: 32859 .. date: 2018-02-19-17-46-31 .. nonce: kAT-Xp .. section: Library In ``os.dup2``, don't check every call whether the ``dup3`` syscall exists or not. .. .. bpo: 21060 .. date: 2018-02-17-19-20-19 .. nonce: S1Z-x6 .. section: Library Rewrite confusing message from setup.py upload from "No dist file created in earlier command" to the more helpful "Must create and upload files in one command". .. .. bpo: 32857 .. date: 2018-02-16-14-37-14 .. nonce: -XljAx .. section: Library In :mod:`tkinter`, ``after_cancel(None)`` now raises a :exc:`ValueError` instead of canceling the first scheduled function. Patch by Cheryl Sabella. .. .. bpo: 32852 .. date: 2018-02-15-12-04-29 .. nonce: HDqIxM .. section: Library Make sure sys.argv remains as a list when running trace. .. .. bpo: 32841 .. date: 2018-02-14-00-21-24 .. nonce: bvHDOc .. section: Library Fixed ``asyncio.Condition`` issue which silently ignored cancellation after notifying and cancelling a conditional lock. Patch by Bar Harel. .. .. bpo: 31787 .. date: 2018-02-09-21-41-56 .. nonce: owSZ2t .. section: Library Fixed refleaks of ``__init__()`` methods in various modules. (Contributed by Oren Milman) .. .. bpo: 30157 .. date: 2018-02-09-14-44-43 .. nonce: lEiiAK .. section: Library Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last field is quoted. Patch by Jake Davis. .. .. bpo: 32394 .. date: 2018-02-08-08-18-26 .. nonce: 6E_7X7 .. section: Library socket: Remove TCP_FASTOPEN, TCP_KEEPCNT flags on older version Windows during run-time. .. .. bpo: 32777 .. date: 2018-02-05-21-28-28 .. nonce: C-wIXF .. section: Library Fix a rare but potential pre-exec child process deadlock in subprocess on POSIX systems when marking file descriptors inheritable on exec in the child process. This bug appears to have been introduced in 3.4. .. .. bpo: 32647 .. date: 2018-02-05-13-31-42 .. nonce: ktmfR_ .. section: Library The ctypes module used to depend on indirect linking for dlopen. The shared extension is now explicitly linked against libdl on platforms with dl. .. .. bpo: 32734 .. date: 2018-02-01-01-34-47 .. nonce: gCV9AD .. section: Library Fixed ``asyncio.Lock()`` safety issue which allowed acquiring and locking the same lock multiple times, without it being free. Patch by Bar Harel. .. .. bpo: 32727 .. date: 2018-01-30-17-46-18 .. nonce: aHVsRC .. section: Library Do not include name field in SMTP envelope from address. Patch by Stéphane Wirtel .. .. bpo: 27931 .. date: 2018-01-25-21-04-11 .. nonce: e4r52t .. section: Library Fix email address header parsing error when the username is an empty quoted string. Patch by Xiang Zhang. .. .. bpo: 32304 .. date: 2018-01-21-16-33-53 .. nonce: TItrNv .. section: Library distutils' upload command no longer corrupts tar files ending with a CR byte, and no longer tries to convert CR to CRLF in any of the upload text fields. .. .. bpo: 32502 .. date: 2018-01-20-17-15-34 .. nonce: OXJfn7 .. section: Library uuid.uuid1 no longer raises an exception if a 64-bit hardware address is encountered. .. .. bpo: 31848 .. date: 2018-01-18-23-34-17 .. nonce: M2cldy .. section: Library Fix the error handling in Aifc_read.initfp() when the SSND chunk is not found. Patch by Zackery Spytz. .. .. bpo: 32555 .. date: 2018-01-15-17-52-47 .. nonce: CMq2zF .. section: Library On FreeBSD and Solaris, os.strerror() now always decode the byte string from the current locale encoding, rather than using ASCII/surrogateescape in some cases. .. .. bpo: 32521 .. date: 2018-01-15-12-53-13 .. nonce: IxX4Ba .. section: Library The nis module is now compatible with new libnsl and headers location. .. .. bpo: 32473 .. date: 2018-01-10-20-37-59 .. nonce: mP_yJG .. section: Library Improve ABCMeta._dump_registry() output readability .. .. bpo: 32521 .. date: 2018-01-08-18-02-33 .. nonce: Kh-KoN .. section: Library glibc has removed Sun RPC. Use replacement libtirpc headers and library in nis module. .. .. bpo: 32228 .. date: 2017-12-22-16-47-41 .. nonce: waPx3q .. section: Library Ensure that ``truncate()`` preserves the file position (as reported by ``tell()``) after writes longer than the buffer size. .. .. bpo: 26133 .. date: 2017-12-21-11-08-42 .. nonce: mt81QV .. section: Library Don't unsubscribe signals in asyncio UNIX event loop on interpreter shutdown. .. .. bpo: 32185 .. date: 2017-12-20-09-25-10 .. nonce: IL0cMt .. section: Library The SSL module no longer sends IP addresses in SNI TLS extension on platforms with OpenSSL 1.0.2+ or inet_pton. .. .. bpo: 32323 .. date: 2017-12-14-10-10-10 .. nonce: ideco .. section: Library :func:`urllib.parse.urlsplit` does not convert zone-id (scope) to lower case for scoped IPv6 addresses in hostnames now. .. .. bpo: 32302 .. date: 2017-12-13-22-38-08 .. nonce: othtTr .. section: Library Fix bdist_wininst of distutils for CRT v142: it binary compatible with CRT v140. .. .. bpo: 32255 .. date: 2017-12-12-07-29-06 .. nonce: 2bfNmM .. section: Library A single empty field is now always quoted when written into a CSV file. This allows to distinguish an empty row from a row consisting of a single empty field. Patch by Licht Takeuchi. .. .. bpo: 32277 .. date: 2017-12-11-09-53-14 .. nonce: jkKiVC .. section: Library Raise ``NotImplementedError`` instead of ``SystemError`` on platforms where ``chmod(..., follow_symlinks=False)`` is not supported. Patch by Anthony Sottile. .. .. bpo: 32199 .. date: 2017-12-04-12-23-26 .. nonce: nGof4v .. section: Library The getnode() ip getter now uses 'ip link' instead of 'ip link list'. .. .. bpo: 27456 .. date: 2017-11-02-11-57-41 .. nonce: snzyTC .. section: Library Ensure TCP_NODELAY is set on Linux. Tests by Victor Stinner. .. .. bpo: 31900 .. date: 2017-10-30-15-55-32 .. nonce: -S9xc4 .. section: Library The :func:`locale.localeconv` function now sets temporarily the ``LC_CTYPE`` locale to the ``LC_NUMERIC`` locale to decode ``decimal_point`` and ``thousands_sep`` byte strings if they are non-ASCII or longer than 1 byte, and the ``LC_NUMERIC`` locale is different than the ``LC_CTYPE`` locale. This temporary change affects other threads. Same change for the :meth:`str.format` method when formatting a number (:class:`int`, :class:`float`, :class:`float` and subclasses) with the ``n`` type (ex: ``'{:n}'.format(1234)``). .. .. bpo: 31802 .. date: 2017-10-17-14-52-14 .. nonce: sYj2Zv .. section: Library Importing native path module (``posixpath``, ``ntpath``) now works even if the ``os`` module still is not imported. .. .. bpo: 17232 .. date: 2018-02-23-12-48-03 .. nonce: tmuTKL .. section: Documentation Clarify docs for -O and -OO. Patch by Terry Reedy. .. .. bpo: 32800 .. date: 2018-02-10-15-16-04 .. nonce: FyrqCk .. section: Documentation Update link to w3c doc for xml default namespaces. .. .. bpo: 8722 .. date: 2018-02-03-06-11-37 .. nonce: MPyVyj .. section: Documentation Document :meth:`__getattr__` behavior when property :meth:`get` method raises :exc:`AttributeError`. .. .. bpo: 32614 .. date: 2018-02-02-07-41-57 .. nonce: LSqzGw .. section: Documentation Modify RE examples in documentation to use raw strings to prevent :exc:`DeprecationWarning` and add text to REGEX HOWTO to highlight the deprecation. .. .. bpo: 31972 .. date: 2018-01-25-14-23-12 .. nonce: w1m_8r .. section: Documentation Improve docstrings for ``pathlib.PurePath`` subclasses. .. .. bpo: 17799 .. date: 2018-01-22-21-13-46 .. nonce: rdZ-Vk .. section: Documentation Explain real behaviour of sys.settrace and sys.setprofile and their C-API counterparts regarding which type of events are received in each function. Patch by Pablo Galindo Salgado. .. .. bpo: 32517 .. date: 2018-03-09-07-05-12 .. nonce: ugc1iW .. section: Tests Fix failing ``test_asyncio`` on macOS 10.12.2+ due to transport of ``KqueueSelector`` loop was not being closed. .. .. bpo: 32721 .. date: 2018-01-29-21-30-44 .. nonce: 2Bebm1 .. section: Tests Fix test_hashlib to not fail if the _md5 module is not built. .. .. bpo: 32252 .. date: 2017-12-11-13-31-33 .. nonce: YnFw7J .. section: Tests Fix faulthandler_suppress_crash_report() used to prevent core dump files when testing crashes. getrlimit() returns zero on success. .. .. bpo: 31518 .. date: 2017-09-19-20-48-50 .. nonce: KwTMMz .. section: Tests Debian Unstable has disabled TLS 1.0 and 1.1 for SSLv23_METHOD(). Change TLS/SSL protocol of some tests to PROTOCOL_TLS or PROTOCOL_TLSv1_2 to make them pass on Debian. .. .. bpo: 32635 .. date: 2018-01-23-15-33-40 .. nonce: qHwIZy .. section: Build Fix segfault of the crypt module when libxcrypt is provided instead of libcrypt at the system. .. .. bpo: 33016 .. date: 2018-03-07-01-33-33 .. nonce: Z_Med0 .. section: Windows Fix potential use of uninitialized memory in nt._getfinalpathname .. .. bpo: 32903 .. date: 2018-02-28-11-03-24 .. nonce: 1SXY4t .. section: Windows Fix a memory leak in os.chdir() on Windows if the current directory is set to a UNC path. .. .. bpo: 31966 .. date: 2018-02-19-13-54-42 .. nonce: _Q3HPb .. section: Windows Fixed WindowsConsoleIO.write() for writing empty data. .. .. bpo: 32409 .. date: 2018-02-19-10-00-57 .. nonce: nocuDg .. section: Windows Ensures activate.bat can handle Unicode contents. .. .. bpo: 32457 .. date: 2018-02-19-08-54-06 .. nonce: vVP0Iz .. section: Windows Improves handling of denormalized executable path when launching Python. .. .. bpo: 32370 .. date: 2018-02-10-15-38-19 .. nonce: kcKuct .. section: Windows Use the correct encoding for ipconfig output in the uuid module. Patch by Segev Finer. .. .. bpo: 29248 .. date: 2018-02-07-17-50-48 .. nonce: Xzwj-6 .. section: Windows Fix :func:`os.readlink` on Windows, which was mistakenly treating the ``PrintNameOffset`` field of the reparse data buffer as a number of characters instead of bytes. Patch by Craig Holmquist and SSE4. .. .. bpo: 32588 .. date: 2018-01-18-14-56-45 .. nonce: vHww6F .. section: Windows Create standalone _distutils_findvs module. .. .. bpo: 32726 .. date: 2018-03-13-21-00-20 .. nonce: Mticyn .. section: macOS Provide an additional, more modern macOS installer variant that supports macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied third-party libraries to OpenSSL 1.0.2n, XZ 5.2.3, and SQLite 3.22.0. The 10.9+ installer now links with and supplies its own copy of Tcl/Tk 8.6.8. .. .. bpo: 32984 .. date: 2018-03-05-01-29-05 .. nonce: NGjgT4 .. section: IDLE Set ``__file__`` while running a startup file. Like Python, IDLE optionally runs one startup file in the Shell window before presenting the first interactive input prompt. For IDLE, ``-s`` runs a file named in environmental variable :envvar:`IDLESTARTUP` or :envvar:`PYTHONSTARTUP`; ``-r file`` runs ``file``. Python sets ``__file__`` to the startup file name before running the file and unsets it before the first prompt. IDLE now does the same when run normally, without the ``-n`` option. .. .. bpo: 32940 .. date: 2018-02-24-18-20-50 .. nonce: ZaJ1Rf .. section: IDLE Simplify and rename StringTranslatePseudoMapping in pyparse. .. .. bpo: 32916 .. date: 2018-02-23-07-32-36 .. nonce: 4MsQ5F .. section: IDLE Change ``str`` to ``code`` in pyparse. .. .. bpo: 32905 .. date: 2018-02-22-00-09-27 .. nonce: VlXj0x .. section: IDLE Remove unused code in pyparse module. .. .. bpo: 32874 .. date: 2018-02-19-10-56-41 .. nonce: 6pZ9Gv .. section: IDLE Add tests for pyparse. .. .. bpo: 32837 .. date: 2018-02-12-17-22-48 .. nonce: -33QPl .. section: IDLE Using the system and place-dependent default encoding for open() is a bad idea for IDLE's system and location-independent files. .. .. bpo: 32826 .. date: 2018-02-12-11-05-22 .. nonce: IxNZrk .. section: IDLE Add "encoding=utf-8" to open() in IDLE's test_help_about. GUI test test_file_buttons() only looks at initial ascii-only lines, but failed on systems where open() defaults to 'ascii' because readline() internally reads and decodes far enough ahead to encounter a non-ascii character in CREDITS.txt. .. .. bpo: 32765 .. date: 2018-02-04-17-52-54 .. nonce: qm0eCu .. section: IDLE Update configdialog General tab docstring to add new widgets to the widget list. .. .. bpo: 24960 .. date: 2017-12-22-09-25-51 .. nonce: TGdAgO .. section: Tools/Demos 2to3 and lib2to3 can now read pickled grammar files using pkgutil.get_data() rather than probing the filesystem. This lets 2to3 and lib2to3 work when run from a zipfile. .. .. bpo: 32222 .. date: 2017-12-07-20-51-20 .. nonce: hPBcGT .. section: Tools/Demos Fix pygettext not extracting docstrings for functions with type annotated arguments. Patch by Toby Harradine. .. .. bpo: 29084 .. date: 2017-12-16-09-59-35 .. nonce: ZGJ-LJ .. section: C API Undocumented C API for OrderedDict has been excluded from the limited C API. It was added by mistake and actually never worked in the limited C API.