.. bpo: 36216 .. date: 2019-03-06-09-38-40 .. nonce: 6q1m4a .. release date: 2019-03-25 .. section: Security Changes urlsplit() to raise ValueError when the URL contains characters that decompose under IDNA encoding (NFKC-normalization) into characters that affect how the URL is parsed. .. .. bpo: 35121 .. date: 2018-10-31-15-39-17 .. nonce: EgHv9k .. section: Security Don't send cookies of domain A without Domain attribute to domain B when domain A is a suffix match of domain B while using a cookiejar with :class:`http.cookiejar.DefaultCookiePolicy` policy. Patch by Karthikeyan Singaravelan. .. .. bpo: 36421 .. date: 2019-03-24-21-33-22 .. nonce: gJ2Pv9 .. section: Core and Builtins Fix a possible double decref in _ctypes.c's ``PyCArrayType_new()``. .. .. bpo: 36412 .. date: 2019-03-23-19-51-09 .. nonce: C7acGn .. section: Core and Builtins Fix a possible crash when creating a new dictionary. .. .. bpo: 36398 .. date: 2019-03-21-22-19-38 .. nonce: B_jXGe .. section: Core and Builtins Fix a possible crash in ``structseq_repr()``. .. .. bpo: 36256 .. date: 2019-03-21-00-24-18 .. nonce: OZHa0t .. section: Core and Builtins Fix bug in parsermodule when parsing a state in a DFA that has two or more arcs with labels of the same type. Patch by Pablo Galindo. .. .. bpo: 36365 .. date: 2019-03-19-15-58-23 .. nonce: jHaErz .. section: Core and Builtins repr(structseq) is no longer limited to 512 bytes. .. .. bpo: 36374 .. date: 2019-03-19-15-46-42 .. nonce: EWKMZE .. section: Core and Builtins Fix a possible null pointer dereference in ``merge_consts_recursive()``. Patch by Zackery Spytz. .. .. bpo: 36236 .. date: 2019-03-19-03-08-26 .. nonce: 5qN9qK .. section: Core and Builtins At Python initialization, the current directory is no longer prepended to :data:`sys.path` if it has been removed. .. .. bpo: 36352 .. date: 2019-03-19-02-36-40 .. nonce: qj2trz .. section: Core and Builtins Python initialization now fails with an error, rather than silently truncating paths, if a path is too long. .. .. bpo: 36301 .. date: 2019-03-19-00-54-31 .. nonce: xvOCJb .. section: Core and Builtins Python initialization now fails if decoding ``pybuilddir.txt`` configuration file fails at startup. .. .. bpo: 36333 .. date: 2019-03-18-10-56-53 .. nonce: 4dqemZ .. section: Core and Builtins Fix leak in _PyRuntimeState_Fini. Contributed by Stéphane Wirtel. .. .. bpo: 36332 .. date: 2019-03-18-09-27-54 .. nonce: yEC-Vz .. section: Core and Builtins The builtin :func:`compile` can now handle AST objects that contain assignment expressions. Patch by Pablo Galindo. .. .. bpo: 36282 .. date: 2019-03-13-22-47-28 .. nonce: zs7RKP .. section: Core and Builtins Improved error message for too much positional arguments in some builtin functions. .. .. bpo: 30040 .. date: 2019-03-11-22-30-56 .. nonce: W9z8X7 .. section: Core and Builtins New empty dict uses fewer memory for now. It used more memory than empty dict created by ``dict.clear()``. And empty dict creation and deletion is about 2x faster. Patch by Inada Naoki. .. .. bpo: 36262 .. date: 2019-03-11-15-37-33 .. nonce: v3N6Fz .. section: Core and Builtins Fix an unlikely memory leak on conversion from string to float in the function ``_Py_dg_strtod()`` used by ``float(str)``, ``complex(str)``, :func:`pickle.load`, :func:`marshal.load`, etc. .. .. bpo: 36252 .. date: 2019-03-09-15-47-05 .. nonce: sCQFKq .. section: Core and Builtins Update Unicode databases to version 12.0.0. .. .. bpo: 36218 .. date: 2019-03-07-13-05-43 .. nonce: dZemNt .. section: Core and Builtins Fix a segfault occurring when sorting a list of heterogeneous values. Patch contributed by Rémi Lapeyre and Elliot Gorokhovsky. .. .. bpo: 36188 .. date: 2019-03-04-18-05-31 .. nonce: EuUZNz .. section: Core and Builtins Cleaned up left-over vestiges of Python 2 unbound method handling in method objects and documentation. Patch by Martijn Pieters .. .. bpo: 36124 .. date: 2019-03-01-13-48-01 .. nonce: Blzxq1 .. section: Core and Builtins Add a new interpreter-specific dict and expose it in the C-API via PyInterpreterState_GetDict(). This parallels PyThreadState_GetDict(). However, extension modules should continue using PyModule_GetState() for their own internal per-interpreter state. .. .. bpo: 35975 .. date: 2019-02-27-16-49-08 .. nonce: IescLY .. section: Core and Builtins Add a ``feature_version`` flag to ``ast.parse()`` (documented) and ``compile()`` (hidden) that allows tweaking the parser to support older versions of the grammar. In particular, if ``feature_version`` is 5 or 6, the hacks for the ``async`` and ``await`` keyword from PEP 492 are reinstated. (For 7 or higher, these are unconditionally treated as keywords, but they are still special tokens rather than ``NAME`` tokens that the parser driver recognizes.) .. .. bpo: 31904 .. date: 2019-02-26-17-34-49 .. nonce: R4KSj6 .. section: Core and Builtins Use UTF-8 as the system encoding on VxWorks. .. .. bpo: 36048 .. date: 2019-02-20-08-51-04 .. nonce: I3LJt9 .. section: Core and Builtins The :meth:`~object.__index__` special method will be used instead of :meth:`~object.__int__` for implicit conversion of Python numbers to C integers. Using the ``__int__()`` method in implicit conversions has been deprecated. .. .. bpo: 35808 .. date: 2019-02-11-00-50-03 .. nonce: M12CMH .. section: Core and Builtins Retire pgen and use a modified version of pgen2 to generate the parser. Patch by Pablo Galindo. .. .. bpo: 36401 .. date: 2019-03-23-10-25-07 .. nonce: hYpVBS .. section: Library The class documentation created by pydoc now has a separate section for readonly properties. .. .. bpo: 36320 .. date: 2019-03-18-01-08-14 .. nonce: -06b9_ .. section: Library The typing.NamedTuple() class has deprecated the _field_types attribute in favor of the __annotations__ attribute which carried the same information. Also, both attributes were converted from OrderedDict to a regular dict. .. .. bpo: 34745 .. date: 2019-03-17-16-43-29 .. nonce: nOfm7_ .. section: Library Fix :mod:`asyncio` ssl memory issues caused by circular references .. .. bpo: 36324 .. date: 2019-03-17-01-17-45 .. nonce: dvNrRe .. section: Library Add method to statistics.NormalDist for computing the inverse cumulative normal distribution. .. .. bpo: 36321 .. date: 2019-03-16-13-40-59 .. nonce: s6crQx .. section: Library collections.namedtuple() misspelled the name of an attribute. To be consistent with typing.NamedTuple, the attribute name should have been "_field_defaults" instead of "_fields_defaults". For backwards compatibility, both spellings are now created. The misspelled version may be removed in the future. .. .. bpo: 36297 .. date: 2019-03-15-21-41-22 .. nonce: Gz9ZfU .. section: Library "unicode_internal" codec is removed. It was deprecated since Python 3.3. Patch by Inada Naoki. .. .. bpo: 36298 .. date: 2019-03-15-13-54-07 .. nonce: amEVK2 .. section: Library Raise ModuleNotFoundError in pyclbr when a module can't be found. Thanks to 'mental' for the bug report. .. .. bpo: 36268 .. date: 2019-03-14-16-25-17 .. nonce: MDXLw6 .. section: Library Switch the default format used for writing tars with mod:`tarfile` to the modern POSIX.1-2001 pax standard, from the vendor-specific GNU. Contributed by C.A.M. Gerlach. .. .. bpo: 36285 .. date: 2019-03-14-01-09-59 .. nonce: G-usj8 .. section: Library Fix integer overflows in the array module. Patch by Stephan Hohe. .. .. bpo: 31904 .. date: 2019-03-13-14-55-02 .. nonce: 834kfY .. section: Library Add _signal module support for VxWorks. .. .. bpo: 36272 .. date: 2019-03-13-14-14-36 .. nonce: f3l2IG .. section: Library :mod:`logging` does not silently ignore RecursionError anymore. Patch contributed by Rémi Lapeyre. .. .. bpo: 36280 .. date: 2019-03-12-21-02-55 .. nonce: mOd3iH .. section: Library Add a kind field to ast.Constant. It is 'u' if the literal has a 'u' prefix (i.e. a Python 2 style unicode literal), else None. .. .. bpo: 35931 .. date: 2019-03-11-22-06-36 .. nonce: Qp_Tbe .. section: Library The :mod:`pdb` ``debug`` command now gracefully handles all exceptions. .. .. bpo: 36251 .. date: 2019-03-09-18-01-24 .. nonce: zOp9l0 .. section: Library Fix format strings used for stderrprinter and re.Match reprs. Patch by Stephan Hohe. .. .. bpo: 36235 .. date: 2019-03-08-13-32-21 .. nonce: _M72wU .. section: Library Fix ``CFLAGS`` in ``customize_compiler()`` of ``distutils.sysconfig``: when the ``CFLAGS`` environment variable is defined, don't override ``CFLAGS`` variable with the ``OPT`` variable anymore. Initial patch written by David Malcolm. .. .. bpo: 35807 .. date: 2019-03-06-13-21-33 .. nonce: W7mmu3 .. section: Library Update ensurepip to install pip 19.0.3 and setuptools 40.8.0. .. .. bpo: 36139 .. date: 2019-03-06-13-07-29 .. nonce: 6kedum .. section: Library Release GIL when closing :class:`~mmap.mmap` objects. .. .. bpo: 36179 .. date: 2019-03-04-10-42-46 .. nonce: jEyuI- .. section: Library Fix two unlikely reference leaks in _hashopenssl. The leaks only occur in out-of-memory cases. .. .. bpo: 36169 .. date: 2019-03-03-11-37-09 .. nonce: 8nWJy7 .. section: Library Add overlap() method to statistics.NormalDist. Computes the overlapping coefficient for two normal distributions. .. .. bpo: 36103 .. date: 2019-03-01-16-10-01 .. nonce: n6VgXL .. section: Library Default buffer size used by ``shutil.copyfileobj()`` is changed from 16 KiB to 64 KiB on non-Windows platform to reduce system call overhead. Contributed by Inada Naoki. .. .. bpo: 36130 .. date: 2019-02-26-22-41-38 .. nonce: _BnZOo .. section: Library Fix ``pdb`` with ``skip=...`` when stepping into a frame without a ``__name__`` global. Patch by Anthony Sottile. .. .. bpo: 35652 .. date: 2019-02-26-11-34-44 .. nonce: 6KRJu_ .. section: Library shutil.copytree(copy_function=...) erroneously pass DirEntry instead of a path string. .. .. bpo: 35178 .. date: 2019-02-25-23-04-00 .. nonce: NA_rXa .. section: Library Ensure custom :func:`warnings.formatwarning` function can receive `line` as positional argument. Based on patch by Tashrif Billah. .. .. bpo: 36106 .. date: 2019-02-25-13-21-43 .. nonce: VuhEiQ .. section: Library Resolve potential name clash with libm's sinpi(). Patch by Dmitrii Pasechnik. .. .. bpo: 36091 .. date: 2019-02-23-06-49-06 .. nonce: 26o4Lc .. section: Library Clean up reference to async generator in Lib/types. Patch by Henry Chen. .. .. bpo: 36043 .. date: 2019-02-19-19-53-46 .. nonce: l867v0 .. section: Library :class:`FileCookieJar` supports :term:`path-like object`. Contributed by Stéphane Wirtel .. .. bpo: 35899 .. date: 2019-02-16-07-11-02 .. nonce: cjfn5a .. section: Library Enum has been fixed to correctly handle empty strings and strings with non-Latin characters (ie. 'α', 'א') without crashing. Original patch contributed by Maxwell. Assisted by Stéphane Wirtel. .. .. bpo: 21269 .. date: 2019-02-10-16-49-16 .. nonce: Fqi7VH .. section: Library Add ``args`` and ``kwargs`` properties to mock call objects. Contributed by Kumar Akshay. .. .. bpo: 30670 .. date: 2019-02-06-12-07-46 .. nonce: yffB3F .. section: Library `pprint.pp` has been added to pretty-print objects with dictionary keys being sorted with their insertion order by default. Parameter *sort_dicts* has been added to `pprint.pprint`, `pprint.pformat` and `pprint.PrettyPrinter`. Contributed by Rémi Lapeyre. .. .. bpo: 35843 .. date: 2019-01-28-10-19-40 .. nonce: 7rXGQE .. section: Library Implement ``__getitem__`` for ``_NamespacePath``. Patch by Anthony Sottile. .. .. bpo: 35802 .. date: 2019-01-21-13-56-55 .. nonce: 6633PE .. section: Library Clean up code which checked presence of ``os.stat`` / ``os.lstat`` / ``os.chmod`` which are always present. Patch by Anthony Sottile. .. .. bpo: 35715 .. date: 2019-01-11-08-47-58 .. nonce: Wi3gl0 .. section: Library Librates the return value of a ProcessPoolExecutor _process_worker after it's no longer needed to free memory .. .. bpo: 35493 .. date: 2019-01-09-23-43-08 .. nonce: kEcRGE .. section: Library Use :func:`multiprocessing.connection.wait` instead of polling each 0.2 seconds for worker updates in :class:`multiprocessing.Pool`. Patch by Pablo Galindo. .. .. bpo: 35661 .. date: 2019-01-05-16-16-20 .. nonce: H_UOXc .. section: Library Store the venv prompt in pyvenv.cfg. .. .. bpo: 35121 .. date: 2018-12-30-14-35-19 .. nonce: oWmiGU .. section: Library Don't set cookie for a request when the request path is a prefix match of the cookie's path attribute but doesn't end with "/". Patch by Karthikeyan Singaravelan. .. .. bpo: 21478 .. date: 2018-12-21-09-54-30 .. nonce: 5gsXtc .. section: Library Calls to a child function created with :func:`unittest.mock.create_autospec` should propagate to the parent. Patch by Karthikeyan Singaravelan. .. .. bpo: 35198 .. date: 2018-11-09-12-45-28 .. nonce: EJ8keW .. section: Library Fix C++ extension compilation on AIX .. .. bpo: 36329 .. date: 2019-03-17-20-01-41 .. nonce: L5dJPD .. section: Documentation Declare the path of the Python binary for the usage of ``Tools/scripts/serve.py`` when executing ``make -C Doc/ serve``. Contributed by Stéphane Wirtel .. .. bpo: 36138 .. date: 2019-03-02-00-40-57 .. nonce: yfjNzG .. section: Documentation Improve documentation about converting datetime.timedelta to scalars. .. .. bpo: 21314 .. date: 2018-11-21-23-01-37 .. nonce: PG33VT .. section: Documentation A new entry was added to the Core Language Section of the Programming FAQ, which explaines the usage of slash(/) in the signature of a function. Patch by Lysandros Nikolaou .. .. bpo: 36234 .. date: 2019-03-08-12-53-37 .. nonce: NRVK6W .. section: Tests test_posix.PosixUidGidTests: add tests for invalid uid/gid type (str). Initial patch written by David Malcolm. .. .. bpo: 29571 .. date: 2019-02-28-18-33-29 .. nonce: r6b9fr .. section: Tests Fix ``test_re.test_locale_flag()``: use ``locale.getpreferredencoding()`` rather than ``locale.getlocale()`` to get the locale encoding. With some locales, ``locale.getlocale()`` returns the wrong encoding. .. .. bpo: 36123 .. date: 2019-02-26-12-51-35 .. nonce: QRhhRS .. section: Tests Fix race condition in test_socket. .. .. bpo: 36356 .. date: 2019-03-18-23-49-15 .. nonce: WNrwYI .. section: Build Fix leaks that led to build failure when configured with address sanitizer. .. .. bpo: 36146 .. date: 2019-03-01-17-49-22 .. nonce: VeoyG7 .. section: Build Add ``TEST_EXTENSIONS`` constant to ``setup.py`` to allow to not build test extensions like ``_testcapi``. .. .. bpo: 36146 .. date: 2019-02-28-18-09-01 .. nonce: IwPJVT .. section: Build Fix setup.py on macOS: only add ``/usr/include/ffi`` to include directories of _ctypes, not for all extensions. .. .. bpo: 31904 .. date: 2019-02-21-14-48-31 .. nonce: J82jY2 .. section: Build Enable build system to cross-build for VxWorks RTOS. .. .. bpo: 36312 .. date: 2019-03-16-16-51-17 .. nonce: Niwm-T .. section: Windows Fixed decoders for the following code pages: 50220, 50221, 50222, 50225, 50227, 50229, 57002 through 57011, 65000 and 42. .. .. bpo: 36264 .. date: 2019-03-11-09-33-47 .. nonce: rTzWce .. section: Windows Don't honor POSIX ``HOME`` in ``os.path.expanduser`` on windows. Patch by Anthony Sottile. .. .. bpo: 24643 .. date: 2019-02-24-07-52-39 .. nonce: PofyiS .. section: Windows Fix name collisions due to ``#define timezone _timezone`` in PC/pyconfig.h. .. .. bpo: 36405 .. date: 2019-03-23-01-45-56 .. nonce: m7Wv1F .. section: IDLE Use dict unpacking in idlelib. .. .. bpo: 36396 .. date: 2019-03-21-22-43-21 .. nonce: xSTX-I .. section: IDLE Remove fgBg param of idlelib.config.GetHighlight(). This param was only used twice and changed the return type. .. .. bpo: 36176 .. date: 2019-03-10-00-07-46 .. nonce: jk_vv6 .. section: IDLE Fix IDLE autocomplete & calltip popup colors. Prevent conflicts with Linux dark themes (and slightly darken calltip background). .. .. bpo: 23205 .. date: 2019-03-06-14-47-57 .. nonce: Vv0gfH .. section: IDLE For the grep module, add tests for findfiles, refactor findfiles to be a module-level function, and refactor findfiles to use os.walk. .. .. bpo: 23216 .. date: 2019-03-02-19-39-53 .. nonce: ZA7H8H .. section: IDLE Add docstrings to IDLE search modules. .. .. bpo: 36152 .. date: 2019-02-28-18-52-40 .. nonce: 9pkHIU .. section: IDLE Remove colorizer.ColorDelegator.close_when_done and the corresponding argument of .close(). In IDLE, both have always been None or False since 2007. .. .. bpo: 32129 .. date: 2019-02-25-11-40-14 .. nonce: 4qVCzD .. section: IDLE Avoid blurry IDLE application icon on macOS with Tk 8.6. Patch by Kevin Walzer. .. .. bpo: 36096 .. date: 2019-02-23-17-53-53 .. nonce: mN5Ly3 .. section: IDLE Refactor class variables to instance variables in colorizer. .. .. bpo: 30348 .. date: 2018-06-27-21-18-41 .. nonce: WbaRJW .. section: IDLE Increase test coverage of idlelib.autocomplete by 30%. Patch by Louie Lu .. .. bpo: 35132 .. date: 2019-03-04-02-09-09 .. nonce: 1R_pnL .. section: Tools/Demos Fix py-list and py-bt commands of python-gdb.py on gdb7. .. .. bpo: 32217 .. date: 2017-12-19-20-42-36 .. nonce: axXcjA .. section: Tools/Demos Fix freeze script on Windows. .. .. bpo: 36381 .. date: 2019-03-20-22-02-40 .. nonce: xlzDJ2 .. section: C API Raise ``DeprecationWarning`` when '#' formats are used for building or parsing values without ``PY_SSIZE_T_CLEAN``. .. .. bpo: 36142 .. date: 2019-03-01-03-23-48 .. nonce: 7F6wJd .. section: C API The whole coreconfig.h header is now excluded from Py_LIMITED_API. Move functions definitions into a new internal pycore_coreconfig.h header.