1.. bpo: 36216 2.. date: 2019-03-06-09-38-40 3.. nonce: 6q1m4a 4.. release date: 2019-03-25 5.. section: Security 6 7Changes urlsplit() to raise ValueError when the URL contains characters that 8decompose under IDNA encoding (NFKC-normalization) into characters that 9affect how the URL is parsed. 10 11.. 12 13.. bpo: 35121 14.. date: 2018-10-31-15-39-17 15.. nonce: EgHv9k 16.. section: Security 17 18Don't send cookies of domain A without Domain attribute to domain B when 19domain A is a suffix match of domain B while using a cookiejar with 20:class:`http.cookiejar.DefaultCookiePolicy` policy. Patch by Karthikeyan 21Singaravelan. 22 23.. 24 25.. bpo: 36421 26.. date: 2019-03-24-21-33-22 27.. nonce: gJ2Pv9 28.. section: Core and Builtins 29 30Fix a possible double decref in _ctypes.c's ``PyCArrayType_new()``. 31 32.. 33 34.. bpo: 36412 35.. date: 2019-03-23-19-51-09 36.. nonce: C7acGn 37.. section: Core and Builtins 38 39Fix a possible crash when creating a new dictionary. 40 41.. 42 43.. bpo: 36398 44.. date: 2019-03-21-22-19-38 45.. nonce: B_jXGe 46.. section: Core and Builtins 47 48Fix a possible crash in ``structseq_repr()``. 49 50.. 51 52.. bpo: 36256 53.. date: 2019-03-21-00-24-18 54.. nonce: OZHa0t 55.. section: Core and Builtins 56 57Fix bug in parsermodule when parsing a state in a DFA that has two or more 58arcs with labels of the same type. Patch by Pablo Galindo. 59 60.. 61 62.. bpo: 36365 63.. date: 2019-03-19-15-58-23 64.. nonce: jHaErz 65.. section: Core and Builtins 66 67repr(structseq) is no longer limited to 512 bytes. 68 69.. 70 71.. bpo: 36374 72.. date: 2019-03-19-15-46-42 73.. nonce: EWKMZE 74.. section: Core and Builtins 75 76Fix a possible null pointer dereference in ``merge_consts_recursive()``. 77Patch by Zackery Spytz. 78 79.. 80 81.. bpo: 36236 82.. date: 2019-03-19-03-08-26 83.. nonce: 5qN9qK 84.. section: Core and Builtins 85 86At Python initialization, the current directory is no longer prepended to 87:data:`sys.path` if it has been removed. 88 89.. 90 91.. bpo: 36352 92.. date: 2019-03-19-02-36-40 93.. nonce: qj2trz 94.. section: Core and Builtins 95 96Python initialization now fails with an error, rather than silently 97truncating paths, if a path is too long. 98 99.. 100 101.. bpo: 36301 102.. date: 2019-03-19-00-54-31 103.. nonce: xvOCJb 104.. section: Core and Builtins 105 106Python initialization now fails if decoding ``pybuilddir.txt`` configuration 107file fails at startup. 108 109.. 110 111.. bpo: 36333 112.. date: 2019-03-18-10-56-53 113.. nonce: 4dqemZ 114.. section: Core and Builtins 115 116Fix leak in _PyRuntimeState_Fini. Contributed by Stéphane Wirtel. 117 118.. 119 120.. bpo: 36332 121.. date: 2019-03-18-09-27-54 122.. nonce: yEC-Vz 123.. section: Core and Builtins 124 125The builtin :func:`compile` can now handle AST objects that contain 126assignment expressions. Patch by Pablo Galindo. 127 128.. 129 130.. bpo: 36282 131.. date: 2019-03-13-22-47-28 132.. nonce: zs7RKP 133.. section: Core and Builtins 134 135Improved error message for too much positional arguments in some builtin 136functions. 137 138.. 139 140.. bpo: 30040 141.. date: 2019-03-11-22-30-56 142.. nonce: W9z8X7 143.. section: Core and Builtins 144 145New empty dict uses fewer memory for now. It used more memory than empty 146dict created by ``dict.clear()``. And empty dict creation and deletion is 147about 2x faster. Patch by Inada Naoki. 148 149.. 150 151.. bpo: 36262 152.. date: 2019-03-11-15-37-33 153.. nonce: v3N6Fz 154.. section: Core and Builtins 155 156Fix an unlikely memory leak on conversion from string to float in the 157function ``_Py_dg_strtod()`` used by ``float(str)``, ``complex(str)``, 158:func:`pickle.load`, :func:`marshal.load`, etc. 159 160.. 161 162.. bpo: 36252 163.. date: 2019-03-09-15-47-05 164.. nonce: sCQFKq 165.. section: Core and Builtins 166 167Update Unicode databases to version 12.0.0. 168 169.. 170 171.. bpo: 36218 172.. date: 2019-03-07-13-05-43 173.. nonce: dZemNt 174.. section: Core and Builtins 175 176Fix a segfault occurring when sorting a list of heterogeneous values. Patch 177contributed by Rémi Lapeyre and Elliot Gorokhovsky. 178 179.. 180 181.. bpo: 36188 182.. date: 2019-03-04-18-05-31 183.. nonce: EuUZNz 184.. section: Core and Builtins 185 186Cleaned up left-over vestiges of Python 2 unbound method handling in method 187objects and documentation. Patch by Martijn Pieters 188 189.. 190 191.. bpo: 36124 192.. date: 2019-03-01-13-48-01 193.. nonce: Blzxq1 194.. section: Core and Builtins 195 196Add a new interpreter-specific dict and expose it in the C-API via 197PyInterpreterState_GetDict(). This parallels PyThreadState_GetDict(). 198However, extension modules should continue using PyModule_GetState() for 199their own internal per-interpreter state. 200 201.. 202 203.. bpo: 35975 204.. date: 2019-02-27-16-49-08 205.. nonce: IescLY 206.. section: Core and Builtins 207 208Add a ``feature_version`` flag to ``ast.parse()`` (documented) and 209``compile()`` (hidden) that allows tweaking the parser to support older 210versions of the grammar. In particular, if ``feature_version`` is 5 or 6, 211the hacks for the ``async`` and ``await`` keyword from PEP 492 are 212reinstated. (For 7 or higher, these are unconditionally treated as keywords, 213but they are still special tokens rather than ``NAME`` tokens that the 214parser driver recognizes.) 215 216.. 217 218.. bpo: 31904 219.. date: 2019-02-26-17-34-49 220.. nonce: R4KSj6 221.. section: Core and Builtins 222 223Use UTF-8 as the system encoding on VxWorks. 224 225.. 226 227.. bpo: 36048 228.. date: 2019-02-20-08-51-04 229.. nonce: I3LJt9 230.. section: Core and Builtins 231 232The :meth:`~object.__index__` special method will be used instead of 233:meth:`~object.__int__` for implicit conversion of Python numbers to C 234integers. Using the ``__int__()`` method in implicit conversions has been 235deprecated. 236 237.. 238 239.. bpo: 35808 240.. date: 2019-02-11-00-50-03 241.. nonce: M12CMH 242.. section: Core and Builtins 243 244Retire pgen and use a modified version of pgen2 to generate the parser. 245Patch by Pablo Galindo. 246 247.. 248 249.. bpo: 36401 250.. date: 2019-03-23-10-25-07 251.. nonce: hYpVBS 252.. section: Library 253 254The class documentation created by pydoc now has a separate section for 255readonly properties. 256 257.. 258 259.. bpo: 36320 260.. date: 2019-03-18-01-08-14 261.. nonce: -06b9_ 262.. section: Library 263 264The typing.NamedTuple() class has deprecated the _field_types attribute in 265favor of the __annotations__ attribute which carried the same information. 266Also, both attributes were converted from OrderedDict to a regular dict. 267 268.. 269 270.. bpo: 34745 271.. date: 2019-03-17-16-43-29 272.. nonce: nOfm7_ 273.. section: Library 274 275Fix :mod:`asyncio` ssl memory issues caused by circular references 276 277.. 278 279.. bpo: 36324 280.. date: 2019-03-17-01-17-45 281.. nonce: dvNrRe 282.. section: Library 283 284Add method to statistics.NormalDist for computing the inverse cumulative 285normal distribution. 286 287.. 288 289.. bpo: 36321 290.. date: 2019-03-16-13-40-59 291.. nonce: s6crQx 292.. section: Library 293 294collections.namedtuple() misspelled the name of an attribute. To be 295consistent with typing.NamedTuple, the attribute name should have been 296"_field_defaults" instead of "_fields_defaults". For backwards 297compatibility, both spellings are now created. The misspelled version may 298be removed in the future. 299 300.. 301 302.. bpo: 36297 303.. date: 2019-03-15-21-41-22 304.. nonce: Gz9ZfU 305.. section: Library 306 307"unicode_internal" codec is removed. It was deprecated since Python 3.3. 308Patch by Inada Naoki. 309 310.. 311 312.. bpo: 36298 313.. date: 2019-03-15-13-54-07 314.. nonce: amEVK2 315.. section: Library 316 317Raise ModuleNotFoundError in pyclbr when a module can't be found. Thanks to 318'mental' for the bug report. 319 320.. 321 322.. bpo: 36268 323.. date: 2019-03-14-16-25-17 324.. nonce: MDXLw6 325.. section: Library 326 327Switch the default format used for writing tars with mod:`tarfile` to the 328modern POSIX.1-2001 pax standard, from the vendor-specific GNU. Contributed 329by C.A.M. Gerlach. 330 331.. 332 333.. bpo: 36285 334.. date: 2019-03-14-01-09-59 335.. nonce: G-usj8 336.. section: Library 337 338Fix integer overflows in the array module. Patch by Stephan Hohe. 339 340.. 341 342.. bpo: 31904 343.. date: 2019-03-13-14-55-02 344.. nonce: 834kfY 345.. section: Library 346 347Add _signal module support for VxWorks. 348 349.. 350 351.. bpo: 36272 352.. date: 2019-03-13-14-14-36 353.. nonce: f3l2IG 354.. section: Library 355 356:mod:`logging` does not silently ignore RecursionError anymore. Patch 357contributed by Rémi Lapeyre. 358 359.. 360 361.. bpo: 36280 362.. date: 2019-03-12-21-02-55 363.. nonce: mOd3iH 364.. section: Library 365 366Add a kind field to ast.Constant. It is 'u' if the literal has a 'u' prefix 367(i.e. a Python 2 style unicode literal), else None. 368 369.. 370 371.. bpo: 35931 372.. date: 2019-03-11-22-06-36 373.. nonce: Qp_Tbe 374.. section: Library 375 376The :mod:`pdb` ``debug`` command now gracefully handles all exceptions. 377 378.. 379 380.. bpo: 36251 381.. date: 2019-03-09-18-01-24 382.. nonce: zOp9l0 383.. section: Library 384 385Fix format strings used for stderrprinter and re.Match reprs. Patch by 386Stephan Hohe. 387 388.. 389 390.. bpo: 36235 391.. date: 2019-03-08-13-32-21 392.. nonce: _M72wU 393.. section: Library 394 395Fix ``CFLAGS`` in ``customize_compiler()`` of ``distutils.sysconfig``: when 396the ``CFLAGS`` environment variable is defined, don't override ``CFLAGS`` 397variable with the ``OPT`` variable anymore. Initial patch written by David 398Malcolm. 399 400.. 401 402.. bpo: 35807 403.. date: 2019-03-06-13-21-33 404.. nonce: W7mmu3 405.. section: Library 406 407Update ensurepip to install pip 19.0.3 and setuptools 40.8.0. 408 409.. 410 411.. bpo: 36139 412.. date: 2019-03-06-13-07-29 413.. nonce: 6kedum 414.. section: Library 415 416Release GIL when closing :class:`~mmap.mmap` objects. 417 418.. 419 420.. bpo: 36179 421.. date: 2019-03-04-10-42-46 422.. nonce: jEyuI- 423.. section: Library 424 425Fix two unlikely reference leaks in _hashopenssl. The leaks only occur in 426out-of-memory cases. 427 428.. 429 430.. bpo: 36169 431.. date: 2019-03-03-11-37-09 432.. nonce: 8nWJy7 433.. section: Library 434 435Add overlap() method to statistics.NormalDist. Computes the overlapping 436coefficient for two normal distributions. 437 438.. 439 440.. bpo: 36103 441.. date: 2019-03-01-16-10-01 442.. nonce: n6VgXL 443.. section: Library 444 445Default buffer size used by ``shutil.copyfileobj()`` is changed from 16 KiB 446to 64 KiB on non-Windows platform to reduce system call overhead. 447Contributed by Inada Naoki. 448 449.. 450 451.. bpo: 36130 452.. date: 2019-02-26-22-41-38 453.. nonce: _BnZOo 454.. section: Library 455 456Fix ``pdb`` with ``skip=...`` when stepping into a frame without a 457``__name__`` global. Patch by Anthony Sottile. 458 459.. 460 461.. bpo: 35652 462.. date: 2019-02-26-11-34-44 463.. nonce: 6KRJu_ 464.. section: Library 465 466shutil.copytree(copy_function=...) erroneously pass DirEntry instead of a 467path string. 468 469.. 470 471.. bpo: 35178 472.. date: 2019-02-25-23-04-00 473.. nonce: NA_rXa 474.. section: Library 475 476Ensure custom :func:`warnings.formatwarning` function can receive `line` as 477positional argument. Based on patch by Tashrif Billah. 478 479.. 480 481.. bpo: 36106 482.. date: 2019-02-25-13-21-43 483.. nonce: VuhEiQ 484.. section: Library 485 486Resolve potential name clash with libm's sinpi(). Patch by Dmitrii 487Pasechnik. 488 489.. 490 491.. bpo: 36091 492.. date: 2019-02-23-06-49-06 493.. nonce: 26o4Lc 494.. section: Library 495 496Clean up reference to async generator in Lib/types. Patch by Henry Chen. 497 498.. 499 500.. bpo: 36043 501.. date: 2019-02-19-19-53-46 502.. nonce: l867v0 503.. section: Library 504 505:class:`FileCookieJar` supports :term:`path-like object`. Contributed by 506Stéphane Wirtel 507 508.. 509 510.. bpo: 35899 511.. date: 2019-02-16-07-11-02 512.. nonce: cjfn5a 513.. section: Library 514 515Enum has been fixed to correctly handle empty strings and strings with 516non-Latin characters (ie. 'α', 'א') without crashing. Original patch 517contributed by Maxwell. Assisted by Stéphane Wirtel. 518 519.. 520 521.. bpo: 21269 522.. date: 2019-02-10-16-49-16 523.. nonce: Fqi7VH 524.. section: Library 525 526Add ``args`` and ``kwargs`` properties to mock call objects. Contributed by 527Kumar Akshay. 528 529.. 530 531.. bpo: 30670 532.. date: 2019-02-06-12-07-46 533.. nonce: yffB3F 534.. section: Library 535 536`pprint.pp` has been added to pretty-print objects with dictionary keys 537being sorted with their insertion order by default. Parameter *sort_dicts* 538has been added to `pprint.pprint`, `pprint.pformat` and 539`pprint.PrettyPrinter`. Contributed by Rémi Lapeyre. 540 541.. 542 543.. bpo: 35843 544.. date: 2019-01-28-10-19-40 545.. nonce: 7rXGQE 546.. section: Library 547 548Implement ``__getitem__`` for ``_NamespacePath``. Patch by Anthony Sottile. 549 550.. 551 552.. bpo: 35802 553.. date: 2019-01-21-13-56-55 554.. nonce: 6633PE 555.. section: Library 556 557Clean up code which checked presence of ``os.stat`` / ``os.lstat`` / 558``os.chmod`` which are always present. Patch by Anthony Sottile. 559 560.. 561 562.. bpo: 35715 563.. date: 2019-01-11-08-47-58 564.. nonce: Wi3gl0 565.. section: Library 566 567Librates the return value of a ProcessPoolExecutor _process_worker after 568it's no longer needed to free memory 569 570.. 571 572.. bpo: 35493 573.. date: 2019-01-09-23-43-08 574.. nonce: kEcRGE 575.. section: Library 576 577Use :func:`multiprocessing.connection.wait` instead of polling each 0.2 578seconds for worker updates in :class:`multiprocessing.Pool`. Patch by Pablo 579Galindo. 580 581.. 582 583.. bpo: 35661 584.. date: 2019-01-05-16-16-20 585.. nonce: H_UOXc 586.. section: Library 587 588Store the venv prompt in pyvenv.cfg. 589 590.. 591 592.. bpo: 35121 593.. date: 2018-12-30-14-35-19 594.. nonce: oWmiGU 595.. section: Library 596 597Don't set cookie for a request when the request path is a prefix match of 598the cookie's path attribute but doesn't end with "/". Patch by Karthikeyan 599Singaravelan. 600 601.. 602 603.. bpo: 21478 604.. date: 2018-12-21-09-54-30 605.. nonce: 5gsXtc 606.. section: Library 607 608Calls to a child function created with :func:`unittest.mock.create_autospec` 609should propagate to the parent. Patch by Karthikeyan Singaravelan. 610 611.. 612 613.. bpo: 35198 614.. date: 2018-11-09-12-45-28 615.. nonce: EJ8keW 616.. section: Library 617 618Fix C++ extension compilation on AIX 619 620.. 621 622.. bpo: 36329 623.. date: 2019-03-17-20-01-41 624.. nonce: L5dJPD 625.. section: Documentation 626 627Declare the path of the Python binary for the usage of 628``Tools/scripts/serve.py`` when executing ``make -C Doc/ serve``. 629Contributed by Stéphane Wirtel 630 631.. 632 633.. bpo: 36138 634.. date: 2019-03-02-00-40-57 635.. nonce: yfjNzG 636.. section: Documentation 637 638Improve documentation about converting datetime.timedelta to scalars. 639 640.. 641 642.. bpo: 21314 643.. date: 2018-11-21-23-01-37 644.. nonce: PG33VT 645.. section: Documentation 646 647A new entry was added to the Core Language Section of the Programming FAQ, 648which explaines the usage of slash(/) in the signature of a function. Patch 649by Lysandros Nikolaou 650 651.. 652 653.. bpo: 36234 654.. date: 2019-03-08-12-53-37 655.. nonce: NRVK6W 656.. section: Tests 657 658test_posix.PosixUidGidTests: add tests for invalid uid/gid type (str). 659Initial patch written by David Malcolm. 660 661.. 662 663.. bpo: 29571 664.. date: 2019-02-28-18-33-29 665.. nonce: r6b9fr 666.. section: Tests 667 668Fix ``test_re.test_locale_flag()``: use ``locale.getpreferredencoding()`` 669rather than ``locale.getlocale()`` to get the locale encoding. With some 670locales, ``locale.getlocale()`` returns the wrong encoding. 671 672.. 673 674.. bpo: 36123 675.. date: 2019-02-26-12-51-35 676.. nonce: QRhhRS 677.. section: Tests 678 679Fix race condition in test_socket. 680 681.. 682 683.. bpo: 36356 684.. date: 2019-03-18-23-49-15 685.. nonce: WNrwYI 686.. section: Build 687 688Fix leaks that led to build failure when configured with address sanitizer. 689 690.. 691 692.. bpo: 36146 693.. date: 2019-03-01-17-49-22 694.. nonce: VeoyG7 695.. section: Build 696 697Add ``TEST_EXTENSIONS`` constant to ``setup.py`` to allow to not build test 698extensions like ``_testcapi``. 699 700.. 701 702.. bpo: 36146 703.. date: 2019-02-28-18-09-01 704.. nonce: IwPJVT 705.. section: Build 706 707Fix setup.py on macOS: only add ``/usr/include/ffi`` to include directories 708of _ctypes, not for all extensions. 709 710.. 711 712.. bpo: 31904 713.. date: 2019-02-21-14-48-31 714.. nonce: J82jY2 715.. section: Build 716 717Enable build system to cross-build for VxWorks RTOS. 718 719.. 720 721.. bpo: 36312 722.. date: 2019-03-16-16-51-17 723.. nonce: Niwm-T 724.. section: Windows 725 726Fixed decoders for the following code pages: 50220, 50221, 50222, 50225, 72750227, 50229, 57002 through 57011, 65000 and 42. 728 729.. 730 731.. bpo: 36264 732.. date: 2019-03-11-09-33-47 733.. nonce: rTzWce 734.. section: Windows 735 736Don't honor POSIX ``HOME`` in ``os.path.expanduser`` on windows. Patch by 737Anthony Sottile. 738 739.. 740 741.. bpo: 24643 742.. date: 2019-02-24-07-52-39 743.. nonce: PofyiS 744.. section: Windows 745 746Fix name collisions due to ``#define timezone _timezone`` in PC/pyconfig.h. 747 748.. 749 750.. bpo: 36405 751.. date: 2019-03-23-01-45-56 752.. nonce: m7Wv1F 753.. section: IDLE 754 755Use dict unpacking in idlelib. 756 757.. 758 759.. bpo: 36396 760.. date: 2019-03-21-22-43-21 761.. nonce: xSTX-I 762.. section: IDLE 763 764Remove fgBg param of idlelib.config.GetHighlight(). This param was only used 765twice and changed the return type. 766 767.. 768 769.. bpo: 36176 770.. date: 2019-03-10-00-07-46 771.. nonce: jk_vv6 772.. section: IDLE 773 774Fix IDLE autocomplete & calltip popup colors. Prevent conflicts with Linux 775dark themes (and slightly darken calltip background). 776 777.. 778 779.. bpo: 23205 780.. date: 2019-03-06-14-47-57 781.. nonce: Vv0gfH 782.. section: IDLE 783 784For the grep module, add tests for findfiles, refactor findfiles to be a 785module-level function, and refactor findfiles to use os.walk. 786 787.. 788 789.. bpo: 23216 790.. date: 2019-03-02-19-39-53 791.. nonce: ZA7H8H 792.. section: IDLE 793 794Add docstrings to IDLE search modules. 795 796.. 797 798.. bpo: 36152 799.. date: 2019-02-28-18-52-40 800.. nonce: 9pkHIU 801.. section: IDLE 802 803Remove colorizer.ColorDelegator.close_when_done and the corresponding 804argument of .close(). In IDLE, both have always been None or False since 8052007. 806 807.. 808 809.. bpo: 32129 810.. date: 2019-02-25-11-40-14 811.. nonce: 4qVCzD 812.. section: IDLE 813 814Avoid blurry IDLE application icon on macOS with Tk 8.6. Patch by Kevin 815Walzer. 816 817.. 818 819.. bpo: 36096 820.. date: 2019-02-23-17-53-53 821.. nonce: mN5Ly3 822.. section: IDLE 823 824Refactor class variables to instance variables in colorizer. 825 826.. 827 828.. bpo: 30348 829.. date: 2018-06-27-21-18-41 830.. nonce: WbaRJW 831.. section: IDLE 832 833Increase test coverage of idlelib.autocomplete by 30%. Patch by Louie 834Lu 835 836.. 837 838.. bpo: 35132 839.. date: 2019-03-04-02-09-09 840.. nonce: 1R_pnL 841.. section: Tools/Demos 842 843Fix py-list and py-bt commands of python-gdb.py on gdb7. 844 845.. 846 847.. bpo: 32217 848.. date: 2017-12-19-20-42-36 849.. nonce: axXcjA 850.. section: Tools/Demos 851 852Fix freeze script on Windows. 853 854.. 855 856.. bpo: 36381 857.. date: 2019-03-20-22-02-40 858.. nonce: xlzDJ2 859.. section: C API 860 861Raise ``DeprecationWarning`` when '#' formats are used for building or 862parsing values without ``PY_SSIZE_T_CLEAN``. 863 864.. 865 866.. bpo: 36142 867.. date: 2019-03-01-03-23-48 868.. nonce: 7F6wJd 869.. section: C API 870 871The whole coreconfig.h header is now excluded from Py_LIMITED_API. Move 872functions definitions into a new internal pycore_coreconfig.h header. 873