Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 1 | .. bpo: 38945 |
| 2 | .. date: 2019-12-01-22-44-40 |
| 3 | .. nonce: ztmNXc |
| 4 | .. release date: 2019-12-18 |
| 5 | .. section: Security |
| 6 | |
| 7 | Newline characters have been escaped when performing uu encoding to prevent |
| 8 | them from overflowing into to content section of the encoded file. This |
| 9 | prevents malicious or accidental modification of data during the decoding |
| 10 | process. |
| 11 | |
| 12 | .. |
| 13 | |
| 14 | .. bpo: 37228 |
| 15 | .. date: 2019-11-21-21-36-54 |
| 16 | .. nonce: yBZnFG |
| 17 | .. section: Security |
| 18 | |
| 19 | Due to significant security concerns, the *reuse_address* parameter of |
| 20 | :meth:`asyncio.loop.create_datagram_endpoint` is no longer supported. This |
| 21 | is because of the behavior of ``SO_REUSEADDR`` in UDP. For more details, see |
| 22 | the documentation for ``loop.create_datagram_endpoint()``. (Contributed by |
| 23 | Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:`37228`.) |
| 24 | |
| 25 | .. |
| 26 | |
| 27 | .. bpo: 38804 |
| 28 | .. date: 2019-11-15-00-54-42 |
| 29 | .. nonce: vjbM8V |
| 30 | .. section: Security |
| 31 | |
| 32 | Fixes a ReDoS vulnerability in :mod:`http.cookiejar`. Patch by Ben Caller. |
| 33 | |
| 34 | .. |
| 35 | |
| 36 | .. bpo: 39028 |
| 37 | .. date: 2019-12-17-23-20-51 |
| 38 | .. nonce: SND4TB |
| 39 | .. section: Core and Builtins |
| 40 | |
| 41 | Slightly improve the speed of keyword argument parsing with many kwargs by |
| 42 | strengthening the assumption that kwargs are interned strings. |
| 43 | |
| 44 | .. |
| 45 | |
| 46 | .. bpo: 39080 |
| 47 | .. date: 2019-12-17-21-45-36 |
| 48 | .. nonce: OrxEVS |
| 49 | .. section: Core and Builtins |
| 50 | |
| 51 | Fix the value of *end_col_offset* for Starred Expression AST nodes when they |
| 52 | are among the elements in the *args* attribute of Call AST nodes. |
| 53 | |
| 54 | .. |
| 55 | |
| 56 | .. bpo: 39031 |
| 57 | .. date: 2019-12-12-21-05-43 |
| 58 | .. nonce: imlCYZ |
| 59 | .. section: Core and Builtins |
| 60 | |
| 61 | When parsing an "elif" node, lineno and col_offset of the node now point to |
| 62 | the "elif" keyword and not to its condition, making it consistent with the |
| 63 | "if" node. Patch by Lysandros Nikolaou. |
| 64 | |
| 65 | .. |
| 66 | |
| 67 | .. bpo: 20443 |
| 68 | .. date: 2019-12-09-17-05-53 |
| 69 | .. nonce: 8OyT5P |
| 70 | .. section: Core and Builtins |
| 71 | |
Gurupad Hegde | 6c7bb38 | 2019-12-28 17:16:02 -0500 | [diff] [blame] | 72 | In Python 3.9.0a1, sys.argv[0] was made an absolute path if a filename was |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 73 | specified on the command line. Revert this change, since most users expect |
| 74 | sys.argv to be unmodified. |
| 75 | |
| 76 | .. |
| 77 | |
| 78 | .. bpo: 39008 |
| 79 | .. date: 2019-12-09-10-38-51 |
| 80 | .. nonce: Rrp6f1 |
| 81 | .. section: Core and Builtins |
| 82 | |
| 83 | :c:func:`PySys_Audit` now requires ``Py_ssize_t`` to be used for size |
toonarmycaptain | dd117c3 | 2019-12-25 05:25:36 -0600 | [diff] [blame] | 84 | arguments in the format string, regardless of whether ``PY_SSIZE_T_CLEAN`` |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 85 | was defined at include time. |
| 86 | |
| 87 | .. |
| 88 | |
| 89 | .. bpo: 38673 |
| 90 | .. date: 2019-12-01-00-17-44 |
| 91 | .. nonce: K_Tze- |
| 92 | .. section: Core and Builtins |
| 93 | |
| 94 | In REPL mode, don't switch to PS2 if the line starts with comment or |
| 95 | whitespace. Based on work by Batuhan Taşkaya. |
| 96 | |
| 97 | .. |
| 98 | |
| 99 | .. bpo: 38922 |
| 100 | .. date: 2019-11-26-12-20-34 |
| 101 | .. nonce: i6ja-i |
| 102 | .. section: Core and Builtins |
| 103 | |
| 104 | Calling ``replace`` on a code object now raises the ``code.__new__`` audit |
| 105 | event. |
| 106 | |
| 107 | .. |
| 108 | |
| 109 | .. bpo: 38920 |
| 110 | .. date: 2019-11-26-09-16-47 |
| 111 | .. nonce: Vx__sT |
| 112 | .. section: Core and Builtins |
| 113 | |
| 114 | Add audit hooks for when :func:`sys.excepthook` and |
toonarmycaptain | dd117c3 | 2019-12-25 05:25:36 -0600 | [diff] [blame] | 115 | :func:`sys.unraisablehook` are invoked. |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 116 | |
| 117 | .. |
| 118 | |
| 119 | .. bpo: 38892 |
| 120 | .. date: 2019-11-22-22-18-50 |
| 121 | .. nonce: LS586s |
| 122 | .. section: Core and Builtins |
| 123 | |
| 124 | Improve documentation for audit events table and functions. |
| 125 | |
| 126 | .. |
| 127 | |
| 128 | .. bpo: 38852 |
| 129 | .. date: 2019-11-22-09-55-21 |
| 130 | .. nonce: y7oPEa |
| 131 | .. section: Core and Builtins |
| 132 | |
| 133 | Set the thread stack size to 8 Mb for debug builds on android platforms. |
| 134 | |
| 135 | .. |
| 136 | |
| 137 | .. bpo: 38858 |
| 138 | .. date: 2019-11-21-09-02-49 |
| 139 | .. nonce: bDLH04 |
| 140 | .. section: Core and Builtins |
| 141 | |
| 142 | Each Python subinterpreter now has its own "small integer singletons": |
| 143 | numbers in [-5; 257] range. It is no longer possible to change the number of |
| 144 | small integers at build time by overriding ``NSMALLNEGINTS`` and |
| 145 | ``NSMALLPOSINTS`` macros: macros should now be modified manually in |
| 146 | ``pycore_pystate.h`` header file. |
| 147 | |
| 148 | .. |
| 149 | |
| 150 | .. bpo: 36854 |
| 151 | .. date: 2019-11-20-12-01-37 |
| 152 | .. nonce: Zga_md |
| 153 | .. section: Core and Builtins |
| 154 | |
| 155 | The garbage collector state becomes per interpreter |
| 156 | (``PyInterpreterState.gc``), rather than being global |
| 157 | (``_PyRuntimeState.gc``). |
| 158 | |
| 159 | .. |
| 160 | |
| 161 | .. bpo: 38835 |
| 162 | .. date: 2019-11-18-16-37-49 |
| 163 | .. nonce: -U4se1 |
| 164 | .. section: Core and Builtins |
| 165 | |
| 166 | The ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros are empty: |
| 167 | they have been doing nothing for the last year, so stop using them. |
| 168 | |
| 169 | .. |
| 170 | |
| 171 | .. bpo: 38328 |
| 172 | .. date: 2019-11-11-23-44-15 |
| 173 | .. nonce: IFrrjq |
| 174 | .. section: Core and Builtins |
| 175 | |
| 176 | Sped up the creation time of constant :class:`list` and :class:`set` |
| 177 | displays. Patch by Brandt Bucher. |
| 178 | |
| 179 | .. |
| 180 | |
| 181 | .. bpo: 38707 |
| 182 | .. date: 2019-11-08-00-36-10 |
| 183 | .. nonce: SZL036 |
| 184 | .. section: Core and Builtins |
| 185 | |
| 186 | ``MainThread.native_id`` is now correctly reset in child processes spawned |
| 187 | using :class:`multiprocessing.Process`, instead of retaining the parent's |
| 188 | value. |
| 189 | |
| 190 | .. |
| 191 | |
| 192 | .. bpo: 38629 |
| 193 | .. date: 2019-10-29-17-11-15 |
| 194 | .. nonce: 3qinhF |
| 195 | .. section: Core and Builtins |
| 196 | |
| 197 | Added ``__floor__`` and ``__ceil__`` methods to float object. Patch by |
| 198 | Batuhan Taşkaya. |
| 199 | |
| 200 | .. |
| 201 | |
| 202 | .. bpo: 27145 |
| 203 | .. date: 2019-09-06-16-40-12 |
| 204 | .. nonce: njuCXU |
| 205 | .. section: Core and Builtins |
| 206 | |
| 207 | int + int and int - int operators can now return small integer singletons. |
| 208 | Patch by hongweipeng. |
| 209 | |
| 210 | .. |
| 211 | |
| 212 | .. bpo: 38021 |
| 213 | .. date: 2019-09-03-19-16-57 |
| 214 | .. nonce: KnUhdB |
| 215 | .. section: Core and Builtins |
| 216 | |
| 217 | Provide a platform tag for AIX that is sufficient for PEP425 binary |
toonarmycaptain | dd117c3 | 2019-12-25 05:25:36 -0600 | [diff] [blame] | 218 | distribution identification. Patch by Michael Felt. |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 219 | |
| 220 | .. |
| 221 | |
| 222 | .. bpo: 35409 |
| 223 | .. date: 2019-07-13-18-01-13 |
| 224 | .. nonce: ozbcsR |
| 225 | .. section: Core and Builtins |
| 226 | |
| 227 | Ignore GeneratorExit exceptions when throwing an exception into the aclose |
| 228 | coroutine of an asynchronous generator. |
| 229 | |
| 230 | .. |
| 231 | |
| 232 | .. bpo: 32949 |
| 233 | .. date: 2018-03-13-14-46-03 |
| 234 | .. nonce: v821M7 |
| 235 | .. section: Core and Builtins |
| 236 | |
| 237 | Removed WITH_CLEANUP_START, WITH_CLEANUP_FINISH, BEGIN_FINALLY, END_FINALLY, |
| 238 | CALL_FINALLY and POP_FINALLY bytecodes. Replaced with RERAISE and |
| 239 | WITH_EXCEPT_FINISH bytecodes. The compiler now generates different code for |
| 240 | exceptional and non-exceptional branches for 'with' and 'try-except' |
| 241 | statements. For 'try-finally' statements the 'finally' block is replicated |
| 242 | for each exit from the 'try' body. |
| 243 | |
| 244 | .. |
| 245 | |
| 246 | .. bpo: 39033 |
| 247 | .. date: 2019-12-13-18-54-49 |
| 248 | .. nonce: cepuyD |
| 249 | .. section: Library |
| 250 | |
| 251 | Fix :exc:`NameError` in :mod:`zipimport`. Patch by Karthikeyan Singaravelan. |
| 252 | |
| 253 | .. |
| 254 | |
| 255 | .. bpo: 39022 |
| 256 | .. date: 2019-12-10-23-34-48 |
| 257 | .. nonce: QDtIxI |
| 258 | .. section: Library |
| 259 | |
Aurora Lanes | 03c8e5d | 2019-12-26 14:22:13 +0000 | [diff] [blame] | 260 | Update importlib.metadata to include improvements from importlib_metadata |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 261 | 1.3 including better serialization of EntryPoints and improved documentation |
| 262 | for custom finders. |
| 263 | |
| 264 | .. |
| 265 | |
| 266 | .. bpo: 39006 |
| 267 | .. date: 2019-12-09-14-40-09 |
| 268 | .. nonce: v4VsPg |
| 269 | .. section: Library |
| 270 | |
| 271 | Fix asyncio when the ssl module is missing: only check for ssl.SSLSocket |
| 272 | instance if the ssl module is available. |
| 273 | |
| 274 | .. |
| 275 | |
| 276 | .. bpo: 38708 |
| 277 | .. date: 2019-12-07-22-25-39 |
| 278 | .. nonce: rZTUfk |
| 279 | .. section: Library |
| 280 | |
| 281 | Fix a potential IndexError in email parser when parsing an empty msg-id. |
| 282 | |
| 283 | .. |
| 284 | |
| 285 | .. bpo: 38698 |
| 286 | .. date: 2019-12-07-21-49-50 |
| 287 | .. nonce: HxoSym |
| 288 | .. section: Library |
| 289 | |
| 290 | Add a new ``InvalidMessageID`` token to email parser to represent invalid |
| 291 | Message-ID headers. Also, add defects when there is remaining value after |
| 292 | parsing the header. |
| 293 | |
| 294 | .. |
| 295 | |
| 296 | .. bpo: 38994 |
| 297 | .. date: 2019-12-07-18-58-44 |
| 298 | .. nonce: IJYhz_ |
| 299 | .. section: Library |
| 300 | |
toonarmycaptain | dd117c3 | 2019-12-25 05:25:36 -0600 | [diff] [blame] | 301 | Implement ``__class_getitem__`` for ``os.PathLike``, ``pathlib.Path``. |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 302 | |
| 303 | .. |
| 304 | |
| 305 | .. bpo: 38979 |
| 306 | .. date: 2019-12-07-16-32-42 |
| 307 | .. nonce: q0sIHy |
| 308 | .. section: Library |
| 309 | |
| 310 | Return class from ``ContextVar.__class_getitem__`` to simplify subclassing. |
| 311 | |
| 312 | .. |
| 313 | |
| 314 | .. bpo: 38978 |
| 315 | .. date: 2019-12-07-13-40-52 |
| 316 | .. nonce: R3gHZI |
| 317 | .. section: Library |
| 318 | |
| 319 | Implement ``__class_getitem__`` on asyncio objects (Future, Task, Queue). |
| 320 | Patch by Batuhan Taskaya. |
| 321 | |
| 322 | .. |
| 323 | |
| 324 | .. bpo: 38916 |
| 325 | .. date: 2019-12-06-18-47-56 |
| 326 | .. nonce: K-raU8 |
| 327 | .. section: Library |
| 328 | |
| 329 | :class:`array.array`: Remove ``tostring()`` and ``fromstring()`` methods. |
| 330 | They were aliases to ``tobytes()`` and ``frombytes()``, deprecated since |
| 331 | Python 3.2. |
| 332 | |
| 333 | .. |
| 334 | |
| 335 | .. bpo: 38986 |
| 336 | .. date: 2019-12-06-15-11-42 |
| 337 | .. nonce: bg6iZt |
| 338 | .. section: Library |
| 339 | |
| 340 | Make repr of C accelerated TaskWakeupMethWrapper the same as of pure Python |
| 341 | version. |
| 342 | |
| 343 | .. |
| 344 | |
| 345 | .. bpo: 38982 |
| 346 | .. date: 2019-12-05-18-21-26 |
| 347 | .. nonce: W3u-03 |
| 348 | .. section: Library |
| 349 | |
| 350 | Fix asyncio ``PidfdChildWatcher``: handle ``waitpid()`` error. If |
| 351 | ``waitpid()`` is called elsewhere, ``waitpid()`` call fails with |
| 352 | :exc:`ChildProcessError`: use return code 255 in this case, and log a |
| 353 | warning. It ensures that the pidfd file descriptor is closed if this error |
| 354 | occurs. |
| 355 | |
| 356 | .. |
| 357 | |
| 358 | .. bpo: 38529 |
| 359 | .. date: 2019-12-05-16-13-25 |
| 360 | .. nonce: yvQgx3 |
| 361 | .. section: Library |
| 362 | |
| 363 | Drop too noisy asyncio warning about deletion of a stream without explicit |
| 364 | ``.close()`` call. |
| 365 | |
| 366 | .. |
| 367 | |
| 368 | .. bpo: 27413 |
| 369 | .. date: 2019-12-05-02-02-58 |
| 370 | .. nonce: 212Th2 |
| 371 | .. section: Library |
| 372 | |
| 373 | Added ability to pass through ``ensure_ascii`` options to json.dumps in the |
| 374 | ``json.tool`` command-line interface. |
| 375 | |
| 376 | .. |
| 377 | |
| 378 | .. bpo: 38634 |
| 379 | .. date: 2019-12-04-15-56-28 |
| 380 | .. nonce: pq0ZWa |
| 381 | .. section: Library |
| 382 | |
| 383 | The :mod:`readline` module now detects if Python is linked to libedit at |
| 384 | runtime on all platforms. Previously, the check was only done on macOS. |
| 385 | |
| 386 | .. |
| 387 | |
| 388 | .. bpo: 33684 |
| 389 | .. date: 2019-12-04-15-28-40 |
| 390 | .. nonce: QeSmQP |
| 391 | .. section: Library |
| 392 | |
| 393 | Fix ``json.tool`` failed to read a JSON file with non-ASCII characters when |
| 394 | locale encoding is not UTF-8. |
| 395 | |
| 396 | .. |
| 397 | |
| 398 | .. bpo: 38698 |
| 399 | .. date: 2019-12-02-10-35-19 |
| 400 | .. nonce: WZnAPQ |
| 401 | .. section: Library |
| 402 | |
toonarmycaptain | dd117c3 | 2019-12-25 05:25:36 -0600 | [diff] [blame] | 403 | Prevent UnboundLocalError to pop up in parse_message_id. |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 404 | |
| 405 | parse_message_id() was improperly using a token defined inside an exception |
| 406 | handler, which was raising `UnboundLocalError` on parsing an invalid value. |
| 407 | Patch by Claudiu Popa. |
| 408 | |
| 409 | .. |
| 410 | |
| 411 | .. bpo: 38927 |
| 412 | .. date: 2019-11-27-17-47-00 |
| 413 | .. nonce: qT7xKY |
| 414 | .. section: Library |
| 415 | |
| 416 | Use ``python -m pip`` instead of ``pip`` to upgrade dependencies in venv. |
| 417 | |
| 418 | .. |
| 419 | |
| 420 | .. bpo: 26730 |
| 421 | .. date: 2019-11-27-16-30-02 |
| 422 | .. nonce: 56cdBn |
| 423 | .. section: Library |
| 424 | |
| 425 | Fix ``SpooledTemporaryFile.rollover()`` might corrupt the file when it is in |
| 426 | text mode. Patch by Serhiy Storchaka. |
| 427 | |
| 428 | .. |
| 429 | |
| 430 | .. bpo: 38881 |
| 431 | .. date: 2019-11-22-20-03-46 |
| 432 | .. nonce: 7HV1Q0 |
| 433 | .. section: Library |
| 434 | |
| 435 | random.choices() now raises a ValueError when all the weights are zero. |
| 436 | |
| 437 | .. |
| 438 | |
| 439 | .. bpo: 38876 |
| 440 | .. date: 2019-11-22-10-58-58 |
| 441 | .. nonce: qqy1Vp |
| 442 | .. section: Library |
| 443 | |
| 444 | Raise pickle.UnpicklingError when loading an item from memo for invalid |
toonarmycaptain | dd117c3 | 2019-12-25 05:25:36 -0600 | [diff] [blame] | 445 | input. |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 446 | |
| 447 | The previous code was raising a `KeyError` for both the Python and C |
| 448 | implementation. This was caused by the specified index of an invalid input |
| 449 | which did not exist in the memo structure, where the pickle stores what |
| 450 | objects it has seen. The malformed input would have caused either a `BINGET` |
| 451 | or `LONG_BINGET` load from the memo, leading to a `KeyError` as the |
| 452 | determined index was bogus. Patch by Claudiu Popa |
| 453 | |
| 454 | .. |
| 455 | |
Chandan Singh | 075ebad | 2020-01-06 15:18:16 +0000 | [diff] [blame] | 456 | .. bpo: 38688 |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 457 | .. date: 2019-11-22-10-45-03 |
| 458 | .. nonce: iKx23z |
| 459 | .. section: Library |
| 460 | |
| 461 | Calling func:`shutil.copytree` to copy a directory tree from one directory |
| 462 | to another subdirectory resulted in an endless loop and a RecursionError. A |
| 463 | fix was added to consume an iterator and create the list of the entries to |
| 464 | be copied, avoiding the recursion for newly created directories. Patch by |
| 465 | Bruno P. Kinoshita. |
| 466 | |
| 467 | .. |
| 468 | |
| 469 | .. bpo: 38863 |
| 470 | .. date: 2019-11-21-16-30-00 |
| 471 | .. nonce: RkdTjf |
| 472 | .. section: Library |
| 473 | |
| 474 | Improve :func:`is_cgi` function in :mod:`http.server`, which enables |
| 475 | processing the case that cgi directory is a child of another directory other |
| 476 | than root. |
| 477 | |
| 478 | .. |
| 479 | |
| 480 | .. bpo: 37838 |
| 481 | .. date: 2019-11-21-11-39-17 |
| 482 | .. nonce: lRFcEC |
| 483 | .. section: Library |
| 484 | |
| 485 | :meth:`typing.get_type_hints` properly handles functions decorated with |
| 486 | :meth:`functools.wraps`. |
| 487 | |
| 488 | .. |
| 489 | |
| 490 | .. bpo: 38870 |
| 491 | .. date: 2019-11-20-22-43-48 |
| 492 | .. nonce: rLVZEv |
| 493 | .. section: Library |
| 494 | |
| 495 | Expose :func:`ast.unparse` as a function of the :mod:`ast` module that can |
| 496 | be used to unparse an :class:`ast.AST` object and produce a string with code |
| 497 | that would produce an equivalent :class:`ast.AST` object when parsed. Patch |
| 498 | by Pablo Galindo and Batuhan Taskaya. |
| 499 | |
| 500 | .. |
| 501 | |
| 502 | .. bpo: 38859 |
| 503 | .. date: 2019-11-19-16-30-46 |
| 504 | .. nonce: AZUzL8 |
| 505 | .. section: Library |
| 506 | |
toonarmycaptain | dd117c3 | 2019-12-25 05:25:36 -0600 | [diff] [blame] | 507 | AsyncMock now returns StopAsyncIteration on the exhaustion of a side_effects |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 508 | iterable. Since PEP-479 its Impossible to raise a StopIteration exception |
| 509 | from a coroutine. |
| 510 | |
| 511 | .. |
| 512 | |
| 513 | .. bpo: 38857 |
| 514 | .. date: 2019-11-19-16-28-25 |
| 515 | .. nonce: YPUkU9 |
| 516 | .. section: Library |
| 517 | |
| 518 | AsyncMock fix for return values that are awaitable types. This also covers |
Gurupad Hegde | 6c7bb38 | 2019-12-28 17:16:02 -0500 | [diff] [blame] | 519 | side_effect iterable values that happened to be awaitable, and wraps |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 520 | callables that return an awaitable type. Before these awaitables were being |
| 521 | awaited instead of being returned as is. |
| 522 | |
| 523 | .. |
| 524 | |
| 525 | .. bpo: 38834 |
| 526 | .. date: 2019-11-18-17-08-23 |
| 527 | .. nonce: abcdef |
| 528 | .. section: Library |
| 529 | |
| 530 | :class:`typing.TypedDict` subclasses now track which keys are optional using |
| 531 | the ``__required_keys__`` and ``__optional_keys__`` attributes, to enable |
| 532 | runtime validation by downstream projects. Patch by Zac Hatfield-Dodds. |
| 533 | |
| 534 | .. |
| 535 | |
| 536 | .. bpo: 38821 |
| 537 | .. date: 2019-11-16-23-26-25 |
| 538 | .. nonce: -albNN |
| 539 | .. section: Library |
| 540 | |
| 541 | Fix unhandled exceptions in :mod:`argparse` when internationalizing error |
| 542 | messages for arguments with ``nargs`` set to special (non-integer) values. |
| 543 | Patch by Federico Bond. |
| 544 | |
| 545 | .. |
| 546 | |
| 547 | .. bpo: 38820 |
| 548 | .. date: 2019-11-16-16-09-07 |
| 549 | .. nonce: ivhUSV |
| 550 | .. section: Library |
| 551 | |
| 552 | Make Python compatible with OpenSSL 3.0.0. :func:`ssl.SSLSocket.getpeercert` |
| 553 | no longer returns IPv6 addresses with a trailing new line. |
| 554 | |
| 555 | .. |
| 556 | |
| 557 | .. bpo: 38811 |
| 558 | .. date: 2019-11-15-18-06-04 |
| 559 | .. nonce: AmdQ6M |
| 560 | .. section: Library |
| 561 | |
| 562 | Fix an unhandled exception in :mod:`pathlib` when :meth:`os.link` is |
| 563 | missing. Patch by Toke Høiland-Jørgensen. |
| 564 | |
| 565 | .. |
| 566 | |
| 567 | .. bpo: 38686 |
| 568 | .. date: 2019-11-06-15-26-15 |
| 569 | .. nonce: HNFBce |
| 570 | .. section: Library |
| 571 | |
| 572 | Added support for multiple ``qop`` values in |
| 573 | :class:`urllib.request.AbstractDigestAuthHandler`. |
| 574 | |
| 575 | .. |
| 576 | |
| 577 | .. bpo: 38712 |
| 578 | .. date: 2019-11-05-21-10-12 |
| 579 | .. nonce: ezJ0TP |
| 580 | .. section: Library |
| 581 | |
| 582 | Add the Linux-specific :func:`signal.pidfd_send_signal` function, which |
| 583 | allows sending a signal to a process identified by a file descriptor rather |
| 584 | than a pid. |
| 585 | |
| 586 | .. |
| 587 | |
| 588 | .. bpo: 38348 |
| 589 | .. date: 2019-10-02-18-15-28 |
| 590 | .. nonce: _-5eq2 |
| 591 | .. section: Library |
| 592 | |
| 593 | Add ``-i`` and ``--indent`` (indentation level), and ``--no-type-comments`` |
| 594 | (type comments) command line options to ast parsing tool. |
| 595 | |
| 596 | .. |
| 597 | |
| 598 | .. bpo: 37523 |
| 599 | .. date: 2019-10-02-02-55-37 |
| 600 | .. nonce: GguwJ6 |
| 601 | .. section: Library |
| 602 | |
| 603 | Change :class:`zipfile.ZipExtFile` to raise ``ValueError`` when trying to |
| 604 | access the underlying file object after it has been closed. This new |
| 605 | behavior is consistent with how accessing closed files is handled in other |
| 606 | parts of Python. |
| 607 | |
| 608 | .. |
| 609 | |
| 610 | .. bpo: 38045 |
| 611 | .. date: 2019-09-30-12-09-41 |
| 612 | .. nonce: VDRtd3 |
| 613 | .. section: Library |
| 614 | |
| 615 | Improve the performance of :func:`enum._decompose` in :mod:`enum`. Patch by |
| 616 | hongweipeng. |
| 617 | |
| 618 | .. |
| 619 | |
| 620 | .. bpo: 36820 |
| 621 | .. date: 2019-05-06-15-34-17 |
| 622 | .. nonce: Eh5mIB |
| 623 | .. section: Library |
| 624 | |
| 625 | Break cycle generated when saving an exception in socket.py, codeop.py and |
| 626 | dyld.py as they keep alive not only the exception but user objects through |
| 627 | the ``__traceback__`` attribute. Patch by Mario Corchero. |
| 628 | |
| 629 | .. |
| 630 | |
| 631 | .. bpo: 36406 |
| 632 | .. date: 2019-03-24-12-12-27 |
| 633 | .. nonce: mCEkOl |
| 634 | .. section: Library |
| 635 | |
| 636 | Handle namespace packages in :mod:`doctest`. Patch by Karthikeyan |
| 637 | Singaravelan. |
| 638 | |
| 639 | .. |
| 640 | |
| 641 | .. bpo: 34776 |
| 642 | .. date: 2018-09-23-14-24-37 |
| 643 | .. nonce: 1SrQe3 |
| 644 | .. section: Library |
| 645 | |
| 646 | Fix dataclasses to support forward references in type annotations |
| 647 | |
| 648 | .. |
| 649 | |
| 650 | .. bpo: 20928 |
| 651 | .. date: 2018-03-30-16-18-12 |
| 652 | .. nonce: ieXu6I |
| 653 | .. section: Library |
| 654 | |
| 655 | ElementTree supports recursive XInclude processing. Patch by Stefan Behnel. |
| 656 | |
| 657 | .. |
| 658 | |
| 659 | .. bpo: 29636 |
| 660 | .. date: 2018-02-22-11-24-33 |
| 661 | .. nonce: ogGRE2 |
| 662 | .. section: Library |
| 663 | |
| 664 | Add whitespace options for formatting JSON with the ``json.tool`` CLI. The |
| 665 | following mutually exclusive options are now supported: ``--indent`` for |
| 666 | setting the indent level in spaces; ``--tab`` for indenting with tabs; |
| 667 | ``--no-indent`` for suppressing newlines; and ``--compact`` for suppressing |
| 668 | all whitespace. The default behavior remains the same as ``--indent=4``. |
| 669 | |
| 670 | .. |
| 671 | |
| 672 | .. bpo: 38928 |
| 673 | .. date: 2019-11-27-17-51-27 |
| 674 | .. nonce: AfgvfO |
| 675 | .. section: Documentation |
| 676 | |
| 677 | Correct when venv's ``upgrade_dependencies()`` and ``--upgrade-deps`` are |
| 678 | added. |
| 679 | |
| 680 | .. |
| 681 | |
| 682 | .. bpo: 38899 |
| 683 | .. date: 2019-11-22-15-57-29 |
| 684 | .. nonce: 4aYPW2 |
| 685 | .. section: Documentation |
| 686 | |
| 687 | Update documentation to state that to activate virtual environments under |
| 688 | fish one should use `source`, not `.` as documented at |
| 689 | https://fishshell.com/docs/current/commands.html#source. |
| 690 | |
| 691 | .. |
| 692 | |
| 693 | .. bpo: 22377 |
| 694 | .. date: 2019-10-01-10-53-46 |
| 695 | .. nonce: 5ni-iC |
| 696 | .. section: Documentation |
| 697 | |
| 698 | Improves documentation of the values that :meth:`datetime.datetime.strptime` |
| 699 | accepts for ``%Z``. Patch by Karl Dubost. |
| 700 | |
| 701 | .. |
| 702 | |
| 703 | .. bpo: 38546 |
| 704 | .. date: 2019-12-18-14-52-08 |
| 705 | .. nonce: 2kxNuM |
| 706 | .. section: Tests |
| 707 | |
| 708 | Fix test_ressources_gced_in_workers() of test_concurrent_futures: explicitly |
| 709 | stop the manager to prevent leaking a child process running in the |
| 710 | background after the test completes. |
| 711 | |
| 712 | .. |
| 713 | |
| 714 | .. bpo: 38546 |
| 715 | .. date: 2019-12-17-15-27-07 |
| 716 | .. nonce: 82JwN2 |
| 717 | .. section: Tests |
| 718 | |
| 719 | Multiprocessing and concurrent.futures tests now stop the resource tracker |
| 720 | process when tests complete. |
| 721 | |
| 722 | .. |
| 723 | |
| 724 | .. bpo: 38614 |
| 725 | .. date: 2019-12-10-14-26-23 |
| 726 | .. nonce: 89JpNh |
| 727 | .. section: Tests |
| 728 | |
| 729 | Replace hardcoded timeout constants in tests with new :mod:`test.support` |
| 730 | constants: :data:`~test.support.LOOPBACK_TIMEOUT`, |
| 731 | :data:`~test.support.INTERNET_TIMEOUT`, :data:`~test.support.SHORT_TIMEOUT` |
| 732 | and :data:`~test.support.LONG_TIMEOUT`. It becomes easier to adjust these |
| 733 | four timeout constants for all tests at once, rather than having to adjust |
| 734 | every single test file. |
| 735 | |
| 736 | .. |
| 737 | |
| 738 | .. bpo: 38547 |
| 739 | .. date: 2019-12-09-11-32-34 |
| 740 | .. nonce: Juw54e |
| 741 | .. section: Tests |
| 742 | |
| 743 | Fix test_pty: if the process is the session leader, closing the master file |
| 744 | descriptor raises a SIGHUP signal: simply ignore SIGHUP when running the |
| 745 | tests. |
| 746 | |
| 747 | .. |
| 748 | |
| 749 | .. bpo: 38992 |
| 750 | .. date: 2019-12-08-15-11-06 |
| 751 | .. nonce: cVoHOZ |
| 752 | .. section: Tests |
| 753 | |
| 754 | Fix a test for :func:`math.fsum` that was failing due to constant folding. |
| 755 | |
| 756 | .. |
| 757 | |
| 758 | .. bpo: 38991 |
| 759 | .. date: 2019-12-07-00-52-09 |
| 760 | .. nonce: JE3_o- |
| 761 | .. section: Tests |
| 762 | |
| 763 | :mod:`test.support`: :func:`~test.support.run_python_until_end`, |
| 764 | :func:`~test.support.assert_python_ok` and |
| 765 | :func:`~test.support.assert_python_failure` functions no longer strip |
| 766 | whitespaces from stderr. Remove ``test.support.strip_python_stderr()`` |
| 767 | function. |
| 768 | |
| 769 | .. |
| 770 | |
| 771 | .. bpo: 38965 |
| 772 | .. date: 2019-12-04-17-08-55 |
| 773 | .. nonce: yqax3m |
| 774 | .. section: Tests |
| 775 | |
| 776 | Fix test_faulthandler on GCC 10. Use the "volatile" keyword in |
| 777 | ``faulthandler._stack_overflow()`` to prevent tail call optimization on any |
| 778 | compiler, rather than relying on compiler specific pragma. |
| 779 | |
| 780 | .. |
| 781 | |
| 782 | .. bpo: 38875 |
| 783 | .. date: 2019-11-21-09-11-06 |
| 784 | .. nonce: wSZJal |
| 785 | .. section: Tests |
| 786 | |
| 787 | test_capi: trashcan tests now require the test "cpu" resource. |
| 788 | |
| 789 | .. |
| 790 | |
| 791 | .. bpo: 38841 |
| 792 | .. date: 2019-11-20-16-08-19 |
| 793 | .. nonce: 5F5Lbw |
| 794 | .. section: Tests |
| 795 | |
| 796 | Skip asyncio test_create_datagram_endpoint_existing_sock_unix on platforms |
| 797 | lacking a functional bind() for named unix domain sockets. |
| 798 | |
| 799 | .. |
| 800 | |
| 801 | .. bpo: 38692 |
| 802 | .. date: 2019-11-20-15-42-06 |
| 803 | .. nonce: aqAvyF |
| 804 | .. section: Tests |
| 805 | |
| 806 | Skip the test_posix.test_pidfd_open() test if ``os.pidfd_open()`` fails with |
| 807 | a :exc:`PermissionError`. This situation can happen in a Linux sandbox using |
| 808 | a syscall whitelist which doesn't allow the ``pidfd_open()`` syscall yet. |
| 809 | |
| 810 | .. |
| 811 | |
| 812 | .. bpo: 38839 |
| 813 | .. date: 2019-11-18-22-10-55 |
| 814 | .. nonce: di6tXv |
| 815 | .. section: Tests |
| 816 | |
| 817 | Fix some unused functions in tests. Patch by Adam Johnson. |
| 818 | |
| 819 | .. |
| 820 | |
| 821 | .. bpo: 38669 |
| 822 | .. date: 2019-11-04-02-54-16 |
| 823 | .. nonce: pazXZ8 |
| 824 | .. section: Tests |
| 825 | |
| 826 | Raise :exc:`TypeError` when passing target as a string with |
| 827 | :meth:`unittest.mock.patch.object`. |
| 828 | |
| 829 | .. |
| 830 | |
| 831 | .. bpo: 37957 |
| 832 | .. date: 2019-10-30-00-01-43 |
| 833 | .. nonce: X1r78F |
| 834 | .. section: Tests |
| 835 | |
| 836 | test.regrtest now can receive a list of test patterns to ignore (using the |
| 837 | -i/--ignore argument) or a file with a list of patterns to ignore (using the |
| 838 | --ignore-file argument). Patch by Pablo Galindo. |
| 839 | |
| 840 | .. |
| 841 | |
| 842 | .. bpo: 37404 |
| 843 | .. date: 2019-12-01-21-45-24 |
| 844 | .. nonce: cNsA7S |
| 845 | .. section: Build |
| 846 | |
| 847 | :mod:`asyncio` now raises :exc:`TyperError` when calling incompatible |
| 848 | methods with an :class:`ssl.SSLSocket` socket. Patch by Ido Michael. |
| 849 | |
| 850 | .. |
| 851 | |
| 852 | .. bpo: 36500 |
| 853 | .. date: 2019-04-02-01-59-26 |
| 854 | .. nonce: fyG6_U |
| 855 | .. section: Build |
| 856 | |
| 857 | Added an optional "regen" project to the Visual Studio solution that will |
| 858 | regenerate all grammar, tokens, and opcodes. |
| 859 | |
| 860 | .. |
| 861 | |
| 862 | .. bpo: 39007 |
| 863 | .. date: 2019-12-09-10-40-34 |
| 864 | .. nonce: vtarxo |
| 865 | .. section: Windows |
| 866 | |
| 867 | Add auditing events to functions in :mod:`winreg`. |
| 868 | |
| 869 | .. |
| 870 | |
| 871 | .. bpo: 33125 |
| 872 | .. date: 2019-11-14-08-57-50 |
| 873 | .. nonce: EN5MWS |
| 874 | .. section: Windows |
| 875 | |
| 876 | Add support for building and releasing Windows ARM64 packages. |
| 877 | |
| 878 | .. |
| 879 | |
| 880 | .. bpo: 37931 |
| 881 | .. date: 2019-08-23-12-14-34 |
| 882 | .. nonce: goYgQj |
| 883 | .. section: macOS |
| 884 | |
| 885 | Fixed a crash on OSX dynamic builds that occurred when re-initializing the |
| 886 | posix module after a Py_Finalize if the environment had changed since the |
| 887 | previous `import posix`. Patch by Benoît Hudson. |
| 888 | |
| 889 | .. |
| 890 | |
| 891 | .. bpo: 38944 |
| 892 | .. date: 2019-11-30-12-10-36 |
| 893 | .. nonce: _3xjKG |
| 894 | .. section: IDLE |
| 895 | |
Gurupad Hegde | 6c7bb38 | 2019-12-28 17:16:02 -0500 | [diff] [blame] | 896 | Escape key now closes IDLE completion windows. Patch by Johnny Najera. |
Łukasz Langa | 6202d85 | 2019-12-18 22:09:19 +0100 | [diff] [blame] | 897 | |
| 898 | .. |
| 899 | |
| 900 | .. bpo: 38943 |
| 901 | .. date: 2019-11-29-23-44-11 |
| 902 | .. nonce: 8pUKKs |
| 903 | .. section: IDLE |
| 904 | |
| 905 | Fix IDLE autocomplete windows not always appearing on some systems. Patch by |
| 906 | Johnny Najera. |
| 907 | |
| 908 | .. |
| 909 | |
| 910 | .. bpo: 38862 |
| 911 | .. date: 2019-11-23-21-50-57 |
| 912 | .. nonce: KQ9A0m |
| 913 | .. section: IDLE |
| 914 | |
| 915 | 'Strip Trailing Whitespace' on the Format menu removes extra newlines at the |
| 916 | end of non-shell files. |
| 917 | |
| 918 | .. |
| 919 | |
| 920 | .. bpo: 38636 |
| 921 | .. date: 2019-10-30-22-11-16 |
| 922 | .. nonce: hUhDeB |
| 923 | .. section: IDLE |
| 924 | |
| 925 | Fix IDLE Format menu tab toggle and file indent width. These functions |
| 926 | (default shortcuts Alt-T and Alt-U) were mistakenly disabled in 3.7.5 and |
| 927 | 3.8.0. |
| 928 | |
| 929 | .. |
| 930 | |
| 931 | .. bpo: 38896 |
| 932 | .. date: 2019-11-22-19-43-43 |
| 933 | .. nonce: 6wvNMJ |
| 934 | .. section: C API |
| 935 | |
| 936 | Remove ``PyUnicode_ClearFreeList()`` function: the Unicode free list has |
| 937 | been removed in Python 3.3. |
| 938 | |
| 939 | .. |
| 940 | |
| 941 | .. bpo: 37340 |
| 942 | .. date: 2019-11-20-11-08-06 |
| 943 | .. nonce: JBQJMS |
| 944 | .. section: C API |
| 945 | |
| 946 | Remove ``PyMethod_ClearFreeList()`` and ``PyCFunction_ClearFreeList()`` |
| 947 | functions: the free lists of bound method objects have been removed. |
| 948 | |
| 949 | .. |
| 950 | |
| 951 | .. bpo: 38835 |
| 952 | .. date: 2019-11-18-15-38-23 |
| 953 | .. nonce: II8Szd |
| 954 | .. section: C API |
| 955 | |
| 956 | Exclude ``PyFPE_START_PROTECT()`` and ``PyFPE_END_PROTECT()`` macros of |
| 957 | ``pyfpe.h`` from ``Py_LIMITED_API`` (stable API). |