1 .. bpo: 17239 2 .. date: 2018-09-11-18-30-55 3 .. nonce: kOpwK2 4 .. release date: 2018-09-26 5 .. section: Security 6 7 The xml.sax and xml.dom.minidom parsers no longer processes external 8 entities by default. External DTD and ENTITY declarations no longer load 9 files or create network connections. 10 11 .. 12 13 .. bpo: 34623 14 .. date: 2018-09-10-16-05-39 15 .. nonce: Ua9jMv 16 .. section: Security 17 18 CVE-2018-14647: The C accelerated _elementtree module now initializes hash 19 randomization salt from _Py_HashSecret instead of libexpat's default CSPRNG. 20 21 .. 22 23 .. bpo: 34405 24 .. date: 2018-08-15-12-12-47 25 .. nonce: qbHTH_ 26 .. section: Security 27 28 Updated to OpenSSL 1.1.0i for Windows builds. 29 30 .. 31 32 .. bpo: 33871 33 .. date: 2018-06-26-19-35-33 34 .. nonce: S4HR9n 35 .. section: Security 36 37 Fixed sending the part of the file in :func:`os.sendfile` on macOS. Using 38 the *trailers* argument could cause sending more bytes from the input file 39 than was specified. 40 41 .. 42 43 .. bpo: 32533 44 .. date: 2018-05-28-08-55-30 45 .. nonce: IzwkBI 46 .. section: Security 47 48 Fixed thread-safety of error handling in _ssl. 49 50 .. 51 52 .. bpo: 34783 53 .. date: 2018-09-24-11-31-23 54 .. nonce: O79cwo 55 .. section: Core and Builtins 56 57 Fix a crash with musl libc (on Alpine Linux) when the script filename 58 specified on the command line doesn't exist. 59 60 .. 61 62 .. bpo: 34762 63 .. date: 2018-09-21-11-06-56 64 .. nonce: 1nN53m 65 .. section: Core and Builtins 66 67 Fix contextvars C API to use PyObject* pointer types. 68 69 .. 70 71 .. bpo: 34735 72 .. date: 2018-09-19-06-57-34 73 .. nonce: -3mrSJ 74 .. section: Core and Builtins 75 76 Fix a memory leak in Modules/timemodule.c. Patch by Zackery Spytz. 77 78 .. 79 80 .. bpo: 34588 81 .. date: 2018-09-05-22-56-52 82 .. nonce: UIuPmL 83 .. section: Core and Builtins 84 85 Fix an off-by-one in the recursive call pruning feature of traceback 86 formatting. 87 88 .. 89 90 .. bpo: 34485 91 .. date: 2018-08-29-09-27-47 92 .. nonce: 5aJCmw 93 .. section: Core and Builtins 94 95 Standard streams like sys.stdout now use the "surrogateescape" error 96 handler, instead of "strict", on the POSIX locale (when the C locale is not 97 coerced and the UTF-8 Mode is disabled). 98 99 .. 100 101 .. bpo: 34485 102 .. date: 2018-08-28-23-01-14 103 .. nonce: dq1Kqk 104 .. section: Core and Builtins 105 106 Fix the error handler of standard streams like sys.stdout: 107 PYTHONIOENCODING=":" is now ignored instead of setting the error handler to 108 "strict". 109 110 .. 111 112 .. bpo: 34527 113 .. date: 2018-08-28-11-53-39 114 .. nonce: aBEX9b 115 .. section: Core and Builtins 116 117 On FreeBSD, Py_DecodeLocale() and Py_EncodeLocale() now also forces the 118 ASCII encoding if the LC_CTYPE locale is "POSIX", not only if the LC_CTYPE 119 locale is "C". 120 121 .. 122 123 .. bpo: 34527 124 .. date: 2018-08-28-11-52-13 125 .. nonce: sh5MQJ 126 .. section: Core and Builtins 127 128 The UTF-8 Mode is now also enabled by the "POSIX" locale, not only by the 129 "C" locale. 130 131 .. 132 133 .. bpo: 34400 134 .. date: 2018-08-14-03-52-43 135 .. nonce: AJD0bz 136 .. section: Core and Builtins 137 138 Fix undefined behavior in parsetok.c. Patch by Zackery Spytz. 139 140 .. 141 142 .. bpo: 34377 143 .. date: 2018-08-10-15-05-00 144 .. nonce: EJMMY4 145 .. section: Core and Builtins 146 147 Update valgrind suppression list to use 148 ``_PyObject_Free``/``_PyObject_Realloc`` instead of 149 ``PyObject_Free``/``PyObject_Realloc``. 150 151 .. 152 153 .. bpo: 34170 154 .. date: 2018-08-03-21-59-06 155 .. nonce: v1h_H2 156 .. section: Core and Builtins 157 158 -X dev: it is now possible to override the memory allocator using 159 PYTHONMALLOC even if the developer mode is enabled. 160 161 .. 162 163 .. bpo: 34126 164 .. date: 2018-07-16-20-55-29 165 .. nonce: mBVmgc 166 .. section: Core and Builtins 167 168 Fix crashes when profiling certain invalid calls of unbound methods. Patch 169 by Jeroen Demeyer. 170 171 .. 172 173 .. bpo: 24618 174 .. date: 2018-07-14-14-01-37 175 .. nonce: iTKjD_ 176 .. section: Core and Builtins 177 178 Fixed reading invalid memory when create the code object with too small 179 varnames tuple or too large argument counts. 180 181 .. 182 183 .. bpo: 34068 184 .. date: 2018-07-14-08-58-46 185 .. nonce: 9xfM55 186 .. section: Core and Builtins 187 188 In :meth:`io.IOBase.close`, ensure that the :attr:`~io.IOBase.closed` 189 attribute is not set with a live exception. Patch by Zackery Spytz and 190 Serhiy Storchaka. 191 192 .. 193 194 .. bpo: 34087 195 .. date: 2018-07-13-22-09-55 196 .. nonce: I1Bxfc 197 .. section: Core and Builtins 198 199 Fix buffer overflow while converting unicode to numeric values. 200 201 .. 202 203 .. bpo: 34080 204 .. date: 2018-07-10-11-24-16 205 .. nonce: 8t7PtO 206 .. section: Core and Builtins 207 208 Fixed a memory leak in the compiler when it raised some uncommon errors 209 during tokenizing. 210 211 .. 212 213 .. bpo: 34066 214 .. date: 2018-07-07-20-15-34 215 .. nonce: y9vs6s 216 .. section: Core and Builtins 217 218 Disabled interruption by Ctrl-C between calling ``open()`` and entering a 219 **with** block in ``with open()``. 220 221 .. 222 223 .. bpo: 34042 224 .. date: 2018-07-05-15-51-29 225 .. nonce: Gr9XUH 226 .. section: Core and Builtins 227 228 Fix dict.copy() to maintain correct total refcount (as reported by 229 sys.gettotalrefcount()). 230 231 .. 232 233 .. bpo: 33985 234 .. date: 2018-06-27-18-56-41 235 .. nonce: ILJ3Af 236 .. section: Core and Builtins 237 238 Implement contextvars.ContextVar.name attribute. 239 240 .. 241 242 .. bpo: 33956 243 .. date: 2018-06-25-20-42-44 244 .. nonce: 1qoTwD 245 .. section: Core and Builtins 246 247 Update vendored Expat library copy to version 2.2.5. 248 249 .. 250 251 .. bpo: 24596 252 .. date: 2018-06-25-16-54-05 253 .. nonce: Rkwova 254 .. section: Core and Builtins 255 256 Decref the module object in :c:func:`PyRun_SimpleFileExFlags` before calling 257 :c:func:`PyErr_Print()`. Patch by Zackery Spytz. 258 259 .. 260 261 .. bpo: 33451 262 .. date: 2018-06-23-15-32-02 263 .. nonce: sWN-1l 264 .. section: Core and Builtins 265 266 Close directly executed pyc files before calling ``PyEval_EvalCode()``. 267 268 .. 269 270 .. bpo: 33824 271 .. date: 2018-06-15-19-39-06 272 .. nonce: DfWHT3 273 .. section: Core and Builtins 274 275 Fix "LC_ALL=C python3.7 -V": reset properly the command line parser when the 276 encoding changes after reading the Python configuration. 277 278 .. 279 280 .. bpo: 25750 281 .. date: 2018-03-14-21-42-17 282 .. nonce: lxgkQz 283 .. section: Core and Builtins 284 285 Fix rare Python crash due to bad refcounting in ``type_getattro()`` if a 286 descriptor deletes itself from the class. Patch by Jeroen Demeyer. 287 288 .. 289 290 .. bpo: 31902 291 .. date: 2017-10-30-12-44-50 292 .. nonce: a07fa57 293 .. section: Core and Builtins 294 295 Fix the ``col_offset`` attribute for ast nodes ``ast.AsyncFor``, 296 ``ast.AsyncFunctionDef``, and ``ast.AsyncWith``. Previously, ``col_offset`` 297 pointed to the keyword after ``async``. 298 299 .. 300 301 .. bpo: 25862 302 .. date: 2017-10-07-10-13-15 303 .. nonce: FPYBA5 304 .. section: Core and Builtins 305 306 Fix assertion failures in the ``tell()`` method of ``io.TextIOWrapper``. 307 Patch by Zackery Spytz. 308 309 .. 310 311 .. bpo: 31577 312 .. date: 2017-09-25-20-36-24 313 .. nonce: jgYsSA 314 .. section: Core and Builtins 315 316 Fix a crash in `os.utime()` in case of a bad ns argument. Patch by Oren 317 Milman. 318 319 .. 320 321 .. bpo: 29577 322 .. date: 2018-09-14-20-00-47 323 .. nonce: RzwKFD 324 .. section: Library 325 326 Support multiple mixin classes when creating Enums. 327 328 .. 329 330 .. bpo: 34670 331 .. date: 2018-09-14-14-29-45 332 .. nonce: 17XwGB 333 .. section: Library 334 335 Add SSLContext.post_handshake_auth and 336 SSLSocket.verify_client_post_handshake for TLS 1.3's post handshake 337 authentication feature. 338 339 .. 340 341 .. bpo: 34658 342 .. date: 2018-09-13-03-59-43 343 .. nonce: ykZ-ia 344 .. section: Library 345 346 Fix a rare interpreter unhandled exception state SystemError only seen when 347 using subprocess with a preexec_fn while an after_parent handler has been 348 registered with os.register_at_fork and the fork system call fails. 349 350 .. 351 352 .. bpo: 34652 353 .. date: 2018-09-12-14-46-51 354 .. nonce: Rt1m1b 355 .. section: Library 356 357 Ensure :func:`os.lchmod` is never defined on Linux. 358 359 .. 360 361 .. bpo: 34363 362 .. date: 2018-09-10-21-09-34 363 .. nonce: YuSb0T 364 .. section: Library 365 366 dataclasses.asdict() and .astuple() now handle namedtuples correctly. 367 368 .. 369 370 .. bpo: 34625 371 .. date: 2018-09-10-17-46-51 372 .. nonce: D2YfDz 373 .. section: Library 374 375 Update vendorized expat library version to 2.2.6. 376 377 .. 378 379 .. bpo: 34621 380 .. date: 2018-09-10-15-54-58 381 .. nonce: Uqj5x3 382 .. section: Library 383 384 Fix un/pickling compatbility of uuid.UUID objects with older versions of 385 Python (<3.7). 386 387 .. 388 389 .. bpo: 32270 390 .. date: 2018-09-10-14-15-53 391 .. nonce: wSJjuD 392 .. section: Library 393 394 The subprocess module no longer mistakenly closes redirected fds even when 395 they were in pass_fds when outside of the default {0, 1, 2} set. 396 397 .. 398 399 .. bpo: 34610 400 .. date: 2018-09-08-12-57-07 401 .. nonce: wmoP5j 402 .. section: Library 403 404 Fixed iterator of :class:`multiprocessing.managers.DictProxy`. 405 406 .. 407 408 .. bpo: 34421 409 .. date: 2018-09-07-10-57-00 410 .. nonce: AKJISD 411 .. section: Library 412 413 Fix distutils logging for non-ASCII strings. This caused installation 414 issues on Windows. 415 416 .. 417 418 .. bpo: 34604 419 .. date: 2018-09-07-10-16-34 420 .. nonce: xL7-kG 421 .. section: Library 422 423 Fix possible mojibake in the error message of `pwd.getpwnam` and 424 `grp.getgrnam`. Patch by William Grzybowski. 425 426 .. 427 428 .. bpo: 34530 429 .. date: 2018-09-03-23-23-32 430 .. nonce: h_Xsu7 431 .. section: Library 432 433 ``distutils.spawn.find_executable()`` now falls back on :data:`os.defpath` 434 if the ``PATH`` environment variable is not set. 435 436 .. 437 438 .. bpo: 34282 439 .. date: 2018-09-02-13-33-35 440 .. nonce: ztyXH8 441 .. section: Library 442 443 Fix enum members getting shadowed by parent attributes. 444 445 .. 446 447 .. bpo: 34563 448 .. date: 2018-09-01-20-43-10 449 .. nonce: 7NQK7B 450 .. section: Library 451 452 On Windows, fix multiprocessing.Connection for very large read: fix 453 _winapi.PeekNamedPipe() and _winapi.ReadFile() for read larger than INT_MAX 454 (usually 2^31-1). 455 456 .. 457 458 .. bpo: 34558 459 .. date: 2018-08-31-19-26-55 460 .. nonce: MHv582 461 .. section: Library 462 463 Correct typo in Lib/ctypes/_aix.py 464 465 .. 466 467 .. bpo: 34515 468 .. date: 2018-08-27-16-01-22 469 .. nonce: S0Irst 470 .. section: Library 471 472 Fix parsing non-ASCII identifiers in :mod:`lib2to3.pgen2.tokenize` (PEP 473 3131). 474 475 .. 476 477 .. bpo: 13312 478 .. date: 2018-08-24-17-31-27 479 .. nonce: 6hA5La 480 .. section: Library 481 482 Avoids a possible integer underflow (undefined behavior) in the time 483 module's year handling code when passed a very low negative year value. 484 485 .. 486 487 .. bpo: 34472 488 .. date: 2018-08-23-09-25-08 489 .. nonce: cGyYrO 490 .. section: Library 491 492 Improved compatibility for streamed files in :mod:`zipfile`. Previously an 493 optional signature was not being written and certain ZIP applications were 494 not supported. Patch by Silas Sewell. 495 496 .. 497 498 .. bpo: 34454 499 .. date: 2018-08-22-21-59-08 500 .. nonce: z7uG4b 501 .. section: Library 502 503 Fix the .fromisoformat() methods of datetime types crashing when given 504 unicode with non-UTF-8-encodable code points. Specifically, 505 datetime.fromisoformat() now accepts surrogate unicode code points used as 506 the separator. Report and tests by Alexey Izbyshev, patch by Paul Ganssle. 507 508 .. 509 510 .. bpo: 6700 511 .. date: 2018-08-22-17-43-52 512 .. nonce: hp7C4B 513 .. section: Library 514 515 Fix inspect.getsourcelines for module level frames/tracebacks. Patch by 516 Vladimir Matveev. 517 518 .. 519 520 .. bpo: 34171 521 .. date: 2018-08-21-00-29-01 522 .. nonce: 6LkWav 523 .. section: Library 524 525 Running the :mod:`trace` module no longer creates the ``trace.cover`` file. 526 527 .. 528 529 .. bpo: 34441 530 .. date: 2018-08-20-16-48-32 531 .. nonce: _zx9lU 532 .. section: Library 533 534 Fix crash when an ``ABC``-derived class with invalid ``__subclasses__`` is 535 passed as the second argument to :func:`issubclass()`. Patch by Alexey 536 Izbyshev. 537 538 .. 539 540 .. bpo: 34341 541 .. date: 2018-08-06-11-01-18 542 .. nonce: E0b9p2 543 .. section: Library 544 545 Appending to the ZIP archive with the ZIP64 extension no longer grows the 546 size of extra fields of existing entries. 547 548 .. 549 550 .. bpo: 34333 551 .. date: 2018-08-04-00-06-28 552 .. nonce: 5NHG93 553 .. section: Library 554 555 Fix %-formatting in :meth:`pathlib.PurePath.with_suffix` when formatting an 556 error message. 557 558 .. 559 560 .. bpo: 18540 561 .. date: 2018-08-02-21-28-38 562 .. nonce: AryoYY 563 .. section: Library 564 565 The :class:`imaplib.IMAP4` and :class:`imaplib.IMAP4_SSL` classes now 566 resolve to the local host IP correctly when the default value of *host* 567 parameter (``''``) is used. 568 569 .. 570 571 .. bpo: 34246 572 .. date: 2018-07-29-15-25-15 573 .. nonce: xiKq-Q 574 .. section: Library 575 576 :meth:`smtplib.SMTP.send_message` no longer modifies the content of the 577 *mail_options* argument. Patch by Pablo S. Blum de Aguiar. 578 579 .. 580 581 .. bpo: 31047 582 .. date: 2018-07-29-14-12-23 583 .. nonce: FSarLs 584 .. section: Library 585 586 Fix ``ntpath.abspath`` for invalid paths on windows. Patch by Franz 587 Woellert. 588 589 .. 590 591 .. bpo: 34263 592 .. date: 2018-07-28-17-00-36 593 .. nonce: zUfRsu 594 .. section: Library 595 596 asyncio's event loop will not pass timeouts longer than one day to 597 epoll/select etc. 598 599 .. 600 601 .. bpo: 34035 602 .. date: 2018-07-28-15-00-31 603 .. nonce: 75nW0H 604 .. section: Library 605 606 Fix several AttributeError in zipfile seek() methods. Patch by Mickal 607 Schoentgen. 608 609 .. 610 611 .. bpo: 32215 612 .. date: 2018-07-28-12-08-53 613 .. nonce: EU68SY 614 .. section: Library 615 616 Fix performance regression in :mod:`sqlite3` when a DML statement appeared 617 in a different line than the rest of the SQL query. 618 619 .. 620 621 .. bpo: 34251 622 .. date: 2018-07-28-11-47-10 623 .. nonce: q3elQ6 624 .. section: Library 625 626 Restore ``msilib.Win64`` to preserve backwards compatibility since it's 627 already used by :mod:`distutils`' ``bdist_msi`` command. 628 629 .. 630 631 .. bpo: 19891 632 .. date: 2018-07-26-08-45-49 633 .. nonce: Y-3IiB 634 .. section: Library 635 636 Ignore errors caused by missing / non-writable homedir while writing history 637 during exit of an interactive session. Patch by Anthony Sottile. 638 639 .. 640 641 .. bpo: 34213 642 .. date: 2018-07-25-00-40-14 643 .. nonce: O15MgP 644 .. section: Library 645 646 Allow frozen dataclasses to have a field named "object". Previously this 647 conflicted with an internal use of "object". 648 649 .. 650 651 .. bpo: 21446 652 .. date: 2018-07-22-09-05-01 653 .. nonce: w6g7tn 654 .. section: Library 655 656 The :2to3fixer:`reload` fixer now uses :func:`importlib.reload` instead of 657 deprecated :func:`imp.reload`. 658 659 .. 660 661 .. bpo: 940286 662 .. date: 2018-07-22-07-59-32 663 .. nonce: NZTzyc 664 .. section: Library 665 666 pydoc's ``Helper.showtopic()`` method now prints the cross references of a 667 topic correctly. 668 669 .. 670 671 .. bpo: 34164 672 .. date: 2018-07-20-18-06-00 673 .. nonce: fNfT-q 674 .. section: Library 675 676 :func:`base64.b32decode` could raise UnboundLocalError or OverflowError for 677 incorrect padding. Now it always raises :exc:`base64.Error` in these cases. 678 679 .. 680 681 .. bpo: 33729 682 .. date: 2018-07-20-09-11-05 683 .. nonce: sO6iTb 684 .. section: Library 685 686 Fixed issues with arguments parsing in :mod:`hashlib`. 687 688 .. 689 690 .. bpo: 34108 691 .. date: 2018-07-13-08-44-52 692 .. nonce: RjobUC 693 .. section: Library 694 695 Remove extraneous CR in 2to3 refactor. 696 697 .. 698 699 .. bpo: 27494 700 .. date: 2018-07-11-10-03-21 701 .. nonce: 04OWkW 702 .. section: Library 703 704 Reverted :issue:`27494`. 2to3 rejects now a trailing comma in generator 705 expressions. 706 707 .. 708 709 .. bpo: 33967 710 .. date: 2018-07-08-18-49-41 711 .. nonce: lhaAez 712 .. section: Library 713 714 functools.singledispatch now raises TypeError instead of IndexError when no 715 positional arguments are passed. 716 717 .. 718 719 .. bpo: 34056 720 .. date: 2018-07-05-22-45-46 721 .. nonce: 86isrU 722 .. section: Library 723 724 Ensure the loader shim created by ``imp.load_module`` always returns bytes 725 from its ``get_data()`` function. This fixes using ``imp.load_module`` with 726 :pep:`552` hash-based pycs. 727 728 .. 729 730 .. bpo: 34054 731 .. date: 2018-07-05-18-37-05 732 .. nonce: nWRS6M 733 .. section: Library 734 735 The multiprocessing module now uses the monotonic clock 736 :func:`time.monotonic` instead of the system clock :func:`time.time` to 737 implement timeout. 738 739 .. 740 741 .. bpo: 34044 742 .. date: 2018-07-04-17-14-26 743 .. nonce: KWAu4y 744 .. section: Library 745 746 ``subprocess.Popen`` now copies the *startupinfo* argument to leave it 747 unchanged: it will modify the copy, so that the same ``STARTUPINFO`` object 748 can be used multiple times. 749 750 .. 751 752 .. bpo: 34010 753 .. date: 2018-07-04-07-36-53 754 .. nonce: VNDkde 755 .. section: Library 756 757 Fixed a performance regression for reading streams with tarfile. The 758 buffered read should use a list, instead of appending to a bytes object. 759 760 .. 761 762 .. bpo: 34019 763 .. date: 2018-07-02-05-59-11 764 .. nonce: ZXJIife 765 .. section: Library 766 767 webbrowser: Correct the arguments passed to Opera Browser when opening a new 768 URL using the ``webbrowser`` module. Patch by Bumsik Kim. 769 770 .. 771 772 .. bpo: 33978 773 .. date: 2018-06-29-12-23-34 774 .. nonce: y4csIw 775 .. section: Library 776 777 Closed existing logging handlers before reconfiguration via fileConfig and 778 dictConfig. Patch by Karthikeyan Singaravelan. 779 780 .. 781 782 .. bpo: 14117 783 .. date: 2018-06-29-00-31-36 784 .. nonce: 3nvDuR 785 .. section: Library 786 787 Make minor tweaks to turtledemo. The 'wikipedia' example is now 'rosette', 788 decribing what it draws. The 'penrose' print output is reduced. The'1024' 789 output of 'tree' is eliminated. 790 791 .. 792 793 .. bpo: 33974 794 .. date: 2018-06-28-14-56-44 795 .. nonce: SA8nNP 796 .. section: Library 797 798 Fixed passing lists and tuples of strings containing special characters 799 ``"``, ``\``, ``{``, ``}`` and ``\n`` as options to :mod:`~tkinter.ttk` 800 widgets. 801 802 .. 803 804 .. bpo: 27500 805 .. date: 2018-06-28-13-00-12 806 .. nonce: _s1gZ5 807 .. section: Library 808 809 Fix getaddrinfo to resolve IPv6 addresses correctly. 810 811 .. 812 813 .. bpo: 24567 814 .. date: 2018-06-27-00-31-30 815 .. nonce: FuePyY 816 .. section: Library 817 818 Improve random.choices() to handle subnormal input weights that could 819 occasionally trigger an IndexError. 820 821 .. 822 823 .. bpo: 33871 824 .. date: 2018-06-26-19-03-56 825 .. nonce: XhlrGU 826 .. section: Library 827 828 Fixed integer overflow in :func:`os.readv`, :func:`os.writev`, 829 :func:`os.preadv` and :func:`os.pwritev` and in :func:`os.sendfile` with 830 *headers* or *trailers* arguments (on BSD-based OSes and macOS). 831 832 .. 833 834 .. bpo: 33899 835 .. date: 2018-06-24-01-57-14 836 .. nonce: IaOcAr 837 .. section: Library 838 839 Tokenize module now implicitly emits a NEWLINE when provided with input that 840 does not have a trailing new line. This behavior now matches what the C 841 tokenizer does internally. Contributed by Ammar Askar. 842 843 .. 844 845 .. bpo: 33916 846 .. date: 2018-06-21-11-35-47 847 .. nonce: cZgPCD 848 .. section: Library 849 850 bz2 and lzma: When Decompressor.__init__() is called twice, free the old 851 lock to not leak memory. 852 853 .. 854 855 .. bpo: 32568 856 .. date: 2018-06-21-09-33-02 857 .. nonce: f_meGY 858 .. section: Library 859 860 Make select.epoll() and its documentation consistent regarding *sizehint* 861 and *flags*. 862 863 .. 864 865 .. bpo: 33833 866 .. date: 2018-06-17-11-46-20 867 .. nonce: RnEqvM 868 .. section: Library 869 870 Fixed bug in asyncio where ProactorSocketTransport logs AssertionError if 871 force closed during write. 872 873 .. 874 875 .. bpo: 33663 876 .. date: 2018-06-17-10-48-03 877 .. nonce: sUuGmq 878 .. section: Library 879 880 Convert content length to string before putting to header. 881 882 .. 883 884 .. bpo: 26544 885 .. date: 2018-06-13-20-33-29 886 .. nonce: hQ1oMt 887 .. section: Library 888 889 Fixed implementation of :func:`platform.libc_ver`. It almost always returned 890 version '2.9' for glibc. 891 892 .. 893 894 .. bpo: 33805 895 .. date: 2018-06-10-15-14-17 896 .. nonce: 5LAz5a 897 .. section: Library 898 899 Improve error message of dataclasses.replace() when an InitVar is not 900 specified 901 902 .. 903 904 .. bpo: 27397 905 .. date: 2018-06-10-09-43-54 906 .. nonce: 0_fFQR 907 .. section: Library 908 909 Make email module properly handle invalid-length base64 strings. 910 911 .. 912 913 .. bpo: 33476 914 .. date: 2018-06-08-00-29-40 915 .. nonce: R0Bhlj 916 .. section: Library 917 918 Fix _header_value_parser.py when address group is missing final ';'. 919 Contributed by Enrique Perez-Terron 920 921 .. 922 923 .. bpo: 31014 924 .. date: 2018-05-31-06-48-55 925 .. nonce: SNY681 926 .. section: Library 927 928 Fixed creating a controller for :mod:`webbrowser` when a user specifies a 929 path to an entry in the BROWSER environment variable. Based on patch by 930 John Still. 931 932 .. 933 934 .. bpo: 33365 935 .. date: 2018-05-08-15-01-10 936 .. nonce: SicsAd 937 .. section: Library 938 939 Print the header values besides the header keys instead just the header keys 940 if *debuglevel* is set to >0 in :mod:`http.client`. Patch by Marco Strigl. 941 942 .. 943 944 .. bpo: 32933 945 .. date: 2018-04-30-22-43-31 946 .. nonce: M3iI_y 947 .. section: Library 948 949 :func:`unittest.mock.mock_open` now supports iteration over the file 950 contents. Patch by Tony Flury. 951 952 .. 953 954 .. bpo: 33336 955 .. date: 2018-04-27-22-18-38 956 .. nonce: T8rxn0 957 .. section: Library 958 959 ``imaplib`` now allows ``MOVE`` command in ``IMAP4.uid()`` (RFC 6851: IMAP 960 MOVE Extension) and potentially as a name of supported method of ``IMAP4`` 961 object. 962 963 .. 964 965 .. bpo: 31608 966 .. date: 2017-10-29-10-37-55 967 .. nonce: wkp8Nw 968 .. section: Library 969 970 Raise a ``TypeError`` instead of crashing if a ``collections.deque`` 971 subclass returns a non-deque from ``__new__``. Patch by Oren Milman. 972 973 .. 974 975 .. bpo: 29456 976 .. date: 2017-08-24-17-55-39 977 .. nonce: XaB3MP 978 .. section: Library 979 980 Fix bugs in hangul normalization: u1176, u11a7 and u11c3 981 982 .. 983 984 .. bpo: 34790 985 .. date: 2018-09-24-12-47-08 986 .. nonce: G2KXIH 987 .. section: Documentation 988 989 Document how passing coroutines to asyncio.wait() can be confusing. 990 991 .. 992 993 .. bpo: 28617 994 .. date: 2018-09-06-22-39-47 995 .. nonce: MjnJLz 996 .. section: Documentation 997 998 Fixed info in the stdtypes docs concerning the types that support membership 999 tests. 1000 1001 .. 1002 1003 .. bpo: 34065 1004 .. date: 2018-07-07-20-38-41 1005 .. nonce: 1snofM 1006 .. section: Documentation 1007 1008 Fix wrongly written basicConfig documentation markup syntax 1009 1010 .. 1011 1012 .. bpo: 33460 1013 .. date: 2018-06-22-08-38-29 1014 .. nonce: kHt4D0 1015 .. section: Documentation 1016 1017 replaced ellipsis with correct error codes in tutorial chapter 3. 1018 1019 .. 1020 1021 .. bpo: 33847 1022 .. date: 2018-06-15-14-58-45 1023 .. nonce: IIDp6t 1024 .. section: Documentation 1025 1026 Add '@' operator entry to index. 1027 1028 .. 1029 1030 .. bpo: 25041 1031 .. date: 2017-10-23-13-41-12 1032 .. nonce: iAo2gW 1033 .. section: Documentation 1034 1035 Document ``AF_PACKET`` in the :mod:`socket` module. 1036 1037 .. 1038 1039 .. bpo: 34537 1040 .. date: 2018-09-21-17-33-41 1041 .. nonce: GImYtZ 1042 .. section: Tests 1043 1044 Fix ``test_gdb.test_strings()`` when ``LC_ALL=C`` and GDB was compiled with 1045 Python 3.6 or earlier. 1046 1047 .. 1048 1049 .. bpo: 34587 1050 .. date: 2018-09-13-20-58-07 1051 .. nonce: rCcxp3 1052 .. section: Tests 1053 1054 test_socket: Remove RDSTest.testCongestion(). The test tries to fill the 1055 receiver's socket buffer and expects an error. But the RDS protocol doesn't 1056 require that. Moreover, the Linux implementation of RDS expects that the 1057 producer of the messages reduces its rate, it's not the role of the receiver 1058 to trigger an error. The test fails on Fedora 28 by design, so just remove 1059 it. 1060 1061 .. 1062 1063 .. bpo: 34661 1064 .. date: 2018-09-13-09-53-15 1065 .. nonce: bdTamP 1066 .. section: Tests 1067 1068 Fix test_shutil if unzip doesn't support -t. 1069 1070 .. 1071 1072 .. bpo: 34200 1073 .. date: 2018-09-12-17-00-34 1074 .. nonce: dfxYQK 1075 .. section: Tests 1076 1077 Fixed non-deterministic flakiness of test_pkg by not using the scary 1078 test.support.module_cleanup() logic to save and restore sys.modules contents 1079 between test cases. 1080 1081 .. 1082 1083 .. bpo: 34594 1084 .. date: 2018-09-05-23-50-21 1085 .. nonce: tqL-GS 1086 .. section: Tests 1087 1088 Fix usage of hardcoded ``errno`` values in the tests. 1089 1090 .. 1091 1092 .. bpo: 34542 1093 .. date: 2018-08-29-16-30-52 1094 .. nonce: 9stVAW 1095 .. section: Tests 1096 1097 Use 3072 RSA keys and SHA-256 signature for test certs and keys. 1098 1099 .. 1100 1101 .. bpo: 11193 1102 .. date: 2018-08-26-13-12-34 1103 .. nonce: H8fCGa 1104 .. section: Tests 1105 1106 Remove special condition for AIX in `test_subprocess.test_undecodable_env` 1107 1108 .. 1109 1110 .. bpo: 34490 1111 .. date: 2018-08-24-20-23-15 1112 .. nonce: vb2cx4 1113 .. section: Tests 1114 1115 On AIX with AF_UNIX family sockets getsockname() does not provide 1116 'sockname', so skip calls to transport.get_extra_info('sockname') 1117 1118 .. 1119 1120 .. bpo: 34391 1121 .. date: 2018-08-16-18-48-47 1122 .. nonce: ouNfxC 1123 .. section: Tests 1124 1125 Fix ftplib test for TLS 1.3 by reading from data socket. 1126 1127 .. 1128 1129 .. bpo: 34399 1130 .. date: 2018-08-14-10-47-44 1131 .. nonce: D_jd1G 1132 .. section: Tests 1133 1134 Update all RSA keys and DH params to use at least 2048 bits. 1135 1136 .. 1137 1138 .. bpo: 33746 1139 .. date: 2018-06-19-17-55-46 1140 .. nonce: Sz7avn 1141 .. section: Tests 1142 1143 Fix test_unittest when run in verbose mode. 1144 1145 .. 1146 1147 .. bpo: 33901 1148 .. date: 2018-06-19-14-04-21 1149 .. nonce: OFW1Sr 1150 .. section: Tests 1151 1152 Fix test_dbm_gnu on macOS with gdbm 1.15: add a larger value to make sure 1153 that the file size changes. 1154 1155 .. 1156 1157 .. bpo: 33873 1158 .. date: 2018-06-16-01-37-31 1159 .. nonce: d86vab 1160 .. section: Tests 1161 1162 Fix a bug in ``regrtest`` that caused an extra test to run if 1163 --huntrleaks/-R was used. Exit with error in case that invalid parameters 1164 are specified to --huntrleaks/-R (at least one warmup run and one repetition 1165 must be used). 1166 1167 .. 1168 1169 .. bpo: 32663 1170 .. date: 2018-01-25-18-10-47 1171 .. nonce: IKDsqu 1172 .. section: Tests 1173 1174 Making sure the `SMTPUTF8SimTests` class of tests gets run in 1175 test_smtplib.py. 1176 1177 .. 1178 1179 .. bpo: 34710 1180 .. date: 2018-09-17-13-56-12 1181 .. nonce: ARqIAK 1182 .. section: Build 1183 1184 Fixed SSL module build with OpenSSL & pedantic CFLAGS. 1185 1186 .. 1187 1188 .. bpo: 34582 1189 .. date: 2018-09-14-09-53-21 1190 .. nonce: j3omgk 1191 .. section: Build 1192 1193 Add JUnit XML output for regression tests and update Azure DevOps builds. 1194 1195 .. 1196 1197 .. bpo: 34555 1198 .. date: 2018-08-31-19-41-09 1199 .. nonce: dfQcnm 1200 .. section: Build 1201 1202 Fix for case where it was not possible to have both 1203 ``HAVE_LINUX_VM_SOCKETS_H`` and ``HAVE_SOCKADDR_ALG`` be undefined. 1204 1205 .. 1206 1207 .. bpo: 34121 1208 .. date: 2018-07-15-16-49-06 1209 .. nonce: 74G_lo 1210 .. section: Build 1211 1212 Fix detection of C11 atomic support on clang. 1213 1214 .. 1215 1216 .. bpo: 30345 1217 .. date: 2018-06-15-18-18-16 1218 .. nonce: j-xRE1 1219 .. section: Build 1220 1221 Add -g to LDFLAGS when compiling with LTO to get debug symbols. 1222 1223 .. 1224 1225 .. bpo: 33648 1226 .. date: 2018-05-25-13-05-51 1227 .. nonce: bJ4JZH 1228 .. section: Build 1229 1230 The --with-c-locale-warning configuration flag has been removed. It has had 1231 no effect for about a year. 1232 1233 .. 1234 1235 .. bpo: 34770 1236 .. date: 2018-09-22-11-02-35 1237 .. nonce: 4lEUOd 1238 .. section: Windows 1239 1240 Fix a possible null pointer dereference in pyshellext.cpp. 1241 1242 .. 1243 1244 .. bpo: 34603 1245 .. date: 2018-09-13-08-29-04 1246 .. nonce: 2AB7sc 1247 .. section: Windows 1248 1249 Fix returning structs from functions produced by MSVC 1250 1251 .. 1252 1253 .. bpo: 34581 1254 .. date: 2018-09-04-23-13-19 1255 .. nonce: lnbC0k 1256 .. section: Windows 1257 1258 Guard MSVC-specific code in socketmodule.c with ``#ifdef _MSC_VER``. 1259 1260 .. 1261 1262 .. bpo: 34062 1263 .. date: 2018-08-21-19-28-23 1264 .. nonce: 3gxsA3 1265 .. section: Windows 1266 1267 Fixed the '--list' and '--list-paths' arguments for the py.exe launcher 1268 1269 .. 1270 1271 .. bpo: 34225 1272 .. date: 2018-07-25-16-13-12 1273 .. nonce: ngemNL 1274 .. section: Windows 1275 1276 Ensure INCLUDE and LIB directories do not end with a backslash. 1277 1278 .. 1279 1280 .. bpo: 34006 1281 .. date: 2018-07-02-14-19-32 1282 .. nonce: 7SgBT_ 1283 .. section: Windows 1284 1285 Revert line length limit for Windows help docs. The line-length limit is not 1286 needed because the pages appear in a separate app rather than on a browser 1287 tab. It can also interact badly with the DPI setting. 1288 1289 .. 1290 1291 .. bpo: 31546 1292 .. date: 2018-06-27-23-33-54 1293 .. nonce: zJlap- 1294 .. section: Windows 1295 1296 Restore running PyOS_InputHook while waiting for user input at the prompt. 1297 The restores integration of interactive GUI windows (such as Matplotlib 1298 figures) with the prompt on Windows. 1299 1300 .. 1301 1302 .. bpo: 30237 1303 .. date: 2018-06-25-09-33-48 1304 .. nonce: EybiZA 1305 .. section: Windows 1306 1307 Output error when ReadConsole is canceled by CancelSynchronousIo instead of 1308 crashing. 1309 1310 .. 1311 1312 .. bpo: 29097 1313 .. date: 2018-05-16-11-31-17 1314 .. nonce: 9mqEuI 1315 .. section: Windows 1316 1317 Fix bug where :meth:`datetime.fromtimestamp` erronously throws an 1318 :exc:`OSError` on Windows for values between 0 and 86400. Patch by Ammar 1319 Askar. 1320 1321 .. 1322 1323 .. bpo: 34370 1324 .. date: 2018-09-25-23-37-39 1325 .. nonce: FQhtAD 1326 .. section: macOS 1327 1328 Have macOS 10.9+ installer builds for 3.7.1rc and 3.6.7rc use a development 1329 snapshot of Tk 8.6 (post-8.6.8) to mitigate certain scroller issues seen 1330 with IDLE and tkinter apps. 1331 1332 .. 1333 1334 .. bpo: 34405 1335 .. date: 2018-09-11-08-30-55 1336 .. nonce: UzIi0n 1337 .. section: macOS 1338 1339 Update to OpenSSL 1.1.0i for macOS installer builds. 1340 1341 .. 1342 1343 .. bpo: 33635 1344 .. date: 2018-07-31-09-51-01 1345 .. nonce: KiscE- 1346 .. section: macOS 1347 1348 In macOS stat on some file descriptors (/dev/fd/3 f.e) will result in bad 1349 file descriptor OSError. Guard against this exception was added in is_dir, 1350 is_file and similar methods. DirEntry.is_dir can also throw this exception 1351 so _RecursiveWildcardSelector._iterate_directories was also extended with 1352 the same error ignoring pattern. 1353 1354 .. 1355 1356 .. bpo: 31903 1357 .. date: 2017-11-01-16-53-12 1358 .. nonce: K6jCVG 1359 .. section: macOS 1360 1361 In :mod:`_scproxy`, drop the GIL when calling into ``SystemConfiguration`` 1362 to avoid deadlocks. 1363 1364 .. 1365 1366 .. bpo: 34548 1367 .. date: 2018-09-22-20-25-07 1368 .. nonce: 7pBzjg 1369 .. section: IDLE 1370 1371 Use configured color theme for read-only text views. 1372 1373 .. 1374 1375 .. bpo: 1529353 1376 .. date: 2018-08-13-16-31-24 1377 .. nonce: wXfQJk 1378 .. section: IDLE 1379 1380 Enable "squeezing" of long outputs in the shell, to avoid performance 1381 degradation and to clean up the history without losing it. Squeezed outputs 1382 may be copied, viewed in a separate window, and "unsqueezed". 1383 1384 .. 1385 1386 .. bpo: 34047 1387 .. date: 2018-08-05-15-49-55 1388 .. nonce: LGKsIm 1389 .. section: IDLE 1390 1391 Fixed mousewheel scrolling direction on macOS. 1392 1393 .. 1394 1395 .. bpo: 34275 1396 .. date: 2018-08-02-22-16-42 1397 .. nonce: Iu0d7t 1398 .. section: IDLE 1399 1400 Make IDLE calltips always visible on Mac. Some MacOS-tk combinations need 1401 .update_idletasks(). Patch by Kevin Walzer. 1402 1403 .. 1404 1405 .. bpo: 34120 1406 .. date: 2018-08-01-23-25-38 1407 .. nonce: HgsIz- 1408 .. section: IDLE 1409 1410 Fix unresponsiveness after closing certain windows and dialogs. 1411 1412 .. 1413 1414 .. bpo: 33975 1415 .. date: 2018-06-26-22-53-14 1416 .. nonce: Ow7alv 1417 .. section: IDLE 1418 1419 Avoid small type when running htests. Since part of the purpose of 1420 human-viewed tests is to determine that widgets look right, it is important 1421 that they look the same for testing as when running IDLE. 1422 1423 .. 1424 1425 .. bpo: 33905 1426 .. date: 2018-06-21-20-35-33 1427 .. nonce: W2mhiY 1428 .. section: IDLE 1429 1430 Add test for idlelib.stackview.StackBrowser. 1431 1432 .. 1433 1434 .. bpo: 33924 1435 .. date: 2018-06-20-22-14-07 1436 .. nonce: 6Rz1wt 1437 .. section: IDLE 1438 1439 Change mainmenu.menudefs key 'windows' to 'window'. Every other menudef key 1440 is lowercase version of main menu entry. 1441 1442 .. 1443 1444 .. bpo: 33906 1445 .. date: 2018-06-20-19-16-24 1446 .. nonce: a1lXq0 1447 .. section: IDLE 1448 1449 Rename idlelib.windows as window Match Window on the main menu and remove 1450 last plural module name. 1451 1452 .. 1453 1454 .. bpo: 33917 1455 .. date: 2018-06-20-16-27-48 1456 .. nonce: ZXHs8x 1457 .. section: IDLE 1458 1459 Fix and document idlelib/idle_test/template.py. The revised file compiles, 1460 runs, and tests OK. idle_test/README.txt explains how to use it to create 1461 new IDLE test files. 1462 1463 .. 1464 1465 .. bpo: 33904 1466 .. date: 2018-06-20-12-40-54 1467 .. nonce: qm0eCu 1468 .. section: IDLE 1469 1470 IDLE: In rstrip, rename class RstripExtension as Rstrip 1471 1472 .. 1473 1474 .. bpo: 33907 1475 .. date: 2018-06-19-22-21-27 1476 .. nonce: z-_B3N 1477 .. section: IDLE 1478 1479 For consistency and clarity, rename an IDLE module and classes. Module 1480 calltips and its class CallTips are now calltip and Calltip. In module 1481 calltip_w, class CallTip is now CalltipWindow. 1482 1483 .. 1484 1485 .. bpo: 33856 1486 .. date: 2018-06-16-21-54-45 1487 .. nonce: TH8WHU 1488 .. section: IDLE 1489 1490 Add "help" in the welcome message of IDLE 1491 1492 .. 1493 1494 .. bpo: 33839 1495 .. date: 2018-06-14-13-23-55 1496 .. nonce: ZlJzHa 1497 .. section: IDLE 1498 1499 IDLE: refactor ToolTip and CallTip and add documentation and tests 1500 1501 .. 1502 1503 .. bpo: 33855 1504 .. date: 2018-06-14-11-35-50 1505 .. nonce: XL230W 1506 .. section: IDLE 1507 1508 Minimally test all IDLE modules. Add missing files, import module, 1509 instantiate classes, and check coverage. Check existing files. 1510 1511 .. 1512 1513 .. bpo: 32962 1514 .. date: 2018-06-14-16-23-07 1515 .. nonce: Q3Dwns 1516 .. section: Tools/Demos 1517 1518 python-gdb now catches ``UnicodeDecodeError`` exceptions when calling 1519 ``string()``. 1520 1521 .. 1522 1523 .. bpo: 32962 1524 .. date: 2018-06-14-16-16-53 1525 .. nonce: 2YfdwI 1526 .. section: Tools/Demos 1527 1528 python-gdb now catches ValueError on read_var(): when Python has no debug 1529 symbols for example. 1530 1531 .. 1532 1533 .. bpo: 34247 1534 .. date: 2018-08-05-00-21-38 1535 .. nonce: _Sn92u 1536 .. section: C API 1537 1538 Fix Py_Initialize() regression introduced in 3.7.0: read environment 1539 variables like PYTHONOPTIMIZE. 1540 1541 .. 1542 1543 .. bpo: 23927 1544 .. date: 2018-07-09-11-39-54 1545 .. nonce: pDFkxb 1546 .. section: C API 1547 1548 Fixed :exc:`SystemError` in :c:func:`PyArg_ParseTupleAndKeywords` when the 1549 ``w*`` format unit is used for optional parameter. 1550 1551 .. 1552 1553 .. bpo: 34008 1554 .. date: 2018-07-02-10-58-11 1555 .. nonce: COewz- 1556 .. section: C API 1557 1558 Py_Main() can again be called after Py_Initialize(), as in Python 3.6. 1559