1.. bpo: 29781 2.. date: 2017-09-05-15-26-30 3.. nonce: LwYtBP 4.. release date: 2017-09-19 5.. section: Security 6 7SSLObject.version() now correctly returns None when handshake over BIO has 8not been performed yet. 9 10.. 11 12.. bpo: 29505 13.. date: 2017-08-23-17-02-55 14.. nonce: BL6Yt8 15.. section: Security 16 17Add fuzz tests for float(str), int(str), unicode(str); for oss-fuzz. 18 19.. 20 21.. bpo: 30947 22.. date: 2017-08-16-16-35-59 23.. nonce: iNMmm4 24.. section: Security 25 26Upgrade libexpat embedded copy from version 2.2.1 to 2.2.3 to get security 27fixes. 28 29.. 30 31.. bpo: 30730 32.. date: 0347 33.. nonce: rJsyTH 34.. original section: Library 35.. section: Security 36 37Prevent environment variables injection in subprocess on Windows. Prevent 38passing other environment variables and command arguments. 39 40.. 41 42.. bpo: 30694 43.. date: 0344 44.. nonce: WkMWM_ 45.. original section: Library 46.. section: Security 47 48Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security 49vulnerabilities including: CVE-2017-9233 (External entity infinite loop 50DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix 51regression bugs from 2.2.0's fix to CVE-2016-0718) and CVE-2012-0876 52(Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use 53os-specific entropy sources like getrandom) doesn't impact Python, since Python 54already gets entropy from the OS to set the expat secret using 55``XML_SetHashSalt()``. 56 57.. 58 59.. bpo: 30500 60.. date: 0342 61.. nonce: 1VG7R- 62.. original section: Library 63.. section: Security 64 65Fix urllib.parse.splithost() to correctly parse fragments. For example, 66``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the 67``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an 68authentication (``login@host``). 69 70.. 71 72.. bpo: 29591 73.. date: 0338 74.. nonce: ExKblw 75.. original section: Library 76.. section: Security 77 78Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and 79CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more 80information. 81 82.. 83 84.. bpo: 31490 85.. date: 2017-09-16-13-32-35 86.. nonce: r7m2sj 87.. section: Core and Builtins 88 89Fix an assertion failure in `ctypes` class definition, in case the class has 90an attribute whose name is specified in ``_anonymous_`` but not in 91``_fields_``. Patch by Oren Milman. 92 93.. 94 95.. bpo: 31471 96.. date: 2017-09-14-19-47-57 97.. nonce: 0yiA5Q 98.. section: Core and Builtins 99 100Fix an assertion failure in `subprocess.Popen()` on Windows, in case the env 101argument has a bad keys() method. Patch by Oren Milman. 102 103.. 104 105.. bpo: 31418 106.. date: 2017-09-13-13-03-52 107.. nonce: rS-FlC 108.. section: Core and Builtins 109 110Fix an assertion failure in `PyErr_WriteUnraisable()` in case of an 111exception with a bad ``__module__`` attribute. Patch by Oren Milman. 112 113.. 114 115.. bpo: 31416 116.. date: 2017-09-11-12-54-35 117.. nonce: 2hlQFd 118.. section: Core and Builtins 119 120Fix assertion failures in case of a bad warnings.filters or 121warnings.defaultaction. Patch by Oren Milman. 122 123.. 124 125.. bpo: 28411 126.. date: 2017-09-11-09-24-21 127.. nonce: 12SpAm 128.. section: Core and Builtins 129 130Change direct usage of PyInterpreterState.modules to 131PyImport_GetModuleDict(). Also introduce more uniformity in other code that 132deals with sys.modules. This helps reduce complications when working on 133sys.modules. 134 135.. 136 137.. bpo: 28411 138.. date: 2017-09-11-09-11-20 139.. nonce: Ax91lz 140.. section: Core and Builtins 141 142Switch to the abstract API when dealing with ``PyInterpreterState.modules``. 143This allows later support for all dict subclasses and other Mapping 144implementations. Also add a ``PyImport_GetModule()`` function to reduce a 145bunch of duplicated code. 146 147.. 148 149.. bpo: 31411 150.. date: 2017-09-11-08-50-41 151.. nonce: HZz82I 152.. section: Core and Builtins 153 154Raise a TypeError instead of SystemError in case warnings.onceregistry is 155not a dictionary. Patch by Oren Milman. 156 157.. 158 159.. bpo: 31344 160.. date: 2017-09-06-20-25-47 161.. nonce: XpFs-q 162.. section: Core and Builtins 163 164For finer control of tracing behaviour when testing the interpreter, two new 165frame attributes have been added to control the emission of particular trace 166events: ``f_trace_lines`` (``True`` by default) to turn off per-line trace 167events; and ``f_trace_opcodes`` (``False`` by default) to turn on per-opcode 168trace events. 169 170.. 171 172.. bpo: 31373 173.. date: 2017-09-06-15-25-59 174.. nonce: dC4jd4 175.. section: Core and Builtins 176 177Fix several possible instances of undefined behavior due to floating-point 178demotions. 179 180.. 181 182.. bpo: 30465 183.. date: 2017-09-06-10-47-29 184.. nonce: oe-3GD 185.. section: Core and Builtins 186 187Location information (``lineno`` and ``col_offset``) in f-strings is now 188(mostly) correct. This fixes tools like flake8 from showing warnings on the 189wrong line (typically the first line of the file). 190 191.. 192 193.. bpo: 30860 194.. date: 2017-09-05-13-47-49 195.. nonce: MROpZw 196.. section: Core and Builtins 197 198Consolidate CPython's global runtime state under a single struct. This 199improves discoverability of the runtime state. 200 201.. 202 203.. bpo: 31347 204.. date: 2017-09-04-16-35-06 205.. nonce: KDuf2w 206.. section: Core and Builtins 207 208Fix possible undefined behavior in _PyObject_FastCall_Prepend. 209 210.. 211 212.. bpo: 31343 213.. date: 2017-09-04-14-57-27 214.. nonce: Kl_fS5 215.. section: Core and Builtins 216 217Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C libray 218plans to remove the functions from sys/types.h. 219 220.. 221 222.. bpo: 31291 223.. date: 2017-08-28-11-51-29 224.. nonce: t8QggK 225.. section: Core and Builtins 226 227Fix an assertion failure in `zipimport.zipimporter.get_data` on Windows, 228when the return value of ``pathname.replace('/','\\')`` isn't a string. 229Patch by Oren Milman. 230 231.. 232 233.. bpo: 31271 234.. date: 2017-08-25-20-43-22 235.. nonce: YMduKF 236.. section: Core and Builtins 237 238Fix an assertion failure in the write() method of `io.TextIOWrapper`, when 239the encoder doesn't return a bytes object. Patch by Oren Milman. 240 241.. 242 243.. bpo: 31243 244.. date: 2017-08-24-13-34-49 245.. nonce: dRJzqR 246.. section: Core and Builtins 247 248Fix a crash in some methods of `io.TextIOWrapper`, when the decoder's state 249is invalid. Patch by Oren Milman. 250 251.. 252 253.. bpo: 30721 254.. date: 2017-08-18-15-15-20 255.. nonce: Hmc56z 256.. section: Core and Builtins 257 258``print`` now shows correct usage hint for using Python 2 redirection 259syntax. Patch by Sanyam Khurana. 260 261.. 262 263.. bpo: 31070 264.. date: 2017-08-09-09-40-54 265.. nonce: oDyLiI 266.. section: Core and Builtins 267 268Fix a race condition in importlib _get_module_lock(). 269 270.. 271 272.. bpo: 30747 273.. date: 2017-08-08-12-00-29 274.. nonce: g2kZRT 275.. section: Core and Builtins 276 277Add a non-dummy implementation of _Py_atomic_store and _Py_atomic_load on 278MSVC. 279 280.. 281 282.. bpo: 31095 283.. date: 2017-08-01-18-48-30 284.. nonce: bXWZDb 285.. section: Core and Builtins 286 287Fix potential crash during GC caused by ``tp_dealloc`` which doesn't call 288``PyObject_GC_UnTrack()``. 289 290.. 291 292.. bpo: 31071 293.. date: 2017-07-31-13-28-53 294.. nonce: P9UBDy 295.. section: Core and Builtins 296 297Avoid masking original TypeError in call with * unpacking when other 298arguments are passed. 299 300.. 301 302.. bpo: 30978 303.. date: 2017-07-21-07-39-05 304.. nonce: f0jODc 305.. section: Core and Builtins 306 307str.format_map() now passes key lookup exceptions through. Previously any 308exception was replaced with a KeyError exception. 309 310.. 311 312.. bpo: 30808 313.. date: 2017-07-17-12-12-59 314.. nonce: bA3zOv 315.. section: Core and Builtins 316 317Use _Py_atomic API for concurrency-sensitive signal state. 318 319.. 320 321.. bpo: 30876 322.. date: 2017-07-11-06-31-32 323.. nonce: x35jZX 324.. section: Core and Builtins 325 326Relative import from unloaded package now reimports the package instead of 327failing with SystemError. Relative import from non-package now fails with 328ImportError rather than SystemError. 329 330.. 331 332.. bpo: 30703 333.. date: 2017-06-28-21-07-32 334.. nonce: ULCdFp 335.. section: Core and Builtins 336 337Improve signal delivery. 338 339Avoid using Py_AddPendingCall from signal handler, to avoid calling 340signal-unsafe functions. The tests I'm adding here fail without the rest of the 341patch, on Linux and OS X. This means our signal delivery logic had defects 342(some signals could be lost). 343 344.. 345 346.. bpo: 30765 347.. date: 2017-06-26-14-29-50 348.. nonce: Q5iBmf 349.. section: Core and Builtins 350 351Avoid blocking in pthread_mutex_lock() when PyThread_acquire_lock() is asked 352not to block. 353 354.. 355 356.. bpo: 31161 357.. date: 0470 358.. nonce: FcUAA0 359.. section: Core and Builtins 360 361Make sure the 'Missing parentheses' syntax error message is only applied to 362SyntaxError, not to subclasses. Patch by Martijn Pieters. 363 364.. 365 366.. bpo: 30814 367.. date: 0469 368.. nonce: HcYsfM 369.. section: Core and Builtins 370 371Fixed a race condition when import a submodule from a package. 372 373.. 374 375.. bpo: 30736 376.. date: 0468 377.. nonce: kA4J9v 378.. section: Core and Builtins 379 380The internal unicodedata database has been upgraded to Unicode 10.0. 381 382.. 383 384.. bpo: 30604 385.. date: 0467 386.. nonce: zGPGoX 387.. section: Core and Builtins 388 389Move co_extra_freefuncs from per-thread to per-interpreter to avoid crashes. 390 391.. 392 393.. bpo: 30597 394.. date: 0466 395.. nonce: 7erHiP 396.. section: Core and Builtins 397 398``print`` now shows expected input in custom error message when used as a 399Python 2 statement. Patch by Sanyam Khurana. 400 401.. 402 403.. bpo: 30682 404.. date: 0465 405.. nonce: zZm88E 406.. section: Core and Builtins 407 408Removed a too-strict assertion that failed for certain f-strings, such as 409eval("f'\\\n'") and eval("f'\\\r'"). 410 411.. 412 413.. bpo: 30501 414.. date: 0464 415.. nonce: BWJByG 416.. section: Core and Builtins 417 418The compiler now produces more optimal code for complex condition 419expressions in the "if", "while" and "assert" statement, the "if" 420expression, and generator expressions and comprehensions. 421 422.. 423 424.. bpo: 28180 425.. date: 0463 426.. nonce: f_IHor 427.. section: Core and Builtins 428 429Implement PEP 538 (legacy C locale coercion). This means that when a 430suitable coercion target locale is available, both the core interpreter and 431locale-aware C extensions will assume the use of UTF-8 as the default text 432encoding, rather than ASCII. 433 434.. 435 436.. bpo: 30486 437.. date: 0462 438.. nonce: KZi3nB 439.. section: Core and Builtins 440 441Allows setting cell values for __closure__. Patch by Lisa Roach. 442 443.. 444 445.. bpo: 30537 446.. date: 0461 447.. nonce: sGC27r 448.. section: Core and Builtins 449 450itertools.islice now accepts integer-like objects (having an __index__ 451method) as start, stop, and slice arguments 452 453.. 454 455.. bpo: 25324 456.. date: 0460 457.. nonce: l12VjO 458.. section: Core and Builtins 459 460Tokens needed for parsing in Python moved to C. ``COMMENT``, ``NL`` and 461``ENCODING``. This way the tokens and tok_names in the token module don't 462get changed when you import the tokenize module. 463 464.. 465 466.. bpo: 29104 467.. date: 0459 468.. nonce: u26yCx 469.. section: Core and Builtins 470 471Fixed parsing backslashes in f-strings. 472 473.. 474 475.. bpo: 27945 476.. date: 0458 477.. nonce: p29r3O 478.. section: Core and Builtins 479 480Fixed various segfaults with dict when input collections are mutated during 481searching, inserting or comparing. Based on patches by Duane Griffin and 482Tim Mitchell. 483 484.. 485 486.. bpo: 25794 487.. date: 0457 488.. nonce: xfPwqm 489.. section: Core and Builtins 490 491Fixed type.__setattr__() and type.__delattr__() for non-interned attribute 492names. Based on patch by Eryk Sun. 493 494.. 495 496.. bpo: 30039 497.. date: 0456 498.. nonce: e0u4DG 499.. section: Core and Builtins 500 501If a KeyboardInterrupt happens when the interpreter is in the middle of 502resuming a chain of nested 'yield from' or 'await' calls, it's now correctly 503delivered to the innermost frame. 504 505.. 506 507.. bpo: 28974 508.. date: 0455 509.. nonce: jVewS0 510.. section: Core and Builtins 511 512``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than 513``format(str(self), '')``. 514 515.. 516 517.. bpo: 30024 518.. date: 0454 519.. nonce: kSOlED 520.. section: Core and Builtins 521 522Circular imports involving absolute imports with binding a submodule to a 523name are now supported. 524 525.. 526 527.. bpo: 12414 528.. date: 0453 529.. nonce: T9ix8O 530.. section: Core and Builtins 531 532sys.getsizeof() on a code object now returns the sizes which includes the 533code struct and sizes of objects which it references. Patch by Dong-hee Na. 534 535.. 536 537.. bpo: 29839 538.. date: 0452 539.. nonce: rUmfay 540.. section: Core and Builtins 541 542len() now raises ValueError rather than OverflowError if __len__() returned 543a large negative integer. 544 545.. 546 547.. bpo: 11913 548.. date: 0451 549.. nonce: 5uiMX9 550.. section: Core and Builtins 551 552README.rst is now included in the list of distutils standard READMEs and 553therefore included in source distributions. 554 555.. 556 557.. bpo: 29914 558.. date: 0450 559.. nonce: nqFSRR 560.. section: Core and Builtins 561 562Fixed default implementations of __reduce__ and __reduce_ex__(). 563object.__reduce__() no longer takes arguments, object.__reduce_ex__() now 564requires one argument. 565 566.. 567 568.. bpo: 29949 569.. date: 0449 570.. nonce: DevGPS 571.. section: Core and Builtins 572 573Fix memory usage regression of set and frozenset object. 574 575.. 576 577.. bpo: 29935 578.. date: 0448 579.. nonce: vgjdJo 580.. section: Core and Builtins 581 582Fixed error messages in the index() method of tuple, list and deque when 583pass indices of wrong type. 584 585.. 586 587.. bpo: 29816 588.. date: 0447 589.. nonce: 0H75Nl 590.. section: Core and Builtins 591 592Shift operation now has less opportunity to raise OverflowError. ValueError 593always is raised rather than OverflowError for negative counts. Shifting 594zero with non-negative count always returns zero. 595 596.. 597 598.. bpo: 24821 599.. date: 0446 600.. nonce: 4DINGV 601.. section: Core and Builtins 602 603Fixed the slowing down to 25 times in the searching of some unlucky Unicode 604characters. 605 606.. 607 608.. bpo: 29102 609.. date: 0445 610.. nonce: AW4YPj 611.. section: Core and Builtins 612 613Add a unique ID to PyInterpreterState. This makes it easier to identify 614each subinterpreter. 615 616.. 617 618.. bpo: 29894 619.. date: 0444 620.. nonce: Vev6t- 621.. section: Core and Builtins 622 623The deprecation warning is emitted if __complex__ returns an instance of a 624strict subclass of complex. In a future versions of Python this can be an 625error. 626 627.. 628 629.. bpo: 29859 630.. date: 0443 631.. nonce: Z1MLcA 632.. section: Core and Builtins 633 634Show correct error messages when any of the pthread_* calls in 635thread_pthread.h fails. 636 637.. 638 639.. bpo: 29849 640.. date: 0442 641.. nonce: hafvBD 642.. section: Core and Builtins 643 644Fix a memory leak when an ImportError is raised during from import. 645 646.. 647 648.. bpo: 28856 649.. date: 0441 650.. nonce: AFRmo4 651.. section: Core and Builtins 652 653Fix an oversight that %b format for bytes should support objects follow the 654buffer protocol. 655 656.. 657 658.. bpo: 29723 659.. date: 0440 660.. nonce: M5omgP 661.. section: Core and Builtins 662 663The ``sys.path[0]`` initialization change for bpo-29139 caused a regression 664by revealing an inconsistency in how sys.path is initialized when executing 665``__main__`` from a zipfile, directory, or other import location. The 666interpreter now consistently avoids ever adding the import location's parent 667directory to ``sys.path``, and ensures no other ``sys.path`` entries are 668inadvertently modified when inserting the import location named on the 669command line. 670 671.. 672 673.. bpo: 29568 674.. date: 0439 675.. nonce: 3EtOC- 676.. section: Core and Builtins 677 678Escaped percent "%%" in the format string for classic string formatting no 679longer allows any characters between two percents. 680 681.. 682 683.. bpo: 29714 684.. date: 0438 685.. nonce: z-BhVd 686.. section: Core and Builtins 687 688Fix a regression that bytes format may fail when containing zero bytes 689inside. 690 691.. 692 693.. bpo: 29695 694.. date: 0437 695.. nonce: z75xXa 696.. section: Core and Builtins 697 698bool(), float(), list() and tuple() no longer take keyword arguments. The 699first argument of int() can now be passes only as positional argument. 700 701.. 702 703.. bpo: 28893 704.. date: 0436 705.. nonce: WTKnpj 706.. section: Core and Builtins 707 708Set correct __cause__ for errors about invalid awaitables returned from 709__aiter__ and __anext__. 710 711.. 712 713.. bpo: 28876 714.. date: 0435 715.. nonce: cU-sGT 716.. section: Core and Builtins 717 718``bool(range)`` works even if ``len(range)`` raises :exc:`OverflowError`. 719 720.. 721 722.. bpo: 29683 723.. date: 0434 724.. nonce: G5iS-P 725.. section: Core and Builtins 726 727Fixes to memory allocation in _PyCode_SetExtra. Patch by Brian Coleman. 728 729.. 730 731.. bpo: 29684 732.. date: 0433 733.. nonce: wTgEoh 734.. section: Core and Builtins 735 736Fix minor regression of PyEval_CallObjectWithKeywords. It should raise 737TypeError when kwargs is not a dict. But it might cause segv when args=NULL 738and kwargs is not a dict. 739 740.. 741 742.. bpo: 28598 743.. date: 0432 744.. nonce: QxbzQn 745.. section: Core and Builtins 746 747Support __rmod__ for subclasses of str being called before str.__mod__. 748Patch by Martijn Pieters. 749 750.. 751 752.. bpo: 29607 753.. date: 0431 754.. nonce: 7NvBA1 755.. section: Core and Builtins 756 757Fix stack_effect computation for CALL_FUNCTION_EX. Patch by Matthieu 758Dartiailh. 759 760.. 761 762.. bpo: 29602 763.. date: 0430 764.. nonce: qyyskC 765.. section: Core and Builtins 766 767Fix incorrect handling of signed zeros in complex constructor for complex 768subclasses and for inputs having a __complex__ method. Patch by Serhiy 769Storchaka. 770 771.. 772 773.. bpo: 29347 774.. date: 0429 775.. nonce: 1RPPGN 776.. section: Core and Builtins 777 778Fixed possibly dereferencing undefined pointers when creating weakref 779objects. 780 781.. 782 783.. bpo: 29463 784.. date: 0428 785.. nonce: h2bg8A 786.. section: Core and Builtins 787 788Add ``docstring`` field to Module, ClassDef, FunctionDef, and 789AsyncFunctionDef ast nodes. docstring is not first stmt in their body 790anymore. It affects ``co_firstlineno`` and ``co_lnotab`` of code object for 791module and class. (Reverted in :issue:`32911`.) 792 793.. 794 795.. bpo: 29438 796.. date: 0427 797.. nonce: IKxD6I 798.. section: Core and Builtins 799 800Fixed use-after-free problem in key sharing dict. 801 802.. 803 804.. bpo: 29546 805.. date: 0426 806.. nonce: PS1I1T 807.. section: Core and Builtins 808 809Set the 'path' and 'name' attribute on ImportError for ``from ... import 810...``. 811 812.. 813 814.. bpo: 29546 815.. date: 0425 816.. nonce: O1rmG_ 817.. section: Core and Builtins 818 819Improve from-import error message with location 820 821.. 822 823.. bpo: 29478 824.. date: 0424 825.. nonce: rTQ-qy 826.. section: Core and Builtins 827 828If max_line_length=None is specified while using the Compat32 policy, it is 829no longer ignored. Patch by Mircea Cosbuc. 830 831.. 832 833.. bpo: 29319 834.. date: 0423 835.. nonce: KLDUZf 836.. section: Core and Builtins 837 838Prevent RunMainFromImporter overwriting sys.path[0]. 839 840.. 841 842.. bpo: 29337 843.. date: 0422 844.. nonce: bjX8AE 845.. section: Core and Builtins 846 847Fixed possible BytesWarning when compare the code objects. Warnings could be 848emitted at compile time. 849 850.. 851 852.. bpo: 29327 853.. date: 0421 854.. nonce: XXQarW 855.. section: Core and Builtins 856 857Fixed a crash when pass the iterable keyword argument to sorted(). 858 859.. 860 861.. bpo: 29034 862.. date: 0420 863.. nonce: 7-uEDT 864.. section: Core and Builtins 865 866Fix memory leak and use-after-free in os module (path_converter). 867 868.. 869 870.. bpo: 29159 871.. date: 0419 872.. nonce: gEn_kP 873.. section: Core and Builtins 874 875Fix regression in bytes(x) when x.__index__() raises Exception. 876 877.. 878 879.. bpo: 29049 880.. date: 0418 881.. nonce: KpVXBw 882.. section: Core and Builtins 883 884Call _PyObject_GC_TRACK() lazily when calling Python function. Calling 885function is up to 5% faster. 886 887.. 888 889.. bpo: 28927 890.. date: 0417 891.. nonce: 9fxf6y 892.. section: Core and Builtins 893 894bytes.fromhex() and bytearray.fromhex() now ignore all ASCII whitespace, not 895only spaces. Patch by Robert Xiao. 896 897.. 898 899.. bpo: 28932 900.. date: 0416 901.. nonce: QnLx8A 902.. section: Core and Builtins 903 904Do not include <sys/random.h> if it does not exist. 905 906.. 907 908.. bpo: 25677 909.. date: 0415 910.. nonce: RWhZrb 911.. section: Core and Builtins 912 913Correct the positioning of the syntax error caret for indented blocks. Based 914on patch by Michael Layzell. 915 916.. 917 918.. bpo: 29000 919.. date: 0414 920.. nonce: K6wQ-3 921.. section: Core and Builtins 922 923Fixed bytes formatting of octals with zero padding in alternate form. 924 925.. 926 927.. bpo: 18896 928.. date: 0413 929.. nonce: Pqe0bg 930.. section: Core and Builtins 931 932Python function can now have more than 255 parameters. 933collections.namedtuple() now supports tuples with more than 255 elements. 934 935.. 936 937.. bpo: 28596 938.. date: 0412 939.. nonce: snIJRd 940.. section: Core and Builtins 941 942The preferred encoding is UTF-8 on Android. Patch written by Chi Hsuan Yen. 943 944.. 945 946.. bpo: 22257 947.. date: 0411 948.. nonce: 2a8zxB 949.. section: Core and Builtins 950 951Clean up interpreter startup (see PEP 432). 952 953.. 954 955.. bpo: 26919 956.. date: 0410 957.. nonce: Cm7MSa 958.. section: Core and Builtins 959 960On Android, operating system data is now always encoded/decoded to/from 961UTF-8, instead of the locale encoding to avoid inconsistencies with 962os.fsencode() and os.fsdecode() which are already using UTF-8. 963 964.. 965 966.. bpo: 28991 967.. date: 0409 968.. nonce: lGA0FK 969.. section: Core and Builtins 970 971functools.lru_cache() was susceptible to an obscure reentrancy bug 972triggerable by a monkey-patched len() function. 973 974.. 975 976.. bpo: 28147 977.. date: 0408 978.. nonce: CnK_xf 979.. section: Core and Builtins 980 981Fix a memory leak in split-table dictionaries: setattr() must not convert 982combined table into split table. Patch written by INADA Naoki. 983 984.. 985 986.. bpo: 28739 987.. date: 0407 988.. nonce: w1fvhk 989.. section: Core and Builtins 990 991f-string expressions are no longer accepted as docstrings and by 992ast.literal_eval() even if they do not include expressions. 993 994.. 995 996.. bpo: 28512 997.. date: 0406 998.. nonce: i-pv6d 999.. section: Core and Builtins 1000 1001Fixed setting the offset attribute of SyntaxError by 1002PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject(). 1003 1004.. 1005 1006.. bpo: 28918 1007.. date: 0405 1008.. nonce: SFVuPz 1009.. section: Core and Builtins 1010 1011Fix the cross compilation of xxlimited when Python has been built with 1012Py_DEBUG defined. 1013 1014.. 1015 1016.. bpo: 23722 1017.. date: 0404 1018.. nonce: e8BH5h 1019.. section: Core and Builtins 1020 1021Rather than silently producing a class that doesn't support zero-argument 1022``super()`` in methods, failing to pass the new ``__classcell__`` namespace 1023entry up to ``type.__new__`` now results in a ``DeprecationWarning`` and a 1024class that supports zero-argument ``super()``. 1025 1026.. 1027 1028.. bpo: 28797 1029.. date: 0403 1030.. nonce: _A0_Z5 1031.. section: Core and Builtins 1032 1033Modifying the class __dict__ inside the __set_name__ method of a descriptor 1034that is used inside that class no longer prevents calling the __set_name__ 1035method of other descriptors. 1036 1037.. 1038 1039.. bpo: 28799 1040.. date: 0402 1041.. nonce: cP6V1N 1042.. section: Core and Builtins 1043 1044Remove the ``PyEval_GetCallStats()`` function and deprecate the untested and 1045undocumented ``sys.callstats()`` function. Remove the ``CALL_PROFILE`` 1046special build: use the :func:`sys.setprofile` function, :mod:`cProfile` or 1047:mod:`profile` to profile function calls. 1048 1049.. 1050 1051.. bpo: 12844 1052.. date: 0401 1053.. nonce: pdr3gY 1054.. section: Core and Builtins 1055 1056More than 255 arguments can now be passed to a function. 1057 1058.. 1059 1060.. bpo: 28782 1061.. date: 0400 1062.. nonce: foJV_E 1063.. section: Core and Builtins 1064 1065Fix a bug in the implementation ``yield from`` when checking if the next 1066instruction is YIELD_FROM. Regression introduced by WORDCODE (issue #26647). 1067 1068.. 1069 1070.. bpo: 28774 1071.. date: 0399 1072.. nonce: cEehAr 1073.. section: Core and Builtins 1074 1075Fix error position of the unicode error in ASCII and Latin1 encoders when a 1076string returned by the error handler contains multiple non-encodable 1077characters (non-ASCII for the ASCII codec, characters out of the 1078U+0000-U+00FF range for Latin1). 1079 1080.. 1081 1082.. bpo: 28731 1083.. date: 0398 1084.. nonce: oNF59u 1085.. section: Core and Builtins 1086 1087Optimize _PyDict_NewPresized() to create correct size dict. Improve speed of 1088dict literal with constant keys up to 30%. 1089 1090.. 1091 1092.. bpo: 28532 1093.. date: 0397 1094.. nonce: KEYJny 1095.. section: Core and Builtins 1096 1097Show sys.version when -V option is supplied twice. 1098 1099.. 1100 1101.. bpo: 27100 1102.. date: 0396 1103.. nonce: poVjXq 1104.. section: Core and Builtins 1105 1106The with-statement now checks for __enter__ before it checks for __exit__. 1107This gives less confusing error messages when both methods are missing. 1108Patch by Jonathan Ellington. 1109 1110.. 1111 1112.. bpo: 28746 1113.. date: 0395 1114.. nonce: r5MXdB 1115.. section: Core and Builtins 1116 1117Fix the set_inheritable() file descriptor method on platforms that do not 1118have the ioctl FIOCLEX and FIONCLEX commands. 1119 1120.. 1121 1122.. bpo: 26920 1123.. date: 0394 1124.. nonce: 1URwGb 1125.. section: Core and Builtins 1126 1127Fix not getting the locale's charset upon initializing the interpreter, on 1128platforms that do not have langinfo. 1129 1130.. 1131 1132.. bpo: 28648 1133.. date: 0393 1134.. nonce: z7B52W 1135.. section: Core and Builtins 1136 1137Fixed crash in Py_DecodeLocale() in debug build on Mac OS X when decode 1138astral characters. Patch by Xiang Zhang. 1139 1140.. 1141 1142.. bpo: 28665 1143.. date: 0392 1144.. nonce: v4nx86 1145.. section: Core and Builtins 1146 1147Improve speed of the STORE_DEREF opcode by 40%. 1148 1149.. 1150 1151.. bpo: 19398 1152.. date: 0391 1153.. nonce: RYbEGH 1154.. section: Core and Builtins 1155 1156Extra slash no longer added to sys.path components in case of empty 1157compile-time PYTHONPATH components. 1158 1159.. 1160 1161.. bpo: 28621 1162.. date: 0390 1163.. nonce: eCD7n- 1164.. section: Core and Builtins 1165 1166Sped up converting int to float by reusing faster bits counting 1167implementation. Patch by Adrian Wielgosik. 1168 1169.. 1170 1171.. bpo: 28580 1172.. date: 0389 1173.. nonce: 8bqBmG 1174.. section: Core and Builtins 1175 1176Optimize iterating split table values. Patch by Xiang Zhang. 1177 1178.. 1179 1180.. bpo: 28583 1181.. date: 0388 1182.. nonce: F-QAx1 1183.. section: Core and Builtins 1184 1185PyDict_SetDefault didn't combine split table when needed. Patch by Xiang 1186Zhang. 1187 1188.. 1189 1190.. bpo: 28128 1191.. date: 0387 1192.. nonce: Lc2sFu 1193.. section: Core and Builtins 1194 1195Deprecation warning for invalid str and byte escape sequences now prints 1196better information about where the error occurs. Patch by Serhiy Storchaka 1197and Eric Smith. 1198 1199.. 1200 1201.. bpo: 28509 1202.. date: 0386 1203.. nonce: _Fa4Uq 1204.. section: Core and Builtins 1205 1206dict.update() no longer allocate unnecessary large memory. 1207 1208.. 1209 1210.. bpo: 28426 1211.. date: 0385 1212.. nonce: E_quyK 1213.. section: Core and Builtins 1214 1215Fixed potential crash in PyUnicode_AsDecodedObject() in debug build. 1216 1217.. 1218 1219.. bpo: 28517 1220.. date: 0384 1221.. nonce: ExPkm9 1222.. section: Core and Builtins 1223 1224Fixed of-by-one error in the peephole optimizer that caused keeping 1225unreachable code. 1226 1227.. 1228 1229.. bpo: 28214 1230.. date: 0383 1231.. nonce: 6ECJox 1232.. section: Core and Builtins 1233 1234Improved exception reporting for problematic __set_name__ attributes. 1235 1236.. 1237 1238.. bpo: 23782 1239.. date: 0382 1240.. nonce: lonDzj 1241.. section: Core and Builtins 1242 1243Fixed possible memory leak in _PyTraceback_Add() and exception loss in 1244PyTraceBack_Here(). 1245 1246.. 1247 1248.. bpo: 28183 1249.. date: 0381 1250.. nonce: MJZeNd 1251.. section: Core and Builtins 1252 1253Optimize and cleanup dict iteration. 1254 1255.. 1256 1257.. bpo: 26081 1258.. date: 0380 1259.. nonce: _x5vjl 1260.. section: Core and Builtins 1261 1262Added C implementation of asyncio.Future. Original patch by Yury Selivanov. 1263 1264.. 1265 1266.. bpo: 28379 1267.. date: 0379 1268.. nonce: DuXlco 1269.. section: Core and Builtins 1270 1271Added sanity checks and tests for PyUnicode_CopyCharacters(). Patch by Xiang 1272Zhang. 1273 1274.. 1275 1276.. bpo: 28376 1277.. date: 0378 1278.. nonce: oPD-5D 1279.. section: Core and Builtins 1280 1281The type of long range iterator is now registered as Iterator. Patch by Oren 1282Milman. 1283 1284.. 1285 1286.. bpo: 28376 1287.. date: 0377 1288.. nonce: yTEhEo 1289.. section: Core and Builtins 1290 1291Creating instances of range_iterator by calling range_iterator type now is 1292disallowed. Calling iter() on range instance is the only way. Patch by Oren 1293Milman. 1294 1295.. 1296 1297.. bpo: 26906 1298.. date: 0376 1299.. nonce: YBjcwI 1300.. section: Core and Builtins 1301 1302Resolving special methods of uninitialized type now causes implicit 1303initialization of the type instead of a fail. 1304 1305.. 1306 1307.. bpo: 18287 1308.. date: 0375 1309.. nonce: k6jffS 1310.. section: Core and Builtins 1311 1312PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas 1313Koep. 1314 1315.. 1316 1317.. bpo: 24098 1318.. date: 0374 1319.. nonce: XqlP_1 1320.. section: Core and Builtins 1321 1322Fixed possible crash when AST is changed in process of compiling it. 1323 1324.. 1325 1326.. bpo: 28201 1327.. date: 0373 1328.. nonce: GWUxAy 1329.. section: Core and Builtins 1330 1331Dict reduces possibility of 2nd conflict in hash table when hashes have same 1332lower bits. 1333 1334.. 1335 1336.. bpo: 28350 1337.. date: 0372 1338.. nonce: 8M5Eg9 1339.. section: Core and Builtins 1340 1341String constants with null character no longer interned. 1342 1343.. 1344 1345.. bpo: 26617 1346.. date: 0371 1347.. nonce: Gh5LvN 1348.. section: Core and Builtins 1349 1350Fix crash when GC runs during weakref callbacks. 1351 1352.. 1353 1354.. bpo: 27942 1355.. date: 0370 1356.. nonce: ZGuhns 1357.. section: Core and Builtins 1358 1359String constants now interned recursively in tuples and frozensets. 1360 1361.. 1362 1363.. bpo: 28289 1364.. date: 0369 1365.. nonce: l1kHlV 1366.. section: Core and Builtins 1367 1368ImportError.__init__ now resets not specified attributes. 1369 1370.. 1371 1372.. bpo: 21578 1373.. date: 0368 1374.. nonce: GI1bhj 1375.. section: Core and Builtins 1376 1377Fixed misleading error message when ImportError called with invalid keyword 1378args. 1379 1380.. 1381 1382.. bpo: 28203 1383.. date: 0367 1384.. nonce: LRn5vp 1385.. section: Core and Builtins 1386 1387Fix incorrect type in complex(1.0, {2:3}) error message. Patch by Soumya 1388Sharma. 1389 1390.. 1391 1392.. bpo: 28086 1393.. date: 0366 1394.. nonce: JsQPMQ 1395.. section: Core and Builtins 1396 1397Single var-positional argument of tuple subtype was passed unscathed to the 1398C-defined function. Now it is converted to exact tuple. 1399 1400.. 1401 1402.. bpo: 28214 1403.. date: 0365 1404.. nonce: zQF8Em 1405.. section: Core and Builtins 1406 1407Now __set_name__ is looked up on the class instead of the instance. 1408 1409.. 1410 1411.. bpo: 27955 1412.. date: 0364 1413.. nonce: HC4pZ4 1414.. section: Core and Builtins 1415 1416Fallback on reading /dev/urandom device when the getrandom() syscall fails 1417with EPERM, for example when blocked by SECCOMP. 1418 1419.. 1420 1421.. bpo: 28192 1422.. date: 0363 1423.. nonce: eR6stU 1424.. section: Core and Builtins 1425 1426Don't import readline in isolated mode. 1427 1428.. 1429 1430.. bpo: 27441 1431.. date: 0362 1432.. nonce: scPKax 1433.. section: Core and Builtins 1434 1435Remove some redundant assignments to ob_size in longobject.c. Thanks Oren 1436Milman. 1437 1438.. 1439 1440.. bpo: 27222 1441.. date: 0361 1442.. nonce: 74PvFk 1443.. section: Core and Builtins 1444 1445Clean up redundant code in long_rshift function. Thanks Oren Milman. 1446 1447.. 1448 1449.. bpo: 0 1450.. date: 0360 1451.. nonce: 9EbOiD 1452.. section: Core and Builtins 1453 1454Upgrade internal unicode databases to Unicode version 9.0.0. 1455 1456.. 1457 1458.. bpo: 28131 1459.. date: 0359 1460.. nonce: owq0wW 1461.. section: Core and Builtins 1462 1463Fix a regression in zipimport's compile_source(). zipimport should use the 1464same optimization level as the interpreter. 1465 1466.. 1467 1468.. bpo: 28126 1469.. date: 0358 1470.. nonce: Qf6-uQ 1471.. section: Core and Builtins 1472 1473Replace Py_MEMCPY with memcpy(). Visual Studio can properly optimize 1474memcpy(). 1475 1476.. 1477 1478.. bpo: 28120 1479.. date: 0357 1480.. nonce: e5xc1i 1481.. section: Core and Builtins 1482 1483Fix dict.pop() for splitted dictionary when trying to remove a "pending key" 1484(Not yet inserted in split-table). Patch by Xiang Zhang. 1485 1486.. 1487 1488.. bpo: 26182 1489.. date: 0356 1490.. nonce: jYlqTO 1491.. section: Core and Builtins 1492 1493Raise DeprecationWarning when async and await keywords are used as 1494variable/attribute/class/function name. 1495 1496.. 1497 1498.. bpo: 26182 1499.. date: 0355 1500.. nonce: a8JXK2 1501.. section: Core and Builtins 1502 1503Fix a refleak in code that raises DeprecationWarning. 1504 1505.. 1506 1507.. bpo: 28721 1508.. date: 0354 1509.. nonce: BO9BUF 1510.. section: Core and Builtins 1511 1512Fix asynchronous generators aclose() and athrow() to handle 1513StopAsyncIteration propagation properly. 1514 1515.. 1516 1517.. bpo: 26110 1518.. date: 0353 1519.. nonce: KRaID6 1520.. section: Core and Builtins 1521 1522Speed-up method calls: add LOAD_METHOD and CALL_METHOD opcodes. 1523 1524.. 1525 1526.. bpo: 31499 1527.. date: 2017-09-18-10-57-04 1528.. nonce: BydYhf 1529.. section: Library 1530 1531xml.etree: Fix a crash when a parser is part of a reference cycle. 1532 1533.. 1534 1535.. bpo: 31482 1536.. date: 2017-09-16-01-53-11 1537.. nonce: 39s5dS 1538.. section: Library 1539 1540``random.seed()`` now works with bytes in version=1 1541 1542.. 1543 1544.. bpo: 28556 1545.. date: 2017-09-14-11-02-56 1546.. nonce: EUOiYs 1547.. section: Library 1548 1549typing.get_type_hints now finds the right globalns for classes and modules 1550by default (when no ``globalns`` was specified by the caller). 1551 1552.. 1553 1554.. bpo: 28556 1555.. date: 2017-09-13-23-27-39 1556.. nonce: UmTQvv 1557.. section: Library 1558 1559Speed improvements to the ``typing`` module. Original PRs by Ivan 1560Levkivskyi and Mitar. 1561 1562.. 1563 1564.. bpo: 31544 1565.. date: 2017-09-13-19-55-35 1566.. nonce: beTh6t 1567.. section: Library 1568 1569The C accelerator module of ElementTree ignored exceptions raised when 1570looking up TreeBuilder target methods in XMLParser(). 1571 1572.. 1573 1574.. bpo: 31234 1575.. date: 2017-09-13-18-05-56 1576.. nonce: lGkcPg 1577.. section: Library 1578 1579socket.create_connection() now fixes manually a reference cycle: clear the 1580variable storing the last exception on success. 1581 1582.. 1583 1584.. bpo: 31457 1585.. date: 2017-09-13-13-33-39 1586.. nonce: bIVBtI 1587.. section: Library 1588 1589LoggerAdapter objects can now be nested. 1590 1591.. 1592 1593.. bpo: 31431 1594.. date: 2017-09-13-07-37-20 1595.. nonce: dj994R 1596.. section: Library 1597 1598SSLContext.check_hostname now automatically sets SSLContext.verify_mode to 1599ssl.CERT_REQUIRED instead of failing with a ValueError. 1600 1601.. 1602 1603.. bpo: 31233 1604.. date: 2017-09-13-02-17-11 1605.. nonce: r-IPIu 1606.. section: Library 1607 1608socketserver.ThreadingMixIn now keeps a list of non-daemonic threads to wait 1609until all these threads complete in server_close(). 1610 1611.. 1612 1613.. bpo: 28638 1614.. date: 2017-09-08-14-31-15 1615.. nonce: lfbVyH 1616.. section: Library 1617 1618Changed the implementation strategy for collections.namedtuple() to 1619substantially reduce the use of exec() in favor of precomputed methods. As a 1620result, the *verbose* parameter and *_source* attribute are no longer 1621supported. The benefits include 1) having a smaller memory footprint for 1622applications using multiple named tuples, 2) faster creation of the named 1623tuple class (approx 4x to 6x depending on how it is measured), and 3) minor 1624speed-ups for instance creation using __new__, _make, and _replace. (The 1625primary patch contributor is Jelle Zijlstra with further improvements by 1626INADA Naoki, Serhiy Storchaka, and Raymond Hettinger.) 1627 1628.. 1629 1630.. bpo: 31400 1631.. date: 2017-09-08-14-19-57 1632.. nonce: YOTPKi 1633.. section: Library 1634 1635Improves SSL error handling to avoid losing error numbers. 1636 1637.. 1638 1639.. bpo: 27629 1640.. date: 2017-09-07-12-15-56 1641.. nonce: 7xJXEy 1642.. section: Library 1643 1644Make return types of SSLContext.wrap_bio() and SSLContext.wrap_socket() 1645customizable. 1646 1647.. 1648 1649.. bpo: 28958 1650.. date: 2017-09-06-19-41-01 1651.. nonce: x4-K5F 1652.. section: Library 1653 1654ssl.SSLContext() now uses OpenSSL error information when a context cannot be 1655instantiated. 1656 1657.. 1658 1659.. bpo: 28182 1660.. date: 2017-09-06-18-49-16 1661.. nonce: hRP8Bk 1662.. section: Library 1663 1664The SSL module now raises SSLCertVerificationError when OpenSSL fails to 1665verify the peer's certificate. The exception contains more information about 1666the error. 1667 1668.. 1669 1670.. bpo: 27340 1671.. date: 2017-09-06-06-50-41 1672.. nonce: GgekV5 1673.. section: Library 1674 1675SSLSocket.sendall() now uses memoryview to create slices of data. This fixes 1676support for all bytes-like object. It is also more efficient and avoids 1677costly copies. 1678 1679.. 1680 1681.. bpo: 14191 1682.. date: 2017-09-05-17-43-00 1683.. nonce: vhh2xx 1684.. section: Library 1685 1686A new function ``argparse.ArgumentParser.parse_intermixed_args`` provides 1687the ability to parse command lines where there user intermixes options and 1688positional arguments. 1689 1690.. 1691 1692.. bpo: 31178 1693.. date: 2017-09-05-14-55-28 1694.. nonce: JrSFo7 1695.. section: Library 1696 1697Fix string concatenation bug in rare error path in the subprocess module 1698 1699.. 1700 1701.. bpo: 31350 1702.. date: 2017-09-05-10-30-48 1703.. nonce: dXJ-7N 1704.. section: Library 1705 1706Micro-optimize :func:`asyncio._get_running_loop` to become up to 10% faster. 1707 1708.. 1709 1710.. bpo: 31170 1711.. date: 2017-09-04-23-41-35 1712.. nonce: QGmJ1t 1713.. section: Library 1714 1715expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of partial 1716characters for UTF-8 input (libexpat bug 115): 1717https://github.com/libexpat/libexpat/issues/115 1718 1719.. 1720 1721.. bpo: 29136 1722.. date: 2017-09-04-16-39-49 1723.. nonce: vSn1oR 1724.. section: Library 1725 1726Add TLS 1.3 cipher suites and OP_NO_TLSv1_3. 1727 1728.. 1729 1730.. bpo: 1198569 1731.. date: 2017-09-04-10-53-06 1732.. nonce: vhh2nY 1733.. section: Library 1734 1735``string.Template`` subclasses can optionally define ``braceidpattern`` if 1736they want to specify different placeholder patterns inside and outside the 1737braces. If None (the default) it falls back to ``idpattern``. 1738 1739.. 1740 1741.. bpo: 31326 1742.. date: 2017-09-01-18-48-06 1743.. nonce: TB05tV 1744.. section: Library 1745 1746concurrent.futures.ProcessPoolExecutor.shutdown() now explicitly closes the 1747call queue. Moreover, shutdown(wait=True) now also join the call queue 1748thread, to prevent leaking a dangling thread. 1749 1750.. 1751 1752.. bpo: 27144 1753.. date: 2017-08-30-11-26-14 1754.. nonce: PEDJsE 1755.. section: Library 1756 1757The ``map()`` and ``as_completed()`` iterators in ``concurrent.futures`` now 1758avoid keeping a reference to yielded objects. 1759 1760.. 1761 1762.. bpo: 31281 1763.. date: 2017-08-29-07-14-14 1764.. nonce: DcFyNs 1765.. section: Library 1766 1767Fix ``fileinput.FileInput(files, inplace=True)`` when ``files`` contain 1768``pathlib.Path`` objects. 1769 1770.. 1771 1772.. bpo: 10746 1773.. date: 2017-08-28-13-01-05 1774.. nonce: nmAvfu 1775.. section: Library 1776 1777Fix ctypes producing wrong PEP 3118 type codes for integer types. 1778 1779.. 1780 1781.. bpo: 27584 1782.. date: 2017-08-24-14-03-14 1783.. nonce: r11JHZ 1784.. section: Library 1785 1786``AF_VSOCK`` has been added to the socket interface which allows 1787communication between virtual machines and their host. 1788 1789.. 1790 1791.. bpo: 22536 1792.. date: 2017-08-23 1793.. nonce: _narf_ 1794.. section: Library 1795 1796The subprocess module now sets the filename when FileNotFoundError is raised 1797on POSIX systems due to the executable or cwd not being found. 1798 1799.. 1800 1801.. bpo: 29741 1802.. date: 2017-08-23-00-31-32 1803.. nonce: EBn_DM 1804.. section: Library 1805 1806Update some methods in the _pyio module to also accept integer types. Patch 1807by Oren Milman. 1808 1809.. 1810 1811.. bpo: 31249 1812.. date: 2017-08-22-12-44-48 1813.. nonce: STPbb9 1814.. section: Library 1815 1816concurrent.futures: WorkItem.run() used by ThreadPoolExecutor now breaks a 1817reference cycle between an exception object and the WorkItem object. 1818 1819.. 1820 1821.. bpo: 31247 1822.. date: 2017-08-21-17-50-27 1823.. nonce: 8S3zJp 1824.. section: Library 1825 1826xmlrpc.server now explicitly breaks reference cycles when using 1827sys.exc_info() in code handling exceptions. 1828 1829.. 1830 1831.. bpo: 23835 1832.. date: 2017-08-21-16-06-19 1833.. nonce: da_4Kz 1834.. section: Library 1835 1836configparser: reading defaults in the ``ConfigParser()`` constructor is now 1837using ``read_dict()``, making its behavior consistent with the rest of the 1838parser. Non-string keys and values in the defaults dictionary are now being 1839implicitly converted to strings. Patch by James Tocknell. 1840 1841.. 1842 1843.. bpo: 31238 1844.. date: 2017-08-21-12-31-53 1845.. nonce: Gg0LRH 1846.. section: Library 1847 1848pydoc: the stop() method of the private ServerThread class now waits until 1849DocServer.serve_until_quit() completes and then explicitly sets its 1850docserver attribute to None to break a reference cycle. 1851 1852.. 1853 1854.. bpo: 5001 1855.. date: 2017-08-18-17-16-38 1856.. nonce: gwnthq 1857.. section: Library 1858 1859Many asserts in `multiprocessing` are now more informative, and some error 1860types have been changed to more specific ones. 1861 1862.. 1863 1864.. bpo: 31109 1865.. date: 2017-08-17-20-29-45 1866.. nonce: 7qtC64 1867.. section: Library 1868 1869Convert zipimport to use Argument Clinic. 1870 1871.. 1872 1873.. bpo: 30102 1874.. date: 2017-08-16-21-14-31 1875.. nonce: 1sPqmc 1876.. section: Library 1877 1878The ssl and hashlib modules now call OPENSSL_add_all_algorithms_noconf() on 1879OpenSSL < 1.1.0. The function detects CPU features and enables optimizations 1880on some CPU architectures such as POWER8. Patch is based on research from 1881Gustavo Serra Scalet. 1882 1883.. 1884 1885.. bpo: 18966 1886.. date: 2017-08-16-20-28-06 1887.. nonce: mjHWk2 1888.. section: Library 1889 1890Non-daemonic threads created by a multiprocessing.Process are now joined on 1891child exit. 1892 1893.. 1894 1895.. bpo: 31183 1896.. date: 2017-08-13-09-17-01 1897.. nonce: -2_YGj 1898.. section: Library 1899 1900`dis` now works with asynchronous generator and coroutine objects. Patch by 1901George Collins based on diagnosis by Luciano Ramalho. 1902 1903.. 1904 1905.. bpo: 5001 1906.. date: 2017-08-12-09-25-55 1907.. nonce: huQi2Y 1908.. section: Library 1909 1910There are a number of uninformative asserts in the `multiprocessing` module, 1911as noted in issue 5001. This change fixes two of the most potentially 1912problematic ones, since they are in error-reporting code, in the 1913`multiprocessing.managers.convert_to_error` function. (It also makes more 1914informative a ValueError message.) The only potentially problematic change 1915is that the AssertionError is now a TypeError; however, this should also 1916help distinguish it from an AssertionError being *reported* by the 1917function/its caller (such as in issue 31169). - Patch by Allen W. Smith 1918(drallensmith on github). 1919 1920.. 1921 1922.. bpo: 31185 1923.. date: 2017-08-11-19-30-00 1924.. nonce: i6TPgL 1925.. section: Library 1926 1927Fixed miscellaneous errors in asyncio speedup module. 1928 1929.. 1930 1931.. bpo: 31151 1932.. date: 2017-08-10-13-20-02 1933.. nonce: 730VBI 1934.. section: Library 1935 1936socketserver.ForkingMixIn.server_close() now waits until all child processes 1937completed to prevent leaking zombie processes. 1938 1939.. 1940 1941.. bpo: 31072 1942.. date: 2017-08-09-13-45-23 1943.. nonce: NLXDPV 1944.. section: Library 1945 1946Add an ``include_file`` parameter to ``zipapp.create_archive()`` 1947 1948.. 1949 1950.. bpo: 24700 1951.. date: 2017-08-08-15-14-34 1952.. nonce: 44mvNV 1953.. section: Library 1954 1955Optimize array.array comparison. It is now from 10x up to 70x faster when 1956comparing arrays holding values of the same integer type. 1957 1958.. 1959 1960.. bpo: 31135 1961.. date: 2017-08-08-14-44-37 1962.. nonce: HH94xR 1963.. section: Library 1964 1965ttk: fix the destroy() method of LabeledScale and OptionMenu classes. Call 1966the parent destroy() method even if the used attribute doesn't exist. The 1967LabeledScale.destroy() method now also explicitly clears label and scale 1968attributes to help the garbage collector to destroy all widgets. 1969 1970.. 1971 1972.. bpo: 31107 1973.. date: 2017-08-02-12-48-15 1974.. nonce: 1t2hn5 1975.. section: Library 1976 1977Fix `copyreg._slotnames()` mangled attribute calculation for classes whose 1978name begins with an underscore. Patch by Shane Harvey. 1979 1980.. 1981 1982.. bpo: 31080 1983.. date: 2017-08-01-18-26-55 1984.. nonce: 2CFVCO 1985.. section: Library 1986 1987Allow `logging.config.fileConfig` to accept kwargs and/or args. 1988 1989.. 1990 1991.. bpo: 30897 1992.. date: 2017-08-01-15-56-50 1993.. nonce: OuT1-Y 1994.. section: Library 1995 1996``pathlib.Path`` objects now include an ``is_mount()`` method (only 1997implemented on POSIX). This is similar to ``os.path.ismount(p)``. Patch by 1998Cooper Ry Lees. 1999 2000.. 2001 2002.. bpo: 31061 2003.. date: 2017-08-01-09-32-58 2004.. nonce: husAYX 2005.. section: Library 2006 2007Fixed a crash when using asyncio and threads. 2008 2009.. 2010 2011.. bpo: 30987 2012.. date: 2017-07-30-22-00-12 2013.. nonce: 228rW0 2014.. section: Library 2015 2016Added support for CAN ISO-TP protocol in the socket module. 2017 2018.. 2019 2020.. bpo: 30522 2021.. date: 2017-07-30-10-07-58 2022.. nonce: gAX1N- 2023.. section: Library 2024 2025Added a ``setStream`` method to ``logging.StreamHandler`` to allow the 2026stream to be set after creation. 2027 2028.. 2029 2030.. bpo: 30502 2031.. date: 2017-07-27-11-33-58 2032.. nonce: GJlfU8 2033.. section: Library 2034 2035Fix handling of long oids in ssl. Based on patch by Christian Heimes. 2036 2037.. 2038 2039.. bpo: 5288 2040.. date: 2017-07-26-13-18-29 2041.. nonce: o_xEGj 2042.. section: Library 2043 2044Support tzinfo objects with sub-minute offsets. 2045 2046.. 2047 2048.. bpo: 30919 2049.. date: 2017-07-23-11-33-10 2050.. nonce: 5dYRru 2051.. section: Library 2052 2053Fix shared memory performance regression in multiprocessing in 3.x. 2054 2055Shared memory used anonymous memory mappings in 2.x, while 3.x mmaps actual 2056files. Try to be careful to do as little disk I/O as possible. 2057 2058.. 2059 2060.. bpo: 26732 2061.. date: 2017-07-22-12-12-42 2062.. nonce: lYLWBH 2063.. section: Library 2064 2065Fix too many fds in processes started with the "forkserver" method. 2066 2067A child process would inherit as many fds as the number of still-running 2068children. 2069 2070.. 2071 2072.. bpo: 29403 2073.. date: 2017-07-20-02-29-49 2074.. nonce: 3RinCV 2075.. section: Library 2076 2077Fix ``unittest.mock``'s autospec to not fail on method-bound builtin 2078functions. Patch by Aaron Gallagher. 2079 2080.. 2081 2082.. bpo: 30961 2083.. date: 2017-07-18-23-47-51 2084.. nonce: 064jz0 2085.. section: Library 2086 2087Fix decrementing a borrowed reference in tracemalloc. 2088 2089.. 2090 2091.. bpo: 19896 2092.. date: 2017-07-18-13-24-50 2093.. nonce: -S0IWu 2094.. section: Library 2095 2096Fix multiprocessing.sharedctypes to recognize typecodes ``'q'`` and ``'Q'``. 2097 2098.. 2099 2100.. bpo: 30946 2101.. date: 2017-07-17-12-32-47 2102.. nonce: DUo-uA 2103.. section: Library 2104 2105Remove obsolete code in readline module for platforms where GNU readline is 2106older than 2.1 or where select() is not available. 2107 2108.. 2109 2110.. bpo: 25684 2111.. date: 2017-07-17-11-35-00 2112.. nonce: usELVx 2113.. section: Library 2114 2115Change ``ttk.OptionMenu`` radiobuttons to be unique across instances of 2116``OptionMenu``. 2117 2118.. 2119 2120.. bpo: 30886 2121.. date: 2017-07-10-12-14-22 2122.. nonce: nqQj34 2123.. section: Library 2124 2125Fix multiprocessing.Queue.join_thread(): it now waits until the thread 2126completes, even if the thread was started by the same process which created 2127the queue. 2128 2129.. 2130 2131.. bpo: 29854 2132.. date: 2017-07-07-02-18-57 2133.. nonce: J8wKb_ 2134.. section: Library 2135 2136Fix segfault in readline when using readline's history-size option. Patch 2137by Nir Soffer. 2138 2139.. 2140 2141.. bpo: 30794 2142.. date: 2017-07-04-22-00-20 2143.. nonce: qFwozm 2144.. section: Library 2145 2146Added multiprocessing.Process.kill method to terminate using the SIGKILL 2147signal on Unix. 2148 2149.. 2150 2151.. bpo: 30319 2152.. date: 2017-07-04-13-48-21 2153.. nonce: hg_3TX 2154.. section: Library 2155 2156socket.close() now ignores ECONNRESET error. 2157 2158.. 2159 2160.. bpo: 30828 2161.. date: 2017-07-04-13-10-52 2162.. nonce: CLvEvV 2163.. section: Library 2164 2165Fix out of bounds write in `asyncio.CFuture.remove_done_callback()`. 2166 2167.. 2168 2169.. bpo: 30302 2170.. date: 2017-06-30-23-05-47 2171.. nonce: itwK_k 2172.. section: Library 2173 2174Use keywords in the ``repr`` of ``datetime.timedelta``. 2175 2176.. 2177 2178.. bpo: 30807 2179.. date: 2017-06-29-22-04-44 2180.. nonce: sLtjY- 2181.. section: Library 2182 2183signal.setitimer() may disable the timer when passed a tiny value. 2184 2185Tiny values (such as 1e-6) are valid non-zero values for setitimer(), which 2186is specified as taking microsecond-resolution intervals. However, on some 2187platform, our conversion routine could convert 1e-6 into a zero interval, 2188therefore disabling the timer instead of (re-)scheduling it. 2189 2190.. 2191 2192.. bpo: 30441 2193.. date: 2017-06-29-14-25-14 2194.. nonce: 3Wh9kc 2195.. section: Library 2196 2197Fix bug when modifying os.environ while iterating over it 2198 2199.. 2200 2201.. bpo: 29585 2202.. date: 2017-06-29-00-17-38 2203.. nonce: x2V0my 2204.. section: Library 2205 2206Avoid importing ``sysconfig`` from ``site`` to improve startup speed. Python 2207startup is about 5% faster on Linux and 30% faster on macOS. 2208 2209.. 2210 2211.. bpo: 29293 2212.. date: 2017-06-29-00-07-22 2213.. nonce: Z6WZjD 2214.. section: Library 2215 2216Add missing parameter "n" on multiprocessing.Condition.notify(). 2217 2218The doc claims multiprocessing.Condition behaves like threading.Condition, 2219but its notify() method lacked the optional "n" argument (to specify the 2220number of sleepers to wake up) that threading.Condition.notify() accepts. 2221 2222.. 2223 2224.. bpo: 30532 2225.. date: 2017-06-26-11-01-59 2226.. nonce: qTeL1o 2227.. section: Library 2228 2229Fix email header value parser dropping folding white space in certain cases. 2230 2231.. 2232 2233.. bpo: 30596 2234.. date: 2017-06-24-18-55-58 2235.. nonce: VhB8iG 2236.. section: Library 2237 2238Add a ``close()`` method to ``multiprocessing.Process``. 2239 2240.. 2241 2242.. bpo: 9146 2243.. date: 2017-05-24-00-00-00 2244.. nonce: pinky_ 2245.. section: Library 2246 2247Fix a segmentation fault in _hashopenssl when standard hash functions such 2248as md5 are not available in the linked OpenSSL library. As in some special 2249FIPS-140 build environments. 2250 2251.. 2252 2253.. bpo: 29169 2254.. date: 0352 2255.. nonce: 8ypApm 2256.. section: Library 2257 2258Update zlib to 1.2.11. 2259 2260.. 2261 2262.. bpo: 30119 2263.. date: 0351 2264.. nonce: 4UMLNh 2265.. section: Library 2266 2267ftplib.FTP.putline() now throws ValueError on commands that contains CR or 2268LF. Patch by Dong-hee Na. 2269 2270.. 2271 2272.. bpo: 30879 2273.. date: 0350 2274.. nonce: N3KI-o 2275.. section: Library 2276 2277os.listdir() and os.scandir() now emit bytes names when called with 2278bytes-like argument. 2279 2280.. 2281 2282.. bpo: 30746 2283.. date: 0349 2284.. nonce: 7drQI0 2285.. section: Library 2286 2287Prohibited the '=' character in environment variable names in 2288``os.putenv()`` and ``os.spawn*()``. 2289 2290.. 2291 2292.. bpo: 30664 2293.. date: 0348 2294.. nonce: oyqiUl 2295.. section: Library 2296 2297The description of a unittest subtest now preserves the order of keyword 2298arguments of TestCase.subTest(). 2299 2300.. 2301 2302.. bpo: 21071 2303.. date: 0346 2304.. nonce: Sw37rs 2305.. section: Library 2306 2307struct.Struct.format type is now :class:`str` instead of :class:`bytes`. 2308 2309.. 2310 2311.. bpo: 29212 2312.. date: 0345 2313.. nonce: HmTdef 2314.. section: Library 2315 2316Fix concurrent.futures.thread.ThreadPoolExecutor threads to have a non 2317repr() based thread name by default when no thread_name_prefix is supplied. 2318They will now identify themselves as "ThreadPoolExecutor-y_n". 2319 2320.. 2321 2322.. bpo: 29755 2323.. date: 0343 2324.. nonce: diQcY_ 2325.. section: Library 2326 2327Fixed the lgettext() family of functions in the gettext module. They now 2328always return bytes. 2329 2330.. 2331 2332.. bpo: 30616 2333.. date: 0341 2334.. nonce: I2mDTz 2335.. section: Library 2336 2337Functional API of enum allows to create empty enums. Patched by Dong-hee Na 2338 2339.. 2340 2341.. bpo: 30038 2342.. date: 0340 2343.. nonce: vb4DWk 2344.. section: Library 2345 2346Fix race condition between signal delivery and wakeup file descriptor. Patch 2347by Nathaniel Smith. 2348 2349.. 2350 2351.. bpo: 23894 2352.. date: 0339 2353.. nonce: k2pADV 2354.. section: Library 2355 2356lib2to3 now recognizes ``rb'...'`` and ``f'...'`` strings. 2357 2358.. 2359 2360.. bpo: 24744 2361.. date: 0337 2362.. nonce: NKxUj3 2363.. section: Library 2364 2365pkgutil.walk_packages function now raises ValueError if *path* is a string. 2366Patch by Sanyam Khurana. 2367 2368.. 2369 2370.. bpo: 24484 2371.. date: 0336 2372.. nonce: vFem8K 2373.. section: Library 2374 2375Avoid race condition in multiprocessing cleanup. 2376 2377.. 2378 2379.. bpo: 30589 2380.. date: 0335 2381.. nonce: xyZGM0 2382.. section: Library 2383 2384Fix multiprocessing.Process.exitcode to return the opposite of the signal 2385number when the process is killed by a signal (instead of 255) when using 2386the "forkserver" method. 2387 2388.. 2389 2390.. bpo: 28994 2391.. date: 0334 2392.. nonce: 9vzun1 2393.. section: Library 2394 2395The traceback no longer displayed for SystemExit raised in a callback 2396registered by atexit. 2397 2398.. 2399 2400.. bpo: 30508 2401.. date: 0333 2402.. nonce: wNWRS2 2403.. section: Library 2404 2405Don't log exceptions if Task/Future "cancel()" method was called. 2406 2407.. 2408 2409.. bpo: 30645 2410.. date: 0332 2411.. nonce: xihJ4Y 2412.. section: Library 2413 2414Fix path calculation in `imp.load_package()`, fixing it for cases when a 2415package is only shipped with bytecodes. Patch by Alexandru Ardelean. 2416 2417.. 2418 2419.. bpo: 11822 2420.. date: 0331 2421.. nonce: GQmKw3 2422.. section: Library 2423 2424The dis.dis() function now is able to disassemble nested code objects. 2425 2426.. 2427 2428.. bpo: 30624 2429.. date: 0330 2430.. nonce: g5oVSn 2431.. section: Library 2432 2433selectors does not take KeyboardInterrupt and SystemExit into account, 2434leaving a fd in a bad state in case of error. Patch by Giampaolo Rodola'. 2435 2436.. 2437 2438.. bpo: 30595 2439.. date: 0329 2440.. nonce: d0nRRA 2441.. section: Library 2442 2443multiprocessing.Queue.get() with a timeout now polls its reader in 2444non-blocking mode if it succeeded to acquire the lock but the acquire took 2445longer than the timeout. 2446 2447.. 2448 2449.. bpo: 28556 2450.. date: 0328 2451.. nonce: mESP7G 2452.. section: Library 2453 2454Updates to typing module: Add generic AsyncContextManager, add support for 2455ContextManager on all versions. Original PRs by Jelle Zijlstra and Ivan 2456Levkivskyi 2457 2458.. 2459 2460.. bpo: 30605 2461.. date: 0327 2462.. nonce: XqGz1r 2463.. section: Library 2464 2465re.compile() no longer raises a BytesWarning when compiling a bytes instance 2466with misplaced inline modifier. Patch by Roy Williams. 2467 2468.. 2469 2470.. bpo: 29870 2471.. date: 0326 2472.. nonce: p960Ih 2473.. section: Library 2474 2475Fix ssl sockets leaks when connection is aborted in asyncio/ssl 2476implementation. Patch by Michaël Sghaïer. 2477 2478.. 2479 2480.. bpo: 29743 2481.. date: 0325 2482.. nonce: en2P4s 2483.. section: Library 2484 2485Closing transport during handshake process leaks open socket. Patch by 2486Nikolay Kim 2487 2488.. 2489 2490.. bpo: 27585 2491.. date: 0324 2492.. nonce: 0Ugqqu 2493.. section: Library 2494 2495Fix waiter cancellation in asyncio.Lock. Patch by Mathieu Sornay. 2496 2497.. 2498 2499.. bpo: 30014 2500.. date: 0323 2501.. nonce: x7Yx6o 2502.. section: Library 2503 2504modify() method of poll(), epoll() and devpoll() based classes of selectors 2505module is around 10% faster. Patch by Giampaolo Rodola'. 2506 2507.. 2508 2509.. bpo: 30418 2510.. date: 0322 2511.. nonce: EwISQm 2512.. section: Library 2513 2514On Windows, subprocess.Popen.communicate() now also ignore EINVAL on 2515stdin.write() if the child process is still running but closed the pipe. 2516 2517.. 2518 2519.. bpo: 30463 2520.. date: 0321 2521.. nonce: CdOuSl 2522.. section: Library 2523 2524Addded empty __slots__ to abc.ABC. This allows subclassers to deny __dict__ 2525and __weakref__ creation. Patch by Aaron Hall. 2526 2527.. 2528 2529.. bpo: 30520 2530.. date: 0320 2531.. nonce: VYzaSn 2532.. section: Library 2533 2534Loggers are now pickleable. 2535 2536.. 2537 2538.. bpo: 30557 2539.. date: 0319 2540.. nonce: uykrLf 2541.. section: Library 2542 2543faulthandler now correctly filters and displays exception codes on Windows 2544 2545.. 2546 2547.. bpo: 30526 2548.. date: 0318 2549.. nonce: 7zTG30 2550.. section: Library 2551 2552Add TextIOWrapper.reconfigure() and a TextIOWrapper.write_through attribute. 2553 2554.. 2555 2556.. bpo: 30245 2557.. date: 0317 2558.. nonce: Xoa_8Y 2559.. section: Library 2560 2561Fix possible overflow when organize struct.pack_into error message. Patch 2562by Yuan Liu. 2563 2564.. 2565 2566.. bpo: 30378 2567.. date: 0316 2568.. nonce: R_19_5 2569.. section: Library 2570 2571Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6 2572addresses. 2573 2574.. 2575 2576.. bpo: 16500 2577.. date: 0315 2578.. nonce: 9ypo9k 2579.. section: Library 2580 2581Allow registering at-fork handlers. 2582 2583.. 2584 2585.. bpo: 30470 2586.. date: 0314 2587.. nonce: wAYhUc 2588.. section: Library 2589 2590Deprecate invalid ctypes call protection on Windows. Patch by Mariatta 2591Wijaya. 2592 2593.. 2594 2595.. bpo: 30414 2596.. date: 0313 2597.. nonce: jGl1Lb 2598.. section: Library 2599 2600multiprocessing.Queue._feed background running thread do not break from main 2601loop on exception. 2602 2603.. 2604 2605.. bpo: 30003 2606.. date: 0312 2607.. nonce: BOl9HE 2608.. section: Library 2609 2610Fix handling escape characters in HZ codec. Based on patch by Ma Lin. 2611 2612.. 2613 2614.. bpo: 30149 2615.. date: 0311 2616.. nonce: hE649r 2617.. section: Library 2618 2619inspect.signature() now supports callables with variable-argument parameters 2620wrapped with partialmethod. Patch by Dong-hee Na. 2621 2622.. 2623 2624.. bpo: 30436 2625.. date: 0310 2626.. nonce: b3zqE7 2627.. section: Library 2628 2629importlib.find_spec() raises ModuleNotFoundError instead of AttributeError 2630if the specified parent module is not a package (i.e. lacks a __path__ 2631attribute). 2632 2633.. 2634 2635.. bpo: 30301 2636.. date: 0309 2637.. nonce: ywOkjN 2638.. section: Library 2639 2640Fix AttributeError when using SimpleQueue.empty() under *spawn* and 2641*forkserver* start methods. 2642 2643.. 2644 2645.. bpo: 30375 2646.. date: 0308 2647.. nonce: 9c8qM7 2648.. section: Library 2649 2650Warnings emitted when compile a regular expression now always point to the 2651line in the user code. Previously they could point into inners of the re 2652module if emitted from inside of groups or conditionals. 2653 2654.. 2655 2656.. bpo: 30329 2657.. date: 0307 2658.. nonce: EuT36N 2659.. section: Library 2660 2661imaplib and poplib now catch the Windows socket WSAEINVAL error (code 10022) 2662on shutdown(SHUT_RDWR): An invalid operation was attempted. This error 2663occurs sometimes on SSL connections. 2664 2665.. 2666 2667.. bpo: 29196 2668.. date: 0306 2669.. nonce: qBq9eB 2670.. section: Library 2671 2672Removed previously deprecated in Python 2.4 classes Plist, Dict and 2673_InternalDict in the plistlib module. Dict values in the result of 2674functions readPlist() and readPlistFromBytes() are now normal dicts. You no 2675longer can use attribute access to access items of these dictionaries. 2676 2677.. 2678 2679.. bpo: 9850 2680.. date: 0305 2681.. nonce: c6SMxt 2682.. section: Library 2683 2684The :mod:`macpath` is now deprecated and will be removed in Python 3.8. 2685 2686.. 2687 2688.. bpo: 30299 2689.. date: 0304 2690.. nonce: O-5d4A 2691.. section: Library 2692 2693Compiling regular expression in debug mode on CPython now displays the 2694compiled bytecode in human readable form. 2695 2696.. 2697 2698.. bpo: 30048 2699.. date: 0303 2700.. nonce: ELRx8R 2701.. section: Library 2702 2703Fixed ``Task.cancel()`` can be ignored when the task is running coroutine 2704and the coroutine returned without any more ``await``. 2705 2706.. 2707 2708.. bpo: 30266 2709.. date: 0302 2710.. nonce: YJzHAH 2711.. section: Library 2712 2713contextlib.AbstractContextManager now supports anti-registration by setting 2714__enter__ = None or __exit__ = None, following the pattern introduced in 2715bpo-25958. Patch by Jelle Zijlstra. 2716 2717.. 2718 2719.. bpo: 30340 2720.. date: 0301 2721.. nonce: kvtGm- 2722.. section: Library 2723 2724Enhanced regular expressions optimization. This increased the performance of 2725matching some patterns up to 25 times. 2726 2727.. 2728 2729.. bpo: 30298 2730.. date: 0300 2731.. nonce: ZN-bWo 2732.. section: Library 2733 2734Weaken the condition of deprecation warnings for inline modifiers. Now 2735allowed several subsequential inline modifiers at the start of the pattern 2736(e.g. ``'(?i)(?s)...'``). In verbose mode whitespaces and comments now are 2737allowed before and between inline modifiers (e.g. ``'(?x) (?i) (?s)...'``). 2738 2739.. 2740 2741.. bpo: 30285 2742.. date: 0299 2743.. nonce: s1vpsO 2744.. section: Library 2745 2746Optimized case-insensitive matching and searching of regular expressions. 2747 2748.. 2749 2750.. bpo: 29990 2751.. date: 0298 2752.. nonce: HWV6KE 2753.. section: Library 2754 2755Fix range checking in GB18030 decoder. Original patch by Ma Lin. 2756 2757.. 2758 2759.. bpo: 29979 2760.. date: 0297 2761.. nonce: jGBMyE 2762.. section: Library 2763 2764rewrite cgi.parse_multipart, reusing the FieldStorage class and making its 2765results consistent with those of FieldStorage for multipart/form-data 2766requests. Patch by Pierre Quentel. 2767 2768.. 2769 2770.. bpo: 30243 2771.. date: 0296 2772.. nonce: RHQt0v 2773.. section: Library 2774 2775Removed the __init__ methods of _json's scanner and encoder. Misusing them 2776could cause memory leaks or crashes. Now scanner and encoder objects are 2777completely initialized in the __new__ methods. 2778 2779.. 2780 2781.. bpo: 30215 2782.. date: 0295 2783.. nonce: SY8738 2784.. section: Library 2785 2786Compiled regular expression objects with the re.LOCALE flag no longer depend 2787on the locale at compile time. Only the locale at matching time affects the 2788result of matching. 2789 2790.. 2791 2792.. bpo: 30185 2793.. date: 0294 2794.. nonce: Tiu1n8 2795.. section: Library 2796 2797Avoid KeyboardInterrupt tracebacks in forkserver helper process when Ctrl-C 2798is received. 2799 2800.. 2801 2802.. bpo: 30103 2803.. date: 0293 2804.. nonce: mmPjf5 2805.. section: Library 2806 2807binascii.b2a_uu() and uu.encode() now support using ``'`'`` as zero instead 2808of space. 2809 2810.. 2811 2812.. bpo: 28556 2813.. date: 0292 2814.. nonce: 51gjbP 2815.. section: Library 2816 2817Various updates to typing module: add typing.NoReturn type, use 2818WrapperDescriptorType, minor bug-fixes. Original PRs by Jim 2819Fasarakis-Hilliard and Ivan Levkivskyi. 2820 2821.. 2822 2823.. bpo: 30205 2824.. date: 0291 2825.. nonce: BsxO34 2826.. section: Library 2827 2828Fix getsockname() for unbound AF_UNIX sockets on Linux. 2829 2830.. 2831 2832.. bpo: 30228 2833.. date: 0290 2834.. nonce: nF8Ov4 2835.. section: Library 2836 2837The seek() and tell() methods of io.FileIO now set the internal seekable 2838attribute to avoid one syscall on open() (in buffered or text mode). 2839 2840.. 2841 2842.. bpo: 30190 2843.. date: 0289 2844.. nonce: 5E7Hyb 2845.. section: Library 2846 2847unittest's assertAlmostEqual and assertNotAlmostEqual provide a better 2848message in case of failure which includes the difference between left and 2849right arguments. (patch by Giampaolo Rodola') 2850 2851.. 2852 2853.. bpo: 30101 2854.. date: 0288 2855.. nonce: hxUqSL 2856.. section: Library 2857 2858Add support for curses.A_ITALIC. 2859 2860.. 2861 2862.. bpo: 29822 2863.. date: 0287 2864.. nonce: G7dX13 2865.. section: Library 2866 2867inspect.isabstract() now works during __init_subclass__. Patch by Nate 2868Soares. 2869 2870.. 2871 2872.. bpo: 29960 2873.. date: 0286 2874.. nonce: g0wr3r 2875.. section: Library 2876 2877Preserve generator state when _random.Random.setstate() raises an exception. 2878Patch by Bryan Olson. 2879 2880.. 2881 2882.. bpo: 30070 2883.. date: 0285 2884.. nonce: XM_B41 2885.. section: Library 2886 2887Fixed leaks and crashes in errors handling in the parser module. 2888 2889.. 2890 2891.. bpo: 22352 2892.. date: 0284 2893.. nonce: gIQ5qC 2894.. section: Library 2895 2896Column widths in the output of dis.dis() are now adjusted for large line 2897numbers and instruction offsets. 2898 2899.. 2900 2901.. bpo: 30061 2902.. date: 0283 2903.. nonce: 2w_dX9 2904.. section: Library 2905 2906Fixed crashes in IOBase methods __next__() and readlines() when readline() 2907or __next__() respectively return non-sizeable object. Fixed possible other 2908errors caused by not checking results of PyObject_Size(), PySequence_Size(), 2909or PyMapping_Size(). 2910 2911.. 2912 2913.. bpo: 30218 2914.. date: 0282 2915.. nonce: ab5oIg 2916.. section: Library 2917 2918Fix PathLike support for shutil.unpack_archive. Patch by Jelle Zijlstra. 2919 2920.. 2921 2922.. bpo: 10076 2923.. date: 0281 2924.. nonce: qCnwly 2925.. section: Library 2926 2927Compiled regular expression and match objects in the re module now support 2928copy.copy() and copy.deepcopy() (they are considered atomic). 2929 2930.. 2931 2932.. bpo: 30068 2933.. date: 0280 2934.. nonce: n4q47r 2935.. section: Library 2936 2937_io._IOBase.readlines will check if it's closed first when hint is present. 2938 2939.. 2940 2941.. bpo: 29694 2942.. date: 0279 2943.. nonce: LWKxb1 2944.. section: Library 2945 2946Fixed race condition in pathlib mkdir with flags parents=True. Patch by 2947Armin Rigo. 2948 2949.. 2950 2951.. bpo: 29692 2952.. date: 0278 2953.. nonce: oyWrAE 2954.. section: Library 2955 2956Fixed arbitrary unchaining of RuntimeError exceptions in 2957contextlib.contextmanager. Patch by Siddharth Velankar. 2958 2959.. 2960 2961.. bpo: 26187 2962.. date: 0277 2963.. nonce: aViyiR 2964.. section: Library 2965 2966Test that sqlite3 trace callback is not called multiple times when schema is 2967changing. Indirectly fixed by switching to use sqlite3_prepare_v2() in 2968bpo-9303. Patch by Aviv Palivoda. 2969 2970.. 2971 2972.. bpo: 30017 2973.. date: 0276 2974.. nonce: cKBuhU 2975.. section: Library 2976 2977Allowed calling the close() method of the zip entry writer object multiple 2978times. Writing to a closed writer now always produces a ValueError. 2979 2980.. 2981 2982.. bpo: 29998 2983.. date: 0275 2984.. nonce: poeIKD 2985.. section: Library 2986 2987Pickling and copying ImportError now preserves name and path attributes. 2988 2989.. 2990 2991.. bpo: 29995 2992.. date: 0274 2993.. nonce: b3mOqx 2994.. section: Library 2995 2996re.escape() now escapes only regex special characters. 2997 2998.. 2999 3000.. bpo: 29962 3001.. date: 0273 3002.. nonce: r-ibsN 3003.. section: Library 3004 3005Add math.remainder operation, implementing remainder as specified in IEEE 3006754. 3007 3008.. 3009 3010.. bpo: 29649 3011.. date: 0272 3012.. nonce: 2eIxQ8 3013.. section: Library 3014 3015Improve struct.pack_into() exception messages for problems with the buffer 3016size and offset. Patch by Andrew Nester. 3017 3018.. 3019 3020.. bpo: 29654 3021.. date: 0271 3022.. nonce: xRFPge 3023.. section: Library 3024 3025Support If-Modified-Since HTTP header (browser cache). Patch by Pierre 3026Quentel. 3027 3028.. 3029 3030.. bpo: 29931 3031.. date: 0270 3032.. nonce: tfcTwK 3033.. section: Library 3034 3035Fixed comparison check for ipaddress.ip_interface objects. Patch by Sanjay 3036Sundaresan. 3037 3038.. 3039 3040.. bpo: 29953 3041.. date: 0269 3042.. nonce: Q1hSt- 3043.. section: Library 3044 3045Fixed memory leaks in the replace() method of datetime and time objects when 3046pass out of bound fold argument. 3047 3048.. 3049 3050.. bpo: 29942 3051.. date: 0268 3052.. nonce: CsGNuT 3053.. section: Library 3054 3055Fix a crash in itertools.chain.from_iterable when encountering long runs of 3056empty iterables. 3057 3058.. 3059 3060.. bpo: 10030 3061.. date: 0267 3062.. nonce: ZdhU3k 3063.. section: Library 3064 3065Sped up reading encrypted ZIP files by 2 times. 3066 3067.. 3068 3069.. bpo: 29204 3070.. date: 0266 3071.. nonce: 8Hbqn2 3072.. section: Library 3073 3074Element.getiterator() and the html parameter of XMLParser() were deprecated 3075only in the documentation (since Python 3.2 and 3.4 correspondintly). Now 3076using them emits a deprecation warning. 3077 3078.. 3079 3080.. bpo: 27863 3081.. date: 0265 3082.. nonce: pPYHHI 3083.. section: Library 3084 3085Fixed multiple crashes in ElementTree caused by race conditions and wrong 3086types. 3087 3088.. 3089 3090.. bpo: 25996 3091.. date: 0264 3092.. nonce: L2_giP 3093.. section: Library 3094 3095Added support of file descriptors in os.scandir() on Unix. os.fwalk() is 3096sped up by 2 times by using os.scandir(). 3097 3098.. 3099 3100.. bpo: 28699 3101.. date: 0263 3102.. nonce: wZztZP 3103.. section: Library 3104 3105Fixed a bug in pools in multiprocessing.pool that raising an exception at 3106the very first of an iterable may swallow the exception or make the program 3107hang. Patch by Davin Potts and Xiang Zhang. 3108 3109.. 3110 3111.. bpo: 23890 3112.. date: 0262 3113.. nonce: GCFAAZ 3114.. section: Library 3115 3116unittest.TestCase.assertRaises() now manually breaks a reference cycle to 3117not keep objects alive longer than expected. 3118 3119.. 3120 3121.. bpo: 29901 3122.. date: 0261 3123.. nonce: QdgMvW 3124.. section: Library 3125 3126The zipapp module now supports general path-like objects, not just 3127pathlib.Path. 3128 3129.. 3130 3131.. bpo: 25803 3132.. date: 0260 3133.. nonce: CPDR0W 3134.. section: Library 3135 3136Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when the OS gives 3137priority to errors such as EACCES over EEXIST. 3138 3139.. 3140 3141.. bpo: 29861 3142.. date: 0259 3143.. nonce: t2ZoRK 3144.. section: Library 3145 3146Release references to tasks, their arguments and their results as soon as 3147they are finished in multiprocessing.Pool. 3148 3149.. 3150 3151.. bpo: 19930 3152.. date: 0258 3153.. nonce: QCjO6A 3154.. section: Library 3155 3156The mode argument of os.makedirs() no longer affects the file permission 3157bits of newly-created intermediate-level directories. 3158 3159.. 3160 3161.. bpo: 29884 3162.. date: 0257 3163.. nonce: kWXR8W 3164.. section: Library 3165 3166faulthandler: Restore the old sigaltstack during teardown. Patch by 3167Christophe Zeitouny. 3168 3169.. 3170 3171.. bpo: 25455 3172.. date: 0256 3173.. nonce: ZsahHN 3174.. section: Library 3175 3176Fixed crashes in repr of recursive buffered file-like objects. 3177 3178.. 3179 3180.. bpo: 29800 3181.. date: 0255 3182.. nonce: d2xASa 3183.. section: Library 3184 3185Fix crashes in partial.__repr__ if the keys of partial.keywords are not 3186strings. Patch by Michael Seifert. 3187 3188.. 3189 3190.. bpo: 8256 3191.. date: 0254 3192.. nonce: jAwGQH 3193.. section: Library 3194 3195Fixed possible failing or crashing input() if attributes "encoding" or 3196"errors" of sys.stdin or sys.stdout are not set or are not strings. 3197 3198.. 3199 3200.. bpo: 28692 3201.. date: 0253 3202.. nonce: CDt-Gb 3203.. section: Library 3204 3205Using non-integer value for selecting a plural form in gettext is now 3206deprecated. 3207 3208.. 3209 3210.. bpo: 26121 3211.. date: 0252 3212.. nonce: LX-pQA 3213.. section: Library 3214 3215Use C library implementation for math functions erf() and erfc(). 3216 3217.. 3218 3219.. bpo: 29619 3220.. date: 0251 3221.. nonce: WIGVxO 3222.. section: Library 3223 3224os.stat() and os.DirEntry.inode() now convert inode (st_ino) using unsigned 3225integers. 3226 3227.. 3228 3229.. bpo: 28298 3230.. date: 0250 3231.. nonce: PNOPsT 3232.. section: Library 3233 3234Fix a bug that prevented array 'Q', 'L' and 'I' from accepting big intables 3235(objects that have __int__) as elements. 3236 3237.. 3238 3239.. bpo: 29645 3240.. date: 0249 3241.. nonce: XCxTHM 3242.. section: Library 3243 3244Speed up importing the webbrowser module. webbrowser.register() is now 3245thread-safe. 3246 3247.. 3248 3249.. bpo: 28231 3250.. date: 0248 3251.. nonce: MG1X09 3252.. section: Library 3253 3254The zipfile module now accepts path-like objects for external paths. 3255 3256.. 3257 3258.. bpo: 26915 3259.. date: 0247 3260.. nonce: qShJZO 3261.. section: Library 3262 3263index() and count() methods of collections.abc.Sequence now check identity 3264before checking equality when do comparisons. 3265 3266.. 3267 3268.. bpo: 28682 3269.. date: 0246 3270.. nonce: hUxdej 3271.. section: Library 3272 3273Added support for bytes paths in os.fwalk(). 3274 3275.. 3276 3277.. bpo: 29728 3278.. date: 0245 3279.. nonce: 37jMwb 3280.. section: Library 3281 3282Add new :data:`socket.TCP_NOTSENT_LOWAT` (Linux 3.12) constant. Patch by 3283Nathaniel J. Smith. 3284 3285.. 3286 3287.. bpo: 29623 3288.. date: 0244 3289.. nonce: D3-NP2 3290.. section: Library 3291 3292Allow use of path-like object as a single argument in ConfigParser.read(). 3293Patch by David Ellis. 3294 3295.. 3296 3297.. bpo: 9303 3298.. date: 0243 3299.. nonce: kDZRSd 3300.. section: Library 3301 3302Migrate sqlite3 module to _v2 API. Patch by Aviv Palivoda. 3303 3304.. 3305 3306.. bpo: 28963 3307.. date: 0242 3308.. nonce: tPl8dq 3309.. section: Library 3310 3311Fix out of bound iteration in asyncio.Future.remove_done_callback 3312implemented in C. 3313 3314.. 3315 3316.. bpo: 29704 3317.. date: 0241 3318.. nonce: WHbx27 3319.. section: Library 3320 3321asyncio.subprocess.SubprocessStreamProtocol no longer closes before all 3322pipes are closed. 3323 3324.. 3325 3326.. bpo: 29271 3327.. date: 0240 3328.. nonce: y8Vj2v 3329.. section: Library 3330 3331Fix Task.current_task and Task.all_tasks implemented in C to accept None 3332argument as their pure Python implementation. 3333 3334.. 3335 3336.. bpo: 29703 3337.. date: 0239 3338.. nonce: ZdsPCR 3339.. section: Library 3340 3341Fix asyncio to support instantiation of new event loops in child processes. 3342 3343.. 3344 3345.. bpo: 29615 3346.. date: 0238 3347.. nonce: OpFKzg 3348.. section: Library 3349 3350SimpleXMLRPCDispatcher no longer chains KeyError (or any other exception) to 3351exception(s) raised in the dispatched methods. Patch by Petr Motejlek. 3352 3353.. 3354 3355.. bpo: 7769 3356.. date: 0237 3357.. nonce: xGRJWh 3358.. section: Library 3359 3360Method register_function() of xmlrpc.server.SimpleXMLRPCDispatcher and its 3361subclasses can now be used as a decorator. 3362 3363.. 3364 3365.. bpo: 29376 3366.. date: 0236 3367.. nonce: rrJhJy 3368.. section: Library 3369 3370Fix assertion error in threading._DummyThread.is_alive(). 3371 3372.. 3373 3374.. bpo: 28624 3375.. date: 0235 3376.. nonce: 43TJib 3377.. section: Library 3378 3379Add a test that checks that cwd parameter of Popen() accepts PathLike 3380objects. Patch by Sayan Chowdhury. 3381 3382.. 3383 3384.. bpo: 28518 3385.. date: 0234 3386.. nonce: o-Q2Nw 3387.. section: Library 3388 3389Start a transaction implicitly before a DML statement. Patch by Aviv 3390Palivoda. 3391 3392.. 3393 3394.. bpo: 29742 3395.. date: 0233 3396.. nonce: 8hqfEO 3397.. section: Library 3398 3399get_extra_info() raises exception if get called on closed ssl transport. 3400Patch by Nikolay Kim. 3401 3402.. 3403 3404.. bpo: 16285 3405.. date: 0232 3406.. nonce: 4f5gbp 3407.. section: Library 3408 3409urllib.parse.quote is now based on RFC 3986 and hence includes '~' in the 3410set of characters that is not quoted by default. Patch by Christian Theune 3411and Ratnadeep Debnath. 3412 3413.. 3414 3415.. bpo: 29532 3416.. date: 0231 3417.. nonce: YCwVQn 3418.. section: Library 3419 3420Altering a kwarg dictionary passed to functools.partial() no longer affects 3421a partial object after creation. 3422 3423.. 3424 3425.. bpo: 29110 3426.. date: 0230 3427.. nonce: wmE-_T 3428.. section: Library 3429 3430Fix file object leak in aifc.open() when file is given as a filesystem path 3431and is not in valid AIFF format. Patch by Anthony Zhang. 3432 3433.. 3434 3435.. bpo: 22807 3436.. date: 0229 3437.. nonce: VmoSkZ 3438.. section: Library 3439 3440Add uuid.SafeUUID and uuid.UUID.is_safe to relay information from the 3441platform about whether generated UUIDs are generated with a multiprocessing 3442safe method. 3443 3444.. 3445 3446.. bpo: 29576 3447.. date: 0228 3448.. nonce: F-b8_5 3449.. section: Library 3450 3451Improve some deprecations in importlib. Some deprecated methods now emit 3452DeprecationWarnings and have better descriptive messages. 3453 3454.. 3455 3456.. bpo: 29534 3457.. date: 0227 3458.. nonce: Ug3HPU 3459.. section: Library 3460 3461Fixed different behaviour of Decimal.from_float() for _decimal and 3462_pydecimal. Thanks Andrew Nester. 3463 3464.. 3465 3466.. bpo: 10379 3467.. date: 0226 3468.. nonce: mRlZsT 3469.. section: Library 3470 3471locale.format_string now supports the 'monetary' keyword argument, and 3472locale.format is deprecated. 3473 3474.. 3475 3476.. bpo: 29851 3477.. date: 0225 3478.. nonce: jqs_5s 3479.. section: Library 3480 3481importlib.reload() now raises ModuleNotFoundError if the module lacks a 3482spec. 3483 3484.. 3485 3486.. bpo: 28556 3487.. date: 0224 3488.. nonce: p6967e 3489.. section: Library 3490 3491Various updates to typing module: typing.Counter, typing.ChainMap, improved 3492ABC caching, etc. Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel 3493Krebber, and Łukasz Langa. 3494 3495.. 3496 3497.. bpo: 29100 3498.. date: 0223 3499.. nonce: LAAERS 3500.. section: Library 3501 3502Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check 3503minimum and maximum years. 3504 3505.. 3506 3507.. bpo: 29416 3508.. date: 0222 3509.. nonce: KJGyI_ 3510.. section: Library 3511 3512Prevent infinite loop in pathlib.Path.mkdir 3513 3514.. 3515 3516.. bpo: 29444 3517.. date: 0221 3518.. nonce: cEwgmk 3519.. section: Library 3520 3521Fixed out-of-bounds buffer access in the group() method of the match object. 3522Based on patch by WGH. 3523 3524.. 3525 3526.. bpo: 29377 3527.. date: 0220 3528.. nonce: 4AvSrC 3529.. section: Library 3530 3531Add WrapperDescriptorType, MethodWrapperType, and MethodDescriptorType 3532built-in types to types module. Original patch by Manuel Krebber. 3533 3534.. 3535 3536.. bpo: 29218 3537.. date: 0219 3538.. nonce: -Qoti0 3539.. section: Library 3540 3541Unused install_misc command is now removed. It has been documented as 3542unused since 2000. Patch by Eric N. Vander Weele. 3543 3544.. 3545 3546.. bpo: 29368 3547.. date: 0218 3548.. nonce: nTtA_V 3549.. section: Library 3550 3551The extend() method is now called instead of the append() method when 3552unpickle collections.deque and other list-like objects. This can speed up 3553unpickling to 2 times. 3554 3555.. 3556 3557.. bpo: 29338 3558.. date: 0217 3559.. nonce: EpvQJl 3560.. section: Library 3561 3562The help of a builtin or extension class now includes the constructor 3563signature if __text_signature__ is provided for the class. 3564 3565.. 3566 3567.. bpo: 29335 3568.. date: 0216 3569.. nonce: _KC7IK 3570.. section: Library 3571 3572Fix subprocess.Popen.wait() when the child process has exited to a stopped 3573instead of terminated state (ex: when under ptrace). 3574 3575.. 3576 3577.. bpo: 29290 3578.. date: 0215 3579.. nonce: XBqptF 3580.. section: Library 3581 3582Fix a regression in argparse that help messages would wrap at non-breaking 3583spaces. 3584 3585.. 3586 3587.. bpo: 28735 3588.. date: 0214 3589.. nonce: admHLO 3590.. section: Library 3591 3592Fixed the comparison of mock.MagickMock with mock.ANY. 3593 3594.. 3595 3596.. bpo: 29197 3597.. date: 0213 3598.. nonce: sZssFZ 3599.. section: Library 3600 3601Removed deprecated function ntpath.splitunc(). 3602 3603.. 3604 3605.. bpo: 29210 3606.. date: 0212 3607.. nonce: y1UHWf 3608.. section: Library 3609 3610Removed support of deprecated argument "exclude" in tarfile.TarFile.add(). 3611 3612.. 3613 3614.. bpo: 29219 3615.. date: 0211 3616.. nonce: kxui7t 3617.. section: Library 3618 3619Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances. 3620 3621.. 3622 3623.. bpo: 29192 3624.. date: 0210 3625.. nonce: mY31H8 3626.. section: Library 3627 3628Removed deprecated features in the http.cookies module. 3629 3630.. 3631 3632.. bpo: 29193 3633.. date: 0209 3634.. nonce: CgcjEx 3635.. section: Library 3636 3637A format string argument for string.Formatter.format() is now 3638positional-only. 3639 3640.. 3641 3642.. bpo: 29195 3643.. date: 0208 3644.. nonce: vK5LjU 3645.. section: Library 3646 3647Removed support of deprecated undocumented keyword arguments in methods of 3648regular expression objects. 3649 3650.. 3651 3652.. bpo: 28969 3653.. date: 0207 3654.. nonce: j3HJYO 3655.. section: Library 3656 3657Fixed race condition in C implementation of functools.lru_cache. KeyError 3658could be raised when cached function with full cache was simultaneously 3659called from differen threads with the same uncached arguments. 3660 3661.. 3662 3663.. bpo: 20804 3664.. date: 0206 3665.. nonce: XyZhvi 3666.. section: Library 3667 3668The unittest.mock.sentinel attributes now preserve their identity when they 3669are copied or pickled. 3670 3671.. 3672 3673.. bpo: 29142 3674.. date: 0205 3675.. nonce: xo6kAv 3676.. section: Library 3677 3678In urllib.request, suffixes in no_proxy environment variable with leading 3679dots could match related hostnames again (e.g. .b.c matches a.b.c). Patch by 3680Milan Oberkirch. 3681 3682.. 3683 3684.. bpo: 28961 3685.. date: 0204 3686.. nonce: Rt93vg 3687.. section: Library 3688 3689Fix unittest.mock._Call helper: don't ignore the name parameter anymore. 3690Patch written by Jiajun Huang. 3691 3692.. 3693 3694.. bpo: 15812 3695.. date: 0203 3696.. nonce: R1U-Ec 3697.. section: Library 3698 3699inspect.getframeinfo() now correctly shows the first line of a context. 3700Patch by Sam Breese. 3701 3702.. 3703 3704.. bpo: 28985 3705.. date: 0202 3706.. nonce: TMWJFg 3707.. section: Library 3708 3709Update authorizer constants in sqlite3 module. Patch by Dingyuan Wang. 3710 3711.. 3712 3713.. bpo: 29079 3714.. date: 0201 3715.. nonce: g4YLix 3716.. section: Library 3717 3718Prevent infinite loop in pathlib.resolve() on Windows 3719 3720.. 3721 3722.. bpo: 13051 3723.. date: 0200 3724.. nonce: YzC1Te 3725.. section: Library 3726 3727Fixed recursion errors in large or resized curses.textpad.Textbox. Based on 3728patch by Tycho Andersen. 3729 3730.. 3731 3732.. bpo: 9770 3733.. date: 0199 3734.. nonce: WJJnwP 3735.. section: Library 3736 3737curses.ascii predicates now work correctly with negative integers. 3738 3739.. 3740 3741.. bpo: 28427 3742.. date: 0198 3743.. nonce: vUd-va 3744.. section: Library 3745 3746old keys should not remove new values from WeakValueDictionary when 3747collecting from another thread. 3748 3749.. 3750 3751.. bpo: 28923 3752.. date: 0197 3753.. nonce: naVULD 3754.. section: Library 3755 3756Remove editor artifacts from Tix.py. 3757 3758.. 3759 3760.. bpo: 28871 3761.. date: 0196 3762.. nonce: cPMXCJ 3763.. section: Library 3764 3765Fixed a crash when deallocate deep ElementTree. 3766 3767.. 3768 3769.. bpo: 19542 3770.. date: 0195 3771.. nonce: 5tCkaK 3772.. section: Library 3773 3774Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop() 3775when a GC collection happens in another thread. 3776 3777.. 3778 3779.. bpo: 20191 3780.. date: 0194 3781.. nonce: Q7uZCS 3782.. section: Library 3783 3784Fixed a crash in resource.prlimit() when passing a sequence that doesn't own 3785its elements as limits. 3786 3787.. 3788 3789.. bpo: 16255 3790.. date: 0193 3791.. nonce: p2YA85 3792.. section: Library 3793 3794subprocess.Popen uses /system/bin/sh on Android as the shell, instead of 3795/bin/sh. 3796 3797.. 3798 3799.. bpo: 28779 3800.. date: 0192 3801.. nonce: t-mjED 3802.. section: Library 3803 3804multiprocessing.set_forkserver_preload() would crash the forkserver process 3805if a preloaded module instantiated some multiprocessing objects such as 3806locks. 3807 3808.. 3809 3810.. bpo: 26937 3811.. date: 0191 3812.. nonce: c9kgiA 3813.. section: Library 3814 3815The chown() method of the tarfile.TarFile class does not fail now when the 3816grp module cannot be imported, as for example on Android platforms. 3817 3818.. 3819 3820.. bpo: 28847 3821.. date: 0190 3822.. nonce: GiWd9w 3823.. section: Library 3824 3825dbm.dumb now supports reading read-only files and no longer writes the index 3826file when it is not changed. A deprecation warning is now emitted if the 3827index file is missed and recreated in the 'r' and 'w' modes (will be an 3828error in future Python releases). 3829 3830.. 3831 3832.. bpo: 27030 3833.. date: 0189 3834.. nonce: GoGlFH 3835.. section: Library 3836 3837Unknown escapes consisting of ``'\'`` and an ASCII letter in re.sub() 3838replacement templates regular expressions now are errors. 3839 3840.. 3841 3842.. bpo: 28835 3843.. date: 0188 3844.. nonce: iWBYH7 3845.. section: Library 3846 3847Fix a regression introduced in warnings.catch_warnings(): call 3848warnings.showwarning() if it was overridden inside the context manager. 3849 3850.. 3851 3852.. bpo: 27172 3853.. date: 0187 3854.. nonce: mVKfLT 3855.. section: Library 3856 3857To assist with upgrades from 2.7, the previously documented deprecation of 3858``inspect.getfullargspec()`` has been reversed. This decision may be 3859revisited again after the Python 2.7 branch is no longer officially 3860supported. 3861 3862.. 3863 3864.. bpo: 28740 3865.. date: 0186 3866.. nonce: rY8kz- 3867.. section: Library 3868 3869Add sys.getandroidapilevel(): return the build time API version of Android 3870as an integer. Function only available on Android. 3871 3872.. 3873 3874.. bpo: 26273 3875.. date: 0185 3876.. nonce: ilNIWN 3877.. section: Library 3878 3879Add new :data:`socket.TCP_CONGESTION` (Linux 2.6.13) and 3880:data:`socket.TCP_USER_TIMEOUT` (Linux 2.6.37) constants. Patch written by 3881Omar Sandoval. 3882 3883.. 3884 3885.. bpo: 28752 3886.. date: 0184 3887.. nonce: Q-4oRE 3888.. section: Library 3889 3890Restored the __reduce__() methods of datetime objects. 3891 3892.. 3893 3894.. bpo: 28727 3895.. date: 0183 3896.. nonce: ubZP_b 3897.. section: Library 3898 3899Regular expression patterns, _sre.SRE_Pattern objects created by 3900re.compile(), become comparable (only x==y and x!=y operators). This change 3901should fix the issue #18383: don't duplicate warning filters when the 3902warnings module is reloaded (thing usually only done in unit tests). 3903 3904.. 3905 3906.. bpo: 20572 3907.. date: 0182 3908.. nonce: NCRmvz 3909.. section: Library 3910 3911Remove the subprocess.Popen.wait endtime parameter. It was deprecated in 39123.4 and undocumented prior to that. 3913 3914.. 3915 3916.. bpo: 25659 3917.. date: 0181 3918.. nonce: lE2IlT 3919.. section: Library 3920 3921In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy() 3922methods on abstract classes like Array. 3923 3924.. 3925 3926.. bpo: 28548 3927.. date: 0180 3928.. nonce: IeNrnG 3929.. section: Library 3930 3931In the "http.server" module, parse the protocol version if possible, to 3932avoid using HTTP 0.9 in some error responses. 3933 3934.. 3935 3936.. bpo: 19717 3937.. date: 0179 3938.. nonce: HXCAIz 3939.. section: Library 3940 3941Makes Path.resolve() succeed on paths that do not exist. Patch by Vajrasky 3942Kok 3943 3944.. 3945 3946.. bpo: 28563 3947.. date: 0178 3948.. nonce: iweEiw 3949.. section: Library 3950 3951Fixed possible DoS and arbitrary code execution when handle plural form 3952selections in the gettext module. The expression parser now supports exact 3953syntax supported by GNU gettext. 3954 3955.. 3956 3957.. bpo: 28387 3958.. date: 0177 3959.. nonce: 1clJu7 3960.. section: Library 3961 3962Fixed possible crash in _io.TextIOWrapper deallocator when the garbage 3963collector is invoked in other thread. Based on patch by Sebastian Cufre. 3964 3965.. 3966 3967.. bpo: 27517 3968.. date: 0176 3969.. nonce: 1CYM8A 3970.. section: Library 3971 3972LZMA compressor and decompressor no longer raise exceptions if given empty 3973data twice. Patch by Benjamin Fogle. 3974 3975.. 3976 3977.. bpo: 28549 3978.. date: 0175 3979.. nonce: ShnM2y 3980.. section: Library 3981 3982Fixed segfault in curses's addch() with ncurses6. 3983 3984.. 3985 3986.. bpo: 28449 3987.. date: 0174 3988.. nonce: 5JK6ES 3989.. section: Library 3990 3991tarfile.open() with mode "r" or "r:" now tries to open a tar file with 3992compression before trying to open it without compression. Otherwise it had 399350% chance failed with ignore_zeros=True. 3994 3995.. 3996 3997.. bpo: 23262 3998.. date: 0173 3999.. nonce: 6EVB7N 4000.. section: Library 4001 4002The webbrowser module now supports Firefox 36+ and derived browsers. Based 4003on patch by Oleg Broytman. 4004 4005.. 4006 4007.. bpo: 24241 4008.. date: 0172 4009.. nonce: y7N12p 4010.. section: Library 4011 4012The webbrowser in an X environment now prefers using the default browser 4013directly. Also, the webbrowser register() function now has a documented 4014'preferred' argument, to specify browsers to be returned by get() with no 4015arguments. Patch by David Steele 4016 4017.. 4018 4019.. bpo: 27939 4020.. date: 0171 4021.. nonce: mTfADV 4022.. section: Library 4023 4024Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused by 4025representing the scale as float value internally in Tk. tkinter.IntVar now 4026works if float value is set to underlying Tk variable. 4027 4028.. 4029 4030.. bpo: 28255 4031.. date: 0170 4032.. nonce: G3iOPm 4033.. section: Library 4034 4035calendar.TextCalendar.prweek() no longer prints a space after a weeks's 4036calendar. calendar.TextCalendar.pryear() no longer prints redundant newline 4037after a year's calendar. Based on patch by Xiang Zhang. 4038 4039.. 4040 4041.. bpo: 28255 4042.. date: 0169 4043.. nonce: fHNZu0 4044.. section: Library 4045 4046calendar.TextCalendar.prmonth() no longer prints a space at the start of new 4047line after printing a month's calendar. Patch by Xiang Zhang. 4048 4049.. 4050 4051.. bpo: 20491 4052.. date: 0168 4053.. nonce: ObgnQ2 4054.. section: Library 4055 4056The textwrap.TextWrapper class now honors non-breaking spaces. Based on 4057patch by Kaarle Ritvanen. 4058 4059.. 4060 4061.. bpo: 28353 4062.. date: 0167 4063.. nonce: sKGbLL 4064.. section: Library 4065 4066os.fwalk() no longer fails on broken links. 4067 4068.. 4069 4070.. bpo: 28430 4071.. date: 0166 4072.. nonce: 4MiEYT 4073.. section: Library 4074 4075Fix iterator of C implemented asyncio.Future doesn't accept non-None value 4076is passed to it.send(val). 4077 4078.. 4079 4080.. bpo: 27025 4081.. date: 0165 4082.. nonce: foAViS 4083.. section: Library 4084 4085Generated names for Tkinter widgets now start by the "!" prefix for 4086readability. 4087 4088.. 4089 4090.. bpo: 25464 4091.. date: 0164 4092.. nonce: HDUTCu 4093.. section: Library 4094 4095Fixed HList.header_exists() in tkinter.tix module by addin a workaround to 4096Tix library bug. 4097 4098.. 4099 4100.. bpo: 28488 4101.. date: 0163 4102.. nonce: TgO112 4103.. section: Library 4104 4105shutil.make_archive() no longer adds entry "./" to ZIP archive. 4106 4107.. 4108 4109.. bpo: 25953 4110.. date: 0162 4111.. nonce: EKKJAQ 4112.. section: Library 4113 4114re.sub() now raises an error for invalid numerical group reference in 4115replacement template even if the pattern is not found in the string. Error 4116message for invalid group reference now includes the group index and the 4117position of the reference. Based on patch by SilentGhost. 4118 4119.. 4120 4121.. bpo: 28469 4122.. date: 0161 4123.. nonce: QZW1Np 4124.. section: Library 4125 4126timeit now uses the sequence 1, 2, 5, 10, 20, 50,... instead of 1, 10, 4127100,... for autoranging. 4128 4129.. 4130 4131.. bpo: 28115 4132.. date: 0160 4133.. nonce: 4FIjIE 4134.. section: Library 4135 4136Command-line interface of the zipfile module now uses argparse. Added 4137support of long options. 4138 4139.. 4140 4141.. bpo: 18219 4142.. date: 0159 4143.. nonce: 1ANQN1 4144.. section: Library 4145 4146Optimize csv.DictWriter for large number of columns. Patch by Mariatta 4147Wijaya. 4148 4149.. 4150 4151.. bpo: 28448 4152.. date: 0158 4153.. nonce: 5bduWe 4154.. section: Library 4155 4156Fix C implemented asyncio.Future didn't work on Windows. 4157 4158.. 4159 4160.. bpo: 23214 4161.. date: 0157 4162.. nonce: -4Q5Z7 4163.. section: Library 4164 4165In the "io" module, the argument to BufferedReader and BytesIO's read1() 4166methods is now optional and can be -1, matching the BufferedIOBase 4167specification. 4168 4169.. 4170 4171.. bpo: 28480 4172.. date: 0156 4173.. nonce: 9lHw6m 4174.. section: Library 4175 4176Fix error building socket module when multithreading is disabled. 4177 4178.. 4179 4180.. bpo: 28240 4181.. date: 0155 4182.. nonce: hqzQvS 4183.. section: Library 4184 4185timeit: remove ``-c/--clock`` and ``-t/--time`` command line options which 4186were deprecated since Python 3.3. 4187 4188.. 4189 4190.. bpo: 28240 4191.. date: 0154 4192.. nonce: IwQMgd 4193.. section: Library 4194 4195timeit now repeats the benchmarks 5 times instead of only 3 to make 4196benchmarks more reliable. 4197 4198.. 4199 4200.. bpo: 28240 4201.. date: 0153 4202.. nonce: cXljq- 4203.. section: Library 4204 4205timeit autorange now uses a single loop iteration if the benchmark takes 4206less than 10 seconds, instead of 10 iterations. "python3 -m timeit -s 4207'import time' 'time.sleep(1)'" now takes 4 seconds instead of 40 seconds. 4208 4209.. 4210 4211.. bpo: 0 4212.. date: 0152 4213.. nonce: 5Y0ngw 4214.. section: Library 4215 4216Distutils.sdist now looks for README and setup.py files with case 4217sensitivity. This behavior matches that found in Setuptools 6.0 and later. 4218See `setuptools 100 <https://github.com/pypa/setuptools/issues/100>`_ for 4219rationale. 4220 4221.. 4222 4223.. bpo: 24452 4224.. date: 0151 4225.. nonce: pVsjt0 4226.. section: Library 4227 4228Make webbrowser support Chrome on Mac OS X. Patch by Ned Batchelder. 4229 4230.. 4231 4232.. bpo: 20766 4233.. date: 0150 4234.. nonce: 4kvCzx 4235.. section: Library 4236 4237Fix references leaked by pdb in the handling of SIGINT handlers. 4238 4239.. 4240 4241.. bpo: 27998 4242.. date: 0149 4243.. nonce: CPhy4H 4244.. section: Library 4245 4246Fixed bytes path support in os.scandir() on Windows. Patch by Eryk Sun. 4247 4248.. 4249 4250.. bpo: 28317 4251.. date: 0148 4252.. nonce: LgHleA 4253.. section: Library 4254 4255The disassembler now decodes FORMAT_VALUE argument. 4256 4257.. 4258 4259.. bpo: 28380 4260.. date: 0147 4261.. nonce: jKPMzH 4262.. section: Library 4263 4264unittest.mock Mock autospec functions now properly support assert_called, 4265assert_not_called, and assert_called_once. 4266 4267.. 4268 4269.. bpo: 28229 4270.. date: 0146 4271.. nonce: BKAxcS 4272.. section: Library 4273 4274lzma module now supports pathlib. 4275 4276.. 4277 4278.. bpo: 28321 4279.. date: 0145 4280.. nonce: bQ-IIX 4281.. section: Library 4282 4283Fixed writing non-BMP characters with binary format in plistlib. 4284 4285.. 4286 4287.. bpo: 28225 4288.. date: 0144 4289.. nonce: 6N28nu 4290.. section: Library 4291 4292bz2 module now supports pathlib. Initial patch by Ethan Furman. 4293 4294.. 4295 4296.. bpo: 28227 4297.. date: 0143 4298.. nonce: 7lUz8i 4299.. section: Library 4300 4301gzip now supports pathlib. Patch by Ethan Furman. 4302 4303.. 4304 4305.. bpo: 28332 4306.. date: 0142 4307.. nonce: Ed8fNk 4308.. section: Library 4309 4310Deprecated silent truncations in socket.htons and socket.ntohs. Original 4311patch by Oren Milman. 4312 4313.. 4314 4315.. bpo: 27358 4316.. date: 0141 4317.. nonce: t288Iv 4318.. section: Library 4319 4320Optimized merging var-keyword arguments and improved error message when 4321passing a non-mapping as a var-keyword argument. 4322 4323.. 4324 4325.. bpo: 28257 4326.. date: 0140 4327.. nonce: SVD_IH 4328.. section: Library 4329 4330Improved error message when passing a non-iterable as a var-positional 4331argument. Added opcode BUILD_TUPLE_UNPACK_WITH_CALL. 4332 4333.. 4334 4335.. bpo: 28322 4336.. date: 0139 4337.. nonce: l9hzap 4338.. section: Library 4339 4340Fixed possible crashes when unpickle itertools objects from incorrect pickle 4341data. Based on patch by John Leitch. 4342 4343.. 4344 4345.. bpo: 28228 4346.. date: 0138 4347.. nonce: 1qBwdM 4348.. section: Library 4349 4350imghdr now supports pathlib. 4351 4352.. 4353 4354.. bpo: 28226 4355.. date: 0137 4356.. nonce: nMXiwU 4357.. section: Library 4358 4359compileall now supports pathlib. 4360 4361.. 4362 4363.. bpo: 28314 4364.. date: 0136 4365.. nonce: N7YrkN 4366.. section: Library 4367 4368Fix function declaration (C flags) for the getiterator() method of 4369xml.etree.ElementTree.Element. 4370 4371.. 4372 4373.. bpo: 28148 4374.. date: 0135 4375.. nonce: Flzndx 4376.. section: Library 4377 4378Stop using localtime() and gmtime() in the time module. 4379 4380Introduced platform independent _PyTime_localtime API that is similar to 4381POSIX localtime_r, but available on all platforms. Patch by Ed Schouten. 4382 4383.. 4384 4385.. bpo: 28253 4386.. date: 0134 4387.. nonce: aLfmhe 4388.. section: Library 4389 4390Fixed calendar functions for extreme months: 0001-01 and 9999-12. 4391 4392Methods itermonthdays() and itermonthdays2() are reimplemented so that they 4393don't call itermonthdates() which can cause datetime.date under/overflow. 4394 4395.. 4396 4397.. bpo: 28275 4398.. date: 0133 4399.. nonce: EhWIsz 4400.. section: Library 4401 4402Fixed possible use after free in the decompress() methods of the 4403LZMADecompressor and BZ2Decompressor classes. Original patch by John Leitch. 4404 4405.. 4406 4407.. bpo: 27897 4408.. date: 0132 4409.. nonce: I0Ppmx 4410.. section: Library 4411 4412Fixed possible crash in sqlite3.Connection.create_collation() if pass 4413invalid string-like object as a name. Patch by Xiang Zhang. 4414 4415.. 4416 4417.. bpo: 18844 4418.. date: 0131 4419.. nonce: fQsEdn 4420.. section: Library 4421 4422random.choices() now has k as a keyword-only argument to improve the 4423readability of common cases and come into line with the signature used in 4424other languages. 4425 4426.. 4427 4428.. bpo: 18893 4429.. date: 0130 4430.. nonce: osiX5c 4431.. section: Library 4432 4433Fix invalid exception handling in Lib/ctypes/macholib/dyld.py. Patch by 4434Madison May. 4435 4436.. 4437 4438.. bpo: 27611 4439.. date: 0129 4440.. nonce: A_ArH_ 4441.. section: Library 4442 4443Fixed support of default root window in the tkinter.tix module. Added the 4444master parameter in the DisplayStyle constructor. 4445 4446.. 4447 4448.. bpo: 27348 4449.. date: 0128 4450.. nonce: tDx7Vw 4451.. section: Library 4452 4453In the traceback module, restore the formatting of exception messages like 4454"Exception: None". This fixes a regression introduced in 3.5a2. 4455 4456.. 4457 4458.. bpo: 25651 4459.. date: 0127 4460.. nonce: 3UhyPo 4461.. section: Library 4462 4463Allow falsy values to be used for msg parameter of subTest(). 4464 4465.. 4466 4467.. bpo: 27778 4468.. date: 0126 4469.. nonce: Yyo1aP 4470.. section: Library 4471 4472Fix a memory leak in os.getrandom() when the getrandom() is interrupted by a 4473signal and a signal handler raises a Python exception. 4474 4475.. 4476 4477.. bpo: 28200 4478.. date: 0125 4479.. nonce: 4IEbr7 4480.. section: Library 4481 4482Fix memory leak on Windows in the os module (fix path_converter() function). 4483 4484.. 4485 4486.. bpo: 25400 4487.. date: 0124 4488.. nonce: d9Qn0E 4489.. section: Library 4490 4491RobotFileParser now correctly returns default values for crawl_delay and 4492request_rate. Initial patch by Peter Wirtz. 4493 4494.. 4495 4496.. bpo: 27932 4497.. date: 0123 4498.. nonce: mtgl-6 4499.. section: Library 4500 4501Prevent memory leak in win32_ver(). 4502 4503.. 4504 4505.. bpo: 0 4506.. date: 0122 4507.. nonce: iPpjqX 4508.. section: Library 4509 4510Fix UnboundLocalError in socket._sendfile_use_sendfile. 4511 4512.. 4513 4514.. bpo: 28075 4515.. date: 0121 4516.. nonce: aLiUs9 4517.. section: Library 4518 4519Check for ERROR_ACCESS_DENIED in Windows implementation of os.stat(). Patch 4520by Eryk Sun. 4521 4522.. 4523 4524.. bpo: 22493 4525.. date: 0120 4526.. nonce: Mv_hZf 4527.. section: Library 4528 4529Warning message emitted by using inline flags in the middle of regular 4530expression now contains a (truncated) regex pattern. Patch by Tim Graham. 4531 4532.. 4533 4534.. bpo: 25270 4535.. date: 0119 4536.. nonce: jrZruM 4537.. section: Library 4538 4539Prevent codecs.escape_encode() from raising SystemError when an empty 4540bytestring is passed. 4541 4542.. 4543 4544.. bpo: 28181 4545.. date: 0118 4546.. nonce: NGc4Yv 4547.. section: Library 4548 4549Get antigravity over HTTPS. Patch by Kaartic Sivaraam. 4550 4551.. 4552 4553.. bpo: 25895 4554.. date: 0117 4555.. nonce: j92qoQ 4556.. section: Library 4557 4558Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by Gergely Imreh 4559and Markus Holtermann. 4560 4561.. 4562 4563.. bpo: 28114 4564.. date: 0116 4565.. nonce: gmFXsA 4566.. section: Library 4567 4568Fix a crash in parse_envlist() when env contains byte strings. Patch by Eryk 4569Sun. 4570 4571.. 4572 4573.. bpo: 27599 4574.. date: 0115 4575.. nonce: itvm8T 4576.. section: Library 4577 4578Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp(). 4579 4580.. 4581 4582.. bpo: 27906 4583.. date: 0114 4584.. nonce: TBBXrv 4585.. section: Library 4586 4587Fix socket accept exhaustion during high TCP traffic. Patch by Kevin Conway. 4588 4589.. 4590 4591.. bpo: 28174 4592.. date: 0113 4593.. nonce: CV1UdI 4594.. section: Library 4595 4596Handle when SO_REUSEPORT isn't properly supported. Patch by Seth Michael 4597Larson. 4598 4599.. 4600 4601.. bpo: 26654 4602.. date: 0112 4603.. nonce: XtzTE9 4604.. section: Library 4605 4606Inspect functools.partial in asyncio.Handle.__repr__. Patch by iceboy. 4607 4608.. 4609 4610.. bpo: 26909 4611.. date: 0111 4612.. nonce: ASiakT 4613.. section: Library 4614 4615Fix slow pipes IO in asyncio. Patch by INADA Naoki. 4616 4617.. 4618 4619.. bpo: 28176 4620.. date: 0110 4621.. nonce: sU8R6L 4622.. section: Library 4623 4624Fix callbacks race in asyncio.SelectorLoop.sock_connect. 4625 4626.. 4627 4628.. bpo: 27759 4629.. date: 0109 4630.. nonce: qpMDGq 4631.. section: Library 4632 4633Fix selectors incorrectly retain invalid file descriptors. Patch by Mark 4634Williams. 4635 4636.. 4637 4638.. bpo: 28325 4639.. date: 0108 4640.. nonce: wAHmnK 4641.. section: Library 4642 4643Remove vestigial MacOS 9 macurl2path module and its tests. 4644 4645.. 4646 4647.. bpo: 28368 4648.. date: 0107 4649.. nonce: n594X4 4650.. section: Library 4651 4652Refuse monitoring processes if the child watcher has no loop attached. Patch 4653by Vincent Michel. 4654 4655.. 4656 4657.. bpo: 28369 4658.. date: 0106 4659.. nonce: 8DTANe 4660.. section: Library 4661 4662Raise RuntimeError when transport's FD is used with add_reader, add_writer, 4663etc. 4664 4665.. 4666 4667.. bpo: 28370 4668.. date: 0105 4669.. nonce: 18jBuZ 4670.. section: Library 4671 4672Speedup asyncio.StreamReader.readexactly. Patch by Коренберг Марк. 4673 4674.. 4675 4676.. bpo: 28371 4677.. date: 0104 4678.. nonce: U9Zqdk 4679.. section: Library 4680 4681Deprecate passing asyncio.Handles to run_in_executor. 4682 4683.. 4684 4685.. bpo: 28372 4686.. date: 0103 4687.. nonce: njcIPk 4688.. section: Library 4689 4690Fix asyncio to support formatting of non-python coroutines. 4691 4692.. 4693 4694.. bpo: 28399 4695.. date: 0102 4696.. nonce: QKIqRX 4697.. section: Library 4698 4699Remove UNIX socket from FS before binding. Patch by Коренберг Марк. 4700 4701.. 4702 4703.. bpo: 27972 4704.. date: 0101 4705.. nonce: ZK-GFm 4706.. section: Library 4707 4708Prohibit Tasks to await on themselves. 4709 4710.. 4711 4712.. bpo: 24142 4713.. date: 0100 4714.. nonce: IrZnFs 4715.. section: Library 4716 4717Reading a corrupt config file left configparser in an invalid state. 4718Original patch by Florian Höch. 4719 4720.. 4721 4722.. bpo: 29581 4723.. date: 0099 4724.. nonce: gHCrxP 4725.. section: Library 4726 4727ABCMeta.__new__ now accepts ``**kwargs``, allowing abstract base classes to 4728use keyword parameters in __init_subclass__. Patch by Nate Soares. 4729 4730.. 4731 4732.. bpo: 25532 4733.. date: 0098 4734.. nonce: ey4Yez 4735.. section: Library 4736 4737inspect.unwrap() will now only try to unwrap an object 4738sys.getrecursionlimit() times, to protect against objects which create a new 4739object on every attribute access. 4740 4741.. 4742 4743.. bpo: 30177 4744.. date: 0097 4745.. nonce: JGIJNL 4746.. section: Library 4747 4748path.resolve(strict=False) no longer cuts the path after the first element 4749not present in the filesystem. Patch by Antoine Pietri. 4750 4751.. 4752 4753.. bpo: 31294 4754.. date: 2017-09-07-20-49-09 4755.. nonce: WgI18w 4756.. section: Documentation 4757 4758Fix incomplete code snippet in the ZeroMQSocketListener and 4759ZeroMQSocketHandler examples and adapt them to Python 3. 4760 4761.. 4762 4763.. bpo: 21649 4764.. date: 2017-09-06-10-11-57 4765.. nonce: EUvqA9 4766.. section: Documentation 4767 4768Add RFC 7525 and Mozilla server side TLS links to SSL documentation. 4769 4770.. 4771 4772.. bpo: 31128 4773.. date: 2017-08-31 4774.. nonce: uoa3cr 4775.. section: Documentation 4776 4777Allow the pydoc server to bind to arbitrary hostnames. 4778 4779.. 4780 4781.. bpo: 30803 4782.. date: 2017-07-29-14-55-50 4783.. nonce: 6hutqQ 4784.. section: Documentation 4785 4786Clarify doc on truth value testing. Original patch by Peter Thomassen. 4787 4788.. 4789 4790.. bpo: 30176 4791.. date: 0060 4792.. nonce: VivmCg 4793.. section: Documentation 4794 4795Add missing attribute related constants in curses documentation. 4796 4797.. 4798 4799.. bpo: 30052 4800.. date: 0059 4801.. nonce: TpmpaF 4802.. section: Documentation 4803 4804the link targets for :func:`bytes` and :func:`bytearray` are now their 4805respective type definitions, rather than the corresponding builtin function 4806entries. Use :ref:`bytes <func-bytes>` and :ref:`bytearray <func-bytearray>` 4807to reference the latter. 4808 4809In order to ensure this and future cross-reference updates are applied 4810automatically, the daily documentation builds now disable the default output 4811caching features in Sphinx. 4812 4813.. 4814 4815.. bpo: 26985 4816.. date: 0058 4817.. nonce: NB5_9S 4818.. section: Documentation 4819 4820Add missing info of code object in inspect documentation. 4821 4822.. 4823 4824.. bpo: 19824 4825.. date: 0057 4826.. nonce: We9an6 4827.. section: Documentation 4828 4829Improve the documentation for, and links to, template strings by emphasizing 4830their utility for internationalization, and by clarifying some usage 4831constraints. (See also: bpo-20314, bpo-12518) 4832 4833.. 4834 4835.. bpo: 28929 4836.. date: 0056 4837.. nonce: Md7kb0 4838.. section: Documentation 4839 4840Link the documentation to its source file on GitHub. 4841 4842.. 4843 4844.. bpo: 25008 4845.. date: 0055 4846.. nonce: CeIzyU 4847.. section: Documentation 4848 4849Document smtpd.py as effectively deprecated and add a pointer to aiosmtpd, a 4850third-party asyncio-based replacement. 4851 4852.. 4853 4854.. bpo: 26355 4855.. date: 0054 4856.. nonce: SDq_8Y 4857.. section: Documentation 4858 4859Add canonical header link on each page to corresponding major version of the 4860documentation. Patch by Matthias Bussonnier. 4861 4862.. 4863 4864.. bpo: 29349 4865.. date: 0053 4866.. nonce: PjSo-t 4867.. section: Documentation 4868 4869Fix Python 2 syntax in code for building the documentation. 4870 4871.. 4872 4873.. bpo: 23722 4874.. date: 0052 4875.. nonce: nFjY3C 4876.. section: Documentation 4877 4878The data model reference and the porting section in the 3.6 What's New guide 4879now cover the additional ``__classcell__`` handling needed for custom 4880metaclasses to fully support PEP 487 and zero-argument ``super()``. 4881 4882.. 4883 4884.. bpo: 28513 4885.. date: 0051 4886.. nonce: L3joAz 4887.. section: Documentation 4888 4889Documented command-line interface of zipfile. 4890 4891.. 4892 4893.. bpo: 29639 4894.. date: 2017-09-08-15-59-07 4895.. nonce: yIZecp 4896.. section: Tests 4897 4898test.support.HOST is now "localhost", a new HOSTv4 constant has been added 4899for your ``127.0.0.1`` needs, similar to the existing HOSTv6 constant. 4900 4901.. 4902 4903.. bpo: 31320 4904.. date: 2017-09-05-14-23-35 4905.. nonce: JRDHx7 4906.. section: Tests 4907 4908Silence traceback in test_ssl 4909 4910.. 4911 4912.. bpo: 31346 4913.. date: 2017-09-04-16-21-18 4914.. nonce: xni1VR 4915.. section: Tests 4916 4917Prefer PROTOCOL_TLS_CLIENT and PROTOCOL_TLS_SERVER protocols for SSLContext. 4918 4919.. 4920 4921.. bpo: 25674 4922.. date: 2017-09-04-13-03-55 4923.. nonce: whVTXh 4924.. section: Tests 4925 4926Remove sha256.tbs-internet.com ssl test 4927 4928.. 4929 4930.. bpo: 30715 4931.. date: 2017-07-25-15-27-44 4932.. nonce: Sp7bTF 4933.. section: Tests 4934 4935Address ALPN callback changes for OpenSSL 1.1.0f. The latest version behaves 4936like OpenSSL 1.0.2 and no longer aborts handshake. 4937 4938.. 4939 4940.. bpo: 30822 4941.. date: 2017-07-20-14-29-54 4942.. nonce: X0wREo 4943.. section: Tests 4944 4945regrtest: Exclude tzdata from regrtest --all. When running the test suite 4946using --use=all / -u all, exclude tzdata since it makes test_datetime too 4947slow (15-20 min on some buildbots) which then times out on some buildbots. 4948Fix also regrtest command line parser to allow passing -u extralargefile to 4949run test_zipfile64. 4950 4951.. 4952 4953.. bpo: 30695 4954.. date: 2017-06-30-11-20-20 4955.. nonce: lo7FQX 4956.. section: Tests 4957 4958Add the `set_nomemory(start, stop)` and `remove_mem_hooks()` functions to 4959the _testcapi module. 4960 4961.. 4962 4963.. bpo: 30357 4964.. date: 0012 4965.. nonce: n4CPEa 4966.. section: Tests 4967 4968test_thread: setUp() now uses support.threading_setup() and 4969support.threading_cleanup() to wait until threads complete to avoid random 4970side effects on following tests. Initial patch written by Grzegorz Grzywacz. 4971 4972.. 4973 4974.. bpo: 30197 4975.. date: 0011 4976.. nonce: c5wRfu 4977.. section: Tests 4978 4979Enhanced functions swap_attr() and swap_item() in the test.support module. 4980They now work when delete replaced attribute or item inside the with 4981statement. The old value of the attribute or item (or None if it doesn't 4982exist) now will be assigned to the target of the "as" clause, if there is 4983one. 4984 4985.. 4986 4987.. bpo: 24932 4988.. date: 0010 4989.. nonce: XLTzvR 4990.. section: Tests 4991 4992Use proper command line parsing in _testembed 4993 4994.. 4995 4996.. bpo: 28950 4997.. date: 0009 4998.. nonce: 1W8Glo 4999.. section: Tests 5000 5001Disallow -j0 to be combined with -T/-l in regrtest command line arguments. 5002 5003.. 5004 5005.. bpo: 28683 5006.. date: 0008 5007.. nonce: Fp-Hdq 5008.. section: Tests 5009 5010Fix the tests that bind() a unix socket and raise PermissionError on Android 5011for a non-root user. 5012 5013.. 5014 5015.. bpo: 26936 5016.. date: 0007 5017.. nonce: XSZSVS 5018.. section: Tests 5019 5020Fix the test_socket failures on Android - getservbyname(), getservbyport() 5021and getaddrinfo() are broken on some Android API levels. 5022 5023.. 5024 5025.. bpo: 28666 5026.. date: 0006 5027.. nonce: RtTk-4 5028.. section: Tests 5029 5030Now test.support.rmtree is able to remove unwritable or unreadable 5031directories. 5032 5033.. 5034 5035.. bpo: 23839 5036.. date: 0005 5037.. nonce: zsT_L9 5038.. section: Tests 5039 5040Various caches now are cleared before running every test file. 5041 5042.. 5043 5044.. bpo: 26944 5045.. date: 0004 5046.. nonce: ChZ_BO 5047.. section: Tests 5048 5049Fix test_posix for Android where 'id -G' is entirely wrong or missing the 5050effective gid. 5051 5052.. 5053 5054.. bpo: 28409 5055.. date: 0003 5056.. nonce: Q2IlxJ 5057.. section: Tests 5058 5059regrtest: fix the parser of command line arguments. 5060 5061.. 5062 5063.. bpo: 28217 5064.. date: 0002 5065.. nonce: Y37OKV 5066.. section: Tests 5067 5068Adds _testconsole module to test console input. 5069 5070.. 5071 5072.. bpo: 26939 5073.. date: 0001 5074.. nonce: 7j_W5R 5075.. section: Tests 5076 5077Add the support.setswitchinterval() function to fix test_functools hanging 5078on the Android armv7 qemu emulator. 5079 5080.. 5081 5082.. bpo: 31354 5083.. date: 2017-09-08-11-48-11 5084.. nonce: 4f-VJK 5085.. section: Build 5086 5087Allow --with-lto to be used on all builds, not just `make profile-opt`. 5088 5089.. 5090 5091.. bpo: 31370 5092.. date: 2017-09-06-23-14-08 5093.. nonce: -j4kN4 5094.. section: Build 5095 5096Remove support for building --without-threads. 5097 5098This option is not really useful anymore in the 21st century. Removing lots 5099of conditional paths allows us to simplify the code base, including in 5100difficult to maintain low-level internal code. 5101 5102.. 5103 5104.. bpo: 31341 5105.. date: 2017-09-04-14-43-46 5106.. nonce: XLuZFk 5107.. section: Build 5108 5109Per PEP 11, support for the IRIX operating system was removed. 5110 5111.. 5112 5113.. bpo: 30854 5114.. date: 2017-07-05-16-54-59 5115.. nonce: sPADRI 5116.. section: Build 5117 5118Fix compile error when compiling --without-threads. Patch by Masayuki 5119Yamamoto. 5120 5121.. 5122 5123.. bpo: 30687 5124.. date: 0050 5125.. nonce: 8mqHnu 5126.. section: Build 5127 5128Locate msbuild.exe on Windows when building rather than vcvarsall.bat 5129 5130.. 5131 5132.. bpo: 20210 5133.. date: 0049 5134.. nonce: MN_n-r 5135.. section: Build 5136 5137Support the *disabled* marker in Setup files. Extension modules listed after 5138this marker are not built at all, neither by the Makefile nor by setup.py. 5139 5140.. 5141 5142.. bpo: 29941 5143.. date: 0048 5144.. nonce: ylh45A 5145.. section: Build 5146 5147Add ``--with-assertions`` configure flag to explicitly enable C ``assert()`` 5148checks. Defaults to off. ``--with-pydebug`` implies ``--with-assertions``. 5149 5150.. 5151 5152.. bpo: 28787 5153.. date: 0047 5154.. nonce: vhH_6a 5155.. section: Build 5156 5157Fix out-of-tree builds of Python when configured with ``--with--dtrace``. 5158 5159.. 5160 5161.. bpo: 29243 5162.. date: 0046 5163.. nonce: WDK4hT 5164.. section: Build 5165 5166Prevent unnecessary rebuilding of Python during ``make test``, ``make 5167install`` and some other make targets when configured with 5168``--enable-optimizations``. 5169 5170.. 5171 5172.. bpo: 23404 5173.. date: 0045 5174.. nonce: PdYVWg 5175.. section: Build 5176 5177Don't regenerate generated files based on file modification time anymore: 5178the action is now explicit. Replace ``make touch`` with ``make regen-all``. 5179 5180.. 5181 5182.. bpo: 29643 5183.. date: 0044 5184.. nonce: 4WLIJQ 5185.. section: Build 5186 5187Fix ``--enable-optimization`` didn't work. 5188 5189.. 5190 5191.. bpo: 27593 5192.. date: 0043 5193.. nonce: v87xEr 5194.. section: Build 5195 5196sys.version and the platform module python_build(), python_branch(), and 5197python_revision() functions now use git information rather than hg when 5198building from a repo. 5199 5200.. 5201 5202.. bpo: 29572 5203.. date: 0042 5204.. nonce: iZ1XKK 5205.. section: Build 5206 5207Update Windows build and OS X installers to use OpenSSL 1.0.2k. 5208 5209.. 5210 5211.. bpo: 27659 5212.. date: 0041 5213.. nonce: i8UzRC 5214.. section: Build 5215 5216Prohibit implicit C function declarations: use 5217``-Werror=implicit-function-declaration`` when possible (GCC and Clang, 5218but it depends on the compiler version). Patch written by Chi Hsuan Yen. 5219 5220.. 5221 5222.. bpo: 29384 5223.. date: 0040 5224.. nonce: v3IqBE 5225.. section: Build 5226 5227Remove old Be OS helper scripts. 5228 5229.. 5230 5231.. bpo: 26851 5232.. date: 0039 5233.. nonce: R5243g 5234.. section: Build 5235 5236Set Android compilation and link flags. 5237 5238.. 5239 5240.. bpo: 28768 5241.. date: 0038 5242.. nonce: b9_a6E 5243.. section: Build 5244 5245Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto 5246 5247.. 5248 5249.. bpo: 29080 5250.. date: 0037 5251.. nonce: b3qLQT 5252.. section: Build 5253 5254Removes hard dependency on hg.exe from PCBuild/build.bat 5255 5256.. 5257 5258.. bpo: 23903 5259.. date: 0036 5260.. nonce: JXJ889 5261.. section: Build 5262 5263Added missed names to PC/python3.def. 5264 5265.. 5266 5267.. bpo: 28762 5268.. date: 0035 5269.. nonce: Ru0YN_ 5270.. section: Build 5271 5272lockf() is available on Android API level 24, but the F_LOCK macro is not 5273defined in android-ndk-r13. 5274 5275.. 5276 5277.. bpo: 28538 5278.. date: 0034 5279.. nonce: FqtN7v 5280.. section: Build 5281 5282Fix the compilation error that occurs because if_nameindex() is available on 5283Android API level 24, but the if_nameindex structure is not defined. 5284 5285.. 5286 5287.. bpo: 20211 5288.. date: 0033 5289.. nonce: gpNptI 5290.. section: Build 5291 5292Do not add the directory for installing C header files and the directory for 5293installing object code libraries to the cross compilation search paths. 5294Original patch by Thomas Petazzoni. 5295 5296.. 5297 5298.. bpo: 28849 5299.. date: 0032 5300.. nonce: AzRRF5 5301.. section: Build 5302 5303Do not define sys.implementation._multiarch on Android. 5304 5305.. 5306 5307.. bpo: 10656 5308.. date: 0031 5309.. nonce: pR8FFU 5310.. section: Build 5311 5312Fix out-of-tree building on AIX. Patch by Tristan Carel and Michael 5313Haubenwallner. 5314 5315.. 5316 5317.. bpo: 26359 5318.. date: 0030 5319.. nonce: CLz6qy 5320.. section: Build 5321 5322Rename --with-optimiations to --enable-optimizations. 5323 5324.. 5325 5326.. bpo: 28444 5327.. date: 0029 5328.. nonce: zkc9nT 5329.. section: Build 5330 5331Fix missing extensions modules when cross compiling. 5332 5333.. 5334 5335.. bpo: 28208 5336.. date: 0028 5337.. nonce: DtoP1i 5338.. section: Build 5339 5340Update Windows build and OS X installers to use SQLite 3.14.2. 5341 5342.. 5343 5344.. bpo: 28248 5345.. date: 0027 5346.. nonce: KY_-en 5347.. section: Build 5348 5349Update Windows build and OS X installers to use OpenSSL 1.0.2j. 5350 5351.. 5352 5353.. bpo: 21124 5354.. date: 0026 5355.. nonce: 1bbArU 5356.. section: Build 5357 5358Fix building the _struct module on Cygwin by passing ``NULL`` instead of 5359``&PyType_Type`` to PyVarObject_HEAD_INIT. Patch by Masayuki Yamamoto. 5360 5361.. 5362 5363.. bpo: 13756 5364.. date: 0025 5365.. nonce: sslhpC 5366.. section: Build 5367 5368Fix building extensions modules on Cygwin. Patch by Roumen Petrov, based on 5369original patch by Jason Tishler. 5370 5371.. 5372 5373.. bpo: 21085 5374.. date: 0024 5375.. nonce: 2VvyUF 5376.. section: Build 5377 5378Add configure check for siginfo_t.si_band, which Cygwin does not provide. 5379Patch by Masayuki Yamamoto with review and rebase by Erik Bray. 5380 5381.. 5382 5383.. bpo: 28258 5384.. date: 0023 5385.. nonce: iKtAHd 5386.. section: Build 5387 5388Fixed build with Estonian locale (python-config and distclean targets in 5389Makefile). Patch by Arfrever Frehtes Taifersar Arahesis. 5390 5391.. 5392 5393.. bpo: 26661 5394.. date: 0022 5395.. nonce: Z_HNbs 5396.. section: Build 5397 5398setup.py now detects system libffi with multiarch wrapper. 5399 5400.. 5401 5402.. bpo: 27979 5403.. date: 0021 5404.. nonce: fR0KgM 5405.. section: Build 5406 5407A full copy of libffi is no longer bundled for use when building _ctypes on 5408non-OSX UNIX platforms. An installed copy of libffi is now required when 5409building _ctypes on such platforms. 5410 5411.. 5412 5413.. bpo: 15819 5414.. date: 0020 5415.. nonce: QVDr3E 5416.. section: Build 5417 5418Remove redundant include search directory option for building outside the 5419source tree. 5420 5421.. 5422 5423.. bpo: 28676 5424.. date: 0019 5425.. nonce: Wxf6Ds 5426.. section: Build 5427 5428Prevent missing 'getentropy' declaration warning on macOS. Patch by Gareth 5429Rees. 5430 5431.. 5432 5433.. bpo: 31392 5434.. date: 2017-09-07-20-09-04 5435.. nonce: h92bWF 5436.. section: Windows 5437 5438Update Windows build to use OpenSSL 1.1.0f 5439 5440.. 5441 5442.. bpo: 30389 5443.. date: 2017-09-06-17-14-54 5444.. nonce: 9Dizrx 5445.. section: Windows 5446 5447Adds detection of Visual Studio 2017 to distutils on Windows. 5448 5449.. 5450 5451.. bpo: 31358 5452.. date: 2017-09-05-19-46-52 5453.. nonce: n1Fjxc 5454.. section: Windows 5455 5456zlib is no longer bundled in the CPython source, instead it is downloaded on 5457demand just like bz2, lzma, OpenSSL, Tcl/Tk, and SQLite. 5458 5459.. 5460 5461.. bpo: 31340 5462.. date: 2017-09-04-13-19-05 5463.. nonce: MbkzLi 5464.. section: Windows 5465 5466Change to building with MSVC v141 (included with Visual Studio 2017) 5467 5468.. 5469 5470.. bpo: 30581 5471.. date: 2017-08-04-10-05-19 5472.. nonce: OQhR7l 5473.. section: Windows 5474 5475os.cpu_count() now returns the correct number of processors on Windows when 5476the number of logical processors is greater than 64. 5477 5478.. 5479 5480.. bpo: 30916 5481.. date: 2017-07-15-00-40-12 5482.. nonce: BpCrro 5483.. section: Windows 5484 5485Pre-build OpenSSL, Tcl and Tk and include the binaries in the build. 5486 5487.. 5488 5489.. bpo: 30731 5490.. date: 2017-07-13-11-22-53 5491.. nonce: nmMDwI 5492.. section: Windows 5493 5494Add a missing xmlns to python.manifest so that it matches the schema. 5495 5496.. 5497 5498.. bpo: 30291 5499.. date: 2017-06-28-03-20-48 5500.. nonce: zBpOl6 5501.. section: Windows 5502 5503Allow requiring 64-bit interpreters from py.exe using -64 suffix. 5504Contributed by Steve (Gadget) Barnes. 5505 5506.. 5507 5508.. bpo: 30362 5509.. date: 2017-06-28-03-08-22 5510.. nonce: XxeVMB 5511.. section: Windows 5512 5513Adds list options (-0, -0p) to py.exe launcher. Contributed by Steve Barnes. 5514 5515.. 5516 5517.. bpo: 23451 5518.. date: 2017-06-27-07-04-06 5519.. nonce: bl_QOB 5520.. section: Windows 5521 5522Fix socket deprecation warnings in socketmodule.c. Patch by Segev Finer. 5523 5524.. 5525 5526.. bpo: 30450 5527.. date: 0088 5528.. nonce: qsaK8y 5529.. section: Windows 5530 5531The build process on Windows no longer depends on Subversion, instead 5532pulling external code from GitHub via a Python script. If Python 3.6 is not 5533found on the system (via ``py -3.6``), NuGet is used to download a copy of 553432-bit Python. 5535 5536.. 5537 5538.. bpo: 29579 5539.. date: 0087 5540.. nonce: 07B-FQ 5541.. section: Windows 5542 5543Removes readme.txt from the installer. 5544 5545.. 5546 5547.. bpo: 25778 5548.. date: 0086 5549.. nonce: 8uKJ82 5550.. section: Windows 5551 5552winreg does not truncate string correctly (Patch by Eryk Sun) 5553 5554.. 5555 5556.. bpo: 28896 5557.. date: 0085 5558.. nonce: qOcBBL 5559.. section: Windows 5560 5561Deprecate WindowsRegistryFinder and disable it by default 5562 5563.. 5564 5565.. bpo: 28522 5566.. date: 0084 5567.. nonce: XHMQa7 5568.. section: Windows 5569 5570Fixes mishandled buffer reallocation in getpathp.c 5571 5572.. 5573 5574.. bpo: 28402 5575.. date: 0083 5576.. nonce: v9zETJ 5577.. section: Windows 5578 5579Adds signed catalog files for stdlib on Windows. 5580 5581.. 5582 5583.. bpo: 28333 5584.. date: 0082 5585.. nonce: KnpeO4 5586.. section: Windows 5587 5588Enables Unicode for ps1/ps2 and input() prompts. (Patch by Eryk Sun) 5589 5590.. 5591 5592.. bpo: 28251 5593.. date: 0081 5594.. nonce: tR_AFs 5595.. section: Windows 5596 5597Improvements to help manuals on Windows. 5598 5599.. 5600 5601.. bpo: 28110 5602.. date: 0080 5603.. nonce: cnkP5F 5604.. section: Windows 5605 5606launcher.msi has different product codes between 32-bit and 64-bit 5607 5608.. 5609 5610.. bpo: 28161 5611.. date: 0079 5612.. nonce: hF91LI 5613.. section: Windows 5614 5615Opening CON for write access fails 5616 5617.. 5618 5619.. bpo: 28162 5620.. date: 0078 5621.. nonce: 3FHPVD 5622.. section: Windows 5623 5624WindowsConsoleIO readall() fails if first line starts with Ctrl+Z 5625 5626.. 5627 5628.. bpo: 28163 5629.. date: 0077 5630.. nonce: -DUgJw 5631.. section: Windows 5632 5633WindowsConsoleIO fileno() passes wrong flags to _open_osfhandle 5634 5635.. 5636 5637.. bpo: 28164 5638.. date: 0076 5639.. nonce: 5MfN0J 5640.. section: Windows 5641 5642_PyIO_get_console_type fails for various paths 5643 5644.. 5645 5646.. bpo: 28137 5647.. date: 0075 5648.. nonce: C1uvzY 5649.. section: Windows 5650 5651Renames Windows path file to ._pth 5652 5653.. 5654 5655.. bpo: 28138 5656.. date: 0074 5657.. nonce: pNdv64 5658.. section: Windows 5659 5660Windows ._pth file should allow import site 5661 5662.. 5663 5664.. bpo: 31493 5665.. date: 2017-09-16-23-43-39 5666.. nonce: nmHMCR 5667.. section: IDLE 5668 5669IDLE code context -- fix code update and font update timers. 5670 5671Canceling timers prevents a warning message when test_idle completes. 5672 5673.. 5674 5675.. bpo: 31488 5676.. date: 2017-09-16-01-21-20 5677.. nonce: 0rtXIT 5678.. section: IDLE 5679 5680IDLE - Update non-key options in former extension classes. When applying 5681configdialog changes, call .reload for each feature class. Change ParenMatch 5682so updated options affect existing instances attached to existing editor 5683windows. 5684 5685.. 5686 5687.. bpo: 31477 5688.. date: 2017-09-15-12-38-47 5689.. nonce: n__6sa 5690.. section: IDLE 5691 5692IDLE - Improve rstrip entry in doc. Strip trailing whitespace strips more 5693than blank spaces. Multiline string literals are not skipped. 5694 5695.. 5696 5697.. bpo: 31480 5698.. date: 2017-09-14-17-53-53 5699.. nonce: 4WJ0pl 5700.. section: IDLE 5701 5702IDLE - make tests pass with zzdummy extension disabled by default. 5703 5704.. 5705 5706.. bpo: 31421 5707.. date: 2017-09-12-08-38-27 5708.. nonce: mYfQNq 5709.. section: IDLE 5710 5711Document how IDLE runs tkinter programs. IDLE calls tcl/tk update in the 5712background in order to make live 5713 5714interaction and experimentation with tkinter applications much easier. 5715 5716.. 5717 5718.. bpo: 31414 5719.. date: 2017-09-11-15-46-05 5720.. nonce: wiepgK 5721.. section: IDLE 5722 5723IDLE -- fix tk entry box tests by deleting first. Adding to an int entry is 5724not the same as deleting and inserting because int('') will fail. 5725 5726.. 5727 5728.. bpo: 31051 5729.. date: 2017-08-30-00-06-58 5730.. nonce: 50Jp_Q 5731.. section: IDLE 5732 5733Rearrange IDLE configdialog GenPage into Window, Editor, and Help sections. 5734 5735.. 5736 5737.. bpo: 30617 5738.. date: 2017-08-27-16-49-36 5739.. nonce: UHnswr 5740.. section: IDLE 5741 5742IDLE - Add docstrings and tests for outwin subclass of editor. 5743 5744Move some data and functions from the class to module level. Patch by Cheryl 5745Sabella. 5746 5747.. 5748 5749.. bpo: 31287 5750.. date: 2017-08-27-15-31-33 5751.. nonce: aZERfI 5752.. section: IDLE 5753 5754IDLE - Do not modify tkinter.message in test_configdialog. 5755 5756.. 5757 5758.. bpo: 27099 5759.. date: 2017-08-24-13-48-16 5760.. nonce: rENefC 5761.. section: IDLE 5762 5763Convert IDLE's built-in 'extensions' to regular features. 5764 5765About 10 IDLE features were implemented as supposedly optional extensions. 5766Their different behavior could be confusing or worse for users and not good 5767for maintenance. Hence the conversion. 5768 5769The main difference for users is that user configurable key bindings for 5770builtin features are now handled uniformly. Now, editing a binding in a 5771keyset only affects its value in the keyset. All bindings are defined 5772together in the system-specific default keysets in config-extensions.def. 5773All custom keysets are saved as a whole in config-extension.cfg. All take 5774effect as soon as one clicks Apply or Ok. 5775 5776The affected events are '<<force-open-completions>>', '<<expand-word>>', 5777'<<force-open-calltip>>', '<<flash-paren>>', '<<format-paragraph>>', 5778'<<run-module>>', '<<check-module>>', and '<<zoom-height>>'. Any (global) 5779customizations made before 3.6.3 will not affect their keyset-specific 5780customization after 3.6.3. and vice versa. 5781 5782Initial patch by Charles Wohlganger. 5783 5784.. 5785 5786.. bpo: 31206 5787.. date: 2017-08-18-14-13-42 5788.. nonce: F1-tKK 5789.. section: IDLE 5790 5791IDLE: Factor HighPage(Frame) class from ConfigDialog. Patch by Cheryl 5792Sabella. 5793 5794.. 5795 5796.. bpo: 31001 5797.. date: 2017-08-17-15-00-20 5798.. nonce: KLxYHC 5799.. section: IDLE 5800 5801Add tests for configdialog highlight tab. Patch by Cheryl Sabella. 5802 5803.. 5804 5805.. bpo: 31205 5806.. date: 2017-08-15-12-58-23 5807.. nonce: iuziZ5 5808.. section: IDLE 5809 5810IDLE: Factor KeysPage(Frame) class from ConfigDialog. The slightly modified 5811tests continue to pass. Patch by Cheryl Sabella. 5812 5813.. 5814 5815.. bpo: 31130 5816.. date: 2017-08-07-14-02-56 5817.. nonce: FbsC7f 5818.. section: IDLE 5819 5820IDLE -- stop leaks in test_configdialog. Initial patch by Victor Stinner. 5821 5822.. 5823 5824.. bpo: 31002 5825.. date: 2017-08-03-17-54-02 5826.. nonce: kUSgTE 5827.. section: IDLE 5828 5829Add tests for configdialog keys tab. Patch by Cheryl Sabella. 5830 5831.. 5832 5833.. bpo: 19903 5834.. date: 2017-08-03-14-08-42 5835.. nonce: sqE1FS 5836.. section: IDLE 5837 5838IDLE: Calltips use `inspect.signature` instead of `inspect.getfullargspec`. 5839This improves calltips for builtins converted to use Argument Clinic. Patch 5840by Louie Lu. 5841 5842.. 5843 5844.. bpo: 31083 5845.. date: 2017-07-31-23-20-51 5846.. nonce: 991FXm 5847.. section: IDLE 5848 5849IDLE - Add an outline of a TabPage class in configdialog. Update existing 5850classes to match outline. Initial patch by Cheryl Sabella. 5851 5852.. 5853 5854.. bpo: 31050 5855.. date: 2017-07-30-17-39-59 5856.. nonce: AXR3kP 5857.. section: IDLE 5858 5859Factor GenPage(Frame) class from ConfigDialog. The slightly modified tests 5860continue to pass. Patch by Cheryl Sabella. 5861 5862.. 5863 5864.. bpo: 31004 5865.. date: 2017-07-30-01-00-58 5866.. nonce: m8cc1t 5867.. section: IDLE 5868 5869IDLE - Factor FontPage(Frame) class from ConfigDialog. 5870 5871Slightly modified tests continue to pass. Fix General tests. Patch mostly by 5872Cheryl Sabella. 5873 5874.. 5875 5876.. bpo: 30781 5877.. date: 2017-07-28-18-59-06 5878.. nonce: ud5m18 5879.. section: IDLE 5880 5881IDLE - Use ttk widgets in ConfigDialog. Patches by Terry Jan Reedy and 5882Cheryl Sabella. 5883 5884.. 5885 5886.. bpo: 31060 5887.. date: 2017-07-27-14-48-42 5888.. nonce: GdY_VY 5889.. section: IDLE 5890 5891IDLE - Finish rearranging methods of ConfigDialog Grouping methods 5892pertaining to each tab and the buttons will aid writing tests and improving 5893the tabs and will enable splitting the groups into classes. 5894 5895.. 5896 5897.. bpo: 30853 5898.. date: 2017-07-27-10-01-14 5899.. nonce: enPvvc 5900.. section: IDLE 5901 5902IDLE -- Factor a VarTrace class out of ConfigDialog. 5903 5904Instance tracers manages pairs consisting of a tk variable and a callback 5905function. When tracing is turned on, setting the variable calls the 5906function. Test coverage for the new class is 100%. 5907 5908.. 5909 5910.. bpo: 31003 5911.. date: 2017-07-25-01-28-35 5912.. nonce: bYINVH 5913.. section: IDLE 5914 5915IDLE: Add more tests for General tab. 5916 5917.. 5918 5919.. bpo: 30993 5920.. date: 2017-07-22-18-08-41 5921.. nonce: 34vJkB 5922.. section: IDLE 5923 5924IDLE - Improve configdialog font page and tests. 5925 5926In configdialog: Document causal pathways in create_font_tab docstring. 5927Simplify some attribute names. Move set_samples calls to var_changed_font 5928(idea from Cheryl Sabella). Move related functions to positions after the 5929create widgets function. 5930 5931In test_configdialog: Fix test_font_set so not order dependent. Fix renamed 5932test_indent_scale so it tests the widget. Adjust tests for movement of 5933set_samples call. Add tests for load functions. Put all font tests in one 5934class and tab indent tests in another. Except for two lines, these tests 5935completely cover the related functions. 5936 5937.. 5938 5939.. bpo: 30981 5940.. date: 2017-07-21-01-55-14 5941.. nonce: ZFvQPt 5942.. section: IDLE 5943 5944IDLE -- Add more configdialog font page tests. 5945 5946.. 5947 5948.. bpo: 28523 5949.. date: 2017-07-21-00-54-52 5950.. nonce: OPcqYJ 5951.. section: IDLE 5952 5953IDLE: replace 'colour' with 'color' in configdialog. 5954 5955.. 5956 5957.. bpo: 30917 5958.. date: 2017-07-17-23-35-57 5959.. nonce: hSiuuO 5960.. section: IDLE 5961 5962Add tests for idlelib.config.IdleConf. Increase coverage from 46% to 96%. 5963Patch by Louie Lu. 5964 5965.. 5966 5967.. bpo: 30934 5968.. date: 2017-07-15-22-26-57 5969.. nonce: BanuSB 5970.. section: IDLE 5971 5972Document coverage details for idlelib tests. 5973 5974* Add section to idlelib/idle-test/README.txt. 5975 5976* Include check that branches are taken both ways. 5977 5978* Exclude IDLE-specific code that does not run during unit tests. 5979 5980.. 5981 5982.. bpo: 30913 5983.. date: 2017-07-13-23-07-33 5984.. nonce: aezn_e 5985.. section: IDLE 5986 5987IDLE: Document ConfigDialog tk Vars, methods, and widgets in docstrings This 5988will facilitate improving the dialog and splitting up the class. Original 5989patch by Cheryl Sabella. 5990 5991.. 5992 5993.. bpo: 30899 5994.. date: 2017-07-11-02-26-17 5995.. nonce: SQmVO8 5996.. section: IDLE 5997 5998IDLE: Add tests for ConfigParser subclasses in config. Patch by Louie Lu. 5999 6000.. 6001 6002.. bpo: 30881 6003.. date: 2017-07-11-02-21-42 6004.. nonce: 4KAq_9 6005.. section: IDLE 6006 6007IDLE: Add docstrings to browser.py. Patch by Cheryl Sabella. 6008 6009.. 6010 6011.. bpo: 30851 6012.. date: 2017-07-09-23-53-00 6013.. nonce: AHXBYa 6014.. section: IDLE 6015 6016IDLE: Remove unused variables in configdialog. One is a duplicate, one is 6017set but cannot be altered by users. Patch by Cheryl Sabella. 6018 6019.. 6020 6021.. bpo: 30870 6022.. date: 2017-07-08-17-57-04 6023.. nonce: IcR2pf 6024.. section: IDLE 6025 6026IDLE: In Settings dialog, select font with Up, Down keys as well as mouse. 6027Initial patch by Louie Lu. 6028 6029.. 6030 6031.. bpo: 8231 6032.. date: 2017-07-07-21-10-55 6033.. nonce: yEge3L 6034.. section: IDLE 6035 6036IDLE: call config.IdleConf.GetUserCfgDir only once. 6037 6038.. 6039 6040.. bpo: 30779 6041.. date: 2017-07-07-20-26-37 6042.. nonce: 8KXEXN 6043.. section: IDLE 6044 6045IDLE: Factor ConfigChanges class from configdialog, put in config; test. * 6046In config, put dump test code in a function; run it and unittest in 'if 6047__name__ == '__main__'. * Add class config.ConfigChanges based on 6048changes_class_v4.py on bpo issue. * Add class test_config.ChangesTest, 6049partly using configdialog_tests_v1.py. * Revise configdialog to use 6050ConfigChanges; see tracker msg297804. * Revise test_configdialog to match 6051configdialog changes. * Remove configdialog functions unused or moved to 6052ConfigChanges. Cheryl Sabella contributed parts of the patch. 6053 6054.. 6055 6056.. bpo: 30777 6057.. date: 2017-07-04-22-45-46 6058.. nonce: uxzlMB 6059.. section: IDLE 6060 6061IDLE: configdialog - Add docstrings and fix comments. Patch by Cheryl 6062Sabella. 6063 6064.. 6065 6066.. bpo: 30495 6067.. date: 2017-06-29-18-23-06 6068.. nonce: qIWgc4 6069.. section: IDLE 6070 6071IDLE: Improve textview with docstrings, PEP8 names, and more tests. Patch by 6072Cheryl Sabella. 6073 6074.. 6075 6076.. bpo: 30723 6077.. date: 2017-06-27-19-05-40 6078.. nonce: rQh06y 6079.. section: IDLE 6080 6081IDLE: Make several improvements to parenmatch. Add 'parens' style to 6082highlight both opener and closer. Make 'default' style, which is not 6083default, a synonym for 'opener'. Make time-delay work the same with all 6084styles. Add help for config dialog extensions tab, including help for 6085parenmatch. Add new tests. Original patch by Charles Wohlganger. 6086 6087.. 6088 6089.. bpo: 30674 6090.. date: 2017-06-27-01-40-34 6091.. nonce: ppK_q8 6092.. section: IDLE 6093 6094IDLE: add docstrings to grep module. Patch by Cheryl Sabella 6095 6096.. 6097 6098.. bpo: 21519 6099.. date: 2017-06-27-00-29-56 6100.. nonce: fTj9T0 6101.. section: IDLE 6102 6103IDLE's basic custom key entry dialog now detects duplicates properly. 6104Original patch by Saimadhav Heblikar. 6105 6106.. 6107 6108.. bpo: 29910 6109.. date: 2017-06-26-22-45-27 6110.. nonce: mqHh7u 6111.. section: IDLE 6112 6113IDLE no longer deletes a character after commenting out a region by a key 6114shortcut. Add ``return 'break'`` for this and other potential conflicts 6115between IDLE and default key bindings. 6116 6117.. 6118 6119.. bpo: 30728 6120.. date: 2017-06-26-15-47-13 6121.. nonce: qH4TGL 6122.. section: IDLE 6123 6124Review and change idlelib.configdialog names. Lowercase method and attribute 6125names. Replace 'colour' with 'color', expand overly cryptic names, delete 6126unneeded underscores. Replace ``import *`` with specific imports. Patches by 6127Cheryl Sabella. 6128 6129.. 6130 6131.. bpo: 6739 6132.. date: 2017-06-26-00-28-59 6133.. nonce: x5MfhB 6134.. section: IDLE 6135 6136IDLE: Verify user-entered key sequences by trying to bind them with tk. Add 6137tests for all 3 validation functions. Original patch by G Polo. Tests added 6138by Cheryl Sabella. 6139 6140.. 6141 6142.. bpo: 15786 6143.. date: 0096 6144.. nonce: _XRbaR 6145.. section: IDLE 6146 6147Fix several problems with IDLE's autocompletion box. The following should 6148now work: clicking on selection box items; using the scrollbar; selecting an 6149item by hitting Return. Hangs on MacOSX should no longer happen. Patch by 6150Louie Lu. 6151 6152.. 6153 6154.. bpo: 25514 6155.. date: 0095 6156.. nonce: 882pXa 6157.. section: IDLE 6158 6159Add doc subsubsection about IDLE failure to start. Popup no-connection 6160message directs users to this section. 6161 6162.. 6163 6164.. bpo: 30642 6165.. date: 0094 6166.. nonce: 3Zujzt 6167.. section: IDLE 6168 6169Fix reference leaks in IDLE tests. Patches by Louie Lu and Terry Jan Reedy. 6170 6171.. 6172 6173.. bpo: 30495 6174.. date: 0093 6175.. nonce: I3i5vL 6176.. section: IDLE 6177 6178Add docstrings for textview.py and use PEP8 names. Patches by Cheryl Sabella 6179and Terry Jan Reedy. 6180 6181.. 6182 6183.. bpo: 30290 6184.. date: 0092 6185.. nonce: fZ3kod 6186.. section: IDLE 6187 6188Help-about: use pep8 names and add tests. Increase coverage to 100%. Patches 6189by Louie Lu, Cheryl Sabella, and Terry Jan Reedy. 6190 6191.. 6192 6193.. bpo: 30303 6194.. date: 0091 6195.. nonce: 2L2F-4 6196.. section: IDLE 6197 6198Add _utest option to textview; add new tests. Increase coverage to 100%. 6199Patches by Louie Lu and Terry Jan Reedy. 6200 6201.. 6202 6203.. bpo: 29071 6204.. date: 0090 6205.. nonce: FCOpJn 6206.. section: IDLE 6207 6208IDLE colors f-string prefixes (but not invalid ur prefixes). 6209 6210.. 6211 6212.. bpo: 28572 6213.. date: 0089 6214.. nonce: 1_duKY 6215.. section: IDLE 6216 6217Add 10% to coverage of IDLE's test_configdialog. Update and augment 6218description of the configuration system. 6219 6220.. 6221 6222.. bpo: 30983 6223.. date: 2017-08-18-17-19-23 6224.. nonce: ggGz9z 6225.. section: Tools/Demos 6226 6227gdb integration commands (py-bt, etc.) work on optimized shared builds now, 6228too. PEP 523 introduced _PyEval_EvalFrameDefault which inlines 6229PyEval_EvalFrameEx on non-debug shared builds. This broke the ability to 6230use py-bt, py-up, and a few other Python-specific gdb integrations. The 6231problem is fixed by only looking for _PyEval_EvalFrameDefault frames in 6232python-gdb.py. Original patch by Bruno "Polaco" Penteado. 6233 6234.. 6235 6236.. bpo: 29748 6237.. date: 0018 6238.. nonce: 6pV6s9 6239.. section: Tools/Demos 6240 6241Added the slice index converter in Argument Clinic. 6242 6243.. 6244 6245.. bpo: 24037 6246.. date: 0017 6247.. nonce: KPFC7o 6248.. section: Tools/Demos 6249 6250Argument Clinic now uses the converter `bool(accept={int})` rather than 6251`int` for semantical booleans. This avoids repeating the default value for 6252Python and C and will help in converting to `bool` in future. 6253 6254.. 6255 6256.. bpo: 29367 6257.. date: 0016 6258.. nonce: 4dOKL0 6259.. section: Tools/Demos 6260 6261python-gdb.py now supports also ``method-wrapper`` (``wrapperobject``) 6262objects. 6263 6264.. 6265 6266.. bpo: 28023 6267.. date: 0015 6268.. nonce: 4gzSGp 6269.. section: Tools/Demos 6270 6271Fix python-gdb.py didn't support new dict implementation. 6272 6273.. 6274 6275.. bpo: 15369 6276.. date: 0014 6277.. nonce: bdZ3n- 6278.. section: Tools/Demos 6279 6280The pybench and pystone microbenchmark have been removed from Tools. Please 6281use the new Python benchmark suite https://github.com/python/performance 6282which is more reliable and includes a portable version of pybench working on 6283Python 2 and Python 3. 6284 6285.. 6286 6287.. bpo: 28102 6288.. date: 0013 6289.. nonce: 5fKaek 6290.. section: Tools/Demos 6291 6292The zipfile module CLI now prints usage to stderr. Patch by Stephen J. 6293Turnbull. 6294 6295.. 6296 6297.. bpo: 31338 6298.. date: 2017-09-05-17-51-12 6299.. nonce: LjA43Y 6300.. section: C API 6301 6302Added the ``Py_UNREACHABLE()`` macro for code paths which are never expected 6303to be reached. This and a few other useful macros are now documented in the 6304C API manual. 6305 6306.. 6307 6308.. bpo: 30832 6309.. date: 2017-07-03-17-25-40 6310.. nonce: PcTAEP 6311.. section: C API 6312 6313Remove own implementation for thread-local storage. 6314 6315CPython has provided the own implementation for thread-local storage (TLS) 6316on Python/thread.c, it's used in the case which a platform has not supplied 6317native TLS. However, currently all supported platforms (Windows and 6318pthreads) have provided native TLS and defined the Py_HAVE_NATIVE_TLS macro 6319with unconditional in any case. 6320 6321.. 6322 6323.. bpo: 30708 6324.. date: 0073 6325.. nonce: np-l1j 6326.. section: C API 6327 6328PyUnicode_AsWideCharString() now raises a ValueError if the second argument 6329is NULL and the wchar_t\* string contains null characters. 6330 6331.. 6332 6333.. bpo: 16500 6334.. date: 0072 6335.. nonce: lRpooa 6336.. section: C API 6337 6338Deprecate PyOS_AfterFork() and add PyOS_BeforeFork(), 6339PyOS_AfterFork_Parent() and PyOS_AfterFork_Child(). 6340 6341.. 6342 6343.. bpo: 6532 6344.. date: 0071 6345.. nonce: qcH6k1 6346.. section: C API 6347 6348The type of results of PyThread_start_new_thread() and 6349PyThread_get_thread_ident(), and the id parameter of 6350PyThreadState_SetAsyncExc() changed from "long" to "unsigned long". 6351 6352.. 6353 6354.. bpo: 27867 6355.. date: 0070 6356.. nonce: J-8CGo 6357.. section: C API 6358 6359Function PySlice_GetIndicesEx() is deprecated and replaced with a macro if 6360Py_LIMITED_API is not set or set to the value between 0x03050400 and 63610x03060000 (not including) or 0x03060100 or higher. Added functions 6362PySlice_Unpack() and PySlice_AdjustIndices(). 6363 6364.. 6365 6366.. bpo: 29083 6367.. date: 0069 6368.. nonce: tGTjr_ 6369.. section: C API 6370 6371Fixed the declaration of some public API functions. PyArg_VaParse() and 6372PyArg_VaParseTupleAndKeywords() were not available in limited API. 6373PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue() 6374were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is 6375defined. 6376 6377.. 6378 6379.. bpo: 28769 6380.. date: 0068 6381.. nonce: Ecmtn8 6382.. section: C API 6383 6384The result of PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8() is now of 6385type ``const char *`` rather of ``char *``. 6386 6387.. 6388 6389.. bpo: 29058 6390.. date: 0067 6391.. nonce: 0wNVP8 6392.. section: C API 6393 6394All stable API extensions added after Python 3.2 are now available only when 6395Py_LIMITED_API is set to the PY_VERSION_HEX value of the minimum Python 6396version supporting this API. 6397 6398.. 6399 6400.. bpo: 28822 6401.. date: 0066 6402.. nonce: gMqwvb 6403.. section: C API 6404 6405The index parameters *start* and *end* of PyUnicode_FindChar() are now 6406adjusted to behave like ``str[start:end]``. 6407 6408.. 6409 6410.. bpo: 28808 6411.. date: 0065 6412.. nonce: A03X6r 6413.. section: C API 6414 6415PyUnicode_CompareWithASCIIString() now never raises exceptions. 6416 6417.. 6418 6419.. bpo: 28761 6420.. date: 0064 6421.. nonce: iOgCoX 6422.. section: C API 6423 6424The fields name and doc of structures PyMemberDef, PyGetSetDef, 6425PyStructSequence_Field, PyStructSequence_Desc, and wrapperbase are now of 6426type ``const char *`` rather of ``char *``. 6427 6428.. 6429 6430.. bpo: 28748 6431.. date: 0063 6432.. nonce: AMgb_G 6433.. section: C API 6434 6435Private variable _Py_PackageContext is now of type ``const char *`` rather 6436of ``char *``. 6437 6438.. 6439 6440.. bpo: 19569 6441.. date: 0062 6442.. nonce: IPke0J 6443.. section: C API 6444 6445Compiler warnings are now emitted if use most of deprecated functions. 6446 6447.. 6448 6449.. bpo: 28426 6450.. date: 0061 6451.. nonce: zPwvbI 6452.. section: C API 6453 6454Deprecated undocumented functions PyUnicode_AsEncodedObject(), 6455PyUnicode_AsDecodedObject(), PyUnicode_AsDecodedUnicode() and 6456PyUnicode_AsEncodedUnicode(). 6457