.. 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.