.. bpo: 40121
.. date: 2020-03-30-23-16-25
.. nonce: p2LIio
.. release date: 2020-04-27
.. section: Security
Fixes audit events raised on creating a new socket.
..
.. bpo: 39073
.. date: 2020-03-15-01-28-36
.. nonce: 6Szd3i
.. section: Security
Disallow CR or LF in email.headerregistry.Address arguments to guard against
header injection attacks.
..
.. bpo: 39503
.. date: 2020-01-30-16-15-29
.. nonce: B299Yq
.. section: Security
:cve:`2020-8492`: The :class:`~urllib.request.AbstractBasicAuthHandler` class
of the :mod:`urllib.request` module uses an inefficient regular expression
which can be exploited by an attacker to cause a denial of service. Fix the
regex to prevent the catastrophic backtracking. Vulnerability reported by
Ben Caller and Matt Schwager.
..
.. bpo: 40313
.. date: 2020-04-20-23-58-35
.. nonce: USVRW8
.. section: Core and Builtins
Improve the performance of bytes.hex().
..
.. bpo: 40334
.. date: 2020-04-20-14-06-19
.. nonce: CTLGEp
.. section: Core and Builtins
Switch to a new parser, based on PEG. For more details see PEP 617. To
temporarily switch back to the old parser, use ``-X oldparser`` or
``PYTHONOLDPARSER=1``. In Python 3.10 we will remove the old parser
completely, including the ``parser`` module (already deprecated) and
anything that depends on it.
..
.. bpo: 40267
.. date: 2020-04-14-18-54-50
.. nonce: Q2N6Bw
.. section: Core and Builtins
Fix the tokenizer to display the correct error message, when there is a
``SyntaxError`` on the last input character and no newline follows. It used to
be ``unexpected EOF while parsing``, while it should be ``invalid syntax``.
..
.. bpo: 39522
.. date: 2020-04-14-18-47-00
.. nonce: uVeIV_
.. section: Core and Builtins
Correctly unparse explicit ``u`` prefix for strings when postponed
evaluation for annotations activated. Patch by Batuhan Taskaya.
..
.. bpo: 40246
.. date: 2020-04-11-17-52-03
.. nonce: vXPze5
.. section: Core and Builtins
Report a specialized error message, ``invalid string prefix``, when the
tokenizer encounters a string with an invalid prefix.
..
.. bpo: 40082
.. date: 2020-04-08-22-33-24
.. nonce: WI3-lu
.. section: Core and Builtins
Fix the signal handler: it now always uses the main interpreter, rather than
trying to get the current Python thread state.
..
.. bpo: 37388
.. date: 2020-04-07-15-44-29
.. nonce: stlxBq
.. section: Core and Builtins
str.encode() and str.decode() no longer check the encoding and errors in
development mode or in debug mode during Python finalization. The codecs
machinery can no longer work on very late calls to str.encode() and
str.decode().
..
.. bpo: 40077
.. date: 2020-04-04-12-43-19
.. nonce: m15TTX
.. section: Core and Builtins
Fix possible refleaks in :mod:`!_json`, memo of PyScannerObject should be
traversed.
..
.. bpo: 37207
.. date: 2020-04-02-00-25-19
.. nonce: ZTPmKJ
.. section: Core and Builtins
Speed up calls to ``dict()`` by using the :pep:`590` ``vectorcall`` calling
convention.
..
.. bpo: 40141
.. date: 2020-04-01-21-50-37
.. nonce: 8fCRVj
.. section: Core and Builtins
Add column and line information to ``ast.keyword`` nodes. Patch by Pablo
Galindo.
..
.. bpo: 1635741
.. date: 2020-04-01-00-08-18
.. nonce: bhGWam
.. section: Core and Builtins
Port :mod:`resource` to multiphase initialization (:pep:`489`).
..
.. bpo: 1635741
.. date: 2020-03-31-22-15-04
.. nonce: 8Ir1a0
.. section: Core and Builtins
Port :mod:`math` to multiphase initialization (:pep:`489`).
..
.. bpo: 1635741
.. date: 2020-03-31-21-12-27
.. nonce: S2nkF3
.. section: Core and Builtins
Port _uuid module to multiphase initialization (:pep:`489`).
..
.. bpo: 40077
.. date: 2020-03-27-01-11-08
.. nonce: wT002V
.. section: Core and Builtins
Convert json module to use :c:func:`PyType_FromSpec`.
..
.. bpo: 40067
.. date: 2020-03-25-20-34-01
.. nonce: 0bFda2
.. section: Core and Builtins
Improve the error message for multiple star expressions in an assignment.
Patch by Furkan Onder
..
.. bpo: 1635741
.. date: 2020-03-24-22-26-26
.. nonce: AB38ot
.. section: Core and Builtins
Port _functools module to multiphase initialization (PEP 489). Patch by
Paulo Henrique Silva.
..
.. bpo: 1635741
.. date: 2020-03-24-22-17-12
.. nonce: jWaMRV
.. section: Core and Builtins
Port operator module to multiphase initialization (PEP 489). Patch by Paulo
Henrique Silva.
..
.. bpo: 20526
.. date: 2020-03-23-18-08-34
.. nonce: NHNZIv
.. section: Core and Builtins
Fix :c:func:`PyThreadState_Clear()`. ``PyThreadState.frame`` is a borrowed
reference, not a strong reference: ``PyThreadState_Clear()`` must not call
``Py_CLEAR(tstate->frame)``.
..
.. bpo: 1635741
.. date: 2020-03-22-01-01-41
.. nonce: gR7Igp
.. section: Core and Builtins
Port time module to multiphase initialization (:pep:`489`). Patch by Paulo
Henrique Silva.
..
.. bpo: 1635741
.. date: 2020-03-20-13-42-35
.. nonce: bhIu5M
.. section: Core and Builtins
Port _weakref extension module to multiphase initialization (:pep:`489`).
..
.. bpo: 40020
.. date: 2020-03-19-21-53-41
.. nonce: n-26G7
.. section: Core and Builtins
Fix a leak and subsequent crash in parsetok.c caused by realloc misuse on a
rare codepath.
..
.. bpo: 39939
.. date: 2020-03-11-19-17-36
.. nonce: NwCnAM
.. section: Core and Builtins
Added str.removeprefix and str.removesuffix methods and corresponding bytes,
bytearray, and collections.UserString methods to remove affixes from a
string if present. See :pep:`616` for a full description. Patch by Dennis
Sweeney.
..
.. bpo: 39481
.. date: 2020-01-28-17-19-18
.. nonce: rqSeGl
.. section: Core and Builtins
Implement PEP 585. This supports list[int], tuple[str, ...] etc.
..
.. bpo: 32894
.. date: 2019-12-01-21-36-49
.. nonce: 5g_UQr
.. section: Core and Builtins
Support unparsing of infinity numbers in postponed annotations. Patch by
Batuhan Taşkaya.
..
.. bpo: 37207
.. date: 2019-06-09-10-54-31
.. nonce: bLjgLS
.. section: Core and Builtins
Speed up calls to ``list()`` by using the :pep:`590` ``vectorcall`` calling
convention. Patch by Mark Shannon.
..
.. bpo: 40398
.. date: 2020-04-26-22-25-36
.. nonce: OdXnR3
.. section: Library
:func:`typing.get_args` now always returns an empty tuple for special
generic aliases.
..
.. bpo: 40396
.. date: 2020-04-26-19-07-40
.. nonce: Fn-is1
.. section: Library
Functions :func:`typing.get_origin`, :func:`typing.get_args` and
:func:`typing.get_type_hints` support now generic aliases like
``list[int]``.
..
.. bpo: 38061
.. date: 2020-04-24-01-55-00
.. nonce: XmULB3
.. section: Library
Optimize the :mod:`subprocess` module on FreeBSD using ``closefrom()``. A
single ``close(fd)`` syscall is cheap, but when ``sysconf(_SC_OPEN_MAX)`` is
high, the loop calling ``close(fd)`` on each file descriptor can take
several milliseconds.
The workaround on FreeBSD to improve performance was to load and mount the
fdescfs kernel module, but this is not enabled by default.
Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans)
and Kubilay Kocak (koobs):
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274
..
.. bpo: 38061
.. date: 2020-04-24-01-27-08
.. nonce: cdlkMz
.. section: Library
On FreeBSD, ``os.closerange(fd_low, fd_high)`` now calls
``closefrom(fd_low)`` if *fd_high* is greater than or equal to
``sysconf(_SC_OPEN_MAX)``.
Initial patch by Ed Maste (emaste), Conrad Meyer (cem), Kyle Evans (kevans)
and Kubilay Kocak (koobs):
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242274
..
.. bpo: 40360
.. date: 2020-04-22-20-55-17
.. nonce: Er8sv-
.. section: Library
The :mod:`!lib2to3` module is pending deprecation due to :pep:`617`.
..
.. bpo: 40138
.. date: 2020-04-22-00-05-10
.. nonce: i_oGqa
.. section: Library
Fix the Windows implementation of :func:`os.waitpid` for exit code larger
than ``INT_MAX >> 8``. The exit status is now interpreted as an unsigned
number.
..
.. bpo: 39942
.. date: 2020-04-20-20-16-02
.. nonce: NvGnTc
.. section: Library
Set "__main__" as the default module name when "__name__" is missing in
:class:`typing.TypeVar`. Patch by Weipeng Hong.
..
.. bpo: 40275
.. date: 2020-04-20-19-06-55
.. nonce: 9UcN2g
.. section: Library
The :mod:`logging` package is now imported lazily in :mod:`unittest` only
when the :meth:`~unittest.TestCase.assertLogs` assertion is used.
..
.. bpo: 40275
.. date: 2020-04-20-18-50-25
.. nonce: Ofk6J8
.. section: Library
The :mod:`asyncio` package is now imported lazily in :mod:`unittest` only
when the :class:`~unittest.IsolatedAsyncioTestCase` class is used.
..
.. bpo: 40330
.. date: 2020-04-19-17-31-29
.. nonce: DGjoIS
.. section: Library
In :meth:`ShareableList.__setitem__`, check the size of a new string item
after encoding it to utf-8, not before.
..
.. bpo: 40148
.. date: 2020-04-19-14-16-43
.. nonce: pDZR6V
.. section: Library
Added :meth:`pathlib.Path.with_stem` to create a new Path with the stem
replaced.
..
.. bpo: 40325
.. date: 2020-04-18-19-40-00
.. nonce: KWSvix
.. section: Library
Deprecated support for set objects in random.sample().
..
.. bpo: 40257
.. date: 2020-04-18-10-52-15
.. nonce: lv4WTq
.. section: Library
Improved help for the :mod:`typing` module. Docstrings are now shown for all
special forms and special generic aliases (like ``Union`` and ``List``).
Using ``help()`` with generic alias like ``List[int]`` will show the help
for the correspondent concrete type (``list`` in this case).
..
.. bpo: 40257
.. date: 2020-04-15-19-34-11
.. nonce: ux8FUr
.. section: Library
:func:`inspect.getdoc` no longer returns docstring inherited from the type of
the object or from parent class if it is a class if it is not defined in the
object itself. In :mod:`pydoc` the documentation string is now shown not
only for class, function, method etc, but for any object that has its own
``__doc__`` attribute.
..
.. bpo: 40287
.. date: 2020-04-15-17-21-48
.. nonce: -mkEJH
.. section: Library
Fixed ``SpooledTemporaryFile.seek()`` to return the position.
..
.. bpo: 40290
.. date: 2020-04-15-16-43-48
.. nonce: eqCMGJ
.. section: Library
Added zscore() to statistics.NormalDist().
..
.. bpo: 40282
.. date: 2020-04-15-10-23-52
.. nonce: rIYJmu
.. section: Library
Allow ``random.getrandbits(0)`` to succeed and to return 0.
..
.. bpo: 40286
.. date: 2020-04-15-00-39-25
.. nonce: ai80FA
.. section: Library
Add :func:`random.randbytes` function and :meth:`random.Random.randbytes`
method to generate random bytes.
..
.. bpo: 40277
.. date: 2020-04-14-21-53-18
.. nonce: NknSaf
.. section: Library
:func:`collections.namedtuple` now provides a human-readable repr for its
field accessors.
..
.. bpo: 40270
.. date: 2020-04-14-16-18-49
.. nonce: XVJzeG
.. section: Library
The included copy of sqlite3 on Windows is now compiled with the json
extension. This allows the use of functions such as ``json_object``.
..
.. bpo: 29255
.. date: 2020-04-14-11-31-07
.. nonce: 4EcyIN
.. section: Library
Wait in ``KqueueSelector.select`` when no fds are registered
..
.. bpo: 40260
.. date: 2020-04-12-21-18-56
.. nonce: F6VWaE
.. section: Library
Ensure :mod:`modulefinder` uses :func:`io.open_code` and respects coding
comments.
..
.. bpo: 40234
.. date: 2020-04-10-16-13-47
.. nonce: tar4d_
.. section: Library
Allow again to spawn daemon threads in subinterpreters (revert change which
denied them).
..
.. bpo: 39207
.. date: 2020-04-10-01-24-58
.. nonce: 2dE5Ox
.. section: Library
Workers in :class:`~concurrent.futures.ProcessPoolExecutor` are now spawned
on demand, only when there are no available idle workers to reuse. This
optimizes startup overhead and reduces the amount of lost CPU time to idle
workers. Patch by Kyle Stanley.
..
.. bpo: 40091
.. date: 2020-04-07-23-26-25
.. nonce: 5M9AW5
.. section: Library
Fix a hang at fork in the logging module: the new private _at_fork_reinit()
method is now used to reinitialize locks at fork in the child process.
..
.. bpo: 40149
.. date: 2020-04-07-18-06-38
.. nonce: mMU2iu
.. section: Library
Implement traverse and clear slots in _abc._abc_data type.
..
.. bpo: 40208
.. date: 2020-04-06-20-09-33
.. nonce: 3rO_q7
.. section: Library
Remove deprecated :meth:`!symtable.SymbolTable.has_exec`.
..
.. bpo: 40196
.. date: 2020-04-06-11-05-13
.. nonce: Jqowse
.. section: Library
Fix a bug in the :mod:`symtable` module that was causing incorrectly report
global variables as local. Patch by Pablo Galindo.
..
.. bpo: 40190
.. date: 2020-04-05-02-58-17
.. nonce: HF3OWo
.. section: Library
Add support for ``_SC_AIX_REALMEM`` to :func:`posix.sysconf`.
..
.. bpo: 40182
.. date: 2020-04-04-23-44-09
.. nonce: Bf_kFN
.. section: Library
Removed the ``_field_types`` attribute of the :class:`typing.NamedTuple`
class.
..
.. bpo: 36517
.. date: 2020-04-04-17-49-39
.. nonce: Ilj1IJ
.. section: Library
Multiple inheritance with :class:`typing.NamedTuple` now raises an error
instead of silently ignoring other types.
..
.. bpo: 40126
.. date: 2020-04-04-00-47-40
.. nonce: Y-bTNP
.. section: Library
Fixed reverting multiple patches in unittest.mock. Patcher's ``__exit__()``
is now never called if its ``__enter__()`` is failed. Returning true from
``__exit__()`` silences now the exception.
..
.. bpo: 40094
.. date: 2020-04-02-01-13-28
.. nonce: AeZ34K
.. section: Library
CGIHTTPRequestHandler of http.server now logs the CGI script exit code,
rather than the CGI script exit status of os.waitpid(). For example, if the
script is killed by signal 11, it now logs: "CGI script exit code -11."
..
.. bpo: 40108
.. date: 2020-03-31-01-11-20
.. nonce: EGDVQ_
.. section: Library
Improve the error message when triying to import a module using :mod:`runpy`
and incorrectly using the ".py" extension at the end of the module name. Patch
by Pablo Galindo.
..
.. bpo: 40094
.. date: 2020-03-28-18-25-49
.. nonce: v-wQIU
.. section: Library
Add :func:`os.waitstatus_to_exitcode` function: convert a wait status to an
exit code.
..
.. bpo: 40089
.. date: 2020-03-27-17-22-34
.. nonce: -lFsD0
.. section: Library
Fix threading._after_fork(): if fork was not called by a thread spawned by
threading.Thread, threading._after_fork() now creates a _MainThread instance
for _main_thread, instead of a _DummyThread instance.
..
.. bpo: 40089
.. date: 2020-03-27-16-54-29
.. nonce: VTq_8s
.. section: Library
Add a private ``_at_fork_reinit()`` method to :class:`!_thread.Lock`,
:class:`!_thread.RLock`, :class:`threading.RLock` and
:class:`threading.Condition` classes: reinitialize the lock at fork in the
child process, reset the lock to the unlocked state. Rename also the private
``_reset_internal_locks()`` method of :class:`threading.Event` to
``_at_fork_reinit()``.
..
.. bpo: 25780
.. date: 2020-03-27-08-57-46
.. nonce: kIjVge
.. section: Library
Expose :const:`~socket.CAN_RAW_JOIN_FILTERS` in the :mod:`socket` module.
..
.. bpo: 39503
.. date: 2020-03-25-16-02-16
.. nonce: YmMbYn
.. section: Library
:class:`~urllib.request.AbstractBasicAuthHandler` of :mod:`urllib.request`
now parses all WWW-Authenticate HTTP headers and accepts multiple challenges
per header: use the realm of the first Basic challenge.
..
.. bpo: 39812
.. date: 2020-03-25-00-35-48
.. nonce: rIKnms
.. section: Library
Removed daemon threads from :mod:`concurrent.futures` by adding an internal
``threading._register_atexit()``, which calls registered functions prior to
joining all non-daemon threads. This allows for compatibility with
subinterpreters, which don't support daemon threads.
..
.. bpo: 40050
.. date: 2020-03-24-16-17-20
.. nonce: 6GrOlz
.. section: Library
Fix ``importlib._bootstrap_external``: avoid creating a new ``winreg``
builtin module if it's already available in :data:`sys.modules`, and remove
redundant imports.
..
.. bpo: 40014
.. date: 2020-03-23-17-52-00
.. nonce: Ya70VG
.. section: Library
Fix ``os.getgrouplist()``: if ``getgrouplist()`` function fails because the
group list is too small, retry with a larger group list. On failure, the
glibc implementation of ``getgrouplist()`` sets ``ngroups`` to the total
number of groups. For other implementations, double the group list size.
..
.. bpo: 40017
.. date: 2020-03-21-00-46-18
.. nonce: HFpHZS
.. section: Library
Add :const:`time.CLOCK_TAI` constant if the operating system support it.
..
.. bpo: 40016
.. date: 2020-03-19-19-40-27
.. nonce: JWtxqJ
.. section: Library
In re docstring, clarify the relationship between inline and argument
compile flags.
..
.. bpo: 39953
.. date: 2020-03-19-16-33-03
.. nonce: yy5lC_
.. section: Library
Update internal table of OpenSSL error codes in the ``ssl`` module.
..
.. bpo: 36144
.. date: 2020-03-18-14-51-41
.. nonce: lQm_RK
.. section: Library
Added :pep:`584` operators to :class:`weakref.WeakValueDictionary`.
..
.. bpo: 36144
.. date: 2020-03-18-14-02-58
.. nonce: ooyn6Z
.. section: Library
Added :pep:`584` operators to :class:`weakref.WeakKeyDictionary`.
..
.. bpo: 38891
.. date: 2020-03-15-08-06-05
.. nonce: 56Yokh
.. section: Library
Fix linear runtime behaviour of the ``__getitem__`` and ``__setitem__`` methods
in :class:`multiprocessing.shared_memory.ShareableList`. This avoids
quadratic performance when iterating a ``ShareableList``. Patch by Thomas
Krennwallner.
..
.. bpo: 39682
.. date: 2020-03-08-11-00-01
.. nonce: AxXZNz
.. section: Library
Remove undocumented support for *closing* a ``pathlib.Path`` object via its
context manager. The context manager magic methods remain, but they are now
a no-op, making ``Path`` objects immutable.
..
.. bpo: 36144
.. date: 2020-03-07-11-26-08
.. nonce: FG9jqy
.. section: Library
Added :pep:`584` operators (``|`` and ``|=``) to
:class:`collections.ChainMap`.
..
.. bpo: 39011
.. date: 2020-02-12-01-48-51
.. nonce: hGve_t
.. section: Library
Normalization of line endings in ElementTree attributes was removed, as line
endings which were replaced by entity numbers should be preserved in
original form.
..
.. bpo: 38410
.. date: 2019-10-09-08-14-25
.. nonce: _YyoMV
.. section: Library
Properly handle :func:`sys.audit` failures in
:func:`sys.set_asyncgen_hooks`.
..
.. bpo: 36541
.. date: 2019-06-18-19-38-27
.. nonce: XI8mi1
.. section: Library
lib2to3 now recognizes named assignment expressions (the walrus operator,
``:=``)
..
.. bpo: 35967
.. date: 2019-04-14-14-11-07
.. nonce: KUMT9E
.. section: Library
In platform, delay the invocation of 'uname -p' until the processor
attribute is requested.
..
.. bpo: 35113
.. date: 2018-11-03-16-18-20
.. nonce: vwvWKG
.. section: Library
:meth:`inspect.getsource` now returns correct source code for inner class
with same name as module level class. Decorators are also returned as part
of source of the class. Patch by Karthikeyan Singaravelan.
..
.. bpo: 33262
.. date: 2018-04-17-13-23-29
.. nonce: vHC7YQ
.. section: Library
Deprecate passing None as an argument for :func:`shlex.split`'s ``s``
parameter. Patch by Zackery Spytz.
..
.. bpo: 31758
.. date: 2017-10-14-21-02-40
.. nonce: 563ZZb
.. section: Library
Prevent crashes when using an uninitialized ``_elementtree.XMLParser``
object. Patch by Oren Milman.
..
.. bpo: 27635
.. date: 2020-04-01-00-27-03
.. nonce: VwxUty
.. section: Documentation
The pickle documentation incorrectly claimed that ``__new__`` isn't called
by default when unpickling.
..
.. bpo: 39879
.. date: 2020-03-16-18-12-02
.. nonce: CnQ7Cv
.. section: Documentation
Updated :ref:`datamodel` docs to include :func:`dict` insertion order
preservation. Patch by Furkan Onder and Samy Lahfa.
..
.. bpo: 38387
.. date: 2019-10-06-23-44-15
.. nonce: fZoq0S
.. section: Documentation
Document :c:macro:`PyDoc_STRVAR` macro in the C-API reference.
..
.. bpo: 13743
.. date: 2019-09-25-23-20-55
.. nonce: 5ToLDy
.. section: Documentation
Some methods within xml.dom.minidom.Element class are now better documented.
..
.. bpo: 31904
.. date: 2020-04-09-16-29-18
.. nonce: ej348T
.. section: Tests
Set expected default encoding in test_c_locale_coercion.py for VxWorks RTOS.
..
.. bpo: 40162
.. date: 2020-04-03-02-40-16
.. nonce: v3pQW_
.. section: Tests
Update Travis CI configuration to OpenSSL 1.1.1f.
..
.. bpo: 40146
.. date: 2020-04-02-02-14-37
.. nonce: J-Yo9G
.. section: Tests
Update OpenSSL to 1.1.1f in Azure Pipelines.
..
.. bpo: 40094
.. date: 2020-03-31-18-57-52
.. nonce: m3fTJe
.. section: Tests
Add :func:`test.support.wait_process` function.
..
.. bpo: 40003
.. date: 2020-03-31-16-07-15
.. nonce: SOruLY
.. section: Tests
``test.bisect_cmd`` now copies Python command line options like ``-O`` or
``-W``. Moreover, emit a warning if ``test.bisect_cmd`` is used with
``-w``/``--verbose2`` option.
..
.. bpo: 39380
.. date: 2020-03-22-20-00-04
.. nonce: ZXlRQU
.. section: Tests
Add the encoding in :class:`ftplib.FTP` and :class:`ftplib.FTP_TLS` to the
constructor as keyword-only and change the default from ``latin-1`` to
``utf-8`` to follow :rfc:`2640`.
..
.. bpo: 39793
.. date: 2020-02-29-12-58-17
.. nonce: Og2SUN
.. section: Tests
Use the same domain when testing ``make_msgid``. Patch by Batuhan Taskaya.
..
.. bpo: 1812
.. date: 2019-11-25-21-46-47
.. nonce: sAbTbY
.. section: Tests
Fix newline handling in doctest.testfile when loading from a package whose
loader has a get_data method. Patch by Peter Donis.
..
.. bpo: 38360
.. date: 2020-04-22-02-33-54
.. nonce: 74C68u
.. section: Build
Support single-argument form of macOS -isysroot flag.
..
.. bpo: 40158
.. date: 2020-04-03-17-54-33
.. nonce: MWUTs4
.. section: Build
Fix CPython MSBuild Properties in NuGet Package (build/native/python.props)
..
.. bpo: 38527
.. date: 2020-03-28-10-43-09
.. nonce: fqCRgD
.. section: Build
Fix configure check on Solaris for "float word ordering": sometimes, the
correct "grep" command was not being used. Patch by Arnon Yaari.
..
.. bpo: 40164
.. date: 2020-04-04-13-13-44
.. nonce: SPrSn5
.. section: Windows
Updates Windows to OpenSSL 1.1.1f
..
.. bpo: 8901
.. date: 2020-01-24-09-15-41
.. nonce: hVnhGO
.. section: Windows
Ignore the Windows registry when the ``-E`` option is used.
..
.. bpo: 38329
.. date: 2020-04-22-03-39-22
.. nonce: H0a8JV
.. section: macOS
python.org macOS installers now update the Current version symlink of
/Library/Frameworks/Python.framework/Versions for 3.9 installs. Previously,
Current was only updated for Python 2.x installs. This should make it easier
to embed Python 3 into other macOS applications.
..
.. bpo: 40164
.. date: 2020-04-21-19-46-35
.. nonce: 6HA6IC
.. section: macOS
Update macOS installer builds to use OpenSSL 1.1.1g.
..
.. bpo: 38439
.. date: 2019-12-05-14-20-53
.. nonce: j_L2PI
.. section: IDLE
Add a 256×256 pixel IDLE icon to support more modern environments. Created
by Andrew Clover. Delete the unused macOS idle.icns icon file.
..
.. bpo: 38689
.. date: 2019-11-14-12-59-19
.. nonce: Lgfxva
.. section: IDLE
IDLE will no longer freeze when inspect.signature fails when fetching a
calltip.
..
.. bpo: 40385
.. date: 2020-04-24-21-08-19
.. nonce: nWIQdq
.. section: Tools/Demos
Removed the checkpyc.py tool. Please see compileall without force mode as a
potential alternative.
..
.. bpo: 40179
.. date: 2020-04-04-19-35-22
.. nonce: u9FH10
.. section: Tools/Demos
Fixed translation of ``#elif`` in Argument Clinic.
..
.. bpo: 40094
.. date: 2020-04-02-01-22-21
.. nonce: 1XQQF6
.. section: Tools/Demos
Fix ``which.py`` script exit code: it now uses
:func:`os.waitstatus_to_exitcode` to convert :func:`os.system` exit status
into an exit code.
..
.. bpo: 40241
.. date: 2020-04-13-02-56-24
.. nonce: _FOf7E
.. section: C API
Move the :c:type:`!PyGC_Head` structure to the internal C API.
..
.. bpo: 40170
.. date: 2020-04-11-06-12-44
.. nonce: cmM9oK
.. section: C API
Convert :c:func:`PyObject_IS_GC` macro to a function to hide implementation
details.
..
.. bpo: 40241
.. date: 2020-04-10-19-43-04
.. nonce: Xm3w-1
.. section: C API
Add the functions :c:func:`PyObject_GC_IsTracked` and
:c:func:`PyObject_GC_IsFinalized` to the public API to allow to query if
Python objects are being currently tracked or have been already finalized by
the garbage collector respectively. Patch by Pablo Galindo.
..
.. bpo: 40170
.. date: 2020-04-05-00-37-34
.. nonce: Seuh3D
.. section: C API
The :c:func:`!PyObject_NEW` macro becomes an alias to the
:c:func:`PyObject_New` macro, and the :c:func:`!PyObject_NEW_VAR` macro
becomes an alias to the :c:func:`PyObject_NewVar` macro, to hide
implementation details. They no longer access directly the
:c:member:`PyTypeObject.tp_basicsize` member.
..
.. bpo: 40170
.. date: 2020-04-05-00-21-38
.. nonce: Tx0vy6
.. section: C API
:c:func:`PyType_HasFeature` now always calls :c:func:`PyType_GetFlags` to
hide implementation details. Previously, it accessed directly the
:c:member:`PyTypeObject.tp_flags` member when the limited C API was not
used.
..
.. bpo: 40170
.. date: 2020-04-05-00-10-45
.. nonce: 6nFYbY
.. section: C API
Convert the :c:func:`!PyObject_GET_WEAKREFS_LISTPTR` macro to a function to
hide implementation details: the macro accessed directly to the
:c:member:`PyTypeObject.tp_weaklistoffset` member.
..
.. bpo: 40170
.. date: 2020-04-05-00-02-13
.. nonce: IFsGZ-
.. section: C API
Convert :c:func:`PyObject_CheckBuffer` macro to a function to hide
implementation details: the macro accessed directly the
:c:member:`PyTypeObject.tp_as_buffer` member.
..
.. bpo: 40170
.. date: 2020-04-04-23-51-59
.. nonce: uXQ701
.. section: C API
Always declare :c:func:`PyIndex_Check` as an opaque function to hide
implementation details: remove ``PyIndex_Check()`` macro. The macro accessed
directly the :c:member:`PyTypeObject.tp_as_number` member.
..
.. bpo: 39947
.. date: 2020-03-25-19-44-55
.. nonce: 2OxvPt
.. section: C API
Add :c:func:`PyThreadState_GetID` function: get the unique identifier of a
Python thread state.