1.. bpo: 32176 2.. date: 2017-12-02-21-37-22 3.. nonce: Wt25-N 4.. release date: 2017-12-05 5.. section: Core and Builtins 6 7co_flags.CO_NOFREE is now always set correctly by the code object 8constructor based on freevars and cellvars, rather than needing to be set 9correctly by the caller. This ensures it will be cleared automatically when 10additional cell references are injected into a modified code object and 11function. 12 13.. 14 15.. bpo: 31949 16.. date: 2017-11-05-16-11-07 17.. nonce: 2yNC_z 18.. section: Core and Builtins 19 20Fixed several issues in printing tracebacks (PyTraceBack_Print()). 21Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks. 22Setting sys.tracebacklimit to None now causes using the default limit. 23Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using 24the limit LONG_MAX rather than the default limit. 25Fixed integer overflows in the case of more than ``2**31`` traceback items on 26Windows. 27Fixed output errors handling. 28 29.. 30 31.. bpo: 30696 32.. date: 2017-10-28-22-06-03 33.. nonce: lhC3HE 34.. section: Core and Builtins 35 36Fix the interactive interpreter looping endlessly when no memory. 37 38.. 39 40.. bpo: 20047 41.. date: 2017-10-28-19-11-05 42.. nonce: GuNAto 43.. section: Core and Builtins 44 45Bytearray methods partition() and rpartition() now accept only bytes-like 46objects as separator, as documented. In particular they now raise TypeError 47rather of returning a bogus result when an integer is passed as a separator. 48 49.. 50 51.. bpo: 31852 52.. date: 2017-10-27-19-18-44 53.. nonce: P_4cVr 54.. section: Core and Builtins 55 56Fix a segmentation fault caused by a combination of the async soft keyword 57and continuation lines. 58 59.. 60 61.. bpo: 21720 62.. date: 2017-10-25-15-51-37 63.. nonce: BwIKLP 64.. section: Core and Builtins 65 66BytesWarning no longer emitted when the *fromlist* argument of 67``__import__()`` or the ``__all__`` attribute of the module contain bytes 68instances. 69 70.. 71 72.. bpo: 31825 73.. date: 2017-10-20-14-07-46 74.. nonce: gJvmGW 75.. section: Core and Builtins 76 77Fixed OverflowError in the 'unicode-escape' codec and in 78codecs.escape_decode() when decode an escaped non-ascii byte. 79 80.. 81 82.. bpo: 28603 83.. date: 2017-10-17-13-29-19 84.. nonce: _-oia3 85.. section: Core and Builtins 86 87Print the full context/cause chain of exceptions on interpreter exit, even 88if an exception in the chain is unhashable or compares equal to later ones. 89Patch by Zane Bitter. 90 91.. 92 93.. bpo: 31786 94.. date: 2017-10-15-23-44-57 95.. nonce: XwdEP4 96.. section: Core and Builtins 97 98Fix timeout rounding in the select module to round correctly negative 99timeouts between -1.0 and 0.0. The functions now block waiting for events as 100expected. Previously, the call was incorrectly non-blocking. Patch by Pablo 101Galindo. 102 103.. 104 105.. bpo: 31642 106.. date: 2017-10-08-10-00-55 107.. nonce: 1IKqgs 108.. section: Core and Builtins 109 110Restored blocking "from package import module" by setting 111sys.modules["package.module"] to None. 112 113.. 114 115.. bpo: 31626 116.. date: 2017-10-01-15-48-03 117.. nonce: reLPxY 118.. section: Core and Builtins 119 120Fixed a bug in debug memory allocator. There was a write to freed memory 121after shrinking a memory block. 122 123.. 124 125.. bpo: 31619 126.. date: 2017-09-29-20-32-24 127.. nonce: 6gQ1kv 128.. section: Core and Builtins 129 130Fixed a ValueError when convert a string with large number of underscores to 131integer with binary base. 132 133.. 134 135.. bpo: 31592 136.. date: 2017-09-26-16-05-04 137.. nonce: IFBZj9 138.. section: Core and Builtins 139 140Fixed an assertion failure in Python parser in case of a bad 141`unicodedata.normalize()`. Patch by Oren Milman. 142 143.. 144 145.. bpo: 31588 146.. date: 2017-09-26-13-03-16 147.. nonce: wT9Iy7 148.. section: Core and Builtins 149 150Raise a `TypeError` with a helpful error message when class creation fails 151due to a metaclass with a bad ``__prepare__()`` method. Patch by Oren 152Milman. 153 154.. 155 156.. bpo: 31566 157.. date: 2017-09-24-09-57-04 158.. nonce: OxwINs 159.. section: Core and Builtins 160 161Fix an assertion failure in `_warnings.warn()` in case of a bad ``__name__`` 162global. Patch by Oren Milman. 163 164.. 165 166.. bpo: 31505 167.. date: 2017-09-18-12-07-39 168.. nonce: VomaFa 169.. section: Core and Builtins 170 171Fix an assertion failure in `json`, in case `_json.make_encoder()` received 172a bad `encoder()` argument. Patch by Oren Milman. 173 174.. 175 176.. bpo: 31492 177.. date: 2017-09-16-22-49-16 178.. nonce: RtyteL 179.. section: Core and Builtins 180 181Fix assertion failures in case of failing to import from a module with a bad 182``__name__`` attribute, and in case of failing to access an attribute of 183such a module. Patch by Oren Milman. 184 185.. 186 187.. bpo: 31490 188.. date: 2017-09-16-13-32-35 189.. nonce: r7m2sj 190.. section: Core and Builtins 191 192Fix an assertion failure in `ctypes` class definition, in case the class has 193an attribute whose name is specified in ``_anonymous_`` but not in 194``_fields_``. Patch by Oren Milman. 195 196.. 197 198.. bpo: 31478 199.. date: 2017-09-15-09-13-07 200.. nonce: o06iKD 201.. section: Core and Builtins 202 203Fix an assertion failure in `_random.Random.seed()` in case the argument has 204a bad ``__abs__()`` method. Patch by Oren Milman. 205 206.. 207 208.. bpo: 31315 209.. date: 2017-09-01-00-40-58 210.. nonce: ZX20bl 211.. section: Core and Builtins 212 213Fix an assertion failure in imp.create_dynamic(), when spec.name is not a 214string. Patch by Oren Milman. 215 216.. 217 218.. bpo: 31311 219.. date: 2017-08-31-17-52-56 220.. nonce: bNE2l- 221.. section: Core and Builtins 222 223Fix a crash in the ``__setstate__()`` method of `ctypes._CData`, in case of 224a bad ``__dict__``. Patch by Oren Milman. 225 226.. 227 228.. bpo: 31293 229.. date: 2017-08-28-17-51-42 230.. nonce: eMYZXj 231.. section: Core and Builtins 232 233Fix crashes in true division and multiplication of a timedelta object by a 234float with a bad as_integer_ratio() method. Patch by Oren Milman. 235 236.. 237 238.. bpo: 31285 239.. date: 2017-08-27-21-18-30 240.. nonce: 7lzaKV 241.. section: Core and Builtins 242 243Fix an assertion failure in `warnings.warn_explicit`, when the return value 244of the received loader's get_source() has a bad splitlines() method. Patch 245by Oren Milman. 246 247.. 248 249.. bpo: 30817 250.. date: 2017-07-01-15-11-13 251.. nonce: j7ZvN_ 252.. section: Core and Builtins 253 254`PyErr_PrintEx()` clears now the ignored exception that may be raised by 255`_PySys_SetObjectId()`, for example when no memory. 256 257.. 258 259.. bpo: 28556 260.. date: 2017-12-05-02-03-07 261.. nonce: 9Z_PsJ 262.. section: Library 263 264Two minor fixes for ``typing`` module: allow shallow copying instances of 265generic classes, improve interaction of ``__init_subclass__`` with generics. 266Original PRs by Ivan Levkivskyi. 267 268.. 269 270.. bpo: 27240 271.. date: 2017-12-02-16-06-00 272.. nonce: Kji34M 273.. section: Library 274 275The header folding algorithm for the new email policies has been rewritten, 276which also fixes bpo-30788, bpo-31831, and bpo-32182. In particular, 277RFC2231 folding is now done correctly. 278 279.. 280 281.. bpo: 32186 282.. date: 2017-11-30-20-38-16 283.. nonce: O42bVe 284.. section: Library 285 286io.FileIO.readall() and io.FileIO.read() now release the GIL when getting 287the file size. Fixed hang of all threads with inaccessible NFS server. Patch 288by Nir Soffer. 289 290.. 291 292.. bpo: 12239 293.. date: 2017-11-24-14-07-55 294.. nonce: Nj3A0x 295.. section: Library 296 297Make :meth:`msilib.SummaryInformation.GetProperty` return ``None`` when the 298value of property is ``VT_EMPTY``. Initial patch by Mark Mc Mahon. 299 300.. 301 302.. bpo: 31325 303.. date: 2017-11-23-22-12-11 304.. nonce: 8jAUxN 305.. section: Library 306 307Fix wrong usage of :func:`collections.namedtuple` in the 308:meth:`RobotFileParser.parse() <urllib.robotparser.RobotFileParser.parse>` 309method. 310Initial patch by Robin Wellner. 311 312.. 313 314.. bpo: 12382 315.. date: 2017-11-23-21-47-36 316.. nonce: xWT9k0 317.. section: Library 318 319:func:`msilib.OpenDatabase` now raises a better exception message when it 320couldn't open or create an MSI file. Initial patch by William Tisäter. 321 322.. 323 324.. bpo: 32110 325.. date: 2017-11-22-09-44-15 326.. nonce: VJa9bo 327.. section: Library 328 329``codecs.StreamReader.read(n)`` now returns not more than *n* 330characters/bytes for non-negative *n*. This makes it compatible with 331``read()`` methods of other file-like objects. 332 333.. 334 335.. bpo: 32072 336.. date: 2017-11-18-21-13-52 337.. nonce: nwDV8L 338.. section: Library 339 340Fixed issues with binary plists: 341Fixed saving bytearrays. 342Identical objects will be saved only once. 343Equal references will be load as identical objects. 344Added support for saving and loading recursive data structures. 345 346.. 347 348.. bpo: 32034 349.. date: 2017-11-15-13-44-28 350.. nonce: uHAOmu 351.. section: Library 352 353Make asyncio.IncompleteReadError and LimitOverrunError pickleable. 354 355.. 356 357.. bpo: 32015 358.. date: 2017-11-13-17-48-33 359.. nonce: 4nqRTD 360.. section: Library 361 362Fixed the looping of asyncio in the case of reconnection the socket during 363waiting async read/write from/to the socket. 364 365.. 366 367.. bpo: 32011 368.. date: 2017-11-12-20-47-59 369.. nonce: NzVDdZ 370.. section: Library 371 372Restored support of loading marshal files with the TYPE_INT64 code. These 373files can be produced in Python 2.7. 374 375.. 376 377.. bpo: 31970 378.. date: 2017-11-07-14-20-09 379.. nonce: x4EN_9 380.. section: Library 381 382Reduce performance overhead of asyncio debug mode. 383 384.. 385 386.. bpo: 9678 387.. date: 2017-11-03-22-05-47 388.. nonce: oD51q6 389.. section: Library 390 391Fixed determining the MAC address in the uuid module: 392Using ifconfig on NetBSD and OpenBSD. 393Using arp on Linux, FreeBSD, NetBSD and OpenBSD. 394Based on patch by Takayuki Shimizukawa. 395 396.. 397 398.. bpo: 30057 399.. date: 2017-11-03-19-11-43 400.. nonce: NCaijI 401.. section: Library 402 403Fix potential missed signal in signal.signal(). 404 405.. 406 407.. bpo: 31933 408.. date: 2017-11-03-08-36-03 409.. nonce: UrtoMP 410.. section: Library 411 412Fix Blake2 params leaf_size and node_offset on big endian platforms. Patch 413by Jack O'Connor. 414 415.. 416 417.. bpo: 31927 418.. date: 2017-11-02-18-26-40 419.. nonce: 40K6kp 420.. section: Library 421 422Fixed compilation of the socket module on NetBSD 8. Fixed assertion failure 423or reading arbitrary data when parse a AF_BLUETOOTH address on NetBSD and 424DragonFly BSD. 425 426.. 427 428.. bpo: 27666 429.. date: 2017-11-01-18-13-42 430.. nonce: j2zRnF 431.. section: Library 432 433Fixed stack corruption in curses.box() and curses.ungetmouse() when the size 434of types chtype or mmask_t is less than the size of C long. curses.box() 435now accepts characters as arguments. Based on patch by Steve Fink. 436 437.. 438 439.. bpo: 31897 440.. date: 2017-10-30-11-04-56 441.. nonce: yjwdEb 442.. section: Library 443 444plistlib now catches more errors when read binary plists and raises 445InvalidFileException instead of unexpected exceptions. 446 447.. 448 449.. bpo: 25720 450.. date: 2017-10-29-17-52-40 451.. nonce: vSvb5h 452.. section: Library 453 454Fix the method for checking pad state of curses WINDOW. Patch by Masayuki 455Yamamoto. 456 457.. 458 459.. bpo: 31893 460.. date: 2017-10-29-13-51-01 461.. nonce: 8LZKEz 462.. section: Library 463 464Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed 465the comparison of the kqueue_event objects. 466 467.. 468 469.. bpo: 31891 470.. date: 2017-10-29-11-23-24 471.. nonce: 9kAPha 472.. section: Library 473 474Fixed building the curses module on NetBSD. 475 476.. 477 478.. bpo: 28416 479.. date: 2017-10-23-12-05-33 480.. nonce: Ldnw8X 481.. section: Library 482 483Instances of pickle.Pickler subclass with the persistent_id() method and 484pickle.Unpickler subclass with the persistent_load() method no longer create 485reference cycles. 486 487.. 488 489.. bpo: 28326 490.. date: 2017-10-22-11-06-02 491.. nonce: rxh7L4 492.. section: Library 493 494Fix multiprocessing.Process when stdout and/or stderr is closed or None. 495 496.. 497 498.. bpo: 31457 499.. date: 2017-10-18-19-05-17 500.. nonce: KlE6r8 501.. section: Library 502 503If nested log adapters are used, the inner ``process()`` methods are no 504longer omitted. 505 506.. 507 508.. bpo: 31457 509.. date: 2017-10-18-16-48-09 510.. nonce: _ovmzp 511.. section: Library 512 513The ``manager`` property on LoggerAdapter objects is now properly settable. 514 515.. 516 517.. bpo: 31806 518.. date: 2017-10-17-23-27-03 519.. nonce: TzphdL 520.. section: Library 521 522Fix timeout rounding in time.sleep(), threading.Lock.acquire() and 523socket.socket.settimeout() to round correctly negative timeouts between -1.0 524and 0.0. The functions now block waiting for events as expected. Previously, 525the call was incorrectly non-blocking. Patch by Pablo Galindo. 526 527.. 528 529.. bpo: 28603 530.. date: 2017-10-17-12-29-18 531.. nonce: tGuX2C 532.. section: Library 533 534traceback: Fix a TypeError that occurred during printing of exception 535tracebacks when either the current exception or an exception in its 536context/cause chain is unhashable. Patch by Zane Bitter. 537 538.. 539 540.. bpo: 30058 541.. date: 2017-10-12-19-00-53 542.. nonce: cENtry 543.. section: Library 544 545Fixed buffer overflow in select.kqueue.control(). 546 547.. 548 549.. bpo: 31770 550.. date: 2017-10-12-18-45-38 551.. nonce: GV3MPx 552.. section: Library 553 554Prevent a crash when calling the ``__init__()`` method of a 555``sqlite3.Cursor`` object more than once. Patch by Oren Milman. 556 557.. 558 559.. bpo: 31672 560.. date: 2017-10-12-02-47-16 561.. nonce: DaOkVd 562.. section: Library 563 564``idpattern`` in ``string.Template`` matched some non-ASCII characters. Now 565it uses ``-i`` regular expression local flag to avoid non-ASCII characters. 566 567.. 568 569.. bpo: 31764 570.. date: 2017-10-11-22-18-04 571.. nonce: EMyIkK 572.. section: Library 573 574Prevent a crash in ``sqlite3.Cursor.close()`` in case the ``Cursor`` object 575is uninitialized. Patch by Oren Milman. 576 577.. 578 579.. bpo: 31752 580.. date: 2017-10-11-00-45-01 581.. nonce: DhWevN 582.. section: Library 583 584Fix possible crash in timedelta constructor called with custom integers. 585 586.. 587 588.. bpo: 31701 589.. date: 2017-10-09-17-42-30 590.. nonce: NRrVel 591.. section: Library 592 593On Windows, faulthandler.enable() now ignores MSC and COM exceptions. 594 595.. 596 597.. bpo: 31728 598.. date: 2017-10-08-23-28-30 599.. nonce: XrVMME 600.. section: Library 601 602Prevent crashes in `_elementtree` due to unsafe cleanup of `Element.text` 603and `Element.tail`. Patch by Oren Milman. 604 605.. 606 607.. bpo: 31620 608.. date: 2017-10-06-04-35-31 609.. nonce: gksLA1 610.. section: Library 611 612an empty asyncio.Queue now doesn't leak memory when queue.get pollers 613timeout 614 615.. 616 617.. bpo: 31632 618.. date: 2017-10-04-11-37-14 619.. nonce: LiOC3C 620.. section: Library 621 622Fix method set_protocol() of class _SSLProtocolTransport in asyncio module. 623This method was previously modifying a wrong reference to the protocol. 624 625.. 626 627.. bpo: 31675 628.. date: 2017-10-03-15-06-24 629.. nonce: Nh7jJ3 630.. section: Library 631 632Fixed memory leaks in Tkinter's methods splitlist() and split() when pass a 633string larger than 2 GiB. 634 635.. 636 637.. bpo: 31673 638.. date: 2017-10-03-14-37-46 639.. nonce: RFCrka 640.. section: Library 641 642Fixed typo in the name of Tkinter's method adderrorinfo(). 643 644.. 645 646.. bpo: 30806 647.. date: 2017-09-29 648.. nonce: lP5GrH 649.. section: Library 650 651Fix the string representation of a netrc object. 652 653.. 654 655.. bpo: 15037 656.. date: 2017-09-29-19-19-36 657.. nonce: ykimLK 658.. section: Library 659 660Added a workaround for getkey() in curses for ncurses 5.7 and earlier. 661 662.. 663 664.. bpo: 25351 665.. date: 2017-09-28-23-10-51 666.. nonce: 2JmFpF 667.. section: Library 668 669Avoid venv activate failures with undefined variables 670 671.. 672 673.. bpo: 25532 674.. date: 2017-09-27-08-11-38 675.. nonce: ey4Yez 676.. section: Library 677 678inspect.unwrap() will now only try to unwrap an object 679sys.getrecursionlimit() times, to protect against objects which create a new 680object on every attribute access. 681 682.. 683 684.. bpo: 30347 685.. date: 2017-09-25-14-04-30 686.. nonce: B4--_D 687.. section: Library 688 689Stop crashes when concurrently iterate over itertools.groupby() iterators. 690 691.. 692 693.. bpo: 31516 694.. date: 2017-09-20-18-43-01 695.. nonce: 23Yuq3 696.. section: Library 697 698``threading.current_thread()`` should not return a dummy thread at shutdown. 699 700.. 701 702.. bpo: 31351 703.. date: 2017-09-17-15-24-25 704.. nonce: yQdKv- 705.. section: Library 706 707python -m ensurepip now exits with non-zero exit code if pip bootstrapping 708has failed. 709 710.. 711 712.. bpo: 31482 713.. date: 2017-09-16-01-53-11 714.. nonce: 39s5dS 715.. section: Library 716 717``random.seed()`` now works with bytes in version=1 718 719.. 720 721.. bpo: 31334 722.. date: 2017-09-04-00-22-31 723.. nonce: 9WYRfi 724.. section: Library 725 726Fix ``poll.poll([timeout])`` in the ``select`` module for arbitrary negative 727timeouts on all OSes where it can only be a non-negative integer or -1. 728Patch by Riccardo Coccioli. 729 730.. 731 732.. bpo: 31310 733.. date: 2017-08-30-18-23-54 734.. nonce: 7D1UNt 735.. section: Library 736 737multiprocessing's semaphore tracker should be launched again if crashed. 738 739.. 740 741.. bpo: 31308 742.. date: 2017-08-30-17-59-36 743.. nonce: KbexyC 744.. section: Library 745 746Make multiprocessing's forkserver process immune to Ctrl-C and other user 747interruptions. If it crashes, restart it when necessary. 748 749.. 750 751.. bpo: 32105 752.. date: 2017-11-21-10-54-16 753.. nonce: 91mhWm 754.. section: Documentation 755 756Added asyncio.BaseEventLoop.connect_accepted_socket versionadded marker. 757 758.. 759 760.. bpo: 31537 761.. date: 2017-10-08-23-02-14 762.. nonce: SiFNM8 763.. section: Documentation 764 765Fix incorrect usage of ``get_history_length`` in readline documentation 766example code. Patch by Brad Smith. 767 768.. 769 770.. bpo: 30085 771.. date: 2017-09-14-18-44-50 772.. nonce: 0J9w-u 773.. section: Documentation 774 775The operator functions without double underscores are preferred for clarity. 776The one with underscores are only kept for back-compatibility. 777 778.. 779 780.. bpo: 31380 781.. date: 2017-12-04-23-19-16 782.. nonce: VlMmHW 783.. section: Tests 784 785Skip test_httpservers test_undecodable_file on macOS: fails on APFS. 786 787.. 788 789.. bpo: 31705 790.. date: 2017-11-30-12-27-10 791.. nonce: yULW7O 792.. section: Tests 793 794Skip test_socket.test_sha256() on Linux kernel older than 4.5. The test 795fails with ENOKEY on kernel 3.10 (on ppc64le). A fix was merged into the 796kernel 4.5. 797 798.. 799 800.. bpo: 31174 801.. date: 2017-10-24-11-36-10 802.. nonce: xCvXcr 803.. section: Tests 804 805Fix test_tools.test_unparse: DirectoryTestCase now stores the names sample 806to always test the same files. It prevents false alarms when hunting 807reference leaks. 808 809.. 810 811.. bpo: 30695 812.. date: 2017-06-30-11-20-20 813.. nonce: lo7FQX 814.. section: Tests 815 816Add the `set_nomemory(start, stop)` and `remove_mem_hooks()` functions to 817the _testcapi module. 818 819.. 820 821.. bpo: 32059 822.. date: 2017-11-18-11-19-28 823.. nonce: a0Hxgp 824.. section: Build 825 826``detect_modules()`` in ``setup.py`` now also searches the sysroot paths 827when cross-compiling. 828 829.. 830 831.. bpo: 31957 832.. date: 2017-11-06-11-53-39 833.. nonce: S_1jFK 834.. section: Build 835 836Fixes Windows SDK version detection when building for Windows. 837 838.. 839 840.. bpo: 31609 841.. date: 2017-11-04-15-35-08 842.. nonce: k7_nBR 843.. section: Build 844 845Fixes quotes in PCbuild/clean.bat 846 847.. 848 849.. bpo: 31934 850.. date: 2017-11-03-15-17-50 851.. nonce: 8bUlpv 852.. section: Build 853 854Abort the build when building out of a not clean source tree. 855 856.. 857 858.. bpo: 31926 859.. date: 2017-11-03-10-07-14 860.. nonce: 57wE98 861.. section: Build 862 863Fixed Argument Clinic sometimes causing compilation errors when there was 864more than one function and/or method in a .c file with the same name. 865 866.. 867 868.. bpo: 28791 869.. date: 2017-11-02-20-30-57 870.. nonce: VaE3o8 871.. section: Build 872 873Update Windows builds to use SQLite 3.21.0. 874 875.. 876 877.. bpo: 28791 878.. date: 2017-11-02-20-13-46 879.. nonce: STt3jL 880.. section: Build 881 882Update OS X installer to use SQLite 3.21.0. 883 884.. 885 886.. bpo: 22140 887.. date: 2017-09-26-22-39-58 888.. nonce: ZRf7Wn 889.. section: Build 890 891Prevent double substitution of prefix in python-config.sh. 892 893.. 894 895.. bpo: 31536 896.. date: 2017-09-20-21-32-21 897.. nonce: KUDjno 898.. section: Build 899 900Avoid wholesale rebuild after `make regen-all` if nothing changed. 901 902.. 903 904.. bpo: 1102 905.. date: 2017-11-19-09-46-27 906.. nonce: NY-g1F 907.. section: Windows 908 909Return ``None`` when ``View.Fetch()`` returns ``ERROR_NO_MORE_ITEMS`` 910instead of raising ``MSIError``. 911Initial patch by Anthony Tuininga. 912 913.. 914 915.. bpo: 31944 916.. date: 2017-11-04-15-29-47 917.. nonce: 0Bx8tZ 918.. section: Windows 919 920Fixes Modify button in Apps and Features dialog. 921 922.. 923 924.. bpo: 31392 925.. date: 2017-12-04-21-57-43 926.. nonce: f8huBC 927.. section: macOS 928 929Update macOS installer to use OpenSSL 1.0.2m 930 931.. 932 933.. bpo: 32207 934.. date: 2017-12-04-15-04-43 935.. nonce: IzyAJo 936.. section: IDLE 937 938Improve tk event exception tracebacks in IDLE. When tk event handling is 939driven by IDLE's run loop, a confusing and distracting queue.EMPTY traceback 940context is no longer added to tk event exception tracebacks. The traceback 941is now the same as when event handling is driven by user code. Patch based 942on a suggestion by Serhiy Storchaka. 943 944.. 945 946.. bpo: 32164 947.. date: 2017-11-28-21-47-15 948.. nonce: 2T2Na8 949.. section: IDLE 950 951Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet in 952configdialog was replaced by ttk.Notebook. 953 954.. 955 956.. bpo: 32100 957.. date: 2017-11-21-08-26-08 958.. nonce: P43qx2 959.. section: IDLE 960 961IDLE: Fix old and new bugs in pathbrowser; improve tests. Patch mostly by 962Cheryl Sabella. 963 964.. 965 966.. bpo: 31858 967.. date: 2017-10-26-20-20-19 968.. nonce: VuSA_e 969.. section: IDLE 970 971IDLE -- Restrict shell prompt manipulation to the shell. Editor and output 972windows only see an empty last prompt line. This simplifies the code and 973fixes a minor bug when newline is inserted. Sys.ps1, if present, is read on 974Shell start-up, but is not set or changed. 975 976.. 977 978.. bpo: 31860 979.. date: 2017-10-24-16-21-50 980.. nonce: gECuWx 981.. section: IDLE 982 983The font sample in the IDLE configuration dialog is now editable. Changes 984persist while IDLE remains open 985 986.. 987 988.. bpo: 31836 989.. date: 2017-10-21-15-41-53 990.. nonce: fheLME 991.. section: IDLE 992 993Test_code_module now passes if run after test_idle, which sets ps1. 994The code module uses sys.ps1 if present or sets it to '>>> ' if not. 995Test_code_module now properly tests both behaviors. Ditto for ps2. 996 997.. 998 999.. bpo: 28603 1000.. date: 2017-10-17-13-26-13 1001.. nonce: TMEQfp 1002.. section: IDLE 1003 1004Fix a TypeError that caused a shell restart when printing a traceback that 1005includes an exception that is unhashable. Patch by Zane Bitter. 1006 1007.. 1008 1009.. bpo: 13802 1010.. date: 2017-10-12-00-51-29 1011.. nonce: VwjZRD 1012.. section: IDLE 1013 1014Use non-Latin characters in the IDLE's Font settings sample. Even if one 1015selects a font that defines a limited subset of the unicode Basic 1016Multilingual Plane, tcl/tk will use other fonts that define a character. The 1017expanded example give users of non-Latin characters a better idea of what 1018they might see in IDLE's shell and editors. To make room for the expanded 1019sample, frames on the Font tab are re-arranged. The Font/Tabs help explains 1020a bit about the additions. 1021 1022.. 1023 1024.. bpo: 31460 1025.. date: 2017-09-30-19-03-26 1026.. nonce: HpveI6 1027.. section: IDLE 1028 1029Simplify the API of IDLE's Module Browser. 1030Passing a widget instead of an flist with a root widget opens the option of 1031creating a browser frame that is only part of a window. Passing a full file 1032name instead of pieces assumed to come from a .py file opens the possibility 1033of browsing python files that do not end in .py. 1034 1035.. 1036 1037.. bpo: 31649 1038.. date: 2017-09-30-13-59-18 1039.. nonce: LxN4Vb 1040.. section: IDLE 1041 1042IDLE - Make _htest, _utest parameters keyword only. 1043 1044.. 1045 1046.. bpo: 31559 1047.. date: 2017-09-23-12-52-24 1048.. nonce: ydckYX 1049.. section: IDLE 1050 1051Remove test order dependence in idle_test.test_browser. 1052 1053.. 1054 1055.. bpo: 31459 1056.. date: 2017-09-22-20-26-23 1057.. nonce: L0pnH9 1058.. section: IDLE 1059 1060Rename IDLE's module browser from Class Browser to Module Browser. The 1061original module-level class and method browser became a module browser, with 1062the addition of module-level functions, years ago. Nested classes and 1063functions were added yesterday. For back-compatibility, the virtual event 1064<<open-class-browser>>, which appears on the Keys tab of the Settings 1065dialog, is not changed. Patch by Cheryl Sabella. 1066 1067.. 1068 1069.. bpo: 31500 1070.. date: 2017-09-18-10-43-03 1071.. nonce: Y_YDxA 1072.. section: IDLE 1073 1074Default fonts now are scaled on HiDPI displays. 1075 1076.. 1077 1078.. bpo: 1612262 1079.. date: 2017-08-14-15-13-50 1080.. nonce: -x_Oyq 1081.. section: IDLE 1082 1083IDLE module browser now shows nested classes and functions. Original patches 1084for code and tests by Guilherme Polo and Cheryl Sabella, respectively. 1085 1086.. 1087 1088.. bpo: 30722 1089.. date: 2017-10-23-19-45-52 1090.. nonce: ioRlAu 1091.. section: Tools/Demos 1092 1093Make redemo work with Python 3.6 and newer versions. 1094Also, remove the ``LOCALE`` option since it doesn't work with string 1095patterns in Python 3. 1096Patch by Christoph Sarnowski. 1097 1098.. 1099 1100.. bpo: 20891 1101.. date: 2017-11-30-18-13-45 1102.. nonce: wBnMdF 1103.. section: C API 1104 1105Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in a non-Python 1106thread before PyEval_InitThreads(), only call PyEval_InitThreads() after 1107calling PyThreadState_New() to fix a crash. 1108 1109.. 1110 1111.. bpo: 31532 1112.. date: 2017-09-20-21-59-52 1113.. nonce: s9Cw9_ 1114.. section: C API 1115 1116Fix memory corruption due to allocator mix in getpath.c between Py_GetPath() 1117and Py_SetPath() 1118 1119.. 1120 1121.. bpo: 30697 1122.. date: 2017-06-30-11-58-01 1123.. nonce: Q3T_8n 1124.. section: C API 1125 1126The `PyExc_RecursionErrorInst` singleton is removed and 1127`PyErr_NormalizeException()` does not use it anymore. This singleton is 1128persistent and its members being never cleared may cause a segfault during 1129finalization of the interpreter. See also issue #22898. 1130