1 .. bpo: 32176 2 .. date: 2017-12-02-21-37-22 3 .. nonce: Wt25-N 4 .. release date: 2017-12-05 5 .. section: Core and Builtins 6 7 co_flags.CO_NOFREE is now always set correctly by the code object 8 constructor based on freevars and cellvars, rather than needing to be set 9 correctly by the caller. This ensures it will be cleared automatically when 10 additional cell references are injected into a modified code object and 11 function. 12 13 .. 14 15 .. bpo: 10544 16 .. date: 2017-11-27-08-37-34 17 .. nonce: 07nioT 18 .. section: Core and Builtins 19 20 Yield expressions are now deprecated in comprehensions and generator 21 expressions. They are still permitted in the definition of the outermost 22 iterable, as that is evaluated directly in the enclosing scope. 23 24 .. 25 26 .. bpo: 32137 27 .. date: 2017-11-26-14-36-30 28 .. nonce: Stj5nL 29 .. section: Core and Builtins 30 31 The repr of deeply nested dict now raises a RecursionError instead of 32 crashing due to a stack overflow. 33 34 .. 35 36 .. bpo: 32096 37 .. date: 2017-11-24-01-13-58 38 .. nonce: CQTHXJ 39 .. section: Core and Builtins 40 41 Revert memory allocator changes in the C API: move structures back from 42 _PyRuntime to Objects/obmalloc.c. The memory allocators are once again 43 initialized statically, and so PyMem_RawMalloc() and Py_DecodeLocale() can 44 be called before _PyRuntime_Initialize(). 45 46 .. 47 48 .. bpo: 32043 49 .. date: 2017-11-16-03-44-08 50 .. nonce: AAzwpZ 51 .. section: Core and Builtins 52 53 Add a new "developer mode": new "-X dev" command line option to enable debug 54 checks at runtime. 55 56 .. 57 58 .. bpo: 32023 59 .. date: 2017-11-15-10-49-35 60 .. nonce: XnCGT5 61 .. section: Core and Builtins 62 63 SyntaxError is now correctly raised when a generator expression without 64 parenthesis is used instead of an inheritance list in a class definition. 65 The duplication of the parentheses can be omitted only on calls. 66 67 .. 68 69 .. bpo: 32012 70 .. date: 2017-11-13-00-37-11 71 .. nonce: Kprjqe 72 .. section: Core and Builtins 73 74 SyntaxError is now correctly raised when a generator expression without 75 parenthesis is passed as an argument, but followed by a trailing comma. A 76 generator expression always needs to be directly inside a set of parentheses 77 and cannot have a comma on either side. 78 79 .. 80 81 .. bpo: 28180 82 .. date: 2017-11-12-11-44-22 83 .. nonce: HQX000 84 .. section: Core and Builtins 85 86 A new internal ``_Py_SetLocaleFromEnv(category)`` helper function has been 87 added in order to improve the consistency of behaviour across different 88 ``libc`` implementations (e.g. Android doesn't support setting the locale 89 from the environment by default). 90 91 .. 92 93 .. bpo: 31949 94 .. date: 2017-11-05-16-11-07 95 .. nonce: 2yNC_z 96 .. section: Core and Builtins 97 98 Fixed several issues in printing tracebacks (PyTraceBack_Print()). 99 100 * Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks. 101 * Setting sys.tracebacklimit to None now causes using the default limit. 102 * Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using 103 the limit LONG_MAX rather than the default limit. 104 * Fixed integer overflows in the case of more than 2**31 traceback items on 105 Windows. 106 * Fixed output errors handling. 107 108 .. 109 110 .. bpo: 30696 111 .. date: 2017-10-28-22-06-03 112 .. nonce: lhC3HE 113 .. section: Core and Builtins 114 115 Fix the interactive interpreter looping endlessly when no memory. 116 117 .. 118 119 .. bpo: 20047 120 .. date: 2017-10-28-19-11-05 121 .. nonce: GuNAto 122 .. section: Core and Builtins 123 124 Bytearray methods partition() and rpartition() now accept only bytes-like 125 objects as separator, as documented. In particular they now raise TypeError 126 rather of returning a bogus result when an integer is passed as a separator. 127 128 .. 129 130 .. bpo: 21720 131 .. date: 2017-10-25-15-51-37 132 .. nonce: BwIKLP 133 .. section: Core and Builtins 134 135 BytesWarning no longer emitted when the *fromlist* argument of 136 ``__import__()`` or the ``__all__`` attribute of the module contain bytes 137 instances. 138 139 .. 140 141 .. bpo: 31845 142 .. date: 2017-10-24-21-27-32 143 .. nonce: 8OS-k3 144 .. section: Core and Builtins 145 146 Environment variables are once more read correctly at interpreter startup. 147 148 .. 149 150 .. bpo: 28936 151 .. date: 2017-10-23-23-39-26 152 .. nonce: C288Jh 153 .. section: Core and Builtins 154 155 Ensure that lexically first syntax error involving a parameter and 156 ``global`` or ``nonlocal`` is detected first at a given scope. Patch by Ivan 157 Levkivskyi. 158 159 .. 160 161 .. bpo: 31825 162 .. date: 2017-10-20-14-07-46 163 .. nonce: gJvmGW 164 .. section: Core and Builtins 165 166 Fixed OverflowError in the 'unicode-escape' codec and in 167 codecs.escape_decode() when decode an escaped non-ascii byte. 168 169 .. 170 171 .. bpo: 31618 172 .. date: 2017-10-18-19-41-12 173 .. nonce: liLDiS 174 .. section: Core and Builtins 175 176 The per-frame tracing logic added in 3.7a1 has been altered so that 177 ``frame->f_lineno`` is updated before either ``"line"`` or ``"opcode"`` 178 events are emitted. Previously, opcode events were emitted first, and 179 therefore would occasionally see stale line numbers on the frame. The 180 behavior of this feature has changed slightly as a result: when both 181 ``f_trace_lines`` and ``f_trace_opcodes`` are enabled, line events now occur 182 first. 183 184 .. 185 186 .. bpo: 28603 187 .. date: 2017-10-17-13-29-19 188 .. nonce: _-oia3 189 .. section: Core and Builtins 190 191 Print the full context/cause chain of exceptions on interpreter exit, even 192 if an exception in the chain is unhashable or compares equal to later ones. 193 Patch by Zane Bitter. 194 195 .. 196 197 .. bpo: 31786 198 .. date: 2017-10-15-23-44-57 199 .. nonce: XwdEP4 200 .. section: Core and Builtins 201 202 Fix timeout rounding in the select module to round correctly negative 203 timeouts between -1.0 and 0.0. The functions now block waiting for events as 204 expected. Previously, the call was incorrectly non-blocking. Patch by Pablo 205 Galindo. 206 207 .. 208 209 .. bpo: 31781 210 .. date: 2017-10-13-20-01-47 211 .. nonce: cXE9SM 212 .. section: Core and Builtins 213 214 Prevent crashes when calling methods of an uninitialized 215 ``zipimport.zipimporter`` object. Patch by Oren Milman. 216 217 .. 218 219 .. bpo: 30399 220 .. date: 2017-10-12-22-21-01 221 .. nonce: 45f1gv 222 .. section: Core and Builtins 223 224 Standard repr() of BaseException with a single argument no longer contains 225 redundant trailing comma. 226 227 .. 228 229 .. bpo: 31626 230 .. date: 2017-10-01-15-48-03 231 .. nonce: reLPxY 232 .. section: Core and Builtins 233 234 Fixed a bug in debug memory allocator. There was a write to freed memory 235 after shrinking a memory block. 236 237 .. 238 239 .. bpo: 30817 240 .. date: 2017-07-01-15-11-13 241 .. nonce: j7ZvN_ 242 .. section: Core and Builtins 243 244 `PyErr_PrintEx()` clears now the ignored exception that may be raised by 245 `_PySys_SetObjectId()`, for example when no memory. 246 247 .. 248 249 .. bpo: 28556 250 .. date: 2017-12-05-02-03-07 251 .. nonce: 9Z_PsJ 252 .. section: Library 253 254 Two minor fixes for ``typing`` module: allow shallow copying instances of 255 generic classes, improve interaction of ``__init_subclass__`` with generics. 256 Original PRs by Ivan Levkivskyi. 257 258 .. 259 260 .. bpo: 32214 261 .. date: 2017-12-04-15-51-57 262 .. nonce: uozdNj 263 .. section: Library 264 265 PEP 557, Data Classes. Provides a decorator which adds boilerplate methods 266 to classes which use type annotations so specify fields. 267 268 .. 269 270 .. bpo: 27240 271 .. date: 2017-12-02-16-06-00 272 .. nonce: Kji34M 273 .. section: Library 274 275 The header folding algorithm for the new email policies has been rewritten, 276 which also fixes bpo-30788, bpo-31831, and bpo-32182. In particular, 277 RFC2231 folding is now done correctly. 278 279 .. 280 281 .. bpo: 32186 282 .. date: 2017-11-30-20-38-16 283 .. nonce: O42bVe 284 .. section: Library 285 286 io.FileIO.readall() and io.FileIO.read() now release the GIL when getting 287 the file size. Fixed hang of all threads with inaccessible NFS server. Patch 288 by Nir Soffer. 289 290 .. 291 292 .. bpo: 321010 293 .. date: 2017-11-29-00-42-47 294 .. nonce: -axD5l 295 .. section: Library 296 297 Add :attr:`sys.flags.dev_mode` flag 298 299 .. 300 301 .. bpo: 32154 302 .. date: 2017-11-28-15-27-10 303 .. nonce: kDox7L 304 .. section: Library 305 306 The ``asyncio.windows_utils.socketpair()`` function has been removed: use 307 directly :func:`socket.socketpair` which is available on all platforms since 308 Python 3.5 (before, it wasn't available on Windows). 309 ``asyncio.windows_utils.socketpair()`` was just an alias to 310 ``socket.socketpair`` on Python 3.5 and newer. 311 312 .. 313 314 .. bpo: 32089 315 .. date: 2017-11-27-11-29-34 316 .. nonce: 6ydDYv 317 .. section: Library 318 319 warnings: In development (-X dev) and debug mode (pydebug build), use the 320 "default" action for ResourceWarning, rather than the "always" action, in 321 the default warnings filters. 322 323 .. 324 325 .. bpo: 32107 326 .. date: 2017-11-26-18-48-17 327 .. nonce: h2ph2K 328 .. section: Library 329 330 ``uuid.getnode()`` now preferentially returns universally administered MAC 331 addresses if available, over locally administered MAC addresses. This makes 332 a better guarantee for global uniqueness of UUIDs returned from 333 ``uuid.uuid1()``. If only locally administered MAC addresses are available, 334 the first such one found is returned. 335 336 .. 337 338 .. bpo: 23033 339 .. date: 2017-11-26-17-00-52 340 .. nonce: YGXRWT 341 .. section: Library 342 343 Wildcard is now supported in hostname when it is one and only character in 344 the left most segment of hostname in second argument of 345 :meth:`ssl.match_hostname`. Patch by Mandeep Singh. 346 347 .. 348 349 .. bpo: 12239 350 .. date: 2017-11-24-14-07-55 351 .. nonce: Nj3A0x 352 .. section: Library 353 354 Make :meth:`msilib.SummaryInformation.GetProperty` return ``None`` when the 355 value of property is ``VT_EMPTY``. Initial patch by Mark Mc Mahon. 356 357 .. 358 359 .. bpo: 28334 360 .. date: 2017-11-24-11-50-41 361 .. nonce: 3gGGlt 362 .. section: Library 363 364 Use :func:`os.path.expanduser` to find the ``~/.netrc`` file in 365 :class:`netrc.netrc`. If it does not exist, :exc:`FileNotFoundError` is 366 raised. Patch by Dimitri Merejkowsky. 367 368 .. 369 370 .. bpo: 32121 371 .. date: 2017-11-24-00-59-12 372 .. nonce: ePbmwC 373 .. section: Library 374 375 Made ``tracemalloc.Traceback`` behave more like the traceback module, 376 sorting the frames from oldest to most recent. ``Traceback.format()`` now 377 accepts negative *limit*, truncating the result to the ``abs(limit)`` oldest 378 frames. To get the old behaviour, one can use the new *most_recent_first* 379 argument to ``Traceback.format()``. (Patch by Jesse Bakker.) 380 381 .. 382 383 .. bpo: 31325 384 .. date: 2017-11-23-22-12-11 385 .. nonce: 8jAUxN 386 .. section: Library 387 388 Fix wrong usage of :func:`collections.namedtuple` in the 389 :meth:`RobotFileParser.parse() <urllib.robotparser.RobotFileParser.parse>` 390 method. 391 392 Initial patch by Robin Wellner. 393 394 .. 395 396 .. bpo: 12382 397 .. date: 2017-11-23-21-47-36 398 .. nonce: xWT9k0 399 .. section: Library 400 401 :func:`msilib.OpenDatabase` now raises a better exception message when it 402 couldn't open or create an MSI file. Initial patch by William Tister. 403 404 .. 405 406 .. bpo: 19610 407 .. date: 2017-11-23-16-15-55 408 .. nonce: Dlca2P 409 .. section: Library 410 411 ``setup()`` now warns about invalid types for some fields. 412 413 The ``distutils.dist.Distribution`` class now warns when ``classifiers``, 414 ``keywords`` and ``platforms`` fields are not specified as a list or a 415 string. 416 417 .. 418 419 .. bpo: 32071 420 .. date: 2017-11-22-19-52-17 421 .. nonce: 4WNhUH 422 .. section: Library 423 424 Added the ``-k`` command-line option to ``python -m unittest`` to run only 425 tests that match the given pattern(s). 426 427 .. 428 429 .. bpo: 10049 430 .. date: 2017-11-22-17-21-01 431 .. nonce: ttsBqb 432 .. section: Library 433 434 Added *nullcontext* no-op context manager to contextlib. This provides a 435 simpler and faster alternative to ExitStack() when handling optional context 436 managers. 437 438 .. 439 440 .. bpo: 28684 441 .. date: 2017-11-22-12-54-46 442 .. nonce: NLiDKZ 443 .. section: Library 444 445 The new test.support.skip_unless_bind_unix_socket() decorator is used here 446 to skip asyncio tests that fail because the platform lacks a functional 447 bind() function for unix domain sockets (as it is the case for non root 448 users on the recent Android versions that run now SELinux in enforcing 449 mode). 450 451 .. 452 453 .. bpo: 32110 454 .. date: 2017-11-22-09-44-15 455 .. nonce: VJa9bo 456 .. section: Library 457 458 ``codecs.StreamReader.read(n)`` now returns not more than *n* 459 characters/bytes for non-negative *n*. This makes it compatible with 460 ``read()`` methods of other file-like objects. 461 462 .. 463 464 .. bpo: 27535 465 .. date: 2017-11-21-16-05-35 466 .. nonce: JLhcNz 467 .. section: Library 468 469 The warnings module doesn't leak memory anymore in the hidden warnings 470 registry for the "ignore" action of warnings filters. warn_explicit() 471 function doesn't add the warning key to the registry anymore for the 472 "ignore" action. 473 474 .. 475 476 .. bpo: 32088 477 .. date: 2017-11-20-15-28-31 478 .. nonce: mV-4Nu 479 .. section: Library 480 481 warnings: When Python is build is debug mode (``Py_DEBUG``), 482 :exc:`DeprecationWarning`, :exc:`PendingDeprecationWarning` and 483 :exc:`ImportWarning` warnings are now displayed by default. 484 485 .. 486 487 .. bpo: 1647489 488 .. date: 2017-11-20-01-29-46 489 .. nonce: -ZNNkh 490 .. section: Library 491 492 Fixed searching regular expression patterns that could match an empty 493 string. Non-empty string can now be correctly found after matching an empty 494 string. 495 496 .. 497 498 .. bpo: 25054 499 .. date: 2017-11-20-01-01-01 500 .. nonce: rOlRV6 501 .. section: Library 502 503 Added support of splitting on a pattern that could match an empty string. 504 505 .. 506 507 .. bpo: 32072 508 .. date: 2017-11-18-21-13-52 509 .. nonce: nwDV8L 510 .. section: Library 511 512 Fixed issues with binary plists: 513 514 * Fixed saving bytearrays. 515 * Identical objects will be saved only once. 516 * Equal references will be load as identical objects. 517 * Added support for saving and loading recursive data structures. 518 519 .. 520 521 .. bpo: 32069 522 .. date: 2017-11-18-17-09-01 523 .. nonce: S0wyy4 524 .. section: Library 525 526 Drop legacy SSL transport from asyncio, ssl.MemoryBIO is always used anyway. 527 528 .. 529 530 .. bpo: 32066 531 .. date: 2017-11-17-18-28-53 532 .. nonce: OMQFLH 533 .. section: Library 534 535 asyncio: Support pathlib.Path in create_unix_connection; sock arg should be 536 optional 537 538 .. 539 540 .. bpo: 32046 541 .. date: 2017-11-16-20-09-45 542 .. nonce: 9sGDtw 543 .. section: Library 544 545 Updates 2to3 to convert from operator.isCallable(obj) to callable(obj). 546 Patch by Dong-hee Na. 547 548 .. 549 550 .. bpo: 32018 551 .. date: 2017-11-16-02-32-41 552 .. nonce: YMQ7Q2 553 .. section: Library 554 555 inspect.signature should follow PEP 8, if the parameter has an annotation 556 and a default value. Patch by Dong-hee Na. 557 558 .. 559 560 .. bpo: 32025 561 .. date: 2017-11-15-20-03-45 562 .. nonce: lnIKYT 563 .. section: Library 564 565 Add time.thread_time() and time.thread_time_ns() 566 567 .. 568 569 .. bpo: 32037 570 .. date: 2017-11-15-19-04-22 571 .. nonce: r8-5Nk 572 .. section: Library 573 574 Integers that fit in a signed 32-bit integer will be now pickled with 575 protocol 0 using the INT opcode. This will decrease the size of a pickle, 576 speed up pickling and unpickling, and make these integers be unpickled as 577 int instances in Python 2. 578 579 .. 580 581 .. bpo: 32034 582 .. date: 2017-11-15-13-44-28 583 .. nonce: uHAOmu 584 .. section: Library 585 586 Make asyncio.IncompleteReadError and LimitOverrunError pickleable. 587 588 .. 589 590 .. bpo: 32015 591 .. date: 2017-11-13-17-48-33 592 .. nonce: 4nqRTD 593 .. section: Library 594 595 Fixed the looping of asyncio in the case of reconnection the socket during 596 waiting async read/write from/to the socket. 597 598 .. 599 600 .. bpo: 32011 601 .. date: 2017-11-12-20-47-59 602 .. nonce: NzVDdZ 603 .. section: Library 604 605 Restored support of loading marshal files with the TYPE_INT64 code. These 606 files can be produced in Python 2.7. 607 608 .. 609 610 .. bpo: 28369 611 .. date: 2017-11-10-16-27-26 612 .. nonce: IS74nd 613 .. section: Library 614 615 Enhance add_reader/writer check that socket is not used by some transport. 616 Before, only cases when add_reader/writer were called with an int FD were 617 supported. Now the check is implemented correctly for all file-like 618 objects. 619 620 .. 621 622 .. bpo: 31976 623 .. date: 2017-11-09-21-36-32 624 .. nonce: EOA7qY 625 .. section: Library 626 627 Fix race condition when flushing a file is slow, which can cause a segfault 628 if closing the file from another thread. 629 630 .. 631 632 .. bpo: 31985 633 .. date: 2017-11-08-16-51-52 634 .. nonce: dE_fOB 635 .. section: Library 636 637 Formally deprecated aifc.openfp, sunau.openfp, and wave.openfp. Since change 638 7bc817d5ba917528e8bd07ec461c635291e7b06a in 1993, openfp in each of the 639 three modules had been pointing to that module's open function as a matter 640 of backwards compatibility, though it had been both untested and 641 undocumented. 642 643 .. 644 645 .. bpo: 21862 646 .. date: 2017-11-07-15-19-52 647 .. nonce: RwietE 648 .. section: Library 649 650 cProfile command line now accepts `-m module_name` as an alternative to 651 script path. Patch by Sanyam Khurana. 652 653 .. 654 655 .. bpo: 31970 656 .. date: 2017-11-07-14-20-09 657 .. nonce: x4EN_9 658 .. section: Library 659 660 Reduce performance overhead of asyncio debug mode. 661 662 .. 663 664 .. bpo: 31843 665 .. date: 2017-11-07-00-37-50 666 .. nonce: lM2gkR 667 .. section: Library 668 669 *database* argument of sqlite3.connect() now accepts a :term:`path-like 670 object`, instead of just a string. 671 672 .. 673 674 .. bpo: 31945 675 .. date: 2017-11-05-01-17-12 676 .. nonce: TLPBtS 677 .. section: Library 678 679 Add Configurable *blocksize* to ``HTTPConnection`` and ``HTTPSConnection`` 680 for improved upload throughput. Patch by Nir Soffer. 681 682 .. 683 684 .. bpo: 31943 685 .. date: 2017-11-04-19-28-08 686 .. nonce: bxw5gM 687 .. section: Library 688 689 Add a ``cancelled()`` method to :class:`asyncio.Handle`. Patch by Marat 690 Sharafutdinov. 691 692 .. 693 694 .. bpo: 9678 695 .. date: 2017-11-03-22-05-47 696 .. nonce: oD51q6 697 .. section: Library 698 699 Fixed determining the MAC address in the uuid module: 700 701 * Using ifconfig on NetBSD and OpenBSD. 702 * Using arp on Linux, FreeBSD, NetBSD and OpenBSD. 703 704 Based on patch by Takayuki Shimizukawa. 705 706 .. 707 708 .. bpo: 30057 709 .. date: 2017-11-03-19-11-43 710 .. nonce: NCaijI 711 .. section: Library 712 713 Fix potential missed signal in signal.signal(). 714 715 .. 716 717 .. bpo: 31933 718 .. date: 2017-11-03-08-36-03 719 .. nonce: UrtoMP 720 .. section: Library 721 722 Fix Blake2 params leaf_size and node_offset on big endian platforms. Patch 723 by Jack O'Connor. 724 725 .. 726 727 .. bpo: 21423 728 .. date: 2017-11-02-22-26-16 729 .. nonce: hw5mEh 730 .. section: Library 731 732 Add an initializer argument to {Process,Thread}PoolExecutor 733 734 .. 735 736 .. bpo: 31927 737 .. date: 2017-11-02-18-26-40 738 .. nonce: 40K6kp 739 .. section: Library 740 741 Fixed compilation of the socket module on NetBSD 8. Fixed assertion failure 742 or reading arbitrary data when parse a AF_BLUETOOTH address on NetBSD and 743 DragonFly BSD. 744 745 .. 746 747 .. bpo: 27666 748 .. date: 2017-11-01-18-13-42 749 .. nonce: j2zRnF 750 .. section: Library 751 752 Fixed stack corruption in curses.box() and curses.ungetmouse() when the size 753 of types chtype or mmask_t is less than the size of C long. curses.box() 754 now accepts characters as arguments. Based on patch by Steve Fink. 755 756 .. 757 758 .. bpo: 31917 759 .. date: 2017-11-01-03-28-24 760 .. nonce: DYQL0g 761 .. section: Library 762 763 Add 3 new clock identifiers: :data:`time.CLOCK_BOOTTIME`, 764 :data:`time.CLOCK_PROF` and :data:`time.CLOCK_UPTIME`. 765 766 .. 767 768 .. bpo: 31897 769 .. date: 2017-10-30-11-04-56 770 .. nonce: yjwdEb 771 .. section: Library 772 773 plistlib now catches more errors when read binary plists and raises 774 InvalidFileException instead of unexpected exceptions. 775 776 .. 777 778 .. bpo: 25720 779 .. date: 2017-10-29-17-52-40 780 .. nonce: vSvb5h 781 .. section: Library 782 783 Fix the method for checking pad state of curses WINDOW. Patch by Masayuki 784 Yamamoto. 785 786 .. 787 788 .. bpo: 31893 789 .. date: 2017-10-29-13-51-01 790 .. nonce: 8LZKEz 791 .. section: Library 792 793 Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed 794 the comparison of the kqueue_event objects. 795 796 .. 797 798 .. bpo: 31891 799 .. date: 2017-10-29-11-23-24 800 .. nonce: 9kAPha 801 .. section: Library 802 803 Fixed building the curses module on NetBSD. 804 805 .. 806 807 .. bpo: 31884 808 .. date: 2017-10-27 809 .. nonce: bjhre9 810 .. section: Library 811 812 added required constants to subprocess module for setting priority on 813 windows 814 815 .. 816 817 .. bpo: 28281 818 .. date: 2017-10-26-14-54-38 819 .. nonce: 7ZN5FG 820 .. section: Library 821 822 Remove year (1-9999) limits on the Calendar.weekday() function. 823 824 Patch by Mark Gollahon. 825 826 .. 827 828 .. bpo: 31702 829 .. date: 2017-10-24-21-10-44 830 .. nonce: SfwJDI 831 .. section: Library 832 833 crypt.mksalt() now allows to specify the number of rounds for SHA-256 and 834 SHA-512 hashing. 835 836 .. 837 838 .. bpo: 30639 839 .. date: 2017-10-24-12-24-56 840 .. nonce: ptNM9a 841 .. section: Library 842 843 :func:`inspect.getfile` no longer computes the repr of unknown objects to 844 display in an error message, to protect against badly behaved custom reprs. 845 846 .. 847 848 .. bpo: 30768 849 .. date: 2017-10-24-12-00-16 850 .. nonce: Om8Yj_ 851 .. section: Library 852 853 Fix the pthread+semaphore implementation of PyThread_acquire_lock_timed() 854 when called with timeout > 0 and intr_flag=0: recompute the timeout if 855 sem_timedwait() is interrupted by a signal (EINTR). See also the :pep:`475`. 856 857 .. 858 859 .. bpo: 31854 860 .. date: 2017-10-23 861 .. nonce: fh8334f 862 .. section: Library 863 864 Add ``mmap.ACCESS_DEFAULT`` constant. 865 866 .. 867 868 .. bpo: 31834 869 .. date: 2017-10-23-23-27-52 870 .. nonce: InwC6O 871 .. section: Library 872 873 Use optimized code for BLAKE2 only with SSSE3+. The pure SSE2 implementation 874 is slower than the pure C reference implementation. 875 876 .. 877 878 .. bpo: 28292 879 .. date: 2017-10-23-20-03-36 880 .. nonce: 1Gkim2 881 .. section: Library 882 883 Calendar.itermonthdates() will now consistently raise an exception when a 884 date falls outside of the 0001-01-01 through 9999-12-31 range. To support 885 applications that cannot tolerate such exceptions, the new methods 886 itermonthdays3() and itermonthdays4() are added. The new methods return 887 tuples and are not restricted by the range supported by datetime.date. 888 889 .. 890 891 .. bpo: 28564 892 .. date: 2017-10-23-16-22-54 893 .. nonce: Tx-l-I 894 .. section: Library 895 896 The shutil.rmtree() function has been sped up to 20--40%. This was done 897 using the os.scandir() function. 898 899 .. 900 901 .. bpo: 28416 902 .. date: 2017-10-23-12-05-33 903 .. nonce: Ldnw8X 904 .. section: Library 905 906 Instances of pickle.Pickler subclass with the persistent_id() method and 907 pickle.Unpickler subclass with the persistent_load() method no longer create 908 reference cycles. 909 910 .. 911 912 .. bpo: 31653 913 .. date: 2017-10-22-12-43-03 914 .. nonce: ttfGvq 915 .. section: Library 916 917 Don't release the GIL if we can acquire a multiprocessing semaphore 918 immediately. 919 920 .. 921 922 .. bpo: 28326 923 .. date: 2017-10-22-11-06-02 924 .. nonce: rxh7L4 925 .. section: Library 926 927 Fix multiprocessing.Process when stdout and/or stderr is closed or None. 928 929 .. 930 931 .. bpo: 20825 932 .. date: 2017-10-21-09-13-16 933 .. nonce: -1MBEy 934 .. section: Library 935 936 Add `subnet_of` and `superset_of` containment tests to 937 :class:`ipaddress.IPv6Network` and :class:`ipaddress.IPv4Network`. Patch by 938 Michel Albert and Cheryl Sabella. 939 940 .. 941 942 .. bpo: 31827 943 .. date: 2017-10-20-16-12-01 944 .. nonce: 7R8s8s 945 .. section: Library 946 947 Remove the os.stat_float_times() function. It was introduced in Python 2.3 948 for backward compatibility with Python 2.2, and was deprecated since Python 949 3.1. 950 951 .. 952 953 .. bpo: 31756 954 .. date: 2017-10-20-12-57-52 955 .. nonce: IxCvGB 956 .. section: Library 957 958 Add a ``subprocess.Popen(text=False)`` keyword argument to `subprocess` 959 functions to be more explicit about when the library should attempt to 960 decode outputs into text. Patch by Andrew Clegg. 961 962 .. 963 964 .. bpo: 31819 965 .. date: 2017-10-19-20-03-13 966 .. nonce: mw2wF9 967 .. section: Library 968 969 Add AbstractEventLoop.sock_recv_into(). 970 971 .. 972 973 .. bpo: 31457 974 .. date: 2017-10-18-19-05-17 975 .. nonce: KlE6r8 976 .. section: Library 977 978 If nested log adapters are used, the inner ``process()`` methods are no 979 longer omitted. 980 981 .. 982 983 .. bpo: 31457 984 .. date: 2017-10-18-16-48-09 985 .. nonce: _ovmzp 986 .. section: Library 987 988 The ``manager`` property on LoggerAdapter objects is now properly settable. 989 990 .. 991 992 .. bpo: 31806 993 .. date: 2017-10-17-23-27-03 994 .. nonce: TzphdL 995 .. section: Library 996 997 Fix timeout rounding in time.sleep(), threading.Lock.acquire() and 998 socket.socket.settimeout() to round correctly negative timeouts between -1.0 999 and 0.0. The functions now block waiting for events as expected. Previously, 1000 the call was incorrectly non-blocking. Patch by Pablo Galindo. 1001 1002 .. 1003 1004 .. bpo: 31803 1005 .. date: 2017-10-17-22-55-13 1006 .. nonce: YLL1gJ 1007 .. section: Library 1008 1009 time.clock() and time.get_clock_info('clock') now emit a DeprecationWarning 1010 warning. 1011 1012 .. 1013 1014 .. bpo: 31800 1015 .. date: 2017-10-17-20-08-19 1016 .. nonce: foOSCi 1017 .. section: Library 1018 1019 Extended support for parsing UTC offsets. strptime '%z' can now parse the 1020 output generated by datetime.isoformat, including seconds and microseconds. 1021 1022 .. 1023 1024 .. bpo: 28603 1025 .. date: 2017-10-17-12-29-18 1026 .. nonce: tGuX2C 1027 .. section: Library 1028 1029 traceback: Fix a TypeError that occurred during printing of exception 1030 tracebacks when either the current exception or an exception in its 1031 context/cause chain is unhashable. Patch by Zane Bitter. 1032 1033 .. 1034 1035 .. bpo: 30541 1036 .. date: 2017-10-17-12-04-37 1037 .. nonce: q3BM6C 1038 .. section: Library 1039 1040 Add new function to seal a mock and prevent the automatically creation of 1041 child mocks. Patch by Mario Corchero. 1042 1043 .. 1044 1045 .. bpo: 31784 1046 .. date: 2017-10-13-23-35-47 1047 .. nonce: 6e57bd 1048 .. section: Library 1049 1050 Implement the :pep:`564`, add new 6 new functions with nanosecond resolution 1051 to the :mod:`time` module: :func:`~time.clock_gettime_ns`, 1052 :func:`~time.clock_settime_ns`, :func:`~time.monotonic_ns`, 1053 :func:`~time.perf_counter_ns`, :func:`~time.process_time_ns`, 1054 :func:`~time.time_ns`. 1055 1056 .. 1057 1058 .. bpo: 30143 1059 .. date: 2017-10-12-19-05-54 1060 .. nonce: 25_hU1 1061 .. section: Library 1062 1063 2to3 now generates a code that uses abstract collection classes from 1064 collections.abc rather than collections. 1065 1066 .. 1067 1068 .. bpo: 31770 1069 .. date: 2017-10-12-18-45-38 1070 .. nonce: GV3MPx 1071 .. section: Library 1072 1073 Prevent a crash when calling the ``__init__()`` method of a 1074 ``sqlite3.Cursor`` object more than once. Patch by Oren Milman. 1075 1076 .. 1077 1078 .. bpo: 31764 1079 .. date: 2017-10-11-22-18-04 1080 .. nonce: EMyIkK 1081 .. section: Library 1082 1083 Prevent a crash in ``sqlite3.Cursor.close()`` in case the ``Cursor`` object 1084 is uninitialized. Patch by Oren Milman. 1085 1086 .. 1087 1088 .. bpo: 31752 1089 .. date: 2017-10-11-00-45-01 1090 .. nonce: DhWevN 1091 .. section: Library 1092 1093 Fix possible crash in timedelta constructor called with custom integers. 1094 1095 .. 1096 1097 .. bpo: 31620 1098 .. date: 2017-10-06-04-35-31 1099 .. nonce: gksLA1 1100 .. section: Library 1101 1102 an empty asyncio.Queue now doesn't leak memory when queue.get pollers 1103 timeout 1104 1105 .. 1106 1107 .. bpo: 31690 1108 .. date: 2017-10-05-15-14-46 1109 .. nonce: f0XteV 1110 .. section: Library 1111 1112 Allow the flags re.ASCII, re.LOCALE, and re.UNICODE to be used as group 1113 flags for regular expressions. 1114 1115 .. 1116 1117 .. bpo: 30349 1118 .. date: 2017-10-05-12-45-29 1119 .. nonce: 6zKJsF 1120 .. section: Library 1121 1122 FutureWarning is now emitted if a regular expression contains character set 1123 constructs that will change semantically in the future (nested sets and set 1124 operations). 1125 1126 .. 1127 1128 .. bpo: 31664 1129 .. date: 2017-10-04-20-36-28 1130 .. nonce: 4VDUzo 1131 .. section: Library 1132 1133 Added support for the Blowfish hashing in the crypt module. 1134 1135 .. 1136 1137 .. bpo: 31632 1138 .. date: 2017-10-04-11-37-14 1139 .. nonce: LiOC3C 1140 .. section: Library 1141 1142 Fix method set_protocol() of class _SSLProtocolTransport in asyncio module. 1143 This method was previously modifying a wrong reference to the protocol. 1144 1145 .. 1146 1147 .. bpo: 15037 1148 .. date: 2017-09-29-19-19-36 1149 .. nonce: ykimLK 1150 .. section: Library 1151 1152 Added a workaround for getkey() in curses for ncurses 5.7 and earlier. 1153 1154 .. 1155 1156 .. bpo: 31307 1157 .. date: 2017-09-07-12-50-28 1158 .. nonce: AVBiNY 1159 .. section: Library 1160 1161 Allow use of bytes objects for arguments to 1162 :meth:`configparser.ConfigParser.read`. Patch by Vincent Michel. 1163 1164 .. 1165 1166 .. bpo: 31334 1167 .. date: 2017-09-04-00-22-31 1168 .. nonce: 9WYRfi 1169 .. section: Library 1170 1171 Fix ``poll.poll([timeout])`` in the ``select`` module for arbitrary negative 1172 timeouts on all OSes where it can only be a non-negative integer or -1. 1173 Patch by Riccardo Coccioli. 1174 1175 .. 1176 1177 .. bpo: 31310 1178 .. date: 2017-08-30-18-23-54 1179 .. nonce: 7D1UNt 1180 .. section: Library 1181 1182 multiprocessing's semaphore tracker should be launched again if crashed. 1183 1184 .. 1185 1186 .. bpo: 31308 1187 .. date: 2017-08-30-17-59-36 1188 .. nonce: KbexyC 1189 .. section: Library 1190 1191 Make multiprocessing's forkserver process immune to Ctrl-C and other user 1192 interruptions. If it crashes, restart it when necessary. 1193 1194 .. 1195 1196 .. bpo: 31245 1197 .. date: 2017-08-22-11-05-35 1198 .. nonce: AniZuz 1199 .. section: Library 1200 1201 Added support for AF_UNIX socket in asyncio `create_datagram_endpoint`. 1202 1203 .. 1204 1205 .. bpo: 30553 1206 .. date: 2017-07-05-14-48-26 1207 .. nonce: Oupsxo 1208 .. section: Library 1209 1210 Add HTTP/2 status code 421 (Misdirected Request) to 1211 :class:`http.HTTPStatus`. Patch by Vitor Pereira. 1212 1213 .. 1214 1215 .. bpo: 32105 1216 .. date: 2017-11-21-10-54-16 1217 .. nonce: 91mhWm 1218 .. section: Documentation 1219 1220 Added asyncio.BaseEventLoop.connect_accepted_socket versionadded marker. 1221 1222 .. 1223 1224 .. bpo: 31380 1225 .. date: 2017-12-04-23-19-16 1226 .. nonce: VlMmHW 1227 .. section: Tests 1228 1229 Skip test_httpservers test_undecodable_file on macOS: fails on APFS. 1230 1231 .. 1232 1233 .. bpo: 31705 1234 .. date: 2017-11-30-12-27-10 1235 .. nonce: yULW7O 1236 .. section: Tests 1237 1238 Skip test_socket.test_sha256() on Linux kernel older than 4.5. The test 1239 fails with ENOKEY on kernel 3.10 (on ppc64le). A fix was merged into the 1240 kernel 4.5. 1241 1242 .. 1243 1244 .. bpo: 32138 1245 .. date: 2017-11-27-16-18-58 1246 .. nonce: QsTvf- 1247 .. section: Tests 1248 1249 Skip on Android test_faulthandler tests that raise SIGSEGV and remove the 1250 test.support.requires_android_level decorator. 1251 1252 .. 1253 1254 .. bpo: 32136 1255 .. date: 2017-11-26-17-11-27 1256 .. nonce: Y11luJ 1257 .. section: Tests 1258 1259 The runtime embedding tests have been split out from 1260 ``Lib/test/test_capi.py`` into a new ``Lib/test/test_embed.py`` file. 1261 1262 .. 1263 1264 .. bpo: 28668 1265 .. date: 2017-11-25-14-53-29 1266 .. nonce: Y1G6pA 1267 .. section: Tests 1268 1269 test.support.requires_multiprocessing_queue is removed. Skip tests with 1270 test.support.import_module('multiprocessing.synchronize') instead when the 1271 semaphore implementation is broken or missing. 1272 1273 .. 1274 1275 .. bpo: 32126 1276 .. date: 2017-11-24-18-15-12 1277 .. nonce: PLmNLn 1278 .. section: Tests 1279 1280 Skip test_get_event_loop_new_process in test.test_asyncio.test_events when 1281 sem_open() is not functional. 1282 1283 .. 1284 1285 .. bpo: 31174 1286 .. date: 2017-10-24-11-36-10 1287 .. nonce: xCvXcr 1288 .. section: Tests 1289 1290 Fix test_tools.test_unparse: DirectoryTestCase now stores the names sample 1291 to always test the same files. It prevents false alarms when hunting 1292 reference leaks. 1293 1294 .. 1295 1296 .. bpo: 28538 1297 .. date: 2017-11-21-17-27-59 1298 .. nonce: DsNBS7 1299 .. section: Build 1300 1301 Revert the previous changes, the if_nameindex structure is defined by 1302 Unified Headers. 1303 1304 .. 1305 1306 .. bpo: 28762 1307 .. date: 2017-11-21-17-12-24 1308 .. nonce: R6uu8w 1309 .. section: Build 1310 1311 Revert the last commit, the F_LOCK macro is defined by Android Unified 1312 Headers. 1313 1314 .. 1315 1316 .. bpo: 29040 1317 .. date: 2017-11-21-16-56-24 1318 .. nonce: 14lCSr 1319 .. section: Build 1320 1321 Support building Android with Unified Headers. The first NDK release to 1322 support Unified Headers is android-ndk-r14. 1323 1324 .. 1325 1326 .. bpo: 32059 1327 .. date: 2017-11-18-11-19-28 1328 .. nonce: a0Hxgp 1329 .. section: Build 1330 1331 ``detect_modules()`` in ``setup.py`` now also searches the sysroot paths 1332 when cross-compiling. 1333 1334 .. 1335 1336 .. bpo: 31957 1337 .. date: 2017-11-06-11-53-39 1338 .. nonce: S_1jFK 1339 .. section: Build 1340 1341 Fixes Windows SDK version detection when building for Windows. 1342 1343 .. 1344 1345 .. bpo: 31609 1346 .. date: 2017-11-04-15-35-08 1347 .. nonce: k7_nBR 1348 .. section: Build 1349 1350 Fixes quotes in PCbuild/clean.bat 1351 1352 .. 1353 1354 .. bpo: 31934 1355 .. date: 2017-11-03-15-17-50 1356 .. nonce: 8bUlpv 1357 .. section: Build 1358 1359 Abort the build when building out of a not clean source tree. 1360 1361 .. 1362 1363 .. bpo: 31926 1364 .. date: 2017-11-03-10-07-14 1365 .. nonce: 57wE98 1366 .. section: Build 1367 1368 Fixed Argument Clinic sometimes causing compilation errors when there was 1369 more than one function and/or method in a .c file with the same name. 1370 1371 .. 1372 1373 .. bpo: 28791 1374 .. date: 2017-11-02-20-30-57 1375 .. nonce: VaE3o8 1376 .. section: Build 1377 1378 Update Windows builds to use SQLite 3.21.0. 1379 1380 .. 1381 1382 .. bpo: 28791 1383 .. date: 2017-11-02-20-13-46 1384 .. nonce: STt3jL 1385 .. section: Build 1386 1387 Update OS X installer to use SQLite 3.21.0. 1388 1389 .. 1390 1391 .. bpo: 28643 1392 .. date: 2017-11-01-14-16-27 1393 .. nonce: 9iPKJy 1394 .. section: Build 1395 1396 Record profile-opt build progress with stamp files. 1397 1398 .. 1399 1400 .. bpo: 31866 1401 .. date: 2017-10-24-23-21-13 1402 .. nonce: MkNO66 1403 .. section: Build 1404 1405 Finish removing support for AtheOS. 1406 1407 .. 1408 1409 .. bpo: 1102 1410 .. date: 2017-11-19-09-46-27 1411 .. nonce: NY-g1F 1412 .. section: Windows 1413 1414 Return ``None`` when ``View.Fetch()`` returns ``ERROR_NO_MORE_ITEMS`` 1415 instead of raising ``MSIError``. 1416 1417 Initial patch by Anthony Tuininga. 1418 1419 .. 1420 1421 .. bpo: 31944 1422 .. date: 2017-11-04-15-29-47 1423 .. nonce: 0Bx8tZ 1424 .. section: Windows 1425 1426 Fixes Modify button in Apps and Features dialog. 1427 1428 .. 1429 1430 .. bpo: 20486 1431 .. date: 2017-10-26-23-02-57 1432 .. nonce: 3IdsZ1 1433 .. section: Windows 1434 1435 Implement the ``Database.Close()`` method to help closing MSI database 1436 objects. 1437 1438 .. 1439 1440 .. bpo: 31857 1441 .. date: 2017-10-23-18-35-50 1442 .. nonce: YwhEvc 1443 .. section: Windows 1444 1445 Make the behavior of USE_STACKCHECK deterministic in a multi-threaded 1446 environment. 1447 1448 .. 1449 1450 .. bpo: 31392 1451 .. date: 2017-12-04-21-57-43 1452 .. nonce: f8huBC 1453 .. section: macOS 1454 1455 Update macOS installer to use OpenSSL 1.0.2m 1456 1457 .. 1458 1459 .. bpo: 32207 1460 .. date: 2017-12-04-15-04-43 1461 .. nonce: IzyAJo 1462 .. section: IDLE 1463 1464 Improve tk event exception tracebacks in IDLE. When tk event handling is 1465 driven by IDLE's run loop, a confusing and distracting queue.EMPTY traceback 1466 context is no longer added to tk event exception tracebacks. The traceback 1467 is now the same as when event handling is driven by user code. Patch based 1468 on a suggestion by Serhiy Storchaka. 1469 1470 .. 1471 1472 .. bpo: 32164 1473 .. date: 2017-11-28-21-47-15 1474 .. nonce: 2T2Na8 1475 .. section: IDLE 1476 1477 Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet in 1478 configdialog was replaced by ttk.Notebook. 1479 1480 .. 1481 1482 .. bpo: 32100 1483 .. date: 2017-11-21-08-26-08 1484 .. nonce: P43qx2 1485 .. section: IDLE 1486 1487 IDLE: Fix old and new bugs in pathbrowser; improve tests. Patch mostly by 1488 Cheryl Sabella. 1489 1490 .. 1491 1492 .. bpo: 31858 1493 .. date: 2017-10-26-20-20-19 1494 .. nonce: VuSA_e 1495 .. section: IDLE 1496 1497 IDLE -- Restrict shell prompt manipulation to the shell. Editor and output 1498 windows only see an empty last prompt line. This simplifies the code and 1499 fixes a minor bug when newline is inserted. Sys.ps1, if present, is read on 1500 Shell start-up, but is not set or changed. 1501 1502 .. 1503 1504 .. bpo: 31860 1505 .. date: 2017-10-24-16-21-50 1506 .. nonce: gECuWx 1507 .. section: IDLE 1508 1509 The font sample in the IDLE configuration dialog is now editable. Changes 1510 persist while IDLE remains open 1511 1512 .. 1513 1514 .. bpo: 31836 1515 .. date: 2017-10-21-15-41-53 1516 .. nonce: fheLME 1517 .. section: IDLE 1518 1519 Test_code_module now passes if run after test_idle, which sets ps1. 1520 1521 The code module uses sys.ps1 if present or sets it to '>>> ' if not. 1522 Test_code_module now properly tests both behaviors. Ditto for ps2. 1523 1524 .. 1525 1526 .. bpo: 28603 1527 .. date: 2017-10-17-13-26-13 1528 .. nonce: TMEQfp 1529 .. section: IDLE 1530 1531 Fix a TypeError that caused a shell restart when printing a traceback that 1532 includes an exception that is unhashable. Patch by Zane Bitter. 1533 1534 .. 1535 1536 .. bpo: 13802 1537 .. date: 2017-10-12-00-51-29 1538 .. nonce: VwjZRD 1539 .. section: IDLE 1540 1541 Use non-Latin characters in the IDLE's Font settings sample. Even if one 1542 selects a font that defines a limited subset of the unicode Basic 1543 Multilingual Plane, tcl/tk will use other fonts that define a character. The 1544 expanded example give users of non-Latin characters a better idea of what 1545 they might see in IDLE's shell and editors. 1546 1547 To make room for the expanded sample, frames on the Font tab are 1548 re-arranged. The Font/Tabs help explains a bit about the additions. 1549 1550 .. 1551 1552 .. bpo: 32159 1553 .. date: 2017-11-28-21-24-41 1554 .. nonce: RSl4QK 1555 .. section: Tools/Demos 1556 1557 Remove CVS and Subversion tools: remove svneol.py and treesync.py scripts. 1558 CPython migrated from CVS to Subversion, to Mercurial, and then to Git. CVS 1559 and Subversion are no longer used to develop CPython. 1560 1561 .. 1562 1563 .. bpo: 30722 1564 .. date: 2017-10-23-19-45-52 1565 .. nonce: ioRlAu 1566 .. section: Tools/Demos 1567 1568 Make redemo work with Python 3.6 and newer versions. 1569 1570 Also, remove the ``LOCALE`` option since it doesn't work with string 1571 patterns in Python 3. 1572 1573 Patch by Christoph Sarnowski. 1574 1575 .. 1576 1577 .. bpo: 20891 1578 .. date: 2017-11-30-18-13-45 1579 .. nonce: wBnMdF 1580 .. section: C API 1581 1582 Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in a non-Python 1583 thread before PyEval_InitThreads(), only call PyEval_InitThreads() after 1584 calling PyThreadState_New() to fix a crash. 1585 1586 .. 1587 1588 .. bpo: 32125 1589 .. date: 2017-11-24-21-25-43 1590 .. nonce: K8zWgn 1591 .. section: C API 1592 1593 The ``Py_UseClassExceptionsFlag`` flag has been removed. It was deprecated 1594 and wasn't used anymore since Python 2.0. 1595 1596 .. 1597 1598 .. bpo: 25612 1599 .. date: 2017-10-22-13-12-28 1600 .. nonce: 1jnWKT 1601 .. section: C API 1602 1603 Move the current exception state from the frame object to the co-routine. 1604 This simplifies the interpreter and fixes a couple of obscure bugs caused by 1605 having swap exception state when entering or exiting a generator. 1606 1607 .. 1608 1609 .. bpo: 23699 1610 .. date: 2017-10-19-15-27-04 1611 .. nonce: -noVVc 1612 .. section: C API 1613 1614 Add Py_RETURN_RICHCOMPARE macro to reduce boilerplate code in rich 1615 comparison functions. 1616 1617 .. 1618 1619 .. bpo: 30697 1620 .. date: 2017-06-30-11-58-01 1621 .. nonce: Q3T_8n 1622 .. section: C API 1623 1624 The `PyExc_RecursionErrorInst` singleton is removed and 1625 `PyErr_NormalizeException()` does not use it anymore. This singleton is 1626 persistent and its members being never cleared may cause a segfault during 1627 finalization of the interpreter. See also issue #22898. 1628