1.. bpo: 23285 2.. date: 8948 3.. nonce: bJJA8B 4.. release date: 2015-02-08 5.. section: Core and Builtins 6 7PEP 475 - EINTR handling. 8 9.. 10 11.. bpo: 22735 12.. date: 8947 13.. nonce: mFEX9n 14.. section: Core and Builtins 15 16Fix many edge cases (including crashes) involving custom mro() 17implementations. 18 19.. 20 21.. bpo: 22896 22.. date: 8946 23.. nonce: xSDAHK 24.. section: Core and Builtins 25 26Avoid using PyObject_AsCharBuffer(), PyObject_AsReadBuffer() and 27PyObject_AsWriteBuffer(). 28 29.. 30 31.. bpo: 21295 32.. date: 8945 33.. nonce: LYq9nF 34.. section: Core and Builtins 35 36Revert some changes (issue #16795) to AST line numbers and column offsets 37that constituted a regression. 38 39.. 40 41.. bpo: 22986 42.. date: 8944 43.. nonce: yay2Lv 44.. section: Core and Builtins 45 46Allow changing an object's __class__ between a dynamic type and static type 47in some cases. 48 49.. 50 51.. bpo: 15859 52.. date: 8943 53.. nonce: Fs5mE2 54.. section: Core and Builtins 55 56PyUnicode_EncodeFSDefault(), PyUnicode_EncodeMBCS() and 57PyUnicode_EncodeCodePage() now raise an exception if the object is not a 58Unicode object. For PyUnicode_EncodeFSDefault(), it was already the case on 59platforms other than Windows. Patch written by Campbell Barton. 60 61.. 62 63.. bpo: 21408 64.. date: 8942 65.. nonce: Lz6P3P 66.. section: Core and Builtins 67 68The default __ne__() now returns NotImplemented if __eq__() returned 69NotImplemented. Original patch by Martin Panter. 70 71.. 72 73.. bpo: 23321 74.. date: 8941 75.. nonce: HQelge 76.. section: Core and Builtins 77 78Fixed a crash in str.decode() when error handler returned replacement string 79longer than malformed input data. 80 81.. 82 83.. bpo: 22286 84.. date: 8940 85.. nonce: l6Qyy1 86.. section: Core and Builtins 87 88The "backslashreplace" error handlers now works with decoding and 89translating. 90 91.. 92 93.. bpo: 23253 94.. date: 8939 95.. nonce: p4B1H- 96.. section: Core and Builtins 97 98Delay-load ShellExecute[AW] in os.startfile for reduced startup overhead on 99Windows. 100 101.. 102 103.. bpo: 22038 104.. date: 8938 105.. nonce: BMZUHx 106.. section: Core and Builtins 107 108pyatomic.h now uses stdatomic.h or GCC built-in functions for atomic memory 109access if available. Patch written by Vitor de Lima and Gustavo Temple. 110 111.. 112 113.. bpo: 20284 114.. date: 8937 115.. nonce: CH8wpD 116.. section: Core and Builtins 117 118%-interpolation (aka printf) formatting added for bytes and bytearray. 119 120.. 121 122.. bpo: 23048 123.. date: 8936 124.. nonce: X5BUd3 125.. section: Core and Builtins 126 127Fix jumping out of an infinite while loop in the pdb. 128 129.. 130 131.. bpo: 20335 132.. date: 8935 133.. nonce: YcAPOs 134.. section: Core and Builtins 135 136bytes constructor now raises TypeError when encoding or errors is specified 137with non-string argument. Based on patch by Renaud Blanch. 138 139.. 140 141.. bpo: 22834 142.. date: 8934 143.. nonce: N1kAXN 144.. section: Core and Builtins 145 146If the current working directory ends up being set to a non-existent 147directory then import will no longer raise FileNotFoundError. 148 149.. 150 151.. bpo: 22869 152.. date: 8933 153.. nonce: rAWg-V 154.. section: Core and Builtins 155 156Move the interpreter startup & shutdown code to a new dedicated 157pylifecycle.c module 158 159.. 160 161.. bpo: 22847 162.. date: 8932 163.. nonce: 6baj9f 164.. section: Core and Builtins 165 166Improve method cache efficiency. 167 168.. 169 170.. bpo: 22335 171.. date: 8931 172.. nonce: DWsXiy 173.. section: Core and Builtins 174 175Fix crash when trying to enlarge a bytearray to 0x7fffffff bytes on a 32-bit 176platform. 177 178.. 179 180.. bpo: 22653 181.. date: 8930 182.. nonce: pCNlpv 183.. section: Core and Builtins 184 185Fix an assertion failure in debug mode when doing a reentrant dict insertion 186in debug mode. 187 188.. 189 190.. bpo: 22643 191.. date: 8929 192.. nonce: xv8xev 193.. section: Core and Builtins 194 195Fix integer overflow in Unicode case operations (upper, lower, title, 196swapcase, casefold). 197 198.. 199 200.. bpo: 17636 201.. date: 8928 202.. nonce: wiqnhw 203.. section: Core and Builtins 204 205Circular imports involving relative imports are now supported. 206 207.. 208 209.. bpo: 22604 210.. date: 8927 211.. nonce: yii-It 212.. section: Core and Builtins 213 214Fix assertion error in debug mode when dividing a complex number by 215(nan+0j). 216 217.. 218 219.. bpo: 21052 220.. date: 8926 221.. nonce: -sf3tp 222.. section: Core and Builtins 223 224Do not raise ImportWarning when sys.path_hooks or sys.meta_path are set to 225None. 226 227.. 228 229.. bpo: 16518 230.. date: 8925 231.. nonce: UADwcN 232.. section: Core and Builtins 233 234Use 'bytes-like object required' in error messages that previously used the 235far more cryptic "'x' does not support the buffer protocol. 236 237.. 238 239.. bpo: 22470 240.. date: 8924 241.. nonce: igrgN2 242.. section: Core and Builtins 243 244Fixed integer overflow issues in "backslashreplace", "xmlcharrefreplace", 245and "surrogatepass" error handlers. 246 247.. 248 249.. bpo: 22540 250.. date: 8923 251.. nonce: FM72m- 252.. section: Core and Builtins 253 254speed up `PyObject_IsInstance` and `PyObject_IsSubclass` in the common case 255that the second argument has metaclass `type`. 256 257.. 258 259.. bpo: 18711 260.. date: 8922 261.. nonce: ds5wQa 262.. section: Core and Builtins 263 264Add a new `PyErr_FormatV` function, similar to `PyErr_Format` but accepting 265a `va_list` argument. 266 267.. 268 269.. bpo: 22520 270.. date: 8921 271.. nonce: ZPJXSq 272.. section: Core and Builtins 273 274Fix overflow checking when generating the repr of a unicode object. 275 276.. 277 278.. bpo: 22519 279.. date: 8920 280.. nonce: xvJVg0 281.. section: Core and Builtins 282 283Fix overflow checking in PyBytes_Repr. 284 285.. 286 287.. bpo: 22518 288.. date: 8919 289.. nonce: C9T6ed 290.. section: Core and Builtins 291 292Fix integer overflow issues in latin-1 encoding. 293 294.. 295 296.. bpo: 16324 297.. date: 8918 298.. nonce: YfrBNz 299.. section: Core and Builtins 300 301_charset parameter of MIMEText now also accepts email.charset.Charset 302instances. Initial patch by Claude Paroz. 303 304.. 305 306.. bpo: 1764286 307.. date: 8917 308.. nonce: L4seL2 309.. section: Core and Builtins 310 311Fix inspect.getsource() to support decorated functions. Patch by Claudiu 312Popa. 313 314.. 315 316.. bpo: 18554 317.. date: 8916 318.. nonce: hxnaui 319.. section: Core and Builtins 320 321os.__all__ includes posix functions. 322 323.. 324 325.. bpo: 21391 326.. date: 8915 327.. nonce: 3jntPd 328.. section: Core and Builtins 329 330Use os.path.abspath in the shutil module. 331 332.. 333 334.. bpo: 11471 335.. date: 8914 336.. nonce: Uu752F 337.. section: Core and Builtins 338 339avoid generating a JUMP_FORWARD instruction at the end of an if-block if 340there is no else-clause. Original patch by Eugene Toder. 341 342.. 343 344.. bpo: 22215 345.. date: 8913 346.. nonce: IBFi6H 347.. section: Core and Builtins 348 349Now ValueError is raised instead of TypeError when str or bytes argument 350contains not permitted null character or byte. 351 352.. 353 354.. bpo: 22258 355.. date: 8912 356.. nonce: 4FszMt 357.. section: Core and Builtins 358 359Fix the internal function set_inheritable() on Illumos. This platform 360exposes the function ``ioctl(FIOCLEX)``, but calling it fails with errno is 361ENOTTY: "Inappropriate ioctl for device". set_inheritable() now falls back 362to the slower ``fcntl()`` (``F_GETFD`` and then ``F_SETFD``). 363 364.. 365 366.. bpo: 21389 367.. date: 8911 368.. nonce: dnWZBn 369.. section: Core and Builtins 370 371Displaying the __qualname__ of the underlying function in the repr of a 372bound method. 373 374.. 375 376.. bpo: 22206 377.. date: 8910 378.. nonce: 0i_ihB 379.. section: Core and Builtins 380 381Using pthread, PyThread_create_key() now sets errno to ENOMEM and returns -1 382(error) on integer overflow. 383 384.. 385 386.. bpo: 20184 387.. date: 8909 388.. nonce: bb3uHY 389.. section: Core and Builtins 390 391Argument Clinic based signature introspection added for 30 of the builtin 392functions. 393 394.. 395 396.. bpo: 22116 397.. date: 8908 398.. nonce: auVmIt 399.. section: Core and Builtins 400 401C functions and methods (of the 'builtin_function_or_method' type) can now 402be weakref'ed. Patch by Wei Wu. 403 404.. 405 406.. bpo: 22077 407.. date: 8907 408.. nonce: KZUDR- 409.. section: Core and Builtins 410 411Improve index error messages for bytearrays, bytes, lists, and tuples by 412adding 'or slices'. Added ', not <typename>' for bytearrays. Original patch 413by Claudiu Popa. 414 415.. 416 417.. bpo: 20179 418.. date: 8906 419.. nonce: Nvhffc 420.. section: Core and Builtins 421 422Apply Argument Clinic to bytes and bytearray. Patch by Tal Einat. 423 424.. 425 426.. bpo: 22082 427.. date: 8905 428.. nonce: 6X8Qmg 429.. section: Core and Builtins 430 431Clear interned strings in slotdefs. 432 433.. 434 435.. bpo: 0 436.. date: 8904 437.. nonce: tuMnCc 438.. section: Core and Builtins 439 440Upgrade Unicode database to Unicode 7.0.0. 441 442.. 443 444.. bpo: 21897 445.. date: 8903 446.. nonce: kiOGHe 447.. section: Core and Builtins 448 449Fix a crash with the f_locals attribute with closure variables when 450frame.clear() has been called. 451 452.. 453 454.. bpo: 21205 455.. date: 8902 456.. nonce: wZsx1K 457.. section: Core and Builtins 458 459Add a new ``__qualname__`` attribute to generator, the qualified name, and 460use it in the representation of a generator (``repr(gen)``). The default 461name of the generator (``__name__`` attribute) is now get from the function 462instead of the code. Use ``gen.gi_code.co_name`` to get the name of the 463code. 464 465.. 466 467.. bpo: 21669 468.. date: 8901 469.. nonce: DFDrBA 470.. section: Core and Builtins 471 472With the aid of heuristics in SyntaxError.__init__, the parser now attempts 473to generate more meaningful (or at least more search engine friendly) error 474messages when "exec" and "print" are used as statements. 475 476.. 477 478.. bpo: 21642 479.. date: 8900 480.. nonce: -lWoKz 481.. section: Core and Builtins 482 483In the conditional if-else expression, allow an integer written with no 484space between itself and the ``else`` keyword (e.g. ``True if 42else 485False``) to be valid syntax. 486 487.. 488 489.. bpo: 21523 490.. date: 8899 491.. nonce: f_PPYO 492.. section: Core and Builtins 493 494Fix over-pessimistic computation of the stack effect of some opcodes in the 495compiler. This also fixes a quadratic compilation time issue noticeable 496when compiling code with a large number of "and" and "or" operators. 497 498.. 499 500.. bpo: 21418 501.. date: 8898 502.. nonce: z9jp1_ 503.. section: Core and Builtins 504 505Fix a crash in the builtin function super() when called without argument and 506without current frame (ex: embedded Python). 507 508.. 509 510.. bpo: 21425 511.. date: 8897 512.. nonce: i3Teb8 513.. section: Core and Builtins 514 515Fix flushing of standard streams in the interactive interpreter. 516 517.. 518 519.. bpo: 21435 520.. date: 8896 521.. nonce: ZojVOT 522.. section: Core and Builtins 523 524In rare cases, when running finalizers on objects in cyclic trash a bad 525pointer dereference could occur due to a subtle flaw in internal iteration 526logic. 527 528.. 529 530.. bpo: 21377 531.. date: 8895 532.. nonce: OawYfl 533.. section: Core and Builtins 534 535PyBytes_Concat() now tries to concatenate in-place when the first argument 536has a reference count of 1. Patch by Nikolaus Rath. 537 538.. 539 540.. bpo: 20355 541.. date: 8894 542.. nonce: OrCNkZ 543.. section: Core and Builtins 544 545-W command line options now have higher priority than the PYTHONWARNINGS 546environment variable. Patch by Arfrever. 547 548.. 549 550.. bpo: 21274 551.. date: 8893 552.. nonce: fVGfwq 553.. section: Core and Builtins 554 555Define PATH_MAX for GNU/Hurd in Python/pythonrun.c. 556 557.. 558 559.. bpo: 20904 560.. date: 8892 561.. nonce: fAGdj2 562.. section: Core and Builtins 563 564Support setting FPU precision on m68k. 565 566.. 567 568.. bpo: 21209 569.. date: 8891 570.. nonce: nMljFr 571.. section: Core and Builtins 572 573Fix sending tuples to custom generator objects with the yield from syntax. 574 575.. 576 577.. bpo: 21193 578.. date: 8890 579.. nonce: Dg98Oo 580.. section: Core and Builtins 581 582pow(a, b, c) now raises ValueError rather than TypeError when b is negative. 583Patch by Josh Rosenberg. 584 585.. 586 587.. bpo: 21176 588.. date: 8889 589.. nonce: mitDhW 590.. section: Core and Builtins 591 592PEP 465: Add the '@' operator for matrix multiplication. 593 594.. 595 596.. bpo: 21134 597.. date: 8888 598.. nonce: ZL4SKo 599.. section: Core and Builtins 600 601Fix segfault when str is called on an uninitialized UnicodeEncodeError, 602UnicodeDecodeError, or UnicodeTranslateError object. 603 604.. 605 606.. bpo: 19537 607.. date: 8887 608.. nonce: AkuC_J 609.. section: Core and Builtins 610 611Fix PyUnicode_DATA() alignment under m68k. Patch by Andreas Schwab. 612 613.. 614 615.. bpo: 20929 616.. date: 8886 617.. nonce: 9NlUR7 618.. section: Core and Builtins 619 620Add a type cast to avoid shifting a negative number. 621 622.. 623 624.. bpo: 20731 625.. date: 8885 626.. nonce: _03SZg 627.. section: Core and Builtins 628 629Properly position in source code files even if they are opened in text mode. 630Patch by Serhiy Storchaka. 631 632.. 633 634.. bpo: 20637 635.. date: 8884 636.. nonce: ppYU0o 637.. section: Core and Builtins 638 639Key-sharing now also works for instance dictionaries of subclasses. Patch 640by Peter Ingebretson. 641 642.. 643 644.. bpo: 8297 645.. date: 8883 646.. nonce: _XdGON 647.. section: Core and Builtins 648 649Attributes missing from modules now include the module name in the error 650text. Original patch by ysj.ray. 651 652.. 653 654.. bpo: 19995 655.. date: 8882 656.. nonce: mnHEzX 657.. section: Core and Builtins 658 659%c, %o, %x, and %X now raise TypeError on non-integer input. 660 661.. 662 663.. bpo: 19655 664.. date: 8881 665.. nonce: JgVdes 666.. section: Core and Builtins 667 668The ASDL parser - used by the build process to generate code for managing 669the Python AST in C - was rewritten. The new parser is self contained and 670does not require to carry long the spark.py parser-generator library; 671spark.py was removed from the source base. 672 673.. 674 675.. bpo: 12546 676.. date: 8880 677.. nonce: 09naZ9 678.. section: Core and Builtins 679 680Allow ``\x00`` to be used as a fill character when using str, int, float, 681and complex __format__ methods. 682 683.. 684 685.. bpo: 20480 686.. date: 8879 687.. nonce: TIYPLo 688.. section: Core and Builtins 689 690Add ipaddress.reverse_pointer. Patch by Leon Weber. 691 692.. 693 694.. bpo: 13598 695.. date: 8878 696.. nonce: GJelrw 697.. section: Core and Builtins 698 699Modify string.Formatter to support auto-numbering of replacement fields. It 700now matches the behavior of str.format() in this regard. Patches by Phil 701Elson and Ramchandra Apte. 702 703.. 704 705.. bpo: 8931 706.. date: 8877 707.. nonce: M05x4f 708.. section: Core and Builtins 709 710Make alternate formatting ('#') for type 'c' raise an exception. In versions 711prior to 3.5, '#' with 'c' had no effect. Now specifying it is an error. 712Patch by Torsten Landschoff. 713 714.. 715 716.. bpo: 23165 717.. date: 8876 718.. nonce: lk8uCE 719.. section: Core and Builtins 720 721Perform overflow checks before allocating memory in the _Py_char2wchar 722function. 723 724.. 725 726.. bpo: 23399 727.. date: 8875 728.. nonce: hXMYgA 729.. section: Library 730 731pyvenv creates relative symlinks where possible. 732 733.. 734 735.. bpo: 20289 736.. date: 8874 737.. nonce: nio1N- 738.. section: Library 739 740cgi.FieldStorage() now supports the context management protocol. 741 742.. 743 744.. bpo: 13128 745.. date: 8873 746.. nonce: vqEcsy 747.. section: Library 748 749Print response headers for CONNECT requests when debuglevel > 0. Patch by 750Demian Brecht. 751 752.. 753 754.. bpo: 15381 755.. date: 8872 756.. nonce: Xv-wu8 757.. section: Library 758 759Optimized io.BytesIO to make less allocations and copyings. 760 761.. 762 763.. bpo: 22818 764.. date: 8871 765.. nonce: NYdAc9 766.. section: Library 767 768Splitting on a pattern that could match an empty string now raises a 769warning. Patterns that can only match empty strings are now rejected. 770 771.. 772 773.. bpo: 23099 774.. date: 8870 775.. nonce: ZASrUo 776.. section: Library 777 778Closing io.BytesIO with exported buffer is rejected now to prevent 779corrupting exported buffer. 780 781.. 782 783.. bpo: 23326 784.. date: 8869 785.. nonce: 8VzlZD 786.. section: Library 787 788Removed __ne__ implementations. Since fixing default __ne__ implementation 789in issue #21408 they are redundant. 790 791.. 792 793.. bpo: 23363 794.. date: 8868 795.. nonce: -koaol 796.. section: Library 797 798Fix possible overflow in itertools.permutations. 799 800.. 801 802.. bpo: 23364 803.. date: 8867 804.. nonce: 3yBV-6 805.. section: Library 806 807Fix possible overflow in itertools.product. 808 809.. 810 811.. bpo: 23366 812.. date: 8866 813.. nonce: tyAfm8 814.. section: Library 815 816Fixed possible integer overflow in itertools.combinations. 817 818.. 819 820.. bpo: 23369 821.. date: 8865 822.. nonce: nqChyE 823.. section: Library 824 825Fixed possible integer overflow in _json.encode_basestring_ascii. 826 827.. 828 829.. bpo: 23353 830.. date: 8864 831.. nonce: Iytkpc 832.. section: Library 833 834Fix the exception handling of generators in PyEval_EvalFrameEx(). At entry, 835save or swap the exception state even if PyEval_EvalFrameEx() is called with 836throwflag=0. At exit, the exception state is now always restored or swapped, 837not only if why is WHY_YIELD or WHY_RETURN. Patch co-written with Antoine 838Pitrou. 839 840.. 841 842.. bpo: 14099 843.. date: 8863 844.. nonce: t9-HVE 845.. section: Library 846 847Restored support of writing ZIP files to tellable but non-seekable streams. 848 849.. 850 851.. bpo: 14099 852.. date: 8862 853.. nonce: Myxxww 854.. section: Library 855 856Writing to ZipFile and reading multiple ZipExtFiles is threadsafe now. 857 858.. 859 860.. bpo: 19361 861.. date: 8861 862.. nonce: 2mvrV3 863.. section: Library 864 865JSON decoder now raises JSONDecodeError instead of ValueError. 866 867.. 868 869.. bpo: 18518 870.. date: 8860 871.. nonce: JXgicC 872.. section: Library 873 874timeit now rejects statements which can't be compiled outside a function or 875a loop (e.g. "return" or "break"). 876 877.. 878 879.. bpo: 23094 880.. date: 8859 881.. nonce: -8AXSi 882.. section: Library 883 884Fixed readline with frames in Python implementation of pickle. 885 886.. 887 888.. bpo: 23268 889.. date: 8858 890.. nonce: ATtRa5 891.. section: Library 892 893Fixed bugs in the comparison of ipaddress classes. 894 895.. 896 897.. bpo: 21408 898.. date: 8857 899.. nonce: 0rI6tx 900.. section: Library 901 902Removed incorrect implementations of __ne__() which didn't returned 903NotImplemented if __eq__() returned NotImplemented. The default __ne__() 904now works correctly. 905 906.. 907 908.. bpo: 19996 909.. date: 8856 910.. nonce: 2-SiMf 911.. section: Library 912 913:class:`email.feedparser.FeedParser` now handles (malformed) headers with no 914key rather than assuming the body has started. 915 916.. 917 918.. bpo: 20188 919.. date: 8855 920.. nonce: xocY-2 921.. section: Library 922 923Support Application-Layer Protocol Negotiation (ALPN) in the ssl module. 924 925.. 926 927.. bpo: 23133 928.. date: 8854 929.. nonce: 8p2Wnl 930.. section: Library 931 932Pickling of ipaddress objects now produces more compact and portable 933representation. 934 935.. 936 937.. bpo: 23248 938.. date: 8853 939.. nonce: FjcyCP 940.. section: Library 941 942Update ssl error codes from latest OpenSSL git master. 943 944.. 945 946.. bpo: 23266 947.. date: 8852 948.. nonce: Mo7alR 949.. section: Library 950 951Much faster implementation of ipaddress.collapse_addresses() when there are 952many non-consecutive addresses. 953 954.. 955 956.. bpo: 23098 957.. date: 8851 958.. nonce: 7VwF3K 959.. section: Library 960 96164-bit dev_t is now supported in the os module. 962 963.. 964 965.. bpo: 21817 966.. date: 8850 967.. nonce: xYUW-9 968.. section: Library 969 970When an exception is raised in a task submitted to a ProcessPoolExecutor, 971the remote traceback is now displayed in the parent process. Patch by 972Claudiu Popa. 973 974.. 975 976.. bpo: 15955 977.. date: 8849 978.. nonce: uvpBL4 979.. section: Library 980 981Add an option to limit output size when decompressing LZMA data. Patch by 982Nikolaus Rath and Martin Panter. 983 984.. 985 986.. bpo: 23250 987.. date: 8848 988.. nonce: qNGAUf 989.. section: Library 990 991In the http.cookies module, capitalize "HttpOnly" and "Secure" as they are 992written in the standard. 993 994.. 995 996.. bpo: 23063 997.. date: 8847 998.. nonce: 9-UJRs 999.. section: Library 1000 1001In the distutils' check command, fix parsing of reST with code or code-block 1002directives. 1003 1004.. 1005 1006.. bpo: 23209 1007.. date: 8846 1008.. nonce: I0bCCH 1009.. section: Library 1010 1011selectors.BaseSelector.get_key() now raises a RuntimeError if the selector 1012is closed. And selectors.BaseSelector.close() now clears its internal 1013reference to the selector mapping to break a reference cycle. Initial patch 1014written by Martin Richard. (See also: bpo-23225) 1015 1016.. 1017 1018.. bpo: 17911 1019.. date: 8845 1020.. nonce: yg65Iu 1021.. section: Library 1022 1023Provide a way to seed the linecache for a PEP-302 module without actually 1024loading the code. 1025 1026.. 1027 1028.. bpo: 17911 1029.. date: 8844 1030.. nonce: qeTePa 1031.. section: Library 1032 1033Provide a new object API for traceback, including the ability to not lookup 1034lines at all until the traceback is actually rendered, without any trace of 1035the original objects being kept alive. 1036 1037.. 1038 1039.. bpo: 19777 1040.. date: 8843 1041.. nonce: H_NDIA 1042.. section: Library 1043 1044Provide a home() classmethod on Path objects. Contributed by Victor Salgado 1045and Mayank Tripathi. 1046 1047.. 1048 1049.. bpo: 23206 1050.. date: 8842 1051.. nonce: xSiYwq 1052.. section: Library 1053 1054Make ``json.dumps(..., ensure_ascii=False)`` as fast as the default case of 1055``ensure_ascii=True``. Patch by Naoki Inada. 1056 1057.. 1058 1059.. bpo: 23185 1060.. date: 8841 1061.. nonce: KHyoSO 1062.. section: Library 1063 1064Add math.inf and math.nan constants. 1065 1066.. 1067 1068.. bpo: 23186 1069.. date: 8840 1070.. nonce: KzWLP2 1071.. section: Library 1072 1073Add ssl.SSLObject.shared_ciphers() and ssl.SSLSocket.shared_ciphers() to 1074fetch the client's list ciphers sent at handshake. 1075 1076.. 1077 1078.. bpo: 23143 1079.. date: 8839 1080.. nonce: AWxJXV 1081.. section: Library 1082 1083Remove compatibility with OpenSSLs older than 0.9.8. 1084 1085.. 1086 1087.. bpo: 23132 1088.. date: 8838 1089.. nonce: pbQcut 1090.. section: Library 1091 1092Improve performance and introspection support of comparison methods created 1093by functool.total_ordering. 1094 1095.. 1096 1097.. bpo: 19776 1098.. date: 8837 1099.. nonce: BxNgxd 1100.. section: Library 1101 1102Add an expanduser() method on Path objects. 1103 1104.. 1105 1106.. bpo: 23112 1107.. date: 8836 1108.. nonce: dZGf82 1109.. section: Library 1110 1111Fix SimpleHTTPServer to correctly carry the query string and fragment when 1112it redirects to add a trailing slash. 1113 1114.. 1115 1116.. bpo: 21793 1117.. date: 8835 1118.. nonce: T1kQBL 1119.. section: Library 1120 1121Added http.HTTPStatus enums (i.e. HTTPStatus.OK, HTTPStatus.NOT_FOUND). 1122Patch by Demian Brecht. 1123 1124.. 1125 1126.. bpo: 23093 1127.. date: 8834 1128.. nonce: cP7OqD 1129.. section: Library 1130 1131In the io, module allow more operations to work on detached streams. 1132 1133.. 1134 1135.. bpo: 23111 1136.. date: 8833 1137.. nonce: A34IA4 1138.. section: Library 1139 1140In the ftplib, make ssl.PROTOCOL_SSLv23 the default protocol version. 1141 1142.. 1143 1144.. bpo: 22585 1145.. date: 8832 1146.. nonce: F4BkNo 1147.. section: Library 1148 1149On OpenBSD 5.6 and newer, os.urandom() now calls getentropy(), instead of 1150reading /dev/urandom, to get pseudo-random bytes. 1151 1152.. 1153 1154.. bpo: 19104 1155.. date: 8831 1156.. nonce: _eIThy 1157.. section: Library 1158 1159pprint now produces evaluable output for wrapped strings. 1160 1161.. 1162 1163.. bpo: 23071 1164.. date: 8830 1165.. nonce: 3BSqF7 1166.. section: Library 1167 1168Added missing names to codecs.__all__. Patch by Martin Panter. 1169 1170.. 1171 1172.. bpo: 22783 1173.. date: 8829 1174.. nonce: OfYxBd 1175.. section: Library 1176 1177Pickling now uses the NEWOBJ opcode instead of the NEWOBJ_EX opcode if 1178possible. 1179 1180.. 1181 1182.. bpo: 15513 1183.. date: 8828 1184.. nonce: 7yVnRE 1185.. section: Library 1186 1187Added a __sizeof__ implementation for pickle classes. 1188 1189.. 1190 1191.. bpo: 19858 1192.. date: 8827 1193.. nonce: cqOlIt 1194.. section: Library 1195 1196pickletools.optimize() now aware of the MEMOIZE opcode, can produce more 1197compact result and no longer produces invalid output if input data contains 1198MEMOIZE opcodes together with PUT or BINPUT opcodes. 1199 1200.. 1201 1202.. bpo: 22095 1203.. date: 8826 1204.. nonce: iISzxM 1205.. section: Library 1206 1207Fixed HTTPConnection.set_tunnel with default port. The port value in the 1208host header was set to "None". Patch by Demian Brecht. 1209 1210.. 1211 1212.. bpo: 23016 1213.. date: 8825 1214.. nonce: LyrPd_ 1215.. section: Library 1216 1217A warning no longer produces an AttributeError when the program is run with 1218pythonw.exe. 1219 1220.. 1221 1222.. bpo: 21775 1223.. date: 8824 1224.. nonce: ELR_Al 1225.. section: Library 1226 1227shutil.copytree(): fix crash when copying to VFAT. An exception handler 1228assumed that OSError objects always have a 'winerror' attribute. That is not 1229the case, so the exception handler itself raised AttributeError when run on 1230Linux (and, presumably, any other non-Windows OS). Patch by Greg Ward. 1231 1232.. 1233 1234.. bpo: 1218234 1235.. date: 8823 1236.. nonce: 4GcoQK 1237.. section: Library 1238 1239Fix inspect.getsource() to load updated source of reloaded module. Initial 1240patch by Berker Peksag. 1241 1242.. 1243 1244.. bpo: 21740 1245.. date: 8822 1246.. nonce: TtAApO 1247.. section: Library 1248 1249Support wrapped callables in doctest. Patch by Claudiu Popa. 1250 1251.. 1252 1253.. bpo: 23009 1254.. date: 8821 1255.. nonce: -sW7gk 1256.. section: Library 1257 1258Make sure selectors.EpollSelector.select() works when no FD is registered. 1259 1260.. 1261 1262.. bpo: 22959 1263.. date: 8820 1264.. nonce: Vxt3EP 1265.. section: Library 1266 1267In the constructor of http.client.HTTPSConnection, prefer the context's 1268check_hostname attribute over the *check_hostname* parameter. 1269 1270.. 1271 1272.. bpo: 22696 1273.. date: 8819 1274.. nonce: pvdcxs 1275.. section: Library 1276 1277Add function :func:`sys.is_finalizing` to know about interpreter shutdown. 1278 1279.. 1280 1281.. bpo: 16043 1282.. date: 8818 1283.. nonce: TGIC7t 1284.. section: Library 1285 1286Add a default limit for the amount of data xmlrpclib.gzip_decode will 1287return. This resolves CVE-2013-1753. 1288 1289.. 1290 1291.. bpo: 14099 1292.. date: 8817 1293.. nonce: GJ5meQ 1294.. section: Library 1295 1296ZipFile.open() no longer reopen the underlying file. Objects returned by 1297ZipFile.open() can now operate independently of the ZipFile even if the 1298ZipFile was created by passing in a file-like object as the first argument 1299to the constructor. 1300 1301.. 1302 1303.. bpo: 22966 1304.. date: 8816 1305.. nonce: zIxDrT 1306.. section: Library 1307 1308Fix __pycache__ pyc file name clobber when pyc_compile is asked to compile a 1309source file containing multiple dots in the source file name. 1310 1311.. 1312 1313.. bpo: 21971 1314.. date: 8815 1315.. nonce: XlTc22 1316.. section: Library 1317 1318Update turtledemo doc and add module to the index. 1319 1320.. 1321 1322.. bpo: 21032 1323.. date: 8814 1324.. nonce: wxT_41 1325.. section: Library 1326 1327Fixed socket leak if HTTPConnection.getresponse() fails. Original patch by 1328Martin Panter. 1329 1330.. 1331 1332.. bpo: 22407 1333.. date: 8813 1334.. nonce: CWi1wX 1335.. section: Library 1336 1337Deprecated the use of re.LOCALE flag with str patterns or re.ASCII. It was 1338newer worked. 1339 1340.. 1341 1342.. bpo: 22902 1343.. date: 8812 1344.. nonce: ZqXriA 1345.. section: Library 1346 1347The "ip" command is now used on Linux to determine MAC address in 1348uuid.getnode(). Pach by Bruno Cauet. 1349 1350.. 1351 1352.. bpo: 22960 1353.. date: 8811 1354.. nonce: 2VDILT 1355.. section: Library 1356 1357Add a context argument to xmlrpclib.ServerProxy constructor. 1358 1359.. 1360 1361.. bpo: 22389 1362.. date: 8810 1363.. nonce: 82DuwD 1364.. section: Library 1365 1366Add contextlib.redirect_stderr(). 1367 1368.. 1369 1370.. bpo: 21356 1371.. date: 8809 1372.. nonce: 8NY75J 1373.. section: Library 1374 1375Make ssl.RAND_egd() optional to support LibreSSL. The availability of the 1376function is checked during the compilation. Patch written by Bernard Spil. 1377 1378.. 1379 1380.. bpo: 22915 1381.. date: 8808 1382.. nonce: 709UAo 1383.. section: Library 1384 1385SAX parser now supports files opened with file descriptor or bytes path. 1386 1387.. 1388 1389.. bpo: 22609 1390.. date: 8807 1391.. nonce: mmLoeb 1392.. section: Library 1393 1394Constructors and update methods of mapping classes in the collections module 1395now accept the self keyword argument. 1396 1397.. 1398 1399.. bpo: 22940 1400.. date: 8806 1401.. nonce: SP99Nf 1402.. section: Library 1403 1404Add readline.append_history_file. 1405 1406.. 1407 1408.. bpo: 19676 1409.. date: 8805 1410.. nonce: Wijwr8 1411.. section: Library 1412 1413Added the "namereplace" error handler. 1414 1415.. 1416 1417.. bpo: 22788 1418.. date: 8804 1419.. nonce: vofL9e 1420.. section: Library 1421 1422Add *context* parameter to logging.handlers.HTTPHandler. 1423 1424.. 1425 1426.. bpo: 22921 1427.. date: 8803 1428.. nonce: a4wx1C 1429.. section: Library 1430 1431Allow SSLContext to take the *hostname* parameter even if OpenSSL doesn't 1432support SNI. 1433 1434.. 1435 1436.. bpo: 22894 1437.. date: 8802 1438.. nonce: 4AkwPA 1439.. section: Library 1440 1441TestCase.subTest() would cause the test suite to be stopped when in failfast 1442mode, even in the absence of failures. 1443 1444.. 1445 1446.. bpo: 22796 1447.. date: 8801 1448.. nonce: _pFPFA 1449.. section: Library 1450 1451HTTP cookie parsing is now stricter, in order to protect against potential 1452injection attacks. 1453 1454.. 1455 1456.. bpo: 22370 1457.. date: 8800 1458.. nonce: j4y21u 1459.. section: Library 1460 1461Windows detection in pathlib is now more robust. 1462 1463.. 1464 1465.. bpo: 22841 1466.. date: 8799 1467.. nonce: 8wpk7T 1468.. section: Library 1469 1470Reject coroutines in asyncio add_signal_handler(). Patch by Ludovic.Gasc. 1471 1472.. 1473 1474.. bpo: 19494 1475.. date: 8798 1476.. nonce: 7O5O8k 1477.. section: Library 1478 1479Added urllib.request.HTTPBasicPriorAuthHandler. Patch by Matej Cepl. 1480 1481.. 1482 1483.. bpo: 22578 1484.. date: 8797 1485.. nonce: 6XZ0Jf 1486.. section: Library 1487 1488Added attributes to the re.error class. 1489 1490.. 1491 1492.. bpo: 22849 1493.. date: 8796 1494.. nonce: AqBPyj 1495.. section: Library 1496 1497Fix possible double free in the io.TextIOWrapper constructor. 1498 1499.. 1500 1501.. bpo: 12728 1502.. date: 8795 1503.. nonce: rHZmXO 1504.. section: Library 1505 1506Different Unicode characters having the same uppercase but different 1507lowercase are now matched in case-insensitive regular expressions. 1508 1509.. 1510 1511.. bpo: 22821 1512.. date: 8794 1513.. nonce: 30cQ-U 1514.. section: Library 1515 1516Fixed fcntl() with integer argument on 64-bit big-endian platforms. 1517 1518.. 1519 1520.. bpo: 21650 1521.. date: 8793 1522.. nonce: 62MLqr 1523.. section: Library 1524 1525Add an `--sort-keys` option to json.tool CLI. 1526 1527.. 1528 1529.. bpo: 22824 1530.. date: 8792 1531.. nonce: d5Txvr 1532.. section: Library 1533 1534Updated reprlib output format for sets to use set literals. Patch 1535contributed by Berker Peksag. 1536 1537.. 1538 1539.. bpo: 22824 1540.. date: 8791 1541.. nonce: H_r9uH 1542.. section: Library 1543 1544Updated reprlib output format for arrays to display empty arrays without an 1545unnecessary empty list. Suggested by Serhiy Storchaka. 1546 1547.. 1548 1549.. bpo: 22406 1550.. date: 8790 1551.. nonce: sPlVbI 1552.. section: Library 1553 1554Fixed the uu_codec codec incorrectly ported to 3.x. Based on patch by Martin 1555Panter. 1556 1557.. 1558 1559.. bpo: 17293 1560.. date: 8789 1561.. nonce: Hk06bO 1562.. section: Library 1563 1564uuid.getnode() now determines MAC address on AIX using netstat. Based on 1565patch by Aivars Kalvāns. 1566 1567.. 1568 1569.. bpo: 22769 1570.. date: 8788 1571.. nonce: PunnvQ 1572.. section: Library 1573 1574Fixed ttk.Treeview.tag_has() when called without arguments. 1575 1576.. 1577 1578.. bpo: 22417 1579.. date: 8787 1580.. nonce: To4b7U 1581.. section: Library 1582 1583Verify certificates by default in httplib (PEP 476). 1584 1585.. 1586 1587.. bpo: 22775 1588.. date: 8786 1589.. nonce: V5aCUz 1590.. section: Library 1591 1592Fixed unpickling of http.cookies.SimpleCookie with protocol 2 and above. 1593Patch by Tim Graham. 1594 1595.. 1596 1597.. bpo: 22776 1598.. date: 8785 1599.. nonce: xNcRse 1600.. section: Library 1601 1602Brought excluded code into the scope of a try block in SysLogHandler.emit(). 1603 1604.. 1605 1606.. bpo: 22665 1607.. date: 8784 1608.. nonce: j6Jlp8 1609.. section: Library 1610 1611Add missing get_terminal_size and SameFileError to shutil.__all__. 1612 1613.. 1614 1615.. bpo: 6623 1616.. date: 8783 1617.. nonce: 6LOidS 1618.. section: Library 1619 1620Remove deprecated Netrc class in the ftplib module. Patch by Matt Chaput. 1621 1622.. 1623 1624.. bpo: 17381 1625.. date: 8782 1626.. nonce: 4J5yv7 1627.. section: Library 1628 1629Fixed handling of case-insensitive ranges in regular expressions. 1630 1631.. 1632 1633.. bpo: 22410 1634.. date: 8781 1635.. nonce: 99YFdd 1636.. section: Library 1637 1638Module level functions in the re module now cache compiled locale-dependent 1639regular expressions taking into account the locale. 1640 1641.. 1642 1643.. bpo: 22759 1644.. date: 8780 1645.. nonce: BJPdiL 1646.. section: Library 1647 1648Query methods on pathlib.Path() (exists(), is_dir(), etc.) now return False 1649when the underlying stat call raises NotADirectoryError. 1650 1651.. 1652 1653.. bpo: 8876 1654.. date: 8779 1655.. nonce: A83Av4 1656.. section: Library 1657 1658distutils now falls back to copying files when hard linking doesn't work. 1659This allows use with special filesystems such as VirtualBox shared folders. 1660 1661.. 1662 1663.. bpo: 22217 1664.. date: 8778 1665.. nonce: nXzGur 1666.. section: Library 1667 1668Implemented reprs of classes in the zipfile module. 1669 1670.. 1671 1672.. bpo: 22457 1673.. date: 8777 1674.. nonce: Xd2Mk- 1675.. section: Library 1676 1677Honour load_tests in the start_dir of discovery. 1678 1679.. 1680 1681.. bpo: 18216 1682.. date: 8776 1683.. nonce: trTZw4 1684.. section: Library 1685 1686gettext now raises an error when a .mo file has an unsupported major version 1687number. Patch by Aaron Hill. 1688 1689.. 1690 1691.. bpo: 13918 1692.. date: 8775 1693.. nonce: -OnUhD 1694.. section: Library 1695 1696Provide a locale.delocalize() function which can remove locale-specific 1697number formatting from a string representing a number, without then 1698converting it to a specific type. Patch by Cédric Krier. 1699 1700.. 1701 1702.. bpo: 22676 1703.. date: 8774 1704.. nonce: d2v8QM 1705.. section: Library 1706 1707Make the pickling of global objects which don't have a __module__ attribute 1708less slow. 1709 1710.. 1711 1712.. bpo: 18853 1713.. date: 8773 1714.. nonce: 76DrPD 1715.. section: Library 1716 1717Fixed ResourceWarning in shlex.__nain__. 1718 1719.. 1720 1721.. bpo: 9351 1722.. date: 8772 1723.. nonce: u5UI-6 1724.. section: Library 1725 1726Defaults set with set_defaults on an argparse subparser are no longer 1727ignored when also set on the parent parser. 1728 1729.. 1730 1731.. bpo: 7559 1732.. date: 8771 1733.. nonce: QG35ZP 1734.. section: Library 1735 1736unittest test loading ImportErrors are reported as import errors with their 1737import exception rather than as attribute errors after the import has 1738already failed. 1739 1740.. 1741 1742.. bpo: 19746 1743.. date: 8770 1744.. nonce: S1dg1K 1745.. section: Library 1746 1747Make it possible to examine the errors from unittest discovery without 1748executing the test suite. The new `errors` attribute on TestLoader exposes 1749these non-fatal errors encountered during discovery. 1750 1751.. 1752 1753.. bpo: 21991 1754.. date: 8769 1755.. nonce: Mkm0IN 1756.. section: Library 1757 1758Make email.headerregistry's header 'params' attributes be read-only 1759(MappingProxyType). Previously the dictionary was modifiable but a new one 1760was created on each access of the attribute. 1761 1762.. 1763 1764.. bpo: 22638 1765.. date: 8768 1766.. nonce: Ur73gJ 1767.. section: Library 1768 1769SSLv3 is now disabled throughout the standard library. It can still be 1770enabled by instantiating a SSLContext manually. 1771 1772.. 1773 1774.. bpo: 22641 1775.. date: 8767 1776.. nonce: m0ldtl 1777.. section: Library 1778 1779In asyncio, the default SSL context for client connections is now created 1780using ssl.create_default_context(), for stronger security. 1781 1782.. 1783 1784.. bpo: 17401 1785.. date: 8766 1786.. nonce: SZd19P 1787.. section: Library 1788 1789Include closefd in io.FileIO repr. 1790 1791.. 1792 1793.. bpo: 21338 1794.. date: 8765 1795.. nonce: evDyHD 1796.. section: Library 1797 1798Add silent mode for compileall. quiet parameters of compile_{dir, file, 1799path} functions now have a multilevel value. Also, -q option of the CLI now 1800have a multilevel value. Patch by Thomas Kluyver. 1801 1802.. 1803 1804.. bpo: 20152 1805.. date: 8764 1806.. nonce: 9_o92A 1807.. section: Library 1808 1809Convert the array and cmath modules to Argument Clinic. 1810 1811.. 1812 1813.. bpo: 18643 1814.. date: 8763 1815.. nonce: 6Qdc0J 1816.. section: Library 1817 1818Add socket.socketpair() on Windows. 1819 1820.. 1821 1822.. bpo: 22435 1823.. date: 8762 1824.. nonce: s2U7Zm 1825.. section: Library 1826 1827Fix a file descriptor leak when socketserver bind fails. 1828 1829.. 1830 1831.. bpo: 13096 1832.. date: 8761 1833.. nonce: rsailB 1834.. section: Library 1835 1836Fixed segfault in CTypes POINTER handling of large values. 1837 1838.. 1839 1840.. bpo: 11694 1841.. date: 8760 1842.. nonce: JuDrch 1843.. section: Library 1844 1845Raise ConversionError in xdrlib as documented. Patch by Filip Gruszczyński 1846and Claudiu Popa. 1847 1848.. 1849 1850.. bpo: 19380 1851.. date: 8759 1852.. nonce: nqgoRQ 1853.. section: Library 1854 1855Optimized parsing of regular expressions. 1856 1857.. 1858 1859.. bpo: 1519638 1860.. date: 8758 1861.. nonce: 2pbuog 1862.. section: Library 1863 1864Now unmatched groups are replaced with empty strings in re.sub() and 1865re.subn(). 1866 1867.. 1868 1869.. bpo: 18615 1870.. date: 8757 1871.. nonce: 65TxnY 1872.. section: Library 1873 1874sndhdr.what/whathdr now return a namedtuple. 1875 1876.. 1877 1878.. bpo: 22462 1879.. date: 8756 1880.. nonce: 1h4Kpr 1881.. section: Library 1882 1883Fix pyexpat's creation of a dummy frame to make it appear in exception 1884tracebacks. 1885 1886.. 1887 1888.. bpo: 21965 1889.. date: 8755 1890.. nonce: n_jnXs 1891.. section: Library 1892 1893Add support for in-memory SSL to the ssl module. Patch by Geert Jansen. 1894 1895.. 1896 1897.. bpo: 21173 1898.. date: 8754 1899.. nonce: egkbEx 1900.. section: Library 1901 1902Fix len() on a WeakKeyDictionary when .clear() was called with an iterator 1903alive. 1904 1905.. 1906 1907.. bpo: 11866 1908.. date: 8753 1909.. nonce: xrvbIC 1910.. section: Library 1911 1912Eliminated race condition in the computation of names for new threads. 1913 1914.. 1915 1916.. bpo: 21905 1917.. date: 8752 1918.. nonce: coKyRo 1919.. section: Library 1920 1921Avoid RuntimeError in pickle.whichmodule() when sys.modules is mutated while 1922iterating. Patch by Olivier Grisel. 1923 1924.. 1925 1926.. bpo: 11271 1927.. date: 8751 1928.. nonce: ZYiJru 1929.. section: Library 1930 1931concurrent.futures.Executor.map() now takes a *chunksize* argument to allow 1932batching of tasks in child processes and improve performance of 1933ProcessPoolExecutor. Patch by Dan O'Reilly. 1934 1935.. 1936 1937.. bpo: 21883 1938.. date: 8750 1939.. nonce: qpuQu6 1940.. section: Library 1941 1942os.path.join() and os.path.relpath() now raise a TypeError with more helpful 1943error message for unsupported or mismatched types of arguments. 1944 1945.. 1946 1947.. bpo: 22219 1948.. date: 8749 1949.. nonce: l9Enh9 1950.. section: Library 1951 1952The zipfile module CLI now adds entries for directories (including empty 1953directories) in ZIP file. 1954 1955.. 1956 1957.. bpo: 22449 1958.. date: 8748 1959.. nonce: nFW_Fl 1960.. section: Library 1961 1962In the ssl.SSLContext.load_default_certs, consult the environmental 1963variables SSL_CERT_DIR and SSL_CERT_FILE on Windows. 1964 1965.. 1966 1967.. bpo: 22508 1968.. date: 8747 1969.. nonce: 2LbnGQ 1970.. section: Library 1971 1972The email.__version__ variable has been removed; the email code is no longer 1973shipped separately from the stdlib, and __version__ hasn't been updated in 1974several releases. 1975 1976.. 1977 1978.. bpo: 20076 1979.. date: 8746 1980.. nonce: -7OIVB 1981.. section: Library 1982 1983Added non derived UTF-8 aliases to locale aliases table. 1984 1985.. 1986 1987.. bpo: 20079 1988.. date: 8745 1989.. nonce: qM949O 1990.. section: Library 1991 1992Added locales supported in glibc 2.18 to locale alias table. 1993 1994.. 1995 1996.. bpo: 20218 1997.. date: 8744 1998.. nonce: CMgOyE 1999.. section: Library 2000 2001Added convenience methods read_text/write_text and read_bytes/ write_bytes 2002to pathlib.Path objects. 2003 2004.. 2005 2006.. bpo: 22396 2007.. date: 8743 2008.. nonce: cQSizA 2009.. section: Library 2010 2011On 32-bit AIX platform, don't expose os.posix_fadvise() nor 2012os.posix_fallocate() because their prototypes in system headers are wrong. 2013 2014.. 2015 2016.. bpo: 22517 2017.. date: 8742 2018.. nonce: qT6-aB 2019.. section: Library 2020 2021When an io.BufferedRWPair object is deallocated, clear its weakrefs. 2022 2023.. 2024 2025.. bpo: 22437 2026.. date: 8741 2027.. nonce: MRVnmQ 2028.. section: Library 2029 2030Number of capturing groups in regular expression is no longer limited by 2031100. 2032 2033.. 2034 2035.. bpo: 17442 2036.. date: 8740 2037.. nonce: rnc87D 2038.. section: Library 2039 2040InteractiveInterpreter now displays the full chained traceback in its 2041showtraceback method, to match the built in interactive interpreter. 2042 2043.. 2044 2045.. bpo: 23392 2046.. date: 8739 2047.. nonce: Pe7_WK 2048.. section: Library 2049 2050Added tests for marshal C API that works with FILE*. 2051 2052.. 2053 2054.. bpo: 10510 2055.. date: 8738 2056.. nonce: N-ntcD 2057.. section: Library 2058 2059distutils register and upload methods now use HTML standards compliant CRLF 2060line endings. 2061 2062.. 2063 2064.. bpo: 9850 2065.. date: 8737 2066.. nonce: D-UnVi 2067.. section: Library 2068 2069Fixed macpath.join() for empty first component. Patch by Oleg Oshmyan. 2070 2071.. 2072 2073.. bpo: 5309 2074.. date: 8736 2075.. nonce: pVMmQ8 2076.. section: Library 2077 2078distutils' build and build_ext commands now accept a ``-j`` option to enable 2079parallel building of extension modules. 2080 2081.. 2082 2083.. bpo: 22448 2084.. date: 8735 2085.. nonce: fAapvE 2086.. section: Library 2087 2088Improve canceled timer handles cleanup to prevent unbound memory usage. 2089Patch by Joshua Moore-Oliva. 2090 2091.. 2092 2093.. bpo: 22427 2094.. date: 8734 2095.. nonce: TZ5S_u 2096.. section: Library 2097 2098TemporaryDirectory no longer attempts to clean up twice when used in the 2099with statement in generator. 2100 2101.. 2102 2103.. bpo: 22362 2104.. date: 8733 2105.. nonce: xIBThN 2106.. section: Library 2107 2108Forbidden ambiguous octal escapes out of range 0-0o377 in regular 2109expressions. 2110 2111.. 2112 2113.. bpo: 20912 2114.. date: 8732 2115.. nonce: cAq3mZ 2116.. section: Library 2117 2118Now directories added to ZIP file have correct Unix and MS-DOS directory 2119attributes. 2120 2121.. 2122 2123.. bpo: 21866 2124.. date: 8731 2125.. nonce: hSc4wM 2126.. section: Library 2127 2128ZipFile.close() no longer writes ZIP64 central directory records if 2129allowZip64 is false. 2130 2131.. 2132 2133.. bpo: 22278 2134.. date: 8730 2135.. nonce: abqBXZ 2136.. section: Library 2137 2138Fix urljoin problem with relative urls, a regression observed after changes 2139to issue22118 were submitted. 2140 2141.. 2142 2143.. bpo: 22415 2144.. date: 8729 2145.. nonce: xJLAvI 2146.. section: Library 2147 2148Fixed debugging output of the GROUPREF_EXISTS opcode in the re module. 2149Removed trailing spaces in debugging output. 2150 2151.. 2152 2153.. bpo: 22423 2154.. date: 8728 2155.. nonce: Rtb4oT 2156.. section: Library 2157 2158Unhandled exception in thread no longer causes unhandled AttributeError when 2159sys.stderr is None. 2160 2161.. 2162 2163.. bpo: 21332 2164.. date: 8727 2165.. nonce: Gwxwlr 2166.. section: Library 2167 2168Ensure that ``bufsize=1`` in subprocess.Popen() selects line buffering, 2169rather than block buffering. Patch by Akira Li. 2170 2171.. 2172 2173.. bpo: 21091 2174.. date: 8726 2175.. nonce: M5hAtT 2176.. section: Library 2177 2178Fix API bug: email.message.EmailMessage.is_attachment is now a method. 2179 2180.. 2181 2182.. bpo: 21079 2183.. date: 8725 2184.. nonce: czVcL8 2185.. section: Library 2186 2187Fix email.message.EmailMessage.is_attachment to return the correct result 2188when the header has parameters as well as a value. 2189 2190.. 2191 2192.. bpo: 22247 2193.. date: 8724 2194.. nonce: sGIpR3 2195.. section: Library 2196 2197Add NNTPError to nntplib.__all__. 2198 2199.. 2200 2201.. bpo: 22366 2202.. date: 8723 2203.. nonce: Dd1eFj 2204.. section: Library 2205 2206urllib.request.urlopen will accept a context object (SSLContext) as an 2207argument which will then be used for HTTPS connection. Patch by Alex Gaynor. 2208 2209.. 2210 2211.. bpo: 4180 2212.. date: 8722 2213.. nonce: QBx0JK 2214.. section: Library 2215 2216The warnings registries are now reset when the filters are modified. 2217 2218.. 2219 2220.. bpo: 22419 2221.. date: 8721 2222.. nonce: FqH4aC 2223.. section: Library 2224 2225Limit the length of incoming HTTP request in wsgiref server to 65536 bytes 2226and send a 414 error code for higher lengths. Patch contributed by Devin 2227Cook. 2228 2229.. 2230 2231.. bpo: 0 2232.. date: 8720 2233.. nonce: y7r3O2 2234.. section: Library 2235 2236Lax cookie parsing in http.cookies could be a security issue when combined 2237with non-standard cookie handling in some web browsers. Reported by Sergey 2238Bobrov. 2239 2240.. 2241 2242.. bpo: 20537 2243.. date: 8719 2244.. nonce: E0CE54 2245.. section: Library 2246 2247logging methods now accept an exception instance as well as a Boolean value 2248or exception tuple. Thanks to Yury Selivanov for the patch. 2249 2250.. 2251 2252.. bpo: 22384 2253.. date: 8718 2254.. nonce: -Nl4He 2255.. section: Library 2256 2257An exception in Tkinter callback no longer crashes the program when it is 2258run with pythonw.exe. 2259 2260.. 2261 2262.. bpo: 22168 2263.. date: 8717 2264.. nonce: vLeKWC 2265.. section: Library 2266 2267Prevent turtle AttributeError with non-default Canvas on OS X. 2268 2269.. 2270 2271.. bpo: 21147 2272.. date: 8716 2273.. nonce: w9DE17 2274.. section: Library 2275 2276sqlite3 now raises an exception if the request contains a null character 2277instead of truncating it. Based on patch by Victor Stinner. 2278 2279.. 2280 2281.. bpo: 13968 2282.. date: 8715 2283.. nonce: 1okGqm 2284.. section: Library 2285 2286The glob module now supports recursive search in subdirectories using the 2287``**`` pattern. 2288 2289.. 2290 2291.. bpo: 21951 2292.. date: 8714 2293.. nonce: 3vS4LK 2294.. section: Library 2295 2296Fixed a crash in Tkinter on AIX when called Tcl command with empty string or 2297tuple argument. 2298 2299.. 2300 2301.. bpo: 21951 2302.. date: 8713 2303.. nonce: _CCC4v 2304.. section: Library 2305 2306Tkinter now most likely raises MemoryError instead of crash if the memory 2307allocation fails. 2308 2309.. 2310 2311.. bpo: 22338 2312.. date: 8712 2313.. nonce: rKlCMz 2314.. section: Library 2315 2316Fix a crash in the json module on memory allocation failure. 2317 2318.. 2319 2320.. bpo: 12410 2321.. date: 8711 2322.. nonce: oFf-cB 2323.. section: Library 2324 2325imaplib.IMAP4 now supports the context management protocol. Original patch 2326by Tarek Ziadé. 2327 2328.. 2329 2330.. bpo: 21270 2331.. date: 8710 2332.. nonce: qMBaY- 2333.. section: Library 2334 2335We now override tuple methods in mock.call objects so that they can be used 2336as normal call attributes. 2337 2338.. 2339 2340.. bpo: 16662 2341.. date: 8709 2342.. nonce: Nghn-Y 2343.. section: Library 2344 2345load_tests() is now unconditionally run when it is present in a package's 2346__init__.py. TestLoader.loadTestsFromModule() still accepts use_load_tests, 2347but it is deprecated and ignored. A new keyword-only attribute `pattern` is 2348added and documented. Patch given by Robert Collins, tweaked by Barry 2349Warsaw. 2350 2351.. 2352 2353.. bpo: 22226 2354.. date: 8708 2355.. nonce: T1ZMPY 2356.. section: Library 2357 2358First letter no longer is stripped from the "status" key in the result of 2359Treeview.heading(). 2360 2361.. 2362 2363.. bpo: 19524 2364.. date: 8707 2365.. nonce: EQJjlF 2366.. section: Library 2367 2368Fixed resource leak in the HTTP connection when an invalid response is 2369received. Patch by Martin Panter. 2370 2371.. 2372 2373.. bpo: 20421 2374.. date: 8706 2375.. nonce: iR0S1s 2376.. section: Library 2377 2378Add a .version() method to SSL sockets exposing the actual protocol version 2379in use. 2380 2381.. 2382 2383.. bpo: 19546 2384.. date: 8705 2385.. nonce: 8VdYBK 2386.. section: Library 2387 2388configparser exceptions no longer expose implementation details. Chained 2389KeyErrors are removed, which leads to cleaner tracebacks. Patch by Claudiu 2390Popa. 2391 2392.. 2393 2394.. bpo: 22051 2395.. date: 8704 2396.. nonce: cUjFqL 2397.. section: Library 2398 2399turtledemo no longer reloads examples to re-run them. Initialization of 2400variables and gui setup should be done in main(), which is called each time 2401a demo is run, but not on import. 2402 2403.. 2404 2405.. bpo: 21933 2406.. date: 8703 2407.. nonce: IhMjN1 2408.. section: Library 2409 2410Turtledemo users can change the code font size with a menu selection or 2411control(command) '-' or '+' or control-mousewheel. Original patch by Lita 2412Cho. 2413 2414.. 2415 2416.. bpo: 21597 2417.. date: 8702 2418.. nonce: aPTCWJ 2419.. section: Library 2420 2421The separator between the turtledemo text pane and the drawing canvas can 2422now be grabbed and dragged with a mouse. The code text pane can be widened 2423to easily view or copy the full width of the text. The canvas can be 2424widened on small screens. Original patches by Jan Kanis and Lita Cho. 2425 2426.. 2427 2428.. bpo: 18132 2429.. date: 8701 2430.. nonce: 2R2nwM 2431.. section: Library 2432 2433Turtledemo buttons no longer disappear when the window is shrunk. Original 2434patches by Jan Kanis and Lita Cho. 2435 2436.. 2437 2438.. bpo: 22043 2439.. date: 8700 2440.. nonce: Q6RvGL 2441.. section: Library 2442 2443time.monotonic() is now always available. ``threading.Lock.acquire()``, 2444``threading.RLock.acquire()`` and socket operations now use a monotonic 2445clock, instead of the system clock, when a timeout is used. 2446 2447.. 2448 2449.. bpo: 21527 2450.. date: 8699 2451.. nonce: N5WPxr 2452.. section: Library 2453 2454Add a default number of workers to ThreadPoolExecutor equal to 5 times the 2455number of CPUs. Patch by Claudiu Popa. 2456 2457.. 2458 2459.. bpo: 22216 2460.. date: 8698 2461.. nonce: Cmalu6 2462.. section: Library 2463 2464smtplib now resets its state more completely after a quit. The most obvious 2465consequence of the previous behavior was a STARTTLS failure during a 2466connect/starttls/quit/connect/starttls sequence. 2467 2468.. 2469 2470.. bpo: 22098 2471.. date: 8697 2472.. nonce: 5JYiQN 2473.. section: Library 2474 2475ctypes' BigEndianStructure and LittleEndianStructure now define an empty 2476__slots__ so that subclasses don't always get an instance dict. Patch by 2477Claudiu Popa. 2478 2479.. 2480 2481.. bpo: 22185 2482.. date: 8696 2483.. nonce: 1SCCIK 2484.. section: Library 2485 2486Fix an occasional RuntimeError in threading.Condition.wait() caused by 2487mutation of the waiters queue without holding the lock. Patch by Doug 2488Zongker. 2489 2490.. 2491 2492.. bpo: 22287 2493.. date: 8695 2494.. nonce: awH2AI 2495.. section: Library 2496 2497On UNIX, _PyTime_gettimeofday() now uses clock_gettime(CLOCK_REALTIME) if 2498available. As a side effect, Python now depends on the librt library on 2499Solaris and on Linux (only with glibc older than 2.17). 2500 2501.. 2502 2503.. bpo: 22182 2504.. date: 8694 2505.. nonce: 5EG1Bc 2506.. section: Library 2507 2508Use e.args to unpack exceptions correctly in distutils.file_util.move_file. 2509Patch by Claudiu Popa. 2510 2511.. 2512 2513.. bpo: 0 2514.. date: 8693 2515.. nonce: zBfe8J 2516.. section: Library 2517 2518The webbrowser module now uses subprocess's start_new_session=True rather 2519than a potentially risky preexec_fn=os.setsid call. 2520 2521.. 2522 2523.. bpo: 22042 2524.. date: 8692 2525.. nonce: WZvb8s 2526.. section: Library 2527 2528signal.set_wakeup_fd(fd) now raises an exception if the file descriptor is 2529in blocking mode. 2530 2531.. 2532 2533.. bpo: 16808 2534.. date: 8691 2535.. nonce: kPy_5U 2536.. section: Library 2537 2538inspect.stack() now returns a named tuple instead of a tuple. Patch by 2539Daniel Shahaf. 2540 2541.. 2542 2543.. bpo: 22236 2544.. date: 8690 2545.. nonce: 1utXkg 2546.. section: Library 2547 2548Fixed Tkinter images copying operations in NoDefaultRoot mode. 2549 2550.. 2551 2552.. bpo: 2527 2553.. date: 8689 2554.. nonce: fR2GS6 2555.. section: Library 2556 2557Add a *globals* argument to timeit functions, in order to override the 2558globals namespace in which the timed code is executed. Patch by Ben Roberts. 2559 2560.. 2561 2562.. bpo: 22118 2563.. date: 8688 2564.. nonce: 3gdkOF 2565.. section: Library 2566 2567Switch urllib.parse to use RFC 3986 semantics for the resolution of relative 2568URLs, rather than RFCs 1808 and 2396. Patch by Demian Brecht. 2569 2570.. 2571 2572.. bpo: 21549 2573.. date: 8687 2574.. nonce: i1LVvg 2575.. section: Library 2576 2577Added the "members" parameter to TarFile.list(). 2578 2579.. 2580 2581.. bpo: 19628 2582.. date: 8686 2583.. nonce: ssQVP8 2584.. section: Library 2585 2586Allow compileall recursion depth to be specified with a -r option. 2587 2588.. 2589 2590.. bpo: 15696 2591.. date: 8685 2592.. nonce: PTwXYJ 2593.. section: Library 2594 2595Add a __sizeof__ implementation for mmap objects on Windows. 2596 2597.. 2598 2599.. bpo: 22068 2600.. date: 8684 2601.. nonce: wCdaW0 2602.. section: Library 2603 2604Avoided reference loops with Variables and Fonts in Tkinter. 2605 2606.. 2607 2608.. bpo: 22165 2609.. date: 8683 2610.. nonce: J1np4o 2611.. section: Library 2612 2613SimpleHTTPRequestHandler now supports undecodable file names. 2614 2615.. 2616 2617.. bpo: 15381 2618.. date: 8682 2619.. nonce: Ia8pf6 2620.. section: Library 2621 2622Optimized line reading in io.BytesIO. 2623 2624.. 2625 2626.. bpo: 8797 2627.. date: 8681 2628.. nonce: aJcIPu 2629.. section: Library 2630 2631Raise HTTPError on failed Basic Authentication immediately. Initial patch by 2632Sam Bull. 2633 2634.. 2635 2636.. bpo: 20729 2637.. date: 8680 2638.. nonce: I-1Lap 2639.. section: Library 2640 2641Restored the use of lazy iterkeys()/itervalues()/iteritems() in the mailbox 2642module. 2643 2644.. 2645 2646.. bpo: 21448 2647.. date: 8679 2648.. nonce: THJSYB 2649.. section: Library 2650 2651Changed FeedParser feed() to avoid O(N\ :sup:`2`) behavior when parsing long line. 2652Original patch by Raymond Hettinger. 2653 2654.. 2655 2656.. bpo: 22184 2657.. date: 8678 2658.. nonce: UCbSOt 2659.. section: Library 2660 2661The functools LRU Cache decorator factory now gives an earlier and clearer 2662error message when the user forgets the required parameters. 2663 2664.. 2665 2666.. bpo: 17923 2667.. date: 8677 2668.. nonce: YI_QjG 2669.. section: Library 2670 2671glob() patterns ending with a slash no longer match non-dirs on AIX. Based 2672on patch by Delhallt. 2673 2674.. 2675 2676.. bpo: 21725 2677.. date: 8676 2678.. nonce: eIu-2N 2679.. section: Library 2680 2681Added support for RFC 6531 (SMTPUTF8) in smtpd. 2682 2683.. 2684 2685.. bpo: 22176 2686.. date: 8675 2687.. nonce: rgbRyg 2688.. section: Library 2689 2690Update the ctypes module's libffi to v3.1. This release adds support for 2691the Linux AArch64 and POWERPC ELF ABIv2 little endian architectures. 2692 2693.. 2694 2695.. bpo: 5411 2696.. date: 8674 2697.. nonce: 5Utapn 2698.. section: Library 2699 2700Added support for the "xztar" format in the shutil module. 2701 2702.. 2703 2704.. bpo: 21121 2705.. date: 8673 2706.. nonce: ZLsRil 2707.. section: Library 2708 2709Don't force 3rd party C extensions to be built with 2710-Werror=declaration-after-statement. 2711 2712.. 2713 2714.. bpo: 21975 2715.. date: 8672 2716.. nonce: MI8ntO 2717.. section: Library 2718 2719Fixed crash when using uninitialized sqlite3.Row (in particular when 2720unpickling pickled sqlite3.Row). sqlite3.Row is now initialized in the 2721__new__() method. 2722 2723.. 2724 2725.. bpo: 20170 2726.. date: 8671 2727.. nonce: 8QfhN7 2728.. section: Library 2729 2730Convert posixmodule to use Argument Clinic. 2731 2732.. 2733 2734.. bpo: 21539 2735.. date: 8670 2736.. nonce: YccmZF 2737.. section: Library 2738 2739Add an *exists_ok* argument to `Pathlib.mkdir()` to mimic `mkdir -p` and 2740`os.makedirs()` functionality. When true, ignore FileExistsErrors. Patch 2741by Berker Peksag. 2742 2743.. 2744 2745.. bpo: 22127 2746.. date: 8669 2747.. nonce: 0l2OO5 2748.. section: Library 2749 2750Bypass IDNA for pure-ASCII host names in the socket module (in particular 2751for numeric IPs). 2752 2753.. 2754 2755.. bpo: 21047 2756.. date: 8668 2757.. nonce: XfUQG3 2758.. section: Library 2759 2760set the default value for the *convert_charrefs* argument of HTMLParser to 2761True. Patch by Berker Peksag. 2762 2763.. 2764 2765.. bpo: 0 2766.. date: 8667 2767.. nonce: 56bAnQ 2768.. section: Library 2769 2770Add an __all__ to html.entities. 2771 2772.. 2773 2774.. bpo: 15114 2775.. date: 8666 2776.. nonce: jXwseC 2777.. section: Library 2778 2779the strict mode and argument of HTMLParser, HTMLParser.error, and the 2780HTMLParserError exception have been removed. 2781 2782.. 2783 2784.. bpo: 22085 2785.. date: 8665 2786.. nonce: 3JM_Aw 2787.. section: Library 2788 2789Dropped support of Tk 8.3 in Tkinter. 2790 2791.. 2792 2793.. bpo: 21580 2794.. date: 8664 2795.. nonce: 3ssycS 2796.. section: Library 2797 2798Now Tkinter correctly handles bytes arguments passed to Tk. In particular 2799this allows initializing images from binary data. 2800 2801.. 2802 2803.. bpo: 22003 2804.. date: 8663 2805.. nonce: 4ZIDS1 2806.. section: Library 2807 2808When initialized from a bytes object, io.BytesIO() now defers making a copy 2809until it is mutated, improving performance and memory use on some use cases. 2810Patch by David Wilson. 2811 2812.. 2813 2814.. bpo: 22018 2815.. date: 8662 2816.. nonce: 6ApxSH 2817.. section: Library 2818 2819On Windows, signal.set_wakeup_fd() now also supports sockets. A side effect 2820is that Python depends to the WinSock library. 2821 2822.. 2823 2824.. bpo: 22054 2825.. date: 8661 2826.. nonce: zp6Svw 2827.. section: Library 2828 2829Add os.get_blocking() and os.set_blocking() functions to get and set the 2830blocking mode of a file descriptor (False if the O_NONBLOCK flag is set, 2831True otherwise). These functions are not available on Windows. 2832 2833.. 2834 2835.. bpo: 17172 2836.. date: 8660 2837.. nonce: R_LI_2 2838.. section: Library 2839 2840Make turtledemo start as active on OS X even when run with subprocess. 2841Patch by Lita Cho. 2842 2843.. 2844 2845.. bpo: 21704 2846.. date: 8659 2847.. nonce: gL3ikj 2848.. section: Library 2849 2850Fix build error for _multiprocessing when semaphores are not available. 2851Patch by Arfrever Frehtes Taifersar Arahesis. 2852 2853.. 2854 2855.. bpo: 20173 2856.. date: 8658 2857.. nonce: FAL-4L 2858.. section: Library 2859 2860Convert sha1, sha256, sha512 and md5 to ArgumentClinic. Patch by Vajrasky 2861Kok. 2862 2863.. 2864 2865.. bpo: 0 2866.. date: 8657 2867.. nonce: G25tq3 2868.. section: Library 2869 2870Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError on 2871closed socket. repr(socket.socket) already works fine. 2872 2873.. 2874 2875.. bpo: 22033 2876.. date: 8656 2877.. nonce: nkBNci 2878.. section: Library 2879 2880Reprs of most Python implemented classes now contain actual class name 2881instead of hardcoded one. 2882 2883.. 2884 2885.. bpo: 21947 2886.. date: 8655 2887.. nonce: mlisu- 2888.. section: Library 2889 2890The dis module can now disassemble generator-iterator objects based on their 2891gi_code attribute. Patch by Clement Rouault. 2892 2893.. 2894 2895.. bpo: 16133 2896.. date: 8654 2897.. nonce: tYuYQF 2898.. section: Library 2899 2900The asynchat.async_chat.handle_read() method now ignores BlockingIOError 2901exceptions. 2902 2903.. 2904 2905.. bpo: 22044 2906.. date: 8653 2907.. nonce: t09GRU 2908.. section: Library 2909 2910Fixed premature DECREF in call_tzinfo_method. Patch by Tom Flanagan. 2911 2912.. 2913 2914.. bpo: 19884 2915.. date: 8652 2916.. nonce: v73gSn 2917.. section: Library 2918 2919readline: Disable the meta modifier key if stdout is not a terminal to not 2920write the ANSI sequence ``"\033[1034h"`` into stdout. This sequence is used 2921on some terminal (ex: TERM=xterm-256color") to enable support of 8 bit 2922characters. 2923 2924.. 2925 2926.. bpo: 4350 2927.. date: 8651 2928.. nonce: nrTzJn 2929.. section: Library 2930 2931Removed a number of out-of-dated and non-working for a long time Tkinter 2932methods. 2933 2934.. 2935 2936.. bpo: 6167 2937.. date: 8650 2938.. nonce: n9dV_D 2939.. section: Library 2940 2941Scrollbar.activate() now returns the name of active element if the argument 2942is not specified. Scrollbar.set() now always accepts only 2 arguments. 2943 2944.. 2945 2946.. bpo: 15275 2947.. date: 8649 2948.. nonce: jk0tTI 2949.. section: Library 2950 2951Clean up and speed up the ntpath module. 2952 2953.. 2954 2955.. bpo: 21888 2956.. date: 8648 2957.. nonce: danlpz 2958.. section: Library 2959 2960plistlib's load() and loads() now work if the fmt parameter is specified. 2961 2962.. 2963 2964.. bpo: 22032 2965.. date: 8647 2966.. nonce: UklzQW 2967.. section: Library 2968 2969__qualname__ instead of __name__ is now always used to format fully 2970qualified class names of Python implemented classes. 2971 2972.. 2973 2974.. bpo: 22031 2975.. date: 8646 2976.. nonce: 9aazp1 2977.. section: Library 2978 2979Reprs now always use hexadecimal format with the "0x" prefix when contain an 2980id in form " at 0x...". 2981 2982.. 2983 2984.. bpo: 22018 2985.. date: 8645 2986.. nonce: b_JTHH 2987.. section: Library 2988 2989signal.set_wakeup_fd() now raises an OSError instead of a ValueError on 2990``fstat()`` failure. 2991 2992.. 2993 2994.. bpo: 21044 2995.. date: 8644 2996.. nonce: 16xo9u 2997.. section: Library 2998 2999tarfile.open() now handles fileobj with an integer 'name' attribute. Based 3000on patch by Antoine Pietri. 3001 3002.. 3003 3004.. bpo: 21966 3005.. date: 8643 3006.. nonce: hHD9MK 3007.. section: Library 3008 3009Respect -q command-line option when code module is ran. 3010 3011.. 3012 3013.. bpo: 19076 3014.. date: 8642 3015.. nonce: xCoIai 3016.. section: Library 3017 3018Don't pass the redundant 'file' argument to self.error(). 3019 3020.. 3021 3022.. bpo: 16382 3023.. date: 8641 3024.. nonce: -XBK7z 3025.. section: Library 3026 3027Improve exception message of warnings.warn() for bad category. Initial patch 3028by Phil Elson. 3029 3030.. 3031 3032.. bpo: 21932 3033.. date: 8640 3034.. nonce: LK_5S1 3035.. section: Library 3036 3037os.read() now uses a :c:func:`Py_ssize_t` type instead of :c:type:`int` for 3038the size to support reading more than 2 GB at once. On Windows, the size is 3039truncated to INT_MAX. As any call to os.read(), the OS may read less bytes 3040than the number of requested bytes. 3041 3042.. 3043 3044.. bpo: 21942 3045.. date: 8639 3046.. nonce: TLOS41 3047.. section: Library 3048 3049Fixed source file viewing in pydoc's server mode on Windows. 3050 3051.. 3052 3053.. bpo: 11259 3054.. date: 8638 3055.. nonce: GxfYnE 3056.. section: Library 3057 3058asynchat.async_chat().set_terminator() now raises a ValueError if the number 3059of received bytes is negative. 3060 3061.. 3062 3063.. bpo: 12523 3064.. date: 8637 3065.. nonce: XBdAky 3066.. section: Library 3067 3068asynchat.async_chat.push() now raises a TypeError if it doesn't get a bytes 3069string 3070 3071.. 3072 3073.. bpo: 21707 3074.. date: 8636 3075.. nonce: rrY_wd 3076.. section: Library 3077 3078Add missing kwonlyargcount argument to ModuleFinder.replace_paths_in_code(). 3079 3080.. 3081 3082.. bpo: 20639 3083.. date: 8635 3084.. nonce: YdvOpp 3085.. section: Library 3086 3087calling Path.with_suffix('') allows removing the suffix again. Patch by 3088July Tikhonov. 3089 3090.. 3091 3092.. bpo: 21714 3093.. date: 8634 3094.. nonce: HhkGXW 3095.. section: Library 3096 3097Disallow the construction of invalid paths using Path.with_name(). Original 3098patch by Antony Lee. 3099 3100.. 3101 3102.. bpo: 15014 3103.. date: 8633 3104.. nonce: dB50zb 3105.. section: Library 3106 3107Added 'auth' method to smtplib to make implementing auth mechanisms simpler, 3108and used it internally in the login method. 3109 3110.. 3111 3112.. bpo: 21151 3113.. date: 8632 3114.. nonce: o7IuiD 3115.. section: Library 3116 3117Fixed a segfault in the winreg module when ``None`` is passed as a 3118``REG_BINARY`` value to SetValueEx. Patch by John Ehresman. 3119 3120.. 3121 3122.. bpo: 21090 3123.. date: 8631 3124.. nonce: 20Ooif 3125.. section: Library 3126 3127io.FileIO.readall() does not ignore I/O errors anymore. Before, it ignored 3128I/O errors if at least the first C call read() succeed. 3129 3130.. 3131 3132.. bpo: 5800 3133.. date: 8630 3134.. nonce: ZJiLZP 3135.. section: Library 3136 3137headers parameter of wsgiref.headers.Headers is now optional. Initial patch 3138by Pablo Torres Navarrete and SilentGhost. 3139 3140.. 3141 3142.. bpo: 21781 3143.. date: 8629 3144.. nonce: u_oiv9 3145.. section: Library 3146 3147ssl.RAND_add() now supports strings longer than 2 GB. 3148 3149.. 3150 3151.. bpo: 21679 3152.. date: 8628 3153.. nonce: CTVT9A 3154.. section: Library 3155 3156Prevent extraneous fstat() calls during open(). Patch by Bohuslav Kabrda. 3157 3158.. 3159 3160.. bpo: 21863 3161.. date: 8627 3162.. nonce: BzbwSL 3163.. section: Library 3164 3165cProfile now displays the module name of C extension functions, in addition 3166to their own name. 3167 3168.. 3169 3170.. bpo: 11453 3171.. date: 8626 3172.. nonce: 53Gr_R 3173.. section: Library 3174 3175asyncore: emit a ResourceWarning when an unclosed file_wrapper object is 3176destroyed. The destructor now closes the file if needed. The close() method 3177can now be called twice: the second call does nothing. 3178 3179.. 3180 3181.. bpo: 21858 3182.. date: 8625 3183.. nonce: 0hbFBG 3184.. section: Library 3185 3186Better handling of Python exceptions in the sqlite3 module. 3187 3188.. 3189 3190.. bpo: 21476 3191.. date: 8624 3192.. nonce: VN-5pW 3193.. section: Library 3194 3195Make sure the email.parser.BytesParser TextIOWrapper is discarded after 3196parsing, so the input file isn't unexpectedly closed. 3197 3198.. 3199 3200.. bpo: 20295 3201.. date: 8623 3202.. nonce: U1MPhw 3203.. section: Library 3204 3205imghdr now recognizes OpenEXR format images. 3206 3207.. 3208 3209.. bpo: 21729 3210.. date: 8622 3211.. nonce: dk7o_U 3212.. section: Library 3213 3214Used the "with" statement in the dbm.dumb module to ensure files closing. 3215Patch by Claudiu Popa. 3216 3217.. 3218 3219.. bpo: 21491 3220.. date: 8621 3221.. nonce: Zxmut- 3222.. section: Library 3223 3224socketserver: Fix a race condition in child processes reaping. 3225 3226.. 3227 3228.. bpo: 21719 3229.. date: 8620 3230.. nonce: DhQz3I 3231.. section: Library 3232 3233Added the ``st_file_attributes`` field to os.stat_result on Windows. 3234 3235.. 3236 3237.. bpo: 21832 3238.. date: 8619 3239.. nonce: PBA0Uu 3240.. section: Library 3241 3242Require named tuple inputs to be exact strings. 3243 3244.. 3245 3246.. bpo: 21722 3247.. date: 8618 3248.. nonce: WTHuRy 3249.. section: Library 3250 3251The distutils "upload" command now exits with a non-zero return code when 3252uploading fails. Patch by Martin Dengler. 3253 3254.. 3255 3256.. bpo: 21723 3257.. date: 8617 3258.. nonce: r86fwb 3259.. section: Library 3260 3261asyncio.Queue: support any type of number (ex: float) for the maximum size. 3262Patch written by Vajrasky Kok. 3263 3264.. 3265 3266.. bpo: 21711 3267.. date: 8616 3268.. nonce: JWPFQZ 3269.. section: Library 3270 3271support for "site-python" directories has now been removed from the site 3272module (it was deprecated in 3.4). 3273 3274.. 3275 3276.. bpo: 17552 3277.. date: 8615 3278.. nonce: NunErD 3279.. section: Library 3280 3281new socket.sendfile() method allowing a file to be sent over a socket by 3282using high-performance os.sendfile() on UNIX. Patch by Giampaolo Rodola'. 3283 3284.. 3285 3286.. bpo: 18039 3287.. date: 8614 3288.. nonce: vC9hNy 3289.. section: Library 3290 3291dbm.dump.open() now always creates a new database when the flag has the 3292value 'n'. Patch by Claudiu Popa. 3293 3294.. 3295 3296.. bpo: 21326 3297.. date: 8613 3298.. nonce: Y6iW3s 3299.. section: Library 3300 3301Add a new is_closed() method to asyncio.BaseEventLoop. run_forever() and 3302run_until_complete() methods of asyncio.BaseEventLoop now raise an exception 3303if the event loop was closed. 3304 3305.. 3306 3307.. bpo: 21766 3308.. date: 8612 3309.. nonce: 0xk_xC 3310.. section: Library 3311 3312Prevent a security hole in CGIHTTPServer by URL unquoting paths before 3313checking for a CGI script at that path. 3314 3315.. 3316 3317.. bpo: 21310 3318.. date: 8611 3319.. nonce: 2mjByJ 3320.. section: Library 3321 3322Fixed possible resource leak in failed open(). 3323 3324.. 3325 3326.. bpo: 21256 3327.. date: 8610 3328.. nonce: dGq6cw 3329.. section: Library 3330 3331Printout of keyword args should be in deterministic order in a mock function 3332call. This will help to write better doctests. 3333 3334.. 3335 3336.. bpo: 21677 3337.. date: 8609 3338.. nonce: 58CDDD 3339.. section: Library 3340 3341Fixed chaining nonnormalized exceptions in io close() methods. 3342 3343.. 3344 3345.. bpo: 11709 3346.. date: 8608 3347.. nonce: JdObvL 3348.. section: Library 3349 3350Fix the pydoc.help function to not fail when sys.stdin is not a valid file. 3351 3352.. 3353 3354.. bpo: 21515 3355.. date: 8607 3356.. nonce: D9TLJF 3357.. section: Library 3358 3359tempfile.TemporaryFile now uses os.O_TMPFILE flag is available. 3360 3361.. 3362 3363.. bpo: 13223 3364.. date: 8606 3365.. nonce: 9AzEbN 3366.. section: Library 3367 3368Fix pydoc.writedoc so that the HTML documentation for methods that use 3369'self' in the example code is generated correctly. 3370 3371.. 3372 3373.. bpo: 21463 3374.. date: 8605 3375.. nonce: 09PsgH 3376.. section: Library 3377 3378In urllib.request, fix pruning of the FTP cache. 3379 3380.. 3381 3382.. bpo: 21618 3383.. date: 8604 3384.. nonce: 3Z7WS3 3385.. section: Library 3386 3387The subprocess module could fail to close open fds that were inherited by 3388the calling process and already higher than POSIX resource limits would 3389otherwise allow. On systems with a functioning /proc/self/fd or /dev/fd 3390interface the max is now ignored and all fds are closed. 3391 3392.. 3393 3394.. bpo: 20383 3395.. date: 8603 3396.. nonce: pSPFpW 3397.. section: Library 3398 3399Introduce importlib.util.module_from_spec() as the preferred way to create a 3400new module. 3401 3402.. 3403 3404.. bpo: 21552 3405.. date: 8602 3406.. nonce: uVy4tM 3407.. section: Library 3408 3409Fixed possible integer overflow of too long string lengths in the tkinter 3410module on 64-bit platforms. 3411 3412.. 3413 3414.. bpo: 14315 3415.. date: 8601 3416.. nonce: YzZzS8 3417.. section: Library 3418 3419The zipfile module now ignores extra fields in the central directory that 3420are too short to be parsed instead of letting a struct.unpack error bubble 3421up as this "bad data" appears in many real world zip files in the wild and 3422is ignored by other zip tools. 3423 3424.. 3425 3426.. bpo: 13742 3427.. date: 8600 3428.. nonce: QJiVSC 3429.. section: Library 3430 3431Added "key" and "reverse" parameters to heapq.merge(). (First draft of patch 3432contributed by Simon Sapin.) 3433 3434.. 3435 3436.. bpo: 21402 3437.. date: 8599 3438.. nonce: 51vDXt 3439.. section: Library 3440 3441tkinter.ttk now works when default root window is not set. 3442 3443.. 3444 3445.. bpo: 3015 3446.. date: 8598 3447.. nonce: FE_PII 3448.. section: Library 3449 3450_tkinter.create() now creates tkapp object with wantobject=1 by default. 3451 3452.. 3453 3454.. bpo: 10203 3455.. date: 8597 3456.. nonce: zgr0hh 3457.. section: Library 3458 3459sqlite3.Row now truly supports sequence protocol. In particular it supports 3460reverse() and negative indices. Original patch by Claudiu Popa. 3461 3462.. 3463 3464.. bpo: 18807 3465.. date: 8596 3466.. nonce: XP7p8B 3467.. section: Library 3468 3469If copying (no symlinks) specified for a venv, then the python interpreter 3470aliases (python, python3) are now created by copying rather than symlinking. 3471 3472.. 3473 3474.. bpo: 20197 3475.. date: 8595 3476.. nonce: nYR9fq 3477.. section: Library 3478 3479Added support for the WebP image type in the imghdr module. Patch by Fabrice 3480Aneche and Claudiu Popa. 3481 3482.. 3483 3484.. bpo: 21513 3485.. date: 8594 3486.. nonce: ro4AOe 3487.. section: Library 3488 3489Speedup some properties of IP addresses (IPv4Address, IPv6Address) such as 3490.is_private or .is_multicast. 3491 3492.. 3493 3494.. bpo: 21137 3495.. date: 8593 3496.. nonce: wgHb_F 3497.. section: Library 3498 3499Improve the repr for threading.Lock() and its variants by showing the 3500"locked" or "unlocked" status. Patch by Berker Peksag. 3501 3502.. 3503 3504.. bpo: 21538 3505.. date: 8592 3506.. nonce: Q60FWA 3507.. section: Library 3508 3509The plistlib module now supports loading of binary plist files when 3510reference or offset size is not a power of two. 3511 3512.. 3513 3514.. bpo: 21455 3515.. date: 8591 3516.. nonce: 6-Uvv4 3517.. section: Library 3518 3519Add a default backlog to socket.listen(). 3520 3521.. 3522 3523.. bpo: 21525 3524.. date: 8590 3525.. nonce: hAKOve 3526.. section: Library 3527 3528Most Tkinter methods which accepted tuples now accept lists too. 3529 3530.. 3531 3532.. bpo: 22166 3533.. date: 8589 3534.. nonce: sZYhmv 3535.. section: Library 3536 3537With the assistance of a new internal _codecs._forget_codec helping 3538function, test_codecs now clears the encoding caches to avoid the appearance 3539of a reference leak 3540 3541.. 3542 3543.. bpo: 22236 3544.. date: 8588 3545.. nonce: ginJSI 3546.. section: Library 3547 3548Tkinter tests now don't reuse default root window. New root window is 3549created for every test class. 3550 3551.. 3552 3553.. bpo: 10744 3554.. date: 8587 3555.. nonce: kfV0wm 3556.. section: Library 3557 3558Fix :pep:`3118` format strings on ctypes objects with a nontrivial shape. 3559 3560.. 3561 3562.. bpo: 20826 3563.. date: 8586 3564.. nonce: 3rXqMC 3565.. section: Library 3566 3567Optimize ipaddress.collapse_addresses(). 3568 3569.. 3570 3571.. bpo: 21487 3572.. date: 8585 3573.. nonce: sX8YmK 3574.. section: Library 3575 3576Optimize ipaddress.summarize_address_range() and 3577ipaddress.{IPv4Network,IPv6Network}.subnets(). 3578 3579.. 3580 3581.. bpo: 21486 3582.. date: 8584 3583.. nonce: CeFKRP 3584.. section: Library 3585 3586Optimize parsing of netmasks in ipaddress.IPv4Network and 3587ipaddress.IPv6Network. 3588 3589.. 3590 3591.. bpo: 13916 3592.. date: 8583 3593.. nonce: D77YVH 3594.. section: Library 3595 3596Disallowed the surrogatepass error handler for non UTF-\* encodings. 3597 3598.. 3599 3600.. bpo: 20998 3601.. date: 8582 3602.. nonce: fkxpXI 3603.. section: Library 3604 3605Fixed re.fullmatch() of repeated single character pattern with ignore case. 3606Original patch by Matthew Barnett. 3607 3608.. 3609 3610.. bpo: 21075 3611.. date: 8581 3612.. nonce: f_hmEh 3613.. section: Library 3614 3615fileinput.FileInput now reads bytes from standard stream if binary mode is 3616specified. Patch by Sam Kimbrel. 3617 3618.. 3619 3620.. bpo: 19775 3621.. date: 8580 3622.. nonce: yxxD_R 3623.. section: Library 3624 3625Add a samefile() method to pathlib Path objects. Initial patch by Vajrasky 3626Kok. 3627 3628.. 3629 3630.. bpo: 21226 3631.. date: 8579 3632.. nonce: pzGmG1 3633.. section: Library 3634 3635Set up modules properly in PyImport_ExecCodeModuleObject (and friends). 3636 3637.. 3638 3639.. bpo: 21398 3640.. date: 8578 3641.. nonce: guSBXt 3642.. section: Library 3643 3644Fix a unicode error in the pydoc pager when the documentation contains 3645characters not encodable to the stdout encoding. 3646 3647.. 3648 3649.. bpo: 16531 3650.. date: 8577 3651.. nonce: AhrY_v 3652.. section: Library 3653 3654ipaddress.IPv4Network and ipaddress.IPv6Network now accept an (address, 3655netmask) tuple argument, so as to easily construct network objects from 3656existing addresses. 3657 3658.. 3659 3660.. bpo: 21156 3661.. date: 8576 3662.. nonce: 3dmBEp 3663.. section: Library 3664 3665importlib.abc.InspectLoader.source_to_code() is now a staticmethod. 3666 3667.. 3668 3669.. bpo: 21424 3670.. date: 8575 3671.. nonce: 8CJBqW 3672.. section: Library 3673 3674Simplified and optimized heaqp.nlargest() and nmsmallest() to make fewer 3675tuple comparisons. 3676 3677.. 3678 3679.. bpo: 21396 3680.. date: 8574 3681.. nonce: cqO6DN 3682.. section: Library 3683 3684Fix TextIOWrapper(..., write_through=True) to not force a flush() on the 3685underlying binary stream. Patch by akira. 3686 3687.. 3688 3689.. bpo: 18314 3690.. date: 8573 3691.. nonce: NCd_KF 3692.. section: Library 3693 3694Unlink now removes junctions on Windows. Patch by Kim Gräsman 3695 3696.. 3697 3698.. bpo: 21088 3699.. date: 8572 3700.. nonce: WOg7Xy 3701.. section: Library 3702 3703Bugfix for curses.window.addch() regression in 3.4.0. In porting to Argument 3704Clinic, the first two arguments were reversed. 3705 3706.. 3707 3708.. bpo: 21407 3709.. date: 8571 3710.. nonce: cZjFde 3711.. section: Library 3712 3713_decimal: The module now supports function signatures. 3714 3715.. 3716 3717.. bpo: 10650 3718.. date: 8570 3719.. nonce: HYT4Oe 3720.. section: Library 3721 3722Remove the non-standard 'watchexp' parameter from the Decimal.quantize() 3723method in the Python version. It had never been present in the C version. 3724 3725.. 3726 3727.. bpo: 21469 3728.. date: 8569 3729.. nonce: _fFGuq 3730.. section: Library 3731 3732Reduced the risk of false positives in robotparser by checking to make sure 3733that robots.txt has been read or does not exist prior to returning True in 3734can_fetch(). 3735 3736.. 3737 3738.. bpo: 19414 3739.. date: 8568 3740.. nonce: bAAw4D 3741.. section: Library 3742 3743Have the OrderedDict mark deleted links as unusable. This gives an early 3744failure if the link is deleted during iteration. 3745 3746.. 3747 3748.. bpo: 21421 3749.. date: 8567 3750.. nonce: 5AKAat 3751.. section: Library 3752 3753Add __slots__ to the MappingViews ABC. Patch by Josh Rosenberg. 3754 3755.. 3756 3757.. bpo: 21101 3758.. date: 8566 3759.. nonce: Lj-_P4 3760.. section: Library 3761 3762Eliminate double hashing in the C speed-up code for collections.Counter(). 3763 3764.. 3765 3766.. bpo: 21321 3767.. date: 8565 3768.. nonce: wUkTON 3769.. section: Library 3770 3771itertools.islice() now releases the reference to the source iterator when 3772the slice is exhausted. Patch by Anton Afanasyev. 3773 3774.. 3775 3776.. bpo: 21057 3777.. date: 8564 3778.. nonce: 0TC4Xl 3779.. section: Library 3780 3781TextIOWrapper now allows the underlying binary stream's read() or read1() 3782method to return an arbitrary bytes-like object (such as a memoryview). 3783Patch by Nikolaus Rath. 3784 3785.. 3786 3787.. bpo: 20951 3788.. date: 8563 3789.. nonce: tF0dJi 3790.. section: Library 3791 3792SSLSocket.send() now raises either SSLWantReadError or SSLWantWriteError on 3793a non-blocking socket if the operation would block. Previously, it would 3794return 0. Patch by Nikolaus Rath. 3795 3796.. 3797 3798.. bpo: 13248 3799.. date: 8562 3800.. nonce: 7vtGj0 3801.. section: Library 3802 3803removed previously deprecated asyncore.dispatcher __getattr__ cheap 3804inheritance hack. 3805 3806.. 3807 3808.. bpo: 9815 3809.. date: 8561 3810.. nonce: 52FPlI 3811.. section: Library 3812 3813assertRaises now tries to clear references to local variables in the 3814exception's traceback. 3815 3816.. 3817 3818.. bpo: 19940 3819.. date: 8560 3820.. nonce: 2qtBQ8 3821.. section: Library 3822 3823ssl.cert_time_to_seconds() now interprets the given time string in the UTC 3824timezone (as specified in RFC 5280), not the local timezone. 3825 3826.. 3827 3828.. bpo: 13204 3829.. date: 8559 3830.. nonce: ZPKA5g 3831.. section: Library 3832 3833Calling sys.flags.__new__ would crash the interpreter, now it raises a 3834TypeError. 3835 3836.. 3837 3838.. bpo: 19385 3839.. date: 8558 3840.. nonce: PexO_g 3841.. section: Library 3842 3843Make operations on a closed dbm.dumb database always raise the same 3844exception. 3845 3846.. 3847 3848.. bpo: 21207 3849.. date: 8557 3850.. nonce: Hr72AB 3851.. section: Library 3852 3853Detect when the os.urandom cached fd has been closed or replaced, and open 3854it anew. 3855 3856.. 3857 3858.. bpo: 21291 3859.. date: 8556 3860.. nonce: 5sSLWN 3861.. section: Library 3862 3863subprocess's Popen.wait() is now thread safe so that multiple threads may be 3864calling wait() or poll() on a Popen instance at the same time without losing 3865the Popen.returncode value. 3866 3867.. 3868 3869.. bpo: 21127 3870.. date: 8555 3871.. nonce: A1aBjG 3872.. section: Library 3873 3874Path objects can now be instantiated from str subclass instances (such as 3875``numpy.str_``). 3876 3877.. 3878 3879.. bpo: 15002 3880.. date: 8554 3881.. nonce: qorYDe 3882.. section: Library 3883 3884urllib.response object to use _TemporaryFileWrapper (and 3885_TemporaryFileCloser) facility. Provides a better way to handle file 3886descriptor close. Patch contributed by Christian Theune. 3887 3888.. 3889 3890.. bpo: 12220 3891.. date: 8553 3892.. nonce: U25uE9 3893.. section: Library 3894 3895mindom now raises a custom ValueError indicating it doesn't support spaces 3896in URIs instead of letting a 'split' ValueError bubble up. 3897 3898.. 3899 3900.. bpo: 21068 3901.. date: 8552 3902.. nonce: 9k6N9m 3903.. section: Library 3904 3905The ssl.PROTOCOL* constants are now enum members. 3906 3907.. 3908 3909.. bpo: 21276 3910.. date: 8551 3911.. nonce: JkfhvQ 3912.. section: Library 3913 3914posixmodule: Don't define USE_XATTRS on KFreeBSD and the Hurd. 3915 3916.. 3917 3918.. bpo: 21262 3919.. date: 8550 3920.. nonce: 1J5ylk 3921.. section: Library 3922 3923New method assert_not_called for Mock. It raises AssertionError if the mock 3924has been called. 3925 3926.. 3927 3928.. bpo: 21238 3929.. date: 8549 3930.. nonce: 5CDoox 3931.. section: Library 3932 3933New keyword argument `unsafe` to Mock. It raises `AttributeError` incase of 3934an attribute startswith assert or assret. 3935 3936.. 3937 3938.. bpo: 20896 3939.. date: 8548 3940.. nonce: oWwAb1 3941.. section: Library 3942 3943ssl.get_server_certificate() now uses PROTOCOL_SSLv23, not PROTOCOL_SSLv3, 3944for maximum compatibility. 3945 3946.. 3947 3948.. bpo: 21239 3949.. date: 8547 3950.. nonce: EalCNt 3951.. section: Library 3952 3953patch.stopall() didn't work deterministically when the same name was patched 3954more than once. 3955 3956.. 3957 3958.. bpo: 21203 3959.. date: 8546 3960.. nonce: 1IMs-Z 3961.. section: Library 3962 3963Updated fileConfig and dictConfig to remove inconsistencies. Thanks to Jure 3964Koren for the patch. 3965 3966.. 3967 3968.. bpo: 21222 3969.. date: 8545 3970.. nonce: G6MQBP 3971.. section: Library 3972 3973Passing name keyword argument to mock.create_autospec now works. 3974 3975.. 3976 3977.. bpo: 21197 3978.. date: 8544 3979.. nonce: Gzfqdl 3980.. section: Library 3981 3982Add lib64 -> lib symlink in venvs on 64-bit non-OS X POSIX. 3983 3984.. 3985 3986.. bpo: 17498 3987.. date: 8543 3988.. nonce: LR9xyb 3989.. section: Library 3990 3991Some SMTP servers disconnect after certain errors, violating strict RFC 3992conformance. Instead of losing the error code when we issue the subsequent 3993RSET, smtplib now returns the error code and defers raising the 3994SMTPServerDisconnected error until the next command is issued. 3995 3996.. 3997 3998.. bpo: 17826 3999.. date: 8542 4000.. nonce: z0zMRV 4001.. section: Library 4002 4003setting an iterable side_effect on a mock function created by 4004create_autospec now works. Patch by Kushal Das. 4005 4006.. 4007 4008.. bpo: 7776 4009.. date: 8541 4010.. nonce: K5S2Pe 4011.. section: Library 4012 4013Fix ``Host:`` header and reconnection when using 4014http.client.HTTPConnection.set_tunnel(). Patch by Nikolaus Rath. 4015 4016.. 4017 4018.. bpo: 20968 4019.. date: 8540 4020.. nonce: 53Aagz 4021.. section: Library 4022 4023unittest.mock.MagicMock now supports division. Patch by Johannes Baiter. 4024 4025.. 4026 4027.. bpo: 21529 4028.. date: 8539 4029.. nonce: 57R_Fc 4030.. section: Library 4031 4032Fix arbitrary memory access in JSONDecoder.raw_decode with a negative second 4033parameter. Bug reported by Guido Vranken. (See also: CVE-2014-4616) 4034 4035.. 4036 4037.. bpo: 21169 4038.. date: 8538 4039.. nonce: KE7B0M 4040.. section: Library 4041 4042getpass now handles non-ascii characters that the input stream encoding 4043cannot encode by re-encoding using the replace error handler. 4044 4045.. 4046 4047.. bpo: 21171 4048.. date: 8537 4049.. nonce: iUbV9S 4050.. section: Library 4051 4052Fixed undocumented filter API of the rot13 codec. Patch by Berker Peksag. 4053 4054.. 4055 4056.. bpo: 20539 4057.. date: 8536 4058.. nonce: 62nbEb 4059.. section: Library 4060 4061Improved math.factorial error message for large positive inputs and changed 4062exception type (OverflowError -> ValueError) for large negative inputs. 4063 4064.. 4065 4066.. bpo: 21172 4067.. date: 8535 4068.. nonce: dQ7yY7 4069.. section: Library 4070 4071isinstance check relaxed from dict to collections.Mapping. 4072 4073.. 4074 4075.. bpo: 21155 4076.. date: 8534 4077.. nonce: JSKEE7 4078.. section: Library 4079 4080asyncio.EventLoop.create_unix_server() now raises a ValueError if path and 4081sock are specified at the same time. 4082 4083.. 4084 4085.. bpo: 21136 4086.. date: 8533 4087.. nonce: JZAKv3 4088.. section: Library 4089 4090Avoid unnecessary normalization of Fractions resulting from power and other 4091operations. Patch by Raymond Hettinger. 4092 4093.. 4094 4095.. bpo: 17621 4096.. date: 8532 4097.. nonce: 1x0mvJ 4098.. section: Library 4099 4100Introduce importlib.util.LazyLoader. 4101 4102.. 4103 4104.. bpo: 21076 4105.. date: 8531 4106.. nonce: upxQc6 4107.. section: Library 4108 4109signal module constants were turned into enums. Patch by Giampaolo Rodola'. 4110 4111.. 4112 4113.. bpo: 20636 4114.. date: 8530 4115.. nonce: KGh-BD 4116.. section: Library 4117 4118Improved the repr of Tkinter widgets. 4119 4120.. 4121 4122.. bpo: 19505 4123.. date: 8529 4124.. nonce: VEtIE6 4125.. section: Library 4126 4127The items, keys, and values views of OrderedDict now support reverse 4128iteration using reversed(). 4129 4130.. 4131 4132.. bpo: 21149 4133.. date: 8528 4134.. nonce: cnjwMR 4135.. section: Library 4136 4137Improved thread-safety in logging cleanup during interpreter shutdown. 4138Thanks to Devin Jeanpierre for the patch. 4139 4140.. 4141 4142.. bpo: 21058 4143.. date: 8527 4144.. nonce: IhluPP 4145.. section: Library 4146 4147Fix a leak of file descriptor in :func:`tempfile.NamedTemporaryFile`, close 4148the file descriptor if :func:`io.open` fails 4149 4150.. 4151 4152.. bpo: 21200 4153.. date: 8526 4154.. nonce: Kht8yD 4155.. section: Library 4156 4157Return None from pkgutil.get_loader() when __spec__ is missing. 4158 4159.. 4160 4161.. bpo: 21013 4162.. date: 8525 4163.. nonce: 3s8Ic0 4164.. section: Library 4165 4166Enhance ssl.create_default_context() when used for server side sockets to 4167provide better security by default. 4168 4169.. 4170 4171.. bpo: 20145 4172.. date: 8524 4173.. nonce: FP5FY0 4174.. section: Library 4175 4176`assertRaisesRegex` and `assertWarnsRegex` now raise a TypeError if the 4177second argument is not a string or compiled regex. 4178 4179.. 4180 4181.. bpo: 20633 4182.. date: 8523 4183.. nonce: 6kaPjT 4184.. section: Library 4185 4186Replace relative import by absolute import. 4187 4188.. 4189 4190.. bpo: 20980 4191.. date: 8522 4192.. nonce: cYszHY 4193.. section: Library 4194 4195Stop wrapping exception when using ThreadPool. 4196 4197.. 4198 4199.. bpo: 21082 4200.. date: 8521 4201.. nonce: GLzGlV 4202.. section: Library 4203 4204In os.makedirs, do not set the process-wide umask. Note this changes 4205behavior of makedirs when exist_ok=True. 4206 4207.. 4208 4209.. bpo: 20990 4210.. date: 8520 4211.. nonce: PBfjW3 4212.. section: Library 4213 4214Fix issues found by pyflakes for multiprocessing. 4215 4216.. 4217 4218.. bpo: 21015 4219.. date: 8519 4220.. nonce: xnwWAH 4221.. section: Library 4222 4223SSL contexts will now automatically select an elliptic curve for ECDH key 4224exchange on OpenSSL 1.0.2 and later, and otherwise default to "prime256v1". 4225 4226.. 4227 4228.. bpo: 21000 4229.. date: 8518 4230.. nonce: JUyyVV 4231.. section: Library 4232 4233Improve the command-line interface of json.tool. 4234 4235.. 4236 4237.. bpo: 20995 4238.. date: 8517 4239.. nonce: KSORJT 4240.. section: Library 4241 4242Enhance default ciphers used by the ssl module to enable better security and 4243prioritize perfect forward secrecy. 4244 4245.. 4246 4247.. bpo: 20884 4248.. date: 8516 4249.. nonce: qNmub_ 4250.. section: Library 4251 4252Don't assume that __file__ is defined on importlib.__init__. 4253 4254.. 4255 4256.. bpo: 21499 4257.. date: 8515 4258.. nonce: wU4OBi 4259.. section: Library 4260 4261Ignore __builtins__ in several test_importlib.test_api tests. 4262 4263.. 4264 4265.. bpo: 20627 4266.. date: 8514 4267.. nonce: fgfQ1x 4268.. section: Library 4269 4270xmlrpc.client.ServerProxy is now a context manager. 4271 4272.. 4273 4274.. bpo: 19165 4275.. date: 8513 4276.. nonce: sAkUjU 4277.. section: Library 4278 4279The formatter module now raises DeprecationWarning instead of 4280PendingDeprecationWarning. 4281 4282.. 4283 4284.. bpo: 13936 4285.. date: 8512 4286.. nonce: _Q0Yog 4287.. section: Library 4288 4289Remove the ability of datetime.time instances to be considered false in 4290boolean contexts. 4291 4292.. 4293 4294.. bpo: 18931 4295.. date: 8511 4296.. nonce: mq4Mud 4297.. section: Library 4298 4299selectors module now supports /dev/poll on Solaris. Patch by Giampaolo 4300Rodola'. 4301 4302.. 4303 4304.. bpo: 19977 4305.. date: 8510 4306.. nonce: A-sQ_V 4307.. section: Library 4308 4309When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale), 4310:py:data:`sys.stdin` and :py:data:`sys.stdout` are now using the 4311``surrogateescape`` error handler, instead of the ``strict`` error handler. 4312 4313.. 4314 4315.. bpo: 20574 4316.. date: 8509 4317.. nonce: KaKqSs 4318.. section: Library 4319 4320Implement incremental decoder for cp65001 code (Windows code page 65001, 4321Microsoft UTF-8). 4322 4323.. 4324 4325.. bpo: 20879 4326.. date: 8508 4327.. nonce: myeYdq 4328.. section: Library 4329 4330Delay the initialization of encoding and decoding tables for base32, ascii85 4331and base85 codecs in the base64 module, and delay the initialization of the 4332unquote_to_bytes() table of the urllib.parse module, to not waste memory if 4333these modules are not used. 4334 4335.. 4336 4337.. bpo: 19157 4338.. date: 8507 4339.. nonce: V1-XhC 4340.. section: Library 4341 4342Include the broadcast address in the usuable hosts for IPv6 in ipaddress. 4343 4344.. 4345 4346.. bpo: 11599 4347.. date: 8506 4348.. nonce: 9QOXf4 4349.. section: Library 4350 4351When an external command (e.g. compiler) fails, distutils now prints out the 4352whole command line (instead of just the command name) if the environment 4353variable DISTUTILS_DEBUG is set. 4354 4355.. 4356 4357.. bpo: 4931 4358.. date: 8505 4359.. nonce: uF10hr 4360.. section: Library 4361 4362distutils should not produce unhelpful "error: None" messages anymore. 4363distutils.util.grok_environment_error is kept but doc-deprecated. 4364 4365.. 4366 4367.. bpo: 20875 4368.. date: 8504 4369.. nonce: IjfI5V 4370.. section: Library 4371 4372Prevent possible gzip "'read' is not defined" NameError. Patch by Claudiu 4373Popa. 4374 4375.. 4376 4377.. bpo: 11558 4378.. date: 8503 4379.. nonce: pxrsmq 4380.. section: Library 4381 4382``email.message.Message.attach`` now returns a more useful error message if 4383``attach`` is called on a message for which ``is_multipart`` is False. 4384 4385.. 4386 4387.. bpo: 20283 4388.. date: 8502 4389.. nonce: v0Vs9V 4390.. section: Library 4391 4392RE pattern methods now accept the string keyword parameters as documented. 4393The pattern and source keyword parameters are left as deprecated aliases. 4394 4395.. 4396 4397.. bpo: 20778 4398.. date: 8501 4399.. nonce: g_fAGI 4400.. section: Library 4401 4402Fix modulefinder to work with bytecode-only modules. 4403 4404.. 4405 4406.. bpo: 20791 4407.. date: 8500 4408.. nonce: n_zrkc 4409.. section: Library 4410 4411copy.copy() now doesn't make a copy when the input is a bytes object. 4412Initial patch by Peter Otten. 4413 4414.. 4415 4416.. bpo: 19748 4417.. date: 8499 4418.. nonce: kiA171 4419.. section: Library 4420 4421On AIX, time.mktime() now raises an OverflowError for year outsize range 4422[1902; 2037]. 4423 4424.. 4425 4426.. bpo: 19573 4427.. date: 8498 4428.. nonce: QJvX_V 4429.. section: Library 4430 4431inspect.signature: Use enum for parameter kind constants. 4432 4433.. 4434 4435.. bpo: 20726 4436.. date: 8497 4437.. nonce: 0yfRDI 4438.. section: Library 4439 4440inspect.signature: Make Signature and Parameter picklable. 4441 4442.. 4443 4444.. bpo: 17373 4445.. date: 8496 4446.. nonce: ECwuJO 4447.. section: Library 4448 4449Add inspect.Signature.from_callable method. 4450 4451.. 4452 4453.. bpo: 20378 4454.. date: 8495 4455.. nonce: l9M3H- 4456.. section: Library 4457 4458Improve repr of inspect.Signature and inspect.Parameter. 4459 4460.. 4461 4462.. bpo: 20816 4463.. date: 8494 4464.. nonce: DFMEgN 4465.. section: Library 4466 4467Fix inspect.getcallargs() to raise correct TypeError for missing 4468keyword-only arguments. Patch by Jeremiah Lowin. 4469 4470.. 4471 4472.. bpo: 20817 4473.. date: 8493 4474.. nonce: O5XyZB 4475.. section: Library 4476 4477Fix inspect.getcallargs() to fail correctly if more than 3 arguments are 4478missing. Patch by Jeremiah Lowin. 4479 4480.. 4481 4482.. bpo: 6676 4483.. date: 8492 4484.. nonce: CJu5On 4485.. section: Library 4486 4487Ensure a meaningful exception is raised when attempting to parse more than 4488one XML document per pyexpat xmlparser instance. (Original patches by 4489Hirokazu Yamamoto and Amaury Forgeot d'Arc, with suggested wording by David 4490Gutteridge) 4491 4492.. 4493 4494.. bpo: 21117 4495.. date: 8491 4496.. nonce: hyH7EK 4497.. section: Library 4498 4499Fix inspect.signature to better support functools.partial. Due to the 4500specifics of functools.partial implementation, positional-or-keyword 4501arguments passed as keyword arguments become keyword-only. 4502 4503.. 4504 4505.. bpo: 20334 4506.. date: 8490 4507.. nonce: 0yFmfQ 4508.. section: Library 4509 4510inspect.Signature and inspect.Parameter are now hashable. Thanks to Antony 4511Lee for bug reports and suggestions. 4512 4513.. 4514 4515.. bpo: 15916 4516.. date: 8489 4517.. nonce: _vhKPn 4518.. section: Library 4519 4520doctest.DocTestSuite returns an empty unittest.TestSuite instead of raising 4521ValueError if it finds no tests 4522 4523.. 4524 4525.. bpo: 21209 4526.. date: 8488 4527.. nonce: wRE7Dn 4528.. section: Library 4529 4530Fix asyncio.tasks.CoroWrapper to workaround a bug in yield-from 4531implementation in CPythons prior to 3.4.1. 4532 4533.. 4534 4535.. bpo: 0 4536.. date: 8487 4537.. nonce: Q1I78Z 4538.. section: Library 4539 4540asyncio: Add gi_{frame,running,code} properties to CoroWrapper (upstream 4541issue #163). 4542 4543.. 4544 4545.. bpo: 21311 4546.. date: 8486 4547.. nonce: JsDF8H 4548.. section: Library 4549 4550Avoid exception in _osx_support with non-standard compiler configurations. 4551Patch by John Szakmeister. 4552 4553.. 4554 4555.. bpo: 11571 4556.. date: 8485 4557.. nonce: RPeGNo 4558.. section: Library 4559 4560Ensure that the turtle window becomes the topmost window when launched on OS 4561X. 4562 4563.. 4564 4565.. bpo: 21801 4566.. date: 8484 4567.. nonce: rzfhYl 4568.. section: Library 4569 4570Validate that __signature__ is None or an instance of Signature. 4571 4572.. 4573 4574.. bpo: 21923 4575.. date: 8483 4576.. nonce: hXnoZa 4577.. section: Library 4578 4579Prevent AttributeError in distutils.sysconfig.customize_compiler due to 4580possible uninitialized _config_vars. 4581 4582.. 4583 4584.. bpo: 21323 4585.. date: 8482 4586.. nonce: quiWfl 4587.. section: Library 4588 4589Fix http.server to again handle scripts in CGI subdirectories, broken by the 4590fix for security issue #19435. Patch by Zach Byrne. 4591 4592.. 4593 4594.. bpo: 22733 4595.. date: 8481 4596.. nonce: 21gJBp 4597.. section: Library 4598 4599Fix ffi_prep_args not zero-extending argument values correctly on 64-bit 4600Windows. 4601 4602.. 4603 4604.. bpo: 23302 4605.. date: 8480 4606.. nonce: X2dabK 4607.. section: Library 4608 4609Default to TCP_NODELAY=1 upon establishing an HTTPConnection. Removed use of 4610hard-coded MSS as it's an optimization that's no longer needed with Nagle 4611disabled. 4612 4613.. 4614 4615.. bpo: 20577 4616.. date: 8479 4617.. nonce: Y71IMj 4618.. section: IDLE 4619 4620Configuration of the max line length for the FormatParagraph extension has 4621been moved from the General tab of the Idle preferences dialog to the 4622FormatParagraph tab of the Config Extensions dialog. Patch by Tal Einat. 4623 4624.. 4625 4626.. bpo: 16893 4627.. date: 8478 4628.. nonce: JfHAA4 4629.. section: IDLE 4630 4631Update Idle doc chapter to match current Idle and add new information. 4632 4633.. 4634 4635.. bpo: 3068 4636.. date: 8477 4637.. nonce: TYjXTA 4638.. section: IDLE 4639 4640Add Idle extension configuration dialog to Options menu. Changes are written 4641to HOME/.idlerc/config-extensions.cfg. Original patch by Tal Einat. 4642 4643.. 4644 4645.. bpo: 16233 4646.. date: 8476 4647.. nonce: sOadNo 4648.. section: IDLE 4649 4650A module browser (File : Class Browser, Alt+C) requires an editor window 4651with a filename. When Class Browser is requested otherwise, from a shell, 4652output window, or 'Untitled' editor, Idle no longer displays an error box. 4653It now pops up an Open Module box (Alt+M). If a valid name is entered and a 4654module is opened, a corresponding browser is also opened. 4655 4656.. 4657 4658.. bpo: 4832 4659.. date: 8475 4660.. nonce: GRKi9M 4661.. section: IDLE 4662 4663Save As to type Python files automatically adds .py to the name you enter 4664(even if your system does not display it). Some systems automatically add 4665.txt when type is Text files. 4666 4667.. 4668 4669.. bpo: 21986 4670.. date: 8474 4671.. nonce: 04GUv2 4672.. section: IDLE 4673 4674Code objects are not normally pickled by the pickle module. To match this, 4675they are no longer pickled when running under Idle. 4676 4677.. 4678 4679.. bpo: 17390 4680.. date: 8473 4681.. nonce: I4vHFh 4682.. section: IDLE 4683 4684Adjust Editor window title; remove 'Python', move version to end. 4685 4686.. 4687 4688.. bpo: 14105 4689.. date: 8472 4690.. nonce: -FZwYH 4691.. section: IDLE 4692 4693Idle debugger breakpoints no longer disappear when inserting or deleting 4694lines. 4695 4696.. 4697 4698.. bpo: 17172 4699.. date: 8471 4700.. nonce: R8jkU1 4701.. section: IDLE 4702 4703Turtledemo can now be run from Idle. Currently, the entry is on the Help 4704menu, but it may move to Run. Patch by Ramchandra Apt and Lita Cho. 4705 4706.. 4707 4708.. bpo: 21765 4709.. date: 8470 4710.. nonce: JyiDbd 4711.. section: IDLE 4712 4713Add support for non-ascii identifiers to HyperParser. 4714 4715.. 4716 4717.. bpo: 21940 4718.. date: 8469 4719.. nonce: VlIRz7 4720.. section: IDLE 4721 4722Add unittest for WidgetRedirector. Initial patch by Saimadhav Heblikar. 4723 4724.. 4725 4726.. bpo: 18592 4727.. date: 8468 4728.. nonce: sMG-SZ 4729.. section: IDLE 4730 4731Add unittest for SearchDialogBase. Patch by Phil Webster. 4732 4733.. 4734 4735.. bpo: 21694 4736.. date: 8467 4737.. nonce: 1oLmRo 4738.. section: IDLE 4739 4740Add unittest for ParenMatch. Patch by Saimadhav Heblikar. 4741 4742.. 4743 4744.. bpo: 21686 4745.. date: 8466 4746.. nonce: TAkFB0 4747.. section: IDLE 4748 4749add unittest for HyperParser. Original patch by Saimadhav Heblikar. 4750 4751.. 4752 4753.. bpo: 12387 4754.. date: 8465 4755.. nonce: XO7Ozk 4756.. section: IDLE 4757 4758Add missing upper(lower)case versions of default Windows key bindings for 4759Idle so Caps Lock does not disable them. Patch by Roger Serwy. 4760 4761.. 4762 4763.. bpo: 21695 4764.. date: 8464 4765.. nonce: g-t0Tm 4766.. section: IDLE 4767 4768Closing a Find-in-files output window while the search is still in progress 4769no longer closes Idle. 4770 4771.. 4772 4773.. bpo: 18910 4774.. date: 8463 4775.. nonce: ke8lMK 4776.. section: IDLE 4777 4778Add unittest for textView. Patch by Phil Webster. 4779 4780.. 4781 4782.. bpo: 18292 4783.. date: 8462 4784.. nonce: ks_3wm 4785.. section: IDLE 4786 4787Add unittest for AutoExpand. Patch by Saihadhav Heblikar. 4788 4789.. 4790 4791.. bpo: 18409 4792.. date: 8461 4793.. nonce: 7fe-aK 4794.. section: IDLE 4795 4796Add unittest for AutoComplete. Patch by Phil Webster. 4797 4798.. 4799 4800.. bpo: 21477 4801.. date: 8460 4802.. nonce: 33NOe0 4803.. section: IDLE 4804 4805htest.py - Improve framework, complete set of tests. Patches by Saimadhav 4806Heblikar 4807 4808.. 4809 4810.. bpo: 18104 4811.. date: 8459 4812.. nonce: 8Fj9Pf 4813.. section: IDLE 4814 4815Add idlelib/idle_test/htest.py with a few sample tests to begin 4816consolidating and improving human-validated tests of Idle. Change other 4817files as needed to work with htest. Running the module as __main__ runs all 4818tests. 4819 4820.. 4821 4822.. bpo: 21139 4823.. date: 8458 4824.. nonce: kqetng 4825.. section: IDLE 4826 4827Change default paragraph width to 72, the :pep:`8` recommendation. 4828 4829.. 4830 4831.. bpo: 21284 4832.. date: 8457 4833.. nonce: KKJfmv 4834.. section: IDLE 4835 4836Paragraph reformat test passes after user changes reformat width. 4837 4838.. 4839 4840.. bpo: 17654 4841.. date: 8456 4842.. nonce: NbzhNS 4843.. section: IDLE 4844 4845Ensure IDLE menus are customized properly on OS X for non-framework builds 4846and for all variants of Tk. 4847 4848.. 4849 4850.. bpo: 23180 4851.. date: 8455 4852.. nonce: cE_89F 4853.. section: IDLE 4854 4855Rename IDLE "Windows" menu item to "Window". Patch by Al Sweigart. 4856 4857.. 4858 4859.. bpo: 15506 4860.. date: 8454 4861.. nonce: nh8KlR 4862.. section: Build 4863 4864Use standard PKG_PROG_PKG_CONFIG autoconf macro in the configure script. 4865 4866.. 4867 4868.. bpo: 22935 4869.. date: 8453 4870.. nonce: -vY3lc 4871.. section: Build 4872 4873Allow the ssl module to be compiled if openssl doesn't support SSL 3. 4874 4875.. 4876 4877.. bpo: 22592 4878.. date: 8452 4879.. nonce: O_IE9W 4880.. section: Build 4881 4882Drop support of the Borland C compiler to build Python. The distutils module 4883still supports it to build extensions. 4884 4885.. 4886 4887.. bpo: 22591 4888.. date: 8451 4889.. nonce: wwBlG8 4890.. section: Build 4891 4892Drop support of MS-DOS, especially of the DJGPP compiler (MS-DOS port of 4893GCC). 4894 4895.. 4896 4897.. bpo: 16537 4898.. date: 8450 4899.. nonce: llFo71 4900.. section: Build 4901 4902Check whether self.extensions is empty in setup.py. Patch by Jonathan 4903Hosmer. 4904 4905.. 4906 4907.. bpo: 22359 4908.. date: 8449 4909.. nonce: YYFOFG 4910.. section: Build 4911 4912Remove incorrect uses of recursive make. Patch by Jonas Wagner. 4913 4914.. 4915 4916.. bpo: 21958 4917.. date: 8448 4918.. nonce: 3rq4qR 4919.. section: Build 4920 4921Define HAVE_ROUND when building with Visual Studio 2013 and above. Patch by 4922Zachary Turner. 4923 4924.. 4925 4926.. bpo: 18093 4927.. date: 8447 4928.. nonce: gnZieo 4929.. section: Build 4930 4931the programs that embed the CPython runtime are now in a separate "Programs" 4932directory, rather than being kept in the Modules directory. 4933 4934.. 4935 4936.. bpo: 15759 4937.. date: 8446 4938.. nonce: iGLR6O 4939.. section: Build 4940 4941"make suspicious", "make linkcheck" and "make doctest" in Doc/ now display 4942special message when and only when there are failures. 4943 4944.. 4945 4946.. bpo: 21141 4947.. date: 8445 4948.. nonce: 669LzK 4949.. section: Build 4950 4951The Windows build process no longer attempts to find Perl, instead relying 4952on OpenSSL source being configured and ready to build. The 4953``PCbuild\build_ssl.py`` script has been re-written and re-named to 4954``PCbuild\prepare_ssl.py``, and takes care of configuring OpenSSL source for 4955both 32 and 64 bit platforms. OpenSSL sources obtained from svn.python.org 4956will always be pre-configured and ready to build. 4957 4958.. 4959 4960.. bpo: 21037 4961.. date: 8444 4962.. nonce: v1rZzo 4963.. section: Build 4964 4965Add a build option to enable AddressSanitizer support. 4966 4967.. 4968 4969.. bpo: 19962 4970.. date: 8443 4971.. nonce: HDlwsE 4972.. section: Build 4973 4974The Windows build process now creates "python.bat" in the root of the source 4975tree, which passes all arguments through to the most recently built 4976interpreter. 4977 4978.. 4979 4980.. bpo: 21285 4981.. date: 8442 4982.. nonce: cU9p2E 4983.. section: Build 4984 4985Refactor and fix curses configure check to always search in a ncursesw 4986directory. 4987 4988.. 4989 4990.. bpo: 15234 4991.. date: 8441 4992.. nonce: vlM720 4993.. section: Build 4994 4995For BerkeleyDB and Sqlite, only add the found library and include directories 4996if they aren't already being searched. This avoids an explicit runtime 4997library dependency. 4998 4999.. 5000 5001.. bpo: 17861 5002.. date: 8440 5003.. nonce: jCi44U 5004.. section: Build 5005 5006Tools/scripts/generate_opcode_h.py automatically regenerates 5007Include/opcode.h from Lib/opcode.py if the latter gets any change. 5008 5009.. 5010 5011.. bpo: 20644 5012.. date: 8439 5013.. nonce: aV0zq7 5014.. section: Build 5015 5016OS X installer build support for documentation build changes in 3.4.1: 5017assume externally supplied sphinx-build is available in /usr/bin. 5018 5019.. 5020 5021.. bpo: 20022 5022.. date: 8438 5023.. nonce: EqSCTW 5024.. section: Build 5025 5026Eliminate use of deprecated bundlebuilder in OS X builds. 5027 5028.. 5029 5030.. bpo: 15968 5031.. date: 8437 5032.. nonce: vxUxHK 5033.. section: Build 5034 5035Incorporated Tcl, Tk, and Tix builds into the Windows build solution. 5036 5037.. 5038 5039.. bpo: 17095 5040.. date: 8436 5041.. nonce: -XEBIU 5042.. section: Build 5043 5044Fix Modules/Setup *shared* support. 5045 5046.. 5047 5048.. bpo: 21811 5049.. date: 8435 5050.. nonce: 3_Xyr- 5051.. section: Build 5052 5053Anticipated fixes to support OS X versions > 10.9. 5054 5055.. 5056 5057.. bpo: 21166 5058.. date: 8434 5059.. nonce: KAl7aO 5060.. section: Build 5061 5062Prevent possible segfaults and other random failures of python 5063--generate-posix-vars in pybuilddir.txt build target. 5064 5065.. 5066 5067.. bpo: 18096 5068.. date: 8433 5069.. nonce: ELyAUJ 5070.. section: Build 5071 5072Fix library order returned by python-config. 5073 5074.. 5075 5076.. bpo: 17219 5077.. date: 8432 5078.. nonce: q8ueQ0 5079.. section: Build 5080 5081Add library build dir for Python extension cross-builds. 5082 5083.. 5084 5085.. bpo: 22919 5086.. date: 8431 5087.. nonce: 1XThL9 5088.. section: Build 5089 5090Windows build updated to support VC 14.0 (Visual Studio 2015), which will be 5091used for the official release. 5092 5093.. 5094 5095.. bpo: 21236 5096.. date: 8430 5097.. nonce: 84LXxj 5098.. section: Build 5099 5100Build _msi.pyd with cabinet.lib instead of fci.lib 5101 5102.. 5103 5104.. bpo: 17128 5105.. date: 8429 5106.. nonce: U2biLA 5107.. section: Build 5108 5109Use private version of OpenSSL for OS X 10.5+ installer. 5110 5111.. 5112 5113.. bpo: 14203 5114.. date: 8428 5115.. nonce: 3hv0TX 5116.. section: C API 5117 5118Remove obsolete support for view==NULL in PyBuffer_FillInfo(), 5119bytearray_getbuffer(), bytesiobuf_getbuffer() and array_buffer_getbuf(). All 5120functions now raise BufferError in that case. 5121 5122.. 5123 5124.. bpo: 22445 5125.. date: 8427 5126.. nonce: s0AOAS 5127.. section: C API 5128 5129PyBuffer_IsContiguous() now implements precise contiguity tests, compatible 5130with NumPy's NPY_RELAXED_STRIDES_CHECKING compilation flag. Previously the 5131function reported false negatives for corner cases. 5132 5133.. 5134 5135.. bpo: 22079 5136.. date: 8426 5137.. nonce: zhs2qM 5138.. section: C API 5139 5140PyType_Ready() now checks that statically allocated type has no dynamically 5141allocated bases. 5142 5143.. 5144 5145.. bpo: 22453 5146.. date: 8425 5147.. nonce: XoO4ns 5148.. section: C API 5149 5150Removed non-documented macro PyObject_REPR(). 5151 5152.. 5153 5154.. bpo: 18395 5155.. date: 8424 5156.. nonce: YC9B06 5157.. section: C API 5158 5159Rename ``_Py_char2wchar()`` to :c:func:`Py_DecodeLocale`, rename 5160``_Py_wchar2char()`` to :c:func:`Py_EncodeLocale`, and document these 5161functions. 5162 5163.. 5164 5165.. bpo: 21233 5166.. date: 8423 5167.. nonce: 98hZAt 5168.. section: C API 5169 5170Add new C functions: PyMem_RawCalloc(), PyMem_Calloc(), PyObject_Calloc(), 5171_PyObject_GC_Calloc(). bytes(int) is now using ``calloc()`` instead of 5172``malloc()`` for large objects which is faster and use less memory. 5173 5174.. 5175 5176.. bpo: 20942 5177.. date: 8422 5178.. nonce: qHLJ5- 5179.. section: C API 5180 5181PyImport_ImportFrozenModuleObject() no longer sets __file__ to match what 5182importlib does; this affects _frozen_importlib as well as any module loaded 5183using imp.init_frozen(). 5184 5185.. 5186 5187.. bpo: 19548 5188.. date: 8421 5189.. nonce: yOX8sS 5190.. section: Documentation 5191 5192Update the codecs module documentation to better cover the distinction 5193between text encodings and other codecs, together with other clarifications. 5194Patch by Martin Panter. 5195 5196.. 5197 5198.. bpo: 22394 5199.. date: 8420 5200.. nonce: 6bJywY 5201.. section: Documentation 5202 5203Doc/Makefile now supports ``make venv PYTHON=../python`` to create a venv 5204for generating the documentation, e.g., ``make html 5205PYTHON=venv/bin/python3``. 5206 5207.. 5208 5209.. bpo: 21514 5210.. date: 8419 5211.. nonce: 1H16T6 5212.. section: Documentation 5213 5214The documentation of the json module now refers to new JSON RFC 7159 instead 5215of obsoleted RFC 4627. 5216 5217.. 5218 5219.. bpo: 21777 5220.. date: 8418 5221.. nonce: dtQCWV 5222.. section: Documentation 5223 5224The binary sequence methods on bytes and bytearray are now documented 5225explicitly, rather than assuming users will be able to derive the expected 5226behaviour from the behaviour of the corresponding str methods. 5227 5228.. 5229 5230.. bpo: 6916 5231.. date: 8417 5232.. nonce: 4sm3nE 5233.. section: Documentation 5234 5235undocument deprecated asynchat.fifo class. 5236 5237.. 5238 5239.. bpo: 17386 5240.. date: 8416 5241.. nonce: ivaGLb 5242.. section: Documentation 5243 5244Expanded functionality of the ``Doc/make.bat`` script to make it much more 5245comparable to ``Doc/Makefile``. 5246 5247.. 5248 5249.. bpo: 21312 5250.. date: 8415 5251.. nonce: 6IqcV4 5252.. section: Documentation 5253 5254Update the thread_foobar.h template file to include newer threading APIs. 5255Patch by Jack McCracken. 5256 5257.. 5258 5259.. bpo: 21043 5260.. date: 8414 5261.. nonce: oEOC8O 5262.. section: Documentation 5263 5264Remove the recommendation for specific CA organizations and to mention the 5265ability to load the OS certificates. 5266 5267.. 5268 5269.. bpo: 20765 5270.. date: 8413 5271.. nonce: Rv3GgV 5272.. section: Documentation 5273 5274Add missing documentation for PurePath.with_name() and 5275PurePath.with_suffix(). 5276 5277.. 5278 5279.. bpo: 19407 5280.. date: 8412 5281.. nonce: mRyNnG 5282.. section: Documentation 5283 5284New package installation and distribution guides based on the Python 5285Packaging Authority tools. Existing guides have been retained as legacy 5286links from the distutils docs, as they still contain some required reference 5287material for tool developers that isn't recorded anywhere else. 5288 5289.. 5290 5291.. bpo: 19697 5292.. date: 8411 5293.. nonce: 2jMQBP 5294.. section: Documentation 5295 5296Document cases where __main__.__spec__ is None. 5297 5298.. 5299 5300.. bpo: 18982 5301.. date: 8410 5302.. nonce: TynSM6 5303.. section: Tests 5304 5305Add tests for CLI of the calendar module. 5306 5307.. 5308 5309.. bpo: 19548 5310.. date: 8409 5311.. nonce: 25Kxq_ 5312.. section: Tests 5313 5314Added some additional checks to test_codecs to ensure that statements in the 5315updated documentation remain accurate. Patch by Martin Panter. 5316 5317.. 5318 5319.. bpo: 22838 5320.. date: 8408 5321.. nonce: VZBtZg 5322.. section: Tests 5323 5324All test_re tests now work with unittest test discovery. 5325 5326.. 5327 5328.. bpo: 22173 5329.. date: 8407 5330.. nonce: dxIIVx 5331.. section: Tests 5332 5333Update lib2to3 tests to use unittest test discovery. 5334 5335.. 5336 5337.. bpo: 16000 5338.. date: 8406 5339.. nonce: Y7O6TP 5340.. section: Tests 5341 5342Convert test_curses to use unittest. 5343 5344.. 5345 5346.. bpo: 21456 5347.. date: 8405 5348.. nonce: Axsw43 5349.. section: Tests 5350 5351Skip two tests in test_urllib2net.py if _ssl module not present. Patch by 5352Remi Pointel. 5353 5354.. 5355 5356.. bpo: 20746 5357.. date: 8404 5358.. nonce: N2pzAY 5359.. section: Tests 5360 5361Fix test_pdb to run in refleak mode (-R). Patch by Xavier de Gaye. 5362 5363.. 5364 5365.. bpo: 22060 5366.. date: 8403 5367.. nonce: TduJNO 5368.. section: Tests 5369 5370test_ctypes has been somewhat cleaned up and simplified; it now uses 5371unittest test discovery to find its tests. 5372 5373.. 5374 5375.. bpo: 22104 5376.. date: 8402 5377.. nonce: -YYDup 5378.. section: Tests 5379 5380regrtest.py no longer holds a reference to the suite of tests loaded from 5381test modules that don't define test_main(). 5382 5383.. 5384 5385.. bpo: 22111 5386.. date: 8401 5387.. nonce: 0XlFAU 5388.. section: Tests 5389 5390Assorted cleanups in test_imaplib. Patch by Milan Oberkirch. 5391 5392.. 5393 5394.. bpo: 22002 5395.. date: 8400 5396.. nonce: jpiaA2 5397.. section: Tests 5398 5399Added ``load_package_tests`` function to test.support and used it to 5400implement/augment test discovery in test_asyncio, test_email, 5401test_importlib, test_json, and test_tools. 5402 5403.. 5404 5405.. bpo: 21976 5406.. date: 8399 5407.. nonce: Slq6se 5408.. section: Tests 5409 5410Fix test_ssl to accept LibreSSL version strings. Thanks to William Orr. 5411 5412.. 5413 5414.. bpo: 21918 5415.. date: 8398 5416.. nonce: QTFFSj 5417.. section: Tests 5418 5419Converted test_tools from a module to a package containing separate test 5420files for each tested script. 5421 5422.. 5423 5424.. bpo: 9554 5425.. date: 8397 5426.. nonce: VsP0Ve 5427.. section: Tests 5428 5429Use modern unittest features in test_argparse. Initial patch by Denver 5430Coneybeare and Radu Voicilas. 5431 5432.. 5433 5434.. bpo: 20155 5435.. date: 8396 5436.. nonce: nphzS3 5437.. section: Tests 5438 5439Changed HTTP method names in failing tests in test_httpservers so that 5440packet filtering software (specifically Windows Base Filtering Engine) does 5441not interfere with the transaction semantics expected by the tests. 5442 5443.. 5444 5445.. bpo: 19493 5446.. date: 8395 5447.. nonce: SwbzLQ 5448.. section: Tests 5449 5450Refactored the ctypes test package to skip tests explicitly rather than 5451silently. 5452 5453.. 5454 5455.. bpo: 18492 5456.. date: 8394 5457.. nonce: ylPRU7 5458.. section: Tests 5459 5460All resources are now allowed when tests are not run by regrtest.py. 5461 5462.. 5463 5464.. bpo: 21634 5465.. date: 8393 5466.. nonce: Eng06F 5467.. section: Tests 5468 5469Fix pystone micro-benchmark: use floor division instead of true division to 5470benchmark integers instead of floating point numbers. Set pystone version to 54711.2. Patch written by Lennart Regebro. 5472 5473.. 5474 5475.. bpo: 21605 5476.. date: 8392 5477.. nonce: qsLV8d 5478.. section: Tests 5479 5480Added tests for Tkinter images. 5481 5482.. 5483 5484.. bpo: 21493 5485.. date: 8391 5486.. nonce: NqhRsy 5487.. section: Tests 5488 5489Added test for ntpath.expanduser(). Original patch by Claudiu Popa. 5490 5491.. 5492 5493.. bpo: 19925 5494.. date: 8390 5495.. nonce: dhMx08 5496.. section: Tests 5497 5498Added tests for the spwd module. Original patch by Vajrasky Kok. 5499 5500.. 5501 5502.. bpo: 21522 5503.. date: 8389 5504.. nonce: b-VwFW 5505.. section: Tests 5506 5507Added Tkinter tests for Listbox.itemconfigure(), 5508PanedWindow.paneconfigure(), and Menu.entryconfigure(). 5509 5510.. 5511 5512.. bpo: 17756 5513.. date: 8388 5514.. nonce: LLfbfU 5515.. section: Tests 5516 5517Fix test_code test when run from the installed location. 5518 5519.. 5520 5521.. bpo: 17752 5522.. date: 8387 5523.. nonce: P8iG44 5524.. section: Tests 5525 5526Fix distutils tests when run from the installed location. 5527 5528.. 5529 5530.. bpo: 18604 5531.. date: 8386 5532.. nonce: Q00Xrj 5533.. section: Tests 5534 5535Consolidated checks for GUI availability. All platforms now at least check 5536whether Tk can be instantiated when the GUI resource is requested. 5537 5538.. 5539 5540.. bpo: 21275 5541.. date: 8385 5542.. nonce: lI5FkX 5543.. section: Tests 5544 5545Fix a socket test on KFreeBSD. 5546 5547.. 5548 5549.. bpo: 21223 5550.. date: 8384 5551.. nonce: lMY6ka 5552.. section: Tests 5553 5554Pass test_site/test_startup_imports when some of the extensions are built as 5555builtins. 5556 5557.. 5558 5559.. bpo: 20635 5560.. date: 8383 5561.. nonce: mzWmoS 5562.. section: Tests 5563 5564Added tests for Tk geometry managers. 5565 5566.. 5567 5568.. bpo: 0 5569.. date: 8382 5570.. nonce: E5XNqr 5571.. section: Tests 5572 5573Add test case for freeze. 5574 5575.. 5576 5577.. bpo: 20743 5578.. date: 8381 5579.. nonce: hxZQUf 5580.. section: Tests 5581 5582Fix a reference leak in test_tcl. 5583 5584.. 5585 5586.. bpo: 21097 5587.. date: 8380 5588.. nonce: gsUesm 5589.. section: Tests 5590 5591Move test_namespace_pkgs into test_importlib. 5592 5593.. 5594 5595.. bpo: 21503 5596.. date: 8379 5597.. nonce: H9TPCg 5598.. section: Tests 5599 5600Use test_both() consistently in test_importlib. 5601 5602.. 5603 5604.. bpo: 20939 5605.. date: 8378 5606.. nonce: x3KQ35 5607.. section: Tests 5608 5609Avoid various network test failures due to new redirect of 5610http://www.python.org/ to https://www.python.org: use http://www.example.com 5611instead. 5612 5613.. 5614 5615.. bpo: 20668 5616.. date: 8377 5617.. nonce: IWjOSC 5618.. section: Tests 5619 5620asyncio tests no longer rely on tests.txt file. (Patch by Vajrasky Kok) 5621 5622.. 5623 5624.. bpo: 21093 5625.. date: 8376 5626.. nonce: CcpRim 5627.. section: Tests 5628 5629Prevent failures of ctypes test_macholib on OS X if a copy of libz exists in 5630$HOME/lib or /usr/local/lib. 5631 5632.. 5633 5634.. bpo: 22770 5635.. date: 8375 5636.. nonce: FxAh91 5637.. section: Tests 5638 5639Prevent some Tk segfaults on OS X when running gui tests. 5640 5641.. 5642 5643.. bpo: 23211 5644.. date: 8374 5645.. nonce: Bc-QfJ 5646.. section: Tests 5647 5648Workaround test_logging failure on some OS X 10.6 systems. 5649 5650.. 5651 5652.. bpo: 23345 5653.. date: 8373 5654.. nonce: HIGBKx 5655.. section: Tests 5656 5657Prevent test_ssl failures with large OpenSSL patch level values (like 56580.9.8zc). 5659 5660.. 5661 5662.. bpo: 22314 5663.. date: 8372 5664.. nonce: ws6xsH 5665.. section: Tools/Demos 5666 5667pydoc now works when the LINES environment variable is set. 5668 5669.. 5670 5671.. bpo: 22615 5672.. date: 8371 5673.. nonce: My3DWN 5674.. section: Tools/Demos 5675 5676Argument Clinic now supports the "type" argument for the int converter. 5677This permits using the int converter with enums and typedefs. 5678 5679.. 5680 5681.. bpo: 20076 5682.. date: 8370 5683.. nonce: ZNuBrC 5684.. section: Tools/Demos 5685 5686The makelocalealias.py script no longer ignores UTF-8 mapping. 5687 5688.. 5689 5690.. bpo: 20079 5691.. date: 8369 5692.. nonce: ogPXcK 5693.. section: Tools/Demos 5694 5695The makelocalealias.py script now can parse the SUPPORTED file from glibc 5696sources and supports command line options for source paths. 5697 5698.. 5699 5700.. bpo: 22201 5701.. date: 8368 5702.. nonce: k1Awbh 5703.. section: Tools/Demos 5704 5705Command-line interface of the zipfile module now correctly extracts ZIP 5706files with directory entries. Patch by Ryan Wilson. 5707 5708.. 5709 5710.. bpo: 22120 5711.. date: 8367 5712.. nonce: KmBUj- 5713.. section: Tools/Demos 5714 5715For functions using an unsigned integer return converter, Argument Clinic 5716now generates a cast to that type for the comparison to -1 in the generated 5717code. (This suppresses a compilation warning.) 5718 5719.. 5720 5721.. bpo: 18974 5722.. date: 8366 5723.. nonce: I3DdAo 5724.. section: Tools/Demos 5725 5726Tools/scripts/diff.py now uses argparse instead of optparse. 5727 5728.. 5729 5730.. bpo: 21906 5731.. date: 8365 5732.. nonce: ZsKy9v 5733.. section: Tools/Demos 5734 5735Make Tools/scripts/md5sum.py work in Python 3. Patch by Zachary Ware. 5736 5737.. 5738 5739.. bpo: 21629 5740.. date: 8364 5741.. nonce: 9kZmQl 5742.. section: Tools/Demos 5743 5744Fix Argument Clinic's "--converters" feature. 5745 5746.. 5747 5748.. bpo: 0 5749.. date: 8363 5750.. nonce: _-ge-g 5751.. section: Tools/Demos 5752 5753Add support for ``yield from`` to 2to3. 5754 5755.. 5756 5757.. bpo: 0 5758.. date: 8362 5759.. nonce: dpFbyZ 5760.. section: Tools/Demos 5761 5762Add support for the :pep:`465` matrix multiplication operator to 2to3. 5763 5764.. 5765 5766.. bpo: 16047 5767.. date: 8361 5768.. nonce: IsgTzm 5769.. section: Tools/Demos 5770 5771Fix module exception list and __file__ handling in freeze. Patch by Meador 5772Inge. 5773 5774.. 5775 5776.. bpo: 11824 5777.. date: 8360 5778.. nonce: OBWc3T 5779.. section: Tools/Demos 5780 5781Consider ABI tags in freeze. Patch by Meador Inge. 5782 5783.. 5784 5785.. bpo: 20535 5786.. date: 8359 5787.. nonce: 0qkvZZ 5788.. section: Tools/Demos 5789 5790PYTHONWARNING no longer affects the run_tests.py script. Patch by Arfrever 5791Frehtes Taifersar Arahesis. 5792 5793.. 5794 5795.. bpo: 23260 5796.. date: 8358 5797.. nonce: aZ5VLH 5798.. section: Windows 5799 5800Update Windows installer 5801 5802.. 5803 5804.. bpo: 0 5805.. date: 8357 5806.. nonce: _aEUNt 5807.. section: Windows 5808 5809The bundled version of Tcl/Tk has been updated to 8.6.3. The most visible 5810result of this change is the addition of new native file dialogs when 5811running on Windows Vista or newer. See Tcl/Tk's TIP 432 for more 5812information. Also, this version of Tcl/Tk includes support for Windows 10. 5813 5814.. 5815 5816.. bpo: 17896 5817.. date: 8356 5818.. nonce: o79rHM 5819.. section: Windows 5820 5821The Windows build scripts now expect external library sources to be in 5822``PCbuild\..\externals`` rather than ``PCbuild\..\..``. 5823 5824.. 5825 5826.. bpo: 17717 5827.. date: 8355 5828.. nonce: y1zoye 5829.. section: Windows 5830 5831The Windows build scripts now use a copy of NASM pulled from svn.python.org 5832to build OpenSSL. 5833 5834.. 5835 5836.. bpo: 21907 5837.. date: 8354 5838.. nonce: jm1smN 5839.. section: Windows 5840 5841Improved the batch scripts provided for building Python. 5842 5843.. 5844 5845.. bpo: 22644 5846.. date: 8353 5847.. nonce: gosBki 5848.. section: Windows 5849 5850The bundled version of OpenSSL has been updated to 1.0.1j. 5851 5852.. 5853 5854.. bpo: 10747 5855.. date: 8352 5856.. nonce: LTWhLn 5857.. section: Windows 5858 5859Use versioned labels in the Windows start menu. Patch by Olive Kilburn. 5860 5861.. 5862 5863.. bpo: 22980 5864.. date: 8351 5865.. nonce: -UypE5 5866.. section: Windows 5867 5868.pyd files with a version and platform tag (for example, ".cp35-win32.pyd") 5869will now be loaded in preference to those without tags. 5870