.. bpo: 42938
.. date: 2021-01-18-09-27-31
.. nonce: 4Zn4Mp
.. release date: 2021-02-02
.. section: Security
Avoid static buffers when computing the repr of :class:`ctypes.c_double` and
:class:`ctypes.c_longdouble` values.
..
.. bpo: 42990
.. date: 2021-01-30-11-31-44
.. nonce: 69h_zK
.. section: Core and Builtins
Refactor the ``PyEval_`` family of functions.
* An new function ``_PyEval_Vector`` is added to simplify calls to Python from C.
* ``_PyEval_EvalCodeWithName`` is removed
* ``PyEval_EvalCodeEx`` is retained as part of the API, but is not used internally
..
.. bpo: 38631
.. date: 2021-01-29-17-48-44
.. nonce: jR-3kC
.. section: Core and Builtins
Replace :c:func:`Py_FatalError` calls in the compiler with regular
:exc:`SystemError` exceptions. Patch by Victor Stinner.
..
.. bpo: 42997
.. date: 2021-01-24-20-19-55
.. nonce: QUOPgP
.. section: Core and Builtins
Improve error message for missing ":" before blocks. Patch by Pablo Galindo.
..
.. bpo: 43017
.. date: 2021-01-24-18-02-05
.. nonce: emEcXX
.. section: Core and Builtins
Improve error message in the parser when using un-parenthesised tuples in
comprehensions. Patch by Pablo Galindo.
..
.. bpo: 42986
.. date: 2021-01-20-23-44-15
.. nonce: sWoaGf
.. section: Core and Builtins
Fix parser crash when reporting syntax errors in f-string with newlines.
Patch by Pablo Galindo.
..
.. bpo: 40176
.. date: 2021-01-20-22-31-01
.. nonce: anjyWw
.. section: Core and Builtins
Syntax errors for unterminated string literals now point to the start of the
string instead of reporting EOF/EOL.
..
.. bpo: 42927
.. date: 2021-01-15-20-05-56
.. nonce: GI-l-7
.. section: Core and Builtins
The inline cache for ``LOAD_ATTR`` now also optimizes access to attributes
defined by ``__slots__``. This makes reading such attribute up to 30%
faster.
..
.. bpo: 42864
.. date: 2021-01-14-23-15-34
.. nonce: QgOAQ1
.. section: Core and Builtins
Improve error messages in the parser when parentheses are not closed. Patch
by Pablo Galindo.
..
.. bpo: 42924
.. date: 2021-01-13-14-06-01
.. nonce: _WS1Ok
.. section: Core and Builtins
Fix ``bytearray`` repetition incorrectly copying data from the start of the
buffer, even if the data is offset within the buffer (e.g. after reassigning
a slice at the start of the ``bytearray`` to a shorter byte string).
..
.. bpo: 42882
.. date: 2021-01-11-17-58-52
.. nonce: WfTdfg
.. section: Core and Builtins
Fix the :c:func:`!_PyUnicode_FromId` function (_Py_IDENTIFIER(var) API) when
:c:func:`Py_Initialize` / :c:func:`Py_Finalize` is called multiple times:
preserve ``_PyRuntime.unicode_ids.next_index`` value.
..
.. bpo: 42827
.. date: 2021-01-06-17-06-37
.. nonce: jtRR0D
.. section: Core and Builtins
Fix a crash when working out the error line of a :exc:`SyntaxError` in some
multi-line expressions.
..
.. bpo: 42823
.. date: 2021-01-04-18-17-07
.. nonce: dcSynu
.. section: Core and Builtins
frame.f_lineno is correct even if frame.f_trace is set to True
..
.. bpo: 37324
.. date: 2020-12-12-20-09-12
.. nonce: jB-9_U
.. section: Core and Builtins
Remove deprecated aliases to :ref:`collections-abstract-base-classes` from
the :mod:`collections` module.
..
.. bpo: 41994
.. date: 2020-10-10-14-16-03
.. nonce: Xop8sV
.. section: Core and Builtins
Fixed possible leak in ``import`` when ``sys.modules`` is not a ``dict``.
..
.. bpo: 27772
.. date: 2018-12-20-23-59-23
.. nonce: idHEcj
.. section: Core and Builtins
In string formatting, preceding the *width* field by ``'0'`` no longer
affects the default alignment for strings.
..
.. bpo: 43108
.. date: 2021-02-02-20-23-31
.. nonce: lqcCZ6
.. section: Library
Fixed a reference leak in the :mod:`curses` module. Patch by Pablo Galindo
..
.. bpo: 43077
.. date: 2021-01-30-15-20-06
.. nonce: Owk61z
.. section: Library
Update the bundled pip to 21.0.1 and setuptools to 52.0.0.
..
.. bpo: 41282
.. date: 2021-01-27-20-49-32
.. nonce: SEPdV0
.. section: Library
Deprecate ``distutils`` in documentation and add warning on import.
..
.. bpo: 43014
.. date: 2021-01-24-00-37-40
.. nonce: BVPhEr
.. section: Library
Improve performance of :mod:`tokenize` by 20-30%. Patch by Anthony Sottile.
..
.. bpo: 42323
.. date: 2021-01-20-12-10-47
.. nonce: PONB8e
.. section: Library
Fix :func:`math.nextafter` for NaN on AIX.
..
.. bpo: 42955
.. date: 2021-01-18-11-59-46
.. nonce: CSWLC9
.. section: Library
Add :data:`sys.stdlib_module_names`, containing the list of the standard
library module names. Patch by Victor Stinner.
..
.. bpo: 42944
.. date: 2021-01-18-10-41-44
.. nonce: RrONvy
.. section: Library
Fix ``random.Random.sample`` when ``counts`` argument is not ``None``.
..
.. bpo: 42934
.. date: 2021-01-15-11-48-00
.. nonce: ILKoOI
.. section: Library
Use :class:`~traceback.TracebackException`'s new ``compact`` param in
:class:`~unittest.TestResult` to reduce time and memory consumed by
traceback formatting.
..
.. bpo: 42931
.. date: 2021-01-15-00-23-50
.. nonce: QD6U2B
.. section: Library
Add :func:`randbytes` to ``random.__all__``.
..
.. bpo: 38250
.. date: 2021-01-14-15-07-16
.. nonce: 1fvhOk
.. section: Library
[Enum] Flags consisting of a single bit are now considered canonical, and
will be the only flags returned from listing and iterating over a Flag class
or a Flag member. Multi-bit flags are considered aliases; they will be
returned from lookups and operations that result in their value. Iteration
for both Flag and Flag members is in definition order.
..
.. bpo: 42877
.. date: 2021-01-13-12-55-41
.. nonce: Fi1zEG
.. section: Library
Added the ``compact`` parameter to the constructor of
:class:`traceback.TracebackException` to reduce time and memory for use
cases that only need to call :func:`TracebackException.format` and
:func:`TracebackException.format_exception_only`.
..
.. bpo: 42923
.. date: 2021-01-13-12-15-13
.. nonce: zBiNls
.. section: Library
The :c:func:`Py_FatalError` function and the :mod:`faulthandler` module now
dump the list of extension modules on a fatal error.
..
.. bpo: 42848
.. date: 2021-01-12-19-34-06
.. nonce: 5G8oBl
.. section: Library
Removed recursion from :class:`~traceback.TracebackException` to allow it to
handle long exception chains.
..
.. bpo: 42901
.. date: 2021-01-11-17-36-59
.. nonce: gFd-ta
.. section: Library
[Enum] move member creation from ``EnumMeta.__new__`` to
``_proto_member.__set_name__``, allowing members to be created and visible
in ``__init_subclass__``.
..
.. bpo: 42780
.. date: 2021-01-08-15-49-20
.. nonce: rtqi6B
.. section: Library
Fix os.set_inheritable() for O_PATH file descriptors on Linux.
..
.. bpo: 42866
.. date: 2021-01-08-10-57-21
.. nonce: Y1DnrO
.. section: Library
Fix a reference leak in the ``getcodec()`` function of CJK codecs. Patch by
Victor Stinner.
..
.. bpo: 42846
.. date: 2021-01-07-23-31-17
.. nonce: kukDjw
.. section: Library
Convert the 6 CJK codec extension modules (_codecs_cn, _codecs_hk,
_codecs_iso2022, _codecs_jp, _codecs_kr and _codecs_tw) to the multiphase
initialization API (:pep:`489`). Patch by Victor Stinner.
..
.. bpo: 42851
.. date: 2021-01-07-11-44-22
.. nonce: uyQFyd
.. section: Library
remove __init_subclass__ support for Enum members
..
.. bpo: 42834
.. date: 2021-01-05-23-55-24
.. nonce: LxRnZC
.. section: Library
Make internal caches of the ``_json`` module compatible with
subinterpreters.
..
.. bpo: 41748
.. date: 2021-01-05-21-26-29
.. nonce: KdC0w3
.. section: Library
Fix HTMLParser parsing rules for element attributes containing commas with
spaces. Patch by Karl Dubost.
..
.. bpo: 40810
.. date: 2021-01-05-00-52-30
.. nonce: JxQqPe
.. section: Library
Require SQLite 3.7.15 or newer. Patch by Erlend E. Aasland.
..
.. bpo: 1635741
.. date: 2021-01-04-15-05-40
.. nonce: EOCfZY
.. section: Library
Convert the _multibytecodec extension module (CJK codecs) to multi-phase
initialization (:pep:`489`). Patch by Erlend E. Aasland.
..
.. bpo: 42802
.. date: 2021-01-01-15-29-16
.. nonce: Lw-bzl
.. section: Library
The distutils ``bdist_wininst`` command deprecated in Python 3.8 has been
removed. The distutils ``bdist_wheel`` command is now recommended to
distribute binary packages on Windows.
..
.. bpo: 24464
.. date: 2020-12-30-14-56-25
.. nonce: vbNVHe
.. section: Library
The undocumented built-in function ``sqlite3.enable_shared_cache`` is now
deprecated, scheduled for removal in Python 3.12. Its use is strongly
discouraged by the SQLite3 documentation. Patch by Erlend E. Aasland.
..
.. bpo: 42384
.. date: 2020-11-17-14-32-39
.. nonce: 1ZnQSn
.. section: Library
Make pdb populate sys.path[0] exactly the same as regular python execution.
..
.. bpo: 42383
.. date: 2020-11-17-14-30-12
.. nonce: ubl0Y_
.. section: Library
Fix pdb: previously pdb would fail to restart the debugging target if it was
specified using a relative path and the current directory changed.
..
.. bpo: 42005
.. date: 2020-10-11-13-48-03
.. nonce: Jq6Az-
.. section: Library
Fix CLI of :mod:`cProfile` and :mod:`profile` to catch
:exc:`BrokenPipeError`.
..
.. bpo: 41604
.. date: 2020-08-21-15-24-14
.. nonce: rTXleO
.. section: Library
Don't decrement the reference count of the previous user_ptr when
set_panel_userptr fails.
..
.. bpo: 41149
.. date: 2020-06-28-16-13-02
.. nonce: jiZWtJ
.. section: Library
Allow executing callables that have a boolean value of ``False`` when passed
to :class:`Threading.thread` as the target. Patch contributed by Barney
Stratford.
..
.. bpo: 38307
.. date: 2020-03-16-03-03-21
.. nonce: 2cmw2i
.. section: Library
Add an 'end_lineno' attribute to the Class and Function objects that appear
in the tree returned by pyclbr functions. This and the existing 'lineno'
attribute define the extent of class and def statements. Patch by Aviral
Srivastava.
..
.. bpo: 39273
.. date: 2020-01-13-23-37-58
.. nonce: m5hzxV
.. section: Library
The ``BUTTON5_*`` constants are now exposed in the :mod:`curses` module if
available.
..
.. bpo: 33289
.. date: 2018-04-23-13-44-10
.. nonce: anBnUr
.. section: Library
Correct call to :mod:`tkinter.colorchooser` to return RGB triplet of ints
instead of floats. Patch by Cheryl Sabella.
..
.. bpo: 40304
.. date: 2021-01-20-23-03-49
.. nonce: -LK7Ps
.. section: Documentation
Fix doc for type(name, bases, dict). Patch by Boris Verkhovskiy and Éric
Araujo.
..
.. bpo: 42811
.. date: 2021-01-04-22-14-22
.. nonce: HY2beA
.. section: Documentation
Updated importlib.util.resolve_name() doc to use __spec__.parent instead of
__package__. (Thanks Yair Frid.)
..
.. bpo: 40823
.. date: 2020-05-30-13-39-22
.. nonce: yB7K5w
.. section: Tests
Use :meth:`unittest.TestLoader().loadTestsFromTestCase` instead of
:meth:`unittest.makeSuite` in :mod:`sqlite3` tests. Patch by Erlend E.
Aasland.
..
.. bpo: 40810
.. date: 2020-05-30-10-56-38
.. nonce: LPqDLQ
.. section: Tests
In :mod:`sqlite3`, fix ``CheckTraceCallbackContent`` for SQLite pre 3.7.15.
..
.. bpo: 43031
.. date: 2021-01-26-14-48-40
.. nonce: 44nK9U
.. section: Build
Pass ``--timeout=$(TESTTIMEOUT)`` option to the default profile task
``./python -m test --pgo`` command.
..
.. bpo: 36143
.. date: 2021-01-18-20-52-06
.. nonce: kgnIYo
.. section: Build
``make regen-all`` now also runs ``regen-keyword``. Patch by Victor Stinner.
..
.. bpo: 42874
.. date: 2021-01-12-10-06-50
.. nonce: XKK61g
.. section: Build
Removed the grep -q and -E flags in the tzpath validation section of the
configure script to better accommodate users of some platforms (specifically
Solaris 10).
..
.. bpo: 31904
.. date: 2021-01-11-23-26-00
.. nonce: ty8f3h
.. section: Build
Add library search path by wr-cc in add_cross_compiling_paths() for VxWorks.
..
.. bpo: 42856
.. date: 2021-01-07-12-51-38
.. nonce: n3cMHV
.. section: Build
Add ``--with-wheel-pkg-dir=PATH`` option to the ``./configure`` script. If
specified, the :mod:`ensurepip` module looks for ``setuptools`` and ``pip``
wheel packages in this directory: if both are present, these wheel packages
are used instead of ensurepip bundled wheel packages.
Some Linux distribution packaging policies recommend against bundling
dependencies. For example, Fedora installs wheel packages in the
``/usr/share/python-wheels/`` directory and don't install the
``ensurepip._bundled`` package.
..
.. bpo: 41837
.. date: 2021-01-05-20-36-40
.. nonce: bmS7vB
.. section: Windows
Updated Windows installer to include OpenSSL 1.1.1i
..
.. bpo: 42584
.. date: 2020-12-07-11-40-52
.. nonce: AsYnVX
.. section: Windows
Upgrade Windows installer to use SQLite 3.34.0.
..
.. bpo: 42504
.. date: 2021-01-26-14-36-11
.. nonce: ZxWt71
.. section: macOS
Ensure that the value of
sysconfig.get_config_var('MACOSX_DEPLOYMENT_TARGET') is always a string,
even in when the value is parsable as an integer.
..
.. bpo: 43008
.. date: 2021-01-26-18-12-17
.. nonce: mbQUc7
.. section: IDLE
Make IDLE invoke :func:`sys.excepthook` in normal, 2-process mode. Patch by
Ken Hilton.
..
.. bpo: 33065
.. date: 2021-01-10-01-25-43
.. nonce: zmyHYJ
.. section: IDLE
Fix problem debugging user classes with __repr__ method.
..
.. bpo: 23544
.. date: 2019-11-14-23-41-07
.. nonce: 3etemb
.. section: IDLE
Disable Debug=>Stack Viewer when user code is running or Debugger is active,
to prevent hang or crash. Patch by Zackery Spytz.
..
.. bpo: 32631
.. date: 2019-06-30-20-31-09
.. nonce: e7_4BG
.. section: IDLE
Finish zzdummy example extension module: make menu entries work; add
docstrings and tests with 100% coverage.
..
.. bpo: 42979
.. date: 2021-01-28-01-11-59
.. nonce: JrGkrm
.. section: C API
When Python is built in debug mode (with C assertions), calling a type slot
like ``sq_length`` (``__len__()`` in Python) now fails with a fatal error if
the slot succeeded with an exception set, or failed with no exception set.
The error message contains the slot, the type name, and the current
exception (if an exception is set). Patch by Victor Stinner.
..
.. bpo: 43030
.. date: 2021-01-27-10-27-47
.. nonce: loDcD_
.. section: C API
Fixed a compiler warning in :c:func:`Py_UNICODE_ISSPACE()` on platforms with
signed :c:type:`wchar_t`.