mirror of
https://github.com/python/cpython.git
synced 2025-07-07 19:35:27 +00:00
Add whatsnew text for warnings module changes. (gh-135869)
This commit is contained in:
parent
0fadd9fd20
commit
1f5e23fd70
1 changed files with 29 additions and 0 deletions
|
@ -978,6 +978,23 @@ be specified by the build backend, as it will no longer be determined
|
|||
automatically by the C compiler. For a running interpreter, the setting that
|
||||
was used at compile time can be found using :func:`sysconfig.get_config_var`.
|
||||
|
||||
A new flag has been added, :data:`~sys.flags.context_aware_warnings`. This
|
||||
flag defaults to true for the free-threaded build and false for the GIL-enabled
|
||||
build. If the flag is true then the :class:`warnings.catch_warnings` context
|
||||
manager uses a context variable for warning filters. This makes the context
|
||||
manager behave predicably when used with multiple threads or asynchronous
|
||||
tasks.
|
||||
|
||||
A new flag has been added, :data:`~sys.flags.thread_inherit_context`. This flag
|
||||
defaults to true for the free-threaded build and false for the GIL-enabled
|
||||
build. If the flag is true then threads created with :class:`threading.Thread`
|
||||
start with a copy of the :class:`~contextvars.Context()` of the caller of
|
||||
:meth:`~threading.Thread.start`. Most significantly, this makes the warning
|
||||
filtering context established by :class:`~warnings.catch_warnings` be
|
||||
"inherited" by threads (or asyncio tasks) started within that context. It also
|
||||
affects other modules that use context variables, such as the :mod:`decimal`
|
||||
context manager.
|
||||
|
||||
|
||||
.. _whatsnew314-pyrepl-highlighting:
|
||||
|
||||
|
@ -1028,6 +1045,18 @@ Please report any bugs or major performance regressions that you encounter!
|
|||
|
||||
.. seealso:: :pep:`744`
|
||||
|
||||
Concurrent safe warnings control
|
||||
--------------------------------
|
||||
|
||||
The :class:`warnings.catch_warnings` context manager will now optionally
|
||||
use a context variable for warning filters. This is enabled by setting
|
||||
the :data:`~sys.flags.context_aware_warnings` flag, either with the ``-X``
|
||||
command-line option or an environment variable. This gives predicable
|
||||
warnings control when using :class:`~warnings.catch_warnings` combined with
|
||||
multiple threads or asynchronous tasks. The flag defaults to true for the
|
||||
free-threaded build and false for the GIL-enabled build.
|
||||
|
||||
(Contributed by Neil Schemenauer and Kumar Aditya in :gh:`130010`.)
|
||||
|
||||
Other language changes
|
||||
======================
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue