1 .. bpo: 20041 2 .. date: 9253 3 .. nonce: TypyGp 4 .. release date: 2016-05-16 5 .. section: Core and Builtins 6 7 Fixed TypeError when frame.f_trace is set to None. Patch by Xavier de Gaye. 8 9 .. 10 11 .. bpo: 26168 12 .. date: 9252 13 .. nonce: -nPBL6 14 .. section: Core and Builtins 15 16 Fixed possible refleaks in failing Py_BuildValue() with the "N" format unit. 17 18 .. 19 20 .. bpo: 26991 21 .. date: 9251 22 .. nonce: yWGNhz 23 .. section: Core and Builtins 24 25 Fix possible refleak when creating a function with annotations. 26 27 .. 28 29 .. bpo: 27039 30 .. date: 9250 31 .. nonce: oO-wLV 32 .. section: Core and Builtins 33 34 Fixed bytearray.remove() for values greater than 127. Based on patch by Joe 35 Jevnik. 36 37 .. 38 39 .. bpo: 23640 40 .. date: 9249 41 .. nonce: kvNC4c 42 .. section: Core and Builtins 43 44 int.from_bytes() no longer bypasses constructors for subclasses. 45 46 .. 47 48 .. bpo: 27005 49 .. date: 9248 50 .. nonce: ZtcJf- 51 .. section: Core and Builtins 52 53 Optimized the float.fromhex() class method for exact float. It is now 2 54 times faster. 55 56 .. 57 58 .. bpo: 18531 59 .. date: 9247 60 .. nonce: PkXgtO 61 .. section: Core and Builtins 62 63 Single var-keyword argument of dict subtype was passed unscathed to the 64 C-defined function. Now it is converted to exact dict. 65 66 .. 67 68 .. bpo: 26811 69 .. date: 9246 70 .. nonce: oNzUWt 71 .. section: Core and Builtins 72 73 gc.get_objects() no longer contains a broken tuple with NULL pointer. 74 75 .. 76 77 .. bpo: 20120 78 .. date: 9245 79 .. nonce: c-FZZc 80 .. section: Core and Builtins 81 82 Use RawConfigParser for .pypirc parsing, removing support for interpolation 83 unintentionally added with move to Python 3. Behavior no longer does any 84 interpolation in .pypirc files, matching behavior in Python 2.7 and 85 Setuptools 19.0. 86 87 .. 88 89 .. bpo: 26249 90 .. date: 9244 91 .. nonce: ZbpWF3 92 .. section: Core and Builtins 93 94 Memory functions of the :c:func:`PyMem_Malloc` domain 95 (:c:data:`PYMEM_DOMAIN_MEM`) now use the :ref:`pymalloc allocator 96 <pymalloc>` rather than system :c:func:`malloc`. Applications calling 97 :c:func:`PyMem_Malloc` without holding the GIL can now crash: use 98 ``PYTHONMALLOC=debug`` environment variable to validate the usage of memory 99 allocators in your application. 100 101 .. 102 103 .. bpo: 26802 104 .. date: 9243 105 .. nonce: hWpU4v 106 .. section: Core and Builtins 107 108 Optimize function calls only using unpacking like ``func(*tuple)`` (no other 109 positional argument, no keyword): avoid copying the tuple. Patch written by 110 Joe Jevnik. 111 112 .. 113 114 .. bpo: 26659 115 .. date: 9242 116 .. nonce: 5PRa83 117 .. section: Core and Builtins 118 119 Make the builtin slice type support cycle collection. 120 121 .. 122 123 .. bpo: 26718 124 .. date: 9241 125 .. nonce: K5PQ8j 126 .. section: Core and Builtins 127 128 super.__init__ no longer leaks memory if called multiple times. NOTE: A 129 direct call of super.__init__ is not endorsed! 130 131 .. 132 133 .. bpo: 27138 134 .. date: 9240 135 .. nonce: ifYEro 136 .. section: Core and Builtins 137 138 Fix the doc comment for FileFinder.find_spec(). 139 140 .. 141 142 .. bpo: 27147 143 .. date: 9239 144 .. nonce: tCCgmH 145 .. section: Core and Builtins 146 147 Mention PEP 420 in the importlib docs. 148 149 .. 150 151 .. bpo: 25339 152 .. date: 9238 153 .. nonce: ZcaC2E 154 .. section: Core and Builtins 155 156 PYTHONIOENCODING now has priority over locale in setting the error handler 157 for stdin and stdout. 158 159 .. 160 161 .. bpo: 26494 162 .. date: 9237 163 .. nonce: G6eXIi 164 .. section: Core and Builtins 165 166 Fixed crash on iterating exhausting iterators. Affected classes are generic 167 sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, 168 frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator. 169 170 .. 171 172 .. bpo: 26574 173 .. date: 9236 174 .. nonce: D2YL_w 175 .. section: Core and Builtins 176 177 Optimize ``bytes.replace(b'', b'.')`` and ``bytearray.replace(b'', b'.')``. 178 Patch written by Josh Snider. 179 180 .. 181 182 .. bpo: 26581 183 .. date: 9235 184 .. nonce: yNA7nm 185 .. section: Core and Builtins 186 187 If coding cookie is specified multiple times on a line in Python source code 188 file, only the first one is taken to account. 189 190 .. 191 192 .. bpo: 19711 193 .. date: 9234 194 .. nonce: gDDPJE 195 .. section: Core and Builtins 196 197 Add tests for reloading namespace packages. 198 199 .. 200 201 .. bpo: 21099 202 .. date: 9233 203 .. nonce: CuMWZJ 204 .. section: Core and Builtins 205 206 Switch applicable importlib tests to use PEP 451 API. 207 208 .. 209 210 .. bpo: 26563 211 .. date: 9232 212 .. nonce: lyrB2Q 213 .. section: Core and Builtins 214 215 Debug hooks on Python memory allocators now raise a fatal error if functions 216 of the :c:func:`PyMem_Malloc` family are called without holding the GIL. 217 218 .. 219 220 .. bpo: 26564 221 .. date: 9231 222 .. nonce: xeRXaz 223 .. section: Core and Builtins 224 225 On error, the debug hooks on Python memory allocators now use the 226 :mod:`tracemalloc` module to get the traceback where a memory block was 227 allocated. 228 229 .. 230 231 .. bpo: 26558 232 .. date: 9230 233 .. nonce: s05jz7 234 .. section: Core and Builtins 235 236 The debug hooks on Python memory allocator :c:func:`PyObject_Malloc` now 237 detect when functions are called without holding the GIL. 238 239 .. 240 241 .. bpo: 26516 242 .. date: 9229 243 .. nonce: OjekqZ 244 .. section: Core and Builtins 245 246 Add :envvar:`PYTHONMALLOC` environment variable to set the Python memory 247 allocators and/or install debug hooks. 248 249 .. 250 251 .. bpo: 26516 252 .. date: 9228 253 .. nonce: chNJuF 254 .. section: Core and Builtins 255 256 The :c:func:`PyMem_SetupDebugHooks` function can now also be used on Python 257 compiled in release mode. 258 259 .. 260 261 .. bpo: 26516 262 .. date: 9227 263 .. nonce: q7fu1f 264 .. section: Core and Builtins 265 266 The :envvar:`PYTHONMALLOCSTATS` environment variable can now also be used on 267 Python compiled in release mode. It now has no effect if set to an empty 268 string. 269 270 .. 271 272 .. bpo: 26516 273 .. date: 9226 274 .. nonce: 2k9k6R 275 .. section: Core and Builtins 276 277 In debug mode, debug hooks are now also installed on Python memory 278 allocators when Python is configured without pymalloc. 279 280 .. 281 282 .. bpo: 26464 283 .. date: 9225 284 .. nonce: 7BreGz 285 .. section: Core and Builtins 286 287 Fix str.translate() when string is ASCII and first replacements removes 288 character, but next replacement uses a non-ASCII character or a string 289 longer than 1 character. Regression introduced in Python 3.5.0. 290 291 .. 292 293 .. bpo: 22836 294 .. date: 9224 295 .. nonce: cimt1y 296 .. section: Core and Builtins 297 298 Ensure exception reports from PyErr_Display() and PyErr_WriteUnraisable() 299 are sensible even when formatting them produces secondary errors. This 300 affects the reports produced by sys.__excepthook__() and when __del__() 301 raises an exception. 302 303 .. 304 305 .. bpo: 26302 306 .. date: 9223 307 .. nonce: UD9XQt 308 .. section: Core and Builtins 309 310 Correct behavior to reject comma as a legal character for cookie names. 311 312 .. 313 314 .. bpo: 26136 315 .. date: 9222 316 .. nonce: eZ0t1K 317 .. section: Core and Builtins 318 319 Upgrade the warning when a generator raises StopIteration from 320 PendingDeprecationWarning to DeprecationWarning. Patch by Anish Shah. 321 322 .. 323 324 .. bpo: 26204 325 .. date: 9221 326 .. nonce: x3Zp8E 327 .. section: Core and Builtins 328 329 The compiler now ignores all constant statements: bytes, str, int, float, 330 complex, name constants (None, False, True), Ellipsis and ast.Constant; not 331 only str and int. For example, ``1.0`` is now ignored in ``def f(): 1.0``. 332 333 .. 334 335 .. bpo: 4806 336 .. date: 9220 337 .. nonce: i9m3hj 338 .. section: Core and Builtins 339 340 Avoid masking the original TypeError exception when using star (``*``) 341 unpacking in function calls. Based on patch by Hagen Frstenau and Daniel 342 Urban. 343 344 .. 345 346 .. bpo: 26146 347 .. date: 9219 348 .. nonce: HKrUth 349 .. section: Core and Builtins 350 351 Add a new kind of AST node: ``ast.Constant``. It can be used by external AST 352 optimizers, but the compiler does not emit directly such node. 353 354 .. 355 356 .. bpo: 23601 357 .. date: 9218 358 .. nonce: 2E4seG 359 .. section: Core and Builtins 360 361 Sped-up allocation of dict key objects by using Python's small object 362 allocator. (Contributed by Julian Taylor.) 363 364 .. 365 366 .. bpo: 18018 367 .. date: 9217 368 .. nonce: XKKap3 369 .. section: Core and Builtins 370 371 Import raises ImportError instead of SystemError if a relative import is 372 attempted without a known parent package. 373 374 .. 375 376 .. bpo: 25843 377 .. date: 9216 378 .. nonce: NtJZie 379 .. section: Core and Builtins 380 381 When compiling code, don't merge constants if they are equal but have a 382 different types. For example, ``f1, f2 = lambda: 1, lambda: 1.0`` is now 383 correctly compiled to two different functions: ``f1()`` returns ``1`` 384 (``int``) and ``f2()`` returns ``1.0`` (``float``), even if ``1`` and 385 ``1.0`` are equal. 386 387 .. 388 389 .. bpo: 26107 390 .. date: 9215 391 .. nonce: q0LBMY 392 .. section: Core and Builtins 393 394 The format of the ``co_lnotab`` attribute of code objects changes to support 395 negative line number delta. 396 397 .. 398 399 .. bpo: 26154 400 .. date: 9214 401 .. nonce: MtnRAH 402 .. section: Core and Builtins 403 404 Add a new private _PyThreadState_UncheckedGet() function to get the current 405 Python thread state, but don't issue a fatal error if it is NULL. This new 406 function must be used instead of accessing directly the 407 _PyThreadState_Current variable. The variable is no more exposed since 408 Python 3.5.1 to hide the exact implementation of atomic C types, to avoid 409 compiler issues. 410 411 .. 412 413 .. bpo: 25791 414 .. date: 9213 415 .. nonce: gllzPw 416 .. section: Core and Builtins 417 418 If __package__ != __spec__.parent or if neither __package__ or __spec__ are 419 defined then ImportWarning is raised. 420 421 .. 422 423 .. bpo: 22995 424 .. date: 9212 425 .. nonce: KYNKvs 426 .. section: Core and Builtins 427 428 [UPDATE] Comment out the one of the pickleability tests in 429 _PyObject_GetState() due to regressions observed in Cython-based projects. 430 431 .. 432 433 .. bpo: 25961 434 .. date: 9211 435 .. nonce: Hdjjw0 436 .. section: Core and Builtins 437 438 Disallowed null characters in the type name. 439 440 .. 441 442 .. bpo: 25973 443 .. date: 9210 444 .. nonce: Ud__ZP 445 .. section: Core and Builtins 446 447 Fix segfault when an invalid nonlocal statement binds a name starting with 448 two underscores. 449 450 .. 451 452 .. bpo: 22995 453 .. date: 9209 454 .. nonce: Wq0E86 455 .. section: Core and Builtins 456 457 Instances of extension types with a state that aren't subclasses of list or 458 dict and haven't implemented any pickle-related methods (__reduce__, 459 __reduce_ex__, __getnewargs__, __getnewargs_ex__, or __getstate__), can no 460 longer be pickled. Including memoryview. 461 462 .. 463 464 .. bpo: 20440 465 .. date: 9208 466 .. nonce: GCwOfH 467 .. section: Core and Builtins 468 469 Massive replacing unsafe attribute setting code with special macro 470 Py_SETREF. 471 472 .. 473 474 .. bpo: 25766 475 .. date: 9207 476 .. nonce: jn93Yu 477 .. section: Core and Builtins 478 479 Special method __bytes__() now works in str subclasses. 480 481 .. 482 483 .. bpo: 25421 484 .. date: 9206 485 .. nonce: c47YEL 486 .. section: Core and Builtins 487 488 __sizeof__ methods of builtin types now use dynamic basic size. This allows 489 sys.getsize() to work correctly with their subclasses with __slots__ 490 defined. 491 492 .. 493 494 .. bpo: 25709 495 .. date: 9205 496 .. nonce: WwGm2k 497 .. section: Core and Builtins 498 499 Fixed problem with in-place string concatenation and utf-8 cache. 500 501 .. 502 503 .. bpo: 5319 504 .. date: 9204 505 .. nonce: HxlGwI 506 .. section: Core and Builtins 507 508 New Py_FinalizeEx() API allowing Python to set an exit status of 120 on 509 failure to flush buffered streams. 510 511 .. 512 513 .. bpo: 25485 514 .. date: 9203 515 .. nonce: 9qnaPt 516 .. section: Core and Builtins 517 518 telnetlib.Telnet is now a context manager. 519 520 .. 521 522 .. bpo: 24097 523 .. date: 9202 524 .. nonce: Vt4E-i 525 .. section: Core and Builtins 526 527 Fixed crash in object.__reduce__() if slot name is freed inside __getattr__. 528 529 .. 530 531 .. bpo: 24731 532 .. date: 9201 533 .. nonce: h9-hnz 534 .. section: Core and Builtins 535 536 Fixed crash on converting objects with special methods __bytes__, __trunc__, 537 and __float__ returning instances of subclasses of bytes, int, and float to 538 subclasses of bytes, int, and float correspondingly. 539 540 .. 541 542 .. bpo: 25630 543 .. date: 9200 544 .. nonce: ZxzcoY 545 .. section: Core and Builtins 546 547 Fix a possible segfault during argument parsing in functions that accept 548 filesystem paths. 549 550 .. 551 552 .. bpo: 23564 553 .. date: 9199 554 .. nonce: XHarGG 555 .. section: Core and Builtins 556 557 Fixed a partially broken sanity check in the _posixsubprocess internals 558 regarding how fds_to_pass were passed to the child. The bug had no actual 559 impact as subprocess.py already avoided it. 560 561 .. 562 563 .. bpo: 25388 564 .. date: 9198 565 .. nonce: zm3uuQ 566 .. section: Core and Builtins 567 568 Fixed tokenizer crash when processing undecodable source code with a null 569 byte. 570 571 .. 572 573 .. bpo: 25462 574 .. date: 9197 575 .. nonce: eXDzgO 576 .. section: Core and Builtins 577 578 The hash of the key now is calculated only once in most operations in C 579 implementation of OrderedDict. 580 581 .. 582 583 .. bpo: 22995 584 .. date: 9196 585 .. nonce: 90kpuP 586 .. section: Core and Builtins 587 588 Default implementation of __reduce__ and __reduce_ex__ now rejects builtin 589 types with not defined __new__. 590 591 .. 592 593 .. bpo: 24802 594 .. date: 9195 595 .. nonce: Qie066 596 .. section: Core and Builtins 597 598 Avoid buffer overreads when int(), float(), compile(), exec() and eval() are 599 passed bytes-like objects. These objects are not necessarily terminated by 600 a null byte, but the functions assumed they were. 601 602 .. 603 604 .. bpo: 25555 605 .. date: 9194 606 .. nonce: MUpG-j 607 .. section: Core and Builtins 608 609 Fix parser and AST: fill lineno and col_offset of "arg" node when compiling 610 AST from Python objects. 611 612 .. 613 614 .. bpo: 24726 615 .. date: 9193 616 .. nonce: AHk4v2 617 .. section: Core and Builtins 618 619 Fixed a crash and leaking NULL in repr() of OrderedDict that was mutated by 620 direct calls of dict methods. 621 622 .. 623 624 .. bpo: 25449 625 .. date: 9192 626 .. nonce: VqTOFi 627 .. section: Core and Builtins 628 629 Iterating OrderedDict with keys with unstable hash now raises KeyError in C 630 implementations as well as in Python implementation. 631 632 .. 633 634 .. bpo: 25395 635 .. date: 9191 636 .. nonce: htkE3W 637 .. section: Core and Builtins 638 639 Fixed crash when highly nested OrderedDict structures were garbage 640 collected. 641 642 .. 643 644 .. bpo: 25401 645 .. date: 9190 646 .. nonce: ofrAtd 647 .. section: Core and Builtins 648 649 Optimize bytes.fromhex() and bytearray.fromhex(): they are now between 2x 650 and 3.5x faster. 651 652 .. 653 654 .. bpo: 25399 655 .. date: 9189 656 .. nonce: dNKIhY 657 .. section: Core and Builtins 658 659 Optimize bytearray % args using the new private _PyBytesWriter API. 660 Formatting is now between 2.5 and 5 times faster. 661 662 .. 663 664 .. bpo: 25274 665 .. date: 9188 666 .. nonce: QCGvAF 667 .. section: Core and Builtins 668 669 sys.setrecursionlimit() now raises a RecursionError if the new recursion 670 limit is too low depending at the current recursion depth. Modify also the 671 "lower-water mark" formula to make it monotonic. This mark is used to decide 672 when the overflowed flag of the thread state is reset. 673 674 .. 675 676 .. bpo: 24402 677 .. date: 9187 678 .. nonce: MAgi3X 679 .. section: Core and Builtins 680 681 Fix input() to prompt to the redirected stdout when sys.stdout.fileno() 682 fails. 683 684 .. 685 686 .. bpo: 25349 687 .. date: 9186 688 .. nonce: 7lBgJ8 689 .. section: Core and Builtins 690 691 Optimize bytes % args using the new private _PyBytesWriter API. Formatting 692 is now up to 2 times faster. 693 694 .. 695 696 .. bpo: 24806 697 .. date: 9185 698 .. nonce: Nb0znT 699 .. section: Core and Builtins 700 701 Prevent builtin types that are not allowed to be subclassed from being 702 subclassed through multiple inheritance. 703 704 .. 705 706 .. bpo: 25301 707 .. date: 9184 708 .. nonce: hUTCfr 709 .. section: Core and Builtins 710 711 The UTF-8 decoder is now up to 15 times as fast for error handlers: 712 ``ignore``, ``replace`` and ``surrogateescape``. 713 714 .. 715 716 .. bpo: 24848 717 .. date: 9183 718 .. nonce: HlUSuy 719 .. section: Core and Builtins 720 721 Fixed a number of bugs in UTF-7 decoding of misformed data. 722 723 .. 724 725 .. bpo: 25267 726 .. date: 9182 727 .. nonce: SW8Gs6 728 .. section: Core and Builtins 729 730 The UTF-8 encoder is now up to 75 times as fast for error handlers: 731 ``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass``. Patch 732 co-written with Serhiy Storchaka. 733 734 .. 735 736 .. bpo: 25280 737 .. date: 9181 738 .. nonce: ivTMwd 739 .. section: Core and Builtins 740 741 Import trace messages emitted in verbose (-v) mode are no longer formatted 742 twice. 743 744 .. 745 746 .. bpo: 25227 747 .. date: 9180 748 .. nonce: 19v5rp 749 .. section: Core and Builtins 750 751 Optimize ASCII and latin1 encoders with the ``surrogateescape`` error 752 handler: the encoders are now up to 3 times as fast. Initial patch written 753 by Serhiy Storchaka. 754 755 .. 756 757 .. bpo: 25003 758 .. date: 9179 759 .. nonce: _ban92 760 .. section: Core and Builtins 761 762 On Solaris 11.3 or newer, os.urandom() now uses the getrandom() function 763 instead of the getentropy() function. The getentropy() function is blocking 764 to generate very good quality entropy, os.urandom() doesn't need such 765 high-quality entropy. 766 767 .. 768 769 .. bpo: 9232 770 .. date: 9178 771 .. nonce: pjsmWw 772 .. section: Core and Builtins 773 774 Modify Python's grammar to allow trailing commas in the argument list of a 775 function declaration. For example, "def f(\*, a = 3,): pass" is now legal. 776 Patch from Mark Dickinson. 777 778 .. 779 780 .. bpo: 24965 781 .. date: 9177 782 .. nonce: wfyxbB 783 .. section: Core and Builtins 784 785 Implement PEP 498 "Literal String Interpolation". This allows you to embed 786 expressions inside f-strings, which are converted to normal strings at run 787 time. Given x=3, then f'value={x}' == 'value=3'. Patch by Eric V. Smith. 788 789 .. 790 791 .. bpo: 26478 792 .. date: 9176 793 .. nonce: n0dB8e 794 .. section: Core and Builtins 795 796 Fix semantic bugs when using binary operators with dictionary views and 797 tuples. 798 799 .. 800 801 .. bpo: 26171 802 .. date: 9175 803 .. nonce: 8SaQEa 804 .. section: Core and Builtins 805 806 Fix possible integer overflow and heap corruption in zipimporter.get_data(). 807 808 .. 809 810 .. bpo: 25660 811 .. date: 9174 812 .. nonce: 93DzBo 813 .. section: Core and Builtins 814 815 Fix TAB key behaviour in REPL with readline. 816 817 .. 818 819 .. bpo: 26288 820 .. date: 9173 821 .. nonce: f67RLk 822 .. section: Core and Builtins 823 824 Optimize PyLong_AsDouble. 825 826 .. 827 828 .. bpo: 26289 829 .. date: 9172 830 .. nonce: uG9ozG 831 .. section: Core and Builtins 832 833 Optimize floor and modulo division for single-digit longs. Microbenchmarks 834 show 2-2.5x improvement. Built-in 'divmod' function is now also ~10% 835 faster. (See also: bpo-26315) 836 837 .. 838 839 .. bpo: 25887 840 .. date: 9171 841 .. nonce: PtVIX7 842 .. section: Core and Builtins 843 844 Raise a RuntimeError when a coroutine object is awaited more than once. 845 846 .. 847 848 .. bpo: 27057 849 .. date: 9170 850 .. nonce: YzTA_Q 851 .. section: Library 852 853 Fix os.set_inheritable() on Android, ioctl() is blocked by SELinux and fails 854 with EACCESS. The function now falls back to fcntl(). Patch written by 855 Micha Bednarski. 856 857 .. 858 859 .. bpo: 27014 860 .. date: 9169 861 .. nonce: ui7Khn 862 .. section: Library 863 864 Fix infinite recursion using typing.py. Thanks to Kalle Tuure! 865 866 .. 867 868 .. bpo: 27031 869 .. date: 9168 870 .. nonce: FtvDPs 871 .. section: Library 872 873 Removed dummy methods in Tkinter widget classes: tk_menuBar() and 874 tk_bindForTraversal(). 875 876 .. 877 878 .. bpo: 14132 879 .. date: 9167 880 .. nonce: 5wR9MN 881 .. section: Library 882 883 Fix urllib.request redirect handling when the target only has a query 884 string. Original fix by Jn Janech. 885 886 .. 887 888 .. bpo: 17214 889 .. date: 9166 890 .. nonce: lUbZOV 891 .. section: Library 892 893 The "urllib.request" module now percent-encodes non-ASCII bytes found in 894 redirect target URLs. Some servers send Location header fields with 895 non-ASCII bytes, but "http.client" requires the request target to be 896 ASCII-encodable, otherwise a UnicodeEncodeError is raised. Based on patch by 897 Christian Heimes. 898 899 .. 900 901 .. bpo: 27033 902 .. date: 9165 903 .. nonce: o4XIPr 904 .. section: Library 905 906 The default value of the decode_data parameter for smtpd.SMTPChannel and 907 smtpd.SMTPServer constructors is changed to False. 908 909 .. 910 911 .. bpo: 27034 912 .. date: 9164 913 .. nonce: ptzz_S 914 .. section: Library 915 916 Removed deprecated class asynchat.fifo. 917 918 .. 919 920 .. bpo: 26870 921 .. date: 9163 922 .. nonce: 5tCUlp 923 .. section: Library 924 925 Added readline.set_auto_history(), which can stop entries being 926 automatically added to the history list. Based on patch by Tyler Crompton. 927 928 .. 929 930 .. bpo: 26039 931 .. date: 9162 932 .. nonce: JnXjiE 933 .. section: Library 934 935 zipfile.ZipFile.open() can now be used to write data into a ZIP file, as 936 well as for extracting data. Patch by Thomas Kluyver. 937 938 .. 939 940 .. bpo: 26892 941 .. date: 9161 942 .. nonce: XIXb0h 943 .. section: Library 944 945 Honor debuglevel flag in urllib.request.HTTPHandler. Patch contributed by 946 Chi Hsuan Yen. 947 948 .. 949 950 .. bpo: 22274 951 .. date: 9160 952 .. nonce: 0RHDMN 953 .. section: Library 954 955 In the subprocess module, allow stderr to be redirected to stdout even when 956 stdout is not redirected. Patch by Akira Li. 957 958 .. 959 960 .. bpo: 26807 961 .. date: 9159 962 .. nonce: LXSPP6 963 .. section: Library 964 965 mock_open 'files' no longer error on readline at end of file. Patch from 966 Yolanda Robla. 967 968 .. 969 970 .. bpo: 25745 971 .. date: 9158 972 .. nonce: -n8acU 973 .. section: Library 974 975 Fixed leaking a userptr in curses panel destructor. 976 977 .. 978 979 .. bpo: 26977 980 .. date: 9157 981 .. nonce: 5G4HtL 982 .. section: Library 983 984 Removed unnecessary, and ignored, call to sum of squares helper in 985 statistics.pvariance. 986 987 .. 988 989 .. bpo: 26002 990 .. date: 9156 991 .. nonce: bVD4pW 992 .. section: Library 993 994 Use bisect in statistics.median instead of a linear search. Patch by Upendra 995 Kuma. 996 997 .. 998 999 .. bpo: 25974 1000 .. date: 9155 1001 .. nonce: cpOy5R 1002 .. section: Library 1003 1004 Make use of new Decimal.as_integer_ratio() method in statistics module. 1005 Patch by Stefan Krah. 1006 1007 .. 1008 1009 .. bpo: 26996 1010 .. date: 9154 1011 .. nonce: LR__VD 1012 .. section: Library 1013 1014 Add secrets module as described in PEP 506. 1015 1016 .. 1017 1018 .. bpo: 26881 1019 .. date: 9153 1020 .. nonce: mdiq_L 1021 .. section: Library 1022 1023 The modulefinder module now supports extended opcode arguments. 1024 1025 .. 1026 1027 .. bpo: 23815 1028 .. date: 9152 1029 .. nonce: _krNe8 1030 .. section: Library 1031 1032 Fixed crashes related to directly created instances of types in _tkinter and 1033 curses.panel modules. 1034 1035 .. 1036 1037 .. bpo: 17765 1038 .. date: 9151 1039 .. nonce: hiSVS1 1040 .. section: Library 1041 1042 weakref.ref() no longer silently ignores keyword arguments. Patch by Georg 1043 Brandl. 1044 1045 .. 1046 1047 .. bpo: 26873 1048 .. date: 9150 1049 .. nonce: cYXRcH 1050 .. section: Library 1051 1052 xmlrpc now raises ResponseError on unsupported type tags instead of silently 1053 return incorrect result. 1054 1055 .. 1056 1057 .. bpo: 26915 1058 .. date: 9149 1059 .. nonce: GoQKUL 1060 .. section: Library 1061 1062 The __contains__ methods in the collections ABCs now check for identity 1063 before checking equality. This better matches the behavior of the concrete 1064 classes, allows sensible handling of NaNs, and makes it easier to reason 1065 about container invariants. 1066 1067 .. 1068 1069 .. bpo: 26711 1070 .. date: 9148 1071 .. nonce: Eu85Qw 1072 .. section: Library 1073 1074 Fixed the comparison of plistlib.Data with other types. 1075 1076 .. 1077 1078 .. bpo: 24114 1079 .. date: 9147 1080 .. nonce: RMRMtM 1081 .. section: Library 1082 1083 Fix an uninitialized variable in `ctypes.util`. 1084 1085 The bug only occurs on SunOS when the ctypes implementation searches for the 1086 `crle` program. Patch by Xiang Zhang. Tested on SunOS by Kees Bos. 1087 1088 .. 1089 1090 .. bpo: 26864 1091 .. date: 9146 1092 .. nonce: 1KgGds 1093 .. section: Library 1094 1095 In urllib.request, change the proxy bypass host checking against no_proxy to 1096 be case-insensitive, and to not match unrelated host names that happen to 1097 have a bypassed hostname as a suffix. Patch by Xiang Zhang. 1098 1099 .. 1100 1101 .. bpo: 24902 1102 .. date: 9145 1103 .. nonce: bwWpLj 1104 .. section: Library 1105 1106 Print server URL on http.server startup. Initial patch by Felix Kaiser. 1107 1108 .. 1109 1110 .. bpo: 25788 1111 .. date: 9144 1112 .. nonce: 9weIV5 1113 .. section: Library 1114 1115 fileinput.hook_encoded() now supports an "errors" argument for passing to 1116 open. Original patch by Joseph Hackman. 1117 1118 .. 1119 1120 .. bpo: 26634 1121 .. date: 9143 1122 .. nonce: FZvsSb 1123 .. section: Library 1124 1125 recursive_repr() now sets __qualname__ of wrapper. Patch by Xiang Zhang. 1126 1127 .. 1128 1129 .. bpo: 26804 1130 .. date: 9142 1131 .. nonce: 9Orp-G 1132 .. section: Library 1133 1134 urllib.request will prefer lower_case proxy environment variables over 1135 UPPER_CASE or Mixed_Case ones. Patch contributed by Hans-Peter Jansen. 1136 1137 .. 1138 1139 .. bpo: 26837 1140 .. date: 9141 1141 .. nonce: 2FXGsD 1142 .. section: Library 1143 1144 assertSequenceEqual() now correctly outputs non-stringified differing items 1145 (like bytes in the -b mode). This affects assertListEqual() and 1146 assertTupleEqual(). 1147 1148 .. 1149 1150 .. bpo: 26041 1151 .. date: 9140 1152 .. nonce: bVem-p 1153 .. section: Library 1154 1155 Remove "will be removed in Python 3.7" from deprecation messages of 1156 platform.dist() and platform.linux_distribution(). Patch by Kumaripaba 1157 Miyurusara Athukorala. 1158 1159 .. 1160 1161 .. bpo: 26822 1162 .. date: 9139 1163 .. nonce: rYSL4W 1164 .. section: Library 1165 1166 itemgetter, attrgetter and methodcaller objects no longer silently ignore 1167 keyword arguments. 1168 1169 .. 1170 1171 .. bpo: 26733 1172 .. date: 9138 1173 .. nonce: YxaJmL 1174 .. section: Library 1175 1176 Disassembling a class now disassembles class and static methods. Patch by 1177 Xiang Zhang. 1178 1179 .. 1180 1181 .. bpo: 26801 1182 .. date: 9137 1183 .. nonce: TQGY-7 1184 .. section: Library 1185 1186 Fix error handling in :func:`shutil.get_terminal_size`, catch 1187 :exc:`AttributeError` instead of :exc:`NameError`. Patch written by Emanuel 1188 Barry. 1189 1190 .. 1191 1192 .. bpo: 24838 1193 .. date: 9136 1194 .. nonce: 3Pfx8T 1195 .. section: Library 1196 1197 tarfile's ustar and gnu formats now correctly calculate name and link field 1198 limits for multibyte character encodings like utf-8. 1199 1200 .. 1201 1202 .. bpo: 26657 1203 .. date: 9135 1204 .. nonce: C_-XFg 1205 .. original section: Library 1206 .. section: Security 1207 1208 Fix directory traversal vulnerability with http.server on Windows. This 1209 fixes a regression that was introduced in 3.3.4rc1 and 3.4.0rc1. Based on 1210 patch by Philipp Hagemeister. 1211 1212 .. 1213 1214 .. bpo: 26717 1215 .. date: 9134 1216 .. nonce: jngTdu 1217 .. section: Library 1218 1219 Stop encoding Latin-1-ized WSGI paths with UTF-8. Patch by Anthony Sottile. 1220 1221 .. 1222 1223 .. bpo: 26782 1224 .. date: 9133 1225 .. nonce: JWLPrH 1226 .. section: Library 1227 1228 Add STARTUPINFO to subprocess.__all__ on Windows. 1229 1230 .. 1231 1232 .. bpo: 26404 1233 .. date: 9132 1234 .. nonce: hXw7Bs 1235 .. section: Library 1236 1237 Add context manager to socketserver. Patch by Aviv Palivoda. 1238 1239 .. 1240 1241 .. bpo: 26735 1242 .. date: 9131 1243 .. nonce: riSl3b 1244 .. section: Library 1245 1246 Fix :func:`os.urandom` on Solaris 11.3 and newer when reading more than 1247 1,024 bytes: call ``getrandom()`` multiple times with a limit of 1024 bytes 1248 per call. 1249 1250 .. 1251 1252 .. bpo: 26585 1253 .. date: 9130 1254 .. nonce: kfb749 1255 .. section: Library 1256 1257 Eliminate http.server._quote_html() and use html.escape(quote=False). Patch 1258 by Xiang Zhang. 1259 1260 .. 1261 1262 .. bpo: 26685 1263 .. date: 9129 1264 .. nonce: sI_1Ff 1265 .. section: Library 1266 1267 Raise OSError if closing a socket fails. 1268 1269 .. 1270 1271 .. bpo: 16329 1272 .. date: 9128 1273 .. nonce: nuXD8W 1274 .. section: Library 1275 1276 Add .webm to mimetypes.types_map. Patch by Giampaolo Rodola'. 1277 1278 .. 1279 1280 .. bpo: 13952 1281 .. date: 9127 1282 .. nonce: SOoTVE 1283 .. section: Library 1284 1285 Add .csv to mimetypes.types_map. Patch by Geoff Wilson. 1286 1287 .. 1288 1289 .. bpo: 26587 1290 .. date: 9126 1291 .. nonce: Qo-B6C 1292 .. section: Library 1293 1294 the site module now allows .pth files to specify files to be added to 1295 sys.path (e.g. zip files). 1296 1297 .. 1298 1299 .. bpo: 25609 1300 .. date: 9125 1301 .. nonce: t1ydQM 1302 .. section: Library 1303 1304 Introduce contextlib.AbstractContextManager and typing.ContextManager. 1305 1306 .. 1307 1308 .. bpo: 26709 1309 .. date: 9124 1310 .. nonce: luOPbP 1311 .. section: Library 1312 1313 Fixed Y2038 problem in loading binary PLists. 1314 1315 .. 1316 1317 .. bpo: 23735 1318 .. date: 9123 1319 .. nonce: Y5oQ9r 1320 .. section: Library 1321 1322 Handle terminal resizing with Readline 6.3+ by installing our own SIGWINCH 1323 handler. Patch by Eric Price. 1324 1325 .. 1326 1327 .. bpo: 25951 1328 .. date: 9122 1329 .. nonce: 1CUASJ 1330 .. section: Library 1331 1332 Change SSLSocket.sendall() to return None, as explicitly documented for 1333 plain socket objects. Patch by Aviv Palivoda. 1334 1335 .. 1336 1337 .. bpo: 26586 1338 .. date: 9121 1339 .. nonce: V5pZNa 1340 .. section: Library 1341 1342 In http.server, respond with "413 Request header fields too large" if there 1343 are too many header fields to parse, rather than killing the connection and 1344 raising an unhandled exception. Patch by Xiang Zhang. 1345 1346 .. 1347 1348 .. bpo: 26676 1349 .. date: 9120 1350 .. nonce: zLRFed 1351 .. section: Library 1352 1353 Added missing XMLPullParser to ElementTree.__all__. 1354 1355 .. 1356 1357 .. bpo: 22854 1358 .. date: 9119 1359 .. nonce: K3rMEH 1360 .. section: Library 1361 1362 Change BufferedReader.writable() and BufferedWriter.readable() to always 1363 return False. 1364 1365 .. 1366 1367 .. bpo: 26492 1368 .. date: 9118 1369 .. nonce: YN18iz 1370 .. section: Library 1371 1372 Exhausted iterator of array.array now conforms with the behavior of 1373 iterators of other mutable sequences: it lefts exhausted even if iterated 1374 array is extended. 1375 1376 .. 1377 1378 .. bpo: 26641 1379 .. date: 9117 1380 .. nonce: 1ICQz0 1381 .. section: Library 1382 1383 doctest.DocFileTest and doctest.testfile() now support packages (module 1384 splitted into multiple directories) for the package parameter. 1385 1386 .. 1387 1388 .. bpo: 25195 1389 .. date: 9116 1390 .. nonce: EOc4Po 1391 .. section: Library 1392 1393 Fix a regression in mock.MagicMock. _Call is a subclass of tuple (changeset 1394 3603bae63c13 only works for classes) so we need to implement __ne__ 1395 ourselves. Patch by Andrew Plummer. 1396 1397 .. 1398 1399 .. bpo: 26644 1400 .. date: 9115 1401 .. nonce: 7tt1tk 1402 .. section: Library 1403 1404 Raise ValueError rather than SystemError when a negative length is passed to 1405 SSLSocket.recv() or read(). 1406 1407 .. 1408 1409 .. bpo: 23804 1410 .. date: 9114 1411 .. nonce: PP63Ff 1412 .. section: Library 1413 1414 Fix SSL recv(0) and read(0) methods to return zero bytes instead of up to 1415 1024. 1416 1417 .. 1418 1419 .. bpo: 26616 1420 .. date: 9113 1421 .. nonce: v3QwdD 1422 .. section: Library 1423 1424 Fixed a bug in datetime.astimezone() method. 1425 1426 .. 1427 1428 .. bpo: 26637 1429 .. date: 9112 1430 .. nonce: ttiUf7 1431 .. section: Library 1432 1433 The :mod:`importlib` module now emits an :exc:`ImportError` rather than a 1434 :exc:`TypeError` if :func:`__import__` is tried during the Python shutdown 1435 process but :data:`sys.path` is already cleared (set to ``None``). 1436 1437 .. 1438 1439 .. bpo: 21925 1440 .. date: 9111 1441 .. nonce: xFz-hR 1442 .. section: Library 1443 1444 :func:`warnings.formatwarning` now catches exceptions when calling 1445 :func:`linecache.getline` and :func:`tracemalloc.get_object_traceback` to be 1446 able to log :exc:`ResourceWarning` emitted late during the Python shutdown 1447 process. 1448 1449 .. 1450 1451 .. bpo: 23848 1452 .. date: 9110 1453 .. nonce: RkKqPi 1454 .. section: Library 1455 1456 On Windows, faulthandler.enable() now also installs an exception handler to 1457 dump the traceback of all Python threads on any Windows exception, not only 1458 on UNIX signals (SIGSEGV, SIGFPE, SIGABRT). 1459 1460 .. 1461 1462 .. bpo: 26530 1463 .. date: 9109 1464 .. nonce: RWN1jR 1465 .. section: Library 1466 1467 Add C functions :c:func:`_PyTraceMalloc_Track` and 1468 :c:func:`_PyTraceMalloc_Untrack` to track memory blocks using the 1469 :mod:`tracemalloc` module. Add :c:func:`_PyTraceMalloc_GetTraceback` to get 1470 the traceback of an object. 1471 1472 .. 1473 1474 .. bpo: 26588 1475 .. date: 9108 1476 .. nonce: uen0XP 1477 .. section: Library 1478 1479 The _tracemalloc now supports tracing memory allocations of multiple address 1480 spaces (domains). 1481 1482 .. 1483 1484 .. bpo: 24266 1485 .. date: 9107 1486 .. nonce: YZgVyM 1487 .. section: Library 1488 1489 Ctrl+C during Readline history search now cancels the search mode when 1490 compiled with Readline 7. 1491 1492 .. 1493 1494 .. bpo: 26590 1495 .. date: 9106 1496 .. nonce: qEy91x 1497 .. section: Library 1498 1499 Implement a safe finalizer for the _socket.socket type. It now releases the 1500 GIL to close the socket. 1501 1502 .. 1503 1504 .. bpo: 18787 1505 .. date: 9105 1506 .. nonce: rWyzgA 1507 .. section: Library 1508 1509 spwd.getspnam() now raises a PermissionError if the user doesn't have 1510 privileges. 1511 1512 .. 1513 1514 .. bpo: 26560 1515 .. date: 9104 1516 .. nonce: A4WXNz 1517 .. section: Library 1518 1519 Avoid potential ValueError in BaseHandler.start_response. Initial patch by 1520 Peter Inglesby. 1521 1522 .. 1523 1524 .. bpo: 26567 1525 .. date: 9103 1526 .. nonce: kcC99B 1527 .. section: Library 1528 1529 Add a new function :c:func:`PyErr_ResourceWarning` function to pass the 1530 destroyed object. Add a *source* attribute to 1531 :class:`warnings.WarningMessage`. Add warnings._showwarnmsg() which uses 1532 tracemalloc to get the traceback where source object was allocated. 1533 1534 .. 1535 1536 .. bpo: 26313 1537 .. date: 9102 1538 .. nonce: LjZAjy 1539 .. original section: Library 1540 .. section: Security 1541 1542 ssl.py _load_windows_store_certs fails if windows cert store is empty. Patch 1543 by Baji. 1544 1545 .. 1546 1547 .. bpo: 26569 1548 .. date: 9101 1549 .. nonce: EX8vF1 1550 .. section: Library 1551 1552 Fix :func:`pyclbr.readmodule` and :func:`pyclbr.readmodule_ex` to support 1553 importing packages. 1554 1555 .. 1556 1557 .. bpo: 26499 1558 .. date: 9100 1559 .. nonce: NP08PI 1560 .. section: Library 1561 1562 Account for remaining Content-Length in HTTPResponse.readline() and read1(). 1563 Based on patch by Silent Ghost. Also document that HTTPResponse now supports 1564 these methods. 1565 1566 .. 1567 1568 .. bpo: 25320 1569 .. date: 9099 1570 .. nonce: V96LIy 1571 .. section: Library 1572 1573 Handle sockets in directories unittest discovery is scanning. Patch from 1574 Victor van den Elzen. 1575 1576 .. 1577 1578 .. bpo: 16181 1579 .. date: 9098 1580 .. nonce: P7lLvo 1581 .. section: Library 1582 1583 cookiejar.http2time() now returns None if year is higher than 1584 datetime.MAXYEAR. 1585 1586 .. 1587 1588 .. bpo: 26513 1589 .. date: 9097 1590 .. nonce: HoPepy 1591 .. section: Library 1592 1593 Fixes platform module detection of Windows Server 1594 1595 .. 1596 1597 .. bpo: 23718 1598 .. date: 9096 1599 .. nonce: AMPC0o 1600 .. section: Library 1601 1602 Fixed parsing time in week 0 before Jan 1. Original patch by Tams Bence 1603 Gedai. 1604 1605 .. 1606 1607 .. bpo: 26323 1608 .. date: 9095 1609 .. nonce: KkZqEj 1610 .. section: Library 1611 1612 Add Mock.assert_called() and Mock.assert_called_once() methods to 1613 unittest.mock. Patch written by Amit Saha. 1614 1615 .. 1616 1617 .. bpo: 20589 1618 .. date: 9094 1619 .. nonce: NsQ_I1 1620 .. section: Library 1621 1622 Invoking Path.owner() and Path.group() on Windows now raise 1623 NotImplementedError instead of ImportError. 1624 1625 .. 1626 1627 .. bpo: 26177 1628 .. date: 9093 1629 .. nonce: HlSWer 1630 .. section: Library 1631 1632 Fixed the keys() method for Canvas and Scrollbar widgets. 1633 1634 .. 1635 1636 .. bpo: 15068 1637 .. date: 9092 1638 .. nonce: xokEVC 1639 .. section: Library 1640 1641 Got rid of excessive buffering in fileinput. The bufsize parameter is now 1642 deprecated and ignored. 1643 1644 .. 1645 1646 .. bpo: 19475 1647 .. date: 9091 1648 .. nonce: MH2HH9 1649 .. section: Library 1650 1651 Added an optional argument timespec to the datetime isoformat() method to 1652 choose the precision of the time component. 1653 1654 .. 1655 1656 .. bpo: 2202 1657 .. date: 9090 1658 .. nonce: dk9sd0 1659 .. section: Library 1660 1661 Fix UnboundLocalError in AbstractDigestAuthHandler.get_algorithm_impls. 1662 Initial patch by Mathieu Dupuy. 1663 1664 .. 1665 1666 .. bpo: 26167 1667 .. date: 9089 1668 .. nonce: 3F-d12 1669 .. section: Library 1670 1671 Minimized overhead in copy.copy() and copy.deepcopy(). Optimized copying and 1672 deepcopying bytearrays, NotImplemented, slices, short lists, tuples, dicts, 1673 sets. 1674 1675 .. 1676 1677 .. bpo: 25718 1678 .. date: 9088 1679 .. nonce: 4EjZyv 1680 .. section: Library 1681 1682 Fixed pickling and copying the accumulate() iterator with total is None. 1683 1684 .. 1685 1686 .. bpo: 26475 1687 .. date: 9087 1688 .. nonce: JXVccY 1689 .. section: Library 1690 1691 Fixed debugging output for regular expressions with the (?x) flag. 1692 1693 .. 1694 1695 .. bpo: 26482 1696 .. date: 9086 1697 .. nonce: d635gW 1698 .. section: Library 1699 1700 Allowed pickling recursive dequeues. 1701 1702 .. 1703 1704 .. bpo: 26335 1705 .. date: 9085 1706 .. nonce: iXw5Yb 1707 .. section: Library 1708 1709 Make mmap.write() return the number of bytes written like other write 1710 methods. Patch by Jakub Stasiak. 1711 1712 .. 1713 1714 .. bpo: 26457 1715 .. date: 9084 1716 .. nonce: Xe6Clh 1717 .. section: Library 1718 1719 Fixed the subnets() methods in IP network classes for the case when 1720 resulting prefix length is equal to maximal prefix length. Based on patch by 1721 Xiang Zhang. 1722 1723 .. 1724 1725 .. bpo: 26385 1726 .. date: 9083 1727 .. nonce: 50bDXm 1728 .. section: Library 1729 1730 Remove the file if the internal open() call in NamedTemporaryFile() fails. 1731 Patch by Silent Ghost. 1732 1733 .. 1734 1735 .. bpo: 26402 1736 .. date: 9082 1737 .. nonce: k7DVuU 1738 .. section: Library 1739 1740 Fix XML-RPC client to retry when the server shuts down a persistent 1741 connection. This was a regression related to the new 1742 http.client.RemoteDisconnected exception in 3.5.0a4. 1743 1744 .. 1745 1746 .. bpo: 25913 1747 .. date: 9081 1748 .. nonce: 5flb95 1749 .. section: Library 1750 1751 Leading ``<~`` is optional now in base64.a85decode() with adobe=True. Patch 1752 by Swati Jaiswal. 1753 1754 .. 1755 1756 .. bpo: 26186 1757 .. date: 9080 1758 .. nonce: R9rfiL 1759 .. section: Library 1760 1761 Remove an invalid type check in importlib.util.LazyLoader. 1762 1763 .. 1764 1765 .. bpo: 26367 1766 .. date: 9079 1767 .. nonce: Qct-9S 1768 .. section: Library 1769 1770 importlib.__import__() raises ImportError like builtins.__import__() when 1771 ``level`` is specified but without an accompanying package specified. 1772 1773 .. 1774 1775 .. bpo: 26309 1776 .. date: 9078 1777 .. nonce: ubEeiz 1778 .. section: Library 1779 1780 In the "socketserver" module, shut down the request (closing the connected 1781 socket) when verify_request() returns false. Patch by Aviv Palivoda. 1782 1783 .. 1784 1785 .. bpo: 23430 1786 .. date: 9077 1787 .. nonce: s_mLiA 1788 .. section: Library 1789 1790 Change the socketserver module to only catch exceptions raised from a 1791 request handler that are derived from Exception (instead of BaseException). 1792 Therefore SystemExit and KeyboardInterrupt no longer trigger the 1793 handle_error() method, and will now to stop a single-threaded server. 1794 1795 .. 1796 1797 .. bpo: 25939 1798 .. date: 9076 1799 .. nonce: X49Fqd 1800 .. original section: Library 1801 .. section: Security 1802 1803 On Windows open the cert store readonly in ssl.enum_certificates. 1804 1805 .. 1806 1807 .. bpo: 25995 1808 .. date: 9075 1809 .. nonce: NfcimP 1810 .. section: Library 1811 1812 os.walk() no longer uses FDs proportional to the tree depth. 1813 1814 .. 1815 1816 .. bpo: 25994 1817 .. date: 9074 1818 .. nonce: ga9rT- 1819 .. section: Library 1820 1821 Added the close() method and the support of the context manager protocol for 1822 the os.scandir() iterator. 1823 1824 .. 1825 1826 .. bpo: 23992 1827 .. date: 9073 1828 .. nonce: O0Hhvc 1829 .. section: Library 1830 1831 multiprocessing: make MapResult not fail-fast upon exception. 1832 1833 .. 1834 1835 .. bpo: 26243 1836 .. date: 9072 1837 .. nonce: 41WSpF 1838 .. section: Library 1839 1840 Support keyword arguments to zlib.compress(). Patch by Aviv Palivoda. 1841 1842 .. 1843 1844 .. bpo: 26117 1845 .. date: 9071 1846 .. nonce: ne6p11 1847 .. section: Library 1848 1849 The os.scandir() iterator now closes file descriptor not only when the 1850 iteration is finished, but when it was failed with error. 1851 1852 .. 1853 1854 .. bpo: 25949 1855 .. date: 9070 1856 .. nonce: -Lh9vz 1857 .. section: Library 1858 1859 __dict__ for an OrderedDict instance is now created only when needed. 1860 1861 .. 1862 1863 .. bpo: 25911 1864 .. date: 9069 1865 .. nonce: d4Zadh 1866 .. section: Library 1867 1868 Restored support of bytes paths in os.walk() on Windows. 1869 1870 .. 1871 1872 .. bpo: 26045 1873 .. date: 9068 1874 .. nonce: WmzUrX 1875 .. section: Library 1876 1877 Add UTF-8 suggestion to error message when posting a non-Latin-1 string with 1878 http.client. 1879 1880 .. 1881 1882 .. bpo: 26039 1883 .. date: 9067 1884 .. nonce: a5Bxm4 1885 .. section: Library 1886 1887 Added zipfile.ZipInfo.from_file() and zipinfo.ZipInfo.is_dir(). Patch by 1888 Thomas Kluyver. 1889 1890 .. 1891 1892 .. bpo: 12923 1893 .. date: 9066 1894 .. nonce: HPAu-B 1895 .. section: Library 1896 1897 Reset FancyURLopener's redirect counter even if there is an exception. 1898 Based on patches by Brian Brazil and Daniel Rocco. 1899 1900 .. 1901 1902 .. bpo: 25945 1903 .. date: 9065 1904 .. nonce: guNgNM 1905 .. section: Library 1906 1907 Fixed a crash when unpickle the functools.partial object with wrong state. 1908 Fixed a leak in failed functools.partial constructor. "args" and "keywords" 1909 attributes of functools.partial have now always types tuple and dict 1910 correspondingly. 1911 1912 .. 1913 1914 .. bpo: 26202 1915 .. date: 9064 1916 .. nonce: LPIXLg 1917 .. section: Library 1918 1919 copy.deepcopy() now correctly copies range() objects with non-atomic 1920 attributes. 1921 1922 .. 1923 1924 .. bpo: 23076 1925 .. date: 9063 1926 .. nonce: 8rphoP 1927 .. section: Library 1928 1929 Path.glob() now raises a ValueError if it's called with an invalid pattern. 1930 Patch by Thomas Nyberg. 1931 1932 .. 1933 1934 .. bpo: 19883 1935 .. date: 9062 1936 .. nonce: z9TsO6 1937 .. section: Library 1938 1939 Fixed possible integer overflows in zipimport. 1940 1941 .. 1942 1943 .. bpo: 26227 1944 .. date: 9061 1945 .. nonce: Fe6oiB 1946 .. section: Library 1947 1948 On Windows, getnameinfo(), gethostbyaddr() and gethostbyname_ex() functions 1949 of the socket module now decode the hostname from the ANSI code page rather 1950 than UTF-8. 1951 1952 .. 1953 1954 .. bpo: 26099 1955 .. date: 9060 1956 .. nonce: CH5jer 1957 .. section: Library 1958 1959 The site module now writes an error into stderr if sitecustomize module can 1960 be imported but executing the module raise an ImportError. Same change for 1961 usercustomize. 1962 1963 .. 1964 1965 .. bpo: 26147 1966 .. date: 9059 1967 .. nonce: i-Jc01 1968 .. section: Library 1969 1970 xmlrpc now works with strings not encodable with used non-UTF-8 encoding. 1971 1972 .. 1973 1974 .. bpo: 25935 1975 .. date: 9058 1976 .. nonce: cyni91 1977 .. section: Library 1978 1979 Garbage collector now breaks reference loops with OrderedDict. 1980 1981 .. 1982 1983 .. bpo: 16620 1984 .. date: 9057 1985 .. nonce: rxpn_Y 1986 .. section: Library 1987 1988 Fixed AttributeError in msilib.Directory.glob(). 1989 1990 .. 1991 1992 .. bpo: 26013 1993 .. date: 9056 1994 .. nonce: 93RKNz 1995 .. section: Library 1996 1997 Added compatibility with broken protocol 2 pickles created in old Python 3 1998 versions (3.4.3 and lower). 1999 2000 .. 2001 2002 .. bpo: 26129 2003 .. date: 9055 2004 .. nonce: g4RQZd 2005 .. section: Library 2006 2007 Deprecated accepting non-integers in grp.getgrgid(). 2008 2009 .. 2010 2011 .. bpo: 25850 2012 .. date: 9054 2013 .. nonce: jwFPxj 2014 .. section: Library 2015 2016 Use cross-compilation by default for 64-bit Windows. 2017 2018 .. 2019 2020 .. bpo: 25822 2021 .. date: 9053 2022 .. nonce: 0Eafyi 2023 .. section: Library 2024 2025 Add docstrings to the fields of urllib.parse results. Patch contributed by 2026 Swati Jaiswal. 2027 2028 .. 2029 2030 .. bpo: 22642 2031 .. date: 9052 2032 .. nonce: PEgS9F 2033 .. section: Library 2034 2035 Convert trace module option parsing mechanism to argparse. Patch contributed 2036 by SilentGhost. 2037 2038 .. 2039 2040 .. bpo: 24705 2041 .. date: 9051 2042 .. nonce: IZYwjR 2043 .. section: Library 2044 2045 Fix sysconfig._parse_makefile not expanding ${} vars appearing before $() 2046 vars. 2047 2048 .. 2049 2050 .. bpo: 26069 2051 .. date: 9050 2052 .. nonce: NaF4lN 2053 .. section: Library 2054 2055 Remove the deprecated apis in the trace module. 2056 2057 .. 2058 2059 .. bpo: 22138 2060 .. date: 9049 2061 .. nonce: nRNYkc 2062 .. section: Library 2063 2064 Fix mock.patch behavior when patching descriptors. Restore original values 2065 after patching. Patch contributed by Sean McCully. 2066 2067 .. 2068 2069 .. bpo: 25672 2070 .. date: 9048 2071 .. nonce: fw9RJP 2072 .. section: Library 2073 2074 In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode option if it is 2075 safe to do so. 2076 2077 .. 2078 2079 .. bpo: 26012 2080 .. date: 9047 2081 .. nonce: IFSXNm 2082 .. section: Library 2083 2084 Don't traverse into symlinks for ``**`` pattern in pathlib.Path.[r]glob(). 2085 2086 .. 2087 2088 .. bpo: 24120 2089 .. date: 9046 2090 .. nonce: Yiwa0h 2091 .. section: Library 2092 2093 Ignore PermissionError when traversing a tree with pathlib.Path.[r]glob(). 2094 Patch by Ulrich Petri. 2095 2096 .. 2097 2098 .. bpo: 21815 2099 .. date: 9045 2100 .. nonce: h7-UY8 2101 .. section: Library 2102 2103 Accept ] characters in the data portion of imap responses, in order to 2104 handle the flags with square brackets accepted and produced by servers such 2105 as gmail. 2106 2107 .. 2108 2109 .. bpo: 25447 2110 .. date: 9044 2111 .. nonce: -4m4xO 2112 .. section: Library 2113 2114 fileinput now uses sys.stdin as-is if it does not have a buffer attribute 2115 (restores backward compatibility). 2116 2117 .. 2118 2119 .. bpo: 25971 2120 .. date: 9043 2121 .. nonce: vhMeG0 2122 .. section: Library 2123 2124 Optimized creating Fractions from floats by 2 times and from Decimals by 3 2125 times. 2126 2127 .. 2128 2129 .. bpo: 25802 2130 .. date: 9042 2131 .. nonce: Y2KOnA 2132 .. section: Library 2133 2134 Document as deprecated the remaining implementations of 2135 importlib.abc.Loader.load_module(). 2136 2137 .. 2138 2139 .. bpo: 25928 2140 .. date: 9041 2141 .. nonce: JsQfKK 2142 .. section: Library 2143 2144 Add Decimal.as_integer_ratio(). 2145 2146 .. 2147 2148 .. bpo: 25447 2149 .. date: 9040 2150 .. nonce: ajPRDy 2151 .. section: Library 2152 2153 Copying the lru_cache() wrapper object now always works, independently from 2154 the type of the wrapped object (by returning the original object unchanged). 2155 2156 .. 2157 2158 .. bpo: 25768 2159 .. date: 9039 2160 .. nonce: GDj2ip 2161 .. section: Library 2162 2163 Have the functions in compileall return booleans instead of ints and add 2164 proper documentation and tests for the return values. 2165 2166 .. 2167 2168 .. bpo: 24103 2169 .. date: 9038 2170 .. nonce: WufqrQ 2171 .. section: Library 2172 2173 Fixed possible use after free in ElementTree.XMLPullParser. 2174 2175 .. 2176 2177 .. bpo: 25860 2178 .. date: 9037 2179 .. nonce: 0hActb 2180 .. section: Library 2181 2182 os.fwalk() no longer skips remaining directories when error occurs. 2183 Original patch by Samson Lee. 2184 2185 .. 2186 2187 .. bpo: 25914 2188 .. date: 9036 2189 .. nonce: h0V61F 2190 .. section: Library 2191 2192 Fixed and simplified OrderedDict.__sizeof__. 2193 2194 .. 2195 2196 .. bpo: 25869 2197 .. date: 9035 2198 .. nonce: eAnRH5 2199 .. section: Library 2200 2201 Optimized deepcopying ElementTree; it is now 20 times faster. 2202 2203 .. 2204 2205 .. bpo: 25873 2206 .. date: 9034 2207 .. nonce: L4Fgjm 2208 .. section: Library 2209 2210 Optimized iterating ElementTree. Iterating elements Element.iter() is now 2211 40% faster, iterating text Element.itertext() is now up to 2.5 times faster. 2212 2213 .. 2214 2215 .. bpo: 25902 2216 .. date: 9033 2217 .. nonce: 6t2FmH 2218 .. section: Library 2219 2220 Fixed various refcount issues in ElementTree iteration. 2221 2222 .. 2223 2224 .. bpo: 22227 2225 .. date: 9032 2226 .. nonce: 5utM-Q 2227 .. section: Library 2228 2229 The TarFile iterator is reimplemented using generator. This implementation 2230 is simpler that using class. 2231 2232 .. 2233 2234 .. bpo: 25638 2235 .. date: 9031 2236 .. nonce: yitRj4 2237 .. section: Library 2238 2239 Optimized ElementTree.iterparse(); it is now 2x faster. Optimized 2240 ElementTree parsing; it is now 10% faster. 2241 2242 .. 2243 2244 .. bpo: 25761 2245 .. date: 9030 2246 .. nonce: JGgMOP 2247 .. section: Library 2248 2249 Improved detecting errors in broken pickle data. 2250 2251 .. 2252 2253 .. bpo: 25717 2254 .. date: 9029 2255 .. nonce: 0_xjaK 2256 .. section: Library 2257 2258 Restore the previous behaviour of tolerating most fstat() errors when 2259 opening files. This was a regression in 3.5a1, and stopped anonymous 2260 temporary files from working in special cases. 2261 2262 .. 2263 2264 .. bpo: 24903 2265 .. date: 9028 2266 .. nonce: 3LBdzb 2267 .. section: Library 2268 2269 Fix regression in number of arguments compileall accepts when '-d' is 2270 specified. The check on the number of arguments has been dropped completely 2271 as it never worked correctly anyway. 2272 2273 .. 2274 2275 .. bpo: 25764 2276 .. date: 9027 2277 .. nonce: 7WWG07 2278 .. section: Library 2279 2280 In the subprocess module, preserve any exception caused by fork() failure 2281 when preexec_fn is used. 2282 2283 .. 2284 2285 .. bpo: 25771 2286 .. date: 9026 2287 .. nonce: It-7Qf 2288 .. section: Library 2289 2290 Tweak the exception message for importlib.util.resolve_name() when 'package' 2291 isn't specified but necessary. 2292 2293 .. 2294 2295 .. bpo: 6478 2296 .. date: 9025 2297 .. nonce: -Bi9Hb 2298 .. section: Library 2299 2300 _strptime's regexp cache now is reset after changing timezone with 2301 time.tzset(). 2302 2303 .. 2304 2305 .. bpo: 14285 2306 .. date: 9024 2307 .. nonce: UyG8Hj 2308 .. section: Library 2309 2310 When executing a package with the "python -m package" option, and package 2311 initialization fails, a proper traceback is now reported. The "runpy" 2312 module now lets exceptions from package initialization pass back to the 2313 caller, rather than raising ImportError. 2314 2315 .. 2316 2317 .. bpo: 19771 2318 .. date: 9023 2319 .. nonce: 5NG-bg 2320 .. section: Library 2321 2322 Also in runpy and the "-m" option, omit the irrelevant message ". . . is a 2323 package and cannot be directly executed" if the package could not even be 2324 initialized (e.g. due to a bad ``*.pyc`` file). 2325 2326 .. 2327 2328 .. bpo: 25177 2329 .. date: 9022 2330 .. nonce: aNR4Ha 2331 .. section: Library 2332 2333 Fixed problem with the mean of very small and very large numbers. As a side 2334 effect, statistics.mean and statistics.variance should be significantly 2335 faster. 2336 2337 .. 2338 2339 .. bpo: 25718 2340 .. date: 9021 2341 .. nonce: D9mHZF 2342 .. section: Library 2343 2344 Fixed copying object with state with boolean value is false. 2345 2346 .. 2347 2348 .. bpo: 10131 2349 .. date: 9020 2350 .. nonce: a7tptz 2351 .. section: Library 2352 2353 Fixed deep copying of minidom documents. Based on patch by Marian Ganisin. 2354 2355 .. 2356 2357 .. bpo: 7990 2358 .. date: 9019 2359 .. nonce: fpvQxH 2360 .. section: Library 2361 2362 dir() on ElementTree.Element now lists properties: "tag", "text", "tail" and 2363 "attrib". Original patch by Santoso Wijaya. 2364 2365 .. 2366 2367 .. bpo: 25725 2368 .. date: 9018 2369 .. nonce: XIKv3R 2370 .. section: Library 2371 2372 Fixed a reference leak in pickle.loads() when unpickling invalid data 2373 including tuple instructions. 2374 2375 .. 2376 2377 .. bpo: 25663 2378 .. date: 9017 2379 .. nonce: Ofwfqa 2380 .. section: Library 2381 2382 In the Readline completer, avoid listing duplicate global names, and search 2383 the global namespace before searching builtins. 2384 2385 .. 2386 2387 .. bpo: 25688 2388 .. date: 9016 2389 .. nonce: 8P1HOv 2390 .. section: Library 2391 2392 Fixed file leak in ElementTree.iterparse() raising an error. 2393 2394 .. 2395 2396 .. bpo: 23914 2397 .. date: 9015 2398 .. nonce: 1sEz4J 2399 .. section: Library 2400 2401 Fixed SystemError raised by unpickler on broken pickle data. 2402 2403 .. 2404 2405 .. bpo: 25691 2406 .. date: 9014 2407 .. nonce: ZEaapY 2408 .. section: Library 2409 2410 Fixed crash on deleting ElementTree.Element attributes. 2411 2412 .. 2413 2414 .. bpo: 25624 2415 .. date: 9013 2416 .. nonce: ed-fM0 2417 .. section: Library 2418 2419 ZipFile now always writes a ZIP_STORED header for directory entries. Patch 2420 by Dingyuan Wang. 2421 2422 .. 2423 2424 .. bpo: 25626 2425 .. date: 9012 2426 .. nonce: TQ3fvb 2427 .. section: Library 2428 2429 Change three zlib functions to accept sizes that fit in Py_ssize_t, but 2430 internally cap those sizes to UINT_MAX. This resolves a regression in 3.5 2431 where GzipFile.read() failed to read chunks larger than 2 or 4 GiB. The 2432 change affects the zlib.Decompress.decompress() max_length parameter, the 2433 zlib.decompress() bufsize parameter, and the zlib.Decompress.flush() length 2434 parameter. 2435 2436 .. 2437 2438 .. bpo: 25583 2439 .. date: 9011 2440 .. nonce: Gk-cim 2441 .. section: Library 2442 2443 Avoid incorrect errors raised by os.makedirs(exist_ok=True) when the OS 2444 gives priority to errors such as EACCES over EEXIST. 2445 2446 .. 2447 2448 .. bpo: 25593 2449 .. date: 9010 2450 .. nonce: 56uegI 2451 .. section: Library 2452 2453 Change semantics of EventLoop.stop() in asyncio. 2454 2455 .. 2456 2457 .. bpo: 6973 2458 .. date: 9009 2459 .. nonce: nl5cHt 2460 .. section: Library 2461 2462 When we know a subprocess.Popen process has died, do not allow the 2463 send_signal(), terminate(), or kill() methods to do anything as they could 2464 potentially signal a different process. 2465 2466 .. 2467 2468 .. bpo: 23883 2469 .. date: 9008 2470 .. nonce: OQS5sS 2471 .. section: Library 2472 2473 Added missing APIs to __all__ to match the documented APIs for the following 2474 modules: calendar, csv, enum, fileinput, ftplib, logging, optparse, tarfile, 2475 threading and wave. Also added a test.support.check__all__() helper. 2476 Patches by Jacek Koodziej, Mauro S. M. Rodrigues and Joel Taddei. 2477 2478 .. 2479 2480 .. bpo: 25590 2481 .. date: 9007 2482 .. nonce: KPcnfv 2483 .. section: Library 2484 2485 In the Readline completer, only call getattr() once per attribute. Also 2486 complete names of attributes such as properties and slots which are listed 2487 by dir() but not yet created on an instance. 2488 2489 .. 2490 2491 .. bpo: 25498 2492 .. date: 9006 2493 .. nonce: AvqEBl 2494 .. section: Library 2495 2496 Fix a crash when garbage-collecting ctypes objects created by wrapping a 2497 memoryview. This was a regression made in 3.5a1. Based on patch by 2498 Eryksun. 2499 2500 .. 2501 2502 .. bpo: 25584 2503 .. date: 9005 2504 .. nonce: 124mYw 2505 .. section: Library 2506 2507 Added "escape" to the __all__ list in the glob module. 2508 2509 .. 2510 2511 .. bpo: 25584 2512 .. date: 9004 2513 .. nonce: ZeWX0J 2514 .. section: Library 2515 2516 Fixed recursive glob() with patterns starting with ``**``. 2517 2518 .. 2519 2520 .. bpo: 25446 2521 .. date: 9003 2522 .. nonce: k1DByx 2523 .. section: Library 2524 2525 Fix regression in smtplib's AUTH LOGIN support. 2526 2527 .. 2528 2529 .. bpo: 18010 2530 .. date: 9002 2531 .. nonce: Azyf1C 2532 .. section: Library 2533 2534 Fix the pydoc web server's module search function to handle exceptions from 2535 importing packages. 2536 2537 .. 2538 2539 .. bpo: 25554 2540 .. date: 9001 2541 .. nonce: UM9MlR 2542 .. section: Library 2543 2544 Got rid of circular references in regular expression parsing. 2545 2546 .. 2547 2548 .. bpo: 18973 2549 .. date: 9000 2550 .. nonce: Am9jFL 2551 .. section: Library 2552 2553 Command-line interface of the calendar module now uses argparse instead of 2554 optparse. 2555 2556 .. 2557 2558 .. bpo: 25510 2559 .. date: 8999 2560 .. nonce: 79g7LA 2561 .. section: Library 2562 2563 fileinput.FileInput.readline() now returns b'' instead of '' at the end if 2564 the FileInput was opened with binary mode. Patch by Ryosuke Ito. 2565 2566 .. 2567 2568 .. bpo: 25503 2569 .. date: 8998 2570 .. nonce: Zea0Y7 2571 .. section: Library 2572 2573 Fixed inspect.getdoc() for inherited docstrings of properties. Original 2574 patch by John Mark Vandenberg. 2575 2576 .. 2577 2578 .. bpo: 25515 2579 .. date: 8997 2580 .. nonce: fQsyYG 2581 .. section: Library 2582 2583 Always use os.urandom as a source of randomness in uuid.uuid4. 2584 2585 .. 2586 2587 .. bpo: 21827 2588 .. date: 8996 2589 .. nonce: k2oreR 2590 .. section: Library 2591 2592 Fixed textwrap.dedent() for the case when largest common whitespace is a 2593 substring of smallest leading whitespace. Based on patch by Robert Li. 2594 2595 .. 2596 2597 .. bpo: 25447 2598 .. date: 8995 2599 .. nonce: eDYc4t 2600 .. section: Library 2601 2602 The lru_cache() wrapper objects now can be copied and pickled (by returning 2603 the original object unchanged). 2604 2605 .. 2606 2607 .. bpo: 25390 2608 .. date: 8994 2609 .. nonce: 6mSgRq 2610 .. section: Library 2611 2612 typing: Don't crash on Union[str, Pattern]. 2613 2614 .. 2615 2616 .. bpo: 25441 2617 .. date: 8993 2618 .. nonce: d7zph6 2619 .. section: Library 2620 2621 asyncio: Raise error from drain() when socket is closed. 2622 2623 .. 2624 2625 .. bpo: 25410 2626 .. date: 8992 2627 .. nonce: QAs_3B 2628 .. section: Library 2629 2630 Cleaned up and fixed minor bugs in C implementation of OrderedDict. 2631 2632 .. 2633 2634 .. bpo: 25411 2635 .. date: 8991 2636 .. nonce: qsJTCb 2637 .. section: Library 2638 2639 Improved Unicode support in SMTPHandler through better use of the email 2640 package. Thanks to user simon04 for the patch. 2641 2642 .. 2643 2644 .. bpo: 0 2645 .. date: 8990 2646 .. nonce: pFHJ0i 2647 .. section: Library 2648 2649 Move the imp module from a PendingDeprecationWarning to DeprecationWarning. 2650 2651 .. 2652 2653 .. bpo: 25407 2654 .. date: 8989 2655 .. nonce: ukNt1D 2656 .. section: Library 2657 2658 Remove mentions of the formatter module being removed in Python 3.6. 2659 2660 .. 2661 2662 .. bpo: 25406 2663 .. date: 8988 2664 .. nonce: 5MZKU_ 2665 .. section: Library 2666 2667 Fixed a bug in C implementation of OrderedDict.move_to_end() that caused 2668 segmentation fault or hang in iterating after moving several items to the 2669 start of ordered dict. 2670 2671 .. 2672 2673 .. bpo: 25382 2674 .. date: 8987 2675 .. nonce: XQ44yE 2676 .. section: Library 2677 2678 pickletools.dis() now outputs implicit memo index for the MEMOIZE opcode. 2679 2680 .. 2681 2682 .. bpo: 25357 2683 .. date: 8986 2684 .. nonce: ebqGy- 2685 .. section: Library 2686 2687 Add an optional newline parameter to binascii.b2a_base64(). base64.b64encode() 2688 uses it to avoid a memory copy. 2689 2690 .. 2691 2692 .. bpo: 24164 2693 .. date: 8985 2694 .. nonce: oi6H3E 2695 .. section: Library 2696 2697 Objects that need calling ``__new__`` with keyword arguments, can now be 2698 pickled using pickle protocols older than protocol version 4. 2699 2700 .. 2701 2702 .. bpo: 25364 2703 .. date: 8984 2704 .. nonce: u_1Wi6 2705 .. section: Library 2706 2707 zipfile now works in threads disabled builds. 2708 2709 .. 2710 2711 .. bpo: 25328 2712 .. date: 8983 2713 .. nonce: Rja1Xg 2714 .. section: Library 2715 2716 smtpd's SMTPChannel now correctly raises a ValueError if both decode_data 2717 and enable_SMTPUTF8 are set to true. 2718 2719 .. 2720 2721 .. bpo: 16099 2722 .. date: 8982 2723 .. nonce: _MTt3k 2724 .. section: Library 2725 2726 RobotFileParser now supports Crawl-delay and Request-rate extensions. Patch 2727 by Nikolay Bogoychev. 2728 2729 .. 2730 2731 .. bpo: 25316 2732 .. date: 8981 2733 .. nonce: dHQHWI 2734 .. section: Library 2735 2736 distutils raises OSError instead of DistutilsPlatformError when MSVC is not 2737 installed. 2738 2739 .. 2740 2741 .. bpo: 25380 2742 .. date: 8980 2743 .. nonce: sKZ6-I 2744 .. section: Library 2745 2746 Fixed protocol for the STACK_GLOBAL opcode in pickletools.opcodes. 2747 2748 .. 2749 2750 .. bpo: 23972 2751 .. date: 8979 2752 .. nonce: s2g30g 2753 .. section: Library 2754 2755 Updates asyncio datagram create method allowing reuseport and reuseaddr 2756 socket options to be set prior to binding the socket. Mirroring the existing 2757 asyncio create_server method the reuseaddr option for datagram sockets 2758 defaults to True if the O/S is 'posix' (except if the platform is Cygwin). 2759 Patch by Chris Laws. 2760 2761 .. 2762 2763 .. bpo: 25304 2764 .. date: 8978 2765 .. nonce: CsmLyI 2766 .. section: Library 2767 2768 Add asyncio.run_coroutine_threadsafe(). This lets you submit a coroutine to 2769 a loop from another thread, returning a concurrent.futures.Future. By 2770 Vincent Michel. 2771 2772 .. 2773 2774 .. bpo: 25232 2775 .. date: 8977 2776 .. nonce: KhKjCE 2777 .. section: Library 2778 2779 Fix CGIRequestHandler to split the query from the URL at the first question 2780 mark (?) rather than the last. Patch from Xiang Zhang. 2781 2782 .. 2783 2784 .. bpo: 24657 2785 .. date: 8976 2786 .. nonce: h2Ag7y 2787 .. section: Library 2788 2789 Prevent CGIRequestHandler from collapsing slashes in the query part of the 2790 URL as if it were a path. Patch from Xiang Zhang. 2791 2792 .. 2793 2794 .. bpo: 25287 2795 .. date: 8975 2796 .. nonce: KhzzMW 2797 .. section: Library 2798 2799 Don't add crypt.METHOD_CRYPT to crypt.methods if it's not supported. Check 2800 if it is supported, it may not be supported on OpenBSD for example. 2801 2802 .. 2803 2804 .. bpo: 23600 2805 .. date: 8974 2806 .. nonce: 7J_RD5 2807 .. section: Library 2808 2809 Default implementation of tzinfo.fromutc() was returning wrong results in 2810 some cases. 2811 2812 .. 2813 2814 .. bpo: 25203 2815 .. date: 8973 2816 .. nonce: IgDEbt 2817 .. section: Library 2818 2819 Failed readline.set_completer_delims() no longer left the module in 2820 inconsistent state. 2821 2822 .. 2823 2824 .. bpo: 25011 2825 .. date: 8972 2826 .. nonce: VcaCd6 2827 .. section: Library 2828 2829 rlcompleter now omits private and special attribute names unless the prefix 2830 starts with underscores. 2831 2832 .. 2833 2834 .. bpo: 25209 2835 .. date: 8971 2836 .. nonce: WxKcdJ 2837 .. section: Library 2838 2839 rlcompleter now can add a space or a colon after completed keyword. 2840 2841 .. 2842 2843 .. bpo: 22241 2844 .. date: 8970 2845 .. nonce: a-Mtw2 2846 .. section: Library 2847 2848 timezone.utc name is now plain 'UTC', not 'UTC-00:00'. 2849 2850 .. 2851 2852 .. bpo: 23517 2853 .. date: 8969 2854 .. nonce: 0ABp8q 2855 .. section: Library 2856 2857 fromtimestamp() and utcfromtimestamp() methods of datetime.datetime now 2858 round microseconds to nearest with ties going to nearest even integer 2859 (ROUND_HALF_EVEN), as round(float), instead of rounding towards -Infinity 2860 (ROUND_FLOOR). 2861 2862 .. 2863 2864 .. bpo: 23552 2865 .. date: 8968 2866 .. nonce: I0T-M- 2867 .. section: Library 2868 2869 Timeit now warns when there is substantial (4x) variance between best and 2870 worst times. Patch from Serhiy Storchaka. 2871 2872 .. 2873 2874 .. bpo: 24633 2875 .. date: 8967 2876 .. nonce: 6Unn9B 2877 .. section: Library 2878 2879 site-packages/README -> README.txt. 2880 2881 .. 2882 2883 .. bpo: 24879 2884 .. date: 8966 2885 .. nonce: YUzg_z 2886 .. section: Library 2887 2888 help() and pydoc can now list named tuple fields in the order they were 2889 defined rather than alphabetically. The ordering is determined by the 2890 _fields attribute if present. 2891 2892 .. 2893 2894 .. bpo: 24874 2895 .. date: 8965 2896 .. nonce: luBfgA 2897 .. section: Library 2898 2899 Improve speed of itertools.cycle() and make its pickle more compact. 2900 2901 .. 2902 2903 .. bpo: 0 2904 .. date: 8964 2905 .. nonce: mD-_3v 2906 .. section: Library 2907 2908 Fix crash in itertools.cycle.__setstate__() when the first argument wasn't a 2909 list. 2910 2911 .. 2912 2913 .. bpo: 20059 2914 .. date: 8963 2915 .. nonce: SHv0Ji 2916 .. section: Library 2917 2918 urllib.parse raises ValueError on all invalid ports. Patch by Martin Panter. 2919 2920 .. 2921 2922 .. bpo: 24360 2923 .. date: 8962 2924 .. nonce: 5RwH-e 2925 .. section: Library 2926 2927 Improve __repr__ of argparse.Namespace() for invalid identifiers. Patch by 2928 Matthias Bussonnier. 2929 2930 .. 2931 2932 .. bpo: 23426 2933 .. date: 8961 2934 .. nonce: PUV-Cx 2935 .. section: Library 2936 2937 run_setup was broken in distutils. Patch from Alexander Belopolsky. 2938 2939 .. 2940 2941 .. bpo: 13938 2942 .. date: 8960 2943 .. nonce: e5NSE1 2944 .. section: Library 2945 2946 2to3 converts StringTypes to a tuple. Patch from Mark Hammond. 2947 2948 .. 2949 2950 .. bpo: 2091 2951 .. date: 8959 2952 .. nonce: bp56pO 2953 .. section: Library 2954 2955 open() accepted a 'U' mode string containing '+', but 'U' can only be used 2956 with 'r'. Patch from Jeff Balogh and John O'Connor. 2957 2958 .. 2959 2960 .. bpo: 8585 2961 .. date: 8958 2962 .. nonce: 78hPc2 2963 .. section: Library 2964 2965 improved tests for zipimporter2. Patch from Mark Lawrence. 2966 2967 .. 2968 2969 .. bpo: 18622 2970 .. date: 8957 2971 .. nonce: i6nCCW 2972 .. section: Library 2973 2974 unittest.mock.mock_open().reset_mock would recurse infinitely. Patch from 2975 Nicola Palumbo and Laurent De Buyst. 2976 2977 .. 2978 2979 .. bpo: 24426 2980 .. date: 8956 2981 .. nonce: yCtQfT 2982 .. section: Library 2983 2984 Fast searching optimization in regular expressions now works for patterns 2985 that starts with capturing groups. Fast searching optimization now can't be 2986 disabled at compile time. 2987 2988 .. 2989 2990 .. bpo: 23661 2991 .. date: 8955 2992 .. nonce: 5VHJmh 2993 .. section: Library 2994 2995 unittest.mock side_effects can now be exceptions again. This was a 2996 regression vs Python 3.4. Patch from Ignacio Rossi 2997 2998 .. 2999 3000 .. bpo: 13248 3001 .. date: 8954 3002 .. nonce: SA2hvu 3003 .. section: Library 3004 3005 Remove deprecated inspect.getmoduleinfo function. 3006 3007 .. 3008 3009 .. bpo: 25578 3010 .. date: 8953 3011 .. nonce: G6S-ft 3012 .. section: Library 3013 3014 Fix (another) memory leak in SSLSocket.getpeercer(). 3015 3016 .. 3017 3018 .. bpo: 25530 3019 .. date: 8952 3020 .. nonce: hDFkwu 3021 .. section: Library 3022 3023 Disable the vulnerable SSLv3 protocol by default when creating 3024 ssl.SSLContext. 3025 3026 .. 3027 3028 .. bpo: 25569 3029 .. date: 8951 3030 .. nonce: CfvQjK 3031 .. section: Library 3032 3033 Fix memory leak in SSLSocket.getpeercert(). 3034 3035 .. 3036 3037 .. bpo: 25471 3038 .. date: 8950 3039 .. nonce: T0A02M 3040 .. section: Library 3041 3042 Sockets returned from accept() shouldn't appear to be nonblocking. 3043 3044 .. 3045 3046 .. bpo: 25319 3047 .. date: 8949 3048 .. nonce: iyuglv 3049 .. section: Library 3050 3051 When threading.Event is reinitialized, the underlying condition should use a 3052 regular lock rather than a recursive lock. 3053 3054 .. 3055 3056 .. bpo: 0 3057 .. date: 8948 3058 .. nonce: rtZyid 3059 .. section: Library 3060 3061 Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu Davis. 3062 3063 .. 3064 3065 .. bpo: 26050 3066 .. date: 8947 3067 .. nonce: sclyvk 3068 .. section: Library 3069 3070 Add asyncio.StreamReader.readuntil() method. Patch by . 3071 3072 .. 3073 3074 .. bpo: 25924 3075 .. date: 8946 3076 .. nonce: Uxr2vt 3077 .. section: Library 3078 3079 Avoid unnecessary serialization of getaddrinfo(3) calls on OS X versions 3080 10.5 or higher. Original patch by A. Jesse Jiryu Davis. 3081 3082 .. 3083 3084 .. bpo: 26406 3085 .. date: 8945 3086 .. nonce: ihvhF4 3087 .. section: Library 3088 3089 Avoid unnecessary serialization of getaddrinfo(3) calls on current versions 3090 of OpenBSD and NetBSD. Patch by A. Jesse Jiryu Davis. 3091 3092 .. 3093 3094 .. bpo: 26848 3095 .. date: 8944 3096 .. nonce: ChBOpQ 3097 .. section: Library 3098 3099 Fix asyncio/subprocess.communicate() to handle empty input. Patch by Jack 3100 O'Connor. 3101 3102 .. 3103 3104 .. bpo: 27040 3105 .. date: 8943 3106 .. nonce: UASyCC 3107 .. section: Library 3108 3109 Add loop.get_exception_handler method 3110 3111 .. 3112 3113 .. bpo: 27041 3114 .. date: 8942 3115 .. nonce: p3893U 3116 .. section: Library 3117 3118 asyncio: Add loop.create_future method 3119 3120 .. 3121 3122 .. bpo: 20640 3123 .. date: 8941 3124 .. nonce: PmI-G8 3125 .. section: IDLE 3126 3127 Add tests for idlelib.configHelpSourceEdit. Patch by Saimadhav Heblikar. 3128 3129 .. 3130 3131 .. bpo: 0 3132 .. date: 8940 3133 .. nonce: _YJfG7 3134 .. section: IDLE 3135 3136 In the 'IDLE-console differences' section of the IDLE doc, clarify how 3137 running with IDLE affects sys.modules and the standard streams. 3138 3139 .. 3140 3141 .. bpo: 25507 3142 .. date: 8939 3143 .. nonce: i8bNpk 3144 .. section: IDLE 3145 3146 fix incorrect change in IOBinding that prevented printing. Augment IOBinding 3147 htest to include all major IOBinding functions. 3148 3149 .. 3150 3151 .. bpo: 25905 3152 .. date: 8938 3153 .. nonce: FzNb3B 3154 .. section: IDLE 3155 3156 Revert unwanted conversion of ' to RIGHT SINGLE QUOTATION MARK in 3157 README.txt and open this and NEWS.txt with 'ascii'. Re-encode CREDITS.txt to 3158 utf-8 and open it with 'utf-8'. 3159 3160 .. 3161 3162 .. bpo: 15348 3163 .. date: 8937 3164 .. nonce: d1Fg01 3165 .. section: IDLE 3166 3167 Stop the debugger engine (normally in a user process) before closing the 3168 debugger window (running in the IDLE process). This prevents the 3169 RuntimeErrors that were being caught and ignored. 3170 3171 .. 3172 3173 .. bpo: 24455 3174 .. date: 8936 3175 .. nonce: x6YqtE 3176 .. section: IDLE 3177 3178 Prevent IDLE from hanging when a) closing the shell while the debugger is 3179 active (15347); b) closing the debugger with the [X] button (15348); and c) 3180 activating the debugger when already active (24455). The patch by Mark 3181 Roseman does this by making two changes. 1. Suspend and resume the 3182 gui.interaction method with the tcl vwait mechanism intended for this 3183 purpose (instead of root.mainloop & .quit). 2. In gui.run, allow any 3184 existing interaction to terminate first. 3185 3186 .. 3187 3188 .. bpo: 0 3189 .. date: 8935 3190 .. nonce: Yp9LRY 3191 .. section: IDLE 3192 3193 Change 'The program' to 'Your program' in an IDLE 'kill program?' message to 3194 make it clearer that the program referred to is the currently running user 3195 program, not IDLE itself. 3196 3197 .. 3198 3199 .. bpo: 24750 3200 .. date: 8934 3201 .. nonce: xgsi-K 3202 .. section: IDLE 3203 3204 Improve the appearance of the IDLE editor window status bar. Patch by Mark 3205 Roseman. 3206 3207 .. 3208 3209 .. bpo: 25313 3210 .. date: 8933 3211 .. nonce: xMXHpO 3212 .. section: IDLE 3213 3214 Change the handling of new built-in text color themes to better address the 3215 compatibility problem introduced by the addition of IDLE Dark. Consistently 3216 use the revised idleConf.CurrentTheme everywhere in idlelib. 3217 3218 .. 3219 3220 .. bpo: 24782 3221 .. date: 8932 3222 .. nonce: RgIPYE 3223 .. section: IDLE 3224 3225 Extension configuration is now a tab in the IDLE Preferences dialog rather 3226 than a separate dialog. The former tabs are now a sorted list. Patch by 3227 Mark Roseman. 3228 3229 .. 3230 3231 .. bpo: 22726 3232 .. date: 8931 3233 .. nonce: x8T0dA 3234 .. section: IDLE 3235 3236 Re-activate the config dialog help button with some content about the other 3237 buttons and the new IDLE Dark theme. 3238 3239 .. 3240 3241 .. bpo: 24820 3242 .. date: 8930 3243 .. nonce: TFPJhr 3244 .. section: IDLE 3245 3246 IDLE now has an 'IDLE Dark' built-in text color theme. It is more or less 3247 IDLE Classic inverted, with a cobalt blue background. Strings, comments, 3248 keywords, ... are still green, red, orange, ... . To use it with IDLEs 3249 released before November 2015, hit the 'Save as New Custom Theme' button and 3250 enter a new name, such as 'Custom Dark'. The custom theme will work with 3251 any IDLE release, and can be modified. 3252 3253 .. 3254 3255 .. bpo: 25224 3256 .. date: 8929 3257 .. nonce: 5Llwo4 3258 .. section: IDLE 3259 3260 README.txt is now an idlelib index for IDLE developers and curious users. 3261 The previous user content is now in the IDLE doc chapter. 'IDLE' now means 3262 'Integrated Development and Learning Environment'. 3263 3264 .. 3265 3266 .. bpo: 24820 3267 .. date: 8928 3268 .. nonce: ZUz9Fn 3269 .. section: IDLE 3270 3271 Users can now set breakpoint colors in Settings -> Custom Highlighting. 3272 Original patch by Mark Roseman. 3273 3274 .. 3275 3276 .. bpo: 24972 3277 .. date: 8927 3278 .. nonce: uc0uNo 3279 .. section: IDLE 3280 3281 Inactive selection background now matches active selection background, as 3282 configured by users, on all systems. Found items are now always highlighted 3283 on Windows. Initial patch by Mark Roseman. 3284 3285 .. 3286 3287 .. bpo: 24570 3288 .. date: 8926 3289 .. nonce: s3EkNn 3290 .. section: IDLE 3291 3292 Idle: make calltip and completion boxes appear on Macs affected by a tk 3293 regression. Initial patch by Mark Roseman. 3294 3295 .. 3296 3297 .. bpo: 24988 3298 .. date: 8925 3299 .. nonce: tXqq4T 3300 .. section: IDLE 3301 3302 Idle ScrolledList context menus (used in debugger) now work on Mac Aqua. 3303 Patch by Mark Roseman. 3304 3305 .. 3306 3307 .. bpo: 24801 3308 .. date: 8924 3309 .. nonce: -bj_Ou 3310 .. section: IDLE 3311 3312 Make right-click for context menu work on Mac Aqua. Patch by Mark Roseman. 3313 3314 .. 3315 3316 .. bpo: 25173 3317 .. date: 8923 3318 .. nonce: EZzrPg 3319 .. section: IDLE 3320 3321 Associate tkinter messageboxes with a specific widget. For Mac OSX, make 3322 them a 'sheet'. Patch by Mark Roseman. 3323 3324 .. 3325 3326 .. bpo: 25198 3327 .. date: 8922 3328 .. nonce: -j_BV7 3329 .. section: IDLE 3330 3331 Enhance the initial html viewer now used for Idle Help. Properly indent 3332 fixed-pitch text (patch by Mark Roseman). Give code snippet a very 3333 Sphinx-like light blueish-gray background. Re-use initial width and height set by 3334 users for shell and editor. When the Table of Contents (TOC) menu is used, 3335 put the section header at the top of the screen. 3336 3337 .. 3338 3339 .. bpo: 25225 3340 .. date: 8921 3341 .. nonce: 9pvdq6 3342 .. section: IDLE 3343 3344 Condense and rewrite Idle doc section on text colors. 3345 3346 .. 3347 3348 .. bpo: 21995 3349 .. date: 8920 3350 .. nonce: C5Rmzx 3351 .. section: IDLE 3352 3353 Explain some differences between IDLE and console Python. 3354 3355 .. 3356 3357 .. bpo: 22820 3358 .. date: 8919 3359 .. nonce: hix_8X 3360 .. section: IDLE 3361 3362 Explain need for *print* when running file from Idle editor. 3363 3364 .. 3365 3366 .. bpo: 25224 3367 .. date: 8918 3368 .. nonce: UVMYQq 3369 .. section: IDLE 3370 3371 Doc: augment Idle feature list and no-subprocess section. 3372 3373 .. 3374 3375 .. bpo: 25219 3376 .. date: 8917 3377 .. nonce: 8_9DYg 3378 .. section: IDLE 3379 3380 Update doc for Idle command line options. Some were missing and notes were 3381 not correct. 3382 3383 .. 3384 3385 .. bpo: 24861 3386 .. date: 8916 3387 .. nonce: Ecg2yT 3388 .. section: IDLE 3389 3390 Most of idlelib is private and subject to change. Use idleib.idle.* to start 3391 Idle. See idlelib.__init__.__doc__. 3392 3393 .. 3394 3395 .. bpo: 25199 3396 .. date: 8915 3397 .. nonce: ih7yY3 3398 .. section: IDLE 3399 3400 Idle: add synchronization comments for future maintainers. 3401 3402 .. 3403 3404 .. bpo: 16893 3405 .. date: 8914 3406 .. nonce: uIi1oB 3407 .. section: IDLE 3408 3409 Replace help.txt with help.html for Idle doc display. The new 3410 idlelib/help.html is rstripped Doc/build/html/library/idle.html. It looks 3411 better than help.txt and will better document Idle as released. The tkinter 3412 html viewer that works for this file was written by Rose Roseman. The now 3413 unused EditorWindow.HelpDialog class and helt.txt file are deprecated. 3414 3415 .. 3416 3417 .. bpo: 24199 3418 .. date: 8913 3419 .. nonce: VKnZEv 3420 .. section: IDLE 3421 3422 Deprecate unused idlelib.idlever with possible removal in 3.6. 3423 3424 .. 3425 3426 .. bpo: 24790 3427 .. date: 8912 3428 .. nonce: hD1hlj 3429 .. section: IDLE 3430 3431 Remove extraneous code (which also create 2 & 3 conflicts). 3432 3433 .. 3434 3435 .. bpo: 26736 3436 .. date: 8911 3437 .. nonce: U_Hyqo 3438 .. section: Documentation 3439 3440 Used HTTPS for external links in the documentation if possible. 3441 3442 .. 3443 3444 .. bpo: 6953 3445 .. date: 8910 3446 .. nonce: Zk6rno 3447 .. section: Documentation 3448 3449 Rework the Readline module documentation to group related functions 3450 together, and add more details such as what underlying Readline functions 3451 and variables are accessed. 3452 3453 .. 3454 3455 .. bpo: 23606 3456 .. date: 8909 3457 .. nonce: 9MhIso 3458 .. section: Documentation 3459 3460 Adds note to ctypes documentation regarding cdll.msvcrt. 3461 3462 .. 3463 3464 .. bpo: 24952 3465 .. date: 8908 3466 .. nonce: RHhFPE 3467 .. section: Documentation 3468 3469 Clarify the default size argument of stack_size() in the "threading" and 3470 "_thread" modules. Patch from Mattip. 3471 3472 .. 3473 3474 .. bpo: 26014 3475 .. date: 8907 3476 .. nonce: ptdZ_I 3477 .. section: Documentation 3478 3479 Update 3.x packaging documentation: * "See also" links to the new docs are 3480 now provided in the legacy pages * links to setuptools documentation have 3481 been updated 3482 3483 .. 3484 3485 .. bpo: 21916 3486 .. date: 8906 3487 .. nonce: muwCyp 3488 .. section: Tests 3489 3490 Added tests for the turtle module. Patch by ingrid, Gregory Loyse and Jelle 3491 Zijlstra. 3492 3493 .. 3494 3495 .. bpo: 26295 3496 .. date: 8905 3497 .. nonce: sYBtj5 3498 .. section: Tests 3499 3500 When using "python3 -m test --testdir=TESTDIR", regrtest doesn't add "test." 3501 prefix to test module names. 3502 3503 .. 3504 3505 .. bpo: 26523 3506 .. date: 8904 3507 .. nonce: em_Uzt 3508 .. section: Tests 3509 3510 The multiprocessing thread pool (multiprocessing.dummy.Pool) was untested. 3511 3512 .. 3513 3514 .. bpo: 26015 3515 .. date: 8903 3516 .. nonce: p3oWK3 3517 .. section: Tests 3518 3519 Added new tests for pickling iterators of mutable sequences. 3520 3521 .. 3522 3523 .. bpo: 26325 3524 .. date: 8902 3525 .. nonce: KOUc82 3526 .. section: Tests 3527 3528 Added test.support.check_no_resource_warning() to check that no 3529 ResourceWarning is emitted. 3530 3531 .. 3532 3533 .. bpo: 25940 3534 .. date: 8901 3535 .. nonce: MvBwSe 3536 .. section: Tests 3537 3538 Changed test_ssl to use its internal local server more. This avoids relying 3539 on svn.python.org, which recently changed root certificate. 3540 3541 .. 3542 3543 .. bpo: 25616 3544 .. date: 8900 3545 .. nonce: Qr-60p 3546 .. section: Tests 3547 3548 Tests for OrderedDict are extracted from test_collections into separate file 3549 test_ordered_dict. 3550 3551 .. 3552 3553 .. bpo: 25449 3554 .. date: 8899 3555 .. nonce: MP6KNs 3556 .. section: Tests 3557 3558 Added tests for OrderedDict subclasses. 3559 3560 .. 3561 3562 .. bpo: 25188 3563 .. date: 8898 3564 .. nonce: lnLnIW 3565 .. section: Tests 3566 3567 Add -P/--pgo to test.regrtest to suppress error output when running the test 3568 suite for the purposes of a PGO build. Initial patch by Alecsandru Patrascu. 3569 3570 .. 3571 3572 .. bpo: 22806 3573 .. date: 8897 3574 .. nonce: _QHyyV 3575 .. section: Tests 3576 3577 Add ``python -m test --list-tests`` command to list tests. 3578 3579 .. 3580 3581 .. bpo: 18174 3582 .. date: 8896 3583 .. nonce: TzH9d_ 3584 .. section: Tests 3585 3586 ``python -m test --huntrleaks ...`` now also checks for leak of file 3587 descriptors. Patch written by Richard Oudkerk. 3588 3589 .. 3590 3591 .. bpo: 25260 3592 .. date: 8895 3593 .. nonce: jw3p83 3594 .. section: Tests 3595 3596 Fix ``python -m test --coverage`` on Windows. Remove the list of ignored 3597 directories. 3598 3599 .. 3600 3601 .. bpo: 0 3602 .. date: 8894 3603 .. nonce: X-Bk5l 3604 .. section: Tests 3605 3606 ``PCbuild\rt.bat`` now accepts an unlimited number of arguments to pass 3607 along to regrtest.py. Previously there was a limit of 9. 3608 3609 .. 3610 3611 .. bpo: 26583 3612 .. date: 8893 3613 .. nonce: Up7hTl 3614 .. section: Tests 3615 3616 Skip test_timestamp_overflow in test_import if bytecode files cannot be 3617 written. 3618 3619 .. 3620 3621 .. bpo: 21277 3622 .. date: 8892 3623 .. nonce: 7y1j9a 3624 .. section: Build 3625 3626 Don't try to link _ctypes with a ffi_convenience library. 3627 3628 .. 3629 3630 .. bpo: 26884 3631 .. date: 8891 3632 .. nonce: O8-azL 3633 .. section: Build 3634 3635 Fix linking extension modules for cross builds. Patch by Xavier de Gaye. 3636 3637 .. 3638 3639 .. bpo: 26932 3640 .. date: 8890 3641 .. nonce: 5kzaG9 3642 .. section: Build 3643 3644 Fixed support of RTLD_* constants defined as enum values, not via macros (in 3645 particular on Android). Patch by Chi Hsuan Yen. 3646 3647 .. 3648 3649 .. bpo: 22359 3650 .. date: 8889 3651 .. nonce: HDjM4s 3652 .. section: Build 3653 3654 Disable the rules for running _freeze_importlib and pgen when 3655 cross-compiling. The output of these programs is normally saved with the source 3656 code anyway, and is still regenerated when doing a native build. Patch by 3657 Xavier de Gaye. 3658 3659 .. 3660 3661 .. bpo: 21668 3662 .. date: 8888 3663 .. nonce: qWwBui 3664 .. section: Build 3665 3666 Link audioop, _datetime, _ctypes_test modules to libm, except on Mac OS X. 3667 Patch written by Chi Hsuan Yen. 3668 3669 .. 3670 3671 .. bpo: 25702 3672 .. date: 8887 3673 .. nonce: ipxyJs 3674 .. section: Build 3675 3676 A --with-lto configure option has been added that will enable link time 3677 optimizations at build time during a make profile-opt. Some compilers and 3678 toolchains are known to not produce stable code when using LTO, be sure to 3679 test things thoroughly before relying on it. It can provide a few % speed up 3680 over profile-opt alone. 3681 3682 .. 3683 3684 .. bpo: 26624 3685 .. date: 8886 3686 .. nonce: 4fGrTl 3687 .. section: Build 3688 3689 Adds validation of ucrtbase[d].dll version with warning for old versions. 3690 3691 .. 3692 3693 .. bpo: 17603 3694 .. date: 8885 3695 .. nonce: 102DA- 3696 .. section: Build 3697 3698 Avoid error about nonexistant fileblocks.o file by using a lower-level check 3699 for st_blocks in struct stat. 3700 3701 .. 3702 3703 .. bpo: 26079 3704 .. date: 8884 3705 .. nonce: mEzW0O 3706 .. section: Build 3707 3708 Fixing the build output folder for tix-8.4.3.6. Patch by Bjoern Thiel. 3709 3710 .. 3711 3712 .. bpo: 26465 3713 .. date: 8883 3714 .. nonce: _YR608 3715 .. section: Build 3716 3717 Update Windows builds to use OpenSSL 1.0.2g. 3718 3719 .. 3720 3721 .. bpo: 25348 3722 .. date: 8882 3723 .. nonce: FLSPfp 3724 .. section: Build 3725 3726 Added ``--pgo`` and ``--pgo-job`` arguments to ``PCbuild\build.bat`` for 3727 building with Profile-Guided Optimization. The old 3728 ``PCbuild\build_pgo.bat`` script is removed. 3729 3730 .. 3731 3732 .. bpo: 25827 3733 .. date: 8881 3734 .. nonce: yg3DMM 3735 .. section: Build 3736 3737 Add support for building with ICC to ``configure``, including a new 3738 ``--with-icc`` flag. 3739 3740 .. 3741 3742 .. bpo: 25696 3743 .. date: 8880 3744 .. nonce: 2R_wIv 3745 .. section: Build 3746 3747 Fix installation of Python on UNIX with make -j9. 3748 3749 .. 3750 3751 .. bpo: 24986 3752 .. date: 8879 3753 .. nonce: 1WyXeU 3754 .. section: Build 3755 3756 It is now possible to build Python on Windows without errors when external 3757 libraries are not available. 3758 3759 .. 3760 3761 .. bpo: 24421 3762 .. date: 8878 3763 .. nonce: 2zY7vM 3764 .. section: Build 3765 3766 Compile Modules/_math.c once, before building extensions. Previously it 3767 could fail to compile properly if the math and cmath builds were concurrent. 3768 3769 .. 3770 3771 .. bpo: 26465 3772 .. date: 8877 3773 .. nonce: PkIaV8 3774 .. section: Build 3775 3776 Update OS X 10.5+ 32-bit-only installer to build and link with OpenSSL 3777 1.0.2g. 3778 3779 .. 3780 3781 .. bpo: 26268 3782 .. date: 8876 3783 .. nonce: I3-YLh 3784 .. section: Build 3785 3786 Update Windows builds to use OpenSSL 1.0.2f. 3787 3788 .. 3789 3790 .. bpo: 25136 3791 .. date: 8875 3792 .. nonce: Vi-fmO 3793 .. section: Build 3794 3795 Support Apple Xcode 7's new textual SDK stub libraries. 3796 3797 .. 3798 3799 .. bpo: 24324 3800 .. date: 8874 3801 .. nonce: m6DZMx 3802 .. section: Build 3803 3804 Do not enable unreachable code warnings when using gcc as the option does 3805 not work correctly in older versions of gcc and has been silently removed as 3806 of gcc-4.5. 3807 3808 .. 3809 3810 .. bpo: 27053 3811 .. date: 8873 3812 .. nonce: 1IRbae 3813 .. section: Windows 3814 3815 Updates make_zip.py to correctly generate library ZIP file. 3816 3817 .. 3818 3819 .. bpo: 26268 3820 .. date: 8872 3821 .. nonce: Z-lJEh 3822 .. section: Windows 3823 3824 Update the prepare_ssl.py script to handle OpenSSL releases that don't 3825 include the contents of the include directory (that is, 1.0.2e and later). 3826 3827 .. 3828 3829 .. bpo: 26071 3830 .. date: 8871 3831 .. nonce: wLxL2l 3832 .. section: Windows 3833 3834 bdist_wininst created binaries fail to start and find 32bit Python 3835 3836 .. 3837 3838 .. bpo: 26073 3839 .. date: 8870 3840 .. nonce: XwWgHp 3841 .. section: Windows 3842 3843 Update the list of magic numbers in launcher 3844 3845 .. 3846 3847 .. bpo: 26065 3848 .. date: 8869 3849 .. nonce: SkVLJp 3850 .. section: Windows 3851 3852 Excludes venv from library when generating embeddable distro. 3853 3854 .. 3855 3856 .. bpo: 25022 3857 .. date: 8868 3858 .. nonce: vAt_zr 3859 .. section: Windows 3860 3861 Removed very outdated PC/example_nt/ directory. 3862 3863 .. 3864 3865 .. bpo: 26799 3866 .. date: 8867 3867 .. nonce: gK2VXX 3868 .. section: Tools/Demos 3869 3870 Fix python-gdb.py: don't get C types once when the Python code is loaded, 3871 but get C types on demand. The C types can change if python-gdb.py is loaded 3872 before the Python executable. Patch written by Thomas Ilsche. 3873 3874 .. 3875 3876 .. bpo: 26271 3877 .. date: 8866 3878 .. nonce: wg-rzr 3879 .. section: Tools/Demos 3880 3881 Fix the Freeze tool to properly use flags passed through configure. Patch by 3882 Daniel Shaulov. 3883 3884 .. 3885 3886 .. bpo: 26489 3887 .. date: 8865 3888 .. nonce: rJ_U5S 3889 .. section: Tools/Demos 3890 3891 Add dictionary unpacking support to Tools/parser/unparse.py. Patch by Guo Ci 3892 Teo. 3893 3894 .. 3895 3896 .. bpo: 26316 3897 .. date: 8864 3898 .. nonce: QJvVOi 3899 .. section: Tools/Demos 3900 3901 Fix variable name typo in Argument Clinic. 3902 3903 .. 3904 3905 .. bpo: 25440 3906 .. date: 8863 3907 .. nonce: 5xhyGr 3908 .. section: Tools/Demos 3909 3910 Fix output of python-config --extension-suffix. 3911 3912 .. 3913 3914 .. bpo: 25154 3915 .. date: 8862 3916 .. nonce: yLO-r4 3917 .. section: Tools/Demos 3918 3919 The pyvenv script has been deprecated in favour of `python3 -m venv`. 3920 3921 .. 3922 3923 .. bpo: 26312 3924 .. date: 8861 3925 .. nonce: h1T61B 3926 .. section: C API 3927 3928 SystemError is now raised in all programming bugs with using 3929 PyArg_ParseTupleAndKeywords(). RuntimeError did raised before in some 3930 programming bugs. 3931 3932 .. 3933 3934 .. bpo: 26198 3935 .. date: 8860 3936 .. nonce: lVn1HX 3937 .. section: C API 3938 3939 ValueError is now raised instead of TypeError on buffer overflow in parsing 3940 "es#" and "et#" format units. SystemError is now raised instead of 3941 TypeError on programmatical error in parsing format string. 3942