1.. release date: 2017-01-02 2.. bpo: 27278 3.. date: 9755 4.. nonce: y_HkGw 5.. original section: Library 6.. section: Security 7 8Fix os.urandom() implementation using getrandom() on Linux. Truncate size 9to INT_MAX and loop until we collected enough random bytes, instead of 10casting a directly Py_ssize_t to int. 11 12.. 13 14.. bpo: 22636 15.. date: 9753 16.. nonce: 3fQW_g 17.. original section: Library 18.. section: Security 19 20Avoid shell injection problems with ctypes.util.find_library(). 21 22.. 23 24.. bpo: 29073 25.. date: 9898 26.. nonce: EFpHQ7 27.. section: Core and Builtins 28 29bytearray formatting no longer truncates on first null byte. 30 31.. 32 33.. bpo: 28932 34.. date: 9897 35.. nonce: QnLx8A 36.. section: Core and Builtins 37 38Do not include <sys/random.h> if it does not exist. 39 40.. 41 42.. bpo: 28147 43.. date: 9896 44.. nonce: EV4bm6 45.. section: Core and Builtins 46 47Fix a memory leak in split-table dictionaries: setattr() must not convert 48combined table into split table. 49 50.. 51 52.. bpo: 25677 53.. date: 9895 54.. nonce: RWhZrb 55.. section: Core and Builtins 56 57Correct the positioning of the syntax error caret for indented blocks. 58Based on patch by Michael Layzell. 59 60.. 61 62.. bpo: 29000 63.. date: 9894 64.. nonce: K6wQ-3 65.. section: Core and Builtins 66 67Fixed bytes formatting of octals with zero padding in alternate form. 68 69.. 70 71.. bpo: 28512 72.. date: 9893 73.. nonce: i-pv6d 74.. section: Core and Builtins 75 76Fixed setting the offset attribute of SyntaxError by 77PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject(). 78 79.. 80 81.. bpo: 28991 82.. date: 9892 83.. nonce: -qOTxS 84.. section: Core and Builtins 85 86functools.lru_cache() was susceptible to an obscure reentrancy bug caused by 87a monkey-patched len() function. 88 89.. 90 91.. bpo: 28648 92.. date: 9891 93.. nonce: z7B52W 94.. section: Core and Builtins 95 96Fixed crash in Py_DecodeLocale() in debug build on Mac OS X when decode 97astral characters. Patch by Xiang Zhang. 98 99.. 100 101.. bpo: 19398 102.. date: 9890 103.. nonce: RYbEGH 104.. section: Core and Builtins 105 106Extra slash no longer added to sys.path components in case of empty 107compile-time PYTHONPATH components. 108 109.. 110 111.. bpo: 28426 112.. date: 9889 113.. nonce: E_quyK 114.. section: Core and Builtins 115 116Fixed potential crash in PyUnicode_AsDecodedObject() in debug build. 117 118.. 119 120.. bpo: 23782 121.. date: 9888 122.. nonce: lonDzj 123.. section: Core and Builtins 124 125Fixed possible memory leak in _PyTraceback_Add() and exception loss in 126PyTraceBack_Here(). 127 128.. 129 130.. bpo: 28379 131.. date: 9887 132.. nonce: DuXlco 133.. section: Core and Builtins 134 135Added sanity checks and tests for PyUnicode_CopyCharacters(). Patch by Xiang 136Zhang. 137 138.. 139 140.. bpo: 28376 141.. date: 9886 142.. nonce: oPD-5D 143.. section: Core and Builtins 144 145The type of long range iterator is now registered as Iterator. Patch by Oren 146Milman. 147 148.. 149 150.. bpo: 28376 151.. date: 9885 152.. nonce: fLeHM2 153.. section: Core and Builtins 154 155The constructor of range_iterator now checks that step is not 0. Patch by 156Oren Milman. 157 158.. 159 160.. bpo: 26906 161.. date: 9884 162.. nonce: YBjcwI 163.. section: Core and Builtins 164 165Resolving special methods of uninitialized type now causes implicit 166initialization of the type instead of a fail. 167 168.. 169 170.. bpo: 18287 171.. date: 9883 172.. nonce: k6jffS 173.. section: Core and Builtins 174 175PyType_Ready() now checks that tp_name is not NULL. Original patch by Niklas 176Koep. 177 178.. 179 180.. bpo: 24098 181.. date: 9882 182.. nonce: XqlP_1 183.. section: Core and Builtins 184 185Fixed possible crash when AST is changed in process of compiling it. 186 187.. 188 189.. bpo: 28350 190.. date: 9881 191.. nonce: 8M5Eg9 192.. section: Core and Builtins 193 194String constants with null character no longer interned. 195 196.. 197 198.. bpo: 26617 199.. date: 9880 200.. nonce: Gh5LvN 201.. section: Core and Builtins 202 203Fix crash when GC runs during weakref callbacks. 204 205.. 206 207.. bpo: 27942 208.. date: 9879 209.. nonce: ZGuhns 210.. section: Core and Builtins 211 212String constants now interned recursively in tuples and frozensets. 213 214.. 215 216.. bpo: 21578 217.. date: 9878 218.. nonce: GI1bhj 219.. section: Core and Builtins 220 221Fixed misleading error message when ImportError called with invalid keyword 222args. 223 224.. 225 226.. bpo: 28203 227.. date: 9877 228.. nonce: kOgvtp 229.. section: Core and Builtins 230 231Fix incorrect type in error message from ``complex(1.0, {2:3})``. Patch by 232Soumya Sharma. 233 234.. 235 236.. bpo: 27955 237.. date: 9876 238.. nonce: HC4pZ4 239.. section: Core and Builtins 240 241Fallback on reading /dev/urandom device when the getrandom() syscall fails 242with EPERM, for example when blocked by SECCOMP. 243 244.. 245 246.. bpo: 28131 247.. date: 9875 248.. nonce: owq0wW 249.. section: Core and Builtins 250 251Fix a regression in zipimport's compile_source(). zipimport should use the 252same optimization level as the interpreter. 253 254.. 255 256.. bpo: 25221 257.. date: 9874 258.. nonce: Zvkz9i 259.. section: Core and Builtins 260 261Fix corrupted result from PyLong_FromLong(0) when Python is compiled with 262NSMALLPOSINTS = 0. 263 264.. 265 266.. bpo: 25758 267.. date: 9873 268.. nonce: yR-YTD 269.. section: Core and Builtins 270 271Prevents zipimport from unnecessarily encoding a filename (patch by Eryk 272Sun) 273 274.. 275 276.. bpo: 28189 277.. date: 9872 278.. nonce: c_nbR_ 279.. section: Core and Builtins 280 281dictitems_contains no longer swallows compare errors. (Patch by Xiang Zhang) 282 283.. 284 285.. bpo: 27812 286.. date: 9871 287.. nonce: sidcs8 288.. section: Core and Builtins 289 290Properly clear out a generator's frame's backreference to the generator to 291prevent crashes in frame.clear(). 292 293.. 294 295.. bpo: 27811 296.. date: 9870 297.. nonce: T4AuBo 298.. section: Core and Builtins 299 300Fix a crash when a coroutine that has not been awaited is finalized with 301warnings-as-errors enabled. 302 303.. 304 305.. bpo: 27587 306.. date: 9869 307.. nonce: mbavY2 308.. section: Core and Builtins 309 310Fix another issue found by PVS-Studio: Null pointer check after use of 'def' 311in _PyState_AddModule(). Initial patch by Christian Heimes. 312 313.. 314 315.. bpo: 26020 316.. date: 9868 317.. nonce: niLbLa 318.. section: Core and Builtins 319 320set literal evaluation order did not match documented behaviour. 321 322.. 323 324.. bpo: 27782 325.. date: 9867 326.. nonce: C8OBQD 327.. section: Core and Builtins 328 329Multi-phase extension module import now correctly allows the ``m_methods`` 330field to be used to add module level functions to instances of non-module 331types returned from ``Py_create_mod``. Patch by Xiang Zhang. 332 333.. 334 335.. bpo: 27936 336.. date: 9866 337.. nonce: AdOann 338.. section: Core and Builtins 339 340The round() function accepted a second None argument for some types but not 341for others. Fixed the inconsistency by accepting None for all numeric 342types. 343 344.. 345 346.. bpo: 27487 347.. date: 9865 348.. nonce: jeTQNr 349.. section: Core and Builtins 350 351Warn if a submodule argument to "python -m" or runpy.run_module() is found 352in sys.modules after parent packages are imported, but before the submodule 353is executed. 354 355.. 356 357.. bpo: 27558 358.. date: 9864 359.. nonce: VmltMh 360.. section: Core and Builtins 361 362Fix a SystemError in the implementation of "raise" statement. In a brand new 363thread, raise a RuntimeError since there is no active exception to reraise. 364Patch written by Xiang Zhang. 365 366.. 367 368.. bpo: 27419 369.. date: 9863 370.. nonce: JZ94ju 371.. section: Core and Builtins 372 373Standard __import__() no longer look up "__import__" in globals or builtins 374for importing submodules or "from import". Fixed handling an error of 375non-string package name. 376 377.. 378 379.. bpo: 27083 380.. date: 9862 381.. nonce: F4ZT1C 382.. section: Core and Builtins 383 384Respect the PYTHONCASEOK environment variable under Windows. 385 386.. 387 388.. bpo: 27514 389.. date: 9861 390.. nonce: NLbwPG 391.. section: Core and Builtins 392 393Make having too many statically nested blocks a SyntaxError instead of 394SystemError. 395 396.. 397 398.. bpo: 27473 399.. date: 9860 400.. nonce: _nOtTA 401.. section: Core and Builtins 402 403Fixed possible integer overflow in bytes and bytearray concatenations. 404Patch by Xiang Zhang. 405 406.. 407 408.. bpo: 27507 409.. date: 9859 410.. nonce: 3pX0Be 411.. section: Core and Builtins 412 413Add integer overflow check in bytearray.extend(). Patch by Xiang Zhang. 414 415.. 416 417.. bpo: 27581 418.. date: 9858 419.. nonce: KezjNt 420.. section: Core and Builtins 421 422Don't rely on wrapping for overflow check in PySequence_Tuple(). Patch by 423Xiang Zhang. 424 425.. 426 427.. bpo: 27443 428.. date: 9857 429.. nonce: 87ZwZ1 430.. section: Core and Builtins 431 432__length_hint__() of bytearray iterators no longer return a negative integer 433for a resized bytearray. 434 435.. 436 437.. bpo: 27942 438.. date: 9856 439.. nonce: wCAkW5 440.. section: Core and Builtins 441 442Fix memory leak in codeobject.c 443 444.. 445 446.. bpo: 15812 447.. date: 9855 448.. nonce: R1U-Ec 449.. section: Library 450 451inspect.getframeinfo() now correctly shows the first line of a context. 452Patch by Sam Breese. 453 454.. 455 456.. bpo: 29094 457.. date: 9854 458.. nonce: 460ZQo 459.. section: Library 460 461Offsets in a ZIP file created with extern file object and modes "w" and "x" 462now are relative to the start of the file. 463 464.. 465 466.. bpo: 13051 467.. date: 9853 468.. nonce: YzC1Te 469.. section: Library 470 471Fixed recursion errors in large or resized curses.textpad.Textbox. Based on 472patch by Tycho Andersen. 473 474.. 475 476.. bpo: 29119 477.. date: 9852 478.. nonce: Ov69fr 479.. section: Library 480 481Fix weakrefs in the pure python version of collections.OrderedDict 482move_to_end() method. Contributed by Andra Bogildea. 483 484.. 485 486.. bpo: 9770 487.. date: 9851 488.. nonce: WJJnwP 489.. section: Library 490 491curses.ascii predicates now work correctly with negative integers. 492 493.. 494 495.. bpo: 28427 496.. date: 9850 497.. nonce: vUd-va 498.. section: Library 499 500old keys should not remove new values from WeakValueDictionary when 501collecting from another thread. 502 503.. 504 505.. bpo: 28923 506.. date: 9849 507.. nonce: naVULD 508.. section: Library 509 510Remove editor artifacts from Tix.py. 511 512.. 513 514.. bpo: 28871 515.. date: 9848 516.. nonce: cPMXCJ 517.. section: Library 518 519Fixed a crash when deallocate deep ElementTree. 520 521.. 522 523.. bpo: 19542 524.. date: 9847 525.. nonce: 5tCkaK 526.. section: Library 527 528Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop() 529when a GC collection happens in another thread. 530 531.. 532 533.. bpo: 20191 534.. date: 9846 535.. nonce: P_EZ7c 536.. section: Library 537 538Fixed a crash in resource.prlimit() when pass a sequence that doesn't own 539its elements as limits. 540 541.. 542 543.. bpo: 28779 544.. date: 9845 545.. nonce: t-mjED 546.. section: Library 547 548multiprocessing.set_forkserver_preload() would crash the forkserver process 549if a preloaded module instantiated some multiprocessing objects such as 550locks. 551 552.. 553 554.. bpo: 28847 555.. date: 9844 556.. nonce: J7d3nG 557.. section: Library 558 559dbm.dumb now supports reading read-only files and no longer writes the index 560file when it is not changed. 561 562.. 563 564.. bpo: 25659 565.. date: 9843 566.. nonce: lE2IlT 567.. section: Library 568 569In ctypes, prevent a crash calling the from_buffer() and from_buffer_copy() 570methods on abstract classes like Array. 571 572.. 573 574.. bpo: 28732 575.. date: 9842 576.. nonce: xkG8k7 577.. section: Library 578 579Fix crash in os.spawnv() with no elements in args 580 581.. 582 583.. bpo: 28485 584.. date: 9841 585.. nonce: WuKqKh 586.. section: Library 587 588Always raise ValueError for negative compileall.compile_dir(workers=...) 589parameter, even when multithreading is unavailable. 590 591.. 592 593.. bpo: 28387 594.. date: 9840 595.. nonce: 1clJu7 596.. section: Library 597 598Fixed possible crash in _io.TextIOWrapper deallocator when the garbage 599collector is invoked in other thread. Based on patch by Sebastian Cufre. 600 601.. 602 603.. bpo: 27517 604.. date: 9839 605.. nonce: 1CYM8A 606.. section: Library 607 608LZMA compressor and decompressor no longer raise exceptions if given empty 609data twice. Patch by Benjamin Fogle. 610 611.. 612 613.. bpo: 28549 614.. date: 9838 615.. nonce: ShnM2y 616.. section: Library 617 618Fixed segfault in curses's addch() with ncurses6. 619 620.. 621 622.. bpo: 28449 623.. date: 9837 624.. nonce: 5JK6ES 625.. section: Library 626 627tarfile.open() with mode "r" or "r:" now tries to open a tar file with 628compression before trying to open it without compression. Otherwise it had 62950% chance failed with ignore_zeros=True. 630 631.. 632 633.. bpo: 23262 634.. date: 9836 635.. nonce: 6EVB7N 636.. section: Library 637 638The webbrowser module now supports Firefox 36+ and derived browsers. Based 639on patch by Oleg Broytman. 640 641.. 642 643.. bpo: 27939 644.. date: 9835 645.. nonce: mTfADV 646.. section: Library 647 648Fixed bugs in tkinter.ttk.LabeledScale and tkinter.Scale caused by 649representing the scale as float value internally in Tk. tkinter.IntVar now 650works if float value is set to underlying Tk variable. 651 652.. 653 654.. bpo: 28255 655.. date: 9834 656.. nonce: _ZH4wm 657.. section: Library 658 659calendar.TextCalendar().prmonth() no longer prints a space at the start of 660new line after printing a month's calendar. Patch by Xiang Zhang. 661 662.. 663 664.. bpo: 20491 665.. date: 9833 666.. nonce: ObgnQ2 667.. section: Library 668 669The textwrap.TextWrapper class now honors non-breaking spaces. Based on 670patch by Kaarle Ritvanen. 671 672.. 673 674.. bpo: 28353 675.. date: 9832 676.. nonce: sKGbLL 677.. section: Library 678 679os.fwalk() no longer fails on broken links. 680 681.. 682 683.. bpo: 25464 684.. date: 9831 685.. nonce: HDUTCu 686.. section: Library 687 688Fixed HList.header_exists() in tkinter.tix module by addin a workaround to 689Tix library bug. 690 691.. 692 693.. bpo: 28488 694.. date: 9830 695.. nonce: NlkjBM 696.. section: Library 697 698shutil.make_archive() no longer add entry "./" to ZIP archive. 699 700.. 701 702.. bpo: 24452 703.. date: 9829 704.. nonce: m9Kyg3 705.. section: Library 706 707Make webbrowser support Chrome on Mac OS X. 708 709.. 710 711.. bpo: 20766 712.. date: 9828 713.. nonce: 4kvCzx 714.. section: Library 715 716Fix references leaked by pdb in the handling of SIGINT handlers. 717 718.. 719 720.. bpo: 26293 721.. date: 9827 722.. nonce: 2mjvwX 723.. section: Library 724 725Fixed writing ZIP files that starts not from the start of the file. Offsets 726in ZIP file now are relative to the start of the archive in conforming to 727the specification. 728 729.. 730 731.. bpo: 28321 732.. date: 9826 733.. nonce: bQ-IIX 734.. section: Library 735 736Fixed writing non-BMP characters with binary format in plistlib. 737 738.. 739 740.. bpo: 28322 741.. date: 9825 742.. nonce: l9hzap 743.. section: Library 744 745Fixed possible crashes when unpickle itertools objects from incorrect pickle 746data. Based on patch by John Leitch. 747 748.. 749 750.. bpo: 0 751.. date: 9824 752.. nonce: 81jNns 753.. section: Library 754 755Fix possible integer overflows and crashes in the mmap module with unusual 756usage patterns. 757 758.. 759 760.. bpo: 1703178 761.. date: 9823 762.. nonce: meb49K 763.. section: Library 764 765Fix the ability to pass the --link-objects option to the distutils build_ext 766command. 767 768.. 769 770.. bpo: 28253 771.. date: 9822 772.. nonce: aLfmhe 773.. section: Library 774 775Fixed calendar functions for extreme months: 0001-01 and 9999-12. 776Methods itermonthdays() and itermonthdays2() are reimplemented so that they 777don't call itermonthdates() which can cause datetime.date under/overflow. 778 779.. 780 781.. bpo: 28275 782.. date: 9821 783.. nonce: EhWIsz 784.. section: Library 785 786Fixed possible use after free in the decompress() methods of the 787LZMADecompressor and BZ2Decompressor classes. Original patch by John Leitch. 788 789.. 790 791.. bpo: 27897 792.. date: 9820 793.. nonce: I0Ppmx 794.. section: Library 795 796Fixed possible crash in sqlite3.Connection.create_collation() if pass 797invalid string-like object as a name. Patch by Xiang Zhang. 798 799.. 800 801.. bpo: 18893 802.. date: 9819 803.. nonce: osiX5c 804.. section: Library 805 806Fix invalid exception handling in Lib/ctypes/macholib/dyld.py. Patch by 807Madison May. 808 809.. 810 811.. bpo: 27611 812.. date: 9818 813.. nonce: qL-UVQ 814.. section: Library 815 816Fixed support of default root window in the tkinter.tix module. 817 818.. 819 820.. bpo: 27348 821.. date: 9817 822.. nonce: tDx7Vw 823.. section: Library 824 825In the traceback module, restore the formatting of exception messages like 826"Exception: None". This fixes a regression introduced in 3.5a2. 827 828.. 829 830.. bpo: 25651 831.. date: 9816 832.. nonce: 3UhyPo 833.. section: Library 834 835Allow falsy values to be used for msg parameter of subTest(). 836 837.. 838 839.. bpo: 27932 840.. date: 9815 841.. nonce: mtgl-6 842.. section: Library 843 844Prevent memory leak in win32_ver(). 845 846.. 847 848.. bpo: 0 849.. date: 9814 850.. nonce: iPpjqX 851.. section: Library 852 853Fix UnboundLocalError in socket._sendfile_use_sendfile. 854 855.. 856 857.. bpo: 28075 858.. date: 9813 859.. nonce: aLiUs9 860.. section: Library 861 862Check for ERROR_ACCESS_DENIED in Windows implementation of os.stat(). Patch 863by Eryk Sun. 864 865.. 866 867.. bpo: 25270 868.. date: 9812 869.. nonce: jrZruM 870.. section: Library 871 872Prevent codecs.escape_encode() from raising SystemError when an empty 873bytestring is passed. 874 875.. 876 877.. bpo: 28181 878.. date: 9811 879.. nonce: NGc4Yv 880.. section: Library 881 882Get antigravity over HTTPS. Patch by Kaartic Sivaraam. 883 884.. 885 886.. bpo: 25895 887.. date: 9810 888.. nonce: j92qoQ 889.. section: Library 890 891Enable WebSocket URL schemes in urllib.parse.urljoin. Patch by Gergely Imreh 892and Markus Holtermann. 893 894.. 895 896.. bpo: 27599 897.. date: 9809 898.. nonce: itvm8T 899.. section: Library 900 901Fixed buffer overrun in binascii.b2a_qp() and binascii.a2b_qp(). 902 903.. 904 905.. bpo: 19003 906.. date: 9808 907.. nonce: UUcK_F 908.. section: Library 909 910m email.generator now replaces only ``\r`` and/or ``\n`` line endings, per 911the RFC, instead of all unicode line endings. 912 913.. 914 915.. bpo: 28019 916.. date: 9807 917.. nonce: KUhBaS 918.. section: Library 919 920itertools.count() no longer rounds non-integer step in range between 1.0 and 9212.0 to 1. 922 923.. 924 925.. bpo: 25969 926.. date: 9806 927.. nonce: qSPkl- 928.. section: Library 929 930Update the lib2to3 grammar to handle the unpacking generalizations added in 9313.5. 932 933.. 934 935.. bpo: 14977 936.. date: 9805 937.. nonce: 4MvALg 938.. section: Library 939 940mailcap now respects the order of the lines in the mailcap files ("first 941match"), as required by RFC 1542. Patch by Michael Lazar. 942 943.. 944 945.. bpo: 24594 946.. date: 9804 947.. nonce: 9CnFVS 948.. section: Library 949 950Validates persist parameter when opening MSI database 951 952.. 953 954.. bpo: 17582 955.. date: 9803 956.. nonce: MXEHxQ 957.. section: Library 958 959xml.etree.ElementTree nows preserves whitespaces in attributes (Patch by 960Duane Griffin. Reviewed and approved by Stefan Behnel.) 961 962.. 963 964.. bpo: 28047 965.. date: 9802 966.. nonce: pDu3Fm 967.. section: Library 968 969Fixed calculation of line length used for the base64 CTE in the new email 970policies. 971 972.. 973 974.. bpo: 27445 975.. date: 9801 976.. nonce: wOG0C0 977.. section: Library 978 979Don't pass str(_charset) to MIMEText.set_payload(). Patch by Claude Paroz. 980 981.. 982 983.. bpo: 22450 984.. date: 9800 985.. nonce: T3Sn_J 986.. section: Library 987 988urllib now includes an ``Accept: */*`` header among the default headers. 989This makes the results of REST API requests more consistent and predictable 990especially when proxy servers are involved. 991 992.. 993 994.. bpo: 0 995.. date: 9799 996.. nonce: PVZStR 997.. section: Library 998 999lib2to3.pgen3.driver.load_grammar() now creates a stable cache file between 1000runs given the same Grammar.txt input regardless of the hash randomization 1001setting. 1002 1003.. 1004 1005.. bpo: 27570 1006.. date: 9798 1007.. nonce: pU0Zie 1008.. section: Library 1009 1010Avoid zero-length memcpy() etc calls with null source pointers in the 1011"ctypes" and "array" modules. 1012 1013.. 1014 1015.. bpo: 22233 1016.. date: 9797 1017.. nonce: uXSN0R 1018.. section: Library 1019 1020Break email header lines *only* on the RFC specified CR and LF characters, 1021not on arbitrary unicode line breaks. This also fixes a bug in HTTP header 1022parsing. 1023 1024.. 1025 1026.. bpo: 27988 1027.. date: 9796 1028.. nonce: VfMzZH 1029.. section: Library 1030 1031Fix email iter_attachments incorrect mutation of payload list. 1032 1033.. 1034 1035.. bpo: 27691 1036.. date: 9795 1037.. nonce: TMYF5_ 1038.. section: Library 1039 1040Fix ssl module's parsing of GEN_RID subject alternative name fields in X.509 1041certs. 1042 1043.. 1044 1045.. bpo: 27850 1046.. date: 9794 1047.. nonce: kIVQ0m 1048.. section: Library 1049 1050Remove 3DES from ssl module's default cipher list to counter measure sweet32 1051attack (CVE-2016-2183). 1052 1053.. 1054 1055.. bpo: 27766 1056.. date: 9793 1057.. nonce: WI70Tc 1058.. section: Library 1059 1060Add ChaCha20 Poly1305 to ssl module's default cipher list. (Required OpenSSL 10611.1.0 or LibreSSL). 1062 1063.. 1064 1065.. bpo: 26470 1066.. date: 9792 1067.. nonce: QGu_wo 1068.. section: Library 1069 1070Port ssl and hashlib module to OpenSSL 1.1.0. 1071 1072.. 1073 1074.. bpo: 0 1075.. date: 9791 1076.. nonce: 6TjEgz 1077.. section: Library 1078 1079Remove support for passing a file descriptor to os.access. It never worked 1080but previously didn't raise. 1081 1082.. 1083 1084.. bpo: 12885 1085.. date: 9790 1086.. nonce: r-IV1g 1087.. section: Library 1088 1089Fix error when distutils encounters symlink. 1090 1091.. 1092 1093.. bpo: 27881 1094.. date: 9789 1095.. nonce: fkETd9 1096.. section: Library 1097 1098Fixed possible bugs when setting sqlite3.Connection.isolation_level. Based 1099on patch by Xiang Zhang. 1100 1101.. 1102 1103.. bpo: 27861 1104.. date: 9788 1105.. nonce: DBYuo9 1106.. section: Library 1107 1108Fixed a crash in sqlite3.Connection.cursor() when a factory creates not a 1109cursor. Patch by Xiang Zhang. 1110 1111.. 1112 1113.. bpo: 19884 1114.. date: 9787 1115.. nonce: MO8AWH 1116.. section: Library 1117 1118Avoid spurious output on OS X with Gnu Readline. 1119 1120.. 1121 1122.. bpo: 27706 1123.. date: 9786 1124.. nonce: ZY67yu 1125.. section: Library 1126 1127Restore deterministic behavior of random.Random().seed() for string seeds 1128using seeding version 1. Allows sequences of calls to random() to exactly 1129match those obtained in Python 2. Patch by Nofar Schnider. 1130 1131.. 1132 1133.. bpo: 10513 1134.. date: 9785 1135.. nonce: tQIQD_ 1136.. section: Library 1137 1138Fix a regression in Connection.commit(). Statements should not be reset 1139after a commit. 1140 1141.. 1142 1143.. bpo: 0 1144.. date: 9784 1145.. nonce: cYraeH 1146.. section: Library 1147 1148A new version of typing.py from https://github.com/python/typing: 1149Collection (only for 3.6) (Issue #27598). Add FrozenSet to __all__ 1150(upstream #261). Fix crash in _get_type_vars() (upstream #259). Remove the 1151dict constraint in ForwardRef._eval_type (upstream #252). 1152 1153.. 1154 1155.. bpo: 27539 1156.. date: 9783 1157.. nonce: S4L1cq 1158.. section: Library 1159 1160Fix unnormalised ``Fraction.__pow__`` result in the case of negative 1161exponent and negative base. 1162 1163.. 1164 1165.. bpo: 21718 1166.. date: 9782 1167.. nonce: FUJd-7 1168.. section: Library 1169 1170cursor.description is now available for queries using CTEs. 1171 1172.. 1173 1174.. bpo: 2466 1175.. date: 9781 1176.. nonce: VRNlkg 1177.. section: Library 1178 1179posixpath.ismount now correctly recognizes mount points which the user does 1180not have permission to access. 1181 1182.. 1183 1184.. bpo: 27773 1185.. date: 9780 1186.. nonce: hMSSeX 1187.. section: Library 1188 1189Correct some memory management errors server_hostname in _ssl.wrap_socket(). 1190 1191.. 1192 1193.. bpo: 26750 1194.. date: 9779 1195.. nonce: rv76vt 1196.. section: Library 1197 1198unittest.mock.create_autospec() now works properly for subclasses of 1199property() and other data descriptors. 1200 1201.. 1202 1203.. bpo: 0 1204.. date: 9778 1205.. nonce: Ny9oPv 1206.. section: Library 1207 1208In the curses module, raise an error if window.getstr() or window.instr() is 1209passed a negative value. 1210 1211.. 1212 1213.. bpo: 27783 1214.. date: 9777 1215.. nonce: cR1jXH 1216.. section: Library 1217 1218Fix possible usage of uninitialized memory in operator.methodcaller. 1219 1220.. 1221 1222.. bpo: 27774 1223.. date: 9776 1224.. nonce: FDcik1 1225.. section: Library 1226 1227Fix possible Py_DECREF on unowned object in _sre. 1228 1229.. 1230 1231.. bpo: 27760 1232.. date: 9775 1233.. nonce: gxMjp4 1234.. section: Library 1235 1236Fix possible integer overflow in binascii.b2a_qp. 1237 1238.. 1239 1240.. bpo: 27758 1241.. date: 9774 1242.. nonce: 0NRV03 1243.. section: Library 1244 1245Fix possible integer overflow in the _csv module for large record lengths. 1246 1247.. 1248 1249.. bpo: 27568 1250.. date: 9773 1251.. nonce: OnuO9s 1252.. section: Library 1253 1254Prevent HTTPoxy attack (CVE-2016-1000110). Ignore the HTTP_PROXY variable 1255when REQUEST_METHOD environment is set, which indicates that the script is 1256in CGI mode. 1257 1258.. 1259 1260.. bpo: 27656 1261.. date: 9772 1262.. nonce: joTscM 1263.. section: Library 1264 1265Do not assume sched.h defines any SCHED_* constants. 1266 1267.. 1268 1269.. bpo: 27130 1270.. date: 9771 1271.. nonce: SUxwXZ 1272.. section: Library 1273 1274In the "zlib" module, fix handling of large buffers (typically 4 GiB) when 1275compressing and decompressing. Previously, inputs were limited to 4 GiB, 1276and compression and decompression operations did not properly handle results 1277of 4 GiB. 1278 1279.. 1280 1281.. bpo: 27533 1282.. date: 9770 1283.. nonce: iDmKzV 1284.. section: Library 1285 1286Release GIL in nt._isdir 1287 1288.. 1289 1290.. bpo: 17711 1291.. date: 9769 1292.. nonce: 47AILJ 1293.. section: Library 1294 1295Fixed unpickling by the persistent ID with protocol 0. Original patch by 1296Alexandre Vassalotti. 1297 1298.. 1299 1300.. bpo: 27522 1301.. date: 9768 1302.. nonce: 8vVz_t 1303.. section: Library 1304 1305Avoid an unintentional reference cycle in email.feedparser. 1306 1307.. 1308 1309.. bpo: 26844 1310.. date: 9767 1311.. nonce: I0wdnY 1312.. section: Library 1313 1314Fix error message for imp.find_module() to refer to 'path' instead of 1315'name'. Patch by Lev Maximov. 1316 1317.. 1318 1319.. bpo: 23804 1320.. date: 9766 1321.. nonce: ipFvxc 1322.. section: Library 1323 1324Fix SSL zero-length recv() calls to not block and not raise an error about 1325unclean EOF. 1326 1327.. 1328 1329.. bpo: 27466 1330.. date: 9765 1331.. nonce: C_3a8E 1332.. section: Library 1333 1334Change time format returned by http.cookie.time2netscape, confirming the 1335netscape cookie format and making it consistent with documentation. 1336 1337.. 1338 1339.. bpo: 26664 1340.. date: 9764 1341.. nonce: OzsSzf 1342.. section: Library 1343 1344Fix activate.fish by removing mis-use of ``$``. 1345 1346.. 1347 1348.. bpo: 22115 1349.. date: 9763 1350.. nonce: apoFQ9 1351.. section: Library 1352 1353Fixed tracing Tkinter variables: trace_vdelete() with wrong mode no longer 1354break tracing, trace_vinfo() now always returns a list of pairs of strings, 1355tracing in the "u" mode now works. 1356 1357.. 1358 1359.. bpo: 0 1360.. date: 9762 1361.. nonce: oZOeFE 1362.. section: Library 1363 1364Fix a scoping issue in importlib.util.LazyLoader which triggered an 1365UnboundLocalError when lazy-loading a module that was already put into 1366sys.modules. 1367 1368.. 1369 1370.. bpo: 27079 1371.. date: 9761 1372.. nonce: c7d0Ym 1373.. section: Library 1374 1375Fixed curses.ascii functions isblank(), iscntrl() and ispunct(). 1376 1377.. 1378 1379.. bpo: 26754 1380.. date: 9760 1381.. nonce: J3n0QW 1382.. section: Library 1383 1384Some functions (compile() etc) accepted a filename argument encoded as an 1385iterable of integers. Now only strings and byte-like objects are accepted. 1386 1387.. 1388 1389.. bpo: 27048 1390.. date: 9759 1391.. nonce: EVe-Bk 1392.. section: Library 1393 1394Prevents distutils failing on Windows when environment variables contain 1395non-ASCII characters 1396 1397.. 1398 1399.. bpo: 27330 1400.. date: 9758 1401.. nonce: GJaFCV 1402.. section: Library 1403 1404Fixed possible leaks in the ctypes module. 1405 1406.. 1407 1408.. bpo: 27238 1409.. date: 9757 1410.. nonce: Q6v6Qv 1411.. section: Library 1412 1413Got rid of bare excepts in the turtle module. Original patch by Jelle 1414Zijlstra. 1415 1416.. 1417 1418.. bpo: 27122 1419.. date: 9756 1420.. nonce: 06t7zN 1421.. section: Library 1422 1423When an exception is raised within the context being managed by a 1424contextlib.ExitStack() and one of the exit stack generators catches and 1425raises it in a chain, do not re-raise the original exception when exiting, 1426let the new chained one through. This avoids the :pep:`479` bug described in 1427issue25782. 1428 1429.. 1430 1431.. bpo: 26386 1432.. date: 9754 1433.. nonce: 9L3Ut4 1434.. section: Library 1435 1436Fixed ttk.TreeView selection operations with item id's containing spaces. 1437 1438.. 1439 1440.. bpo: 16182 1441.. date: 9752 1442.. nonce: RgFXyr 1443.. section: Library 1444 1445Fix various functions in the "readline" module to use the locale encoding, 1446and fix get_begidx() and get_endidx() to return code point indexes. 1447 1448.. 1449 1450.. bpo: 27392 1451.. date: 9751 1452.. nonce: obfni7 1453.. section: Library 1454 1455Add loop.connect_accepted_socket(). Patch by Jim Fulton. 1456 1457.. 1458 1459.. bpo: 27930 1460.. date: 9750 1461.. nonce: BkOfSi 1462.. section: Library 1463 1464Improved behaviour of logging.handlers.QueueListener. Thanks to Paulo 1465Andrade and Petr Viktorin for the analysis and patch. 1466 1467.. 1468 1469.. bpo: 21201 1470.. date: 9749 1471.. nonce: wLCKiA 1472.. section: Library 1473 1474Improves readability of multiprocessing error message. Thanks to Wojciech 1475Walczak for patch. 1476 1477.. 1478 1479.. bpo: 27456 1480.. date: 9748 1481.. nonce: lI_IE7 1482.. section: Library 1483 1484asyncio: Set TCP_NODELAY by default. 1485 1486.. 1487 1488.. bpo: 27906 1489.. date: 9747 1490.. nonce: TBBXrv 1491.. section: Library 1492 1493Fix socket accept exhaustion during high TCP traffic. Patch by Kevin Conway. 1494 1495.. 1496 1497.. bpo: 28174 1498.. date: 9746 1499.. nonce: CV1UdI 1500.. section: Library 1501 1502Handle when SO_REUSEPORT isn't properly supported. Patch by Seth Michael 1503Larson. 1504 1505.. 1506 1507.. bpo: 26654 1508.. date: 9745 1509.. nonce: XtzTE9 1510.. section: Library 1511 1512Inspect functools.partial in asyncio.Handle.__repr__. Patch by iceboy. 1513 1514.. 1515 1516.. bpo: 26909 1517.. date: 9744 1518.. nonce: ASiakT 1519.. section: Library 1520 1521Fix slow pipes IO in asyncio. Patch by INADA Naoki. 1522 1523.. 1524 1525.. bpo: 28176 1526.. date: 9743 1527.. nonce: sU8R6L 1528.. section: Library 1529 1530Fix callbacks race in asyncio.SelectorLoop.sock_connect. 1531 1532.. 1533 1534.. bpo: 27759 1535.. date: 9742 1536.. nonce: qpMDGq 1537.. section: Library 1538 1539Fix selectors incorrectly retain invalid file descriptors. Patch by Mark 1540Williams. 1541 1542.. 1543 1544.. bpo: 28368 1545.. date: 9741 1546.. nonce: n594X4 1547.. section: Library 1548 1549Refuse monitoring processes if the child watcher has no loop attached. Patch 1550by Vincent Michel. 1551 1552.. 1553 1554.. bpo: 28369 1555.. date: 9740 1556.. nonce: 8DTANe 1557.. section: Library 1558 1559Raise RuntimeError when transport's FD is used with add_reader, add_writer, 1560etc. 1561 1562.. 1563 1564.. bpo: 28370 1565.. date: 9739 1566.. nonce: 18jBuZ 1567.. section: Library 1568 1569Speedup asyncio.StreamReader.readexactly. Patch by Коренберг Марк. 1570 1571.. 1572 1573.. bpo: 28371 1574.. date: 9738 1575.. nonce: U9Zqdk 1576.. section: Library 1577 1578Deprecate passing asyncio.Handles to run_in_executor. 1579 1580.. 1581 1582.. bpo: 28372 1583.. date: 9737 1584.. nonce: njcIPk 1585.. section: Library 1586 1587Fix asyncio to support formatting of non-python coroutines. 1588 1589.. 1590 1591.. bpo: 28399 1592.. date: 9736 1593.. nonce: QKIqRX 1594.. section: Library 1595 1596Remove UNIX socket from FS before binding. Patch by Коренберг Марк. 1597 1598.. 1599 1600.. bpo: 27972 1601.. date: 9735 1602.. nonce: ZK-GFm 1603.. section: Library 1604 1605Prohibit Tasks to await on themselves. 1606 1607.. 1608 1609.. bpo: 26923 1610.. date: 9734 1611.. nonce: 8dh3AV 1612.. section: Library 1613 1614Fix asyncio.Gather to refuse being cancelled once all children are done. 1615Patch by Johannes Ebke. 1616 1617.. 1618 1619.. bpo: 26796 1620.. date: 9733 1621.. nonce: TZyAfJ 1622.. section: Library 1623 1624Don't configure the number of workers for default threadpool executor. 1625Initial patch by Hans Lawrenz. 1626 1627.. 1628 1629.. bpo: 28600 1630.. date: 9732 1631.. nonce: 2ThUQV 1632.. section: Library 1633 1634Optimize loop.call_soon(). 1635 1636.. 1637 1638.. bpo: 28613 1639.. date: 9731 1640.. nonce: sqUPrv 1641.. section: Library 1642 1643Fix get_event_loop() return the current loop if called from 1644coroutines/callbacks. 1645 1646.. 1647 1648.. bpo: 28639 1649.. date: 9730 1650.. nonce: WUPo1o 1651.. section: Library 1652 1653Fix inspect.isawaitable to always return bool Patch by Justin Mayfield. 1654 1655.. 1656 1657.. bpo: 28652 1658.. date: 9729 1659.. nonce: f5M8FG 1660.. section: Library 1661 1662Make loop methods reject socket kinds they do not support. 1663 1664.. 1665 1666.. bpo: 28653 1667.. date: 9728 1668.. nonce: S5bA9i 1669.. section: Library 1670 1671Fix a refleak in functools.lru_cache. 1672 1673.. 1674 1675.. bpo: 28703 1676.. date: 9727 1677.. nonce: CRLTJc 1678.. section: Library 1679 1680Fix asyncio.iscoroutinefunction to handle Mock objects. 1681 1682.. 1683 1684.. bpo: 24142 1685.. date: 9726 1686.. nonce: _BgogI 1687.. section: Library 1688 1689Reading a corrupt config file left the parser in an invalid state. Original 1690patch by Florian Höch. 1691 1692.. 1693 1694.. bpo: 28990 1695.. date: 9725 1696.. nonce: W8tuYZ 1697.. section: Library 1698 1699Fix SSL hanging if connection is closed before handshake completed. (Patch 1700by HoHo-Ho) 1701 1702.. 1703 1704.. bpo: 15308 1705.. date: 9724 1706.. nonce: zZxn8m 1707.. section: IDLE 1708 1709Add 'interrupt execution' (^C) to Shell menu. Patch by Roger Serwy, updated 1710by Bayard Randel. 1711 1712.. 1713 1714.. bpo: 27922 1715.. date: 9723 1716.. nonce: UEtEv9 1717.. section: IDLE 1718 1719Stop IDLE tests from 'flashing' gui widgets on the screen. 1720 1721.. 1722 1723.. bpo: 0 1724.. date: 9722 1725.. nonce: zWZs6o 1726.. section: IDLE 1727 1728Add version to title of IDLE help window. 1729 1730.. 1731 1732.. bpo: 25564 1733.. date: 9721 1734.. nonce: GN0p14 1735.. section: IDLE 1736 1737In section on IDLE -- console differences, mention that using exec means 1738that __builtins__ is defined for each statement. 1739 1740.. 1741 1742.. bpo: 27714 1743.. date: 9720 1744.. nonce: bUEDsI 1745.. section: IDLE 1746 1747text_textview and test_autocomplete now pass when re-run in the same 1748process. This occurs when test_idle fails when run with the -w option but 1749without -jn. Fix warning from test_config. 1750 1751.. 1752 1753.. bpo: 25507 1754.. date: 9719 1755.. nonce: lxf68d 1756.. section: IDLE 1757 1758IDLE no longer runs buggy code because of its tkinter imports. Users must 1759include the same imports required to run directly in Python. 1760 1761.. 1762 1763.. bpo: 27452 1764.. date: 9718 1765.. nonce: RtWnyR 1766.. section: IDLE 1767 1768add line counter and crc to IDLE configHandler test dump. 1769 1770.. 1771 1772.. bpo: 27365 1773.. date: 9717 1774.. nonce: y7ys_A 1775.. section: IDLE 1776 1777Allow non-ascii chars in IDLE NEWS.txt, for contributor names. 1778 1779.. 1780 1781.. bpo: 27245 1782.. date: 9716 1783.. nonce: u9aKO1 1784.. section: IDLE 1785 1786IDLE: Cleanly delete custom themes and key bindings. Previously, when IDLE 1787was started from a console or by import, a cascade of warnings was emitted. 1788Patch by Serhiy Storchaka. 1789 1790.. 1791 1792.. bpo: 28808 1793.. date: 9715 1794.. nonce: A03X6r 1795.. section: C API 1796 1797PyUnicode_CompareWithASCIIString() now never raises exceptions. 1798 1799.. 1800 1801.. bpo: 26754 1802.. date: 9714 1803.. nonce: j2czHF 1804.. section: C API 1805 1806PyUnicode_FSDecoder() accepted a filename argument encoded as an iterable of 1807integers. Now only strings and bytes-like objects are accepted. 1808 1809.. 1810 1811.. bpo: 28513 1812.. date: 9713 1813.. nonce: L3joAz 1814.. section: Documentation 1815 1816Documented command-line interface of zipfile. 1817 1818.. 1819 1820.. bpo: 28950 1821.. date: 9712 1822.. nonce: 9_vY6R 1823.. section: Tests 1824 1825Disallow -j0 to be combined with -T/-l/-M in regrtest command line 1826arguments. 1827 1828.. 1829 1830.. bpo: 28666 1831.. date: 9711 1832.. nonce: RtTk-4 1833.. section: Tests 1834 1835Now test.support.rmtree is able to remove unwritable or unreadable 1836directories. 1837 1838.. 1839 1840.. bpo: 23839 1841.. date: 9710 1842.. nonce: zsT_L9 1843.. section: Tests 1844 1845Various caches now are cleared before running every test file. 1846 1847.. 1848 1849.. bpo: 28409 1850.. date: 9709 1851.. nonce: Q2IlxJ 1852.. section: Tests 1853 1854regrtest: fix the parser of command line arguments. 1855 1856.. 1857 1858.. bpo: 27787 1859.. date: 9708 1860.. nonce: kf0YAt 1861.. section: Tests 1862 1863Call gc.collect() before checking each test for "dangling threads", since 1864the dangling threads are weak references. 1865 1866.. 1867 1868.. bpo: 27369 1869.. date: 9707 1870.. nonce: LG7U2D 1871.. section: Tests 1872 1873In test_pyexpat, avoid testing an error message detail that changed in Expat 18742.2.0. 1875 1876.. 1877 1878.. bpo: 27952 1879.. date: 9706 1880.. nonce: WX9Ufc 1881.. section: Tools/Demos 1882 1883Get Tools/scripts/fixcid.py working with Python 3 and the current "re" 1884module, avoid invalid Python backslash escapes, and fix a bug parsing 1885escaped C quote signs. 1886 1887.. 1888 1889.. bpo: 27332 1890.. date: 9705 1891.. nonce: OuRZp9 1892.. section: Tools/Demos 1893 1894Fixed the type of the first argument of module-level functions generated by 1895Argument Clinic. Patch by Petr Viktorin. 1896 1897.. 1898 1899.. bpo: 27418 1900.. date: 9704 1901.. nonce: W2m_8I 1902.. section: Tools/Demos 1903 1904Fixed Tools/importbench/importbench.py. 1905 1906.. 1907 1908.. bpo: 28251 1909.. date: 9703 1910.. nonce: tR_AFs 1911.. section: Windows 1912 1913Improvements to help manuals on Windows. 1914 1915.. 1916 1917.. bpo: 28110 1918.. date: 9702 1919.. nonce: cnkP5F 1920.. section: Windows 1921 1922launcher.msi has different product codes between 32-bit and 64-bit 1923 1924.. 1925 1926.. bpo: 25144 1927.. date: 9701 1928.. nonce: iUha52 1929.. section: Windows 1930 1931Ensures TargetDir is set before continuing with custom install. 1932 1933.. 1934 1935.. bpo: 27469 1936.. date: 9700 1937.. nonce: 0GwDkX 1938.. section: Windows 1939 1940Adds a shell extension to the launcher so that drag and drop works 1941correctly. 1942 1943.. 1944 1945.. bpo: 27309 1946.. date: 9699 1947.. nonce: 4DPjhF 1948.. section: Windows 1949 1950Enabled proper Windows styles in python[w].exe manifest. 1951 1952.. 1953 1954.. bpo: 29080 1955.. date: 9698 1956.. nonce: b3qLQT 1957.. section: Build 1958 1959Removes hard dependency on hg.exe from PCBuild/build.bat 1960 1961.. 1962 1963.. bpo: 23903 1964.. date: 9697 1965.. nonce: JXJ889 1966.. section: Build 1967 1968Added missed names to PC/python3.def. 1969 1970.. 1971 1972.. bpo: 10656 1973.. date: 9696 1974.. nonce: pR8FFU 1975.. section: Build 1976 1977Fix out-of-tree building on AIX. Patch by Tristan Carel and Michael 1978Haubenwallner. 1979 1980.. 1981 1982.. bpo: 26359 1983.. date: 9695 1984.. nonce: CLz6qy 1985.. section: Build 1986 1987Rename --with-optimiations to --enable-optimizations. 1988 1989.. 1990 1991.. bpo: 28444 1992.. date: 9694 1993.. nonce: zkc9nT 1994.. section: Build 1995 1996Fix missing extensions modules when cross compiling. 1997 1998.. 1999 2000.. bpo: 28248 2001.. date: 9693 2002.. nonce: KY_-en 2003.. section: Build 2004 2005Update Windows build and OS X installers to use OpenSSL 1.0.2j. 2006 2007.. 2008 2009.. bpo: 28258 2010.. date: 9692 2011.. nonce: iKtAHd 2012.. section: Build 2013 2014Fixed build with Estonian locale (python-config and distclean targets in 2015Makefile). Patch by Arfrever Frehtes Taifersar Arahesis. 2016 2017.. 2018 2019.. bpo: 26661 2020.. date: 9691 2021.. nonce: Z_HNbs 2022.. section: Build 2023 2024setup.py now detects system libffi with multiarch wrapper. 2025 2026.. 2027 2028.. bpo: 28066 2029.. date: 9690 2030.. nonce: _3xImV 2031.. section: Build 2032 2033Fix the logic that searches build directories for generated include files 2034when building outside the source tree. 2035 2036.. 2037 2038.. bpo: 15819 2039.. date: 9689 2040.. nonce: QVDr3E 2041.. section: Build 2042 2043Remove redundant include search directory option for building outside the 2044source tree. 2045 2046.. 2047 2048.. bpo: 27566 2049.. date: 9688 2050.. nonce: xDWjEb 2051.. section: Build 2052 2053Fix clean target in freeze makefile (patch by Lisa Roach) 2054 2055.. 2056 2057.. bpo: 27705 2058.. date: 9687 2059.. nonce: 8C2Ms3 2060.. section: Build 2061 2062Update message in validate_ucrtbase.py 2063 2064.. 2065 2066.. bpo: 27983 2067.. date: 9686 2068.. nonce: jL_1n8 2069.. section: Build 2070 2071Cause lack of llvm-profdata tool when using clang as required for PGO 2072linking to be a configure time error rather than make time when 2073--with-optimizations is enabled. Also improve our ability to find the 2074llvm-profdata tool on MacOS and some Linuxes. 2075 2076.. 2077 2078.. bpo: 26307 2079.. date: 9685 2080.. nonce: Puk2rd 2081.. section: Build 2082 2083The profile-opt build now applies PGO to the built-in modules. 2084 2085.. 2086 2087.. bpo: 26359 2088.. date: 9684 2089.. nonce: WXBL-Y 2090.. section: Build 2091 2092Add the --with-optimizations configure flag. 2093 2094.. 2095 2096.. bpo: 27713 2097.. date: 9683 2098.. nonce: _3DgXG 2099.. section: Build 2100 2101Suppress spurious build warnings when updating importlib's bootstrap files. 2102Patch by Xiang Zhang 2103 2104.. 2105 2106.. bpo: 25825 2107.. date: 9682 2108.. nonce: JD8aRp 2109.. section: Build 2110 2111Correct the references to Modules/python.exp and ld_so_aix, which are 2112required on AIX. This updates references to an installation path that was 2113changed in 3.2a4, and undoes changed references to the build tree that were 2114made in 3.5.0a1. 2115 2116.. 2117 2118.. bpo: 27453 2119.. date: 9681 2120.. nonce: Pb5DBi 2121.. section: Build 2122 2123CPP invocation in configure must use CPPFLAGS. Patch by Chi Hsuan Yen. 2124 2125.. 2126 2127.. bpo: 27641 2128.. date: 9680 2129.. nonce: eGzgCk 2130.. section: Build 2131 2132The configure script now inserts comments into the makefile to prevent the 2133pgen and _freeze_importlib executables from being cross-compiled. 2134 2135.. 2136 2137.. bpo: 26662 2138.. date: 9679 2139.. nonce: XkwRxM 2140.. section: Build 2141 2142Set PYTHON_FOR_GEN in configure as the Python program to be used for file 2143generation during the build. 2144 2145.. 2146 2147.. bpo: 10910 2148.. date: 9678 2149.. nonce: ZdRayb 2150.. section: Build 2151 2152Avoid C++ compilation errors on FreeBSD and OS X. Also update FreedBSD 2153version checks for the original ctype UTF-8 workaround. 2154 2155.. 2156 2157.. bpo: 28676 2158.. date: 9677 2159.. nonce: Wxf6Ds 2160.. section: Build 2161 2162Prevent missing 'getentropy' declaration warning on macOS. Patch by Gareth 2163Rees. 2164