1.. bpo: 44409 2.. date: 2021-06-13-23-12-18 3.. nonce: eW4LS- 4.. release date: 2021-06-17 5.. section: Core and Builtins 6 7Fix error location information for tokenizer errors raised on initialization 8of the tokenizer. Patch by Pablo Galindo. 9 10.. 11 12.. bpo: 44396 13.. date: 2021-06-11-18-17-42 14.. nonce: Z9EKim 15.. section: Core and Builtins 16 17Fix a possible crash in the tokenizer when raising syntax errors for 18unclosed strings. Patch by Pablo Galindo. 19 20.. 21 22.. bpo: 44349 23.. date: 2021-06-08-22-49-06 24.. nonce: xgEgeA 25.. section: Core and Builtins 26 27Fix an edge case when displaying text from files with encoding in syntax 28errors. Patch by Pablo Galindo. 29 30.. 31 32.. bpo: 44335 33.. date: 2021-06-08-01-13-47 34.. nonce: GQTTkl 35.. section: Core and Builtins 36 37Fix a regression when identifying incorrect characters in syntax errors. 38Patch by Pablo Galindo 39 40.. 41 42.. bpo: 44304 43.. date: 2021-06-05-02-34-57 44.. nonce: _MAoPc 45.. section: Core and Builtins 46 47Fix a crash in the :mod:`sqlite3` module that happened when the garbage 48collector clears :class:`sqlite.Statement` objects. Patch by Pablo Galindo 49 50.. 51 52.. bpo: 44305 53.. date: 2021-06-03-22-51-50 54.. nonce: 66dVDG 55.. section: Core and Builtins 56 57Improve error message for ``try`` blocks without ``except`` or ``finally`` 58blocks. Patch by Pablo Galindo. 59 60.. 61 62.. bpo: 43833 63.. date: 2021-04-18-18-07-33 64.. nonce: oChkCi 65.. section: Core and Builtins 66 67Emit a deprecation warning if the numeric literal is immediately followed by 68one of keywords: and, else, for, if, in, is, or. Raise a syntax error with 69more informative message if it is immediately followed by other keyword or 70identifier. 71 72.. 73 74.. bpo: 11105 75.. date: 2020-06-02-13-21-14 76.. nonce: wceryW 77.. section: Core and Builtins 78 79When compiling :class:`ast.AST` objects with recursive references through 80:func:`compile`, the interpreter doesn't crash anymore instead it raises a 81:exc:`RecursionError`. 82 83.. 84 85.. bpo: 42972 86.. date: 2021-06-15-13-51-25 87.. nonce: UnyYo1 88.. section: Library 89 90The _thread.RLock type now fully implement the GC protocol: add a traverse 91function and the :const:`Py_TPFLAGS_HAVE_GC` flag. Patch by Victor Stinner. 92 93.. 94 95.. bpo: 44422 96.. date: 2021-06-14-23-28-17 97.. nonce: BlWOgv 98.. section: Library 99 100The :func:`threading.enumerate` function now uses a reentrant lock to 101prevent a hang on reentrant call. Patch by Victor Stinner. 102 103.. 104 105.. bpo: 44389 106.. date: 2021-06-12-22-58-20 107.. nonce: WTRnoC 108.. section: Library 109 110Fix deprecation of :data:`ssl.OP_NO_TLSv1_3` 111 112.. 113 114.. bpo: 44362 115.. date: 2021-06-10-20-07-32 116.. nonce: oVOMfd 117.. section: Library 118 119Improve :mod:`ssl` module's deprecation messages, error reporting, and 120documentation for deprecations. 121 122.. 123 124.. bpo: 44342 125.. date: 2021-06-10-15-06-47 126.. nonce: qqkGlj 127.. section: Library 128 129[Enum] Change pickling from by-value to by-name. 130 131.. 132 133.. bpo: 44356 134.. date: 2021-06-10-08-35-38 135.. nonce: 6oDFhO 136.. section: Library 137 138[Enum] Allow multiple data-type mixins if they are all the same. 139 140.. 141 142.. bpo: 44351 143.. date: 2021-06-10-07-26-12 144.. nonce: rvyf2v 145.. section: Library 146 147Restore back :func:`parse_makefile` in :mod:`distutils.sysconfig` because it 148behaves differently than the similar implementation in :mod:`sysconfig`. 149 150.. 151 152.. bpo: 44242 153.. date: 2021-06-07-10-26-14 154.. nonce: MKeMCQ 155.. section: Library 156 157Remove missing flag check from Enum creation and move into a ``verify`` 158decorator. 159 160.. 161 162.. bpo: 44246 163.. date: 2021-05-31-11-34-56 164.. nonce: yHAkF0 165.. section: Library 166 167In ``importlib.metadata``, restore compatibility in the result from 168``Distribution.entry_points`` (``EntryPoints``) to honor expectations in 169older implementations and issuing deprecation warnings for these cases: A. 170``EntryPoints`` objects are once again mutable, allowing for ``sort()`` 171and other list-based mutation operations. Avoid deprecation warnings by 172casting to a mutable sequence (e.g. ``list(dist.entry_points).sort()``). 173B. ``EntryPoints`` results once again allow for access by index. To avoid 174deprecation warnings, cast the result to a Sequence first (e.g. 175``tuple(dist.entry_points)[0]``). 176 177.. 178 179.. bpo: 44246 180.. date: 2021-05-31-11-28-03 181.. nonce: nhmt-v 182.. section: Library 183 184In importlib.metadata.entry_points, de-duplication of distributions no 185longer requires loading the full metadata for PathDistribution objects, 186improving entry point loading performance by ~10x. 187 188.. 189 190.. bpo: 43853 191.. date: 2021-04-15-12-02-17 192.. nonce: XXCVAp 193.. section: Library 194 195Improved string handling for :mod:`sqlite3` user-defined functions and 196aggregates: 197 198* It is now possible to pass strings with embedded null characters to UDFs 199* Conversion failures now correctly raise :exc:`MemoryError` 200 201Patch by Erlend E. Aasland. 202 203.. 204 205.. bpo: 43318 206.. date: 2021-02-25-08-32-06 207.. nonce: bZJw6V 208.. section: Library 209 210Fix a bug where :mod:`pdb` does not always echo cleared breakpoints. 211 212.. 213 214.. bpo: 37022 215.. date: 2020-01-25-12-58-20 216.. nonce: FUZI25 217.. section: Library 218 219:mod:`pdb` now displays exceptions from ``repr()`` with its ``p`` and ``pp`` 220commands. 221 222.. 223 224.. bpo: 44392 225.. date: 2021-06-16-18-09-49 226.. nonce: 6RF1Sc 227.. section: Documentation 228 229Added a new section in the C API documentation for types used in type 230hinting. Documented ``Py_GenericAlias`` and ``Py_GenericAliasType``. 231 232.. 233 234.. bpo: 38291 235.. date: 2021-06-14-09-20-37 236.. nonce: VMYa_Q 237.. section: Documentation 238 239Mark ``typing.io`` and ``typing.re`` as deprecated since Python 3.8 in the 240documentation. They were never properly supported by type checkers. 241 242.. 243 244.. bpo: 44322 245.. date: 2021-06-06-14-12-00 246.. nonce: K0PHfE 247.. section: Documentation 248 249Document that SyntaxError args have a details tuple and that details are 250adjusted for errors in f-string field replacement expressions. 251 252.. 253 254.. bpo: 44363 255.. date: 2021-06-10-11-19-43 256.. nonce: -K9jD0 257.. section: Tests 258 259Account for address sanitizer in test_capi. test_capi now passes when run 260GCC address sanitizer. 261 262.. 263 264.. bpo: 43921 265.. date: 2021-06-03-03-29-34 266.. nonce: nwH1FS 267.. section: Tests 268 269Fix test_ssl.test_wrong_cert_tls13(): use ``suppress_ragged_eofs=False``, 270since ``read()`` can raise :exc:`ssl.SSLEOFError` on Windows. Patch by 271Victor Stinner. 272 273.. 274 275.. bpo: 43921 276.. date: 2021-06-02-17-41-42 277.. nonce: xP7yZ4 278.. section: Tests 279 280Fix test_pha_required_nocert() of test_ssl: catch two more EOF cases (when 281the ``recv()`` method returns an empty string). Patch by Victor Stinner. 282 283.. 284 285.. bpo: 44381 286.. date: 2021-06-10-18-08-44 287.. nonce: Xpc1iX 288.. section: Build 289 290The Windows build now accepts :envvar:`EnableControlFlowGuard` set to 291``guard`` to enable CFG. 292 293.. 294 295.. bpo: 40128 296.. date: 2021-06-11-17-43-39 297.. nonce: 7vDN3U 298.. section: IDLE 299 300Mostly fix completions on macOS when not using tcl/tk 8.6.11 (as with 3.9). 301The added update_idletask call should be harmless and possibly helpful 302otherwise. 303 304.. 305 306.. bpo: 33962 307.. date: 2021-06-10-00-50-02 308.. nonce: ikAUNg 309.. section: IDLE 310 311Move the indent space setting from the Font tab to the new Windows tab. 312Patch by Mark Roseman and Terry Jan Reedy. 313 314.. 315 316.. bpo: 40468 317.. date: 2021-06-08-03-04-51 318.. nonce: tUCGUb 319.. section: IDLE 320 321Split the settings dialog General tab into Windows and Shell/ED tabs. Move 322help sources, which extend the Help menu, to the Extensions tab. Make space 323for new options and shorten the dialog. The latter makes the dialog better 324fit small screens. 325 326.. 327 328.. bpo: 43795 329.. date: 2021-06-15-16-28-18 330.. nonce: fy0AXK 331.. section: C API 332 333The list in :ref:`stable-abi-list` now shows the public name 334:c:struct:`PyFrameObject` rather than ``_frame``. The non-existing entry 335``_node`` no longer appears in the list. 336 337.. 338 339.. bpo: 44378 340.. date: 2021-06-10-15-22-31 341.. nonce: jGYakF 342.. section: C API 343 344:c:func:`Py_IS_TYPE` no longer uses :c:func:`Py_TYPE` to avoid a compiler 345warning: no longer cast ``const PyObject*`` to ``PyObject*``. Patch by 346Victor Stinner. 347