.. bpo: 34155 .. date: 2019-05-04-13-33-37 .. nonce: MJll68 .. release date: 2019-08-29 .. section: Security Fix parsing of invalid email addresses with more than one ``@`` (e.g. a@b@c.com.) to not return the part before 2nd ``@`` as valid email address. Patch by maxking & jpic. .. .. bpo: 37947 .. date: 2019-08-26-04-09-57 .. nonce: mzAQtB .. section: Core and Builtins Adjust correctly the recursion level in the symtable generation for named expressions. Patch by Pablo Galindo. .. .. bpo: 37830 .. date: 2019-08-17-18-41-59 .. nonce: fNfMbz .. section: Core and Builtins Fixed compilation of :keyword:`break` and :keyword:`continue` in the :keyword:`finally` block when the corresponding :keyword:`try` block contains :keyword:`return` with a non-constant value. .. .. bpo: 32912 .. date: 2019-08-06-14-03-59 .. nonce: UDwSMJ .. section: Core and Builtins Reverted :issue:`32912`: emitting :exc:`SyntaxWarning` instead of :exc:`DeprecationWarning` for invalid escape sequences in string and bytes literals. .. .. bpo: 37757 .. date: 2019-08-05-14-22-59 .. nonce: lRv5HX .. section: Core and Builtins :pep:`572`: As described in the PEP, assignment expressions now raise :exc:`SyntaxError` when their interaction with comprehension scoping results in an ambiguous target scope. The ``TargetScopeError`` subclass originally proposed by the PEP has been removed in favour of just raising regular syntax errors for the disallowed cases. .. .. bpo: 36311 .. date: 2019-08-02-15-01-33 .. nonce: uY5vt- .. section: Core and Builtins Decoding bytes objects larger than 2GiB is faster and no longer fails when a multibyte characters spans a chunk boundary. .. .. bpo: 37433 .. date: 2019-06-27-15-01-14 .. nonce: amNGqr .. section: Core and Builtins Fix ``SyntaxError`` indicator printing too many spaces for multi-line strings - by Anthony Sottile. .. .. bpo: 20523 .. date: 2019-02-15-20-42-36 .. nonce: rRLrvr .. section: Core and Builtins ``pdb.Pdb`` supports ~/.pdbrc in Windows 7. Patch by Tim Hopper and Dan Lidral-Porter. .. .. bpo: 37834 .. date: 2019-08-29-16-41-36 .. nonce: FThnsh .. section: Library Prevent shutil.rmtree exception when built on non-Windows system without fd system call support, like older versions of macOS. .. .. bpo: 37965 .. date: 2019-08-28-14-04-18 .. nonce: 7xGE-C .. section: Library Fix C compiler warning caused by distutils.ccompiler.CCompiler.has_function. .. .. bpo: 37960 .. date: 2019-08-27-10-52-13 .. nonce: CTY7Lw .. section: Library ``repr()`` of buffered and text streams now silences only expected exceptions when get the value of "name" and "mode" attributes. .. .. bpo: 37951 .. date: 2019-08-27-10-03-48 .. nonce: MfRQgL .. section: Library Most features of the subprocess module now work again in subinterpreters. Only *preexec_fn* is restricted in subinterpreters. .. .. bpo: 36205 .. date: 2019-08-27-03-53-26 .. nonce: AfkGRl .. section: Library Fix the rusage implementation of time.process_time() to correctly report the sum of the system and user CPU time. .. .. bpo: 37950 .. date: 2019-08-26-10-45-51 .. nonce: -K1IKT .. section: Library Fix :func:`ast.dump` when call with incompletely initialized node. .. .. bpo: 34679 .. date: 2019-08-25-18-07-48 .. nonce: HECzL7 .. section: Library Restores instantiation of Windows IOCP event loops from the non-main thread. .. .. bpo: 36917 .. date: 2019-08-25-14-56-42 .. nonce: GBxdw2 .. section: Library Add default implementation of the :meth:`ast.NodeVisitor.visit_Constant` method which emits a deprecation warning and calls corresponding methody ``visit_Num()``, ``visit_Str()``, etc. .. .. bpo: 37798 .. date: 2019-08-24-16-54-49 .. nonce: 7mRQCk .. section: Library Update test_statistics.py to verify that the statistics module works well for both C and Python implementations. Patch by Dong-hee Na .. .. bpo: 26589 .. date: 2019-08-23-00-55-19 .. nonce: M1xyxG .. section: Library Added a new status code to the http module: 451 UNAVAILABLE_FOR_LEGAL_REASONS .. .. bpo: 37915 .. date: 2019-08-22-16-13-27 .. nonce: xyoZI5 .. section: Library Fix a segmentation fault that appeared when comparing instances of ``datetime.timezone`` and ``datetime.tzinfo`` objects. Patch by Pablo Galindo. .. .. bpo: 37868 .. date: 2019-08-17-22-33-54 .. nonce: hp64fi .. section: Library Fix dataclasses.is_dataclass when given an instance that never raises AttributeError in __getattr__. That is, an object that returns something for __dataclass_fields__ even if it's not a dataclass. .. .. bpo: 37811 .. date: 2019-08-14-21-41-07 .. nonce: d1xYj7 .. section: Library Fix ``socket`` module's ``socket.connect(address)`` function being unable to establish connection in case of interrupted system call. The problem was observed on all OSes which ``poll(2)`` system call can take only non-negative integers and -1 as a timeout value. .. .. bpo: 21131 .. date: 2019-08-14-15-34-23 .. nonce: 0MMQRi .. section: Library Fix ``faulthandler.register(chain=True)`` stack. faulthandler now allocates a dedicated stack of ``SIGSTKSZ*2`` bytes, instead of just ``SIGSTKSZ`` bytes. Calling the previous signal handler in faulthandler signal handler uses more than ``SIGSTKSZ`` bytes of stack memory on some platforms. .. .. bpo: 37798 .. date: 2019-08-14-13-51-24 .. nonce: AmXrik .. section: Library Add C fastpath for statistics.NormalDist.inv_cdf() Patch by Dong-hee Na .. .. bpo: 37819 .. date: 2019-08-11-10-34-19 .. nonce: LVJls- .. section: Library Add Fraction.as_integer_ratio() to match the corresponding methods in bool, int, float, and decimal. .. .. bpo: 37810 .. date: 2019-08-10-12-33-27 .. nonce: d4zbvB .. section: Library Fix :mod:`difflib` ``?`` hint in diff output when dealing with tabs. Patch by Anthony Sottile. .. .. bpo: 37772 .. date: 2019-08-07-23-48-09 .. nonce: hLCvdn .. section: Library In ``zipfile.Path``, when adding implicit dirs, ensure that ancestral directories are added and that duplicates are excluded. .. .. bpo: 28292 .. date: 2019-08-04-11-47-58 .. nonce: vkihH5 .. section: Library Mark calendar.py helper functions as being private. The follows PEP 8 guidance to maintain the style conventions in the module and it addresses a known case of user confusion. .. .. bpo: 18049 .. date: 2019-08-02-16-44-42 .. nonce: OA4qBL .. section: Library Add definition of THREAD_STACK_SIZE for AIX in Python/thread_pthread.h The default thread stacksize caused crashes with the default recursion limit Patch by M Felt .. .. bpo: 37738 .. date: 2019-08-01-17-11-16 .. nonce: A3WWcT .. section: Library Fix the implementation of curses ``addch(str, color_pair)``: pass the color pair to ``setcchar()``, instead of always passing 0 as the color pair. .. .. bpo: 37723 .. date: 2019-07-31-16-49-01 .. nonce: zq6tw8 .. section: Library Fix performance regression on regular expression parsing with huge character sets. Patch by Yann Vaginay. .. .. bpo: 32178 .. date: 2019-07-30-22-41-05 .. nonce: X-IFLe .. section: Library Fix IndexError in :mod:`email` package when trying to parse invalid address fields starting with ``:``. .. .. bpo: 37685 .. date: 2019-07-28-22-25-25 .. nonce: _3bN9f .. section: Library Fixed comparisons of :class:`datetime.timedelta` and :class:`datetime.timezone`. .. .. bpo: 37695 .. date: 2019-07-27-20-21-03 .. nonce: QANdvg .. section: Library Correct :func:`curses.unget_wch` error message. Patch by Anthony Sottile. .. .. bpo: 37354 .. date: 2019-07-25-10-28-40 .. nonce: RT3_3H .. section: Library Make Activate.ps1 Powershell script static to allow for signing it. .. .. bpo: 37664 .. date: 2019-07-24-18-27-44 .. nonce: o-GYZC .. section: Library Update wheels bundled with ensurepip (pip 19.2.3 and setuptools 41.2.0) .. .. bpo: 37642 .. date: 2019-07-21-20-59-31 .. nonce: L61Bvy .. section: Library Allowed the pure Python implementation of :class:`datetime.timezone` to represent sub-minute offsets close to minimum and maximum boundaries, specifically in the ranges (23:59, 24:00) and (-23:59, 24:00). Patch by Ngalim Siregar .. .. bpo: 16970 .. date: 2019-07-19-01-46-56 .. nonce: GEASf5 .. section: Library Adding a value error when an invalid value in passed to nargs Patch by Robert Leenders .. .. bpo: 37587 .. date: 2019-07-13-16-02-48 .. nonce: fd-1aF .. section: Library Make json.loads faster for long strings. (Patch by Marco Paolini) .. .. bpo: 18378 .. date: 2019-07-13-13-40-12 .. nonce: NHcojp .. section: Library Recognize "UTF-8" as a valid value for LC_CTYPE in locale._parse_localename. .. .. bpo: 37531 .. date: 2019-07-09-19-38-26 .. nonce: GX7s8S .. section: Library "python3 -m test -jN --timeout=TIMEOUT" now kills a worker process if it runs longer than *TIMEOUT* seconds. .. .. bpo: 37482 .. date: 2019-07-09-11-20-21 .. nonce: auzvev .. section: Library Fix serialization of display name in originator or destination address fields with both encoded words and special chars. .. .. bpo: 37372 .. date: 2019-06-22-12-30-00 .. nonce: kIKqZ6 .. section: Library Fix error unpickling datetime.time objects from Python 2 with seconds>=24. Patch by Justin Blanchard. .. .. bpo: 37085 .. date: 2019-06-18-16-29-31 .. nonce: GeYaD6 .. section: Library Add the optional Linux SocketCAN Broadcast Manager constants, used as flags to configure the BCM behaviour, in the socket module. Patch by Karl Ding. .. .. bpo: 36871 .. date: 2019-05-12-12-58-37 .. nonce: 6xiEHZ .. section: Library Ensure method signature is used instead of constructor signature of a class while asserting mock object against method calls. Patch by Karthikeyan Singaravelan. .. .. bpo: 36582 .. date: 2019-05-07-17-42-36 .. nonce: L_dxR6 .. section: Library Fix ``UserString.encode()`` to correctly return ``bytes`` rather than a ``UserString`` instance. .. .. bpo: 34775 .. date: 2018-09-23-03-18-52 .. nonce: vHeuHk .. section: Library Division handling of PurePath now returns NotImplemented instead of raising a TypeError when passed something other than an instance of str or PurePath. Patch by Roger Aiudi. .. .. bpo: 37979 .. date: 2019-08-29-10-40-05 .. nonce: TAUx_E .. section: Documentation Added a link to dateutil.parser.isoparse in the datetime.fromisoformat documentation. Patch by Paul Ganssle .. .. bpo: 37759 .. date: 2019-08-04-19-20-58 .. nonce: EHRF4i .. section: Documentation Beginning edits to Whatsnew 3.8 .. .. bpo: 37726 .. date: 2019-07-31-11-40-06 .. nonce: h-3o9a .. section: Documentation Stop recommending getopt in the tutorial for command line argument parsing and promote argparse. .. .. bpo: 37256 .. date: 2019-07-16-14-48-12 .. nonce: qJTrBb .. section: Documentation Fix wording of arguments for :class:`Request` in :mod:`urllib.request` .. .. bpo: 37004 .. date: 2019-05-22-04-30-07 .. nonce: BRgxrt .. section: Documentation In the documentation for difflib, a note was added explicitly warning that the results of SequenceMatcher's ratio method may depend on the order of the input strings. .. .. bpo: 36487 .. date: 2019-04-02-19-23-00 .. nonce: Jg6-MG .. section: Documentation Make C-API docs clear about what the "main" interpreter is. .. .. bpo: 37805 .. date: 2019-08-25-19-51-46 .. nonce: Kl1sti .. section: Tests Add tests for json.dump(..., skipkeys=True). Patch by Dong-hee Na. .. .. bpo: 37707 .. date: 2019-07-29-11-36-16 .. nonce: Sm-dGk .. section: Build Mark some individual tests to skip when --pgo is used. The tests marked increase the PGO task time significantly and likely don't help improve optimization of the final executable. .. .. bpo: 37549 .. date: 2019-08-22-09-04-44 .. nonce: TpKI3M .. section: Windows :func:`os.dup` no longer fails for standard streams on Windows 7. .. .. bpo: 1311 .. date: 2019-08-21-12-58-18 .. nonce: BoW1wU .. section: Windows The ``nul`` file on Windows now returns True from :func:`~os.path.exists` and a valid result from :func:`os.stat` with ``S_IFCHR`` set. .. .. bpo: 9949 .. date: 2019-08-14-13-40-15 .. nonce: zW45Ks .. section: Windows Enable support for following symlinks in :func:`os.realpath`. .. .. bpo: 37834 .. date: 2019-08-12-12-00-24 .. nonce: VB2QVj .. section: Windows Treat all name surrogate reparse points on Windows in :func:`os.lstat` and other reparse points as regular files in :func:`os.stat`. .. .. bpo: 36266 .. date: 2019-08-08-18-05-27 .. nonce: x4eZU3 .. section: Windows Add the module name in the formatted error message when DLL load fail happens during module import in ``_PyImport_FindSharedFuncptrWindows()``. Patch by Srinivas Nyayapati. .. .. bpo: 25172 .. date: 2019-08-06-18-09-18 .. nonce: Akreij .. section: Windows Trying to import the :mod:`crypt` module on Windows will result in an :exc:`ImportError` with a message explaining that the module isn't supported on Windows. On other platforms, if the underlying ``_crypt`` module is not available, the ImportError will include a message explaining the problem. .. .. bpo: 37778 .. date: 2019-08-06-13-54-12 .. nonce: AY1XhH .. section: Windows Fixes the icons used for file associations to the Microsoft Store package. .. .. bpo: 37734 .. date: 2019-08-06-09-35-12 .. nonce: EoJ9Nh .. section: Windows Fix use of registry values to launch Python from Microsoft Store app. .. .. bpo: 28269 .. date: 2019-05-05-05-23-34 .. nonce: -MOHI7 .. section: Windows Replace use of :c:func:`strcasecmp` for the system function :c:func:`_stricmp`. Patch by Minmin Gong. .. .. bpo: 18049 .. date: 2019-07-13-15-58-18 .. nonce: MklhQQ .. section: macOS Increase the default stack size of threads from 5MB to 16MB on macOS, to match the stack size of the main thread. This avoids crashes on deep recursion in threads. .. .. bpo: 37824 .. date: 2019-08-26-00-41-53 .. nonce: YY5jAI .. section: IDLE Properly handle user input warnings in IDLE shell. Cease turning SyntaxWarnings into SyntaxErrors. .. .. bpo: 37929 .. date: 2019-08-24-22-00-33 .. nonce: jb7523 .. section: IDLE IDLE Settings dialog now closes properly when there is no shell window. .. .. bpo: 37849 .. date: 2019-08-14-09-43-15 .. nonce: -bcYF3 .. section: IDLE Fixed completions list appearing too high or low when shown above the current line. .. .. bpo: 36419 .. date: 2019-08-04-17-10-01 .. nonce: TJZqOc .. section: IDLE Refactor IDLE autocomplete and improve testing. .. .. bpo: 37748 .. date: 2019-08-04-15-27-50 .. nonce: 0vf6pg .. section: IDLE Reorder the Run menu. Put the most common choice, Run Module, at the top. .. .. bpo: 37942 .. date: 2019-08-24-12-11-30 .. nonce: 7H8N9a .. section: Tools/Demos Improve ArgumentClinic converter for floats. .. .. bpo: 37034 .. date: 2019-05-27-16-13-08 .. nonce: zbTgy8 .. section: Tools/Demos Argument Clinic now uses the argument name on errors with keyword-only argument instead of their position. Patch contributed by RĂ©mi Lapeyre. .. .. bpo: 36763 .. date: 2019-08-23-18-45-11 .. nonce: q3Kh8Z .. section: C API Options added by ``PySys_AddXOption()`` are now handled the same way than ``PyConfig.xoptions`` and command line ``-X`` options. .. .. bpo: 37926 .. date: 2019-08-23-11-35-55 .. nonce: hnI5IQ .. section: C API Fix a crash in ``PySys_SetArgvEx(0, NULL, 0)``.