1.. bpo: 30730 2.. date: 084 3.. nonce: rJsyTH 4.. original section: Library 5.. release date: 2017-07-23 6.. section: Security 7 8Prevent environment variables injection in subprocess on Windows. Prevent 9passing other environment variables and command arguments. 10 11.. 12 13.. bpo: 30694 14.. date: 083 15.. nonce: WkMWM_ 16.. original section: Library 17.. section: Security 18 19Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security 20vulnerabilities including: CVE-2017-9233 (External entity infinite loop 21DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix 22regression bugs from 2.2.0's fix to CVE-2016-0718) and CVE-2012-0876 23(Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use 24os-specific entropy sources like getrandom) doesn't impact Python, since Python 25already gets entropy from the OS to set the expat secret using 26``XML_SetHashSalt()``. 27 28.. 29 30.. bpo: 30500 31.. date: 081 32.. nonce: 1VG7R- 33.. original section: Library 34.. section: Security 35 36Fix urllib.parse.splithost() to correctly parse fragments. For example, 37``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the 38``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an 39authentication (``login@host``). 40 41.. 42 43.. bpo: 29591 44.. date: 076 45.. nonce: ExKblw 46.. original section: Library 47.. section: Security 48 49Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and 50CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more 51information. 52 53.. 54 55.. bpo: 30876 56.. date: 2017-07-11-06-31-32 57.. nonce: x35jZX 58.. section: Core and Builtins 59 60Relative import from unloaded package now reimports the package instead of 61failing with SystemError. Relative import from non-package now fails with 62ImportError rather than SystemError. 63 64.. 65 66.. bpo: 30765 67.. date: 2017-06-26-14-29-50 68.. nonce: Q5iBmf 69.. section: Core and Builtins 70 71Avoid blocking in pthread_mutex_lock() when PyThread_acquire_lock() is asked 72not to block. 73 74.. 75 76.. bpo: 27945 77.. date: 100 78.. nonce: p29r3O 79.. section: Core and Builtins 80 81Fixed various segfaults with dict when input collections are mutated during 82searching, inserting or comparing. Based on patches by Duane Griffin and 83Tim Mitchell. 84 85.. 86 87.. bpo: 25794 88.. date: 099 89.. nonce: xfPwqm 90.. section: Core and Builtins 91 92Fixed type.__setattr__() and type.__delattr__() for non-interned attribute 93names. Based on patch by Eryk Sun. 94 95.. 96 97.. bpo: 29935 98.. date: 098 99.. nonce: vgjdJo 100.. section: Core and Builtins 101 102Fixed error messages in the index() method of tuple, list and deque when 103pass indices of wrong type. 104 105.. 106 107.. bpo: 28876 108.. date: 097 109.. nonce: cU-sGT 110.. section: Core and Builtins 111 112``bool(range)`` works even if ``len(range)`` raises :exc:`OverflowError`. 113 114.. 115 116.. bpo: 29600 117.. date: 096 118.. nonce: 77wQ6C 119.. section: Core and Builtins 120 121Fix wrapping coroutine return values in StopIteration. 122 123.. 124 125.. bpo: 29537 126.. date: 095 127.. nonce: lu1ysY 128.. section: Core and Builtins 129 130Restore runtime compatibility with bytecode files generated by CPython 3.5.0 131to 3.5.2, and adjust the eval loop to avoid the problems that could be 132caused by the malformed variant of the BUILD_MAP_UNPACK_WITH_CALL opcode 133that they may contain. Patch by Petr Viktorin, Serhiy Storchaka, and Nick 134Coghlan. 135 136.. 137 138.. bpo: 28598 139.. date: 094 140.. nonce: QxbzQn 141.. section: Core and Builtins 142 143Support __rmod__ for subclasses of str being called before str.__mod__. 144Patch by Martijn Pieters. 145 146.. 147 148.. bpo: 29602 149.. date: 093 150.. nonce: qyyskC 151.. section: Core and Builtins 152 153Fix incorrect handling of signed zeros in complex constructor for complex 154subclasses and for inputs having a __complex__ method. Patch by Serhiy 155Storchaka. 156 157.. 158 159.. bpo: 29347 160.. date: 092 161.. nonce: 1RPPGN 162.. section: Core and Builtins 163 164Fixed possibly dereferencing undefined pointers when creating weakref 165objects. 166 167.. 168 169.. bpo: 29438 170.. date: 091 171.. nonce: IKxD6I 172.. section: Core and Builtins 173 174Fixed use-after-free problem in key sharing dict. 175 176.. 177 178.. bpo: 29319 179.. date: 090 180.. nonce: KLDUZf 181.. section: Core and Builtins 182 183Prevent RunMainFromImporter overwriting sys.path[0]. 184 185.. 186 187.. bpo: 29337 188.. date: 089 189.. nonce: bjX8AE 190.. section: Core and Builtins 191 192Fixed possible BytesWarning when compare the code objects. Warnings could be 193emitted at compile time. 194 195.. 196 197.. bpo: 29478 198.. date: 088 199.. nonce: rTQ-qy 200.. section: Core and Builtins 201 202If max_line_length=None is specified while using the Compat32 policy, it is 203no longer ignored. Patch by Mircea Cosbuc. 204 205.. 206 207.. bpo: 29403 208.. date: 2017-07-20-02-29-49 209.. nonce: 3RinCV 210.. section: Library 211 212Fix ``unittest.mock``'s autospec to not fail on method-bound builtin 213functions. Patch by Aaron Gallagher. 214 215.. 216 217.. bpo: 30961 218.. date: 2017-07-18-23-47-51 219.. nonce: 064jz0 220.. section: Library 221 222Fix decrementing a borrowed reference in tracemalloc. 223 224.. 225 226.. bpo: 30886 227.. date: 2017-07-10-12-14-22 228.. nonce: nqQj34 229.. section: Library 230 231Fix multiprocessing.Queue.join_thread(): it now waits until the thread 232completes, even if the thread was started by the same process which created 233the queue. 234 235.. 236 237.. bpo: 29854 238.. date: 2017-07-07-02-18-57 239.. nonce: J8wKb_ 240.. section: Library 241 242Fix segfault in readline when using readline's history-size option. Patch 243by Nir Soffer. 244 245.. 246 247.. bpo: 30807 248.. date: 2017-06-29-22-04-44 249.. nonce: sLtjY- 250.. section: Library 251 252signal.setitimer() may disable the timer when passed a tiny value. 253 254Tiny values (such as 1e-6) are valid non-zero values for setitimer(), which 255is specified as taking microsecond-resolution intervals. However, on some 256platform, our conversion routine could convert 1e-6 into a zero interval, 257therefore disabling the timer instead of (re-)scheduling it. 258 259.. 260 261.. bpo: 30441 262.. date: 2017-06-29-14-25-14 263.. nonce: 3Wh9kc 264.. section: Library 265 266Fix bug when modifying os.environ while iterating over it 267 268.. 269 270.. bpo: 30532 271.. date: 2017-06-26-11-01-59 272.. nonce: qTeL1o 273.. section: Library 274 275Fix email header value parser dropping folding white space in certain cases. 276 277.. 278 279.. bpo: 29169 280.. date: 087 281.. nonce: 8ypApm 282.. section: Library 283 284Update zlib to 1.2.11. 285 286.. 287 288.. bpo: 30879 289.. date: 086 290.. nonce: N3KI-o 291.. section: Library 292 293os.listdir() and os.scandir() now emit bytes names when called with 294bytes-like argument. 295 296.. 297 298.. bpo: 30746 299.. date: 085 300.. nonce: 7drQI0 301.. section: Library 302 303Prohibited the '=' character in environment variable names in 304``os.putenv()`` and ``os.spawn*()``. 305 306.. 307 308.. bpo: 29755 309.. date: 082 310.. nonce: diQcY_ 311.. section: Library 312 313Fixed the lgettext() family of functions in the gettext module. They now 314always return bytes. 315 316.. 317 318.. bpo: 30645 319.. date: 080 320.. nonce: oYzbbW 321.. section: Library 322 323Fix path calculation in imp.load_package(), fixing it for cases when a 324package is only shipped with bytecodes. Patch by Alexandru Ardelean. 325 326.. 327 328.. bpo: 23890 329.. date: 079 330.. nonce: GCFAAZ 331.. section: Library 332 333unittest.TestCase.assertRaises() now manually breaks a reference cycle to 334not keep objects alive longer than expected. 335 336.. 337 338.. bpo: 30149 339.. date: 078 340.. nonce: hE649r 341.. section: Library 342 343inspect.signature() now supports callables with variable-argument parameters 344wrapped with partialmethod. Patch by Dong-hee Na. 345 346.. 347 348.. bpo: 29931 349.. date: 077 350.. nonce: tfcTwK 351.. section: Library 352 353Fixed comparison check for ipaddress.ip_interface objects. Patch by Sanjay 354Sundaresan. 355 356.. 357 358.. bpo: 24484 359.. date: 075 360.. nonce: vFem8K 361.. section: Library 362 363Avoid race condition in multiprocessing cleanup. 364 365.. 366 367.. bpo: 28994 368.. date: 074 369.. nonce: 9vzun1 370.. section: Library 371 372The traceback no longer displayed for SystemExit raised in a callback 373registered by atexit. 374 375.. 376 377.. bpo: 30508 378.. date: 073 379.. nonce: wNWRS2 380.. section: Library 381 382Don't log exceptions if Task/Future "cancel()" method was called. 383 384.. 385 386.. bpo: 28556 387.. date: 072 388.. nonce: mESP7G 389.. section: Library 390 391Updates to typing module: Add generic AsyncContextManager, add support for 392ContextManager on all versions. Original PRs by Jelle Zijlstra and Ivan 393Levkivskyi 394 395.. 396 397.. bpo: 29870 398.. date: 071 399.. nonce: p960Ih 400.. section: Library 401 402Fix ssl sockets leaks when connection is aborted in asyncio/ssl 403implementation. Patch by Michaël Sghaïer. 404 405.. 406 407.. bpo: 29743 408.. date: 070 409.. nonce: en2P4s 410.. section: Library 411 412Closing transport during handshake process leaks open socket. Patch by 413Nikolay Kim 414 415.. 416 417.. bpo: 27585 418.. date: 069 419.. nonce: 0Ugqqu 420.. section: Library 421 422Fix waiter cancellation in asyncio.Lock. Patch by Mathieu Sornay. 423 424.. 425 426.. bpo: 30418 427.. date: 068 428.. nonce: EwISQm 429.. section: Library 430 431On Windows, subprocess.Popen.communicate() now also ignore EINVAL on 432stdin.write() if the child process is still running but closed the pipe. 433 434.. 435 436.. bpo: 30378 437.. date: 067 438.. nonce: R_19_5 439.. section: Library 440 441Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6 442addresses. 443 444.. 445 446.. bpo: 29960 447.. date: 066 448.. nonce: g0wr3r 449.. section: Library 450 451Preserve generator state when _random.Random.setstate() raises an exception. 452Patch by Bryan Olson. 453 454.. 455 456.. bpo: 30414 457.. date: 065 458.. nonce: jGl1Lb 459.. section: Library 460 461multiprocessing.Queue._feed background running thread do not break from main 462loop on exception. 463 464.. 465 466.. bpo: 30003 467.. date: 064 468.. nonce: BOl9HE 469.. section: Library 470 471Fix handling escape characters in HZ codec. Based on patch by Ma Lin. 472 473.. 474 475.. bpo: 30301 476.. date: 063 477.. nonce: ywOkjN 478.. section: Library 479 480Fix AttributeError when using SimpleQueue.empty() under *spawn* and 481*forkserver* start methods. 482 483.. 484 485.. bpo: 30329 486.. date: 062 487.. nonce: EuT36N 488.. section: Library 489 490imaplib and poplib now catch the Windows socket WSAEINVAL error (code 10022) 491on shutdown(SHUT_RDWR): An invalid operation was attempted. This error 492occurs sometimes on SSL connections. 493 494.. 495 496.. bpo: 30375 497.. date: 061 498.. nonce: 9c8qM7 499.. section: Library 500 501Warnings emitted when compile a regular expression now always point to the 502line in the user code. Previously they could point into inners of the re 503module if emitted from inside of groups or conditionals. 504 505.. 506 507.. bpo: 30048 508.. date: 060 509.. nonce: ELRx8R 510.. section: Library 511 512Fixed ``Task.cancel()`` can be ignored when the task is running coroutine 513and the coroutine returned without any more ``await``. 514 515.. 516 517.. bpo: 29990 518.. date: 059 519.. nonce: HWV6KE 520.. section: Library 521 522Fix range checking in GB18030 decoder. Original patch by Ma Lin. 523 524.. 525 526.. bpo: 26293 527.. date: 058 528.. nonce: wig0YG 529.. section: Library 530 531Change resulted because of zipfile breakage. (See also: bpo-29094) 532 533.. 534 535.. bpo: 30243 536.. date: 057 537.. nonce: RHQt0v 538.. section: Library 539 540Removed the __init__ methods of _json's scanner and encoder. Misusing them 541could cause memory leaks or crashes. Now scanner and encoder objects are 542completely initialized in the __new__ methods. 543 544.. 545 546.. bpo: 30185 547.. date: 056 548.. nonce: Tiu1n8 549.. section: Library 550 551Avoid KeyboardInterrupt tracebacks in forkserver helper process when Ctrl-C 552is received. 553 554.. 555 556.. bpo: 28556 557.. date: 055 558.. nonce: 51gjbP 559.. section: Library 560 561Various updates to typing module: add typing.NoReturn type, use 562WrapperDescriptorType, minor bug-fixes. Original PRs by Jim 563Fasarakis-Hilliard and Ivan Levkivskyi. 564 565.. 566 567.. bpo: 30205 568.. date: 054 569.. nonce: BsxO34 570.. section: Library 571 572Fix getsockname() for unbound AF_UNIX sockets on Linux. 573 574.. 575 576.. bpo: 30070 577.. date: 053 578.. nonce: XM_B41 579.. section: Library 580 581Fixed leaks and crashes in errors handling in the parser module. 582 583.. 584 585.. bpo: 30061 586.. date: 052 587.. nonce: 2w_dX9 588.. section: Library 589 590Fixed crashes in IOBase methods __next__() and readlines() when readline() 591or __next__() respectively return non-sizeable object. Fixed possible other 592errors caused by not checking results of PyObject_Size(), PySequence_Size(), 593or PyMapping_Size(). 594 595.. 596 597.. bpo: 30068 598.. date: 051 599.. nonce: n4q47r 600.. section: Library 601 602_io._IOBase.readlines will check if it's closed first when hint is present. 603 604.. 605 606.. bpo: 29694 607.. date: 050 608.. nonce: LWKxb1 609.. section: Library 610 611Fixed race condition in pathlib mkdir with flags parents=True. Patch by 612Armin Rigo. 613 614.. 615 616.. bpo: 29692 617.. date: 049 618.. nonce: oyWrAE 619.. section: Library 620 621Fixed arbitrary unchaining of RuntimeError exceptions in 622contextlib.contextmanager. Patch by Siddharth Velankar. 623 624.. 625 626.. bpo: 29998 627.. date: 048 628.. nonce: poeIKD 629.. section: Library 630 631Pickling and copying ImportError now preserves name and path attributes. 632 633.. 634 635.. bpo: 29942 636.. date: 047 637.. nonce: CsGNuT 638.. section: Library 639 640Fix a crash in itertools.chain.from_iterable when encountering long runs of 641empty iterables. 642 643.. 644 645.. bpo: 27863 646.. date: 046 647.. nonce: pPYHHI 648.. section: Library 649 650Fixed multiple crashes in ElementTree caused by race conditions and wrong 651types. 652 653.. 654 655.. bpo: 28699 656.. date: 045 657.. nonce: wZztZP 658.. section: Library 659 660Fixed a bug in pools in multiprocessing.pool that raising an exception at 661the very first of an iterable may swallow the exception or make the program 662hang. Patch by Davin Potts and Xiang Zhang. 663 664.. 665 666.. bpo: 25803 667.. date: 044 668.. nonce: CPDR0W 669.. section: Library 670 671Avoid incorrect errors raised by Path.mkdir(exist_ok=True) when the OS gives 672priority to errors such as EACCES over EEXIST. 673 674.. 675 676.. bpo: 29861 677.. date: 043 678.. nonce: t2ZoRK 679.. section: Library 680 681Release references to tasks, their arguments and their results as soon as 682they are finished in multiprocessing.Pool. 683 684.. 685 686.. bpo: 29884 687.. date: 042 688.. nonce: kWXR8W 689.. section: Library 690 691faulthandler: Restore the old sigaltstack during teardown. Patch by 692Christophe Zeitouny. 693 694.. 695 696.. bpo: 25455 697.. date: 041 698.. nonce: ZsahHN 699.. section: Library 700 701Fixed crashes in repr of recursive buffered file-like objects. 702 703.. 704 705.. bpo: 29800 706.. date: 040 707.. nonce: d2xASa 708.. section: Library 709 710Fix crashes in partial.__repr__ if the keys of partial.keywords are not 711strings. Patch by Michael Seifert. 712 713.. 714 715.. bpo: 29742 716.. date: 039 717.. nonce: 8hqfEO 718.. section: Library 719 720get_extra_info() raises exception if get called on closed ssl transport. 721Patch by Nikolay Kim. 722 723.. 724 725.. bpo: 8256 726.. date: 038 727.. nonce: jAwGQH 728.. section: Library 729 730Fixed possible failing or crashing input() if attributes "encoding" or 731"errors" of sys.stdin or sys.stdout are not set or are not strings. 732 733.. 734 735.. bpo: 28298 736.. date: 037 737.. nonce: xfm84U 738.. section: Library 739 740Fix a bug that prevented array 'Q', 'L' and 'I' from accepting big intables 741(objects that have __int__) as elements. Patch by Oren Milman. 742 743.. 744 745.. bpo: 29615 746.. date: 036 747.. nonce: OpFKzg 748.. section: Library 749 750SimpleXMLRPCDispatcher no longer chains KeyError (or any other exception) to 751exception(s) raised in the dispatched methods. Patch by Petr Motejlek. 752 753.. 754 755.. bpo: 29704 756.. date: 035 757.. nonce: WHbx27 758.. section: Library 759 760asyncio.subprocess.SubprocessStreamProtocol no longer closes before all 761pipes are closed. 762 763.. 764 765.. bpo: 29703 766.. date: 034 767.. nonce: ZdsPCR 768.. section: Library 769 770Fix asyncio to support instantiation of new event loops in child processes. 771 772.. 773 774.. bpo: 29376 775.. date: 033 776.. nonce: rrJhJy 777.. section: Library 778 779Fix assertion error in threading._DummyThread.is_alive(). 780 781.. 782 783.. bpo: 29110 784.. date: 032 785.. nonce: wmE-_T 786.. section: Library 787 788Fix file object leak in aifc.open() when file is given as a filesystem path 789and is not in valid AIFF format. Patch by Anthony Zhang. 790 791.. 792 793.. bpo: 28961 794.. date: 031 795.. nonce: Rt93vg 796.. section: Library 797 798Fix unittest.mock._Call helper: don't ignore the name parameter anymore. 799Patch written by Jiajun Huang. 800 801.. 802 803.. bpo: 29532 804.. date: 030 805.. nonce: YCwVQn 806.. section: Library 807 808Altering a kwarg dictionary passed to functools.partial() no longer affects 809a partial object after creation. 810 811.. 812 813.. bpo: 28556 814.. date: 029 815.. nonce: p6967e 816.. section: Library 817 818Various updates to typing module: typing.Counter, typing.ChainMap, improved 819ABC caching, etc. Original PRs by Jelle Zijlstra, Ivan Levkivskyi, Manuel 820Krebber, and Łukasz Langa. 821 822.. 823 824.. bpo: 29100 825.. date: 028 826.. nonce: LAAERS 827.. section: Library 828 829Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check 830minimum and maximum years. 831 832.. 833 834.. bpo: 29519 835.. date: 027 836.. nonce: oGGgZ4 837.. section: Library 838 839Fix weakref spewing exceptions during interpreter shutdown when used with a 840rare combination of multiprocessing and custom codecs. 841 842.. 843 844.. bpo: 29416 845.. date: 026 846.. nonce: KJGyI_ 847.. section: Library 848 849Prevent infinite loop in pathlib.Path.mkdir 850 851.. 852 853.. bpo: 29444 854.. date: 025 855.. nonce: cEwgmk 856.. section: Library 857 858Fixed out-of-bounds buffer access in the group() method of the match object. 859Based on patch by WGH. 860 861.. 862 863.. bpo: 29335 864.. date: 024 865.. nonce: _KC7IK 866.. section: Library 867 868Fix subprocess.Popen.wait() when the child process has exited to a stopped 869instead of terminated state (ex: when under ptrace). 870 871.. 872 873.. bpo: 29290 874.. date: 023 875.. nonce: XBqptF 876.. section: Library 877 878Fix a regression in argparse that help messages would wrap at non-breaking 879spaces. 880 881.. 882 883.. bpo: 28735 884.. date: 022 885.. nonce: admHLO 886.. section: Library 887 888Fixed the comparison of mock.MagickMock with mock.ANY. 889 890.. 891 892.. bpo: 29011 893.. date: 021 894.. nonce: MI5f2R 895.. section: Library 896 897Fix an important omission by adding Deque to the typing module. 898 899.. 900 901.. bpo: 29219 902.. date: 020 903.. nonce: kxui7t 904.. section: Library 905 906Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances. 907 908.. 909 910.. bpo: 28969 911.. date: 019 912.. nonce: j3HJYO 913.. section: Library 914 915Fixed race condition in C implementation of functools.lru_cache. KeyError 916could be raised when cached function with full cache was simultaneously 917called from differen threads with the same uncached arguments. 918 919.. 920 921.. bpo: 29142 922.. date: 018 923.. nonce: xo6kAv 924.. section: Library 925 926In urllib.request, suffixes in no_proxy environment variable with leading 927dots could match related hostnames again (e.g. .b.c matches a.b.c). Patch by 928Milan Oberkirch. 929 930.. 931 932.. bpo: 30176 933.. date: 013 934.. nonce: VivmCg 935.. section: Documentation 936 937Add missing attribute related constants in curses documentation. 938 939.. 940 941.. bpo: 26985 942.. date: 012 943.. nonce: NB5_9S 944.. section: Documentation 945 946Add missing info of code object in inspect documentation. 947 948.. 949 950.. bpo: 28929 951.. date: 011 952.. nonce: Md7kb0 953.. section: Documentation 954 955Link the documentation to its source file on GitHub. 956 957.. 958 959.. bpo: 25008 960.. date: 010 961.. nonce: CeIzyU 962.. section: Documentation 963 964Document smtpd.py as effectively deprecated and add a pointer to aiosmtpd, a 965third-party asyncio-based replacement. 966 967.. 968 969.. bpo: 26355 970.. date: 009 971.. nonce: SDq_8Y 972.. section: Documentation 973 974Add canonical header link on each page to corresponding major version of the 975documentation. Patch by Matthias Bussonnier. 976 977.. 978 979.. bpo: 29349 980.. date: 008 981.. nonce: PjSo-t 982.. section: Documentation 983 984Fix Python 2 syntax in code for building the documentation. 985 986.. 987 988.. bpo: 30822 989.. date: 2017-07-20-14-29-54 990.. nonce: X0wREo 991.. section: Tests 992 993Fix regrtest command line parser to allow passing -u extralargefile to run 994test_zipfile64. 995 996.. 997 998.. bpo: 30383 999.. date: 2017-06-27-13-52-43 1000.. nonce: rCmrv7 1001.. section: Tests 1002 1003regrtest: Enhance regrtest and backport features from the master branch. 1004 1005Add options: --coverage, --testdir, --list-tests (list test files, don't run 1006them), --list-cases (list test identifiers, don't run them, :issue:`30523`), 1007--matchfile (load a list of test filters from a text file, :issue:`30540`), 1008--slowest (alias to --slow). 1009 1010Enhance output: add timestamp, test result, currently running tests, "Tests 1011result: xxx" summary with total duration, etc. 1012 1013Fix reference leak hunting in regrtest, --huntrleaks: regrtest now warms up 1014caches, create explicitly all internal singletons which are created on 1015demand to prevent false positives when checking for reference leaks. 1016(:issue:`30675`). 1017 1018.. 1019 1020.. bpo: 30357 1021.. date: 004 1022.. nonce: n4CPEa 1023.. section: Tests 1024 1025test_thread: setUp() now uses support.threading_setup() and 1026support.threading_cleanup() to wait until threads complete to avoid random 1027side effects on following tests. Initial patch written by Grzegorz Grzywacz. 1028 1029.. 1030 1031.. bpo: 28087 1032.. date: 003 1033.. nonce: m8dc4R 1034.. section: Tests 1035 1036Skip test_asyncore and test_eintr poll failures on macOS. Skip some tests of 1037select.poll when running on macOS due to unresolved issues with the 1038underlying system poll function on some macOS versions. 1039 1040.. 1041 1042.. bpo: 30197 1043.. date: 002 1044.. nonce: c5wRfu 1045.. section: Tests 1046 1047Enhanced functions swap_attr() and swap_item() in the test.support module. 1048They now work when delete replaced attribute or item inside the with 1049statement. The old value of the attribute or item (or None if it doesn't 1050exist) now will be assigned to the target of the "as" clause, if there is 1051one. 1052 1053.. 1054 1055.. bpo: 29571 1056.. date: 001 1057.. nonce: r6Dixr 1058.. section: Tests 1059 1060to match the behaviour of the ``re.LOCALE`` flag, test_re.test_locale_flag 1061now uses ``locale.getpreferredencoding(False)`` to determine the candidate 1062encoding for the test regex (allowing it to correctly skip the test when the 1063default locale encoding is a multi-byte encoding) 1064 1065.. 1066 1067.. bpo: 29243 1068.. date: 007 1069.. nonce: WDK4hT 1070.. section: Build 1071 1072Prevent unnecessary rebuilding of Python during ``make test``, ``make 1073install`` and some other make targets when configured with 1074``--enable-optimizations``. 1075 1076.. 1077 1078.. bpo: 23404 1079.. date: 006 1080.. nonce: PdYVWg 1081.. section: Build 1082 1083Don't regenerate generated files based on file modification time anymore: 1084the action is now explicit. Replace ``make touch`` with ``make regen-all``. 1085 1086.. 1087 1088.. bpo: 29643 1089.. date: 005 1090.. nonce: 4WLIJQ 1091.. section: Build 1092 1093Fix ``--enable-optimization`` didn't work. 1094 1095.. 1096 1097.. bpo: 30687 1098.. date: 017 1099.. nonce: 8mqHnu 1100.. section: Windows 1101 1102Locate msbuild.exe on Windows when building rather than vcvarsall.bat 1103 1104.. 1105 1106.. bpo: 29392 1107.. date: 016 1108.. nonce: OtqS5t 1109.. section: Windows 1110 1111Prevent crash when passing invalid arguments into msvcrt module. 1112 1113.. 1114 1115.. bpo: 27867 1116.. date: 015 1117.. nonce: VMCoJU 1118.. section: C API 1119 1120Function PySlice_GetIndicesEx() is replaced with a macro if Py_LIMITED_API 1121is set to the value between 0x03050400 and 0x03060000 (not including) or 11220x03060100 or higher. 1123 1124.. 1125 1126.. bpo: 29083 1127.. date: 014 1128.. nonce: tGTjr_ 1129.. section: C API 1130 1131Fixed the declaration of some public API functions. PyArg_VaParse() and 1132PyArg_VaParseTupleAndKeywords() were not available in limited API. 1133PyArg_ValidateKeywordArguments(), PyArg_UnpackTuple() and Py_BuildValue() 1134were not available in limited API of version < 3.3 when PY_SSIZE_T_CLEAN is 1135defined. 1136