| .. 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)``. |