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