1.. bpo: 32997 2.. date: 2018-03-05-10-14-42 3.. nonce: hp2s8n 4.. release date: 2018-04-14 5.. section: Security 6 7A regex in fpformat was vulnerable to catastrophic backtracking. This regex 8was a potential DOS vector (REDOS). Based on typical uses of fpformat the 9risk seems low. The regex has been refactored and is now safe. Patch by 10Jamie Davis. 11 12.. 13 14.. bpo: 32981 15.. date: 2018-03-02-10-24-52 16.. nonce: O_qDyj 17.. section: Security 18 19Regexes in difflib and poplib were vulnerable to catastrophic backtracking. 20These regexes formed potential DOS vectors (REDOS). They have been 21refactored. This resolves CVE-2018-1060 and CVE-2018-1061. Patch by Jamie 22Davis. 23 24.. 25 26.. bpo: 31339 27.. date: 2017-09-04-21-24-51 28.. nonce: YSczZN 29.. section: Security 30 31Rewrite time.asctime() and time.ctime(). Backport and adapt the _asctime() 32function from the master branch to not depend on the implementation of 33asctime() and ctime() from the external C library. This change fixes a bug 34when Python is run using the musl C library. 35 36.. 37 38.. bpo: 30730 39.. date: 060 40.. nonce: rJsyTH 41.. original section: Library 42.. section: Security 43 44Prevent environment variables injection in subprocess on Windows. Prevent 45passing other environment variables and command arguments. 46 47.. 48 49.. bpo: 30694 50.. date: 059 51.. nonce: WkMWM_ 52.. original section: Library 53.. section: Security 54 55Upgrade expat copy from 2.2.0 to 2.2.1 to get fixes of multiple security 56vulnerabilities including: CVE-2017-9233 (External entity infinite loop 57DoS), CVE-2016-9063 (Integer overflow, re-fix), CVE-2016-0718 (Fix 58regression bugs from 2.2.0's fix to CVE-2016-0718) and CVE-2012-0876 59(Counter hash flooding with SipHash). Note: the CVE-2016-5300 (Use 60os-specific entropy sources like getrandom) doesn't impact Python, since Python 61already gets entropy from the OS to set the expat secret using 62``XML_SetHashSalt()``. 63 64.. 65 66.. bpo: 30500 67.. date: 058 68.. nonce: j5KrEp 69.. original section: Library 70.. section: Security 71 72Fix urllib.splithost() to correctly parse fragments. For example, 73``splithost('//127.0.0.1#@evil.com/')`` now correctly returns the 74``127.0.0.1`` host, instead of treating ``@evil.com`` as the host in an 75authentification (``login@host``). 76 77.. 78 79.. bpo: 29591 80.. date: 057 81.. nonce: ExKblw 82.. original section: Library 83.. section: Security 84 85Update expat copy from 2.1.1 to 2.2.0 to get fixes of CVE-2016-0718 and 86CVE-2016-4472. See https://sourceforge.net/p/expat/bugs/537/ for more 87information. 88 89.. 90 91.. bpo: 33026 92.. date: 2018-03-08-09-48-38 93.. nonce: QZA3Ba 94.. section: Core and Builtins 95 96Fixed jumping out of "with" block by setting f_lineno. 97 98.. 99 100.. bpo: 17288 101.. date: 2018-02-27-13-36-21 102.. nonce: Gdj24S 103.. section: Core and Builtins 104 105Prevent jumps from 'return' and 'exception' trace events. 106 107.. 108 109.. bpo: 18533 110.. date: 2017-12-13-16-46-23 111.. nonce: Dlk8d7 112.. section: Core and Builtins 113 114``repr()`` on a dict containing its own ``viewvalues()`` or ``viewitems()`` 115no longer raises ``RuntimeError``. Instead, use ``...``, as for other 116recursive structures. Patch by Ben North. 117 118.. 119 120.. bpo: 10544 121.. date: 2017-11-27-08-37-34 122.. nonce: 07nioT 123.. section: Core and Builtins 124 125Yield expressions are now deprecated in comprehensions and generator 126expressions when checking Python 3 compatibility. They are still permitted 127in the definition of the outermost iterable, as that is evaluated directly 128in the enclosing scope. 129 130.. 131 132.. bpo: 32137 133.. date: 2017-11-26-14-36-30 134.. nonce: Stj5nL 135.. section: Core and Builtins 136 137The repr of deeply nested dict now raises a RecursionError instead of 138crashing due to a stack overflow. 139 140.. 141 142.. bpo: 20047 143.. date: 2017-10-28-19-11-05 144.. nonce: GuNAto 145.. section: Core and Builtins 146 147Bytearray methods partition() and rpartition() now accept only bytes-like 148objects as separator, as documented. In particular they now raise TypeError 149rather of returning a bogus result when an integer is passed as a separator. 150 151.. 152 153.. bpo: 31733 154.. date: 2017-10-09-15-46-37 155.. nonce: pIf17N 156.. section: Core and Builtins 157 158Add a new PYTHONSHOWREFCOUNT environment variable. In debug mode, Python now 159only print the total reference count if PYTHONSHOWREFCOUNT is set. 160 161.. 162 163.. bpo: 31692 164.. date: 2017-10-09-11-03-13 165.. nonce: 5-bpdk 166.. section: Core and Builtins 167 168Add a new PYTHONSHOWALLOCCOUNT environment variable. When Python is compiled 169with COUNT_ALLOCS, PYTHONSHOWALLOCCOUNT now has to be set to dump allocation 170counts into stderr on shutdown. Moreover, allocations statistics are now 171dumped into stderr rather than stdout. 172 173.. 174 175.. bpo: 31478 176.. date: 2017-10-01-18-59-40 177.. nonce: owtqoO 178.. section: Core and Builtins 179 180Prevent unwanted behavior in `_random.Random.seed()` in case the argument 181has a bad ``__abs__()`` method. Patch by Oren Milman. 182 183.. 184 185.. bpo: 31530 186.. date: 2017-09-20-18-28-09 187.. nonce: CdLOM7 188.. section: Core and Builtins 189 190Fixed crashes when iterating over a file on multiple threads. 191 192.. 193 194.. bpo: 31490 195.. date: 2017-09-16-13-32-35 196.. nonce: r7m2sj 197.. section: Core and Builtins 198 199Fix an assertion failure in `ctypes` class definition, in case the class has 200an attribute whose name is specified in ``_anonymous_`` but not in 201``_fields_``. Patch by Oren Milman. 202 203.. 204 205.. bpo: 31411 206.. date: 2017-09-11-08-50-41 207.. nonce: HZz82I 208.. section: Core and Builtins 209 210Raise a TypeError instead of SystemError in case warnings.onceregistry is 211not a dictionary. Patch by Oren Milman. 212 213.. 214 215.. bpo: 31343 216.. date: 2017-09-04-14-57-27 217.. nonce: Kl_fS5 218.. section: Core and Builtins 219 220Include sys/sysmacros.h for major(), minor(), and makedev(). GNU C libray 221plans to remove the functions from sys/types.h. 222 223.. 224 225.. bpo: 31311 226.. date: 2017-08-31-17-52-56 227.. nonce: bNE2l- 228.. section: Core and Builtins 229 230Fix a crash in the ``__setstate__()`` method of `ctypes._CData`, in case of 231a bad ``__dict__``. Patch by Oren Milman. 232 233.. 234 235.. bpo: 31243 236.. date: 2017-08-29-14-24-34 237.. nonce: tr0E4V 238.. section: Core and Builtins 239 240Fix a crash in some methods of `io.TextIOWrapper`, when the decoder's state 241is invalid. Patch by Oren Milman. 242 243.. 244 245.. bpo: 31095 246.. date: 2017-08-01-18-48-30 247.. nonce: bXWZDb 248.. section: Core and Builtins 249 250Fix potential crash during GC caused by ``tp_dealloc`` which doesn't call 251``PyObject_GC_UnTrack()``. 252 253.. 254 255.. bpo: 30657 256.. date: 073 257.. nonce: Q_r7JJ 258.. section: Core and Builtins 259 260Fixed possible integer overflow in PyString_DecodeEscape. Patch by Jay 261Bosamiya. 262 263.. 264 265.. bpo: 27945 266.. date: 072 267.. nonce: p29r3O 268.. section: Core and Builtins 269 270Fixed various segfaults with dict when input collections are mutated during 271searching, inserting or comparing. Based on patches by Duane Griffin and 272Tim Mitchell. 273 274.. 275 276.. bpo: 25794 277.. date: 071 278.. nonce: j0nJ5x 279.. section: Core and Builtins 280 281Fixed type.__setattr__() and type.__delattr__() for non-interned or unicode 282attribute names. Based on patch by Eryk Sun. 283 284.. 285 286.. bpo: 29935 287.. date: 070 288.. nonce: 2ZTSxR 289.. section: Core and Builtins 290 291Fixed error messages in the index() method of tuple and list when pass 292indices of wrong type. 293 294.. 295 296.. bpo: 28598 297.. date: 069 298.. nonce: QxbzQn 299.. section: Core and Builtins 300 301Support __rmod__ for subclasses of str being called before str.__mod__. 302Patch by Martijn Pieters. 303 304.. 305 306.. bpo: 29602 307.. date: 068 308.. nonce: qyyskC 309.. section: Core and Builtins 310 311Fix incorrect handling of signed zeros in complex constructor for complex 312subclasses and for inputs having a __complex__ method. Patch by Serhiy 313Storchaka. 314 315.. 316 317.. bpo: 29347 318.. date: 067 319.. nonce: 1RPPGN 320.. section: Core and Builtins 321 322Fixed possibly dereferencing undefined pointers when creating weakref 323objects. 324 325.. 326 327.. bpo: 14376 328.. date: 066 329.. nonce: xrKNqX 330.. section: Core and Builtins 331 332Allow sys.exit to accept longs as well as ints. Patch by Gareth Rees. 333 334.. 335 336.. bpo: 29028 337.. date: 065 338.. nonce: BxGcd9 339.. section: Core and Builtins 340 341Fixed possible use-after-free bugs in the subscription of the buffer object 342with custom index object. 343 344.. 345 346.. bpo: 29145 347.. date: 064 348.. nonce: 2x5NOb 349.. section: Core and Builtins 350 351Fix overflow checks in string, bytearray and unicode. Patch by jan matejek 352and Xiang Zhang. 353 354.. 355 356.. bpo: 28932 357.. date: 063 358.. nonce: QnLx8A 359.. section: Core and Builtins 360 361Do not include <sys/random.h> if it does not exist. 362 363.. 364 365.. bpo: 33096 366.. date: 2018-03-25-13-18-16 367.. nonce: ofdbe7 368.. section: Library 369 370Allow ttk.Treeview.insert to insert iid that has a false boolean value. Note 371iid=0 and iid=False would be same. Patch by Garvit Khatri. 372 373.. 374 375.. bpo: 33127 376.. date: 2018-03-24-15-08-24 377.. nonce: olJmHv 378.. section: Library 379 380The ssl module now compiles with LibreSSL 2.7.1. 381 382.. 383 384.. bpo: 30622 385.. date: 2018-02-24-21-40-42 386.. nonce: dQjxSe 387.. section: Library 388 389The ssl module now detects missing NPN support in LibreSSL. 390 391.. 392 393.. bpo: 21060 394.. date: 2018-02-17-19-20-19 395.. nonce: S1Z-x6 396.. section: Library 397 398Rewrite confusing message from setup.py upload from "No dist file created in 399earlier command" to the more helpful "Must create and upload files in one 400command". 401 402.. 403 404.. bpo: 30157 405.. date: 2018-02-09-14-44-43 406.. nonce: lEiiAK 407.. section: Library 408 409Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last 410field is quoted. Patch by Jake Davis. 411 412.. 413 414.. bpo: 32647 415.. date: 2018-02-05-13-31-42 416.. nonce: ktmfR_ 417.. section: Library 418 419The ctypes module used to depend on indirect linking for dlopen. The shared 420extension is now explicitly linked against libdl on platforms with dl. 421 422.. 423 424.. bpo: 32304 425.. date: 2018-01-21-16-33-53 426.. nonce: TItrNv 427.. section: Library 428 429distutils' upload command no longer corrupts tar files ending with a CR 430byte, and no longer tries to convert CR to CRLF in any of the upload text 431fields. 432 433.. 434 435.. bpo: 31848 436.. date: 2018-01-18-23-34-17 437.. nonce: M2cldy 438.. section: Library 439 440Fix the error handling in Aifc_read.initfp() when the SSND chunk is not 441found. Patch by Zackery Spytz. 442 443.. 444 445.. bpo: 32521 446.. date: 2018-01-15-12-53-13 447.. nonce: IxX4Ba 448.. section: Library 449 450The nis module is now compatible with new libnsl and headers location. 451 452.. 453 454.. bpo: 32539 455.. date: 2018-01-12-09-20-22 456.. nonce: D7AbdE 457.. section: Library 458 459Fix ``OSError`` for ``os.listdir`` with deep paths (starting with ``\\?\``) 460on windows. Patch by Anthony Sottile. 461 462.. 463 464.. bpo: 32521 465.. date: 2018-01-08-18-02-33 466.. nonce: Kh-KoN 467.. section: Library 468 469glibc has removed Sun RPC. Use replacement libtirpc headers and library in 470nis module. 471 472.. 473 474.. bpo: 18035 475.. date: 2017-12-29-15-16-56 476.. nonce: c6rdCt 477.. section: Library 478 479``telnetlib``: ``select.error`` doesn't have an ``errno`` attribute. Patch 480by Segev Finer. 481 482.. 483 484.. bpo: 32185 485.. date: 2017-12-20-09-25-10 486.. nonce: IL0cMt 487.. section: Library 488 489The SSL module no longer sends IP addresses in SNI TLS extension on 490platforms with OpenSSL 1.0.2+ or inet_pton. 491 492.. 493 494.. bpo: 32186 495.. date: 2017-11-30-20-33-22 496.. nonce: O42bVe 497.. section: Library 498 499Creating io.FileIO() and builtin file() objects now release the GIL when 500checking the file descriptor. io.FileIO.readall(), io.FileIO.read(), and 501file.read() now release the GIL when getting the file size. Fixed hang of 502all threads with inaccessible NFS server. Patch by Nir Soffer. 503 504.. 505 506.. bpo: 32110 507.. date: 2017-11-22-09-44-15 508.. nonce: VJa9bo 509.. section: Library 510 511``codecs.StreamReader.read(n)`` now returns not more than *n* 512characters/bytes for non-negative *n*. This makes it compatible with 513``read()`` methods of other file-like objects. 514 515.. 516 517.. bpo: 21149 518.. date: 2017-11-10-17-19-24 519.. nonce: 8UVfeT 520.. section: Library 521 522Silence a `'NoneType' object is not callable` in `_removeHandlerRef` error 523that could happen when a logging Handler is destroyed as part of cyclic 524garbage collection during process shutdown. 525 526.. 527 528.. bpo: 31764 529.. date: 2017-11-08-11-02-01 530.. nonce: gtlhKj 531.. section: Library 532 533Prevent a crash in ``sqlite3.Cursor.close()`` in case the ``Cursor`` object 534is uninitialized. Patch by Oren Milman. 535 536.. 537 538.. bpo: 31955 539.. date: 2017-11-07-19-12-25 540.. nonce: 1DWu-S 541.. section: Library 542 543Fix CCompiler.set_executable() of distutils to handle properly Unicode 544strings. 545 546.. 547 548.. bpo: 9678 549.. date: 2017-11-03-22-05-47 550.. nonce: oD51q6 551.. section: Library 552 553Fixed determining the MAC address in the uuid module: 554 555* Using ifconfig on NetBSD and OpenBSD. 556* Using arp on Linux, FreeBSD, NetBSD and OpenBSD. 557 558Based on patch by Takayuki Shimizukawa. 559 560.. 561 562.. bpo: 30057 563.. date: 2017-11-03-19-11-43 564.. nonce: NCaijI 565.. section: Library 566 567Fix potential missed signal in signal.signal(). 568 569.. 570 571.. bpo: 31927 572.. date: 2017-11-02-18-26-40 573.. nonce: 40K6kp 574.. section: Library 575 576Fixed reading arbitrary data when parse a AF_BLUETOOTH address on NetBSD and 577DragonFly BSD. 578 579.. 580 581.. bpo: 27666 582.. date: 2017-11-01-18-13-42 583.. nonce: j2zRnF 584.. section: Library 585 586Fixed stack corruption in curses.box() and curses.ungetmouse() when the size 587of types chtype or mmask_t is less than the size of C long. curses.box() 588now accepts characters as arguments. Based on patch by Steve Fink. 589 590.. 591 592.. bpo: 25720 593.. date: 2017-10-29-17-52-40 594.. nonce: vSvb5h 595.. section: Library 596 597Fix the method for checking pad state of curses WINDOW. Patch by Masayuki 598Yamamoto. 599 600.. 601 602.. bpo: 31893 603.. date: 2017-10-29-13-51-01 604.. nonce: 8LZKEz 605.. section: Library 606 607Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed 608the comparison of the kqueue_event objects. 609 610.. 611 612.. bpo: 31891 613.. date: 2017-10-29-11-23-24 614.. nonce: 9kAPha 615.. section: Library 616 617Fixed building the curses module on NetBSD. 618 619.. 620 621.. bpo: 30058 622.. date: 2017-10-12-19-00-53 623.. nonce: cENtry 624.. section: Library 625 626Fixed buffer overflow in select.kqueue.control(). 627 628.. 629 630.. bpo: 31770 631.. date: 2017-10-12-18-45-38 632.. nonce: GV3MPx 633.. section: Library 634 635Prevent a crash when calling the ``__init__()`` method of a 636``sqlite3.Cursor`` object more than once. Patch by Oren Milman. 637 638.. 639 640.. bpo: 31728 641.. date: 2017-10-11-13-05-19 642.. nonce: XrVMME 643.. section: Library 644 645Prevent crashes in `_elementtree` due to unsafe cleanup of `Element.text` 646and `Element.tail`. Patch by Oren Milman. 647 648.. 649 650.. bpo: 31752 651.. date: 2017-10-11-00-45-01 652.. nonce: DhWevN 653.. section: Library 654 655Fix possible crash in timedelta constructor called with custom integers. 656 657.. 658 659.. bpo: 31681 660.. date: 2017-10-03-15-41-08 661.. nonce: sOJMKV 662.. section: Library 663 664Fix pkgutil.get_data to avoid leaking open files. 665 666.. 667 668.. bpo: 31675 669.. date: 2017-10-03-15-06-24 670.. nonce: Nh7jJ3 671.. section: Library 672 673Fixed memory leaks in Tkinter's methods splitlist() and split() when pass a 674string larger than 2 GiB. 675 676.. 677 678.. bpo: 30806 679.. date: 2017-09-29 680.. nonce: lP5GrH 681.. section: Library 682 683Fix the string representation of a netrc object. 684 685.. 686 687.. bpo: 30347 688.. date: 2017-09-25-14-04-30 689.. nonce: B4--_D 690.. section: Library 691 692Stop crashes when concurrently iterate over itertools.groupby() iterators. 693 694.. 695 696.. bpo: 25732 697.. date: 2017-09-25-13-10-08 698.. nonce: RWWgzg 699.. section: Library 700 701`functools.total_ordering()` now implements the `__ne__` method. 702 703.. 704 705.. bpo: 31351 706.. date: 2017-09-17-15-24-25 707.. nonce: yQdKv- 708.. section: Library 709 710python -m ensurepip now exits with non-zero exit code if pip bootstrapping 711has failed. 712 713.. 714 715.. bpo: 31544 716.. date: 2017-09-13-19-55-35 717.. nonce: beTh6t 718.. section: Library 719 720The C accelerator module of ElementTree ignored exceptions raised when 721looking up TreeBuilder target methods in XMLParser(). 722 723.. 724 725.. bpo: 31455 726.. date: 2017-09-13-19-55-35 727.. nonce: beTh6t 728.. section: Library 729 730The C accelerator module of ElementTree ignored exceptions raised when 731looking up TreeBuilder target methods in XMLParser(). 732 733.. 734 735.. bpo: 25404 736.. date: 2017-09-08-11-04-10 737.. nonce: pXetCl 738.. section: Library 739 740SSLContext.load_dh_params() now supports non-ASCII path. 741 742.. 743 744.. bpo: 28958 745.. date: 2017-09-06-19-41-01 746.. nonce: x4-K5F 747.. section: Library 748 749ssl.SSLContext() now uses OpenSSL error information when a context cannot be 750instantiated. 751 752.. 753 754.. bpo: 27448 755.. date: 2017-09-05-10-55-50 756.. nonce: QdAqzZ 757.. section: Library 758 759Work around a `gc.disable()` race condition in the `subprocess` module that 760could leave garbage collection disabled when multiple threads are spawning 761subprocesses at once. Users are *strongly encouraged* to use the 762`subprocess32` module from PyPI on Python 2.7 instead, it is much more 763reliable. 764 765.. 766 767.. bpo: 31170 768.. date: 2017-09-04-23-41-35 769.. nonce: QGmJ1t 770.. section: Library 771 772expat: Update libexpat from 2.2.3 to 2.2.4. Fix copying of partial 773characters for UTF-8 input (libexpat bug 115): 774https://github.com/libexpat/libexpat/issues/115 775 776.. 777 778.. bpo: 29136 779.. date: 2017-09-04-16-39-49 780.. nonce: vSn1oR 781.. section: Library 782 783Add TLS 1.3 cipher suites and OP_NO_TLSv1_3. 784 785.. 786 787.. bpo: 31334 788.. date: 2017-09-04-00-22-31 789.. nonce: 9WYRfi 790.. section: Library 791 792Fix ``poll.poll([timeout])`` in the ``select`` module for arbitrary negative 793timeouts on all OSes where it can only be a non-negative integer or -1. 794Patch by Riccardo Coccioli. 795 796.. 797 798.. bpo: 10746 799.. date: 2017-08-28-13-01-05 800.. nonce: nmAvfu 801.. section: Library 802 803Fix ctypes producing wrong PEP 3118 type codes for integer types. 804 805.. 806 807.. bpo: 30102 808.. date: 2017-08-16-21-14-31 809.. nonce: 1sPqmc 810.. section: Library 811 812The ssl and hashlib modules now call OPENSSL_add_all_algorithms_noconf() on 813OpenSSL < 1.1.0. The function detects CPU features and enables optimizations 814on some CPU architectures such as POWER8. Patch is based on research from 815Gustavo Serra Scalet. 816 817.. 818 819.. bpo: 30502 820.. date: 2017-07-27-11-33-58 821.. nonce: GJlfU8 822.. section: Library 823 824Fix handling of long oids in ssl. Based on patch by Christian Heimes. 825 826.. 827 828.. bpo: 25684 829.. date: 2017-07-17-11-35-00 830.. nonce: usELVx 831.. section: Library 832 833Change ``ttk.OptionMenu`` radiobuttons to be unique across instances of 834``OptionMenu``. 835 836.. 837 838.. bpo: 29169 839.. date: 062 840.. nonce: 8ypApm 841.. section: Library 842 843Update zlib to 1.2.11. 844 845.. 846 847.. bpo: 30746 848.. date: 061 849.. nonce: 7drQI0 850.. section: Library 851 852Prohibited the '=' character in environment variable names in 853``os.putenv()`` and ``os.spawn*()``. 854 855.. 856 857.. bpo: 30418 858.. date: 055 859.. nonce: EwISQm 860.. section: Library 861 862On Windows, subprocess.Popen.communicate() now also ignore EINVAL on 863stdin.write() if the child process is still running but closed the pipe. 864 865.. 866 867.. bpo: 30378 868.. date: 054 869.. nonce: R_19_5 870.. section: Library 871 872Fix the problem that logging.handlers.SysLogHandler cannot handle IPv6 873addresses. 874 875.. 876 877.. bpo: 29960 878.. date: 053 879.. nonce: g0wr3r 880.. section: Library 881 882Preserve generator state when _random.Random.setstate() raises an exception. 883Patch by Bryan Olson. 884 885.. 886 887.. bpo: 30310 888.. date: 052 889.. nonce: SAkE6e 890.. section: Library 891 892tkFont now supports unicode options (e.g. font family). 893 894.. 895 896.. bpo: 30414 897.. date: 051 898.. nonce: jGl1Lb 899.. section: Library 900 901multiprocessing.Queue._feed background running thread do not break from main 902loop on exception. 903 904.. 905 906.. bpo: 30003 907.. date: 050 908.. nonce: BOl9HE 909.. section: Library 910 911Fix handling escape characters in HZ codec. Based on patch by Ma Lin. 912 913.. 914 915.. bpo: 30375 916.. date: 049 917.. nonce: 9c8qM7 918.. section: Library 919 920Warnings emitted when compile a regular expression now always point to the 921line in the user code. Previously they could point into inners of the re 922module if emitted from inside of groups or conditionals. 923 924.. 925 926.. bpo: 30363 927.. date: 048 928.. nonce: l6J41Y 929.. section: Library 930 931Running Python with the -3 option now warns about regular expression syntax 932that is invalid or has different semantic in Python 3 or will change the 933behavior in future Python versions. 934 935.. 936 937.. bpo: 30365 938.. date: 047 939.. nonce: eDwdmC 940.. section: Library 941 942Running Python with the -3 option now emits deprecation warnings for 943getchildren() and getiterator() methods of the Element class in the 944xml.etree.cElementTree module and when pass the html argument to 945xml.etree.ElementTree.XMLParser(). 946 947.. 948 949.. bpo: 30365 950.. date: 046 951.. nonce: XVP7_M 952.. section: Library 953 954Fixed a deprecation warning about the doctype() method of the 955xml.etree.ElementTree.XMLParser class. Now it is emitted only when define 956the doctype() method in the subclass of XMLParser. 957 958.. 959 960.. bpo: 30329 961.. date: 045 962.. nonce: Yb1MTr 963.. section: Library 964 965imaplib now catchs the Windows socket WSAEINVAL error (code 10022) on 966shutdown(SHUT_RDWR): An invalid operation was attempted. This error occurs 967sometimes on SSL connections. 968 969.. 970 971.. bpo: 30342 972.. date: 044 973.. nonce: 87Qgur 974.. section: Library 975 976Fix sysconfig.is_python_build() if Python is built with Visual Studio 2008 977(VS 9.0). 978 979.. 980 981.. bpo: 29990 982.. date: 043 983.. nonce: HWV6KE 984.. section: Library 985 986Fix range checking in GB18030 decoder. Original patch by Ma Lin. 987 988.. 989 990.. bpo: 30243 991.. date: 042 992.. nonce: RHQt0v 993.. section: Library 994 995Removed the __init__ methods of _json's scanner and encoder. Misusing them 996could cause memory leaks or crashes. Now scanner and encoder objects are 997completely initialized in the __new__ methods. 998 999.. 1000 1001.. bpo: 26293 1002.. date: 041 1003.. nonce: wig0YG 1004.. section: Library 1005 1006Change resulted because of zipfile breakage. (See also: bpo-29094) 1007 1008.. 1009 1010.. bpo: 30070 1011.. date: 040 1012.. nonce: XM_B41 1013.. section: Library 1014 1015Fixed leaks and crashes in errors handling in the parser module. 1016 1017.. 1018 1019.. bpo: 30061 1020.. date: 039 1021.. nonce: ilxNPt 1022.. section: Library 1023 1024Fixed crashes in IOBase methods next() and readlines() when readline() or 1025next() respectively return non-sizeable object. Fixed possible other errors 1026caused by not checking results of PyObject_Size(), PySequence_Size(), or 1027PyMapping_Size(). 1028 1029.. 1030 1031.. bpo: 30011 1032.. date: 038 1033.. nonce: 2MLfQj 1034.. section: Library 1035 1036Fixed race condition in HTMLParser.unescape(). 1037 1038.. 1039 1040.. bpo: 30068 1041.. date: 037 1042.. nonce: n4q47r 1043.. section: Library 1044 1045_io._IOBase.readlines will check if it's closed first when hint is present. 1046 1047.. 1048 1049.. bpo: 27863 1050.. date: 036 1051.. nonce: pPYHHI 1052.. section: Library 1053 1054Fixed multiple crashes in ElementTree caused by race conditions and wrong 1055types. 1056 1057.. 1058 1059.. bpo: 29942 1060.. date: 035 1061.. nonce: CsGNuT 1062.. section: Library 1063 1064Fix a crash in itertools.chain.from_iterable when encountering long runs of 1065empty iterables. 1066 1067.. 1068 1069.. bpo: 29861 1070.. date: 034 1071.. nonce: t2ZoRK 1072.. section: Library 1073 1074Release references to tasks, their arguments and their results as soon as 1075they are finished in multiprocessing.Pool. 1076 1077.. 1078 1079.. bpo: 27880 1080.. date: 033 1081.. nonce: elFFAF 1082.. section: Library 1083 1084Fixed integer overflow in cPickle when pickle large strings or too many 1085objects. 1086 1087.. 1088 1089.. bpo: 29110 1090.. date: 032 1091.. nonce: IBWuZ2 1092.. section: Library 1093 1094Fix file object leak in aifc.open() when file is given as a filesystem path 1095and is not in valid AIFF format. Original patch by Anthony Zhang. 1096 1097.. 1098 1099.. bpo: 29354 1100.. date: 031 1101.. nonce: TH2vMX 1102.. section: Library 1103 1104Fixed inspect.getargs() for parameters which are cell variables. 1105 1106.. 1107 1108.. bpo: 29335 1109.. date: 030 1110.. nonce: _KC7IK 1111.. section: Library 1112 1113Fix subprocess.Popen.wait() when the child process has exited to a stopped 1114instead of terminated state (ex: when under ptrace). 1115 1116.. 1117 1118.. bpo: 29219 1119.. date: 029 1120.. nonce: kxui7t 1121.. section: Library 1122 1123Fixed infinite recursion in the repr of uninitialized ctypes.CDLL instances. 1124 1125.. 1126 1127.. bpo: 29082 1128.. date: 028 1129.. nonce: D5Xs7F 1130.. section: Library 1131 1132Fixed loading libraries in ctypes by unicode names on Windows. Original 1133patch by Chi Hsuan Yen. 1134 1135.. 1136 1137.. bpo: 29188 1138.. date: 027 1139.. nonce: RI3v1Q 1140.. section: Library 1141 1142Support glibc 2.24 on Linux: don't use getentropy() function but read from 1143/dev/urandom to get random bytes, for example in os.urandom(). On Linux, 1144getentropy() is implemented which getrandom() is blocking mode, whereas 1145os.urandom() should not block. 1146 1147.. 1148 1149.. bpo: 29142 1150.. date: 026 1151.. nonce: _FTyvm 1152.. section: Library 1153 1154In urllib, suffixes in no_proxy environment variable with leading dots could 1155match related hostnames again (e.g. .b.c matches a.b.c). Patch by Milan 1156Oberkirch. 1157 1158.. 1159 1160.. bpo: 13051 1161.. date: 025 1162.. nonce: YzC1Te 1163.. section: Library 1164 1165Fixed recursion errors in large or resized curses.textpad.Textbox. Based on 1166patch by Tycho Andersen. 1167 1168.. 1169 1170.. bpo: 9770 1171.. date: 024 1172.. nonce: WJJnwP 1173.. section: Library 1174 1175curses.ascii predicates now work correctly with negative integers. 1176 1177.. 1178 1179.. bpo: 28427 1180.. date: 023 1181.. nonce: vUd-va 1182.. section: Library 1183 1184old keys should not remove new values from WeakValueDictionary when 1185collecting from another thread. 1186 1187.. 1188 1189.. bpo: 28998 1190.. date: 022 1191.. nonce: NfBgmb 1192.. section: Library 1193 1194More APIs now support longs as well as ints. 1195 1196.. 1197 1198.. bpo: 28923 1199.. date: 021 1200.. nonce: _hrXiL 1201.. section: Library 1202 1203Remove editor artifacts from Tix.py, including encoding not recognized by 1204codecs.lookup. 1205 1206.. 1207 1208.. bpo: 29019 1209.. date: 020 1210.. nonce: MO2AeR 1211.. section: Library 1212 1213Fix dict.fromkeys(x) overallocates when x is sparce dict. Original patch by 1214Rasmus Villemoes. 1215 1216.. 1217 1218.. bpo: 19542 1219.. date: 019 1220.. nonce: 5tCkaK 1221.. section: Library 1222 1223Fix bugs in WeakValueDictionary.setdefault() and WeakValueDictionary.pop() 1224when a GC collection happens in another thread. 1225 1226.. 1227 1228.. bpo: 28925 1229.. date: 018 1230.. nonce: 9zLygi 1231.. section: Library 1232 1233cPickle now correctly propagates errors when unpickle instances of old-style 1234classes. 1235 1236.. 1237 1238.. bpo: 27212 1239.. date: 2018-03-22-19-23-04 1240.. nonce: wrE5KR 1241.. section: Documentation 1242 1243Modify documentation for the :func:`islice` recipe to consume initial values 1244up to the start index. 1245 1246.. 1247 1248.. bpo: 32800 1249.. date: 2018-02-10-15-16-04 1250.. nonce: FyrqCk 1251.. section: Documentation 1252 1253Update link to w3c doc for xml default namespaces. 1254 1255.. 1256 1257.. bpo: 17799 1258.. date: 2018-01-22-21-13-46 1259.. nonce: rdZ-Vk 1260.. section: Documentation 1261 1262Explain real behaviour of sys.settrace and sys.setprofile and their C-API 1263counterparts regarding which type of events are received in each function. 1264Patch by Pablo Galindo Salgado. 1265 1266.. 1267 1268.. bpo: 8243 1269.. date: 2018-01-13-20-30-53 1270.. nonce: s98r28 1271.. section: Documentation 1272 1273Add a note about curses.addch and curses.addstr exception behavior when 1274writing outside a window, or pad. 1275 1276.. 1277 1278.. bpo: 21649 1279.. date: 2017-09-06-10-11-57 1280.. nonce: EUvqA9 1281.. section: Documentation 1282 1283Add RFC 7525 and Mozilla server side TLS links to SSL documentation. 1284 1285.. 1286 1287.. bpo: 30176 1288.. date: 017 1289.. nonce: VivmCg 1290.. section: Documentation 1291 1292Add missing attribute related constants in curses documentation. 1293 1294.. 1295 1296.. bpo: 28929 1297.. date: 016 1298.. nonce: Md7kb0 1299.. section: Documentation 1300 1301Link the documentation to its source file on GitHub. 1302 1303.. 1304 1305.. bpo: 26355 1306.. date: 015 1307.. nonce: SDq_8Y 1308.. section: Documentation 1309 1310Add canonical header link on each page to corresponding major version of the 1311documentation. Patch by Matthias Bussonnier. 1312 1313.. 1314 1315.. bpo: 12067 1316.. date: 014 1317.. nonce: 8RbyOz 1318.. section: Documentation 1319 1320Rewrite Comparisons section in the Expressions chapter of the language 1321reference. Some of the details of comparing mixed types were incorrect or 1322ambiguous. Added default behaviour and consistency suggestions for 1323user-defined classes. Based on patch from Andy Maier. 1324 1325.. 1326 1327.. bpo: 31719 1328.. date: 2017-10-06-22-37-38 1329.. nonce: gHyrV3 1330.. section: Tests 1331 1332Fix test_regrtest.test_crashed() on s390x. Add a new _testcapi._read_null() 1333function to crash Python in a reliable way on s390x. On s390x, 1334ctypes.string_at(0) returns an empty string rather than crashing. 1335 1336.. 1337 1338.. bpo: 31518 1339.. date: 2017-09-19-20-48-50 1340.. nonce: KwTMMz 1341.. section: Tests 1342 1343Debian Unstable has disabled TLS 1.0 and 1.1 for SSLv23_METHOD(). Change 1344TLS/SSL protocol of some tests to PROTOCOL_TLS or PROTOCOL_TLSv1_2 to make 1345them pass on Debian. 1346 1347.. 1348 1349.. bpo: 25674 1350.. date: 2017-09-04-13-03-55 1351.. nonce: whVTXh 1352.. section: Tests 1353 1354Remove sha256.tbs-internet.com ssl test 1355 1356.. 1357 1358.. bpo: 11790 1359.. date: 007 1360.. nonce: 0actZf 1361.. section: Tests 1362 1363Fix sporadic failures in test_multiprocessing.WithProcessesTestCondition. 1364 1365.. 1366 1367.. bpo: 30236 1368.. date: 006 1369.. nonce: vOYTDq 1370.. section: Tests 1371 1372Backported test.regrtest options -m/--match and -G/--failfast from Python 3. 1373 1374.. 1375 1376.. bpo: 30223 1377.. date: 005 1378.. nonce: TYC9rA 1379.. section: Tests 1380 1381To unify running tests in Python 2.7 and Python 3, the test package can be 1382run as a script. This is equivalent to running the test.regrtest module as 1383a script. 1384 1385.. 1386 1387.. bpo: 30207 1388.. date: 004 1389.. nonce: EiRhGi 1390.. section: Tests 1391 1392To simplify backports from Python 3, the test.test_support module was 1393converted into a package and renamed to test.support. The 1394test.script_helper module was moved into the test.support package. Names 1395test.test_support and test.script_helper are left as aliases to test.support 1396and test.support.script_helper. 1397 1398.. 1399 1400.. bpo: 30197 1401.. date: 003 1402.. nonce: hajYvd 1403.. section: Tests 1404 1405Enhanced function swap_attr() in the test.test_support module. It now works 1406when delete replaced attribute inside the with statement. The old value of 1407the attribute (or None if it doesn't exist) now will be assigned to the 1408target of the "as" clause, if there is one. Also backported function 1409swap_item(). 1410 1411.. 1412 1413.. bpo: 28087 1414.. date: 002 1415.. nonce: m8dc4R 1416.. section: Tests 1417 1418Skip test_asyncore and test_eintr poll failures on macOS. Skip some tests of 1419select.poll when running on macOS due to unresolved issues with the 1420underlying system poll function on some macOS versions. 1421 1422.. 1423 1424.. bpo: 15083 1425.. date: 001 1426.. nonce: Tz3ZZm 1427.. section: Tests 1428 1429Convert ElementTree doctests to unittests. 1430 1431.. 1432 1433.. bpo: 33163 1434.. date: 2018-03-28-04-15-03 1435.. nonce: hfpWuU 1436.. section: Build 1437 1438Upgrade pip to 9.0.3 and setuptools to v39.0.1. 1439 1440.. 1441 1442.. bpo: 32616 1443.. date: 2018-02-07-11-24-38 1444.. nonce: o7mFJ3 1445.. section: Build 1446 1447Disable computed gotos by default for clang < 5.0. It caused significant 1448performance regression. 1449 1450.. 1451 1452.. bpo: 32635 1453.. date: 2018-01-23-15-33-40 1454.. nonce: qHwIZy 1455.. section: Build 1456 1457Fix segfault of the crypt module when libxcrypt is provided instead of 1458libcrypt at the system. 1459 1460.. 1461 1462.. bpo: 31934 1463.. date: 2017-11-03-15-17-50 1464.. nonce: 8bUlpv 1465.. section: Build 1466 1467Abort the build when building out of a not clean source tree. 1468 1469.. 1470 1471.. bpo: 31474 1472.. date: 2017-09-14-19-38-19 1473.. nonce: 0s_mpD 1474.. section: Build 1475 1476Fix -Wint-in-bool-context warnings in PyMem_MALLOC and PyMem_REALLOC macros 1477 1478.. 1479 1480.. bpo: 29243 1481.. date: 013 1482.. nonce: WDK4hT 1483.. section: Build 1484 1485Prevent unnecessary rebuilding of Python during ``make test``, ``make 1486install`` and some other make targets when configured with 1487``--enable-optimizations``. 1488 1489.. 1490 1491.. bpo: 23404 1492.. date: 012 1493.. nonce: PdYVWg 1494.. section: Build 1495 1496Don't regenerate generated files based on file modification time anymore: 1497the action is now explicit. Replace ``make touch`` with ``make regen-all``. 1498 1499.. 1500 1501.. bpo: 27593 1502.. date: 011 1503.. nonce: v87xEr 1504.. section: Build 1505 1506sys.version and the platform module python_build(), python_branch(), and 1507python_revision() functions now use git information rather than hg when 1508building from a repo. 1509 1510.. 1511 1512.. bpo: 29643 1513.. date: 010 1514.. nonce: 4DrjEB 1515.. section: Build 1516 1517Fix ``--enable-optimization`` configure option didn't work. 1518 1519.. 1520 1521.. bpo: 29572 1522.. date: 009 1523.. nonce: iZ1XKK 1524.. section: Build 1525 1526Update Windows build and OS X installers to use OpenSSL 1.0.2k. 1527 1528.. 1529 1530.. bpo: 28768 1531.. date: 008 1532.. nonce: b9_a6E 1533.. section: Build 1534 1535Fix implicit declaration of function _setmode. Patch by Masayuki Yamamoto 1536 1537.. 1538 1539.. bpo: 33184 1540.. date: 2018-04-14-14-50-01 1541.. nonce: to0tIj 1542.. section: Windows 1543 1544Update Windows build to use OpenSSL 1.0.2o. 1545 1546.. 1547 1548.. bpo: 32903 1549.. date: 2018-02-28-11-03-24 1550.. nonce: 1SXY4t 1551.. section: Windows 1552 1553Fix a memory leak in os.chdir() on Windows if the current directory is set 1554to a UNC path. 1555 1556.. 1557 1558.. bpo: 30855 1559.. date: 2017-11-24-18-18-31 1560.. nonce: Sowf7j 1561.. section: Windows 1562 1563Bump Tcl/Tk to 8.5.19. 1564 1565.. 1566 1567.. bpo: 30450 1568.. date: 2017-09-04-14-00-37 1569.. nonce: YwitaJ 1570.. section: Windows 1571 1572Pull build dependencies from GitHub rather than svn.python.org. 1573 1574.. 1575 1576.. bpo: 32726 1577.. date: 2018-04-14-08-56-20 1578.. nonce: Mticyn 1579.. section: macOS 1580 1581Provide an additional, more modern macOS installer variant that supports 1582macOS 10.9+ systems in 64-bit mode only. Upgrade the supplied third-party 1583libraries to OpenSSL 1.0.2n and SQLite 3.22.0. The 10.9+ installer now 1584supplies its own private copy of Tcl/Tk 8.6.8. 1585 1586.. 1587 1588.. bpo: 24414 1589.. date: 2018-04-14-08-55-36 1590.. nonce: Z5A1cS 1591.. section: macOS 1592 1593Default macOS deployment target is now set by ``configure`` to the build 1594system's OS version (as is done by Python 3), not ``10.4``; override with, 1595for example, ``./configure MACOSX_DEPLOYMENT_TARGET=10.4``. 1596 1597.. 1598 1599.. bpo: 17128 1600.. date: 2018-04-14-08-54-31 1601.. nonce: mRkb0w 1602.. section: macOS 1603 1604All 2.7 macOS installer variants now supply their own version of ``OpenSSL 16051.0.2``; the Apple-supplied SSL libraries and root certificates are not 1606longer used. The ``Installer Certificate`` command in 1607``/Applications/Python 2.7`` may be used to download and install a default 1608set of root certificates from the third-party ``certifi`` package. 1609 1610.. 1611 1612.. bpo: 11485 1613.. date: 2018-04-14-08-49-40 1614.. nonce: oALntE 1615.. section: macOS 1616 1617python.org macOS Pythons no longer supply a default SDK value (e.g. 1618``-isysroot /``) or specific compiler version default (e.g. ``gcc-4.2``) 1619when building extension modules. Use ``CC``, ``SDKROOT``, and 1620``DEVELOPER_DIR`` environment variables to override compilers or to use an 1621SDK. See Apple's ``xcrun`` man page for more info. 1622 1623.. 1624 1625.. bpo: 33184 1626.. date: 2018-04-07-00-58-50 1627.. nonce: rMTiqu 1628.. section: macOS 1629 1630Update macOS installer build to use OpenSSL 1.0.2o. 1631 1632.. 1633 1634.. bpo: 31920 1635.. date: 2018-03-26-18-54-24 1636.. nonce: u_WKsT 1637.. section: Tools/Demos 1638 1639Fixed handling directories as arguments in the ``pygettext`` script. Based 1640on patch by Oleg Krasnikov. 1641 1642.. 1643 1644.. bpo: 30109 1645.. date: 2018-02-12-14-27-01 1646.. nonce: lIYlaf 1647.. section: Tools/Demos 1648 1649Fixed Tools/scripts/reindent.py for non-ASCII files. It now processes files 1650as binary streams. This also fixes "make reindent". 1651 1652.. 1653 1654.. bpo: 24960 1655.. date: 2017-12-22-09-25-51 1656.. nonce: TGdAgO 1657.. section: Tools/Demos 1658 16592to3 and lib2to3 can now read pickled grammar files using pkgutil.get_data() 1660rather than probing the filesystem. This lets 2to3 and lib2to3 work when run 1661from a zipfile. 1662 1663.. 1664 1665.. bpo: 20891 1666.. date: 2017-11-30-18-13-45 1667.. nonce: wBnMdF 1668.. section: C API 1669 1670Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in a non-Python 1671thread before PyEval_InitThreads(), only call PyEval_InitThreads() after 1672calling PyThreadState_New() to fix a crash. 1673 1674.. 1675 1676.. bpo: 31626 1677.. date: 2017-11-07-11-59-44 1678.. nonce: LP-CoD 1679.. section: C API 1680 1681When Python is built in debug mode, the memory debug hooks now fail with a 1682fatal error if realloc() fails to shrink a memory block, because the debug 1683hook just erased freed bytes without keeping a copy of them. 1684