1.. bpo: 35746 2.. date: 2019-01-15-18-16-05 3.. nonce: nMSd0j 4.. release date: 2019-02-03 5.. section: Security 6 7[CVE-2019-5010] Fix a NULL pointer deref in ssl module. The cert parser did 8not handle CRL distribution points with empty DP or URI correctly. A 9malicious or buggy certificate can result into segfault. Vulnerability 10(TALOS-2018-0758) reported by Colin Read and Nicolas Edet of Cisco. 11 12.. 13 14.. bpo: 34812 15.. date: 2018-11-23-15-00-23 16.. nonce: 84VQnb 17.. section: Security 18 19The :option:`-I` command line option (run Python in isolated mode) is now 20also copied by the :mod:`multiprocessing` and :mod:`distutils` modules when 21spawning child processes. Previously, only :option:`-E` and :option:`-s` 22options (enabled by :option:`-I`) were copied. 23 24.. 25 26.. bpo: 34791 27.. date: 2018-09-24-18-49-25 28.. nonce: 78GmIG 29.. section: Security 30 31The xml.sax and xml.dom.domreg no longer use environment variables to 32override parser implementations when sys.flags.ignore_environment is set by 33-E or -I arguments. 34 35.. 36 37.. bpo: 17239 38.. date: 2018-09-11-18-30-55 39.. nonce: kOpwK2 40.. section: Security 41 42The xml.sax and xml.dom.minidom parsers no longer processes external 43entities by default. External DTD and ENTITY declarations no longer load 44files or create network connections. 45 46.. 47 48.. bpo: 34623 49.. date: 2018-09-10-16-05-39 50.. nonce: Ua9jMv 51.. section: Security 52 53CVE-2018-14647: The C accelerated _elementtree module now initializes hash 54randomization salt from _Py_HashSecret instead of libexpat's default CSPRNG. 55 56.. 57 58.. bpo: 34405 59.. date: 2018-08-15-12-12-47 60.. nonce: qbHTH_ 61.. section: Security 62 63Updated to OpenSSL 1.1.0i for Windows builds. 64 65.. 66 67.. bpo: 33871 68.. date: 2018-06-26-19-35-33 69.. nonce: S4HR9n 70.. section: Security 71 72Fixed sending the part of the file in :func:`os.sendfile` on macOS. Using 73the *trailers* argument could cause sending more bytes from the input file 74than was specified. 75 76.. 77 78.. bpo: 32533 79.. date: 2018-05-28-08-55-30 80.. nonce: IzwkBI 81.. section: Security 82 83Fixed thread-safety of error handling in _ssl. 84 85.. 86 87.. bpo: 33136 88.. date: 2018-03-25-12-05-43 89.. nonce: TzSN4x 90.. section: Security 91 92Harden ssl module against LibreSSL CVE-2018-8970. 93X509_VERIFY_PARAM_set1_host() is called with an explicit namelen. A new test 94ensures that NULL bytes are not allowed. 95 96.. 97 98.. bpo: 33001 99.. date: 2018-03-05-10-09-51 100.. nonce: elj4Aa 101.. section: Security 102 103Minimal fix to prevent buffer overrun in os.symlink on Windows 104 105.. 106 107.. bpo: 32981 108.. date: 2018-03-02-10-24-52 109.. nonce: O_qDyj 110.. section: Security 111 112Regexes in difflib and poplib were vulnerable to catastrophic backtracking. 113These regexes formed potential DOS vectors (REDOS). They have been 114refactored. This resolves CVE-2018-1060 and CVE-2018-1061. Patch by Jamie 115Davis. 116 117.. 118 119.. bpo: 28414 120.. date: 2017-08-06-14-43-45 121.. nonce: mzZ6vD 122.. section: Security 123 124The ssl module now allows users to perform their own IDN en/decoding when 125using SNI. 126 127.. 128 129.. bpo: 35877 130.. date: 2019-02-01-22-38-11 131.. nonce: Jrse8f 132.. section: Core and Builtins 133 134Make parenthesis optional for named expressions in while statement. Patch by 135Karthikeyan Singaravelan. 136 137.. 138 139.. bpo: 35814 140.. date: 2019-01-24-13-25-21 141.. nonce: r_MjA6 142.. section: Core and Builtins 143 144Allow same right hand side expressions in annotated assignments as in normal 145ones. In particular, ``x: Tuple[int, int] = 1, 2`` (without parentheses on 146the right) is now allowed. 147 148.. 149 150.. bpo: 35766 151.. date: 2019-01-22-19-17-27 152.. nonce: gh1tHZ 153.. section: Core and Builtins 154 155Add the option to parse PEP 484 type comments in the ast module. (Off by 156default.) This is merging the key functionality of the third party fork 157thereof, [typed_ast](https://github.com/python/typed_ast). 158 159.. 160 161.. bpo: 35713 162.. date: 2019-01-22-18-50-21 163.. nonce: bTeUsa 164.. section: Core and Builtins 165 166Reorganize Python initialization to get working exceptions and sys.stderr 167earlier. 168 169.. 170 171.. bpo: 33416 172.. date: 2019-01-19-19-41-53 173.. nonce: VDeOU5 174.. section: Core and Builtins 175 176Add end line and end column position information to the Python AST nodes. 177This is a C-level backwards incompatible change. 178 179.. 180 181.. bpo: 35720 182.. date: 2019-01-12-23-33-04 183.. nonce: LELKQx 184.. section: Core and Builtins 185 186Fixed a minor memory leak in pymain_parse_cmdline_impl function in 187Modules/main.c 188 189.. 190 191.. bpo: 35634 192.. date: 2019-01-05-18-39-49 193.. nonce: nVP_gs 194.. section: Core and Builtins 195 196``func(**kwargs)`` will now raise an error when ``kwargs`` is a mapping 197containing multiple entries with the same key. An error was already raised 198when other keyword arguments are passed before ``**kwargs`` since Python 1993.6. 200 201.. 202 203.. bpo: 35623 204.. date: 2018-12-31-02-37-20 205.. nonce: 24AQhY 206.. section: Core and Builtins 207 208Fix a crash when sorting very long lists. Patch by Stephan Hohe. 209 210.. 211 212.. bpo: 35214 213.. date: 2018-12-30-15-36-23 214.. nonce: GWDQcv 215.. section: Core and Builtins 216 217clang Memory Sanitizer build instrumentation was added to work around false 218positives from posix, socket, time, test_io, and test_faulthandler. 219 220.. 221 222.. bpo: 35560 223.. date: 2018-12-22-22-19-51 224.. nonce: 9vMWSP 225.. section: Core and Builtins 226 227Fix an assertion error in :func:`format` in debug build for floating point 228formatting with "n" format, zero padding and small width. Release build is 229not impacted. Patch by Karthikeyan Singaravelan. 230 231.. 232 233.. bpo: 35552 234.. date: 2018-12-21-13-29-30 235.. nonce: 1DzQQc 236.. section: Core and Builtins 237 238Format characters ``%s`` and ``%V`` in :c:func:`PyUnicode_FromFormat` and 239``%s`` in :c:func:`PyBytes_FromFormat` no longer read memory past the limit 240if *precision* is specified. 241 242.. 243 244.. bpo: 35504 245.. date: 2018-12-15-14-01-45 246.. nonce: JtKczP 247.. section: Core and Builtins 248 249Fix segfaults and :exc:`SystemError`\ s when deleting certain attributes. 250Patch by Zackery Spytz. 251 252.. 253 254.. bpo: 35504 255.. date: 2018-12-15-00-47-41 256.. nonce: 9gVuen 257.. section: Core and Builtins 258 259Fixed a SystemError when delete the characters_written attribute of an 260OSError. 261 262.. 263 264.. bpo: 35494 265.. date: 2018-12-14-18-02-34 266.. nonce: IWOPtb 267.. section: Core and Builtins 268 269Improved syntax error messages for unbalanced parentheses in f-string. 270 271.. 272 273.. bpo: 35444 274.. date: 2018-12-09-13-09-39 275.. nonce: 9kYn4V 276.. section: Core and Builtins 277 278Fixed error handling in pickling methods when fail to look up builtin 279"getattr". Sped up pickling iterators. 280 281.. 282 283.. bpo: 35436 284.. date: 2018-12-07-02-38-01 285.. nonce: 0VW7p9 286.. section: Core and Builtins 287 288Fix various issues with memory allocation error handling. Patch by Zackery 289Spytz. 290 291.. 292 293.. bpo: 35423 294.. date: 2018-12-05-16-24-05 295.. nonce: UIie_O 296.. section: Core and Builtins 297 298Separate the signal handling trigger in the eval loop from the "pending 299calls" machinery. There is no semantic change and the difference in 300performance is insignificant. 301 302.. 303 304.. bpo: 35357 305.. date: 2018-12-03-21-20-24 306.. nonce: rhhoiC 307.. section: Core and Builtins 308 309Internal attributes' names of unittest.mock._Call and 310unittest.mock.MagicProxy (name, parent & from_kall) are now prefixed with 311_mock_ in order to prevent clashes with widely used object attributes. Fixed 312minor typo in test function name. 313 314.. 315 316.. bpo: 35372 317.. date: 2018-12-01-19-20-53 318.. nonce: RwVJjZ 319.. section: Core and Builtins 320 321Fixed the code page decoder for input longer than 2 GiB containing 322undecodable bytes. 323 324.. 325 326.. bpo: 35336 327.. date: 2018-11-29-23-59-52 328.. nonce: 8LOz4F 329.. section: Core and Builtins 330 331Fix PYTHONCOERCECLOCALE=1 environment variable: only coerce the C locale if 332the LC_CTYPE locale is "C". 333 334.. 335 336.. bpo: 31241 337.. date: 2018-11-21-14-05-51 338.. nonce: Kin10- 339.. section: Core and Builtins 340 341The *lineno* and *col_offset* attributes of AST nodes for list 342comprehensions, generator expressions and tuples are now point to the 343opening parenthesis or square brace. For tuples without parenthesis they 344point to the position of the first item. 345 346.. 347 348.. bpo: 33954 349.. date: 2018-11-20-22-33-38 350.. nonce: RzSngM 351.. section: Core and Builtins 352 353For :meth:`str.format`, :meth:`float.__format__` and 354:meth:`complex.__format__` methods for non-ASCII decimal point when using 355the "n" formatter. 356 357.. 358 359.. bpo: 35269 360.. date: 2018-11-17-10-18-29 361.. nonce: gjm1LO 362.. section: Core and Builtins 363 364Fix a possible segfault involving a newly-created coroutine. Patch by 365Zackery Spytz. 366 367.. 368 369.. bpo: 35224 370.. date: 2018-11-13-14-26-54 371.. nonce: F0B6UQ 372.. section: Core and Builtins 373 374Implement :pep:`572` (assignment expressions). Patch by Emily Morehouse. 375 376.. 377 378.. bpo: 32492 379.. date: 2018-11-13-01-03-10 380.. nonce: voIdcp 381.. section: Core and Builtins 382 383Speed up :class:`namedtuple` attribute access by 1.6x using a C fast-path 384for the name descriptors. Patch by Pablo Galindo. 385 386.. 387 388.. bpo: 35214 389.. date: 2018-11-13-00-40-35 390.. nonce: OQBjph 391.. section: Core and Builtins 392 393Fixed an out of bounds memory access when parsing a truncated unicode escape 394sequence at the end of a string such as ``'\N'``. It would read one byte 395beyond the end of the memory allocation. 396 397.. 398 399.. bpo: 35214 400.. date: 2018-11-12-11-38-06 401.. nonce: PCHKbX 402.. section: Core and Builtins 403 404The interpreter and extension modules have had annotations added so that 405they work properly under clang's Memory Sanitizer. A new configure flag 406--with-memory-sanitizer has been added to make test builds of this nature 407easier to perform. 408 409.. 410 411.. bpo: 35193 412.. date: 2018-11-08-15-00-58 413.. nonce: HzPS6R 414.. section: Core and Builtins 415 416Fix an off by one error in the bytecode peephole optimizer where it could 417read bytes beyond the end of bounds of an array when removing unreachable 418code. This bug was present in every release of Python 3.6 and 3.7 until now. 419 420.. 421 422.. bpo: 35169 423.. date: 2018-11-05-21-19-05 424.. nonce: _FyPI2 425.. section: Core and Builtins 426 427Improved error messages for forbidden assignments. 428 429.. 430 431.. bpo: 34022 432.. date: 2018-11-04-18-13-40 433.. nonce: U3btVj 434.. section: Core and Builtins 435 436Fix handling of hash-based bytecode files in :mod:`zipimport`. Patch by 437Elvis Pranskevichus. 438 439.. 440 441.. bpo: 28401 442.. date: 2018-11-03-10-37-29 443.. nonce: RprDIg 444.. section: Core and Builtins 445 446Debug builds will no longer to attempt to import extension modules built for 447the ABI as they were never compatible to begin with. Patch by Stefano 448Rivera. 449 450.. 451 452.. bpo: 29341 453.. date: 2018-10-25-20-53-32 454.. nonce: jH-AMF 455.. section: Core and Builtins 456 457Clarify in the docstrings of :mod:`os` methods that path-like objects are 458also accepted as input parameters. 459 460.. 461 462.. bpo: 35050 463.. date: 2018-10-23-15-03-53 464.. nonce: 49wraS 465.. section: Core and Builtins 466 467:mod:`socket`: Fix off-by-one bug in length check for ``AF_ALG`` name and 468type. 469 470.. 471 472.. bpo: 29743 473.. date: 2018-10-21-17-43-48 474.. nonce: aeCcKR 475.. section: Core and Builtins 476 477Raise :exc:`ValueError` instead of :exc:`OverflowError` in case of a 478negative ``_length_`` in a :class:`ctypes.Array` subclass. Also raise 479:exc:`TypeError` instead of :exc:`AttributeError` for non-integer 480``_length_``. Original patch by Oren Milman. 481 482.. 483 484.. bpo: 16806 485.. date: 2018-10-20-18-05-58 486.. nonce: zr3A9N 487.. section: Core and Builtins 488 489Fix ``lineno`` and ``col_offset`` for multi-line string tokens. 490 491.. 492 493.. bpo: 35029 494.. date: 2018-10-20-10-26-15 495.. nonce: t4tZcQ 496.. section: Core and Builtins 497 498:exc:`SyntaxWarning` raised as an exception at code generation time will be 499now replaced with a :exc:`SyntaxError` for better error reporting. 500 501.. 502 503.. bpo: 34983 504.. date: 2018-10-14-17-26-41 505.. nonce: l8XaZd 506.. section: Core and Builtins 507 508Expose :meth:`symtable.Symbol.is_nonlocal` in the symtable module. Patch by 509Pablo Galindo. 510 511.. 512 513.. bpo: 34974 514.. date: 2018-10-13-22-24-19 515.. nonce: 7LgTc2 516.. section: Core and Builtins 517 518:class:`bytes` and :class:`bytearray` constructors no longer convert 519unexpected exceptions (e.g. :exc:`MemoryError` and :exc:`KeyboardInterrupt`) 520to :exc:`TypeError`. 521 522.. 523 524.. bpo: 34939 525.. date: 2018-10-13-17-40-15 526.. nonce: 0gpxlJ 527.. section: Core and Builtins 528 529Allow annotated names in module namespace that are declared global before 530the annotation happens. Patch by Pablo Galindo. 531 532.. 533 534.. bpo: 34973 535.. date: 2018-10-13-16-42-03 536.. nonce: B5M-3g 537.. section: Core and Builtins 538 539Fixed crash in :func:`bytes` when the :class:`list` argument is mutated 540while it is iterated. 541 542.. 543 544.. bpo: 34876 545.. date: 2018-10-06-14-02-51 546.. nonce: oBKBA4 547.. section: Core and Builtins 548 549The *lineno* and *col_offset* attributes of the AST for decorated function 550and class refer now to the position of the corresponding ``def``, ``async 551def`` and ``class`` instead of the position of the first decorator. This 552leads to more correct line reporting in tracing. This is the only case when 553the position of child AST nodes can precede the position of the parent AST 554node. 555 556.. 557 558.. bpo: 34879 559.. date: 2018-10-02-22-55-11 560.. nonce: 7VNH2a 561.. section: Core and Builtins 562 563Fix a possible null pointer dereference in bytesobject.c. Patch by Zackery 564Spytz. 565 566.. 567 568.. bpo: 34784 569.. date: 2018-10-02-09-10-47 570.. nonce: 07hdgD 571.. section: Core and Builtins 572 573Fix the implementation of PyStructSequence_NewType in order to create heap 574allocated StructSequences. 575 576.. 577 578.. bpo: 32912 579.. date: 2018-10-01-10-41-53 580.. nonce: JeIOdM 581.. section: Core and Builtins 582 583A :exc:`SyntaxWarning` is now emitted instead of a :exc:`DeprecationWarning` 584for invalid escape sequences in string and bytes literals. 585 586.. 587 588.. bpo: 34854 589.. date: 2018-09-30-19-27-13 590.. nonce: 6TKTcB 591.. section: Core and Builtins 592 593Fixed a crash in compiling string annotations containing a lambda with a 594keyword-only argument that doesn't have a default value. 595 596.. 597 598.. bpo: 34850 599.. date: 2018-09-30-11-19-55 600.. nonce: CbgDwb 601.. section: Core and Builtins 602 603The compiler now produces a :exc:`SyntaxWarning` when identity checks 604(``is`` and ``is not``) are used with certain types of literals (e.g. 605strings, ints). These can often work by accident in CPython, but are not 606guaranteed by the language spec. The warning advises users to use equality 607tests (``==`` and ``!=``) instead. 608 609.. 610 611.. bpo: 34824 612.. date: 2018-09-27-11-10-02 613.. nonce: VLlCaU 614.. section: Core and Builtins 615 616Fix a possible null pointer dereference in Modules/_ssl.c. Patch by Zackery 617Spytz. 618 619.. 620 621.. bpo: 30156 622.. date: 2018-09-24-17-51-15 623.. nonce: pH0j5j 624.. section: Core and Builtins 625 626The C function ``property_descr_get()`` uses a "cached" tuple to optimize 627function calls. But this tuple can be discovered in debug mode with 628:func:`sys.getobjects()`. Remove the optimization, it's not really worth it 629and it causes 3 different crashes last years. 630 631.. 632 633.. bpo: 34762 634.. date: 2018-09-21-11-06-56 635.. nonce: 1nN53m 636.. section: Core and Builtins 637 638Fix contextvars C API to use PyObject* pointer types. 639 640.. 641 642.. bpo: 34751 643.. date: 2018-09-20-15-41-58 644.. nonce: Yiv0pV 645.. section: Core and Builtins 646 647The hash function for tuples is now based on xxHash which gives better 648collision results on (formerly) pathological cases. Additionally, on 64-bit 649systems it improves tuple hashes in general. Patch by Jeroen Demeyer with 650substantial contributions by Tim Peters. 651 652.. 653 654.. bpo: 34735 655.. date: 2018-09-19-06-57-34 656.. nonce: -3mrSJ 657.. section: Core and Builtins 658 659Fix a memory leak in Modules/timemodule.c. Patch by Zackery Spytz. 660 661.. 662 663.. bpo: 34683 664.. date: 2018-09-15-19-32-34 665.. nonce: msCiQE 666.. section: Core and Builtins 667 668Fixed a bug where some SyntaxError error pointed to locations that were 669off-by-one. 670 671.. 672 673.. bpo: 34651 674.. date: 2018-09-13-12-21-08 675.. nonce: v-bUeV 676.. section: Core and Builtins 677 678Only allow the main interpreter to fork. The avoids the possibility of 679affecting the main interpreter, which is critical to operation of the 680runtime. 681 682.. 683 684.. bpo: 34653 685.. date: 2018-09-13-12-06-09 686.. nonce: z8NE-i 687.. section: Core and Builtins 688 689Remove unused function PyParser_SimpleParseStringFilename. 690 691.. 692 693.. bpo: 32236 694.. date: 2018-09-11-23-50-40 695.. nonce: 3RupnN 696.. section: Core and Builtins 697 698Warn that line buffering is not supported if :func:`open` is called with 699binary mode and ``buffering=1``. 700 701.. 702 703.. bpo: 34641 704.. date: 2018-09-11-23-12-33 705.. nonce: gFBCc9 706.. section: Core and Builtins 707 708Further restrict the syntax of the left-hand side of keyword arguments in 709function calls. In particular, ``f((keyword)=arg)`` is now disallowed. 710 711.. 712 713.. bpo: 34637 714.. date: 2018-09-11-17-25-44 715.. nonce: HSLqY4 716.. section: Core and Builtins 717 718Make the *start* argument to *sum()* visible as a keyword argument. 719 720.. 721 722.. bpo: 1621 723.. date: 2018-09-11-15-19-37 724.. nonce: 7o19yG 725.. section: Core and Builtins 726 727Do not assume signed integer overflow behavior (C undefined behavior) when 728performing set hash table resizing. 729 730.. 731 732.. bpo: 34588 733.. date: 2018-09-05-22-56-52 734.. nonce: UIuPmL 735.. section: Core and Builtins 736 737Fix an off-by-one in the recursive call pruning feature of traceback 738formatting. 739 740.. 741 742.. bpo: 34485 743.. date: 2018-08-29-11-04-19 744.. nonce: c2AFdp 745.. section: Core and Builtins 746 747On Windows, the LC_CTYPE is now set to the user preferred locale at startup. 748Previously, the LC_CTYPE locale was "C" at startup, but changed when calling 749setlocale(LC_CTYPE, "") or setlocale(LC_ALL, ""). 750 751.. 752 753.. bpo: 34485 754.. date: 2018-08-29-09-27-47 755.. nonce: 5aJCmw 756.. section: Core and Builtins 757 758Standard streams like sys.stdout now use the "surrogateescape" error 759handler, instead of "strict", on the POSIX locale (when the C locale is not 760coerced and the UTF-8 Mode is disabled). 761 762.. 763 764.. bpo: 34485 765.. date: 2018-08-28-23-01-14 766.. nonce: dq1Kqk 767.. section: Core and Builtins 768 769Fix the error handler of standard streams like sys.stdout: 770PYTHONIOENCODING=":" is now ignored instead of setting the error handler to 771"strict". 772 773.. 774 775.. bpo: 34485 776.. date: 2018-08-28-17-48-40 777.. nonce: aFwck2 778.. section: Core and Builtins 779 780Python now gets the locale encoding with C code to initialize the encoding 781of standard streams like sys.stdout. Moreover, the encoding is now 782initialized to the Python codec name to get a normalized encoding name and 783to ensure that the codec is loaded. The change avoids importing _bootlocale 784and _locale modules at startup by default. 785 786.. 787 788.. bpo: 34527 789.. date: 2018-08-28-11-53-39 790.. nonce: aBEX9b 791.. section: Core and Builtins 792 793On FreeBSD, Py_DecodeLocale() and Py_EncodeLocale() now also forces the 794ASCII encoding if the LC_CTYPE locale is "POSIX", not only if the LC_CTYPE 795locale is "C". 796 797.. 798 799.. bpo: 34527 800.. date: 2018-08-28-11-52-13 801.. nonce: sh5MQJ 802.. section: Core and Builtins 803 804The UTF-8 Mode is now also enabled by the "POSIX" locale, not only by the 805"C" locale. 806 807.. 808 809.. bpo: 34403 810.. date: 2018-08-28-10-49-55 811.. nonce: 4Q3LzP 812.. section: Core and Builtins 813 814On HP-UX with C or POSIX locale, sys.getfilesystemencoding() now returns 815"ascii" instead of "roman8" (when the UTF-8 Mode is disabled and the C 816locale is not coerced). 817 818.. 819 820.. bpo: 34523 821.. date: 2018-08-28-01-45-01 822.. nonce: aUUkc3 823.. section: Core and Builtins 824 825The Python filesystem encoding is now read earlier during the Python 826initialization. 827 828.. 829 830.. bpo: 12458 831.. date: 2018-08-15-20-46-49 832.. nonce: ApHbx5 833.. section: Core and Builtins 834 835Tracebacks show now correct line number for subexpressions in multiline 836expressions. Tracebacks show now the line number of the first line for 837multiline expressions instead of the line number of the last subexpression. 838 839.. 840 841.. bpo: 34408 842.. date: 2018-08-14-22-35-19 843.. nonce: aomWYW 844.. section: Core and Builtins 845 846Prevent a null pointer dereference and resource leakage in 847``PyInterpreterState_New()``. 848 849.. 850 851.. bpo: 34400 852.. date: 2018-08-14-03-52-43 853.. nonce: AJD0bz 854.. section: Core and Builtins 855 856Fix undefined behavior in parsetok.c. Patch by Zackery Spytz. 857 858.. 859 860.. bpo: 33073 861.. date: 2018-08-12-16-03-58 862.. nonce: XWu1Jh 863.. section: Core and Builtins 864 865Added as_integer_ratio to ints to make them more interoperable with floats. 866 867.. 868 869.. bpo: 34377 870.. date: 2018-08-10-15-05-00 871.. nonce: EJMMY4 872.. section: Core and Builtins 873 874Update valgrind suppression list to use 875``_PyObject_Free``/``_PyObject_Realloc`` instead of 876``PyObject_Free``/``PyObject_Realloc``. 877 878.. 879 880.. bpo: 34353 881.. date: 2018-08-09-18-42-49 882.. nonce: GIOm_8 883.. section: Core and Builtins 884 885Added the "socket" option in the `stat.filemode()` Python implementation to 886match the C implementation. 887 888.. 889 890.. bpo: 34320 891.. date: 2018-08-02-22-34-59 892.. nonce: hNshAA 893.. section: Core and Builtins 894 895Fix ``dict(od)`` didn't copy iteration order of OrderedDict. 896 897.. 898 899.. bpo: 34113 900.. date: 2018-07-28-10-34-00 901.. nonce: eZ5FWV 902.. section: Core and Builtins 903 904Fixed crash on debug builds when opcode stack was adjusted with negative 905numbers. Patch by Constantin Petrisor. 906 907.. 908 909.. bpo: 34100 910.. date: 2018-07-27-20-04-52 911.. nonce: ypJQX1 912.. section: Core and Builtins 913 914Compiler now merges constants in tuples and frozensets recursively. Code 915attributes like ``co_names`` are merged too. 916 917.. 918 919.. bpo: 34151 920.. date: 2018-07-25-20-26-02 921.. nonce: Q2pK9Q 922.. section: Core and Builtins 923 924Performance of list concatenation, repetition and slicing operations is 925slightly improved. Patch by Sergey Fedoseev. 926 927.. 928 929.. bpo: 34170 930.. date: 2018-07-25-19-23-33 931.. nonce: v1h_H2 932.. section: Core and Builtins 933 934-X dev: it is now possible to override the memory allocator using 935PYTHONMALLOC even if the developer mode is enabled. 936 937.. 938 939.. bpo: 33237 940.. date: 2018-07-24-12-54-57 941.. nonce: O95mps 942.. section: Core and Builtins 943 944Improved :exc:`AttributeError` message for partially initialized module. 945 946.. 947 948.. bpo: 34149 949.. date: 2018-07-23-21-49-05 950.. nonce: WSV-_g 951.. section: Core and Builtins 952 953Fix min and max functions to get default behavior when key is None. 954 955.. 956 957.. bpo: 34125 958.. date: 2018-07-23-16-34-03 959.. nonce: jCl2Q2 960.. section: Core and Builtins 961 962Profiling of unbound built-in methods now works when ``**kwargs`` is given. 963 964.. 965 966.. bpo: 34141 967.. date: 2018-07-18-08-36-58 968.. nonce: Fo7Q5r 969.. section: Core and Builtins 970 971Optimized pickling atomic types (None, bool, int, float, bytes, str). 972 973.. 974 975.. bpo: 34126 976.. date: 2018-07-16-20-55-29 977.. nonce: mBVmgc 978.. section: Core and Builtins 979 980Fix crashes when profiling certain invalid calls of unbound methods. Patch 981by Jeroen Demeyer. 982 983.. 984 985.. bpo: 24618 986.. date: 2018-07-14-14-01-37 987.. nonce: iTKjD_ 988.. section: Core and Builtins 989 990Fixed reading invalid memory when create the code object with too small 991varnames tuple or too large argument counts. 992 993.. 994 995.. bpo: 34068 996.. date: 2018-07-14-08-58-46 997.. nonce: 9xfM55 998.. section: Core and Builtins 999 1000In :meth:`io.IOBase.close`, ensure that the :attr:`~io.IOBase.closed` 1001attribute is not set with a live exception. Patch by Zackery Spytz and 1002Serhiy Storchaka. 1003 1004.. 1005 1006.. bpo: 34087 1007.. date: 2018-07-13-22-09-55 1008.. nonce: I1Bxfc 1009.. section: Core and Builtins 1010 1011Fix buffer overflow while converting unicode to numeric values. 1012 1013.. 1014 1015.. bpo: 34080 1016.. date: 2018-07-10-11-24-16 1017.. nonce: 8t7PtO 1018.. section: Core and Builtins 1019 1020Fixed a memory leak in the compiler when it raised some uncommon errors 1021during tokenizing. 1022 1023.. 1024 1025.. bpo: 34066 1026.. date: 2018-07-07-20-15-34 1027.. nonce: y9vs6s 1028.. section: Core and Builtins 1029 1030Disabled interruption by Ctrl-C between calling ``open()`` and entering a 1031**with** block in ``with open()``. 1032 1033.. 1034 1035.. bpo: 34042 1036.. date: 2018-07-05-15-51-29 1037.. nonce: Gr9XUH 1038.. section: Core and Builtins 1039 1040Fix dict.copy() to maintain correct total refcount (as reported by 1041sys.gettotalrefcount()). 1042 1043.. 1044 1045.. bpo: 33418 1046.. date: 2018-07-03-19-00-10 1047.. nonce: cfGm3n 1048.. section: Core and Builtins 1049 1050Fix potential memory leak in function object when it creates reference 1051cycle. 1052 1053.. 1054 1055.. bpo: 33985 1056.. date: 2018-06-27-18-56-41 1057.. nonce: ILJ3Af 1058.. section: Core and Builtins 1059 1060Implement contextvars.ContextVar.name attribute. 1061 1062.. 1063 1064.. bpo: 33956 1065.. date: 2018-06-25-20-42-44 1066.. nonce: 1qoTwD 1067.. section: Core and Builtins 1068 1069Update vendored Expat library copy to version 2.2.5. 1070 1071.. 1072 1073.. bpo: 24596 1074.. date: 2018-06-25-16-54-05 1075.. nonce: Rkwova 1076.. section: Core and Builtins 1077 1078Decref the module object in :c:func:`PyRun_SimpleFileExFlags` before calling 1079:c:func:`PyErr_Print()`. Patch by Zackery Spytz. 1080 1081.. 1082 1083.. bpo: 33451 1084.. date: 2018-06-23-15-32-02 1085.. nonce: sWN-1l 1086.. section: Core and Builtins 1087 1088Close directly executed pyc files before calling ``PyEval_EvalCode()``. 1089 1090.. 1091 1092.. bpo: 1617161 1093.. date: 2018-06-21-21-42-15 1094.. nonce: tSo2yM 1095.. section: Core and Builtins 1096 1097The hash of :class:`BuiltinMethodType` instances (methods of built-in 1098classes) now depends on the hash of the identity of *__self__* instead of 1099its value. The hash and equality of :class:`ModuleType` and 1100:class:`MethodWrapperType` instances (methods of user-defined classes and 1101some methods of built-in classes like ``str.__add__``) now depend on the 1102hash and equality of the identity of *__self__* instead of its value. 1103:class:`MethodWrapperType` instances no longer support ordering. 1104 1105.. 1106 1107.. bpo: 33824 1108.. date: 2018-06-15-19-39-06 1109.. nonce: DfWHT3 1110.. section: Core and Builtins 1111 1112Fix "LC_ALL=C python3.7 -V": reset properly the command line parser when the 1113encoding changes after reading the Python configuration. 1114 1115.. 1116 1117.. bpo: 33803 1118.. date: 2018-06-07-20-18-38 1119.. nonce: n-Nq6_ 1120.. section: Core and Builtins 1121 1122Fix a crash in hamt.c caused by enabling GC tracking for an object that 1123hadn't all of its fields set to NULL. 1124 1125.. 1126 1127.. bpo: 33738 1128.. date: 2018-06-07-18-34-19 1129.. nonce: ODZS7a 1130.. section: Core and Builtins 1131 1132Seven macro incompatibilities with the Limited API were fixed, and the 1133macros :c:func:`PyIter_Check`, :c:func:`PyIndex_Check` and 1134:c:func:`PyExceptionClass_Name` were added as functions. A script for 1135automatic macro checks was added. 1136 1137.. 1138 1139.. bpo: 33786 1140.. date: 2018-06-06-23-24-40 1141.. nonce: lBvT8z 1142.. section: Core and Builtins 1143 1144Fix asynchronous generators to handle GeneratorExit in athrow() correctly 1145 1146.. 1147 1148.. bpo: 30167 1149.. date: 2018-06-05-15-49-02 1150.. nonce: e956hA 1151.. section: Core and Builtins 1152 1153``PyRun_SimpleFileExFlags`` removes ``__cached__`` from module in addition 1154to ``__file__``. 1155 1156.. 1157 1158.. bpo: 33706 1159.. date: 2018-05-31-14-50-04 1160.. nonce: ztlH04 1161.. section: Core and Builtins 1162 1163Fix a crash in Python initialization when parsing the command line options. 1164Thanks Christoph Gohlke for the bug report and the fix! 1165 1166.. 1167 1168.. bpo: 33597 1169.. date: 2018-05-28-21-17-31 1170.. nonce: r0ToM4 1171.. section: Core and Builtins 1172 1173Reduce ``PyGC_Head`` size from 3 words to 2 words. 1174 1175.. 1176 1177.. bpo: 30654 1178.. date: 2018-05-28-12-28-53 1179.. nonce: 9fDJye 1180.. section: Core and Builtins 1181 1182Fixed reset of the SIGINT handler to SIG_DFL on interpreter shutdown even 1183when there was a custom handler set previously. Patch by Philipp Kerling. 1184 1185.. 1186 1187.. bpo: 33622 1188.. date: 2018-05-23-20-46-14 1189.. nonce: xPucO9 1190.. section: Core and Builtins 1191 1192Fixed a leak when the garbage collector fails to add an object with the 1193``__del__`` method or referenced by it into the :data:`gc.garbage` list. 1194:c:func:`PyGC_Collect` can now be called when an exception is set and 1195preserves it. 1196 1197.. 1198 1199.. bpo: 33462 1200.. date: 2018-05-23-17-18-02 1201.. nonce: gurbpbrhe 1202.. section: Core and Builtins 1203 1204Make dict and dict views reversible. Patch by Rémi Lapeyre. 1205 1206.. 1207 1208.. bpo: 23722 1209.. date: 2018-05-17-13-06-36 1210.. nonce: xisqZk 1211.. section: Core and Builtins 1212 1213A :exc:`RuntimeError` is now raised when the custom metaclass doesn't 1214provide the ``__classcell__`` entry in the namespace passed to 1215``type.__new__``. A :exc:`DeprecationWarning` was emitted in Python 12163.6--3.7. 1217 1218.. 1219 1220.. bpo: 33499 1221.. date: 2018-05-15-10-48-47 1222.. nonce: uBEc06 1223.. section: Core and Builtins 1224 1225Add :envvar:`PYTHONPYCACHEPREFIX` environment variable and :option:`-X` 1226``pycache_prefix`` command-line option to set an alternate root directory 1227for writing module bytecode cache files. 1228 1229.. 1230 1231.. bpo: 25711 1232.. date: 2018-05-14-18-54-03 1233.. nonce: 9xfq-v 1234.. section: Core and Builtins 1235 1236The :mod:`zipimport` module has been rewritten in pure Python. 1237 1238.. 1239 1240.. bpo: 33509 1241.. date: 2018-05-14-17-31-02 1242.. nonce: pIUfTd 1243.. section: Core and Builtins 1244 1245Fix module_globals parameter of warnings.warn_explicit(): don't crash if 1246module_globals is not a dict. 1247 1248.. 1249 1250.. bpo: 31849 1251.. date: 2018-05-14-11-00-00 1252.. nonce: EmHaH4 1253.. section: Core and Builtins 1254 1255Fix signed/unsigned comparison warning in pyhash.c. 1256 1257.. 1258 1259.. bpo: 33475 1260.. date: 2018-05-13-01-26-18 1261.. nonce: rI0y1U 1262.. section: Core and Builtins 1263 1264Fixed miscellaneous bugs in converting annotations to strings and optimized 1265parentheses in the string representation. 1266 1267.. 1268 1269.. bpo: 20104 1270.. date: 2018-05-05-23-26-58 1271.. nonce: tDBciE 1272.. section: Core and Builtins 1273 1274Added support for the `setpgroup`, `resetids`, `setsigmask`, `setsigdef` and 1275`scheduler` parameters of `posix_spawn`. Patch by Pablo Galindo. 1276 1277.. 1278 1279.. bpo: 33391 1280.. date: 2018-05-02-08-36-03 1281.. nonce: z4a7rb 1282.. section: Core and Builtins 1283 1284Fix a leak in set_symmetric_difference(). 1285 1286.. 1287 1288.. bpo: 33363 1289.. date: 2018-04-26-22-48-28 1290.. nonce: 8RCnN2 1291.. section: Core and Builtins 1292 1293Raise a SyntaxError for ``async with`` and ``async for`` statements outside 1294of async functions. 1295 1296.. 1297 1298.. bpo: 28055 1299.. date: 2018-04-25-20-44-42 1300.. nonce: f49kfC 1301.. section: Core and Builtins 1302 1303Fix unaligned accesses in siphash24(). Patch by Rolf Eike Beer. 1304 1305.. 1306 1307.. bpo: 33128 1308.. date: 2018-04-24-22-31-04 1309.. nonce: g2yLuf 1310.. section: Core and Builtins 1311 1312Fix a bug that causes PathFinder to appear twice on sys.meta_path. Patch by 1313Pablo Galindo Salgado. 1314 1315.. 1316 1317.. bpo: 33331 1318.. date: 2018-04-22-13-41-59 1319.. nonce: s_DxdL 1320.. section: Core and Builtins 1321 1322Modules imported last are now cleared first at interpreter shutdown. 1323 1324.. 1325 1326.. bpo: 33312 1327.. date: 2018-04-19-08-30-07 1328.. nonce: mDe2iL 1329.. section: Core and Builtins 1330 1331Fixed clang ubsan (undefined behavior sanitizer) warnings in dictobject.c by 1332adjusting how the internal struct _dictkeysobject shared keys structure is 1333declared. 1334 1335.. 1336 1337.. bpo: 33305 1338.. date: 2018-04-18-14-17-44 1339.. nonce: 9z3dDH 1340.. section: Core and Builtins 1341 1342Improved syntax error messages for invalid numerical literals. 1343 1344.. 1345 1346.. bpo: 33306 1347.. date: 2018-04-18-12-23-30 1348.. nonce: tSM3cp 1349.. section: Core and Builtins 1350 1351Improved syntax error messages for unbalanced parentheses. 1352 1353.. 1354 1355.. bpo: 33234 1356.. date: 2018-04-17-01-24-51 1357.. nonce: l9IDtp 1358.. section: Core and Builtins 1359 1360The list constructor will pre-size and not over-allocate when the input 1361length is known. 1362 1363.. 1364 1365.. bpo: 33270 1366.. date: 2018-04-14-13-12-50 1367.. nonce: UmVV6i 1368.. section: Core and Builtins 1369 1370Intern the names for all anonymous code objects. Patch by Zackery Spytz. 1371 1372.. 1373 1374.. bpo: 30455 1375.. date: 2018-04-14-11-02-57 1376.. nonce: ANRwjo 1377.. section: Core and Builtins 1378 1379The C and Python code and the documentation related to tokens are now 1380generated from a single source file :file:`Grammar/Tokens`. 1381 1382.. 1383 1384.. bpo: 33176 1385.. date: 2018-04-13-22-31-09 1386.. nonce: PB9com 1387.. section: Core and Builtins 1388 1389Add a ``toreadonly()`` method to memoryviews. 1390 1391.. 1392 1393.. bpo: 33231 1394.. date: 2018-04-05-22-20-44 1395.. nonce: 3Jmo0q 1396.. section: Core and Builtins 1397 1398Fix potential memory leak in ``normalizestring()``. 1399 1400.. 1401 1402.. bpo: 33205 1403.. date: 2018-04-03-00-58-41 1404.. nonce: lk2F3r 1405.. section: Core and Builtins 1406 1407Change dict growth function from 1408``round_up_to_power_2(used*2+hashtable_size/2)`` to 1409``round_up_to_power_2(used*3)``. Previously, dict is shrinked only when 1410``used == 0``. Now dict has more chance to be shrinked. 1411 1412.. 1413 1414.. bpo: 29922 1415.. date: 2018-04-03-00-30-25 1416.. nonce: CdLuMl 1417.. section: Core and Builtins 1418 1419Improved error messages in 'async with' when ``__aenter__()`` or 1420``__aexit__()`` return non-awaitable object. 1421 1422.. 1423 1424.. bpo: 33199 1425.. date: 2018-04-02-09-32-40 1426.. nonce: TPnxQu 1427.. section: Core and Builtins 1428 1429Fix ``ma_version_tag`` in dict implementation is uninitialized when copying 1430from key-sharing dict. 1431 1432.. 1433 1434.. bpo: 33053 1435.. date: 2018-03-25-19-49-06 1436.. nonce: V3xlsH 1437.. section: Core and Builtins 1438 1439When using the -m switch, sys.path[0] is now explicitly expanded as the 1440*starting* working directory, rather than being left as the empty path 1441(which allows imports from the current working directory at the time of the 1442import) 1443 1444.. 1445 1446.. bpo: 33138 1447.. date: 2018-03-25-19-25-14 1448.. nonce: aSqudH 1449.. section: Core and Builtins 1450 1451Changed standard error message for non-pickleable and non-copyable types. It 1452now says "cannot pickle" instead of "can't pickle" or "cannot serialize". 1453 1454.. 1455 1456.. bpo: 33018 1457.. date: 2018-03-22-23-09-06 1458.. nonce: 0ncEJV 1459.. section: Core and Builtins 1460 1461Improve consistency of errors raised by ``issubclass()`` when called with a 1462non-class and an abstract base class as the first and second arguments, 1463respectively. Patch by Josh Bronson. 1464 1465.. 1466 1467.. bpo: 33083 1468.. date: 2018-03-19-00-59-20 1469.. nonce: Htztjl 1470.. section: Core and Builtins 1471 1472``math.factorial`` no longer accepts arguments that are not int-like. Patch 1473by Pablo Galindo. 1474 1475.. 1476 1477.. bpo: 33041 1478.. date: 2018-03-18-13-56-14 1479.. nonce: XwPhI2 1480.. section: Core and Builtins 1481 1482Added new opcode :opcode:`END_ASYNC_FOR` and fixes the following issues: 1483 1484* Setting global :exc:`StopAsyncIteration` no longer breaks ``async for`` 1485 loops. 1486* Jumping into an ``async for`` loop is now disabled. 1487* Jumping out of an ``async for`` loop no longer corrupts the stack. 1488 1489.. 1490 1491.. bpo: 25750 1492.. date: 2018-03-14-21-42-17 1493.. nonce: lxgkQz 1494.. section: Core and Builtins 1495 1496Fix rare Python crash due to bad refcounting in ``type_getattro()`` if a 1497descriptor deletes itself from the class. Patch by Jeroen Demeyer. 1498 1499.. 1500 1501.. bpo: 33041 1502.. date: 2018-03-10-15-16-40 1503.. nonce: -ak5Fk 1504.. section: Core and Builtins 1505 1506Fixed bytecode generation for "async for" with a complex target. A 1507StopAsyncIteration raised on assigning or unpacking will be now propagated 1508instead of stopping the iteration. 1509 1510.. 1511 1512.. bpo: 33026 1513.. date: 2018-03-08-09-48-38 1514.. nonce: QZA3Ba 1515.. section: Core and Builtins 1516 1517Fixed jumping out of "with" block by setting f_lineno. 1518 1519.. 1520 1521.. bpo: 33005 1522.. date: 2018-03-06-12-19-19 1523.. nonce: LP-V2U 1524.. section: Core and Builtins 1525 1526Fix a crash on fork when using a custom memory allocator (ex: using 1527PYTHONMALLOC env var). _PyGILState_Reinit() and _PyInterpreterState_Enable() 1528now use the default RAW memory allocator to allocate a new interpreters 1529mutex on fork. 1530 1531.. 1532 1533.. bpo: 32911 1534.. date: 2018-02-27-20-57-00 1535.. nonce: cmKfco 1536.. section: Core and Builtins 1537 1538Due to unexpected compatibility issues discovered during downstream beta 1539testing, reverted :issue:`29463`. ``docstring`` field is removed from 1540Module, ClassDef, FunctionDef, and AsyncFunctionDef ast nodes which was 1541added in 3.7a1. Docstring expression is restored as a first statement in 1542their body. Based on patch by Inada Naoki. 1543 1544.. 1545 1546.. bpo: 17288 1547.. date: 2018-02-27-13-36-21 1548.. nonce: Gdj24S 1549.. section: Core and Builtins 1550 1551Prevent jumps from 'return' and 'exception' trace events. 1552 1553.. 1554 1555.. bpo: 32946 1556.. date: 2018-02-25-10-52-40 1557.. nonce: Lo09rG 1558.. section: Core and Builtins 1559 1560Importing names from already imported module with "from ... import ..." is 1561now 30% faster if the module is not a package. 1562 1563.. 1564 1565.. bpo: 32932 1566.. date: 2018-02-24-21-51-42 1567.. nonce: 2cz31L 1568.. section: Core and Builtins 1569 1570Make error message more revealing when there are non-str objects in 1571``__all__``. 1572 1573.. 1574 1575.. bpo: 32925 1576.. date: 2018-02-24-00-07-05 1577.. nonce: e-7Ufh 1578.. section: Core and Builtins 1579 1580Optimized iterating and containing test for literal lists consisting of 1581non-constants: ``x in [a, b]`` and ``for x in [a, b]``. The case of all 1582constant elements already was optimized. 1583 1584.. 1585 1586.. bpo: 32889 1587.. date: 2018-02-20-21-53-48 1588.. nonce: J6eWy5 1589.. section: Core and Builtins 1590 1591Update Valgrind suppression list to account for the rename of 1592``Py_ADDRESS_IN_RANG`` to ``address_in_range``. 1593 1594.. 1595 1596.. bpo: 32836 1597.. date: 2018-02-14-12-35-47 1598.. nonce: bThJnx 1599.. section: Core and Builtins 1600 1601Don't use temporary variables in cases of list/dict/set comprehensions 1602 1603.. 1604 1605.. bpo: 31356 1606.. date: 2018-02-02-08-50-46 1607.. nonce: MNwUOQ 1608.. section: Core and Builtins 1609 1610Remove the new API added in bpo-31356 (gc.ensure_disabled() context 1611manager). 1612 1613.. 1614 1615.. bpo: 32305 1616.. date: 2018-02-01-10-56-41 1617.. nonce: dkU9Qa 1618.. section: Core and Builtins 1619 1620For namespace packages, ensure that both ``__file__`` and 1621``__spec__.origin`` are set to None. 1622 1623.. 1624 1625.. bpo: 32303 1626.. date: 2018-02-01-10-16-28 1627.. nonce: VsvhSl 1628.. section: Core and Builtins 1629 1630Make sure ``__spec__.loader`` matches ``__loader__`` for namespace packages. 1631 1632.. 1633 1634.. bpo: 32711 1635.. date: 2018-01-29-14-36-37 1636.. nonce: 8hQFJP 1637.. section: Core and Builtins 1638 1639Fix the warning messages for Python/ast_unparse.c. Patch by Stéphane Wirtel 1640 1641.. 1642 1643.. bpo: 32583 1644.. date: 2018-01-26-21-20-21 1645.. nonce: Fh3fau 1646.. section: Core and Builtins 1647 1648Fix possible crashing in builtin Unicode decoders caused by write 1649out-of-bound errors when using customized decode error handlers. 1650 1651.. 1652 1653.. bpo: 32489 1654.. date: 2018-01-03-23-12-43 1655.. nonce: SDEPHB 1656.. section: Core and Builtins 1657 1658A :keyword:`continue` statement is now allowed in the :keyword:`finally` 1659clause. 1660 1661.. 1662 1663.. bpo: 17611 1664.. date: 2017-12-24-19-48-59 1665.. nonce: P85kWL 1666.. section: Core and Builtins 1667 1668Simplified the interpreter loop by moving the logic of unrolling the stack 1669of blocks into the compiler. The compiler emits now explicit instructions 1670for adjusting the stack of values and calling the cleaning up code for 1671:keyword:`break`, :keyword:`continue` and :keyword:`return`. 1672 1673Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`, 1674:opcode:`SETUP_LOOP` and :opcode:`SETUP_EXCEPT`. Added new opcodes 1675:opcode:`ROT_FOUR`, :opcode:`BEGIN_FINALLY` and :opcode:`CALL_FINALLY` and 1676:opcode:`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` and 1677:opcode:`WITH_CLEANUP_START`. 1678 1679.. 1680 1681.. bpo: 32285 1682.. date: 2017-12-12-13-43-13 1683.. nonce: LzKSwz 1684.. section: Core and Builtins 1685 1686New function unicodedata.is_normalized, which can check whether a string is 1687in a specific normal form. 1688 1689.. 1690 1691.. bpo: 10544 1692.. date: 2017-11-26-00-59-22 1693.. nonce: fHOM3V 1694.. section: Core and Builtins 1695 1696Yield expressions are now disallowed in comprehensions and generator 1697expressions except the expression for the outermost iterable. 1698 1699.. 1700 1701.. bpo: 32117 1702.. date: 2017-11-22-15-43-14 1703.. nonce: -vloh8 1704.. section: Core and Builtins 1705 1706Iterable unpacking is now allowed without parentheses in yield and return 1707statements, e.g. ``yield 1, 2, 3, *rest``. Thanks to David Cuthbert for the 1708change and Jordan Chapman for added tests. 1709 1710.. 1711 1712.. bpo: 31902 1713.. date: 2017-10-30-12-44-50 1714.. nonce: a07fa57 1715.. section: Core and Builtins 1716 1717Fix the ``col_offset`` attribute for ast nodes ``ast.AsyncFor``, 1718``ast.AsyncFunctionDef``, and ``ast.AsyncWith``. Previously, ``col_offset`` 1719pointed to the keyword after ``async``. 1720 1721.. 1722 1723.. bpo: 25862 1724.. date: 2017-10-07-10-13-15 1725.. nonce: FPYBA5 1726.. section: Core and Builtins 1727 1728Fix assertion failures in the ``tell()`` method of ``io.TextIOWrapper``. 1729Patch by Zackery Spytz. 1730 1731.. 1732 1733.. bpo: 21983 1734.. date: 2017-10-02-21-02-14 1735.. nonce: UoC319 1736.. section: Core and Builtins 1737 1738Fix a crash in `ctypes.cast()` in case the type argument is a ctypes 1739structured data type. Patch by Eryk Sun and Oren Milman. 1740 1741.. 1742 1743.. bpo: 31577 1744.. date: 2017-09-25-20-36-24 1745.. nonce: jgYsSA 1746.. section: Core and Builtins 1747 1748Fix a crash in `os.utime()` in case of a bad ns argument. Patch by Oren 1749Milman. 1750 1751.. 1752 1753.. bpo: 29832 1754.. date: 2017-09-12-08-11-01 1755.. nonce: Kuf2M7 1756.. section: Core and Builtins 1757 1758Remove references to 'getsockaddrarg' from various socket error messages. 1759Patch by Oren Milman. 1760 1761.. 1762 1763.. bpo: 35845 1764.. date: 2019-02-02-00-04-01 1765.. nonce: 1jx2wk 1766.. section: Library 1767 1768Add 'order' parameter to memoryview.tobytes(). 1769 1770.. 1771 1772.. bpo: 35864 1773.. date: 2019-01-30-20-22-36 1774.. nonce: ig9KnG 1775.. section: Library 1776 1777The _asdict() method for collections.namedtuple now returns a regular dict 1778instead of an OrderedDict. 1779 1780.. 1781 1782.. bpo: 35537 1783.. date: 2019-01-29-17-24-52 1784.. nonce: Q0ktFC 1785.. section: Library 1786 1787An ExitStack is now used internally within subprocess.POpen to clean up pipe 1788file handles. No behavior change in normal operation. But if closing one 1789handle were ever to cause an exception, the others will now be closed 1790instead of leaked. (patch by Giampaolo Rodola) 1791 1792.. 1793 1794.. bpo: 35847 1795.. date: 2019-01-29-09-11-09 1796.. nonce: eiSi4t 1797.. section: Library 1798 1799RISC-V needed the CTYPES_PASS_BY_REF_HACK. Fixes ctypes Structure 1800test_pass_by_value. 1801 1802.. 1803 1804.. bpo: 35813 1805.. date: 2019-01-23-22-44-37 1806.. nonce: Yobj-Y 1807.. section: Library 1808 1809Shared memory submodule added to multiprocessing to avoid need for 1810serialization between processes 1811 1812.. 1813 1814.. bpo: 35780 1815.. date: 2019-01-19-17-01-43 1816.. nonce: CLf7fT 1817.. section: Library 1818 1819Fix lru_cache() errors arising in recursive, reentrant, or multi-threaded 1820code. These errors could result in orphan links and in the cache being 1821trapped in a state with fewer than the specified maximum number of links. 1822Fix handling of negative maxsize which should have been treated as zero. Fix 1823errors in toggling the "full" status flag. Fix misordering of links when 1824errors are encountered. Sync-up the C code and pure Python code for the 1825space saving path in functions with a single positional argument. In this 1826common case, the space overhead of an lru cache entry is reduced by almost 1827half. Fix counting of cache misses. In error cases, the miss count was out 1828of sync with the actual number of times the underlying user function was 1829called. 1830 1831.. 1832 1833.. bpo: 35537 1834.. date: 2019-01-18-13-44-13 1835.. nonce: R1lbTl 1836.. section: Library 1837 1838:func:`os.posix_spawn` and :func:`os.posix_spawnp` now have a *setsid* 1839parameter. 1840 1841.. 1842 1843.. bpo: 23846 1844.. date: 2019-01-15-13-31-30 1845.. nonce: LT_qL8 1846.. section: Library 1847 1848:class:`asyncio.ProactorEventLoop` now catches and logs send errors when the 1849self-pipe is full. 1850 1851.. 1852 1853.. bpo: 34323 1854.. date: 2019-01-14-17-34-36 1855.. nonce: CRErrt 1856.. section: Library 1857 1858:mod:`asyncio`: Enhance ``IocpProactor.close()`` log: wait 1 second before 1859the first log, then log every second. Log also the number of seconds since 1860``close()`` was called. 1861 1862.. 1863 1864.. bpo: 35674 1865.. date: 2019-01-14-14-13-08 1866.. nonce: kamWqz 1867.. section: Library 1868 1869Add a new :func:`os.posix_spawnp` function. Patch by Joannah Nanjekye. 1870 1871.. 1872 1873.. bpo: 35733 1874.. date: 2019-01-13-18-42-41 1875.. nonce: eFfLiv 1876.. section: Library 1877 1878``ast.Constant(boolean)`` no longer an instance of :class:`ast.Num`. Patch 1879by Anthony Sottile. 1880 1881.. 1882 1883.. bpo: 35726 1884.. date: 2019-01-13-01-33-00 1885.. nonce: dasdas 1886.. section: Library 1887 1888QueueHandler.prepare() now makes a copy of the record before modifying and 1889enqueueing it, to avoid affecting other handlers in the chain. 1890 1891.. 1892 1893.. bpo: 35719 1894.. date: 2019-01-11-20-21-59 1895.. nonce: qyRcpE 1896.. section: Library 1897 1898Sped up multi-argument :mod:`math` functions atan2(), copysign(), 1899remainder() and hypot() by 1.3--2.5 times. 1900 1901.. 1902 1903.. bpo: 35717 1904.. date: 2019-01-11-17-56-15 1905.. nonce: 6TDTB_ 1906.. section: Library 1907 1908Fix KeyError exception raised when using enums and compile. Patch 1909contributed by Rémi Lapeyre. 1910 1911.. 1912 1913.. bpo: 35699 1914.. date: 2019-01-11-07-09-25 1915.. nonce: VDiENF 1916.. section: Library 1917 1918Fixed detection of Visual Studio Build Tools 2017 in distutils 1919 1920.. 1921 1922.. bpo: 32710 1923.. date: 2019-01-10-15-55-10 1924.. nonce: KwECPu 1925.. section: Library 1926 1927Fix memory leaks in asyncio ProactorEventLoop on overlapped operation 1928failure. 1929 1930.. 1931 1932.. bpo: 35702 1933.. date: 2019-01-10-14-03-12 1934.. nonce: _ct_0H 1935.. section: Library 1936 1937The :data:`time.CLOCK_UPTIME_RAW` constant is now available for macOS 10.12. 1938 1939.. 1940 1941.. bpo: 32710 1942.. date: 2019-01-08-14-00-52 1943.. nonce: Sn5Ujj 1944.. section: Library 1945 1946Fix a memory leak in asyncio in the ProactorEventLoop when ``ReadFile()`` or 1947``WSASend()`` overlapped operation fail immediately: release the internal 1948buffer. 1949 1950.. 1951 1952.. bpo: 35682 1953.. date: 2019-01-08-01-54-02 1954.. nonce: KDM9lk 1955.. section: Library 1956 1957Fix ``asyncio.ProactorEventLoop.sendfile()``: don't attempt to set the 1958result of an internal future if it's already done. 1959 1960.. 1961 1962.. bpo: 35283 1963.. date: 2019-01-07-17-17-16 1964.. nonce: WClosC 1965.. section: Library 1966 1967Add a deprecated warning for the :meth:`threading.Thread.isAlive` method. 1968Patch by Dong-hee Na. 1969 1970.. 1971 1972.. bpo: 35664 1973.. date: 2019-01-04-22-18-25 1974.. nonce: Z-Gyyj 1975.. section: Library 1976 1977Improve operator.itemgetter() performance by 33% with optimized argument 1978handling and with adding a fast path for the common case of a single 1979non-negative integer index into a tuple (which is the typical use case in 1980the standard library). 1981 1982.. 1983 1984.. bpo: 35643 1985.. date: 2019-01-02-20-04-49 1986.. nonce: DaMiaV 1987.. section: Library 1988 1989Fixed a SyntaxWarning: invalid escape sequence in Modules/_sha3/cleanup.py. 1990Patch by Mickaël Schoentgen. 1991 1992.. 1993 1994.. bpo: 35619 1995.. date: 2018-12-30-19-50-36 1996.. nonce: ZRXdhy 1997.. section: Library 1998 1999Improved support of custom data descriptors in :func:`help` and 2000:mod:`pydoc`. 2001 2002.. 2003 2004.. bpo: 28503 2005.. date: 2018-12-30-14-56-33 2006.. nonce: V4kNN3 2007.. section: Library 2008 2009The `crypt` module now internally uses the `crypt_r()` library function 2010instead of `crypt()` when available. 2011 2012.. 2013 2014.. bpo: 35614 2015.. date: 2018-12-30-01-10-50 2016.. nonce: cnkM4f 2017.. section: Library 2018 2019Fixed help() on metaclasses. Patch by Sanyam Khurana. 2020 2021.. 2022 2023.. bpo: 35568 2024.. date: 2018-12-27-19-23-00 2025.. nonce: PutiOC 2026.. section: Library 2027 2028Expose ``raise(signum)`` as `raise_signal` 2029 2030.. 2031 2032.. bpo: 35588 2033.. date: 2018-12-26-10-55-59 2034.. nonce: PSR6Ez 2035.. section: Library 2036 2037The floor division and modulo operations and the :func:`divmod` function on 2038:class:`fractions.Fraction` types are 2--4x faster. Patch by Stefan Behnel. 2039 2040.. 2041 2042.. bpo: 35585 2043.. date: 2018-12-26-02-28-00 2044.. nonce: Lkzd3Z 2045.. section: Library 2046 2047Speed-up building enums by value, e.g. http.HTTPStatus(200). 2048 2049.. 2050 2051.. bpo: 30561 2052.. date: 2018-12-23-22-27-59 2053.. nonce: PSRQ2w 2054.. section: Library 2055 2056random.gammavariate(1.0, beta) now computes the same result as 2057random.expovariate(1.0 / beta). This synchronizes the two algorithms and 2058eliminates some idiosyncrasies in the old implementation. It does however 2059produce a difference stream of random variables than it used to. 2060 2061.. 2062 2063.. bpo: 35537 2064.. date: 2018-12-20-16-24-51 2065.. nonce: z4E7aA 2066.. section: Library 2067 2068The :mod:`subprocess` module can now use the :func:`os.posix_spawn` function 2069in some cases for better performance. 2070 2071.. 2072 2073.. bpo: 35526 2074.. date: 2018-12-18-21-12-25 2075.. nonce: fYvo6H 2076.. section: Library 2077 2078Delaying the 'joke' of barry_as_FLUFL.mandatory to Python version 4.0 2079 2080.. 2081 2082.. bpo: 35523 2083.. date: 2018-12-18-13-52-13 2084.. nonce: SkoMno 2085.. section: Library 2086 2087Remove :mod:`ctypes` callback workaround: no longer create a callback at 2088startup. Avoid SELinux alert on ``import ctypes`` and ``import uuid``. 2089 2090.. 2091 2092.. bpo: 31784 2093.. date: 2018-12-17-11-43-11 2094.. nonce: W0gDjC 2095.. section: Library 2096 2097:func:`uuid.uuid1` now calls :func:`time.time_ns` rather than 2098``int(time.time() * 1e9)``. 2099 2100.. 2101 2102.. bpo: 35513 2103.. date: 2018-12-16-23-28-49 2104.. nonce: pn-Zh3 2105.. section: Library 2106 2107:class:`~unittest.runner.TextTestRunner` of :mod:`unittest.runner` now uses 2108:func:`time.perf_counter` rather than :func:`time.time` to measure the 2109execution time of a test: :func:`time.time` can go backwards, whereas 2110:func:`time.perf_counter` is monotonic. 2111 2112.. 2113 2114.. bpo: 35502 2115.. date: 2018-12-14-23-56-48 2116.. nonce: gLHuFS 2117.. section: Library 2118 2119Fixed reference leaks in :class:`xml.etree.ElementTree.TreeBuilder` in case 2120of unfinished building of the tree (in particular when an error was raised 2121during parsing XML). 2122 2123.. 2124 2125.. bpo: 35348 2126.. date: 2018-12-14-13-27-45 2127.. nonce: u3Y2an 2128.. section: Library 2129 2130Make :func:`platform.architecture` parsing of ``file`` command output more 2131reliable: add the ``-b`` option to the ``file`` command to omit the 2132filename, force the usage of the C locale, and search also the "shared 2133object" pattern. 2134 2135.. 2136 2137.. bpo: 35491 2138.. date: 2018-12-14-12-12-15 2139.. nonce: jHsNOU 2140.. section: Library 2141 2142:mod:`multiprocessing`: Add ``Pool.__repr__()`` and enhance 2143``BaseProcess.__repr__()`` (add pid and parent pid) to ease debugging. Pool 2144state constant values are now strings instead of integers, for example 2145``RUN`` value becomes ``'RUN'`` instead of ``0``. 2146 2147.. 2148 2149.. bpo: 35477 2150.. date: 2018-12-13-00-10-51 2151.. nonce: hHyy06 2152.. section: Library 2153 2154:meth:`multiprocessing.Pool.__enter__` now fails if the pool is not running: 2155``with pool:`` fails if used more than once. 2156 2157.. 2158 2159.. bpo: 31446 2160.. date: 2018-12-12-22-52-34 2161.. nonce: l--Fjz 2162.. section: Library 2163 2164Copy command line that was passed to CreateProcessW since this function can 2165change the content of the input buffer. 2166 2167.. 2168 2169.. bpo: 35471 2170.. date: 2018-12-12-16-25-21 2171.. nonce: SK8jFC 2172.. section: Library 2173 2174Python 2.4 dropped MacOS 9 support. The macpath module was deprecated in 2175Python 3.7. The module is now removed. 2176 2177.. 2178 2179.. bpo: 23057 2180.. date: 2018-12-12-16-24-55 2181.. nonce: OB4Z1Y 2182.. section: Library 2183 2184Unblock Proactor event loop when keyboard interrupt is received on Windows 2185 2186.. 2187 2188.. bpo: 35052 2189.. date: 2018-12-10-09-48-27 2190.. nonce: xE1ymg 2191.. section: Library 2192 2193Fix xml.dom.minidom cloneNode() on a document with an entity: pass the 2194correct arguments to the user data handler of an entity. 2195 2196.. 2197 2198.. bpo: 20239 2199.. date: 2018-12-09-21-35-49 2200.. nonce: V4mWBL 2201.. section: Library 2202 2203Allow repeated assignment deletion of :class:`unittest.mock.Mock` 2204attributes. Patch by Pablo Galindo. 2205 2206.. 2207 2208.. bpo: 17185 2209.. date: 2018-12-09-17-04-15 2210.. nonce: SfSCJF 2211.. section: Library 2212 2213Set ``__signature__`` on mock for :mod:`inspect` to get signature. Patch by 2214Karthikeyan Singaravelan. 2215 2216.. 2217 2218.. bpo: 35445 2219.. date: 2018-12-09-14-35-49 2220.. nonce: LjvtsC 2221.. section: Library 2222 2223Memory errors during creating posix.environ no longer ignored. 2224 2225.. 2226 2227.. bpo: 35415 2228.. date: 2018-12-06-14-44-21 2229.. nonce: -HoK3d 2230.. section: Library 2231 2232Validate fileno= argument to socket.socket(). 2233 2234.. 2235 2236.. bpo: 35424 2237.. date: 2018-12-06-02-02-28 2238.. nonce: gXxOJU 2239.. section: Library 2240 2241:class:`multiprocessing.Pool` destructor now emits :exc:`ResourceWarning` if 2242the pool is still running. 2243 2244.. 2245 2246.. bpo: 35330 2247.. date: 2018-12-06-00-43-13 2248.. nonce: abB4BN 2249.. section: Library 2250 2251When a :class:`Mock` instance was used to wrap an object, if `side_effect` 2252is used in one of the mocks of it methods, don't call the original 2253implementation and return the result of using the side effect the same way 2254that it is done with return_value. 2255 2256.. 2257 2258.. bpo: 35346 2259.. date: 2018-12-05-22-52-21 2260.. nonce: Okm9-S 2261.. section: Library 2262 2263Drop Mac OS 9 and Rhapsody support from the :mod:`platform` module. Rhapsody 2264last release was in 2000. Mac OS 9 last release was in 2001. 2265 2266.. 2267 2268.. bpo: 10496 2269.. date: 2018-12-05-17-42-49 2270.. nonce: laV_IE 2271.. section: Library 2272 2273:func:`~distutils.utils.check_environ` of :mod:`distutils.utils` now catches 2274:exc:`KeyError` on calling :func:`pwd.getpwuid`: don't create the ``HOME`` 2275environment variable in this case. 2276 2277.. 2278 2279.. bpo: 10496 2280.. date: 2018-12-05-13-37-39 2281.. nonce: VH-1Lp 2282.. section: Library 2283 2284:func:`posixpath.expanduser` now returns the input *path* unchanged if the 2285``HOME`` environment variable is not set and the current user has no home 2286directory (if the current user identifier doesn't exist in the password 2287database). This change fix the :mod:`site` module if the current user 2288doesn't exist in the password database (if the user has no home directory). 2289 2290.. 2291 2292.. bpo: 35389 2293.. date: 2018-12-04-12-46-05 2294.. nonce: CTZ9iA 2295.. section: Library 2296 2297:func:`platform.libc_ver` now uses ``os.confstr('CS_GNU_LIBC_VERSION')`` if 2298available and the *executable* parameter is not set. 2299 2300.. 2301 2302.. bpo: 35394 2303.. date: 2018-12-04-12-17-08 2304.. nonce: fuTVDk 2305.. section: Library 2306 2307Add empty slots to asyncio abstract protocols. 2308 2309.. 2310 2311.. bpo: 35310 2312.. date: 2018-12-03-19-45-00 2313.. nonce: 9k28gR 2314.. section: Library 2315 2316Fix a bug in :func:`select.select` where, in some cases, the file descriptor 2317sequences were returned unmodified after a signal interruption, even though 2318the file descriptors might not be ready yet. :func:`select.select` will now 2319always return empty lists if a timeout has occurred. Patch by Oran Avraham. 2320 2321.. 2322 2323.. bpo: 35380 2324.. date: 2018-12-03-14-41-11 2325.. nonce: SdRF9l 2326.. section: Library 2327 2328Enable TCP_NODELAY on Windows for proactor asyncio event loop. 2329 2330.. 2331 2332.. bpo: 35341 2333.. date: 2018-12-02-13-50-52 2334.. nonce: 32E8T_ 2335.. section: Library 2336 2337Add generic version of ``collections.OrderedDict`` to the ``typing`` module. 2338Patch by Ismo Toijala. 2339 2340.. 2341 2342.. bpo: 35371 2343.. date: 2018-12-01-13-44-12 2344.. nonce: fTAwlX 2345.. section: Library 2346 2347Fixed possible crash in ``os.utime()`` on Windows when pass incorrect 2348arguments. 2349 2350.. 2351 2352.. bpo: 35346 2353.. date: 2018-11-29-12-42-13 2354.. nonce: OmTY5c 2355.. section: Library 2356 2357:func:`platform.uname` now redirects ``stderr`` to :data:`os.devnull` when 2358running external programs like ``cmd /c ver``. 2359 2360.. 2361 2362.. bpo: 35066 2363.. date: 2018-11-29-09-38-40 2364.. nonce: Nwej2s 2365.. section: Library 2366 2367Previously, calling the strftime() method on a datetime object with a 2368trailing '%' in the format string would result in an exception. However, 2369this only occurred when the datetime C module was being used; the python 2370implementation did not match this behavior. Datetime is now PEP-399 2371compliant, and will not throw an exception on a trailing '%'. 2372 2373.. 2374 2375.. bpo: 35345 2376.. date: 2018-11-29-00-55-33 2377.. nonce: vepCSJ 2378.. section: Library 2379 2380The function `platform.popen` has been removed, it was deprecated since 2381Python 3.3: use :func:`os.popen` instead. 2382 2383.. 2384 2385.. bpo: 35344 2386.. date: 2018-11-29-00-23-25 2387.. nonce: 4QOPJQ 2388.. section: Library 2389 2390On macOS, :func:`platform.platform` now uses :func:`platform.mac_ver`, if it 2391returns a non-empty release string, to get the macOS version rather than the 2392darwin version. 2393 2394.. 2395 2396.. bpo: 35312 2397.. date: 2018-11-25-20-05-33 2398.. nonce: wbw0zO 2399.. section: Library 2400 2401Make ``lib2to3.pgen2.parse.ParseError`` round-trip pickle-able. Patch by 2402Anthony Sottile. 2403 2404.. 2405 2406.. bpo: 35308 2407.. date: 2018-11-24-10-33-42 2408.. nonce: 9--2iy 2409.. section: Library 2410 2411Fix regression in ``webbrowser`` where default browsers may be preferred 2412over browsers in the ``BROWSER`` environment variable. 2413 2414.. 2415 2416.. bpo: 24746 2417.. date: 2018-11-22-15-22-56 2418.. nonce: eSLKBE 2419.. section: Library 2420 2421Avoid stripping trailing whitespace in doctest fancy diff. Original patch by 2422R. David Murray & Jairo Trad. Enhanced by Sanyam Khurana. 2423 2424.. 2425 2426.. bpo: 28604 2427.. date: 2018-11-20-13-34-01 2428.. nonce: iiih5h 2429.. section: Library 2430 2431:func:`locale.localeconv` now sets temporarily the ``LC_CTYPE`` locale to 2432the ``LC_MONETARY`` locale if the two locales are different and monetary 2433strings are non-ASCII. This temporary change affects other threads. 2434 2435.. 2436 2437.. bpo: 35277 2438.. date: 2018-11-19-07-22-04 2439.. nonce: dsD-2E 2440.. section: Library 2441 2442Update ensurepip to install pip 18.1 and setuptools 40.6.2. 2443 2444.. 2445 2446.. bpo: 24209 2447.. date: 2018-11-18-18-44-40 2448.. nonce: p3YWOf 2449.. section: Library 2450 2451Adds IPv6 support when invoking http.server directly. 2452 2453.. 2454 2455.. bpo: 35226 2456.. date: 2018-11-15-07-14-32 2457.. nonce: wJPEEe 2458.. section: Library 2459 2460Recursively check arguments when testing for equality of 2461:class:`unittest.mock.call` objects and add note that tracking of parameters 2462used to create ancestors of mocks in ``mock_calls`` is not possible. 2463 2464.. 2465 2466.. bpo: 29564 2467.. date: 2018-11-12-17-40-04 2468.. nonce: SFNBT5 2469.. section: Library 2470 2471The warnings module now suggests to enable tracemalloc if the source is 2472specified, the tracemalloc module is available, but tracemalloc is not 2473tracing memory allocations. 2474 2475.. 2476 2477.. bpo: 35189 2478.. date: 2018-11-09-13-35-36 2479.. nonce: gog-sl 2480.. section: Library 2481 2482Modify the following fnctl function to retry if interrupted by a signal 2483(EINTR): flock, lockf, fnctl 2484 2485.. 2486 2487.. bpo: 30064 2488.. date: 2018-11-09-01-18-51 2489.. nonce: IF5mH6 2490.. section: Library 2491 2492Use add_done_callback() in sock_* asyncio API to unsubscribe reader/writer 2493early on calcellation. 2494 2495.. 2496 2497.. bpo: 35186 2498.. date: 2018-11-08-14-22-29 2499.. nonce: 5m22Mj 2500.. section: Library 2501 2502Removed the "built with" comment added when ``setup.py upload`` is used with 2503either ``bdist_rpm`` or ``bdist_dumb``. 2504 2505.. 2506 2507.. bpo: 35152 2508.. date: 2018-11-03-10-12-04 2509.. nonce: xpqskp 2510.. section: Library 2511 2512Allow sending more than 2 GB at once on a multiprocessing connection on 2513non-Windows systems. 2514 2515.. 2516 2517.. bpo: 35062 2518.. date: 2018-10-29-23-09-24 2519.. nonce: dQS1ng 2520.. section: Library 2521 2522Fix incorrect parsing of :class:`_io.IncrementalNewlineDecoder`'s 2523*translate* argument. 2524 2525.. 2526 2527.. bpo: 35065 2528.. date: 2018-10-29-10-18-31 2529.. nonce: CulMN8 2530.. section: Library 2531 2532Remove `StreamReaderProtocol._untrack_reader`. The call to `_untrack_reader` 2533is currently performed too soon, causing the protocol to forget about the 2534reader before `connection_lost` can run and feed the EOF to the reader. 2535 2536.. 2537 2538.. bpo: 34160 2539.. date: 2018-10-27-21-11-42 2540.. nonce: UzyPZf 2541.. section: Library 2542 2543ElementTree and minidom now preserve the attribute order specified by the 2544user. 2545 2546.. 2547 2548.. bpo: 35079 2549.. date: 2018-10-26-22-53-16 2550.. nonce: Tm5jvF 2551.. section: Library 2552 2553Improve difflib.SequenceManager.get_matching_blocks doc by adding 2554'non-overlapping' and changing '!=' to '<'. 2555 2556.. 2557 2558.. bpo: 33710 2559.. date: 2018-10-26-21-12-55 2560.. nonce: Q5oXc6 2561.. section: Library 2562 2563Deprecated ``l*gettext()`` functions and methods in the :mod:`gettext` 2564module. They return encoded bytes instead of Unicode strings and are 2565artifacts from Python 2 times. Also deprecated functions and methods related 2566to setting the charset for ``l*gettext()`` functions and methods. 2567 2568.. 2569 2570.. bpo: 35017 2571.. date: 2018-10-26-00-11-21 2572.. nonce: 6Ez4Cv 2573.. section: Library 2574 2575:meth:`socketserver.BaseServer.serve_forever` now exits immediately if it's 2576:meth:`~socketserver.BaseServer.shutdown` method is called while it is 2577polling for new events. 2578 2579.. 2580 2581.. bpo: 35024 2582.. date: 2018-10-25-15-43-32 2583.. nonce: ltSrtr 2584.. section: Library 2585 2586`importlib` no longer logs `wrote <bytecode path>` redundantly after 2587`(created|could not create) <bytecode path>` is already logged. Patch by 2588Quentin Agren. 2589 2590.. 2591 2592.. bpo: 35047 2593.. date: 2018-10-25-09-59-00 2594.. nonce: abbaa 2595.. section: Library 2596 2597``unittest.mock`` now includes mock calls in exception messages if 2598``assert_not_called``, ``assert_called_once``, or 2599``assert_called_once_with`` fails. Patch by Petter Strandmark. 2600 2601.. 2602 2603.. bpo: 31047 2604.. date: 2018-10-25-09-37-03 2605.. nonce: kBbX8r 2606.. section: Library 2607 2608Fix ``ntpath.abspath`` regression where it didn't remove a trailing 2609separator on Windows. Patch by Tim Graham. 2610 2611.. 2612 2613.. bpo: 35053 2614.. date: 2018-10-23-18-58-12 2615.. nonce: G82qwh 2616.. section: Library 2617 2618tracemalloc now tries to update the traceback when an object is reused from 2619a "free list" (optimization for faster object creation, used by the builtin 2620list type for example). 2621 2622.. 2623 2624.. bpo: 31553 2625.. date: 2018-10-23-14-46-47 2626.. nonce: JxRkAW 2627.. section: Library 2628 2629Add the --json-lines option to json.tool. Patch by hongweipeng. 2630 2631.. 2632 2633.. bpo: 34794 2634.. date: 2018-10-21-14-53-19 2635.. nonce: yt3R4- 2636.. section: Library 2637 2638Fixed a leak in Tkinter when pass the Python wrapper around Tcl_Obj back to 2639Tcl/Tk. 2640 2641.. 2642 2643.. bpo: 34909 2644.. date: 2018-10-20-00-29-43 2645.. nonce: Ew_8DC 2646.. section: Library 2647 2648Enum: fix grandchildren subclassing when parent mixed with concrete data 2649types. 2650 2651.. 2652 2653.. bpo: 35022 2654.. date: 2018-10-18-17-57-28 2655.. nonce: KeEF4T 2656.. section: Library 2657 2658:class:`unittest.mock.MagicMock` now supports the ``__fspath__`` method 2659(from :class:`os.PathLike`). 2660 2661.. 2662 2663.. bpo: 35008 2664.. date: 2018-10-17-11-54-04 2665.. nonce: dotef_ 2666.. section: Library 2667 2668Fixed references leaks when call the ``__setstate__()`` method of 2669:class:`xml.etree.ElementTree.Element` in the C implementation for already 2670initialized element. 2671 2672.. 2673 2674.. bpo: 23420 2675.. date: 2018-10-17-11-00-00 2676.. nonce: Lq74Uu 2677.. section: Library 2678 2679Verify the value for the parameter '-s' of the cProfile CLI. Patch by Robert 2680Kuska 2681 2682.. 2683 2684.. bpo: 33947 2685.. date: 2018-10-17-02-15-23 2686.. nonce: SRuq3T 2687.. section: Library 2688 2689dataclasses now handle recursive reprs without raising RecursionError. 2690 2691.. 2692 2693.. bpo: 34890 2694.. date: 2018-10-15-23-10-41 2695.. nonce: 77E770 2696.. section: Library 2697 2698Make :func:`inspect.iscoroutinefunction`, 2699:func:`inspect.isgeneratorfunction` and :func:`inspect.isasyncgenfunction` 2700work with :func:`functools.partial`. Patch by Pablo Galindo. 2701 2702.. 2703 2704.. bpo: 34521 2705.. date: 2018-10-13-19-15-23 2706.. nonce: YPaiTK 2707.. section: Library 2708 2709Use :func:`socket.CMSG_SPACE` to calculate ancillary data size instead of 2710:func:`socket.CMSG_LEN` in :func:`multiprocessing.reduction.recvfds` as 2711:rfc:`3542` requires the use of the former for portable applications. 2712 2713.. 2714 2715.. bpo: 31522 2716.. date: 2018-10-13-18-16-20 2717.. nonce: rWBb43 2718.. section: Library 2719 2720The `mailbox.mbox.get_string` function *from_* parameter can now 2721successfully be set to a non-default value. 2722 2723.. 2724 2725.. bpo: 34970 2726.. date: 2018-10-13-11-14-13 2727.. nonce: SrJTY7 2728.. section: Library 2729 2730Protect tasks weak set manipulation in ``asyncio.all_tasks()`` 2731 2732.. 2733 2734.. bpo: 34969 2735.. date: 2018-10-13-07-46-50 2736.. nonce: Mfnhjb 2737.. section: Library 2738 2739gzip: Add --fast, --best on the gzip CLI, these parameters will be used for 2740the fast compression method (quick) or the best method compress (slower, but 2741smaller file). Also, change the default compression level to 6 (tradeoff). 2742 2743.. 2744 2745.. bpo: 16965 2746.. date: 2018-10-12-20-30-42 2747.. nonce: xo5LAr 2748.. section: Library 2749 2750The :term:`2to3` :2to3fixer:`execfile` fixer now opens the file with mode 2751``'rb'``. Patch by Zackery Spytz. 2752 2753.. 2754 2755.. bpo: 34966 2756.. date: 2018-10-12-18-57-52 2757.. nonce: WZeBHO 2758.. section: Library 2759 2760:mod:`pydoc` now supports aliases not only to methods defined in the end 2761class, but also to inherited methods. The docstring is not duplicated for 2762aliases. 2763 2764.. 2765 2766.. bpo: 34926 2767.. date: 2018-10-10-00-22-57 2768.. nonce: CA0rqd 2769.. section: Library 2770 2771:meth:`mimetypes.MimeTypes.guess_type` now accepts :term:`path-like object` 2772in addition to url strings. Patch by Mayank Asthana. 2773 2774.. 2775 2776.. bpo: 23831 2777.. date: 2018-10-09-15-44-04 2778.. nonce: 2CL7lL 2779.. section: Library 2780 2781Add ``moveto()`` method to the ``tkinter.Canvas`` widget. Patch by Juliette 2782Monsel. 2783 2784.. 2785 2786.. bpo: 34941 2787.. date: 2018-10-09-14-42-16 2788.. nonce: 1Q5QKv 2789.. section: Library 2790 2791Methods ``find()``, ``findtext()`` and ``findall()`` of the ``Element`` 2792class in the :mod:`xml.etree.ElementTree` module are now able to find 2793children which are instances of ``Element`` subclasses. 2794 2795.. 2796 2797.. bpo: 32680 2798.. date: 2018-10-09-14-25-36 2799.. nonce: z2FbOp 2800.. section: Library 2801 2802:class:`smtplib.SMTP` objects now always have a `sock` attribute present 2803 2804.. 2805 2806.. bpo: 34769 2807.. date: 2018-10-09-11-01-16 2808.. nonce: cSkkZt 2809.. section: Library 2810 2811Fix for async generators not finalizing when event loop is in debug mode and 2812garbage collector runs in another thread. 2813 2814.. 2815 2816.. bpo: 34936 2817.. date: 2018-10-08-21-05-11 2818.. nonce: 3tRqdq 2819.. section: Library 2820 2821Fix ``TclError`` in ``tkinter.Spinbox.selection_element()``. Patch by 2822Juliette Monsel. 2823 2824.. 2825 2826.. bpo: 34829 2827.. date: 2018-10-08-16-04-36 2828.. nonce: B7v7D0 2829.. section: Library 2830 2831Add methods ``selection_from``, ``selection_range``, ``selection_present`` 2832and ``selection_to`` to the ``tkinter.Spinbox`` for consistency with the 2833``tkinter.Entry`` widget. Patch by Juliette Monsel. 2834 2835.. 2836 2837.. bpo: 34911 2838.. date: 2018-10-08-15-22-02 2839.. nonce: hCy0Fv 2840.. section: Library 2841 2842Added *secure_protocols* argument to *http.cookiejar.DefaultCookiePolicy* to 2843allow for tweaking of protocols and also to add support by default for 2844*wss*, the secure websocket protocol. 2845 2846.. 2847 2848.. bpo: 34922 2849.. date: 2018-10-07-21-18-52 2850.. nonce: 37IdsA 2851.. section: Library 2852 2853Fixed integer overflow in the :meth:`~hashlib.shake.digest()` and 2854:meth:`~hashlib.shake.hexdigest()` methods for the SHAKE algorithm in the 2855:mod:`hashlib` module. 2856 2857.. 2858 2859.. bpo: 34925 2860.. date: 2018-10-07-20-37-02 2861.. nonce: KlkZ-Y 2862.. section: Library 2863 286425% speedup in argument parsing for the functions in the bisect module. 2865 2866.. 2867 2868.. bpo: 34900 2869.. date: 2018-10-05-05-55-53 2870.. nonce: 8RNiFu 2871.. section: Library 2872 2873Fixed :meth:`unittest.TestCase.debug` when used to call test methods with 2874subtests. Patch by Bruno Oliveira. 2875 2876.. 2877 2878.. bpo: 34844 2879.. date: 2018-10-04-20-44-45 2880.. nonce: Hnuxav 2881.. section: Library 2882 2883logging.Formatter enhancement - Ensure styles and fmt matches in 2884logging.Formatter - Added validate method in each format style class: 2885StrFormatStyle, PercentStyle, StringTemplateStyle. - This method is called 2886in the constructor of logging.Formatter class - Also re-raise the KeyError 2887in the format method of each style class, so it would a bit clear that it's 2888an error with the invalid format fields. 2889 2890.. 2891 2892.. bpo: 34897 2893.. date: 2018-10-04-20-25-35 2894.. nonce: rNE2Cy 2895.. section: Library 2896 2897Adjust test.support.missing_compiler_executable check so that a nominal 2898command name of "" is ignored. Patch by Michael Felt. 2899 2900.. 2901 2902.. bpo: 34871 2903.. date: 2018-10-04-18-46-54 2904.. nonce: t3X-dB 2905.. section: Library 2906 2907Fix inspect module polluted ``sys.modules`` when parsing 2908``__text_signature__`` of callable. 2909 2910.. 2911 2912.. bpo: 34898 2913.. date: 2018-10-04-17-23-43 2914.. nonce: Wo2PoJ 2915.. section: Library 2916 2917Add `mtime` argument to `gzip.compress` for reproducible output. Patch by 2918Guo Ci Teo. 2919 2920.. 2921 2922.. bpo: 28441 2923.. date: 2018-10-04-15-53-14 2924.. nonce: 2sQENe 2925.. section: Library 2926 2927On Cygwin and MinGW, ensure that ``sys.executable`` always includes the full 2928filename in the path, including the ``.exe`` suffix (unless it is a symbolic 2929link). 2930 2931.. 2932 2933.. bpo: 34866 2934.. date: 2018-10-03-11-07-28 2935.. nonce: ML6KpJ 2936.. section: Library 2937 2938Adding ``max_num_fields`` to ``cgi.FieldStorage`` to make DOS attacks harder 2939by limiting the number of ``MiniFieldStorage`` objects created by 2940``FieldStorage``. 2941 2942.. 2943 2944.. bpo: 34711 2945.. date: 2018-10-03-09-25-02 2946.. nonce: HeOmKR 2947.. section: Library 2948 2949http.server ensures it reports HTTPStatus.NOT_FOUND when the local path ends 2950with "/" and is not a directory, even if the underlying OS (e.g. AIX) 2951accepts such paths as a valid file reference. Patch by Michael Felt. 2952 2953.. 2954 2955.. bpo: 34872 2956.. date: 2018-10-02-19-36-34 2957.. nonce: yWZRhI 2958.. section: Library 2959 2960Fix self-cancellation in C implementation of asyncio.Task 2961 2962.. 2963 2964.. bpo: 34849 2965.. date: 2018-09-30-08-08-14 2966.. nonce: NXK9Ff 2967.. section: Library 2968 2969Don't log waiting for ``selector.select`` in asyncio loop iteration. The 2970waiting is pretty normal for any asyncio program, logging its time just adds 2971a noise to logs without any useful information provided. 2972 2973.. 2974 2975.. bpo: 34022 2976.. date: 2018-09-27-13-14-15 2977.. nonce: E2cl0r 2978.. section: Library 2979 2980The :envvar:`SOURCE_DATE_EPOCH` environment variable no longer overrides the 2981value of the *invalidation_mode* argument to :func:`py_compile.compile`, and 2982determines its default value instead. 2983 2984.. 2985 2986.. bpo: 34819 2987.. date: 2018-09-27-09-45-00 2988.. nonce: 9ZaFyO 2989.. section: Library 2990 2991Use a monotonic clock to compute timeouts in :meth:`Executor.map` and 2992:func:`as_completed`, in order to prevent timeouts from deviating when the 2993system clock is adjusted. 2994 2995.. 2996 2997.. bpo: 34758 2998.. date: 2018-09-26-14-09-34 2999.. nonce: bRBfAi 3000.. section: Library 3001 3002Add .wasm -> application/wasm to list of recognized file types and content 3003type headers 3004 3005.. 3006 3007.. bpo: 34789 3008.. date: 2018-09-25-15-48-50 3009.. nonce: rPOEj5 3010.. section: Library 3011 3012:func:`xml.sax.make_parser` now accepts any iterable as its *parser_list* 3013argument. Patch by Andrés Delfino. 3014 3015.. 3016 3017.. bpo: 34334 3018.. date: 2018-09-25-08-42-34 3019.. nonce: rSPBW9 3020.. section: Library 3021 3022In :class:`QueueHandler`, clear `exc_text` from :class:`LogRecord` to 3023prevent traceback from being written twice. 3024 3025.. 3026 3027.. bpo: 34687 3028.. date: 2018-09-24-17-14-57 3029.. nonce: Fku_8S 3030.. section: Library 3031 3032On Windows, asyncio now uses ProactorEventLoop, instead of 3033SelectorEventLoop, by default. 3034 3035.. 3036 3037.. bpo: 5950 3038.. date: 2018-09-24-14-21-58 3039.. nonce: xH0ekQ 3040.. section: Library 3041 3042Support reading zip files with archive comments in :mod:`zipimport`. 3043 3044.. 3045 3046.. bpo: 32892 3047.. date: 2018-09-20-17-35-05 3048.. nonce: TOUBdg 3049.. section: Library 3050 3051The parser now represents all constants as :class:`ast.Constant` instead of 3052using specific constant AST types (``Num``, ``Str``, ``Bytes``, 3053``NameConstant`` and ``Ellipsis``). These classes are considered deprecated 3054and will be removed in future Python versions. 3055 3056.. 3057 3058.. bpo: 34728 3059.. date: 2018-09-20-16-55-43 3060.. nonce: CUE8LU 3061.. section: Library 3062 3063Add deprecation warning when `loop` is used in methods: `asyncio.sleep`, 3064`asyncio.wait` and `asyncio.wait_for`. 3065 3066.. 3067 3068.. bpo: 34738 3069.. date: 2018-09-19-16-51-04 3070.. nonce: Pr3-iG 3071.. section: Library 3072 3073ZIP files created by :mod:`distutils` will now include entries for 3074directories. 3075 3076.. 3077 3078.. bpo: 34659 3079.. date: 2018-09-16-17-04-16 3080.. nonce: CWemzH 3081.. section: Library 3082 3083Add an optional *initial* argument to itertools.accumulate(). 3084 3085.. 3086 3087.. bpo: 29577 3088.. date: 2018-09-14-20-00-47 3089.. nonce: RzwKFD 3090.. section: Library 3091 3092Support multiple mixin classes when creating Enums. 3093 3094.. 3095 3096.. bpo: 34670 3097.. date: 2018-09-14-14-29-45 3098.. nonce: 17XwGB 3099.. section: Library 3100 3101Add SSLContext.post_handshake_auth and 3102SSLSocket.verify_client_post_handshake for TLS 1.3's post handshake 3103authentication feature. 3104 3105.. 3106 3107.. bpo: 32718 3108.. date: 2018-09-14-12-38-49 3109.. nonce: ICYQbt 3110.. section: Library 3111 3112The Activate.ps1 script from venv works with PowerShell Core 6.1 and is now 3113available under all operating systems. 3114 3115.. 3116 3117.. bpo: 31177 3118.. date: 2018-09-14-10-38-18 3119.. nonce: Sv91TN 3120.. section: Library 3121 3122Fix bug that prevented using :meth:`reset_mock 3123<unittest.mock.Mock.reset_mock>` on mock instances with deleted attributes 3124 3125.. 3126 3127.. bpo: 34672 3128.. date: 2018-09-13-21-04-23 3129.. nonce: BYuKKS 3130.. section: Library 3131 3132Add a workaround, so the ``'Z'`` :func:`time.strftime` specifier on the musl 3133C library can work in some cases. 3134 3135.. 3136 3137.. bpo: 34666 3138.. date: 2018-09-13-11-49-52 3139.. nonce: 3uLtWv 3140.. section: Library 3141 3142Implement ``asyncio.StreamWriter.awrite`` and 3143``asyncio.StreamWriter.aclose()`` coroutines. Methods are needed for 3144providing a consistent stream API with control flow switched on by default. 3145 3146.. 3147 3148.. bpo: 6721 3149.. date: 2018-09-13-10-09-19 3150.. nonce: ZUL_F3 3151.. section: Library 3152 3153Acquire the logging module's commonly used internal locks while fork()ing to 3154avoid deadlocks in the child process. 3155 3156.. 3157 3158.. bpo: 34658 3159.. date: 2018-09-13-03-59-43 3160.. nonce: ykZ-ia 3161.. section: Library 3162 3163Fix a rare interpreter unhandled exception state SystemError only seen when 3164using subprocess with a preexec_fn while an after_parent handler has been 3165registered with os.register_at_fork and the fork system call fails. 3166 3167.. 3168 3169.. bpo: 34652 3170.. date: 2018-09-12-14-46-51 3171.. nonce: Rt1m1b 3172.. section: Library 3173 3174Ensure :func:`os.lchmod` is never defined on Linux. 3175 3176.. 3177 3178.. bpo: 34638 3179.. date: 2018-09-12-10-33-44 3180.. nonce: xaeZX5 3181.. section: Library 3182 3183Store a weak reference to stream reader to break strong references loop 3184between reader and protocol. It allows to detect and close the socket if 3185the stream is deleted (garbage collected) without ``close()`` call. 3186 3187.. 3188 3189.. bpo: 34536 3190.. date: 2018-09-11-15-49-09 3191.. nonce: 3IPIH5 3192.. section: Library 3193 3194`Enum._missing_`: raise `ValueError` if None returned and `TypeError` if 3195non-member is returned. 3196 3197.. 3198 3199.. bpo: 34636 3200.. date: 2018-09-11-15-04-05 3201.. nonce: capCmt 3202.. section: Library 3203 3204Speed up re scanning of many non-matching characters for \s \w and \d within 3205bytes objects. (microoptimization) 3206 3207.. 3208 3209.. bpo: 24412 3210.. date: 2018-09-11-10-51-16 3211.. nonce: i-F_E5 3212.. section: Library 3213 3214Add :func:`~unittest.addModuleCleanup()` and 3215:meth:`~unittest.TestCase.addClassCleanup()` to unittest to support cleanups 3216for :func:`~unittest.setUpModule()` and 3217:meth:`~unittest.TestCase.setUpClass()`. Patch by Lisa Roach. 3218 3219.. 3220 3221.. bpo: 34630 3222.. date: 2018-09-11-10-00-53 3223.. nonce: YbqUS6 3224.. section: Library 3225 3226Don't log SSL certificate errors in asyncio code (connection error logging 3227is skipped already). 3228 3229.. 3230 3231.. bpo: 32490 3232.. date: 2018-09-11-01-25-35 3233.. nonce: ROIDO1 3234.. section: Library 3235 3236Prevent filename duplication in :mod:`subprocess` exception messages. Patch 3237by Zackery Spytz. 3238 3239.. 3240 3241.. bpo: 34363 3242.. date: 2018-09-10-21-09-34 3243.. nonce: YuSb0T 3244.. section: Library 3245 3246dataclasses.asdict() and .astuple() now handle namedtuples correctly. 3247 3248.. 3249 3250.. bpo: 34625 3251.. date: 2018-09-10-17-46-51 3252.. nonce: D2YfDz 3253.. section: Library 3254 3255Update vendorized expat library version to 2.2.6. 3256 3257.. 3258 3259.. bpo: 32270 3260.. date: 2018-09-10-14-15-53 3261.. nonce: wSJjuD 3262.. section: Library 3263 3264The subprocess module no longer mistakenly closes redirected fds even when 3265they were in pass_fds when outside of the default {0, 1, 2} set. 3266 3267.. 3268 3269.. bpo: 34622 3270.. date: 2018-09-10-13-04-40 3271.. nonce: tpv_rN 3272.. section: Library 3273 3274Create a dedicated ``asyncio.CancelledError``, ``asyncio.InvalidStateError`` 3275and ``asyncio.TimeoutError`` exception classes. Inherit them from 3276corresponding exceptions from ``concurrent.futures`` package. Extract 3277``asyncio`` exceptions into a separate file. 3278 3279.. 3280 3281.. bpo: 34610 3282.. date: 2018-09-08-12-57-07 3283.. nonce: wmoP5j 3284.. section: Library 3285 3286Fixed iterator of :class:`multiprocessing.managers.DictProxy`. 3287 3288.. 3289 3290.. bpo: 34421 3291.. date: 2018-09-07-10-57-00 3292.. nonce: AKJISD 3293.. section: Library 3294 3295Fix distutils logging for non-ASCII strings. This caused installation 3296issues on Windows. 3297 3298.. 3299 3300.. bpo: 34604 3301.. date: 2018-09-07-10-16-34 3302.. nonce: xL7-kG 3303.. section: Library 3304 3305Fix possible mojibake in the error message of `pwd.getpwnam` and 3306`grp.getgrnam` using string representation because of invisible characters 3307or trailing whitespaces. Patch by William Grzybowski. 3308 3309.. 3310 3311.. bpo: 30977 3312.. date: 2018-09-06-10-07-46 3313.. nonce: bP661V 3314.. section: Library 3315 3316Make uuid.UUID use ``__slots__`` to reduce its memory footprint. Based on 3317original patch by Wouter Bolsterlee. 3318 3319.. 3320 3321.. bpo: 34574 3322.. date: 2018-09-04-09-32-54 3323.. nonce: X4RwYI 3324.. section: Library 3325 3326OrderedDict iterators are not exhausted during pickling anymore. Patch by 3327Sergey Fedoseev. 3328 3329.. 3330 3331.. bpo: 8110 3332.. date: 2018-09-03-23-54-35 3333.. nonce: FExWI_ 3334.. section: Library 3335 3336Refactored :mod:`subprocess` to check for Windows-specific modules rather 3337than ``sys.platform == 'win32'``. 3338 3339.. 3340 3341.. bpo: 34530 3342.. date: 2018-09-03-23-23-32 3343.. nonce: h_Xsu7 3344.. section: Library 3345 3346``distutils.spawn.find_executable()`` now falls back on :data:`os.defpath` 3347if the ``PATH`` environment variable is not set. 3348 3349.. 3350 3351.. bpo: 34563 3352.. date: 2018-09-01-20-43-10 3353.. nonce: 7NQK7B 3354.. section: Library 3355 3356On Windows, fix multiprocessing.Connection for very large read: fix 3357_winapi.PeekNamedPipe() and _winapi.ReadFile() for read larger than INT_MAX 3358(usually 2^31-1). 3359 3360.. 3361 3362.. bpo: 34558 3363.. date: 2018-08-31-19-26-55 3364.. nonce: MHv582 3365.. section: Library 3366 3367Correct typo in Lib/ctypes/_aix.py 3368 3369.. 3370 3371.. bpo: 34282 3372.. date: 2018-08-31-06-28-03 3373.. nonce: ztyXH8 3374.. section: Library 3375 3376Move ``Enum._convert`` to ``EnumMeta._convert_`` and fix enum members 3377getting shadowed by parent attributes. 3378 3379.. 3380 3381.. bpo: 22872 3382.. date: 2018-08-30-14-44-11 3383.. nonce: NhIaZ9 3384.. section: Library 3385 3386When the queue is closed, :exc:`ValueError` is now raised by 3387:meth:`multiprocessing.Queue.put` and :meth:`multiprocessing.Queue.get` 3388instead of :exc:`AssertionError` and :exc:`OSError`, respectively. Patch by 3389Zackery Spytz. 3390 3391.. 3392 3393.. bpo: 34515 3394.. date: 2018-08-27-16-01-22 3395.. nonce: S0Irst 3396.. section: Library 3397 3398Fix parsing non-ASCII identifiers in :mod:`lib2to3.pgen2.tokenize` (PEP 33993131). 3400 3401.. 3402 3403.. bpo: 13312 3404.. date: 2018-08-24-17-31-27 3405.. nonce: 6hA5La 3406.. section: Library 3407 3408Avoids a possible integer underflow (undefined behavior) in the time 3409module's year handling code when passed a very low negative year value. 3410 3411.. 3412 3413.. bpo: 34472 3414.. date: 2018-08-23-09-25-08 3415.. nonce: cGyYrO 3416.. section: Library 3417 3418Improved compatibility for streamed files in :mod:`zipfile`. Previously an 3419optional signature was not being written and certain ZIP applications were 3420not supported. Patch by Silas Sewell. 3421 3422.. 3423 3424.. bpo: 34454 3425.. date: 2018-08-22-21-59-08 3426.. nonce: z7uG4b 3427.. section: Library 3428 3429Fix the .fromisoformat() methods of datetime types crashing when given 3430unicode with non-UTF-8-encodable code points. Specifically, 3431datetime.fromisoformat() now accepts surrogate unicode code points used as 3432the separator. Report and tests by Alexey Izbyshev, patch by Paul Ganssle. 3433 3434.. 3435 3436.. bpo: 6700 3437.. date: 2018-08-22-17-43-52 3438.. nonce: hp7C4B 3439.. section: Library 3440 3441Fix inspect.getsourcelines for module level frames/tracebacks. Patch by 3442Vladimir Matveev. 3443 3444.. 3445 3446.. bpo: 34171 3447.. date: 2018-08-21-00-29-01 3448.. nonce: 6LkWav 3449.. section: Library 3450 3451Running the :mod:`trace` module no longer creates the ``trace.cover`` file. 3452 3453.. 3454 3455.. bpo: 34441 3456.. date: 2018-08-20-16-48-32 3457.. nonce: _zx9lU 3458.. section: Library 3459 3460Fix crash when an ``ABC``-derived class with invalid ``__subclasses__`` is 3461passed as the second argument to :func:`issubclass()`. Patch by Alexey 3462Izbyshev. 3463 3464.. 3465 3466.. bpo: 34427 3467.. date: 2018-08-20-13-53-10 3468.. nonce: tMRQjl 3469.. section: Library 3470 3471Fix infinite loop in ``a.extend(a)`` for ``MutableSequence`` subclasses. 3472 3473.. 3474 3475.. bpo: 34412 3476.. date: 2018-08-16-19-07-05 3477.. nonce: NF5Jm2 3478.. section: Library 3479 3480Make :func:`signal.strsignal` work on HP-UX. Patch by Michael Osipov. 3481 3482.. 3483 3484.. bpo: 20849 3485.. date: 2018-08-16-16-47-15 3486.. nonce: YWJECC 3487.. section: Library 3488 3489shutil.copytree now accepts a new ``dirs_exist_ok`` keyword argument. Patch 3490by Josh Bronson. 3491 3492.. 3493 3494.. bpo: 31715 3495.. date: 2018-08-15-16-22-30 3496.. nonce: Iw8jS8 3497.. section: Library 3498 3499Associate ``.mjs`` file extension with ``application/javascript`` MIME Type. 3500 3501.. 3502 3503.. bpo: 34384 3504.. date: 2018-08-12-08-43-21 3505.. nonce: yjofCv 3506.. section: Library 3507 3508:func:`os.readlink` now accepts :term:`path-like <path-like object>` and 3509:class:`bytes` objects on Windows. 3510 3511.. 3512 3513.. bpo: 22602 3514.. date: 2018-08-12-00-14-54 3515.. nonce: ybG9K8 3516.. section: Library 3517 3518The UTF-7 decoder now raises :exc:`UnicodeDecodeError` for ill-formed 3519sequences starting with "+" (as specified in RFC 2152). Patch by Zackery 3520Spytz. 3521 3522.. 3523 3524.. bpo: 2122 3525.. date: 2018-08-06-21-47-03 3526.. nonce: GWdmrm 3527.. section: Library 3528 3529The :meth:`mmap.flush() <mmap.mmap.flush>` method now returns ``None`` on 3530success, raises an exception on error under all platforms. 3531 3532.. 3533 3534.. bpo: 34341 3535.. date: 2018-08-06-11-01-18 3536.. nonce: E0b9p2 3537.. section: Library 3538 3539Appending to the ZIP archive with the ZIP64 extension no longer grows the 3540size of extra fields of existing entries. 3541 3542.. 3543 3544.. bpo: 34333 3545.. date: 2018-08-04-00-06-28 3546.. nonce: 5NHG93 3547.. section: Library 3548 3549Fix %-formatting in :meth:`pathlib.PurePath.with_suffix` when formatting an 3550error message. 3551 3552.. 3553 3554.. bpo: 18540 3555.. date: 2018-08-02-21-28-38 3556.. nonce: AryoYY 3557.. section: Library 3558 3559The :class:`imaplib.IMAP4` and :class:`imaplib.IMAP4_SSL` classes now 3560resolve to the local host IP correctly when the default value of *host* 3561parameter (``''``) is used. 3562 3563.. 3564 3565.. bpo: 26502 3566.. date: 2018-08-02-20-39-32 3567.. nonce: eGXr_k 3568.. section: Library 3569 3570Implement ``traceback.FrameSummary.__len__()`` method to preserve 3571compatibility with the old tuple API. 3572 3573.. 3574 3575.. bpo: 34318 3576.. date: 2018-08-02-14-43-42 3577.. nonce: GneiXs 3578.. section: Library 3579 3580:func:`~unittest.TestCase.assertRaises`, 3581:func:`~unittest.TestCase.assertRaisesRegex`, 3582:func:`~unittest.TestCase.assertWarns` and 3583:func:`~unittest.TestCase.assertWarnsRegex` no longer success if the passed 3584callable is None. They no longer ignore unknown keyword arguments in the 3585context manager mode. A DeprecationWarning was raised in these cases since 3586Python 3.5. 3587 3588.. 3589 3590.. bpo: 9372 3591.. date: 2018-08-01-21-26-17 3592.. nonce: V8Ou3K 3593.. section: Library 3594 3595Deprecate :meth:`__getitem__` methods of 3596:class:`xml.dom.pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` 3597and :class:`fileinput.FileInput`. 3598 3599.. 3600 3601.. bpo: 33613 3602.. date: 2018-07-31-23-33-06 3603.. nonce: Cdnt0i 3604.. section: Library 3605 3606Fix a race condition in ``multiprocessing.semaphore_tracker`` when the 3607tracker receives SIGINT before it can register signal handlers for ignoring 3608it. 3609 3610.. 3611 3612.. bpo: 34248 3613.. date: 2018-07-31-23-00-09 3614.. nonce: 5U6wwc 3615.. section: Library 3616 3617Report filename in the exception raised when the database file cannot be 3618opened by :func:`dbm.gnu.open` and :func:`dbm.ndbm.open` due to OS-related 3619error. Patch by Zsolt Cserna. 3620 3621.. 3622 3623.. bpo: 33089 3624.. date: 2018-07-29-21-53-15 3625.. nonce: hxbp3g 3626.. section: Library 3627 3628Add math.dist() to compute the Euclidean distance between two points. 3629 3630.. 3631 3632.. bpo: 34246 3633.. date: 2018-07-29-15-25-15 3634.. nonce: xiKq-Q 3635.. section: Library 3636 3637:meth:`smtplib.SMTP.send_message` no longer modifies the content of the 3638*mail_options* argument. Patch by Pablo S. Blum de Aguiar. 3639 3640.. 3641 3642.. bpo: 31047 3643.. date: 2018-07-29-14-12-23 3644.. nonce: FSarLs 3645.. section: Library 3646 3647Fix ``ntpath.abspath`` for invalid paths on windows. Patch by Franz 3648Woellert. 3649 3650.. 3651 3652.. bpo: 32321 3653.. date: 2018-07-29-13-50-32 3654.. nonce: hDoNKC 3655.. section: Library 3656 3657Add pure Python fallback for functools.reduce. Patch by Robert Wright. 3658 3659.. 3660 3661.. bpo: 34270 3662.. date: 2018-07-29-11-32-56 3663.. nonce: aL6P-3 3664.. section: Library 3665 3666The default asyncio task class now always has a name which can be get or set 3667using two new methods (:meth:`~asyncio.Task.get_name()` and 3668:meth:`~asyncio.Task.set_name`) and is visible in the :func:`repr` output. 3669An initial name can also be set using the new ``name`` keyword argument to 3670:func:`asyncio.create_task` or the 3671:meth:`~asyncio.AbstractEventLoop.create_task` method of the event loop. If 3672no initial name is set, the default Task implementation generates a name 3673like ``Task-1`` using a monotonic counter. 3674 3675.. 3676 3677.. bpo: 34263 3678.. date: 2018-07-28-17-00-36 3679.. nonce: zUfRsu 3680.. section: Library 3681 3682asyncio's event loop will not pass timeouts longer than one day to 3683epoll/select etc. 3684 3685.. 3686 3687.. bpo: 34035 3688.. date: 2018-07-28-15-00-31 3689.. nonce: 75nW0H 3690.. section: Library 3691 3692Fix several AttributeError in zipfile seek() methods. Patch by Mickaël 3693Schoentgen. 3694 3695.. 3696 3697.. bpo: 32215 3698.. date: 2018-07-28-12-08-53 3699.. nonce: EU68SY 3700.. section: Library 3701 3702Fix performance regression in :mod:`sqlite3` when a DML statement appeared 3703in a different line than the rest of the SQL query. 3704 3705.. 3706 3707.. bpo: 34075 3708.. date: 2018-07-28-11-49-21 3709.. nonce: 9u1bO- 3710.. section: Library 3711 3712Deprecate passing non-ThreadPoolExecutor instances to 3713:meth:`AbstractEventLoop.set_default_executor`. 3714 3715.. 3716 3717.. bpo: 34251 3718.. date: 2018-07-28-11-47-10 3719.. nonce: q3elQ6 3720.. section: Library 3721 3722Restore ``msilib.Win64`` to preserve backwards compatibility since it's 3723already used by :mod:`distutils`' ``bdist_msi`` command. 3724 3725.. 3726 3727.. bpo: 19891 3728.. date: 2018-07-26-08-45-49 3729.. nonce: Y-3IiB 3730.. section: Library 3731 3732Ignore errors caused by missing / non-writable homedir while writing history 3733during exit of an interactive session. Patch by Anthony Sottile. 3734 3735.. 3736 3737.. bpo: 33089 3738.. date: 2018-07-25-22-38-54 3739.. nonce: C3CB7e 3740.. section: Library 3741 3742Enhanced math.hypot() to support more than two dimensions. 3743 3744.. 3745 3746.. bpo: 34228 3747.. date: 2018-07-25-19-02-39 3748.. nonce: 0Ibztw 3749.. section: Library 3750 3751tracemalloc: PYTHONTRACEMALLOC=0 environment variable and -X tracemalloc=0 3752command line option are now allowed to disable explicitly tracemalloc at 3753startup. 3754 3755.. 3756 3757.. bpo: 13041 3758.. date: 2018-07-25-12-08-48 3759.. nonce: lNmgDz 3760.. section: Library 3761 3762Use :func:`shutil.get_terminal_size` to calculate the terminal width 3763correctly in the ``argparse.HelpFormatter`` class. Initial patch by Zbyszek 3764Jędrzejewski-Szmek. 3765 3766.. 3767 3768.. bpo: 34213 3769.. date: 2018-07-25-00-40-14 3770.. nonce: O15MgP 3771.. section: Library 3772 3773Allow frozen dataclasses to have a field named "object". Previously this 3774conflicted with an internal use of "object". 3775 3776.. 3777 3778.. bpo: 34052 3779.. date: 2018-07-24-16-37-40 3780.. nonce: VbbFAE 3781.. section: Library 3782 3783:meth:`sqlite3.Connection.create_aggregate`, 3784:meth:`sqlite3.Connection.create_function`, 3785:meth:`sqlite3.Connection.set_authorizer`, 3786:meth:`sqlite3.Connection.set_progress_handler` methods raises TypeError 3787when unhashable objects are passed as callable. These methods now don't pass 3788such objects to SQLite API. Previous behavior could lead to segfaults. Patch 3789by Sergey Fedoseev. 3790 3791.. 3792 3793.. bpo: 34197 3794.. date: 2018-07-23-14-12-28 3795.. nonce: 7yFSP5 3796.. section: Library 3797 3798Attributes *skipinitialspace*, *doublequote* and *strict* of the *dialect* 3799attribute of the :mod:`csv` reader are now :class:`bool` instances instead 3800of integers 0 or 1. 3801 3802.. 3803 3804.. bpo: 32788 3805.. date: 2018-07-23-12-20-02 3806.. nonce: R2jSiK 3807.. section: Library 3808 3809Errors other than :exc:`TypeError` raised in methods ``__adapt__()`` and 3810``__conform__()`` in the :mod:`sqlite3` module are now propagated to the 3811user. 3812 3813.. 3814 3815.. bpo: 21446 3816.. date: 2018-07-22-09-05-01 3817.. nonce: w6g7tn 3818.. section: Library 3819 3820The :2to3fixer:`reload` fixer now uses :func:`importlib.reload` instead of 3821deprecated :func:`imp.reload`. 3822 3823.. 3824 3825.. bpo: 940286 3826.. date: 2018-07-22-07-59-32 3827.. nonce: NZTzyc 3828.. section: Library 3829 3830pydoc's ``Helper.showtopic()`` method now prints the cross references of a 3831topic correctly. 3832 3833.. 3834 3835.. bpo: 34164 3836.. date: 2018-07-20-18-06-00 3837.. nonce: fNfT-q 3838.. section: Library 3839 3840:func:`base64.b32decode` could raise UnboundLocalError or OverflowError for 3841incorrect padding. Now it always raises :exc:`base64.Error` in these cases. 3842 3843.. 3844 3845.. bpo: 33729 3846.. date: 2018-07-20-09-11-05 3847.. nonce: sO6iTb 3848.. section: Library 3849 3850Fixed issues with arguments parsing in :mod:`hashlib`. 3851 3852.. 3853 3854.. bpo: 34097 3855.. date: 2018-07-13-13-42-10 3856.. nonce: F5Dk5o 3857.. section: Library 3858 3859ZipFile can zip files older than 1980-01-01 and newer than 2107-12-31 using 3860a new ``strict_timestamps`` parameter at the cost of setting the timestamp 3861to the limit. 3862 3863.. 3864 3865.. bpo: 34108 3866.. date: 2018-07-13-08-44-52 3867.. nonce: RjobUC 3868.. section: Library 3869 3870Remove extraneous CR in 2to3 refactor. 3871 3872.. 3873 3874.. bpo: 34070 3875.. date: 2018-07-11-20-51-20 3876.. nonce: WpmFAu 3877.. section: Library 3878 3879Make sure to only check if the handle is a tty, when opening a file with 3880``buffering=-1``. 3881 3882.. 3883 3884.. bpo: 27494 3885.. date: 2018-07-11-10-03-21 3886.. nonce: 04OWkW 3887.. section: Library 3888 3889Reverted :issue:`27494`. 2to3 rejects now a trailing comma in generator 3890expressions. 3891 3892.. 3893 3894.. bpo: 33967 3895.. date: 2018-07-08-18-49-41 3896.. nonce: lhaAez 3897.. section: Library 3898 3899functools.singledispatch now raises TypeError instead of IndexError when no 3900positional arguments are passed. 3901 3902.. 3903 3904.. bpo: 34041 3905.. date: 2018-07-06-15-06-32 3906.. nonce: 0zrKLh 3907.. section: Library 3908 3909Add the parameter *deterministic* to the 3910:meth:`sqlite3.Connection.create_function` method. Patch by Sergey Fedoseev. 3911 3912.. 3913 3914.. bpo: 34056 3915.. date: 2018-07-05-22-45-46 3916.. nonce: 86isrU 3917.. section: Library 3918 3919Ensure the loader shim created by ``imp.load_module`` always returns bytes 3920from its ``get_data()`` function. This fixes using ``imp.load_module`` with 3921:pep:`552` hash-based pycs. 3922 3923.. 3924 3925.. bpo: 34054 3926.. date: 2018-07-05-18-37-05 3927.. nonce: nWRS6M 3928.. section: Library 3929 3930The multiprocessing module now uses the monotonic clock 3931:func:`time.monotonic` instead of the system clock :func:`time.time` to 3932implement timeout. 3933 3934.. 3935 3936.. bpo: 34043 3937.. date: 2018-07-04-21-14-35 3938.. nonce: 0YJNq9 3939.. section: Library 3940 3941Optimize tarfile uncompress performance about 15% when gzip is used. 3942 3943.. 3944 3945.. bpo: 34044 3946.. date: 2018-07-04-17-14-26 3947.. nonce: KWAu4y 3948.. section: Library 3949 3950``subprocess.Popen`` now copies the *startupinfo* argument to leave it 3951unchanged: it will modify the copy, so that the same ``STARTUPINFO`` object 3952can be used multiple times. 3953 3954.. 3955 3956.. bpo: 34010 3957.. date: 2018-07-04-07-36-53 3958.. nonce: VNDkde 3959.. section: Library 3960 3961Fixed a performance regression for reading streams with tarfile. The 3962buffered read should use a list, instead of appending to a bytes object. 3963 3964.. 3965 3966.. bpo: 34019 3967.. date: 2018-07-02-05-59-11 3968.. nonce: ZXJIife 3969.. section: Library 3970 3971webbrowser: Correct the arguments passed to Opera Browser when opening a new 3972URL using the ``webbrowser`` module. Patch by Bumsik Kim. 3973 3974.. 3975 3976.. bpo: 34003 3977.. date: 2018-06-29-13-05-01 3978.. nonce: Iu831h 3979.. section: Library 3980 3981csv.DictReader now creates dicts instead of OrderedDicts. Patch by Michael 3982Selik. 3983 3984.. 3985 3986.. bpo: 33978 3987.. date: 2018-06-29-12-23-34 3988.. nonce: y4csIw 3989.. section: Library 3990 3991Closed existing logging handlers before reconfiguration via fileConfig and 3992dictConfig. Patch by Karthikeyan Singaravelan. 3993 3994.. 3995 3996.. bpo: 14117 3997.. date: 2018-06-29-00-31-36 3998.. nonce: 3nvDuR 3999.. section: Library 4000 4001Make minor tweaks to turtledemo. The 'wikipedia' example is now 'rosette', 4002describing what it draws. The 'penrose' print output is reduced. The'1024' 4003output of 'tree' is eliminated. 4004 4005.. 4006 4007.. bpo: 33974 4008.. date: 2018-06-28-14-56-44 4009.. nonce: SA8nNP 4010.. section: Library 4011 4012Fixed passing lists and tuples of strings containing special characters 4013``"``, ``\``, ``{``, ``}`` and ``\n`` as options to :mod:`~tkinter.ttk` 4014widgets. 4015 4016.. 4017 4018.. bpo: 27500 4019.. date: 2018-06-28-13-00-12 4020.. nonce: _s1gZ5 4021.. section: Library 4022 4023Fix getaddrinfo to resolve IPv6 addresses correctly. 4024 4025.. 4026 4027.. bpo: 24567 4028.. date: 2018-06-27-00-31-30 4029.. nonce: FuePyY 4030.. section: Library 4031 4032Improve random.choices() to handle subnormal input weights that could 4033occasionally trigger an IndexError. 4034 4035.. 4036 4037.. bpo: 33871 4038.. date: 2018-06-26-19-03-56 4039.. nonce: XhlrGU 4040.. section: Library 4041 4042Fixed integer overflow in :func:`os.readv`, :func:`os.writev`, 4043:func:`os.preadv` and :func:`os.pwritev` and in :func:`os.sendfile` with 4044*headers* or *trailers* arguments (on BSD-based OSes and macOS). 4045 4046.. 4047 4048.. bpo: 25007 4049.. date: 2018-06-26-16-55-59 4050.. nonce: 6LQWOF 4051.. section: Library 4052 4053Add :func:`copy.copy` and :func:`copy.deepcopy` support to zlib compressors 4054and decompressors. Patch by Zackery Spytz. 4055 4056.. 4057 4058.. bpo: 33929 4059.. date: 2018-06-26-02-09-18 4060.. nonce: OcCLah 4061.. section: Library 4062 4063multiprocessing: Fix a race condition in Popen of 4064multiprocessing.popen_spawn_win32. The child process now duplicates the read 4065end of pipe instead of "stealing" it. Previously, the read end of pipe was 4066"stolen" by the child process, but it leaked a handle if the child process 4067had been terminated before it could steal the handle from the parent 4068process. 4069 4070.. 4071 4072.. bpo: 33899 4073.. date: 2018-06-24-01-57-14 4074.. nonce: IaOcAr 4075.. section: Library 4076 4077Tokenize module now implicitly emits a NEWLINE when provided with input that 4078does not have a trailing new line. This behavior now matches what the C 4079tokenizer does internally. Contributed by Ammar Askar. 4080 4081.. 4082 4083.. bpo: 33897 4084.. date: 2018-06-23-18-09-28 4085.. nonce: Hu0yvt 4086.. section: Library 4087 4088Added a 'force' keyword argument to logging.basicConfig(). 4089 4090.. 4091 4092.. bpo: 33695 4093.. date: 2018-06-23-12-47-37 4094.. nonce: seRTxh 4095.. section: Library 4096 4097:func:`shutil.copytree` uses :func:`os.scandir` function and all copy 4098functions depending from it use cached :func:`os.stat` values. The speedup 4099for copying a directory with 8000 files is around +9% on Linux, +20% on 4100Windows and + 30% on a Windows SMB share. Also the number of :func:`os.stat` 4101syscalls is reduced by 38% making :func:`shutil.copytree` especially faster 4102on network filesystems. (Contributed by Giampaolo Rodola' in 4103:issue:`33695`.) 4104 4105.. 4106 4107.. bpo: 33916 4108.. date: 2018-06-21-11-35-47 4109.. nonce: cZgPCD 4110.. section: Library 4111 4112bz2 and lzma: When Decompressor.__init__() is called twice, free the old 4113lock to not leak memory. 4114 4115.. 4116 4117.. bpo: 32568 4118.. date: 2018-06-21-09-33-02 4119.. nonce: f_meGY 4120.. section: Library 4121 4122Make select.epoll() and its documentation consistent regarding *sizehint* 4123and *flags*. 4124 4125.. 4126 4127.. bpo: 33833 4128.. date: 2018-06-17-11-46-20 4129.. nonce: RnEqvM 4130.. section: Library 4131 4132Fixed bug in asyncio where ProactorSocketTransport logs AssertionError if 4133force closed during write. 4134 4135.. 4136 4137.. bpo: 33663 4138.. date: 2018-06-17-10-48-03 4139.. nonce: sUuGmq 4140.. section: Library 4141 4142Convert content length to string before putting to header. 4143 4144.. 4145 4146.. bpo: 33721 4147.. date: 2018-06-14-17-53-30 4148.. nonce: 8i9_9A 4149.. section: Library 4150 4151:mod:`os.path` functions that return a boolean result like 4152:func:`~os.path.exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, 4153:func:`~os.path.isfile`, :func:`~os.path.islink`, and 4154:func:`~os.path.ismount`, and :mod:`pathlib.Path` methods that return a 4155boolean result like :meth:`~pathlib.Path.exists()`, 4156:meth:`~pathlib.Path.is_dir()`, :meth:`~pathlib.Path.is_file()`, 4157:meth:`~pathlib.Path.is_mount()`, :meth:`~pathlib.Path.is_symlink()`, 4158:meth:`~pathlib.Path.is_block_device()`, 4159:meth:`~pathlib.Path.is_char_device()`, :meth:`~pathlib.Path.is_fifo()`, 4160:meth:`~pathlib.Path.is_socket()` now return ``False`` instead of raising 4161:exc:`ValueError` or its subclasses :exc:`UnicodeEncodeError` and 4162:exc:`UnicodeDecodeError` for paths that contain characters or bytes 4163unrepresentable at the OS level. 4164 4165.. 4166 4167.. bpo: 26544 4168.. date: 2018-06-13-20-33-29 4169.. nonce: hQ1oMt 4170.. section: Library 4171 4172Fixed implementation of :func:`platform.libc_ver`. It almost always returned 4173version '2.9' for glibc. 4174 4175.. 4176 4177.. bpo: 33843 4178.. date: 2018-06-12-18-59-16 4179.. nonce: qVAK8g 4180.. section: Library 4181 4182Remove deprecated ``cgi.escape``, ``cgi.parse_qs`` and ``cgi.parse_qsl``. 4183 4184.. 4185 4186.. bpo: 33842 4187.. date: 2018-06-12-18-34-54 4188.. nonce: RZXSGu 4189.. section: Library 4190 4191Remove ``tarfile.filemode`` which is deprecated since Python 3.3. 4192 4193.. 4194 4195.. bpo: 30167 4196.. date: 2018-06-10-19-29-17 4197.. nonce: G5EgC5 4198.. section: Library 4199 4200Prevent site.main() exception if PYTHONSTARTUP is set. Patch by Steve Weber. 4201 4202.. 4203 4204.. bpo: 33805 4205.. date: 2018-06-10-15-14-17 4206.. nonce: 5LAz5a 4207.. section: Library 4208 4209Improve error message of dataclasses.replace() when an InitVar is not 4210specified 4211 4212.. 4213 4214.. bpo: 33687 4215.. date: 2018-06-10-14-08-52 4216.. nonce: 1zZdnA 4217.. section: Library 4218 4219Fix the call to ``os.chmod()`` for ``uu.decode()`` if a mode is given or 4220decoded. Patch by Timo Furrer. 4221 4222.. 4223 4224.. bpo: 33812 4225.. date: 2018-06-10-13-26-02 4226.. nonce: frGAOr 4227.. section: Library 4228 4229Datetime instance d with non-None tzinfo, but with d.tzinfo.utcoffset(d) 4230returning None is now treated as naive by the astimezone() method. 4231 4232.. 4233 4234.. bpo: 32108 4235.. date: 2018-06-10-12-15-26 4236.. nonce: iEkvh0 4237.. section: Library 4238 4239In configparser, don't clear section when it is assigned to itself. 4240 4241.. 4242 4243.. bpo: 27397 4244.. date: 2018-06-10-09-43-54 4245.. nonce: 0_fFQR 4246.. section: Library 4247 4248Make email module properly handle invalid-length base64 strings. 4249 4250.. 4251 4252.. bpo: 33578 4253.. date: 2018-06-08-23-55-34 4254.. nonce: 7oSsjG 4255.. section: Library 4256 4257Implement multibyte encoder/decoder state methods 4258 4259.. 4260 4261.. bpo: 30805 4262.. date: 2018-06-08-17-34-16 4263.. nonce: 3qCWa0 4264.. section: Library 4265 4266Avoid race condition with debug logging 4267 4268.. 4269 4270.. bpo: 33476 4271.. date: 2018-06-08-00-29-40 4272.. nonce: R0Bhlj 4273.. section: Library 4274 4275Fix _header_value_parser.py when address group is missing final ';'. 4276Contributed by Enrique Perez-Terron 4277 4278.. 4279 4280.. bpo: 33694 4281.. date: 2018-06-07-23-51-00 4282.. nonce: F1zIR1 4283.. section: Library 4284 4285asyncio: Fix a race condition causing data loss on 4286pause_reading()/resume_reading() when using the ProactorEventLoop. 4287 4288.. 4289 4290.. bpo: 32493 4291.. date: 2018-06-07-18-55-35 4292.. nonce: 1Bte62 4293.. section: Library 4294 4295Correct test for ``uuid_enc_be`` availability in ``configure.ac``. Patch by 4296Michael Felt. 4297 4298.. 4299 4300.. bpo: 33792 4301.. date: 2018-06-07-12-38-12 4302.. nonce: 3aKG7u 4303.. section: Library 4304 4305Add asyncio.WindowsSelectorEventLoopPolicy and 4306asyncio.WindowsProactorEventLoopPolicy. 4307 4308.. 4309 4310.. bpo: 33274 4311.. date: 2018-06-06-22-01-33 4312.. nonce: teYqv8 4313.. section: Library 4314 4315W3C DOM Level 1 specifies return value of Element.removeAttributeNode() as 4316"The Attr node that was removed." xml.dom.minidom now complies with this 4317requirement. 4318 4319.. 4320 4321.. bpo: 33778 4322.. date: 2018-06-05-20-22-30 4323.. nonce: _tSAS6 4324.. section: Library 4325 4326Update ``unicodedata``'s database to Unicode version 11.0.0. 4327 4328.. 4329 4330.. bpo: 33165 4331.. date: 2018-06-05-12-43-25 4332.. nonce: 9TIsVf 4333.. section: Library 4334 4335Added a stacklevel parameter to logging calls to allow use of wrapper/helper 4336functions for logging APIs. 4337 4338.. 4339 4340.. bpo: 33770 4341.. date: 2018-06-05-11-29-26 4342.. nonce: oBhxxw 4343.. section: Library 4344 4345improve base64 exception message for encoded inputs of invalid length 4346 4347.. 4348 4349.. bpo: 33769 4350.. date: 2018-06-04-13-46-39 4351.. nonce: D_pxYz 4352.. section: Library 4353 4354asyncio/start_tls: Fix error message; cancel callbacks in case of an 4355unhandled error; mark SSLTransport as closed if it is aborted. 4356 4357.. 4358 4359.. bpo: 33767 4360.. date: 2018-06-03-22-41-59 4361.. nonce: 2e82g3 4362.. section: Library 4363 4364The concatenation (``+``) and repetition (``*``) sequence operations now 4365raise :exc:`TypeError` instead of :exc:`SystemError` when performed on 4366:class:`mmap.mmap` objects. Patch by Zackery Spytz. 4367 4368.. 4369 4370.. bpo: 33734 4371.. date: 2018-06-01-10-55-48 4372.. nonce: x1W9x0 4373.. section: Library 4374 4375asyncio/ssl: Fix AttributeError, increase default handshake timeout 4376 4377.. 4378 4379.. bpo: 31014 4380.. date: 2018-05-31-06-48-55 4381.. nonce: SNY681 4382.. section: Library 4383 4384Fixed creating a controller for :mod:`webbrowser` when a user specifies a 4385path to an entry in the BROWSER environment variable. Based on patch by 4386John Still. 4387 4388.. 4389 4390.. bpo: 2504 4391.. date: 2018-05-30-16-00-06 4392.. nonce: BynUvU 4393.. section: Library 4394 4395Add gettext.pgettext() and variants. 4396 4397.. 4398 4399.. bpo: 33197 4400.. date: 2018-05-30-00-26-05 4401.. nonce: XkE2kL 4402.. section: Library 4403 4404Add description property for _ParameterKind 4405 4406.. 4407 4408.. bpo: 32751 4409.. date: 2018-05-29-15-32-18 4410.. nonce: oBTqr7 4411.. section: Library 4412 4413When cancelling the task due to a timeout, :meth:`asyncio.wait_for` will now 4414wait until the cancellation is complete. 4415 4416.. 4417 4418.. bpo: 32684 4419.. date: 2018-05-29-12-51-18 4420.. nonce: ZEIism 4421.. section: Library 4422 4423Fix gather to propagate cancellation of itself even with return_exceptions. 4424 4425.. 4426 4427.. bpo: 33654 4428.. date: 2018-05-29-01-13-39 4429.. nonce: sa81Si 4430.. section: Library 4431 4432Support protocol type switching in SSLTransport.set_protocol(). 4433 4434.. 4435 4436.. bpo: 33674 4437.. date: 2018-05-29-00-37-56 4438.. nonce: 2IkGhL 4439.. section: Library 4440 4441Pause the transport as early as possible to further reduce the risk of 4442data_received() being called before connection_made(). 4443 4444.. 4445 4446.. bpo: 33671 4447.. date: 2018-05-28-23-25-17 4448.. nonce: GIdKKi 4449.. section: Library 4450 4451:func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, 4452:func:`shutil.copytree` and :func:`shutil.move` use platform-specific 4453fast-copy syscalls on Linux and macOS in order to copy the file 4454more efficiently. On Windows :func:`shutil.copyfile` uses a bigger default 4455buffer size (1 MiB instead of 16 KiB) and a :func:`memoryview`-based variant 4456of :func:`shutil.copyfileobj` is used. The speedup for copying a 512MiB file 4457is about +26% on Linux, +50% on macOS and +40% on Windows. Also, much less 4458CPU cycles are consumed. (Contributed by Giampaolo Rodola' in 4459:issue:`25427`.) 4460 4461.. 4462 4463.. bpo: 33674 4464.. date: 2018-05-28-22-49-59 4465.. nonce: 6LFFj7 4466.. section: Library 4467 4468Fix a race condition in SSLProtocol.connection_made() of asyncio.sslproto: 4469start immediately the handshake instead of using call_soon(). Previously, 4470data_received() could be called before the handshake started, causing the 4471handshake to hang or fail. 4472 4473.. 4474 4475.. bpo: 31647 4476.. date: 2018-05-28-18-40-26 4477.. nonce: s4Fad3 4478.. section: Library 4479 4480Fixed bug where calling write_eof() on a _SelectorSocketTransport after it's 4481already closed raises AttributeError. 4482 4483.. 4484 4485.. bpo: 32610 4486.. date: 2018-05-28-16-40-32 4487.. nonce: KvUAsL 4488.. section: Library 4489 4490Make asyncio.all_tasks() return only pending tasks. 4491 4492.. 4493 4494.. bpo: 32410 4495.. date: 2018-05-28-16-19-35 4496.. nonce: Z1DZaF 4497.. section: Library 4498 4499Avoid blocking on file IO in sendfile fallback code 4500 4501.. 4502 4503.. bpo: 33469 4504.. date: 2018-05-28-15-55-12 4505.. nonce: hmXBpY 4506.. section: Library 4507 4508Fix RuntimeError after closing loop that used run_in_executor 4509 4510.. 4511 4512.. bpo: 33672 4513.. date: 2018-05-28-12-29-54 4514.. nonce: GM_Xm_ 4515.. section: Library 4516 4517Fix Task.__repr__ crash with Cython's bogus coroutines 4518 4519.. 4520 4521.. bpo: 33654 4522.. date: 2018-05-26-13-09-34 4523.. nonce: IbYWxA 4524.. section: Library 4525 4526Fix transport.set_protocol() to support switching between asyncio.Protocol 4527and asyncio.BufferedProtocol. Fix loop.start_tls() to work with 4528asyncio.BufferedProtocols. 4529 4530.. 4531 4532.. bpo: 33652 4533.. date: 2018-05-26-10-13-59 4534.. nonce: humFJ1 4535.. section: Library 4536 4537Pickles of type variables and subscripted generics are now future-proof and 4538compatible with older Python versions. 4539 4540.. 4541 4542.. bpo: 32493 4543.. date: 2018-05-24-17-41-36 4544.. nonce: 5tAoAu 4545.. section: Library 4546 4547Fixed :func:`uuid.uuid1` on FreeBSD. 4548 4549.. 4550 4551.. bpo: 33238 4552.. date: 2018-05-24-09-15-52 4553.. nonce: ooDfoo 4554.. section: Library 4555 4556Add ``InvalidStateError`` to :mod:`concurrent.futures`. 4557``Future.set_result`` and ``Future.set_exception`` now raise 4558``InvalidStateError`` if the futures are not pending or running. Patch by 4559Jason Haydaman. 4560 4561.. 4562 4563.. bpo: 33618 4564.. date: 2018-05-23-20-14-34 4565.. nonce: xU39lr 4566.. section: Library 4567 4568Finalize and document preliminary and experimental TLS 1.3 support with 4569OpenSSL 1.1.1 4570 4571.. 4572 4573.. bpo: 33625 4574.. date: 2018-05-23-17-07-54 4575.. nonce: nzQgD8 4576.. section: Library 4577 4578Release GIL on `grp.getgrnam`, `grp.getgrgid`, `pwd.getpwnam` and 4579`pwd.getpwuid` if reentrant variants of these functions are available. Patch 4580by William Grzybowski. 4581 4582.. 4583 4584.. bpo: 33623 4585.. date: 2018-05-23-14-58-05 4586.. nonce: wAw1cF 4587.. section: Library 4588 4589Fix possible SIGSGV when asyncio.Future is created in __del__ 4590 4591.. 4592 4593.. bpo: 11874 4594.. date: 2018-05-23-00-26-27 4595.. nonce: glK5iP 4596.. section: Library 4597 4598Use a better regex when breaking usage into wrappable parts. Avoids bogus 4599assertion errors from custom metavar strings. 4600 4601.. 4602 4603.. bpo: 30877 4604.. date: 2018-05-22-13-05-12 4605.. nonce: JZEGjI 4606.. section: Library 4607 4608Fixed a bug in the Python implementation of the JSON decoder that prevented 4609the cache of parsed strings from clearing after finishing the decoding. 4610Based on patch by c-fos. 4611 4612.. 4613 4614.. bpo: 33604 4615.. date: 2018-05-22-11-55-33 4616.. nonce: 6V4JcO 4617.. section: Library 4618 4619Remove HMAC default to md5 marked for removal in 3.8 (removal originally 4620planned in 3.6, bump to 3.8 in gh-7062). 4621 4622.. 4623 4624.. bpo: 33582 4625.. date: 2018-05-19-15-58-14 4626.. nonce: qBZPmF 4627.. section: Library 4628 4629Emit a deprecation warning for inspect.formatargspec 4630 4631.. 4632 4633.. bpo: 21145 4634.. date: 2018-05-18-22-52-34 4635.. nonce: AiQMDx 4636.. section: Library 4637 4638Add ``functools.cached_property`` decorator, for computed properties cached 4639for the life of the instance. 4640 4641.. 4642 4643.. bpo: 33570 4644.. date: 2018-05-18-21-50-47 4645.. nonce: 7CZy4t 4646.. section: Library 4647 4648Change TLS 1.3 cipher suite settings for compatibility with OpenSSL 46491.1.1-pre6 and newer. OpenSSL 1.1.1 will have TLS 1.3 ciphers enabled by 4650default. 4651 4652.. 4653 4654.. bpo: 28556 4655.. date: 2018-05-17-22-53-08 4656.. nonce: C6Hnd1 4657.. section: Library 4658 4659Do not simplify arguments to `typing.Union`. Now `Union[Manager, Employee]` 4660is not simplified to `Employee` at runtime. Such simplification previously 4661caused several bugs and limited possibilities for introspection. 4662 4663.. 4664 4665.. bpo: 12486 4666.. date: 2018-05-17-22-14-58 4667.. nonce: HBeh62 4668.. section: Library 4669 4670:func:`tokenize.generate_tokens` is now documented as a public API to 4671tokenize unicode strings. It was previously present but undocumented. 4672 4673.. 4674 4675.. bpo: 33540 4676.. date: 2018-05-16-18-10-38 4677.. nonce: wy9LRV 4678.. section: Library 4679 4680Add a new ``block_on_close`` class attribute to ``ForkingMixIn`` and 4681``ThreadingMixIn`` classes of :mod:`socketserver`. 4682 4683.. 4684 4685.. bpo: 33548 4686.. date: 2018-05-16-17-05-48 4687.. nonce: xWslmx 4688.. section: Library 4689 4690tempfile._candidate_tempdir_list should consider common TEMP locations 4691 4692.. 4693 4694.. bpo: 33109 4695.. date: 2018-05-16-14-57-58 4696.. nonce: nPLL_S 4697.. section: Library 4698 4699argparse subparsers are once again not required by default, reverting the 4700change in behavior introduced by bpo-26510 in 3.7.0a2. 4701 4702.. 4703 4704.. bpo: 33541 4705.. date: 2018-05-16-12-32-48 4706.. nonce: kQORPE 4707.. section: Library 4708 4709Remove unused private method ``_strptime.LocaleTime.__pad`` (a.k.a. 4710``_LocaleTime__pad``). 4711 4712.. 4713 4714.. bpo: 33536 4715.. date: 2018-05-16-10-07-40 4716.. nonce: _s0TE8 4717.. section: Library 4718 4719dataclasses.make_dataclass now checks for invalid field names and duplicate 4720fields. Also, added a check for invalid field specifications. 4721 4722.. 4723 4724.. bpo: 33542 4725.. date: 2018-05-16-09-30-27 4726.. nonce: idNAcs 4727.. section: Library 4728 4729Prevent ``uuid.get_node`` from using a DUID instead of a MAC on Windows. 4730Patch by Zvi Effron 4731 4732.. 4733 4734.. bpo: 26819 4735.. date: 2018-05-16-05-24-43 4736.. nonce: taxbVT 4737.. section: Library 4738 4739Fix race condition with `ReadTransport.resume_reading` in Windows proactor 4740event loop. 4741 4742.. 4743 4744.. bpo: 0 4745.. date: 2018-05-15-18-02-03 4746.. nonce: pj2Mbb 4747.. section: Library 4748 4749Fix failure in `typing.get_type_hints()` when ClassVar was provided as a 4750string forward reference. 4751 4752.. 4753 4754.. bpo: 33516 4755.. date: 2018-05-15-17-06-42 4756.. nonce: ZzARe4 4757.. section: Library 4758 4759:class:`unittest.mock.MagicMock` now supports the ``__round__`` magic 4760method. 4761 4762.. 4763 4764.. bpo: 28612 4765.. date: 2018-05-15-15-03-48 4766.. nonce: E9dz39 4767.. section: Library 4768 4769Added support for Site Maps to urllib's ``RobotFileParser`` as 4770:meth:`RobotFileParser.site_maps() 4771<urllib.robotparser.RobotFileParser.site_maps>`. Patch by Lady Red, based on 4772patch by Peter Wirtz. 4773 4774.. 4775 4776.. bpo: 28167 4777.. date: 2018-05-15-13-49-13 4778.. nonce: p4RdQt 4779.. section: Library 4780 4781Remove platform.linux_distribution, which was deprecated since 3.5. 4782 4783.. 4784 4785.. bpo: 33504 4786.. date: 2018-05-15-12-11-13 4787.. nonce: czsHFg 4788.. section: Library 4789 4790Switch the default dictionary implementation for :mod:`configparser` from 4791:class:`collections.OrderedDict` to the standard :class:`dict` type. 4792 4793.. 4794 4795.. bpo: 33505 4796.. date: 2018-05-14-18-05-35 4797.. nonce: L8pAyt 4798.. section: Library 4799 4800Optimize asyncio.ensure_future() by reordering if checks: 1.17x faster. 4801 4802.. 4803 4804.. bpo: 33497 4805.. date: 2018-05-14-17-49-34 4806.. nonce: wWT6XM 4807.. section: Library 4808 4809Add errors param to cgi.parse_multipart and make an encoding in FieldStorage 4810use the given errors (needed for Twisted). Patch by Amber Brown. 4811 4812.. 4813 4814.. bpo: 29235 4815.. date: 2018-05-14-15-01-55 4816.. nonce: 47Fzwt 4817.. section: Library 4818 4819The :class:`cProfile.Profile` class can now be used as a context manager. 4820Patch by Scott Sanderson. 4821 4822.. 4823 4824.. bpo: 33495 4825.. date: 2018-05-14-10-29-03 4826.. nonce: TeGTQJ 4827.. section: Library 4828 4829Change dataclasses.Fields repr to use the repr of each of its members, 4830instead of str. This makes it more clear what each field actually 4831represents. This is especially true for the 'type' member. 4832 4833.. 4834 4835.. bpo: 26103 4836.. date: 2018-05-14-09-07-14 4837.. nonce: _zU8E2 4838.. section: Library 4839 4840Correct ``inspect.isdatadescriptor`` to look for ``__set__`` or 4841``__delete__``. Patch by Aaron Hall. 4842 4843.. 4844 4845.. bpo: 29209 4846.. date: 2018-05-12-13-06-41 4847.. nonce: h5RxYy 4848.. section: Library 4849 4850Removed the ``doctype()`` method and the *html* parameter of the constructor 4851of :class:`~xml.etree.ElementTree.XMLParser`. The ``doctype()`` method 4852defined in a subclass will no longer be called. Deprecated methods 4853``getchildren()`` and ``getiterator()`` in the :mod:`~xml.etree.ElementTree` 4854module emit now a :exc:`DeprecationWarning` instead of 4855:exc:`PendingDeprecationWarning`. 4856 4857.. 4858 4859.. bpo: 33453 4860.. date: 2018-05-12-06-01-02 4861.. nonce: Fj-jMD 4862.. section: Library 4863 4864Fix dataclasses to work if using literal string type annotations or if using 4865PEP 563 "Postponed Evaluation of Annotations". Only specific string 4866prefixes are detected for both ClassVar ("ClassVar" and "typing.ClassVar") 4867and InitVar ("InitVar" and "dataclasses.InitVar"). 4868 4869.. 4870 4871.. bpo: 28556 4872.. date: 2018-05-08-16-43-42 4873.. nonce: _xr5mp 4874.. section: Library 4875 4876Minor fixes in typing module: add annotations to ``NamedTuple.__new__``, 4877pass ``*args`` and ``**kwds`` in ``Generic.__new__``. Original PRs by 4878Paulius Šarka and Chad Dombrova. 4879 4880.. 4881 4882.. bpo: 33365 4883.. date: 2018-05-08-15-01-10 4884.. nonce: SicsAd 4885.. section: Library 4886 4887Print the header values besides the header keys instead just the header keys 4888if *debuglevel* is set to >0 in :mod:`http.client`. Patch by Marco Strigl. 4889 4890.. 4891 4892.. bpo: 20087 4893.. date: 2018-05-05-18-02-24 4894.. nonce: lJrvXL 4895.. section: Library 4896 4897Updated alias mapping with glibc 2.27 supported locales. 4898 4899.. 4900 4901.. bpo: 33422 4902.. date: 2018-05-05-09-53-05 4903.. nonce: 4FtQ0q 4904.. section: Library 4905 4906Fix trailing quotation marks getting deleted when looking up byte/string 4907literals on pydoc. Patch by Andrés Delfino. 4908 4909.. 4910 4911.. bpo: 28167 4912.. date: 2018-05-02-07-26-29 4913.. nonce: 7FwDfN 4914.. section: Library 4915 4916The function ``platform.linux_distribution`` and ``platform.dist`` now 4917trigger a ``DeprecationWarning`` and have been marked for removal in Python 49183.8 4919 4920.. 4921 4922.. bpo: 33281 4923.. date: 2018-05-01-22-35-50 4924.. nonce: d4jOt4 4925.. section: Library 4926 4927Fix ctypes.util.find_library regression on macOS. 4928 4929.. 4930 4931.. bpo: 33311 4932.. date: 2018-05-01-22-33-14 4933.. nonce: 8YPB-k 4934.. section: Library 4935 4936Text and html output generated by cgitb does not display parentheses if the 4937current call is done directly in the module. Patch by Stéphane Blondon. 4938 4939.. 4940 4941.. bpo: 27300 4942.. date: 2018-05-01-02-24-44 4943.. nonce: LdIXvK 4944.. section: Library 4945 4946The file classes in *tempfile* now accept an *errors* parameter that 4947complements the already existing *encoding*. Patch by Stephan Hohe. 4948 4949.. 4950 4951.. bpo: 32933 4952.. date: 2018-04-30-22-43-31 4953.. nonce: M3iI_y 4954.. section: Library 4955 4956:func:`unittest.mock.mock_open` now supports iteration over the file 4957contents. Patch by Tony Flury. 4958 4959.. 4960 4961.. bpo: 33217 4962.. date: 2018-04-30-13-29-47 4963.. nonce: TENDzd 4964.. section: Library 4965 4966Raise :exc:`TypeError` when looking up non-Enum objects in Enum classes and 4967Enum members. 4968 4969.. 4970 4971.. bpo: 33197 4972.. date: 2018-04-29-23-56-20 4973.. nonce: dgRLqr 4974.. section: Library 4975 4976Update error message when constructing invalid inspect.Parameters Patch by 4977Dong-hee Na. 4978 4979.. 4980 4981.. bpo: 33383 4982.. date: 2018-04-29-11-15-38 4983.. nonce: g32YWn 4984.. section: Library 4985 4986Fixed crash in the get() method of the :mod:`dbm.ndbm` database object when 4987it is called with a single argument. 4988 4989.. 4990 4991.. bpo: 33375 4992.. date: 2018-04-28-08-11-35 4993.. nonce: Dbq1fz 4994.. section: Library 4995 4996The warnings module now finds the Python file associated with a warning from 4997the code object, rather than the frame's global namespace. This is 4998consistent with how tracebacks and pdb find filenames, and should work 4999better for dynamically executed code. 5000 5001.. 5002 5003.. bpo: 33336 5004.. date: 2018-04-27-22-18-38 5005.. nonce: T8rxn0 5006.. section: Library 5007 5008``imaplib`` now allows ``MOVE`` command in ``IMAP4.uid()`` (RFC 6851: IMAP 5009MOVE Extension) and potentially as a name of supported method of ``IMAP4`` 5010object. 5011 5012.. 5013 5014.. bpo: 32455 5015.. date: 2018-04-26-13-31-10 5016.. nonce: KPWg3K 5017.. section: Library 5018 5019Added *jump* parameter to :func:`dis.stack_effect`. 5020 5021.. 5022 5023.. bpo: 27485 5024.. date: 2018-04-25-14-05-21 5025.. nonce: nclVSU 5026.. section: Library 5027 5028Rename and deprecate undocumented functions in :func:`urllib.parse`. 5029 5030.. 5031 5032.. bpo: 33332 5033.. date: 2018-04-23-21-41-30 5034.. nonce: Y6OZ8Z 5035.. section: Library 5036 5037Add ``signal.valid_signals()`` to expose the POSIX sigfillset() 5038functionality. 5039 5040.. 5041 5042.. bpo: 33251 5043.. date: 2018-04-23-18-25-36 5044.. nonce: C_K-J9 5045.. section: Library 5046 5047`ConfigParser.items()` was fixed so that key-value pairs passed in via 5048`vars` are not included in the resulting output. 5049 5050.. 5051 5052.. bpo: 33329 5053.. date: 2018-04-23-13-21-39 5054.. nonce: lQ-Eod 5055.. section: Library 5056 5057Fix multiprocessing regression on newer glibcs 5058 5059.. 5060 5061.. bpo: 33334 5062.. date: 2018-04-22-20-13-21 5063.. nonce: 19UMOC 5064.. section: Library 5065 5066:func:`dis.stack_effect` now supports all defined opcodes including NOP and 5067EXTENDED_ARG. 5068 5069.. 5070 5071.. bpo: 991266 5072.. date: 2018-04-21-00-24-08 5073.. nonce: h93TP_ 5074.. section: Library 5075 5076Fix quoting of the ``Comment`` attribute of 5077:class:`http.cookies.SimpleCookie`. 5078 5079.. 5080 5081.. bpo: 33131 5082.. date: 2018-04-20-10-43-17 5083.. nonce: L2E977 5084.. section: Library 5085 5086Upgrade bundled version of pip to 10.0.1. 5087 5088.. 5089 5090.. bpo: 33308 5091.. date: 2018-04-18-19-12-25 5092.. nonce: fW75xi 5093.. section: Library 5094 5095Fixed a crash in the :mod:`parser` module when converting an ST object to a 5096tree of tuples or lists with ``line_info=False`` and ``col_info=True``. 5097 5098.. 5099 5100.. bpo: 23403 5101.. date: 2018-04-16-16-21-09 5102.. nonce: rxR1Q_ 5103.. section: Library 5104 5105lib2to3 now uses pickle protocol 4 for pre-computed grammars. 5106 5107.. 5108 5109.. bpo: 33266 5110.. date: 2018-04-16-15-59-21 5111.. nonce: w2PAm- 5112.. section: Library 5113 5114lib2to3 now recognizes ``rf'...'`` strings. 5115 5116.. 5117 5118.. bpo: 11594 5119.. date: 2018-04-16-08-42-03 5120.. nonce: QLo4vv 5121.. section: Library 5122 5123Ensure line-endings are respected when using lib2to3. 5124 5125.. 5126 5127.. bpo: 33254 5128.. date: 2018-04-13-15-14-47 5129.. nonce: DS4KFK 5130.. section: Library 5131 5132Have :func:`importlib.resources.contents` and 5133:meth:`importlib.abc.ResourceReader.contents` return an :term:`iterable` 5134instead of an :term:`iterator`. 5135 5136.. 5137 5138.. bpo: 33265 5139.. date: 2018-04-13-08-12-50 5140.. nonce: KPQRk0 5141.. section: Library 5142 5143``contextlib.ExitStack`` and ``contextlib.AsyncExitStack`` now use a method 5144instead of a wrapper function for exit callbacks. 5145 5146.. 5147 5148.. bpo: 33263 5149.. date: 2018-04-11-20-29-19 5150.. nonce: B56Hc1 5151.. section: Library 5152 5153Fix FD leak in `_SelectorSocketTransport` Patch by Vlad Starostin. 5154 5155.. 5156 5157.. bpo: 33256 5158.. date: 2018-04-10-20-57-14 5159.. nonce: ndHkqu 5160.. section: Library 5161 5162Fix display of ``<module>`` call in the html produced by ``cgitb.html()``. 5163Patch by Stéphane Blondon. 5164 5165.. 5166 5167.. bpo: 33144 5168.. date: 2018-04-10-14-50-30 5169.. nonce: iZr4et 5170.. section: Library 5171 5172``random.Random()`` and its subclassing mechanism got optimized to check 5173only once at class/subclass instantiation time whether its ``getrandbits()`` 5174method can be relied on by other methods, including ``randrange()``, for the 5175generation of arbitrarily large random integers. Patch by Wolfgang Maier. 5176 5177.. 5178 5179.. bpo: 33185 5180.. date: 2018-04-08-22-54-07 5181.. nonce: Id-Ba9 5182.. section: Library 5183 5184Fixed regression when running pydoc with the :option:`-m` switch. (The 5185regression was introduced in 3.7.0b3 by the resolution of :issue:`33053`) 5186 5187This fix also changed pydoc to add ``os.getcwd()`` to :data:`sys.path` when 5188necessary, rather than adding ``"."``. 5189 5190.. 5191 5192.. bpo: 29613 5193.. date: 2018-04-07-13-49-39 5194.. nonce: r6FDnB 5195.. section: Library 5196 5197Added support for the ``SameSite`` cookie flag to the ``http.cookies`` 5198module. 5199 5200.. 5201 5202.. bpo: 33169 5203.. date: 2018-04-06-14-56-26 5204.. nonce: ByhDqb 5205.. section: Library 5206 5207Delete entries of ``None`` in :data:`sys.path_importer_cache` when 5208:meth:`importlib.machinery.invalidate_caches` is called. 5209 5210.. 5211 5212.. bpo: 33203 5213.. date: 2018-04-05-11-09-45 5214.. nonce: Hje9Py 5215.. section: Library 5216 5217``random.Random.choice()`` now raises ``IndexError`` for empty sequences 5218consistently even when called from subclasses without a ``getrandbits()`` 5219implementation. 5220 5221.. 5222 5223.. bpo: 33224 5224.. date: 2018-04-04-23-41-30 5225.. nonce: pyR0jB 5226.. section: Library 5227 5228Update difflib.mdiff() for :pep:`479`. Convert an uncaught StopIteration in 5229a generator into a return-statement. 5230 5231.. 5232 5233.. bpo: 33209 5234.. date: 2018-04-03-10-37-13 5235.. nonce: 9sGWE_ 5236.. section: Library 5237 5238End framing at the end of C implementation of :func:`pickle.Pickler.dump`. 5239 5240.. 5241 5242.. bpo: 32861 5243.. date: 2018-04-02-20-44-54 5244.. nonce: HeBjzN 5245.. section: Library 5246 5247The urllib.robotparser's ``__str__`` representation now includes wildcard 5248entries and the "Crawl-delay" and "Request-rate" fields. Also removes extra 5249newlines that were being appended to the end of the string. Patch by Michael 5250Lazar. 5251 5252.. 5253 5254.. bpo: 23403 5255.. date: 2018-04-02-16-10-12 5256.. nonce: KG7ADV 5257.. section: Library 5258 5259``DEFAULT_PROTOCOL`` in :mod:`pickle` was bumped to 4. Protocol 4 is 5260described in :pep:`3154` and available since Python 3.4. It offers better 5261performance and smaller size compared to protocol 3 introduced in Python 52623.0. 5263 5264.. 5265 5266.. bpo: 20104 5267.. date: 2018-04-01-19-21-04 5268.. nonce: -AKcGa 5269.. section: Library 5270 5271Improved error handling and fixed a reference leak in 5272:func:`os.posix_spawn()`. 5273 5274.. 5275 5276.. bpo: 33106 5277.. date: 2018-03-30-01-20-35 5278.. nonce: zncfvW 5279.. section: Library 5280 5281Deleting a key from a read-only dbm database raises module specific error 5282instead of KeyError. 5283 5284.. 5285 5286.. bpo: 33175 5287.. date: 2018-03-29-04-32-25 5288.. nonce: _zs1yM 5289.. section: Library 5290 5291In dataclasses, Field.__set_name__ now looks up the __set_name__ special 5292method on the class, not the instance, of the default value. 5293 5294.. 5295 5296.. bpo: 32380 5297.. date: 2018-03-29-03-09-22 5298.. nonce: NhuGig 5299.. section: Library 5300 5301Create functools.singledispatchmethod to support generic single dispatch on 5302descriptors and methods. 5303 5304.. 5305 5306.. bpo: 33141 5307.. date: 2018-03-26-12-33-13 5308.. nonce: 23wlxf 5309.. section: Library 5310 5311Have Field objects pass through __set_name__ to their default values, if 5312they have their own __set_name__. 5313 5314.. 5315 5316.. bpo: 33096 5317.. date: 2018-03-25-13-18-16 5318.. nonce: ofdbe7 5319.. section: Library 5320 5321Allow ttk.Treeview.insert to insert iid that has a false boolean value. Note 5322iid=0 and iid=False would be same. Patch by Garvit Khatri. 5323 5324.. 5325 5326.. bpo: 32873 5327.. date: 2018-03-24-19-54-48 5328.. nonce: cHyoAm 5329.. section: Library 5330 5331Treat type variables and special typing forms as immutable by copy and 5332pickle. This fixes several minor issues and inconsistencies, and improves 5333backwards compatibility with Python 3.6. 5334 5335.. 5336 5337.. bpo: 33134 5338.. date: 2018-03-24-19-34-26 5339.. nonce: hbVeIX 5340.. section: Library 5341 5342When computing dataclass's __hash__, use the lookup table to contain the 5343function which returns the __hash__ value. This is an improvement over 5344looking up a string, and then testing that string to see what to do. 5345 5346.. 5347 5348.. bpo: 33127 5349.. date: 2018-03-24-15-08-24 5350.. nonce: olJmHv 5351.. section: Library 5352 5353The ssl module now compiles with LibreSSL 2.7.1. 5354 5355.. 5356 5357.. bpo: 32505 5358.. date: 2018-03-22-16-05-56 5359.. nonce: YK1N8v 5360.. section: Library 5361 5362Raise TypeError if a member variable of a dataclass is of type Field, but 5363doesn't have a type annotation. 5364 5365.. 5366 5367.. bpo: 33078 5368.. date: 2018-03-21-17-59-39 5369.. nonce: PQOniT 5370.. section: Library 5371 5372Fix the failure on OSX caused by the tests relying on sem_getvalue 5373 5374.. 5375 5376.. bpo: 33116 5377.. date: 2018-03-21-16-52-26 5378.. nonce: Tvzerj 5379.. section: Library 5380 5381Add 'Field' to dataclasses.__all__. 5382 5383.. 5384 5385.. bpo: 32896 5386.. date: 2018-03-20-20-53-21 5387.. nonce: ewW3Ln 5388.. section: Library 5389 5390Fix an error where subclassing a dataclass with a field that uses a 5391default_factory would generate an incorrect class. 5392 5393.. 5394 5395.. bpo: 33100 5396.. date: 2018-03-19-20-47-00 5397.. nonce: chyIO4 5398.. section: Library 5399 5400Dataclasses: If a field has a default value that's a MemberDescriptorType, 5401then it's from that field being in __slots__, not an actual default value. 5402 5403.. 5404 5405.. bpo: 32953 5406.. date: 2018-03-18-17-38-48 5407.. nonce: t8WAWN 5408.. section: Library 5409 5410If a non-dataclass inherits from a frozen dataclass, allow attributes to be 5411added to the derived class. Only attributes from the frozen dataclass 5412cannot be assigned to. Require all dataclasses in a hierarchy to be either 5413all frozen or all non-frozen. 5414 5415.. 5416 5417.. bpo: 33097 5418.. date: 2018-03-18-16-48-23 5419.. nonce: Yl4gI2 5420.. section: Library 5421 5422Raise RuntimeError when ``executor.submit`` is called during interpreter 5423shutdown. 5424 5425.. 5426 5427.. bpo: 32968 5428.. date: 2018-03-18-15-57-32 5429.. nonce: E4G7BO 5430.. section: Library 5431 5432Modulo and floor division involving Fraction and float should return float. 5433 5434.. 5435 5436.. bpo: 33061 5437.. date: 2018-03-16-16-07-33 5438.. nonce: TRTTek 5439.. section: Library 5440 5441Add missing ``NoReturn`` to ``__all__`` in typing.py 5442 5443.. 5444 5445.. bpo: 33078 5446.. date: 2018-03-15-07-38-00 5447.. nonce: RmjUF5 5448.. section: Library 5449 5450Fix the size handling in multiprocessing.Queue when a pickling error occurs. 5451 5452.. 5453 5454.. bpo: 33064 5455.. date: 2018-03-12-19-58-25 5456.. nonce: LO2KIY 5457.. section: Library 5458 5459lib2to3 now properly supports trailing commas after ``*args`` and 5460``**kwargs`` in function signatures. 5461 5462.. 5463 5464.. bpo: 33056 5465.. date: 2018-03-12-16-40-00 5466.. nonce: lNN9Eh 5467.. section: Library 5468 5469FIX properly close leaking fds in concurrent.futures.ProcessPoolExecutor. 5470 5471.. 5472 5473.. bpo: 33021 5474.. date: 2018-03-12-00-27-56 5475.. nonce: m19B9T 5476.. section: Library 5477 5478Release the GIL during fstat() calls, avoiding hang of all threads when 5479calling mmap.mmap(), os.urandom(), and random.seed(). Patch by Nir Soffer. 5480 5481.. 5482 5483.. bpo: 31804 5484.. date: 2018-03-11-19-03-52 5485.. nonce: i8KUMp 5486.. section: Library 5487 5488Avoid failing in multiprocessing.Process if the standard streams are closed 5489or None at exit. 5490 5491.. 5492 5493.. bpo: 33034 5494.. date: 2018-03-11-08-44-12 5495.. nonce: bpb23d 5496.. section: Library 5497 5498Providing an explicit error message when casting the port property to 5499anything that is not an integer value using ``urlparse()`` and 5500``urlsplit()``. Patch by Matt Eaton. 5501 5502.. 5503 5504.. bpo: 30249 5505.. date: 2018-03-11-00-20-26 5506.. nonce: KSkgLB 5507.. section: Library 5508 5509Improve struct.unpack_from() exception messages for problems with the buffer 5510size and offset. 5511 5512.. 5513 5514.. bpo: 33037 5515.. date: 2018-03-09-23-07-07 5516.. nonce: nAJ3at 5517.. section: Library 5518 5519Skip sending/receiving data after SSL transport closing. 5520 5521.. 5522 5523.. bpo: 27683 5524.. date: 2018-03-07-22-28-17 5525.. nonce: 572Rv4 5526.. section: Library 5527 5528Fix a regression in :mod:`ipaddress` that result of :meth:`hosts` is empty 5529when the network is constructed by a tuple containing an integer mask and 5530only 1 bit left for addresses. 5531 5532.. 5533 5534.. bpo: 22674 5535.. date: 2018-03-07-19-37-00 5536.. nonce: 2sIMmM 5537.. section: Library 5538 5539Add the strsignal() function in the signal module that returns the system 5540description of the given signal, as returned by strsignal(3). 5541 5542.. 5543 5544.. bpo: 32999 5545.. date: 2018-03-06-20-30-20 5546.. nonce: lgFXWl 5547.. section: Library 5548 5549Fix C implementation of ``ABC.__subclasscheck__(cls, subclass)`` crashed 5550when ``subclass`` is not a type object. 5551 5552.. 5553 5554.. bpo: 33009 5555.. date: 2018-03-06-11-54-59 5556.. nonce: -Ekysb 5557.. section: Library 5558 5559Fix inspect.signature() for single-parameter partialmethods. 5560 5561.. 5562 5563.. bpo: 32969 5564.. date: 2018-03-06-00-19-41 5565.. nonce: rGTKa0 5566.. section: Library 5567 5568Expose several missing constants in zlib and fix corresponding 5569documentation. 5570 5571.. 5572 5573.. bpo: 32056 5574.. date: 2018-03-01-17-49-56 5575.. nonce: IlpfgE 5576.. section: Library 5577 5578Improved exceptions raised for invalid number of channels and sample width 5579when read an audio file in modules :mod:`aifc`, :mod:`wave` and 5580:mod:`sunau`. 5581 5582.. 5583 5584.. bpo: 32970 5585.. date: 2018-02-28-18-39-48 5586.. nonce: IPWtbS 5587.. section: Library 5588 5589Improved disassembly of the MAKE_FUNCTION instruction. 5590 5591.. 5592 5593.. bpo: 32844 5594.. date: 2018-02-28-13-08-00 5595.. nonce: u8tnAe 5596.. section: Library 5597 5598Fix wrong redirection of a low descriptor (0 or 1) to stderr in subprocess 5599if another low descriptor is closed. 5600 5601.. 5602 5603.. bpo: 32960 5604.. date: 2018-02-26-20-04-40 5605.. nonce: 48r0Ml 5606.. section: Library 5607 5608For dataclasses, disallow inheriting frozen from non-frozen classes, and 5609also disallow inheriting non-frozen from frozen classes. This restriction 5610will be relaxed at a future date. 5611 5612.. 5613 5614.. bpo: 32713 5615.. date: 2018-02-26-13-16-36 5616.. nonce: 55yegW 5617.. section: Library 5618 5619Fixed tarfile.itn handling of out-of-bounds float values. Patch by Joffrey 5620Fuhrer. 5621 5622.. 5623 5624.. bpo: 32257 5625.. date: 2018-02-26-09-08-07 5626.. nonce: 6ElnUt 5627.. section: Library 5628 5629The ssl module now contains OP_NO_RENEGOTIATION constant, available with 5630OpenSSL 1.1.0h or 1.1.1. 5631 5632.. 5633 5634.. bpo: 32951 5635.. date: 2018-02-25-18-22-01 5636.. nonce: gHrCXq 5637.. section: Library 5638 5639Direct instantiation of SSLSocket and SSLObject objects is now prohibited. 5640The constructors were never documented, tested, or designed as public 5641constructors. Users were suppose to use ssl.wrap_socket() or SSLContext. 5642 5643.. 5644 5645.. bpo: 32929 5646.. date: 2018-02-25-13-47-48 5647.. nonce: X2gTDH 5648.. section: Library 5649 5650Remove the tri-state parameter "hash", and add the boolean "unsafe_hash". If 5651unsafe_hash is True, add a __hash__ function, but if a __hash__ exists, 5652raise TypeError. If unsafe_hash is False, add a __hash__ based on the 5653values of eq= and frozen=. The unsafe_hash=False behavior is the same as 5654the old hash=None behavior. unsafe_hash=False is the default, just as 5655hash=None used to be. 5656 5657.. 5658 5659.. bpo: 32947 5660.. date: 2018-02-25-13-06-21 5661.. nonce: mqStVW 5662.. section: Library 5663 5664Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3 for future 5665compatibility with OpenSSL 1.1.1. 5666 5667.. 5668 5669.. bpo: 32146 5670.. date: 2018-02-25-10-17-23 5671.. nonce: xOzUFW 5672.. section: Library 5673 5674Document the interaction between frozen executables and the spawn and 5675forkserver start methods in multiprocessing. 5676 5677.. 5678 5679.. bpo: 30622 5680.. date: 2018-02-24-21-40-42 5681.. nonce: dQjxSe 5682.. section: Library 5683 5684The ssl module now detects missing NPN support in LibreSSL. 5685 5686.. 5687 5688.. bpo: 32922 5689.. date: 2018-02-23-19-12-04 5690.. nonce: u-xe0B 5691.. section: Library 5692 5693dbm.open() now encodes filename with the filesystem encoding rather than 5694default encoding. 5695 5696.. 5697 5698.. bpo: 32759 5699.. date: 2018-02-23-12-21-41 5700.. nonce: M-y9GA 5701.. section: Library 5702 5703Free unused arenas in multiprocessing.heap. 5704 5705.. 5706 5707.. bpo: 32859 5708.. date: 2018-02-19-17-46-31 5709.. nonce: kAT-Xp 5710.. section: Library 5711 5712In ``os.dup2``, don't check every call whether the ``dup3`` syscall exists 5713or not. 5714 5715.. 5716 5717.. bpo: 32556 5718.. date: 2018-02-19-14-27-51 5719.. nonce: CsRsgr 5720.. section: Library 5721 5722nt._getfinalpathname, nt._getvolumepathname and nt._getdiskusage now 5723correctly convert from bytes. 5724 5725.. 5726 5727.. bpo: 21060 5728.. date: 2018-02-17-19-20-19 5729.. nonce: S1Z-x6 5730.. section: Library 5731 5732Rewrite confusing message from setup.py upload from "No dist file created in 5733earlier command" to the more helpful "Must create and upload files in one 5734command". 5735 5736.. 5737 5738.. bpo: 32857 5739.. date: 2018-02-16-14-37-14 5740.. nonce: -XljAx 5741.. section: Library 5742 5743In :mod:`tkinter`, ``after_cancel(None)`` now raises a :exc:`ValueError` 5744instead of canceling the first scheduled function. Patch by Cheryl Sabella. 5745 5746.. 5747 5748.. bpo: 32852 5749.. date: 2018-02-15-12-04-29 5750.. nonce: HDqIxM 5751.. section: Library 5752 5753Make sure sys.argv remains as a list when running trace. 5754 5755.. 5756 5757.. bpo: 31333 5758.. date: 2018-02-15-08-18-52 5759.. nonce: 4fF-gM 5760.. section: Library 5761 5762``_abc`` module is added. It is a speedup module with C implementations for 5763various functions and methods in ``abc``. Creating an ABC subclass and 5764calling ``isinstance`` or ``issubclass`` with an ABC subclass are up to 1.5x 5765faster. In addition, this makes Python start-up up to 10% faster. 5766 5767Note that the new implementation hides internal registry and caches, 5768previously accessible via private attributes ``_abc_registry``, 5769``_abc_cache``, and ``_abc_negative_cache``. There are three debugging 5770helper methods that can be used instead ``_dump_registry``, 5771``_abc_registry_clear``, and ``_abc_caches_clear``. 5772 5773.. 5774 5775.. bpo: 32841 5776.. date: 2018-02-14-00-21-24 5777.. nonce: bvHDOc 5778.. section: Library 5779 5780Fixed `asyncio.Condition` issue which silently ignored cancellation after 5781notifying and cancelling a conditional lock. Patch by Bar Harel. 5782 5783.. 5784 5785.. bpo: 32819 5786.. date: 2018-02-11-15-54-41 5787.. nonce: ZTRX2Q 5788.. section: Library 5789 5790ssl.match_hostname() has been simplified and no longer depends on re and 5791ipaddress module for wildcard and IP addresses. Error reporting for invalid 5792wildcards has been improved. 5793 5794.. 5795 5796.. bpo: 19675 5797.. date: 2018-02-10-23-41-05 5798.. nonce: -dj35- 5799.. section: Library 5800 5801``multiprocessing.Pool`` no longer leaks processes if its initialization 5802fails. 5803 5804.. 5805 5806.. bpo: 32394 5807.. date: 2018-02-10-13-51-56 5808.. nonce: dFM9SI 5809.. section: Library 5810 5811socket: Remove TCP_FASTOPEN,TCP_KEEPCNT,TCP_KEEPIDLE,TCP_KEEPINTVL flags on 5812older version Windows during run-time. 5813 5814.. 5815 5816.. bpo: 31787 5817.. date: 2018-02-09-21-41-56 5818.. nonce: owSZ2t 5819.. section: Library 5820 5821Fixed refleaks of ``__init__()`` methods in various modules. (Contributed by 5822Oren Milman) 5823 5824.. 5825 5826.. bpo: 30157 5827.. date: 2018-02-09-14-44-43 5828.. nonce: lEiiAK 5829.. section: Library 5830 5831Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last 5832field is quoted. Patch by Jake Davis. 5833 5834.. 5835 5836.. bpo: 30688 5837.. date: 2018-02-08-18-59-11 5838.. nonce: zBh4TH 5839.. section: Library 5840 5841Added support of ``\N{name}`` escapes in regular expressions. Based on 5842patch by Jonathan Eunice. 5843 5844.. 5845 5846.. bpo: 32792 5847.. date: 2018-02-08-00-47-07 5848.. nonce: NtyDb4 5849.. section: Library 5850 5851collections.ChainMap() preserves the order of the underlying mappings. 5852 5853.. 5854 5855.. bpo: 32775 5856.. date: 2018-02-07-19-12-10 5857.. nonce: -T77_c 5858.. section: Library 5859 5860:func:`fnmatch.translate()` no longer produces patterns which contain set 5861operations. Sets starting with '[' or containing '--', '&&', '~~' or '||' 5862will be interpreted differently in regular expressions in future versions. 5863Currently they emit warnings. fnmatch.translate() now avoids producing 5864patterns containing such sets by accident. 5865 5866.. 5867 5868.. bpo: 32622 5869.. date: 2018-02-06-17-58-15 5870.. nonce: AE0Jz7 5871.. section: Library 5872 5873Implement native fast sendfile for Windows proactor event loop. 5874 5875.. 5876 5877.. bpo: 32777 5878.. date: 2018-02-05-21-28-28 5879.. nonce: C-wIXF 5880.. section: Library 5881 5882Fix a rare but potential pre-exec child process deadlock in subprocess on 5883POSIX systems when marking file descriptors inheritable on exec in the child 5884process. This bug appears to have been introduced in 3.4. 5885 5886.. 5887 5888.. bpo: 32647 5889.. date: 2018-02-05-13-31-42 5890.. nonce: ktmfR_ 5891.. section: Library 5892 5893The ctypes module used to depend on indirect linking for dlopen. The shared 5894extension is now explicitly linked against libdl on platforms with dl. 5895 5896.. 5897 5898.. bpo: 32749 5899.. date: 2018-02-02-17-21-24 5900.. nonce: u5scIn 5901.. section: Library 5902 5903A :mod:`dbm.dumb` database opened with flags 'r' is now read-only. 5904:func:`dbm.dumb.open` with flags 'r' and 'w' no longer creates a database if 5905it does not exist. 5906 5907.. 5908 5909.. bpo: 32741 5910.. date: 2018-02-01-17-54-08 5911.. nonce: KUvOPL 5912.. section: Library 5913 5914Implement ``asyncio.TimerHandle.when()`` method. 5915 5916.. 5917 5918.. bpo: 32691 5919.. date: 2018-02-01-15-53-35 5920.. nonce: VLWVTq 5921.. section: Library 5922 5923Use mod_spec.parent when running modules with pdb 5924 5925.. 5926 5927.. bpo: 32734 5928.. date: 2018-02-01-01-34-47 5929.. nonce: gCV9AD 5930.. section: Library 5931 5932Fixed ``asyncio.Lock()`` safety issue which allowed acquiring and locking 5933the same lock multiple times, without it being free. Patch by Bar Harel. 5934 5935.. 5936 5937.. bpo: 32727 5938.. date: 2018-01-30-17-46-18 5939.. nonce: aHVsRC 5940.. section: Library 5941 5942Do not include name field in SMTP envelope from address. Patch by Stéphane 5943Wirtel 5944 5945.. 5946 5947.. bpo: 31453 5948.. date: 2018-01-21-15-01-50 5949.. nonce: cZiZBe 5950.. section: Library 5951 5952Add TLSVersion constants and SSLContext.maximum_version / minimum_version 5953attributes. The new API wraps OpenSSL 1.1 5954https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_set_min_proto_version.html 5955feature. 5956 5957.. 5958 5959.. bpo: 24334 5960.. date: 2018-01-20-23-17-25 5961.. nonce: GZuQLv 5962.. section: Library 5963 5964Internal implementation details of ssl module were cleaned up. The SSLSocket 5965has one less layer of indirection. Owner and session information are now 5966handled by the SSLSocket and SSLObject constructor. Channel binding 5967implementation has been simplified. 5968 5969.. 5970 5971.. bpo: 31848 5972.. date: 2018-01-18-23-34-17 5973.. nonce: M2cldy 5974.. section: Library 5975 5976Fix the error handling in Aifc_read.initfp() when the SSND chunk is not 5977found. Patch by Zackery Spytz. 5978 5979.. 5980 5981.. bpo: 32585 5982.. date: 2018-01-18-13-09-00 5983.. nonce: qpeijr 5984.. section: Library 5985 5986Add Ttk spinbox widget to :mod:`tkinter.ttk`. Patch by Alan D Moore. 5987 5988.. 5989 5990.. bpo: 32512 5991.. date: 2018-01-07-17-43-10 5992.. nonce: flC-dE 5993.. section: Library 5994 5995:mod:`profile` CLI accepts `-m module_name` as an alternative to script 5996path. 5997 5998.. 5999 6000.. bpo: 8525 6001.. date: 2018-01-01-00-16-59 6002.. nonce: Dq8s63 6003.. section: Library 6004 6005help() on a type now displays builtin subclasses. This is intended primarily 6006to help with notification of more specific exception subclasses. 6007 6008Patch by Sanyam Khurana. 6009 6010.. 6011 6012.. bpo: 31639 6013.. date: 2017-12-27-21-55-19 6014.. nonce: l3avDJ 6015.. section: Library 6016 6017http.server now exposes a ThreadingHTTPServer class and uses it when the 6018module is run with ``-m`` to cope with web browsers pre-opening sockets. 6019 6020.. 6021 6022.. bpo: 29877 6023.. date: 2017-12-16-11-40-52 6024.. nonce: SfWhmz 6025.. section: Library 6026 6027compileall: import ProcessPoolExecutor only when needed, preventing hangs on 6028low resource platforms 6029 6030.. 6031 6032.. bpo: 32221 6033.. date: 2017-12-06-10-10-10 6034.. nonce: ideco_ 6035.. section: Library 6036 6037Various functions returning tuple containing IPv6 addresses now omit 6038``%scope`` part since the same information is already encoded in *scopeid* 6039tuple item. Especially this speeds up :func:`socket.recvfrom` when it 6040receives multicast packet since useless resolving of network interface name 6041is omitted. 6042 6043.. 6044 6045.. bpo: 32147 6046.. date: 2017-11-28-10-23-13 6047.. nonce: PI2k1Y 6048.. section: Library 6049 6050:func:`binascii.unhexlify` is now up to 2 times faster. Patch by Sergey 6051Fedoseev. 6052 6053.. 6054 6055.. bpo: 30693 6056.. date: 2017-11-27-15-09-49 6057.. nonce: yC4mJ8 6058.. section: Library 6059 6060The TarFile class now recurses directories in a reproducible way. 6061 6062.. 6063 6064.. bpo: 30693 6065.. date: 2017-11-27-15-09-49 6066.. nonce: yC4mJ7 6067.. section: Library 6068 6069The ZipFile class now recurses directories in a reproducible way. 6070 6071.. 6072 6073.. bpo: 31680 6074.. date: 2017-11-01-15-44-48 6075.. nonce: yO6oSC 6076.. section: Library 6077 6078Added :data:`curses.ncurses_version`. 6079 6080.. 6081 6082.. bpo: 31908 6083.. date: 2017-10-31 6084.. nonce: g4xh8x 6085.. section: Library 6086 6087Fix output of cover files for ``trace`` module command-line tool. Previously 6088emitted cover files only when ``--missing`` option was used. Patch by 6089Michael Selik. 6090 6091.. 6092 6093.. bpo: 31608 6094.. date: 2017-10-29-10-37-55 6095.. nonce: wkp8Nw 6096.. section: Library 6097 6098Raise a ``TypeError`` instead of crashing if a ``collections.deque`` 6099subclass returns a non-deque from ``__new__``. Patch by Oren Milman. 6100 6101.. 6102 6103.. bpo: 31425 6104.. date: 2017-10-24-10-18-35 6105.. nonce: 1lgw47 6106.. section: Library 6107 6108Add support for sockets of the AF_QIPCRTR address family, supported by the 6109Linux kernel. This is used to communicate with services, such as GPS or 6110radio, running on Qualcomm devices. Patch by Bjorn Andersson. 6111 6112.. 6113 6114.. bpo: 22005 6115.. date: 2017-10-12-22-39-55 6116.. nonce: lGP-sc 6117.. section: Library 6118 6119Implemented unpickling instances of :class:`~datetime.datetime`, 6120:class:`~datetime.date` and :class:`~datetime.time` pickled by Python 2. 6121``encoding='latin1'`` should be used for successful decoding. 6122 6123.. 6124 6125.. bpo: 27645 6126.. date: 2017-10-05-20-41-48 6127.. nonce: 1Y_Wag 6128.. section: Library 6129 6130:class:`sqlite3.Connection` now exposes a 6131:class:`~sqlite3.Connection.backup` method, if the underlying SQLite library 6132is at version 3.6.11 or higher. Patch by Lele Gaifax. 6133 6134.. 6135 6136.. bpo: 16865 6137.. date: 2017-09-29-16-40-38 6138.. nonce: l-f6I_ 6139.. section: Library 6140 6141Support arrays >=2GiB in :mod:`ctypes`. Patch by Segev Finer. 6142 6143.. 6144 6145.. bpo: 31508 6146.. date: 2017-09-19-12-38-31 6147.. nonce: pDsFJl 6148.. section: Library 6149 6150Removed support of arguments in `tkinter.ttk.Treeview.selection`. It was 6151deprecated in 3.6. Use specialized methods like `selection_set` for 6152changing the selection. 6153 6154.. 6155 6156.. bpo: 29456 6157.. date: 2017-08-24-17-55-39 6158.. nonce: XaB3MP 6159.. section: Library 6160 6161Fix bugs in hangul normalization: u1176, u11a7 and u11c3 6162 6163.. 6164 6165.. bpo: 21257 6166.. date: 2019-01-15-21-45-27 6167.. nonce: U9LKkx 6168.. section: Documentation 6169 6170Document :func:`http.client.parse_headers`. 6171 6172.. 6173 6174.. bpo: 34764 6175.. date: 2018-12-23-23-52-31 6176.. nonce: DwOGeT 6177.. section: Documentation 6178 6179Improve example of iter() with 2nd sentinel argument. 6180 6181.. 6182 6183.. bpo: 35564 6184.. date: 2018-12-22-22-52-05 6185.. nonce: TuEU_D 6186.. section: Documentation 6187 6188Explicitly set master_doc variable in conf.py for compliance with Sphinx 2.0 6189 6190.. 6191 6192.. bpo: 35511 6193.. date: 2018-12-16-16-14-44 6194.. nonce: iVcyav 6195.. section: Documentation 6196 6197Specified that profile.Profile class doesn't not support enable or disable 6198methods. Also, elaborated that Profile object as a context manager is only 6199supported in cProfile module. 6200 6201.. 6202 6203.. bpo: 10536 6204.. date: 2018-11-04-22-03-56 6205.. nonce: a0IsfE 6206.. section: Documentation 6207 6208Enhance the gettext docs. Patch by Éric Araujo 6209 6210.. 6211 6212.. bpo: 35089 6213.. date: 2018-10-28-16-51-31 6214.. nonce: _stCpS 6215.. section: Documentation 6216 6217Remove mention of ``typing.io`` and ``typing.re``. Their types should be 6218imported from ``typing`` directly. 6219 6220.. 6221 6222.. bpo: 35038 6223.. date: 2018-10-25-17-45-09 6224.. nonce: 2eVOYS 6225.. section: Documentation 6226 6227Fix the documentation about an unexisting `f_restricted` attribute in the 6228frame object. Patch by Stéphane Wirtel 6229 6230.. 6231 6232.. bpo: 35042 6233.. date: 2018-10-22-14-17-57 6234.. nonce: 1UGv1a 6235.. section: Documentation 6236 6237Replace PEP XYZ by the pep role and allow to use the direct links to the 6238PEPs. 6239 6240.. 6241 6242.. bpo: 35044 6243.. date: 2018-10-22-14-09-58 6244.. nonce: qjvNtI 6245.. section: Documentation 6246 6247Fix the documentation with the role ``exc`` for the appropriated exception. 6248Patch by Stéphane Wirtel 6249 6250.. 6251 6252.. bpo: 35035 6253.. date: 2018-10-21-02-20-36 6254.. nonce: 4zBObK 6255.. section: Documentation 6256 6257Rename documentation for :mod:`email.utils` to ``email.utils.rst``. 6258 6259.. 6260 6261.. bpo: 34967 6262.. date: 2018-10-13-07-39-57 6263.. nonce: E40tFP 6264.. section: Documentation 6265 6266Use app.add_object_type() instead of the deprecated Sphinx function 6267app.description_unit() 6268 6269.. 6270 6271.. bpo: 34913 6272.. date: 2018-10-10-00-34-08 6273.. nonce: kVd1Fv 6274.. section: Documentation 6275 6276Add documentation about the new command line interface of the gzip module. 6277 6278.. 6279 6280.. bpo: 32174 6281.. date: 2018-10-08-19-15-28 6282.. nonce: YO9CYm 6283.. section: Documentation 6284 6285chm document displays non-ASCII charaters properly on some MBCS Windows 6286systems. 6287 6288.. 6289 6290.. bpo: 11233 6291.. date: 2018-10-03-20-39-25 6292.. nonce: BX6Gen 6293.. section: Documentation 6294 6295Create availability directive for documentation. Original patch by Georg 6296Brandl. 6297 6298.. 6299 6300.. bpo: 34790 6301.. date: 2018-09-24-12-47-08 6302.. nonce: G2KXIH 6303.. section: Documentation 6304 6305Document how passing coroutines to asyncio.wait() can be confusing. 6306 6307.. 6308 6309.. bpo: 34552 6310.. date: 2018-09-12-10-18-04 6311.. nonce: p9PoYv 6312.. section: Documentation 6313 6314Make clear that ``==`` operator sometimes is equivalent to `is`. The ``<``, 6315``<=``, ``>`` and ``>=`` operators are only defined where they make sense. 6316 6317.. 6318 6319.. bpo: 28617 6320.. date: 2018-09-06-22-39-47 6321.. nonce: MjnJLz 6322.. section: Documentation 6323 6324Fixed info in the stdtypes docs concerning the types that support membership 6325tests. 6326 6327.. 6328 6329.. bpo: 20177 6330.. date: 2018-07-28-17-17-42 6331.. nonce: cOZJWp 6332.. section: Documentation 6333 6334Migrate datetime.date.fromtimestamp to Argument Clinic. Patch by Tim 6335Hoffmann. 6336 6337.. 6338 6339.. bpo: 34065 6340.. date: 2018-07-07-20-38-41 6341.. nonce: 1snofM 6342.. section: Documentation 6343 6344Fix wrongly written basicConfig documentation markup syntax 6345 6346.. 6347 6348.. bpo: 33460 6349.. date: 2018-06-22-08-38-29 6350.. nonce: kHt4D0 6351.. section: Documentation 6352 6353replaced ellipsis with correct error codes in tutorial chapter 3. 6354 6355.. 6356 6357.. bpo: 33847 6358.. date: 2018-06-15-14-58-45 6359.. nonce: IIDp6t 6360.. section: Documentation 6361 6362Add '@' operator entry to index. 6363 6364.. 6365 6366.. bpo: 33409 6367.. date: 2018-06-08-23-46-01 6368.. nonce: r4z9MM 6369.. section: Documentation 6370 6371Clarified the relationship between :pep:`538`'s PYTHONCOERCECLOCALE and PEP 6372540's PYTHONUTF8 mode. 6373 6374.. 6375 6376.. bpo: 33197 6377.. date: 2018-06-08-23-37-14 6378.. nonce: OERTKf 6379.. section: Documentation 6380 6381Add versionadded tag to the documentation of ParameterKind.description 6382 6383.. 6384 6385.. bpo: 17045 6386.. date: 2018-06-07-08-33-45 6387.. nonce: ZNx6KU 6388.. section: Documentation 6389 6390Improve the C-API doc for PyTypeObject. This includes adding several 6391quick-reference tables and a lot of missing slot/typedef entries. The 6392existing entries were also cleaned up with a slightly more consistent 6393format. 6394 6395.. 6396 6397.. bpo: 33736 6398.. date: 2018-06-01-12-27-40 6399.. nonce: JVegIu 6400.. section: Documentation 6401 6402Improve the documentation of :func:`asyncio.open_connection`, 6403:func:`asyncio.start_server` and their UNIX socket counterparts. 6404 6405.. 6406 6407.. bpo: 23859 6408.. date: 2018-05-29-16-02-31 6409.. nonce: E5gba1 6410.. section: Documentation 6411 6412Document that `asyncio.wait()` does not cancel its futures on timeout. 6413 6414.. 6415 6416.. bpo: 32436 6417.. date: 2018-05-23-11-59-51 6418.. nonce: S1LGPa 6419.. section: Documentation 6420 6421Document :pep:`567` changes to asyncio. 6422 6423.. 6424 6425.. bpo: 33604 6426.. date: 2018-05-22-11-47-14 6427.. nonce: 5YHTpz 6428.. section: Documentation 6429 6430Update HMAC md5 default to a DeprecationWarning, bump removal to 3.8. 6431 6432.. 6433 6434.. bpo: 33594 6435.. date: 2018-05-21-14-36-12 6436.. nonce: -HRcyX 6437.. section: Documentation 6438 6439Document ``getargspec``, ``from_function`` and ``from_builtin`` as 6440deprecated in their respective docstring, and include version since 6441deprecation in DeprecationWarning message. 6442 6443.. 6444 6445.. bpo: 33503 6446.. date: 2018-05-14-20-08-58 6447.. nonce: Wvt0qg 6448.. section: Documentation 6449 6450Fix broken pypi link 6451 6452.. 6453 6454.. bpo: 33421 6455.. date: 2018-05-14-15-15-41 6456.. nonce: 3GU_QO 6457.. section: Documentation 6458 6459Add missing documentation for ``typing.AsyncContextManager``. 6460 6461.. 6462 6463.. bpo: 33487 6464.. date: 2018-05-13-14-44-30 6465.. nonce: iLDzFb 6466.. section: Documentation 6467 6468BZ2file now emit a DeprecationWarning when buffering=None is passed, the 6469deprecation message and documentation also now explicitly state it is 6470deprecated since 3.0. 6471 6472.. 6473 6474.. bpo: 33378 6475.. date: 2018-04-29-04-02-18 6476.. nonce: -anAHN 6477.. section: Documentation 6478 6479Add Korean language switcher for https://docs.python.org/3/ 6480 6481.. 6482 6483.. bpo: 33276 6484.. date: 2018-04-20-14-09-36 6485.. nonce: rA1z_3 6486.. section: Documentation 6487 6488Clarify that the ``__path__`` attribute on modules cannot be just any value. 6489 6490.. 6491 6492.. bpo: 33201 6493.. date: 2018-04-01-21-03-41 6494.. nonce: aa8Lkl 6495.. section: Documentation 6496 6497Modernize documentation for writing C extension types. 6498 6499.. 6500 6501.. bpo: 33195 6502.. date: 2018-04-01-14-30-36 6503.. nonce: dRS-XX 6504.. section: Documentation 6505 6506Deprecate ``Py_UNICODE`` usage in ``c-api/arg`` document. ``Py_UNICODE`` 6507related APIs are deprecated since Python 3.3, but it is missed in the 6508document. 6509 6510.. 6511 6512.. bpo: 33126 6513.. date: 2018-03-28-17-03-17 6514.. nonce: 5UGkNv 6515.. section: Documentation 6516 6517Document PyBuffer_ToContiguous(). 6518 6519.. 6520 6521.. bpo: 27212 6522.. date: 2018-03-22-19-23-04 6523.. nonce: wrE5KR 6524.. section: Documentation 6525 6526Modify documentation for the :func:`islice` recipe to consume initial values 6527up to the start index. 6528 6529.. 6530 6531.. bpo: 28247 6532.. date: 2018-03-20-20-11-05 6533.. nonce: -V-WS- 6534.. section: Documentation 6535 6536Update :mod:`zipapp` documentation to describe how to make standalone 6537applications. 6538 6539.. 6540 6541.. bpo: 18802 6542.. date: 2018-03-11-18-53-47 6543.. nonce: JhAqH3 6544.. section: Documentation 6545 6546Documentation changes for ipaddress. Patch by Jon Foster and Berker Peksag. 6547 6548.. 6549 6550.. bpo: 27428 6551.. date: 2018-03-11-00-16-56 6552.. nonce: B7A8FT 6553.. section: Documentation 6554 6555Update documentation to clarify that ``WindowsRegistryFinder`` implements 6556``MetaPathFinder``. (Patch by Himanshu Lakhara) 6557 6558.. 6559 6560.. bpo: 28124 6561.. date: 2018-02-25-16-33-35 6562.. nonce: _uzkgq 6563.. section: Documentation 6564 6565The ssl module function ssl.wrap_socket() has been de-emphasized and 6566deprecated in favor of the more secure and efficient 6567SSLContext.wrap_socket() method. 6568 6569.. 6570 6571.. bpo: 17232 6572.. date: 2018-02-23-12-48-03 6573.. nonce: tmuTKL 6574.. section: Documentation 6575 6576Clarify docs for -O and -OO. Patch by Terry Reedy. 6577 6578.. 6579 6580.. bpo: 32436 6581.. date: 2018-02-14-11-10-41 6582.. nonce: TTJ2jb 6583.. section: Documentation 6584 6585Add documentation for the contextvars module (PEP 567). 6586 6587.. 6588 6589.. bpo: 32800 6590.. date: 2018-02-10-15-16-04 6591.. nonce: FyrqCk 6592.. section: Documentation 6593 6594Update link to w3c doc for xml default namespaces. 6595 6596.. 6597 6598.. bpo: 11015 6599.. date: 2018-02-10-12-48-38 6600.. nonce: -gUf34 6601.. section: Documentation 6602 6603Update :mod:`test.support` documentation. 6604 6605.. 6606 6607.. bpo: 32613 6608.. date: 2018-02-05-15-05-53 6609.. nonce: TDjgM1 6610.. section: Documentation 6611 6612Update the faq/windows.html to use the py command from PEP 397 instead of 6613python. 6614 6615.. 6616 6617.. bpo: 8722 6618.. date: 2018-02-03-06-11-37 6619.. nonce: MPyVyj 6620.. section: Documentation 6621 6622Document :meth:`__getattr__` behavior when property :meth:`get` method 6623raises :exc:`AttributeError`. 6624 6625.. 6626 6627.. bpo: 32614 6628.. date: 2018-02-02-07-41-57 6629.. nonce: LSqzGw 6630.. section: Documentation 6631 6632Modify RE examples in documentation to use raw strings to prevent 6633:exc:`DeprecationWarning` and add text to REGEX HOWTO to highlight the 6634deprecation. 6635 6636.. 6637 6638.. bpo: 20709 6639.. date: 2018-02-01-10-57-24 6640.. nonce: 1flcnc 6641.. section: Documentation 6642 6643Remove the paragraph where we explain that os.utime() does not support a 6644directory as path under Windows. Patch by Jan-Philip Gehrcke 6645 6646.. 6647 6648.. bpo: 32722 6649.. date: 2018-01-30-11-28-27 6650.. nonce: frdp6A 6651.. section: Documentation 6652 6653Remove the bad example in the tutorial of the Generator Expression. Patch by 6654Stéphane Wirtel 6655 6656.. 6657 6658.. bpo: 31972 6659.. date: 2018-01-25-14-23-12 6660.. nonce: w1m_8r 6661.. section: Documentation 6662 6663Improve docstrings for `pathlib.PurePath` subclasses. 6664 6665.. 6666 6667.. bpo: 30607 6668.. date: 2018-01-25-13-58-49 6669.. nonce: 4dXxiq 6670.. section: Documentation 6671 6672Use the externalized ``python-docs-theme`` package when building the 6673documentation. 6674 6675.. 6676 6677.. bpo: 8243 6678.. date: 2018-01-13-20-30-53 6679.. nonce: s98r28 6680.. section: Documentation 6681 6682Add a note about curses.addch and curses.addstr exception behavior when 6683writing outside a window, or pad. 6684 6685.. 6686 6687.. bpo: 32337 6688.. date: 2017-12-22-17-29-37 6689.. nonce: eZe-ID 6690.. section: Documentation 6691 6692Update documentation related with ``dict`` order. 6693 6694.. 6695 6696.. bpo: 25041 6697.. date: 2017-10-23-13-41-12 6698.. nonce: iAo2gW 6699.. section: Documentation 6700 6701Document ``AF_PACKET`` in the :mod:`socket` module. 6702 6703.. 6704 6705.. bpo: 31432 6706.. date: 2017-09-13-07-14-59 6707.. nonce: yAY4Z3 6708.. section: Documentation 6709 6710Clarify meaning of CERT_NONE, CERT_OPTIONAL, and CERT_REQUIRED flags for 6711ssl.SSLContext.verify_mode. 6712 6713.. 6714 6715.. bpo: 35772 6716.. date: 2019-01-18-12-19-19 6717.. nonce: sGBbsn 6718.. section: Tests 6719 6720Fix sparse file tests of test_tarfile on ppc64 with the tmpfs filesystem. 6721Fix the function testing if the filesystem supports sparse files: create a 6722file which contains data and "holes", instead of creating a file which 6723contains no data. tmpfs effective block size is a page size (tmpfs lives in 6724the page cache). RHEL uses 64 KiB pages on aarch64, ppc64, ppc64le, only 6725s390x and x86_64 use 4 KiB pages, whereas the test punch holes of 4 KiB. 6726 6727.. 6728 6729.. bpo: 35045 6730.. date: 2019-01-10-18-35-42 6731.. nonce: qdd6d9 6732.. section: Tests 6733 6734Make ssl tests less strict and also accept TLSv1 as system default. The 6735changes unbreaks test_min_max_version on Fedora 29. 6736 6737.. 6738 6739.. bpo: 32710 6740.. date: 2019-01-07-23-34-41 6741.. nonce: Hzo1b8 6742.. section: Tests 6743 6744``test_asyncio/test_sendfile.py`` now resets the event loop policy using 6745:func:`tearDownModule` as done in other tests, to prevent a warning when 6746running tests on Windows. 6747 6748.. 6749 6750.. bpo: 33717 6751.. date: 2019-01-07-23-22-44 6752.. nonce: GhHXv8 6753.. section: Tests 6754 6755test.pythoninfo now logs information of all clocks, not only time.time() and 6756time.perf_counter(). 6757 6758.. 6759 6760.. bpo: 35488 6761.. date: 2019-01-04-21-34-53 6762.. nonce: U7JJzP 6763.. section: Tests 6764 6765Add a test to pathlib's Path.match() to verify it does not support 6766glob-style ** recursive pattern matching. 6767 6768.. 6769 6770.. bpo: 31731 6771.. date: 2018-12-18-23-20-39 6772.. nonce: tcv85C 6773.. section: Tests 6774 6775Fix a race condition in ``check_interrupted_write()`` of test_io: create 6776directly the thread with SIGALRM signal blocked, rather than blocking the 6777signal later from the thread. Previously, it was possible that the thread 6778gets the signal before the signal is blocked. 6779 6780.. 6781 6782.. bpo: 35424 6783.. date: 2018-12-18-22-36-53 6784.. nonce: 1Pz4IS 6785.. section: Tests 6786 6787Fix test_multiprocessing_main_handling: use :class:`multiprocessing.Pool` 6788with a context manager and then explicitly join the pool. 6789 6790.. 6791 6792.. bpo: 35519 6793.. date: 2018-12-17-16-41-45 6794.. nonce: RR3L_w 6795.. section: Tests 6796 6797Rename :mod:`test.bisect` module to :mod:`test.bisect_cmd` to avoid conflict 6798with :mod:`bisect` module when running directly a test like ``./python 6799Lib/test/test_xmlrpc.py``. 6800 6801.. 6802 6803.. bpo: 35513 6804.. date: 2018-12-16-23-36-47 6805.. nonce: k4WHlA 6806.. section: Tests 6807 6808Replace :func:`time.time` with :func:`time.monotonic` in tests to measure 6809time delta. 6810 6811.. 6812 6813.. bpo: 34279 6814.. date: 2018-12-12-18-20-18 6815.. nonce: DhKcuP 6816.. section: Tests 6817 6818:func:`test.support.run_unittest` no longer raise :exc:`TestDidNotRun` if 6819the test result contains skipped tests. The exception is now only raised if 6820no test have been run and no test have been skipped. 6821 6822.. 6823 6824.. bpo: 35412 6825.. date: 2018-12-12-18-07-58 6826.. nonce: kbuJor 6827.. section: Tests 6828 6829Add testcase to ``test_future4``: check unicode literal. 6830 6831.. 6832 6833.. bpo: 26704 6834.. date: 2018-12-10-13-18-37 6835.. nonce: DBAN4c 6836.. section: Tests 6837 6838Added test demonstrating double-patching of an instance method. Patch by 6839Anthony Sottile. 6840 6841.. 6842 6843.. bpo: 33725 6844.. date: 2018-12-09-01-27-29 6845.. nonce: TaGayj 6846.. section: Tests 6847 6848test_multiprocessing_fork may crash on recent versions of macOS. Until the 6849issue is resolved, skip the test on macOS. 6850 6851.. 6852 6853.. bpo: 35352 6854.. date: 2018-11-30-17-18-56 6855.. nonce: 8bD7GC 6856.. section: Tests 6857 6858Modify test_asyncio to use the certificate set from the test directory. 6859 6860.. 6861 6862.. bpo: 35317 6863.. date: 2018-11-26-16-54-21 6864.. nonce: jByGP2 6865.. section: Tests 6866 6867Fix ``mktime()`` overflow error in ``test_email``: run 6868``test_localtime_daylight_true_dst_true()`` and 6869``test_localtime_daylight_false_dst_true()`` with a specific timezone. 6870 6871.. 6872 6873.. bpo: 21263 6874.. date: 2018-11-04-20-17-09 6875.. nonce: T3qo9r 6876.. section: Tests 6877 6878After several reports that test_gdb does not work properly on macOS and 6879since gdb is not shipped by default anymore, test_gdb is now skipped on 6880macOS when LLVM Clang has been used to compile Python. Patch by Lysandros 6881Nikolaou 6882 6883.. 6884 6885.. bpo: 34279 6886.. date: 2018-10-27-13-41-55 6887.. nonce: v0Xqxe 6888.. section: Tests 6889 6890regrtest issue a warning when no tests have been executed in a particular 6891test file. Also, a new final result state is issued if no test have been 6892executed across all test files. Patch by Pablo Galindo. 6893 6894.. 6895 6896.. bpo: 34962 6897.. date: 2018-10-11-22-34-27 6898.. nonce: 0PLBi8 6899.. section: Tests 6900 6901make docstest in Doc now passes., and is enforced in CI 6902 6903.. 6904 6905.. bpo: 23596 6906.. date: 2018-10-09-23-51-07 6907.. nonce: rdnert 6908.. section: Tests 6909 6910Use argparse for the command line of the gzip module. Patch by Antony Lee 6911 6912.. 6913 6914.. bpo: 34537 6915.. date: 2018-09-21-17-33-41 6916.. nonce: GImYtZ 6917.. section: Tests 6918 6919Fix ``test_gdb.test_strings()`` when ``LC_ALL=C`` and GDB was compiled with 6920Python 3.6 or earlier. 6921 6922.. 6923 6924.. bpo: 34587 6925.. date: 2018-09-13-20-58-07 6926.. nonce: rCcxp3 6927.. section: Tests 6928 6929test_socket: Remove RDSTest.testCongestion(). The test tries to fill the 6930receiver's socket buffer and expects an error. But the RDS protocol doesn't 6931require that. Moreover, the Linux implementation of RDS expects that the 6932producer of the messages reduces its rate, it's not the role of the receiver 6933to trigger an error. The test fails on Fedora 28 by design, so just remove 6934it. 6935 6936.. 6937 6938.. bpo: 34661 6939.. date: 2018-09-13-09-53-15 6940.. nonce: bdTamP 6941.. section: Tests 6942 6943Fix test_shutil if unzip doesn't support -t. 6944 6945.. 6946 6947.. bpo: 34200 6948.. date: 2018-09-12-17-00-34 6949.. nonce: dfxYQK 6950.. section: Tests 6951 6952Fixed non-deterministic flakiness of test_pkg by not using the scary 6953test.support.module_cleanup() logic to save and restore sys.modules contents 6954between test cases. 6955 6956.. 6957 6958.. bpo: 34569 6959.. date: 2018-09-09-14-36-59 6960.. nonce: okj1Xh 6961.. section: Tests 6962 6963The experimental PEP 554 data channels now correctly pass negative PyLong 6964objects between subinterpreters on 32-bit systems. Patch by Michael Felt. 6965 6966.. 6967 6968.. bpo: 34594 6969.. date: 2018-09-05-23-50-21 6970.. nonce: tqL-GS 6971.. section: Tests 6972 6973Fix usage of hardcoded ``errno`` values in the tests. 6974 6975.. 6976 6977.. bpo: 34579 6978.. date: 2018-09-04-15-16-42 6979.. nonce: bp4HdM 6980.. section: Tests 6981 6982Fix test_embed for AIX Patch by Michael Felt 6983 6984.. 6985 6986.. bpo: 34542 6987.. date: 2018-08-29-16-30-52 6988.. nonce: 9stVAW 6989.. section: Tests 6990 6991Use 3072 RSA keys and SHA-256 signature for test certs and keys. 6992 6993.. 6994 6995.. bpo: 11193 6996.. date: 2018-08-26-13-12-34 6997.. nonce: H8fCGa 6998.. section: Tests 6999 7000Remove special condition for AIX in `test_subprocess.test_undecodable_env` 7001 7002.. 7003 7004.. bpo: 34347 7005.. date: 2018-08-25-13-28-18 7006.. nonce: IsRDPB 7007.. section: Tests 7008 7009Fix `test_utf8_mode.test_cmd_line` for AIX 7010 7011.. 7012 7013.. bpo: 34490 7014.. date: 2018-08-24-20-23-15 7015.. nonce: vb2cx4 7016.. section: Tests 7017 7018On AIX with AF_UNIX family sockets getsockname() does not provide 7019'sockname', so skip calls to transport.get_extra_info('sockname') 7020 7021.. 7022 7023.. bpo: 34391 7024.. date: 2018-08-16-18-48-47 7025.. nonce: ouNfxC 7026.. section: Tests 7027 7028Fix ftplib test for TLS 1.3 by reading from data socket. 7029 7030.. 7031 7032.. bpo: 11192 7033.. date: 2018-08-14-20-50-07 7034.. nonce: g7TwYm 7035.. section: Tests 7036 7037Fix `test_socket` on AIX 6.1 and later IPv6 zone id supports only 7038supported by inet_pton6_zone() Switch to runtime-based platform.system() to 7039establish current platform rather than build-time based sys.platform() 7040 7041.. 7042 7043.. bpo: 34399 7044.. date: 2018-08-14-10-47-44 7045.. nonce: D_jd1G 7046.. section: Tests 7047 7048Update all RSA keys and DH params to use at least 2048 bits. 7049 7050.. 7051 7052.. bpo: 34373 7053.. date: 2018-08-10-16-17-51 7054.. nonce: SKdb1k 7055.. section: Tests 7056 7057Fix ``test_mktime`` and ``test_pthread_getcpuclickid`` tests for AIX Add 7058range checking for ``_PyTime_localtime`` for AIX Patch by Michael Felt 7059 7060.. 7061 7062.. bpo: 11191 7063.. date: 2018-08-08-22-41-30 7064.. nonce: eq9tSH 7065.. section: Tests 7066 7067Skip the distutils test 'test_search_cpp' when using XLC as compiler patch 7068by aixtools (Michael Felt) 7069 7070.. 7071 7072.. bpo: 0 7073.. date: 2018-07-10-18-53-46 7074.. nonce: UBQJBc 7075.. section: Tests 7076 7077Improved an error message when mock assert_has_calls fails. 7078 7079.. 7080 7081.. bpo: 33746 7082.. date: 2018-06-19-17-55-46 7083.. nonce: Sz7avn 7084.. section: Tests 7085 7086Fix test_unittest when run in verbose mode. 7087 7088.. 7089 7090.. bpo: 33901 7091.. date: 2018-06-19-14-04-21 7092.. nonce: OFW1Sr 7093.. section: Tests 7094 7095Fix test_dbm_gnu on macOS with gdbm 1.15: add a larger value to make sure 7096that the file size changes. 7097 7098.. 7099 7100.. bpo: 33873 7101.. date: 2018-06-16-01-37-31 7102.. nonce: d86vab 7103.. section: Tests 7104 7105Fix a bug in ``regrtest`` that caused an extra test to run if 7106--huntrleaks/-R was used. Exit with error in case that invalid parameters 7107are specified to --huntrleaks/-R (at least one warmup run and one repetition 7108must be used). 7109 7110.. 7111 7112.. bpo: 33562 7113.. date: 2018-06-01-14-25-31 7114.. nonce: GutEHf 7115.. section: Tests 7116 7117Check that a global asyncio event loop policy is not left behind by any 7118tests. 7119 7120.. 7121 7122.. bpo: 33655 7123.. date: 2018-05-26-16-01-40 7124.. nonce: Frb4LA 7125.. section: Tests 7126 7127Ignore test_posix_fallocate failures on BSD platforms that might be due to 7128running on ZFS. 7129 7130.. 7131 7132.. bpo: 32962 7133.. date: 2018-05-10-16-59-15 7134.. nonce: S-rcIN 7135.. section: Tests 7136 7137Fixed test_gdb when Python is compiled with flags -mcet -fcf-protection -O0. 7138 7139.. 7140 7141.. bpo: 33358 7142.. date: 2018-04-27-11-46-35 7143.. nonce: _OcR59 7144.. section: Tests 7145 7146Fix ``test_embed.test_pre_initialization_sys_options()`` when the 7147interpreter is built with ``--enable-shared``. 7148 7149.. 7150 7151.. bpo: 32872 7152.. date: 2018-03-28-01-35-02 7153.. nonce: J5NDUj 7154.. section: Tests 7155 7156Avoid regrtest compatibility issue with namespace packages. 7157 7158.. 7159 7160.. bpo: 32517 7161.. date: 2018-03-09-07-05-12 7162.. nonce: ugc1iW 7163.. section: Tests 7164 7165Fix failing ``test_asyncio`` on macOS 10.12.2+ due to transport of 7166``KqueueSelector`` loop was not being closed. 7167 7168.. 7169 7170.. bpo: 32663 7171.. date: 2018-01-25-18-10-47 7172.. nonce: IKDsqu 7173.. section: Tests 7174 7175Making sure the `SMTPUTF8SimTests` class of tests gets run in 7176test_smtplib.py. 7177 7178.. 7179 7180.. bpo: 27643 7181.. date: 2018-01-12-09-05-19 7182.. nonce: _6z49y 7183.. section: Tests 7184 7185Test_C test case needs "signed short" bitfields, but the IBM XLC compiler 7186(on AIX) does not support this Skip the code and test when AIX and XLC are 7187used 7188 7189Applicable to Python2-2.7 and later 7190 7191.. 7192 7193.. bpo: 19417 7194.. date: 2018-01-08-13-33-47 7195.. nonce: 2asoXy 7196.. section: Tests 7197 7198Add test_bdb.py. 7199 7200.. 7201 7202.. bpo: 31809 7203.. date: 2017-10-18-18-07-45 7204.. nonce: KlQrkE 7205.. section: Tests 7206 7207Add tests to verify connection with secp ECDH curves. 7208 7209.. 7210 7211.. bpo: 34691 7212.. date: 2019-02-02-13-34-05 7213.. nonce: B-Lsj4 7214.. section: Build 7215 7216The _contextvars module is now built into the core Python library on 7217Windows. 7218 7219.. 7220 7221.. bpo: 35683 7222.. date: 2019-01-10-11-37-18 7223.. nonce: pf5Oos 7224.. section: Build 7225 7226Improved Azure Pipelines build steps and now verifying layouts correctly 7227 7228.. 7229 7230.. bpo: 35642 7231.. date: 2019-01-02-11-23-33 7232.. nonce: pjkhJe 7233.. section: Build 7234 7235Remove asynciomodule.c from pythoncore.vcxproj 7236 7237.. 7238 7239.. bpo: 35550 7240.. date: 2018-12-29-10-19-43 7241.. nonce: BTuu8e 7242.. section: Build 7243 7244Fix incorrect Solaris #ifdef checks to look for __sun && __SVR4 instead of 7245sun when compiling. 7246 7247.. 7248 7249.. bpo: 35499 7250.. date: 2018-12-14-19-36-05 7251.. nonce: 9yAldM 7252.. section: Build 7253 7254``make profile-opt`` no longer replaces ``CFLAGS_NODIST`` with ``CFLAGS``. 7255It now adds profile-guided optimization (PGO) flags to ``CFLAGS_NODIST``: 7256existing ``CFLAGS_NODIST`` flags are kept. 7257 7258.. 7259 7260.. bpo: 35257 7261.. date: 2018-12-05-22-28-40 7262.. nonce: dmcd_s 7263.. section: Build 7264 7265Avoid leaking the linker flags from Link Time Optimizations (LTO) into 7266distutils when compiling C extensions. 7267 7268.. 7269 7270.. bpo: 35351 7271.. date: 2018-12-04-15-33-28 7272.. nonce: ZhhBfT 7273.. section: Build 7274 7275When building Python with clang and LTO, LTO flags are no longer passed into 7276CFLAGS to build third-party C extensions through distutils. 7277 7278.. 7279 7280.. bpo: 35139 7281.. date: 2018-11-01-15-01-23 7282.. nonce: XZTttb 7283.. section: Build 7284 7285Fix a compiler error when statically linking `pyexpat` in `Modules/Setup`. 7286 7287.. 7288 7289.. bpo: 35059 7290.. date: 2018-10-26-14-49-19 7291.. nonce: PKsBxP 7292.. section: Build 7293 7294PCbuild: Set InlineFunctionExpansion to OnlyExplicitInline ("/Ob1" option) 7295in pyproject.props in Debug mode to expand functions marked as inline. This 7296change should make Python compiled in Debug mode a little bit faster on 7297Windows. 7298 7299.. 7300 7301.. bpo: 35011 7302.. date: 2018-10-17-17-38-57 7303.. nonce: GgoPIC 7304.. section: Build 7305 7306Restores the use of pyexpatns.h to isolate our embedded copy of the expat C 7307library so that its symbols do not conflict at link or dynamic loading time 7308with an embedding application or other extension modules with their own 7309version of libexpat. 7310 7311.. 7312 7313.. bpo: 28015 7314.. date: 2018-10-16-12-22-36 7315.. nonce: ylSgFh 7316.. section: Build 7317 7318Have --with-lto works correctly with clang. 7319 7320.. 7321 7322.. bpo: 34765 7323.. date: 2018-09-26-17-29-10 7324.. nonce: AvxdVj 7325.. section: Build 7326 7327Update the outdated install-sh file to the latest revision from automake 7328v1.16.1 7329 7330.. 7331 7332.. bpo: 34585 7333.. date: 2018-09-18-16-28-31 7334.. nonce: CGMu0h 7335.. section: Build 7336 7337Check for floating-point byte order in configure.ac using compilation tests 7338instead of executing code, so that these checks work in cross-compiled 7339builds. 7340 7341.. 7342 7343.. bpo: 34710 7344.. date: 2018-09-17-13-56-12 7345.. nonce: ARqIAK 7346.. section: Build 7347 7348Fixed SSL module build with OpenSSL & pedantic CFLAGS. 7349 7350.. 7351 7352.. bpo: 34582 7353.. date: 2018-09-14-09-53-21 7354.. nonce: j3omgk 7355.. section: Build 7356 7357Add JUnit XML output for regression tests and update Azure DevOps builds. 7358 7359.. 7360 7361.. bpo: 34081 7362.. date: 2018-09-06-07-15-20 7363.. nonce: cuSTnH 7364.. section: Build 7365 7366Make Sphinx warnings as errors in the Docs Makefile. 7367 7368.. 7369 7370.. bpo: 34555 7371.. date: 2018-08-31-19-41-09 7372.. nonce: dfQcnm 7373.. section: Build 7374 7375Fix for case where it was not possible to have both 7376``HAVE_LINUX_VM_SOCKETS_H`` and ``HAVE_SOCKADDR_ALG`` be undefined. 7377 7378.. 7379 7380.. bpo: 33015 7381.. date: 2018-08-24-09-48-25 7382.. nonce: s21y74 7383.. section: Build 7384 7385Fix an undefined behaviour in the pthread implementation of 7386:c:func:`PyThread_start_new_thread`: add a function wrapper to always return 7387``NULL``. 7388 7389.. 7390 7391.. bpo: 34245 7392.. date: 2018-07-27-09-52-48 7393.. nonce: bBV0NI 7394.. section: Build 7395 7396The Python shared library is now installed with write permission (mode 73970755), which is the standard way of installing such libraries. 7398 7399.. 7400 7401.. bpo: 34121 7402.. date: 2018-07-15-16-49-06 7403.. nonce: 74G_lo 7404.. section: Build 7405 7406Fix detection of C11 atomic support on clang. 7407 7408.. 7409 7410.. bpo: 32430 7411.. date: 2018-07-10-21-33-25 7412.. nonce: UN3Nk8 7413.. section: Build 7414 7415Rename Modules/Setup.dist to Modules/Setup, and remove the necessity to copy 7416the former manually to the latter when updating the local source tree. 7417 7418.. 7419 7420.. bpo: 30345 7421.. date: 2018-06-15-18-18-16 7422.. nonce: j-xRE1 7423.. section: Build 7424 7425Add -g to LDFLAGS when compiling with LTO to get debug symbols. 7426 7427.. 7428 7429.. bpo: 5755 7430.. date: 2018-06-04-21-34-34 7431.. nonce: 65GmCj 7432.. section: Build 7433 7434Move ``-Wstrict-prototypes`` option to ``CFLAGS_NODIST`` from ``OPT``. This 7435option emitted annoying warnings when building extension modules written in 7436C++. 7437 7438.. 7439 7440.. bpo: 33614 7441.. date: 2018-05-28-11-40-22 7442.. nonce: 28e0sE 7443.. section: Build 7444 7445Ensures module definition files for the stable ABI on Windows are correctly 7446regenerated. 7447 7448.. 7449 7450.. bpo: 33648 7451.. date: 2018-05-25-13-05-51 7452.. nonce: bJ4JZH 7453.. section: Build 7454 7455The --with-c-locale-warning configuration flag has been removed. It has had 7456no effect for about a year. 7457 7458.. 7459 7460.. bpo: 33522 7461.. date: 2018-05-15-12-44-50 7462.. nonce: mJoNcA 7463.. section: Build 7464 7465Enable CI builds on Visual Studio Team Services at 7466https://python.visualstudio.com/cpython 7467 7468.. 7469 7470.. bpo: 33512 7471.. date: 2018-05-15-02-07-49 7472.. nonce: X4Fy1Q 7473.. section: Build 7474 7475configure's check for "long double" has been simplified 7476 7477.. 7478 7479.. bpo: 33483 7480.. date: 2018-05-13-17-21-54 7481.. nonce: WOs-en 7482.. section: Build 7483 7484C compiler is now correctly detected from the standard environment 7485variables. --without-gcc and --with-icc options have been removed. 7486 7487.. 7488 7489.. bpo: 33394 7490.. date: 2018-04-30-17-36-46 7491.. nonce: _Vdi4t 7492.. section: Build 7493 7494Enable the verbose build for extension modules, when GNU make is passed 7495macros on the command line. 7496 7497.. 7498 7499.. bpo: 33393 7500.. date: 2018-04-30-17-19-37 7501.. nonce: HkVCqI 7502.. section: Build 7503 7504Update config.guess and config.sub files. 7505 7506.. 7507 7508.. bpo: 33377 7509.. date: 2018-04-30-16-53-00 7510.. nonce: QBh6vP 7511.. section: Build 7512 7513Add new triplets for mips r6 and riscv variants (used in extension 7514suffixes). 7515 7516.. 7517 7518.. bpo: 32232 7519.. date: 2018-04-17-00-38-19 7520.. nonce: o7G_UO 7521.. section: Build 7522 7523By default, modules configured in `Modules/Setup` are no longer built with 7524`-DPy_BUILD_CORE`. Instead, modules that specifically need that preprocessor 7525definition include it in their individual entries. 7526 7527.. 7528 7529.. bpo: 33182 7530.. date: 2018-03-30-14-55-48 7531.. nonce: CePczb 7532.. section: Build 7533 7534The embedding tests can once again be built with clang 6.0 7535 7536.. 7537 7538.. bpo: 33163 7539.. date: 2018-03-28-04-15-03 7540.. nonce: hfpWuU 7541.. section: Build 7542 7543Upgrade pip to 9.0.3 and setuptools to v39.0.1. 7544 7545.. 7546 7547.. bpo: 33012 7548.. date: 2018-03-08-20-25-29 7549.. nonce: k9Fe1q 7550.. section: Build 7551 7552gcc 8 has added a new warning heuristic to detect invalid function casts and 7553a stock python build seems to hit that warning quite often. The most common 7554is the cast of a METH_NOARGS function (that uses just one argument) to a 7555PyCFunction. Fix this by adding a dummy argument to all functions that 7556implement METH_NOARGS. 7557 7558.. 7559 7560.. bpo: 32898 7561.. date: 2018-02-21-12-46-00 7562.. nonce: M15bZh 7563.. section: Build 7564 7565Fix the python debug build when using COUNT_ALLOCS. 7566 7567.. 7568 7569.. bpo: 29442 7570.. date: 2017-09-26-23-08-27 7571.. nonce: fD8YTi 7572.. section: Build 7573 7574Replace optparse with argparse in setup.py 7575 7576.. 7577 7578.. bpo: 35890 7579.. date: 2019-02-02-22-12-23 7580.. nonce: ccIjHH 7581.. section: Windows 7582 7583Fix API calling consistency of GetVersionEx and wcstok. 7584 7585.. 7586 7587.. bpo: 32560 7588.. date: 2019-02-02-11-02-44 7589.. nonce: I5WAGW 7590.. section: Windows 7591 7592The ``py`` launcher now forwards its ``STARTUPINFO`` structure to child 7593processes. 7594 7595.. 7596 7597.. bpo: 35854 7598.. date: 2019-01-29-15-44-46 7599.. nonce: Ww3z19 7600.. section: Windows 7601 7602Fix EnvBuilder and --symlinks in venv on Windows 7603 7604.. 7605 7606.. bpo: 35811 7607.. date: 2019-01-25-12-46-36 7608.. nonce: 2hU-mm 7609.. section: Windows 7610 7611Avoid propagating venv settings when launching via py.exe 7612 7613.. 7614 7615.. bpo: 35797 7616.. date: 2019-01-25-12-29-14 7617.. nonce: MzyOK9 7618.. section: Windows 7619 7620Fix default executable used by the multiprocessing module 7621 7622.. 7623 7624.. bpo: 35758 7625.. date: 2019-01-21-05-18-14 7626.. nonce: 8LsY3l 7627.. section: Windows 7628 7629Allow building on ARM with MSVC. 7630 7631.. 7632 7633.. bpo: 29734 7634.. date: 2019-01-12-16-52-38 7635.. nonce: 6_OJwI 7636.. section: Windows 7637 7638Fix handle leaks in os.stat on Windows. 7639 7640.. 7641 7642.. bpo: 35596 7643.. date: 2019-01-08-13-56-01 7644.. nonce: oFvhcm 7645.. section: Windows 7646 7647Use unchecked PYCs for the embeddable distro to avoid zipimport 7648restrictions. 7649 7650.. 7651 7652.. bpo: 35596 7653.. date: 2018-12-28-07-25-47 7654.. nonce: P9CEY2 7655.. section: Windows 7656 7657Fix vcruntime140.dll being added to embeddable distro multiple times. 7658 7659.. 7660 7661.. bpo: 35402 7662.. date: 2018-12-13-13-30-04 7663.. nonce: n_mXb2 7664.. section: Windows 7665 7666Update Windows build to use Tcl and Tk 8.6.9 7667 7668.. 7669 7670.. bpo: 35401 7671.. date: 2018-12-10-15-01-13 7672.. nonce: 9L1onG 7673.. section: Windows 7674 7675Updates Windows build to OpenSSL 1.1.0j 7676 7677.. 7678 7679.. bpo: 34977 7680.. date: 2018-12-07-10-00-38 7681.. nonce: agQJbD 7682.. section: Windows 7683 7684venv on Windows will now use a python.exe redirector rather than copying the 7685actual binaries from the base environment. 7686 7687.. 7688 7689.. bpo: 34977 7690.. date: 2018-10-30-13-39-17 7691.. nonce: 0l7_QV 7692.. section: Windows 7693 7694Adds support for building a Windows App Store package 7695 7696.. 7697 7698.. bpo: 35067 7699.. date: 2018-10-25-11-29-22 7700.. nonce: RHWi7W 7701.. section: Windows 7702 7703Remove _distutils_findvs module and use vswhere.exe instead. 7704 7705.. 7706 7707.. bpo: 32557 7708.. date: 2018-09-25-10-39-27 7709.. nonce: Rs1bf9 7710.. section: Windows 7711 7712Allow shutil.disk_usage to take a file path on Windows 7713 7714.. 7715 7716.. bpo: 34770 7717.. date: 2018-09-22-11-02-35 7718.. nonce: 4lEUOd 7719.. section: Windows 7720 7721Fix a possible null pointer dereference in pyshellext.cpp. 7722 7723.. 7724 7725.. bpo: 34603 7726.. date: 2018-09-13-08-29-04 7727.. nonce: 2AB7sc 7728.. section: Windows 7729 7730Fix returning structs from functions produced by MSVC 7731 7732.. 7733 7734.. bpo: 34581 7735.. date: 2018-09-04-23-13-19 7736.. nonce: lnbC0k 7737.. section: Windows 7738 7739Guard MSVC-specific code in socketmodule.c with ``#ifdef _MSC_VER``. 7740 7741.. 7742 7743.. bpo: 34532 7744.. date: 2018-09-03-01-23-52 7745.. nonce: N1HEbE 7746.. section: Windows 7747 7748Fixes exit code of list version arguments for py.exe. 7749 7750.. 7751 7752.. bpo: 34062 7753.. date: 2018-08-21-19-28-23 7754.. nonce: 3gxsA3 7755.. section: Windows 7756 7757Fixed the '--list' and '--list-paths' arguments for the py.exe launcher 7758 7759.. 7760 7761.. bpo: 34225 7762.. date: 2018-07-25-16-13-12 7763.. nonce: ngemNL 7764.. section: Windows 7765 7766Ensure INCLUDE and LIB directories do not end with a backslash. 7767 7768.. 7769 7770.. bpo: 34011 7771.. date: 2018-07-11-15-58-06 7772.. nonce: Ho_d5T 7773.. section: Windows 7774 7775A suite of code has been changed which copied across DLLs and init.tcl from 7776the running Python location into a venv being created. These copies are 7777needed only when running from a Python source build, and the copying code is 7778now only run when that is the case, rather than whenever a venv is created. 7779 7780.. 7781 7782.. bpo: 34006 7783.. date: 2018-07-02-14-19-32 7784.. nonce: 7SgBT_ 7785.. section: Windows 7786 7787Revert line length limit for Windows help docs. The line-length limit is not 7788needed because the pages appear in a separate app rather than on a browser 7789tab. It can also interact badly with the DPI setting. 7790 7791.. 7792 7793.. bpo: 31546 7794.. date: 2018-06-27-23-33-54 7795.. nonce: zJlap- 7796.. section: Windows 7797 7798Restore running PyOS_InputHook while waiting for user input at the prompt. 7799The restores integration of interactive GUI windows (such as Matplotlib 7800figures) with the prompt on Windows. 7801 7802.. 7803 7804.. bpo: 30237 7805.. date: 2018-06-25-09-33-48 7806.. nonce: EybiZA 7807.. section: Windows 7808 7809Output error when ReadConsole is canceled by CancelSynchronousIo instead of 7810crashing. 7811 7812.. 7813 7814.. bpo: 33895 7815.. date: 2018-06-19-11-57-50 7816.. nonce: zpblTy 7817.. section: Windows 7818 7819GIL is released while calling functions that acquire Windows loader lock. 7820 7821.. 7822 7823.. bpo: 33720 7824.. date: 2018-06-04-09-20-53 7825.. nonce: VKDXHK 7826.. section: Windows 7827 7828Reduces maximum marshal recursion depth on release builds. 7829 7830.. 7831 7832.. bpo: 29097 7833.. date: 2018-05-16-11-31-17 7834.. nonce: 9mqEuI 7835.. section: Windows 7836 7837Fix bug where :meth:`datetime.fromtimestamp` erroneously throws an 7838:exc:`OSError` on Windows for values between 0 and 86400. Patch by Ammar 7839Askar. 7840 7841.. 7842 7843.. bpo: 33316 7844.. date: 2018-04-20-03-24-07 7845.. nonce: 9IiJ8J 7846.. section: Windows 7847 7848PyThread_release_lock always fails 7849 7850.. 7851 7852.. bpo: 33184 7853.. date: 2018-04-13-11-28-55 7854.. nonce: 7YhqQE 7855.. section: Windows 7856 7857Update Windows installer to use OpenSSL 1.1.0h. 7858 7859.. 7860 7861.. bpo: 32890 7862.. date: 2018-03-08-20-02-38 7863.. nonce: 3jzFzY 7864.. section: Windows 7865 7866Fix usage of GetLastError() instead of errno in os.execve() and 7867os.truncate(). 7868 7869.. 7870 7871.. bpo: 33016 7872.. date: 2018-03-07-01-33-33 7873.. nonce: Z_Med0 7874.. section: Windows 7875 7876Fix potential use of uninitialized memory in nt._getfinalpathname 7877 7878.. 7879 7880.. bpo: 32903 7881.. date: 2018-02-28-11-03-24 7882.. nonce: 1SXY4t 7883.. section: Windows 7884 7885Fix a memory leak in os.chdir() on Windows if the current directory is set 7886to a UNC path. 7887 7888.. 7889 7890.. bpo: 32901 7891.. date: 2018-02-23-00-47-13 7892.. nonce: mGKz5_ 7893.. section: Windows 7894 7895Update Tcl and Tk versions to 8.6.8 7896 7897.. 7898 7899.. bpo: 31966 7900.. date: 2018-02-19-13-54-42 7901.. nonce: _Q3HPb 7902.. section: Windows 7903 7904Fixed WindowsConsoleIO.write() for writing empty data. 7905 7906.. 7907 7908.. bpo: 32409 7909.. date: 2018-02-19-10-00-57 7910.. nonce: nocuDg 7911.. section: Windows 7912 7913Ensures activate.bat can handle Unicode contents. 7914 7915.. 7916 7917.. bpo: 32457 7918.. date: 2018-02-19-08-54-06 7919.. nonce: vVP0Iz 7920.. section: Windows 7921 7922Improves handling of denormalized executable path when launching Python. 7923 7924.. 7925 7926.. bpo: 32370 7927.. date: 2018-02-10-15-38-19 7928.. nonce: kcKuct 7929.. section: Windows 7930 7931Use the correct encoding for ipconfig output in the uuid module. Patch by 7932Segev Finer. 7933 7934.. 7935 7936.. bpo: 29248 7937.. date: 2018-02-07-17-50-48 7938.. nonce: Xzwj-6 7939.. section: Windows 7940 7941Fix :func:`os.readlink` on Windows, which was mistakenly treating the 7942``PrintNameOffset`` field of the reparse data buffer as a number of 7943characters instead of bytes. Patch by Craig Holmquist and SSE4. 7944 7945.. 7946 7947.. bpo: 1104 7948.. date: 2017-11-24-12-53-54 7949.. nonce: 1CWSZp 7950.. section: Windows 7951 7952Correctly handle string length in ``msilib.SummaryInfo.GetProperty()`` to 7953prevent it from truncating the last character. 7954 7955.. 7956 7957.. bpo: 35401 7958.. date: 2018-12-09-13-56-49 7959.. nonce: n8B7X1 7960.. section: macOS 7961 7962Update macOS installer to use OpenSSL 1.1.0j. 7963 7964.. 7965 7966.. bpo: 35025 7967.. date: 2018-10-18-23-54-55 7968.. nonce: X4LFJg 7969.. section: macOS 7970 7971Properly guard the use of the ``CLOCK_GETTIME`` et al. macros in 7972``timemodule`` on macOS. 7973 7974.. 7975 7976.. bpo: 24658 7977.. date: 2018-10-17-14-36-08 7978.. nonce: Naddgx 7979.. section: macOS 7980 7981On macOS, fix reading from and writing into a file with a size larger than 2 7982GiB. 7983 7984.. 7985 7986.. bpo: 34405 7987.. date: 2018-09-11-08-30-55 7988.. nonce: UzIi0n 7989.. section: macOS 7990 7991Update to OpenSSL 1.1.0i for macOS installer builds. 7992 7993.. 7994 7995.. bpo: 33635 7996.. date: 2018-07-31-09-51-01 7997.. nonce: KiscE- 7998.. section: macOS 7999 8000In macOS stat on some file descriptors (/dev/fd/3 f.e) will result in bad 8001file descriptor OSError. Guard against this exception was added in is_dir, 8002is_file and similar methods. DirEntry.is_dir can also throw this exception 8003so _RecursiveWildcardSelector._iterate_directories was also extended with 8004the same error ignoring pattern. 8005 8006.. 8007 8008.. bpo: 13631 8009.. date: 2018-05-16-13-25-58 8010.. nonce: UIjDyY 8011.. section: macOS 8012 8013The .editrc file in user's home directory is now processed correctly during 8014the readline initialization through editline emulation on macOS. 8015 8016.. 8017 8018.. bpo: 33184 8019.. date: 2018-04-07-00-51-34 8020.. nonce: 3j208P 8021.. section: macOS 8022 8023Update macOS installer build to use OpenSSL 1.1.0h. 8024 8025.. 8026 8027.. bpo: 32726 8028.. date: 2018-03-29-06-56-12 8029.. nonce: urS9uX 8030.. section: macOS 8031 8032Build and link with private copy of Tcl/Tk 8.6 for the macOS 10.6+ 8033installer. The 10.9+ installer variant already does this. This means that 8034the Python 3.7 provided by the python.org macOS installers no longer need or 8035use any external versions of Tcl/Tk, either system-provided or 8036user-installed, such as ActiveTcl. 8037 8038.. 8039 8040.. bpo: 32901 8041.. date: 2018-02-27-17-33-15 8042.. nonce: hQu0w3 8043.. section: macOS 8044 8045Update macOS 10.9+ installer to Tcl/Tk 8.6.8. 8046 8047.. 8048 8049.. bpo: 31903 8050.. date: 2017-11-01-16-53-12 8051.. nonce: K6jCVG 8052.. section: macOS 8053 8054In :mod:`_scproxy`, drop the GIL when calling into ``SystemConfiguration`` 8055to avoid deadlocks. 8056 8057.. 8058 8059.. bpo: 35770 8060.. date: 2019-01-18-13-04-30 8061.. nonce: 2LxJGu 8062.. section: IDLE 8063 8064IDLE macosx deletes Options => Configure IDLE. It previously deleted Window 8065=> Zoom Height by mistake. (Zoom Height is now on the Options menu). On 8066Mac, the settings dialog is accessed via Preferences on the IDLE menu. 8067 8068.. 8069 8070.. bpo: 35769 8071.. date: 2019-01-18-01-24-23 8072.. nonce: GqsB34 8073.. section: IDLE 8074 8075Change IDLE's new file name from 'Untitled' to 'untitled' 8076 8077.. 8078 8079.. bpo: 35660 8080.. date: 2019-01-04-19-14-29 8081.. nonce: hMxI7N 8082.. section: IDLE 8083 8084Fix imports in idlelib.window. 8085 8086.. 8087 8088.. bpo: 35641 8089.. date: 2019-01-02-22-15-01 8090.. nonce: QEaANl 8091.. section: IDLE 8092 8093Proper format `calltip` when the function has no docstring. 8094 8095.. 8096 8097.. bpo: 33987 8098.. date: 2018-12-31-17-04-18 8099.. nonce: fD92up 8100.. section: IDLE 8101 8102Use ttk Frame for ttk widgets. 8103 8104.. 8105 8106.. bpo: 34055 8107.. date: 2018-12-28-17-16-33 8108.. nonce: TmmpzR 8109.. section: IDLE 8110 8111Fix erroneous 'smart' indents and newlines in IDLE Shell. 8112 8113.. 8114 8115.. bpo: 35591 8116.. date: 2018-12-28-01-19-20 8117.. nonce: SFpDj2 8118.. section: IDLE 8119 8120Find Selection now works when selection not found. 8121 8122.. 8123 8124.. bpo: 35196 8125.. date: 2018-12-27-17-46-42 8126.. nonce: 9E-xUh 8127.. section: IDLE 8128 8129Speed up squeezer line counting. 8130 8131.. 8132 8133.. bpo: 35598 8134.. date: 2018-12-27-15-29-11 8135.. nonce: FWOOm8 8136.. section: IDLE 8137 8138Update config_key: use PEP 8 names and ttk widgets, make some objects 8139global, and add tests. 8140 8141.. 8142 8143.. bpo: 28097 8144.. date: 2018-12-26-13-53-34 8145.. nonce: 95I9NT 8146.. section: IDLE 8147 8148Add Previous/Next History entries to Shell menu. 8149 8150.. 8151 8152.. bpo: 35208 8153.. date: 2018-12-23-17-42-11 8154.. nonce: J5NOg7 8155.. section: IDLE 8156 8157Squeezer now properly counts wrapped lines before newlines. 8158 8159.. 8160 8161.. bpo: 35555 8162.. date: 2018-12-21-18-44-30 8163.. nonce: M58_K3 8164.. section: IDLE 8165 8166Gray out Code Context menu entry when it's not applicable. 8167 8168.. 8169 8170.. bpo: 35521 8171.. date: 2018-12-20-00-14-15 8172.. nonce: x32BRn 8173.. section: IDLE 8174 8175Document the IDLE editor code context feature. Add some internal references 8176within the IDLE doc. 8177 8178.. 8179 8180.. bpo: 22703 8181.. date: 2018-12-18-13-56-31 8182.. nonce: UlsjKQ 8183.. section: IDLE 8184 8185The Code Context menu label now toggles between Show/Hide Code Context. The 8186Zoom Height menu now toggles between Zoom/Restore Height. Zoom Height has 8187moved from the Window menu to the Options menu. 8188 8189.. 8190 8191.. bpo: 35213 8192.. date: 2018-11-12-00-20-01 8193.. nonce: cqNgzT 8194.. section: IDLE 8195 8196Where appropriate, use 'macOS' in idlelib. 8197 8198.. 8199 8200.. bpo: 34864 8201.. date: 2018-11-11-17-13-50 8202.. nonce: cw0PvO 8203.. section: IDLE 8204 8205On macOS, warn if the system preference "Prefer tabs when opening documents" 8206is set to "Always". 8207 8208.. 8209 8210.. bpo: 34864 8211.. date: 2018-11-10-21-27-25 8212.. nonce: Ci-G2q 8213.. section: IDLE 8214 8215Document two IDLE on MacOS issues. The System Preferences Dock "prefer tabs 8216always" setting disables some IDLE features. Menus are a bit different than 8217as described for Windows and Linux. 8218 8219.. 8220 8221.. bpo: 35202 8222.. date: 2018-11-10-09-10-54 8223.. nonce: TeJJrt 8224.. section: IDLE 8225 8226Remove unused imports from lib/idlelib 8227 8228.. 8229 8230.. bpo: 33000 8231.. date: 2018-11-06-23-10-54 8232.. nonce: pQasCt 8233.. section: IDLE 8234 8235Document that IDLE's shell has no line limit. A program that runs 8236indefinitely can overfill memory. 8237 8238.. 8239 8240.. bpo: 23220 8241.. date: 2018-11-05-23-23-00 8242.. nonce: H3SAWE 8243.. section: IDLE 8244 8245Explain how IDLE's Shell displays output. 8246 8247.. 8248 8249.. bpo: 35099 8250.. date: 2018-11-05-20-43-08 8251.. nonce: SVOZXC 8252.. section: IDLE 8253 8254Improve the doc about IDLE running user code. The section is renamed from 8255"IDLE -- console differences" is renamed "Running user code". It mostly 8256covers the implications of using custom sys.stdxxx objects. 8257 8258.. 8259 8260.. bpo: 35097 8261.. date: 2018-10-28-20-17-14 8262.. nonce: 07tm66 8263.. section: IDLE 8264 8265Add IDLE doc subsection explaining editor windows. Topics include opening, 8266title and status bar, .py* extension, and running. 8267 8268.. 8269 8270.. bpo: 35093 8271.. date: 2018-10-28-15-53-51 8272.. nonce: cH-tli 8273.. section: IDLE 8274 8275Document the IDLE document viewer in the IDLE doc. Add a paragraph in "Help 8276and preferences", "Help sources" subsection. 8277 8278.. 8279 8280.. bpo: 35088 8281.. date: 2018-10-28-00-54-32 8282.. nonce: r1lJZd 8283.. section: IDLE 8284 8285Update idlelib.help.copy_string docstring. We now use git and backporting 8286instead of hg and forward merging. 8287 8288.. 8289 8290.. bpo: 35087 8291.. date: 2018-10-28-00-08-42 8292.. nonce: G7gx2- 8293.. section: IDLE 8294 8295Update idlelib help files for the current doc build. The main change is the 8296elimination of chapter-section numbers. 8297 8298.. 8299 8300.. bpo: 34548 8301.. date: 2018-09-22-20-25-07 8302.. nonce: 7pBzjg 8303.. section: IDLE 8304 8305Use configured color theme for read-only text views. 8306 8307.. 8308 8309.. bpo: 1529353 8310.. date: 2018-08-13-16-31-24 8311.. nonce: wXfQJk 8312.. section: IDLE 8313 8314Enable "squeezing" of long outputs in the shell, to avoid performance 8315degradation and to clean up the history without losing it. Squeezed outputs 8316may be copied, viewed in a separate window, and "unsqueezed". 8317 8318.. 8319 8320.. bpo: 34047 8321.. date: 2018-08-05-15-49-55 8322.. nonce: LGKsIm 8323.. section: IDLE 8324 8325Fixed mousewheel scrolling direction on macOS. 8326 8327.. 8328 8329.. bpo: 34275 8330.. date: 2018-08-02-22-16-42 8331.. nonce: Iu0d7t 8332.. section: IDLE 8333 8334Make IDLE calltips always visible on Mac. Some MacOS-tk combinations need 8335.update_idletasks(). Patch by Kevin Walzer. 8336 8337.. 8338 8339.. bpo: 34120 8340.. date: 2018-08-01-23-25-38 8341.. nonce: HgsIz- 8342.. section: IDLE 8343 8344Fix unresponsiveness after closing certain windows and dialogs. 8345 8346.. 8347 8348.. bpo: 33975 8349.. date: 2018-06-26-22-53-14 8350.. nonce: Ow7alv 8351.. section: IDLE 8352 8353Avoid small type when running htests. Since part of the purpose of 8354human-viewed tests is to determine that widgets look right, it is important 8355that they look the same for testing as when running IDLE. 8356 8357.. 8358 8359.. bpo: 33905 8360.. date: 2018-06-21-20-35-33 8361.. nonce: W2mhiY 8362.. section: IDLE 8363 8364Add test for idlelib.stackview.StackBrowser. 8365 8366.. 8367 8368.. bpo: 33924 8369.. date: 2018-06-20-22-14-07 8370.. nonce: 6Rz1wt 8371.. section: IDLE 8372 8373Change mainmenu.menudefs key 'windows' to 'window'. Every other menudef key 8374is lowercase version of main menu entry. 8375 8376.. 8377 8378.. bpo: 33906 8379.. date: 2018-06-20-19-16-24 8380.. nonce: a1lXq0 8381.. section: IDLE 8382 8383Rename idlelib.windows as window Match Window on the main menu and remove 8384last plural module name. 8385 8386.. 8387 8388.. bpo: 33917 8389.. date: 2018-06-20-16-27-48 8390.. nonce: ZXHs8x 8391.. section: IDLE 8392 8393Fix and document idlelib/idle_test/template.py. The revised file compiles, 8394runs, and tests OK. idle_test/README.txt explains how to use it to create 8395new IDLE test files. 8396 8397.. 8398 8399.. bpo: 33904 8400.. date: 2018-06-20-12-40-54 8401.. nonce: qm0eCu 8402.. section: IDLE 8403 8404IDLE: In rstrip, rename class RstripExtension as Rstrip 8405 8406.. 8407 8408.. bpo: 33907 8409.. date: 2018-06-19-22-21-27 8410.. nonce: z-_B3N 8411.. section: IDLE 8412 8413For consistency and clarity, rename an IDLE module and classes. Module 8414calltips and its class CallTips are now calltip and Calltip. In module 8415calltip_w, class CallTip is now CalltipWindow. 8416 8417.. 8418 8419.. bpo: 33856 8420.. date: 2018-06-16-21-54-45 8421.. nonce: TH8WHU 8422.. section: IDLE 8423 8424Add "help" in the welcome message of IDLE 8425 8426.. 8427 8428.. bpo: 33839 8429.. date: 2018-06-14-13-23-55 8430.. nonce: ZlJzHa 8431.. section: IDLE 8432 8433IDLE: refactor ToolTip and CallTip and add documentation and tests 8434 8435.. 8436 8437.. bpo: 33855 8438.. date: 2018-06-14-11-35-50 8439.. nonce: XL230W 8440.. section: IDLE 8441 8442Minimally test all IDLE modules. Add missing files, import module, 8443instantiate classes, and check coverage. Check existing files. 8444 8445.. 8446 8447.. bpo: 33656 8448.. date: 2018-06-10-17-59-36 8449.. nonce: 60ZqJS 8450.. section: IDLE 8451 8452On Windows, add API call saying that tk scales for DPI. On Windows 8.1+ or 845310, with DPI compatibility properties of the Python binary unchanged, and a 8454monitor resolution greater than 96 DPI, this should make text and lines 8455sharper. It should otherwise have no effect. 8456 8457.. 8458 8459.. bpo: 33768 8460.. date: 2018-06-04-19-23-11 8461.. nonce: I_2qpV 8462.. section: IDLE 8463 8464Clicking on a context line moves that line to the top of the editor window. 8465 8466.. 8467 8468.. bpo: 33763 8469.. date: 2018-06-03-20-12-57 8470.. nonce: URiFlE 8471.. section: IDLE 8472 8473IDLE: Use read-only text widget for code context instead of label widget. 8474 8475.. 8476 8477.. bpo: 33664 8478.. date: 2018-06-03-09-13-28 8479.. nonce: PZzQyL 8480.. section: IDLE 8481 8482Scroll IDLE editor text by lines. Previously, the mouse wheel and scrollbar 8483slider moved text by a fixed number of pixels, resulting in partial lines at 8484the top of the editor box. The change also applies to the shell and grep 8485output windows, but not to read-only text views. 8486 8487.. 8488 8489.. bpo: 33679 8490.. date: 2018-05-29-07-14-37 8491.. nonce: MgX_Ui 8492.. section: IDLE 8493 8494Enable theme-specific color configuration for Code Context. Use the 8495Highlights tab to see the setting for built-in themes or add settings to 8496custom themes. 8497 8498.. 8499 8500.. bpo: 33642 8501.. date: 2018-05-24-20-42-44 8502.. nonce: J0VQbS 8503.. section: IDLE 8504 8505Display up to maxlines non-blank lines for Code Context. If there is no 8506current context, show a single blank line. 8507 8508.. 8509 8510.. bpo: 33628 8511.. date: 2018-05-23-19-51-07 8512.. nonce: sLlFLO 8513.. section: IDLE 8514 8515IDLE: Cleanup codecontext.py and its test. 8516 8517.. 8518 8519.. bpo: 33564 8520.. date: 2018-05-17-19-41-12 8521.. nonce: XzHZJe 8522.. section: IDLE 8523 8524IDLE's code context now recognizes async as a block opener. 8525 8526.. 8527 8528.. bpo: 21474 8529.. date: 2018-04-29-16-13-02 8530.. nonce: bglg-F 8531.. section: IDLE 8532 8533Update word/identifier definition from ascii to unicode. In text and entry 8534boxes, this affects selection by double-click, movement left/right by 8535control-left/right, and deletion left/right by control-BACKSPACE/DEL. 8536 8537.. 8538 8539.. bpo: 33204 8540.. date: 2018-04-02-00-28-13 8541.. nonce: NBsuIv 8542.. section: IDLE 8543 8544IDLE: consistently color invalid string prefixes. A 'u' string prefix cannot 8545be paired with either 'r' or 'f'. Consistently color as much of the prefix, 8546starting at the right, as is valid. Revise and extend colorizer test. 8547 8548.. 8549 8550.. bpo: 32984 8551.. date: 2018-03-05-01-29-05 8552.. nonce: NGjgT4 8553.. section: IDLE 8554 8555Set ``__file__`` while running a startup file. Like Python, IDLE optionally 8556runs one startup file in the Shell window before presenting the first 8557interactive input prompt. For IDLE, ``-s`` runs a file named in 8558environmental variable :envvar:`IDLESTARTUP` or :envvar:`PYTHONSTARTUP`; 8559``-r file`` runs ``file``. Python sets ``__file__`` to the startup file 8560name before running the file and unsets it before the first prompt. IDLE 8561now does the same when run normally, without the ``-n`` option. 8562 8563.. 8564 8565.. bpo: 32940 8566.. date: 2018-02-24-18-20-50 8567.. nonce: ZaJ1Rf 8568.. section: IDLE 8569 8570Simplify and rename StringTranslatePseudoMapping in pyparse. 8571 8572.. 8573 8574.. bpo: 32916 8575.. date: 2018-02-23-07-32-36 8576.. nonce: 4MsQ5F 8577.. section: IDLE 8578 8579Change ``str`` to ``code`` in pyparse. 8580 8581.. 8582 8583.. bpo: 32905 8584.. date: 2018-02-22-00-09-27 8585.. nonce: VlXj0x 8586.. section: IDLE 8587 8588Remove unused code in pyparse module. 8589 8590.. 8591 8592.. bpo: 32874 8593.. date: 2018-02-19-10-56-41 8594.. nonce: 6pZ9Gv 8595.. section: IDLE 8596 8597Add tests for pyparse. 8598 8599.. 8600 8601.. bpo: 32837 8602.. date: 2018-02-12-17-22-48 8603.. nonce: -33QPl 8604.. section: IDLE 8605 8606Using the system and place-dependent default encoding for open() is a bad 8607idea for IDLE's system and location-independent files. 8608 8609.. 8610 8611.. bpo: 32826 8612.. date: 2018-02-12-11-05-22 8613.. nonce: IxNZrk 8614.. section: IDLE 8615 8616Add "encoding=utf-8" to open() in IDLE's test_help_about. GUI test 8617test_file_buttons() only looks at initial ascii-only lines, but failed on 8618systems where open() defaults to 'ascii' because readline() internally reads 8619and decodes far enough ahead to encounter a non-ascii character in 8620CREDITS.txt. 8621 8622.. 8623 8624.. bpo: 32831 8625.. date: 2018-02-12-08-08-45 8626.. nonce: srDRvU 8627.. section: IDLE 8628 8629Add docstrings and tests for codecontext. 8630 8631.. 8632 8633.. bpo: 32765 8634.. date: 2018-02-04-17-52-54 8635.. nonce: qm0eCu 8636.. section: IDLE 8637 8638Update configdialog General tab docstring to add new widgets to the widget 8639list. 8640 8641.. 8642 8643.. bpo: 35884 8644.. date: 2019-02-01-12-22-37 8645.. nonce: hJkMRD 8646.. section: Tools/Demos 8647 8648Add a benchmark script for timing various ways to access variables: 8649``Tools/scripts/var_access_benchmark.py``. 8650 8651.. 8652 8653.. bpo: 34989 8654.. date: 2018-10-15-13-22-28 8655.. nonce: hU4fra 8656.. section: Tools/Demos 8657 8658python-gdb.py now handles errors on computing the line number of a Python 8659frame. 8660 8661.. 8662 8663.. bpo: 20260 8664.. date: 2018-07-24-00-11-44 8665.. nonce: klmmqI 8666.. section: Tools/Demos 8667 8668Argument Clinic now has non-bitwise unsigned int converters. 8669 8670.. 8671 8672.. bpo: 32962 8673.. date: 2018-06-14-16-23-07 8674.. nonce: Q3Dwns 8675.. section: Tools/Demos 8676 8677python-gdb now catches ``UnicodeDecodeError`` exceptions when calling 8678``string()``. 8679 8680.. 8681 8682.. bpo: 32962 8683.. date: 2018-06-14-16-16-53 8684.. nonce: 2YfdwI 8685.. section: Tools/Demos 8686 8687python-gdb now catches ValueError on read_var(): when Python has no debug 8688symbols for example. 8689 8690.. 8691 8692.. bpo: 33189 8693.. date: 2018-04-03-18-10-00 8694.. nonce: QrXR00 8695.. section: Tools/Demos 8696 8697:program:`pygettext.py` now recognizes only literal strings as docstrings 8698and translatable strings, and rejects bytes literals and f-string 8699expressions. 8700 8701.. 8702 8703.. bpo: 31920 8704.. date: 2018-03-26-18-54-24 8705.. nonce: u_WKsT 8706.. section: Tools/Demos 8707 8708Fixed handling directories as arguments in the ``pygettext`` script. Based 8709on patch by Oleg Krasnikov. 8710 8711.. 8712 8713.. bpo: 29673 8714.. date: 2018-03-16-17-25-05 8715.. nonce: m8QtaW 8716.. section: Tools/Demos 8717 8718Fix pystackv and pystack gdbinit macros. 8719 8720.. 8721 8722.. bpo: 25427 8723.. date: 2018-03-02-16-23-31 8724.. nonce: 1mgMOG 8725.. section: Tools/Demos 8726 8727Remove the pyvenv script in favor of ``python3 -m venv`` in order to lower 8728confusion as to what Python interpreter a virtual environment will be 8729created for. 8730 8731.. 8732 8733.. bpo: 32885 8734.. date: 2018-02-20-12-16-47 8735.. nonce: dL5x7C 8736.. section: Tools/Demos 8737 8738Add an ``-n`` flag for ``Tools/scripts/pathfix.py`` to disable automatic 8739backup creation (files with ``~`` suffix). 8740 8741.. 8742 8743.. bpo: 32222 8744.. date: 2017-12-07-20-51-20 8745.. nonce: hPBcGT 8746.. section: Tools/Demos 8747 8748Fix pygettext not extracting docstrings for functions with type annotated 8749arguments. Patch by Toby Harradine. 8750 8751.. 8752 8753.. bpo: 31583 8754.. date: 2017-09-26-10-11-21 8755.. nonce: TM90_H 8756.. section: Tools/Demos 8757 8758Fix 2to3 for using with --add-suffix option but without --output-dir option 8759for relative path to files in current directory. 8760 8761.. 8762 8763.. bpo: 35713 8764.. date: 2019-01-22-17-04-10 8765.. nonce: fmehdG 8766.. section: C API 8767 8768The :c:func:`PyByteArray_Init` and :c:func:`PyByteArray_Fini` functions have 8769been removed. They did nothing since Python 2.7.4 and Python 3.2.0, were 8770excluded from the limited API (stable ABI), and were not documented. 8771 8772.. 8773 8774.. bpo: 33817 8775.. date: 2019-01-11-11-16-16 8776.. nonce: nJ4yIj 8777.. section: C API 8778 8779Fixed :c:func:`_PyBytes_Resize` for empty bytes objects. 8780 8781.. 8782 8783.. bpo: 35322 8784.. date: 2018-11-28-03-20-36 8785.. nonce: Qcqsag 8786.. section: C API 8787 8788Fix memory leak in :c:func:`PyUnicode_EncodeLocale` and 8789:c:func:`PyUnicode_EncodeFSDefault` on error handling. 8790 8791.. 8792 8793.. bpo: 35059 8794.. date: 2018-11-23-11-52-34 8795.. nonce: BLSp6y 8796.. section: C API 8797 8798The following C macros have been converted to static inline functions: 8799:c:func:`Py_INCREF`, :c:func:`Py_DECREF`, :c:func:`Py_XINCREF`, 8800:c:func:`Py_XDECREF`, :c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`. 8801 8802.. 8803 8804.. bpo: 35296 8805.. date: 2018-11-22-18-34-23 8806.. nonce: nxrIQt 8807.. section: C API 8808 8809``make install`` now also installs the internal API: 8810``Include/internal/*.h`` header files. 8811 8812.. 8813 8814.. bpo: 35081 8815.. date: 2018-11-22-18-15-46 8816.. nonce: FdK9mV 8817.. section: C API 8818 8819Internal APIs surrounded by ``#ifdef Py_BUILD_CORE`` have been moved from 8820``Include/*.h`` headers to new header files ``Include/internal/pycore_*.h``. 8821 8822.. 8823 8824.. bpo: 35259 8825.. date: 2018-11-22-13-52-36 8826.. nonce: p07c61 8827.. section: C API 8828 8829Conditionally declare :c:func:`Py_FinalizeEx()` (new in 3.6) based on 8830Py_LIMITED_API. Patch by Arthur Neufeld. 8831 8832.. 8833 8834.. bpo: 35081 8835.. date: 2018-11-13-12-13-04 8836.. nonce: gFd85N 8837.. section: C API 8838 8839The :c:func:`_PyObject_GC_TRACK` and :c:func:`_PyObject_GC_UNTRACK` macros 8840have been removed from the public C API. 8841 8842.. 8843 8844.. bpo: 35134 8845.. date: 2018-11-01-13-58-37 8846.. nonce: SbZo0o 8847.. section: C API 8848 8849Creation of a new ``Include/cpython/`` subdirectory. 8850 8851.. 8852 8853.. bpo: 34725 8854.. date: 2018-10-13-16-30-54 8855.. nonce: j52rIS 8856.. section: C API 8857 8858Adds _Py_SetProgramFullPath so embedders may override sys.executable 8859 8860.. 8861 8862.. bpo: 34910 8863.. date: 2018-10-05-17-06-49 8864.. nonce: tSFrls 8865.. section: C API 8866 8867Ensure that :c:func:`PyObject_Print` always returns ``-1`` on error. Patch 8868by Zackery Spytz. 8869 8870.. 8871 8872.. bpo: 34523 8873.. date: 2018-08-29-18-48-47 8874.. nonce: lLQ8rh 8875.. section: C API 8876 8877Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 encoding on 8878Windows if Py_LegacyWindowsFSEncodingFlag is zero. 8879 8880.. 8881 8882.. bpo: 34193 8883.. date: 2018-07-24-11-57-35 8884.. nonce: M6ch1Q 8885.. section: C API 8886 8887Fix pluralization in TypeError messages in getargs.c and typeobject.c: '1 8888argument' instead of '1 arguments' and '1 element' instead of '1 elements'. 8889 8890.. 8891 8892.. bpo: 34127 8893.. date: 2018-07-22-14-58-06 8894.. nonce: qkfnHO 8895.. section: C API 8896 8897Return grammatically correct error message based on argument count. Patch by 8898Karthikeyan Singaravelan. 8899 8900.. 8901 8902.. bpo: 23927 8903.. date: 2018-07-09-11-39-54 8904.. nonce: pDFkxb 8905.. section: C API 8906 8907Fixed :exc:`SystemError` in :c:func:`PyArg_ParseTupleAndKeywords` when the 8908``w*`` format unit is used for optional parameter. 8909 8910.. 8911 8912.. bpo: 32455 8913.. date: 2018-07-08-12-06-18 8914.. nonce: KVHlkz 8915.. section: C API 8916 8917Added :c:func:`PyCompile_OpcodeStackEffectWithJump`. 8918 8919.. 8920 8921.. bpo: 34008 8922.. date: 2018-07-02-10-58-11 8923.. nonce: COewz- 8924.. section: C API 8925 8926Py_Main() can again be called after Py_Initialize(), as in Python 3.6. 8927 8928.. 8929 8930.. bpo: 32500 8931.. date: 2018-06-21-17-19-31 8932.. nonce: WGCNad 8933.. section: C API 8934 8935Fixed error messages for :c:func:`PySequence_Size`, 8936:c:func:`PySequence_GetItem`, :c:func:`PySequence_SetItem` and 8937:c:func:`PySequence_DelItem` called with a mapping and 8938:c:func:`PyMapping_Size` called with a sequence. 8939 8940.. 8941 8942.. bpo: 33818 8943.. date: 2018-06-10-09-42-31 8944.. nonce: 50nlf3 8945.. section: C API 8946 8947:c:func:`PyExceptionClass_Name` will now return ``const char *`` instead of 8948``char *``. 8949 8950.. 8951 8952.. bpo: 33042 8953.. date: 2018-03-20-21-43-09 8954.. nonce: FPFp64 8955.. section: C API 8956 8957Embedding applications may once again call PySys_ResetWarnOptions, 8958PySys_AddWarnOption, and PySys_AddXOption prior to calling Py_Initialize. 8959 8960.. 8961 8962.. bpo: 32374 8963.. date: 2018-01-09-17-03-54 8964.. nonce: SwwLoz 8965.. section: C API 8966 8967Document that m_traverse for multi-phase initialized modules can be called 8968with m_state=NULL, and add a sanity check 8969 8970.. 8971 8972.. bpo: 30863 8973.. date: 2017-10-12-23-24-27 8974.. nonce: xrED19 8975.. section: C API 8976 8977:c:func:`PyUnicode_AsWideChar` and :c:func:`PyUnicode_AsWideCharString` no 8978longer cache the ``wchar_t*`` representation of string objects. 8979