mirror of https://github.com/python/cpython
6746 lines
152 KiB
ReStructuredText
6746 lines
152 KiB
ReStructuredText
.. date: 2023-08-22-17-39-12
|
|
.. gh-issue: 108310
|
|
.. nonce: fVM3sg
|
|
.. release date: 2023-10-13
|
|
.. section: Security
|
|
|
|
Fixed an issue where instances of :class:`ssl.SSLSocket` were vulnerable to
|
|
a bypass of the TLS handshake and included protections (like certificate
|
|
verification) and treating sent unencrypted data as if it were
|
|
post-handshake TLS encrypted data. Security issue reported as
|
|
:cve:`2023-40217` by Aapo Oksman. Patch by Gregory P. Smith.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-05-03-51-05
|
|
.. gh-issue: 107774
|
|
.. nonce: VPjaTR
|
|
.. section: Security
|
|
|
|
PEP 669 specifies that ``sys.monitoring.register_callback`` will generate an
|
|
audit event. Pre-releases of Python 3.12 did not generate the audit event.
|
|
This is now fixed.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-13-20-52-24
|
|
.. gh-issue: 102988
|
|
.. nonce: Kei7Vf
|
|
.. section: Security
|
|
|
|
Reverted the :mod:`email.utils` security improvement change released in
|
|
3.12beta4 that unintentionally caused :mod:`email.utils.getaddresses` to
|
|
fail to parse email addresses with a comma in the quoted name field. See
|
|
:gh:`106669`.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-09-29-08
|
|
.. gh-issue: 99108
|
|
.. nonce: hwS2cr
|
|
.. section: Security
|
|
|
|
Refresh our new HACL* built-in :mod:`hashlib` code from upstream. Built-in
|
|
SHA2 should be faster and an issue with SHA3 on 32-bit platforms is fixed.
|
|
|
|
..
|
|
|
|
.. date: 2023-03-07-21-46-29
|
|
.. gh-issue: 102509
|
|
.. nonce: 5ouaH_
|
|
.. section: Security
|
|
|
|
Start initializing ``ob_digit`` during creation of :c:type:`PyLongObject`
|
|
objects. Patch by Illia Volochii.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-12-15-03-24
|
|
.. gh-issue: 110782
|
|
.. nonce: EqzIzi
|
|
.. section: Core and Builtins
|
|
|
|
Fix crash when :class:`typing.TypeVar` is constructed with a keyword
|
|
argument. Patch by Jelle Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-12-06-32-25
|
|
.. gh-issue: 110752
|
|
.. nonce: FYfI0h
|
|
.. section: Core and Builtins
|
|
|
|
Reset ``ceval.eval_breaker`` in :func:`interpreter_clear`
|
|
|
|
..
|
|
|
|
.. date: 2023-10-11-16-56-54
|
|
.. gh-issue: 110721
|
|
.. nonce: afcSsH
|
|
.. section: Core and Builtins
|
|
|
|
Use the :mod:`traceback` implementation for the default
|
|
:c:func:`PyErr_Display` functionality. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-10-11-13-46-14
|
|
.. gh-issue: 110696
|
|
.. nonce: J9kSzr
|
|
.. section: Core and Builtins
|
|
|
|
Fix incorrect error message for invalid argument unpacking. Patch by Pablo
|
|
Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-10-11-12-48-03
|
|
.. gh-issue: 104169
|
|
.. nonce: bPoX8u
|
|
.. section: Core and Builtins
|
|
|
|
Split the tokenizer into two separate directories: - One part includes the
|
|
actual lexeme producing logic and lives in ``Parser/lexer``. - The second
|
|
part wraps the lexer according to the different tokenization modes we have
|
|
(string, utf-8, file, interactive, readline) and lives in
|
|
``Parser/tokenizer``.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-11-11-39-22
|
|
.. gh-issue: 110688
|
|
.. nonce: lB6Q7t
|
|
.. section: Core and Builtins
|
|
|
|
Remove undocumented ``test_c_api`` method from :class:`set`, which was only
|
|
defined for testing purposes under ``Py_DEBUG``. Now we have proper CAPI
|
|
tests.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-10-00-49-35
|
|
.. gh-issue: 104584
|
|
.. nonce: z94TuJ
|
|
.. section: Core and Builtins
|
|
|
|
Fix a reference leak when running with :envvar:`PYTHONUOPS` or :option:`-X
|
|
uops <-X>` enabled.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-08-20-08-54
|
|
.. gh-issue: 110514
|
|
.. nonce: Q9bdRU
|
|
.. section: Core and Builtins
|
|
|
|
Add ``PY_THROW`` to :func:`sys.setprofile` events
|
|
|
|
..
|
|
|
|
.. date: 2023-10-06-22-30-25
|
|
.. gh-issue: 110489
|
|
.. nonce: rI2n8A
|
|
.. section: Core and Builtins
|
|
|
|
Optimise :func:`math.ceil` when the input is exactly a float, resulting in
|
|
about a 10% improvement.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-06-12-00-43
|
|
.. gh-issue: 110455
|
|
.. nonce: 8BjNGg
|
|
.. section: Core and Builtins
|
|
|
|
Guard ``assert(tstate->thread_id > 0)`` with ``#ifndef HAVE_PTHREAD_STUBS``.
|
|
This allows for for pydebug builds to work under WASI which (currently)
|
|
lacks thread support.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-03-23-26-18
|
|
.. gh-issue: 110309
|
|
.. nonce: Y8nDOF
|
|
.. section: Core and Builtins
|
|
|
|
Remove unnecessary empty constant nodes in the ast of f-string specs.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-03-11-43-48
|
|
.. gh-issue: 110259
|
|
.. nonce: ka93x5
|
|
.. section: Core and Builtins
|
|
|
|
Correctly identify the format spec in f-strings (with single or triple
|
|
quotes) that have multiple lines in the expression part and include a
|
|
formatting spec. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-10-02-23-17-08
|
|
.. gh-issue: 110237
|
|
.. nonce: _Xub0z
|
|
.. section: Core and Builtins
|
|
|
|
Fix missing error checks for calls to ``PyList_Append`` in
|
|
``_PyEval_MatchClass``.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-01-02-58-00
|
|
.. gh-issue: 110164
|
|
.. nonce: z7TMCq
|
|
.. section: Core and Builtins
|
|
|
|
regrtest: If the ``SOURCE_DATE_EPOCH`` environment variable is defined,
|
|
regrtest now disables tests randomization. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-27-21-35-49
|
|
.. gh-issue: 109889
|
|
.. nonce: t5hIRT
|
|
.. section: Core and Builtins
|
|
|
|
Fix the compiler's redundant NOP detection algorithm to skip over NOPs with
|
|
no line number when looking for the next instruction's lineno.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-27-18-01-06
|
|
.. gh-issue: 109853
|
|
.. nonce: coQQiL
|
|
.. section: Core and Builtins
|
|
|
|
``sys.path[0]`` is now set correctly for subinterpreters.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-26-21-26-54
|
|
.. gh-issue: 109923
|
|
.. nonce: WO3CHi
|
|
.. section: Core and Builtins
|
|
|
|
Set line number on the ``POP_TOP`` that follows a ``RETURN_GENERATOR``.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-26-14-00-25
|
|
.. gh-issue: 105716
|
|
.. nonce: SUJkW1
|
|
.. section: Core and Builtins
|
|
|
|
Subinterpreters now correctly handle the case where they have threads
|
|
running in the background. Before, such threads would interfere with
|
|
cleaning up and destroying them, as well as prevent running another script.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-26-03-46-55
|
|
.. gh-issue: 109369
|
|
.. nonce: OJbxbF
|
|
.. section: Core and Builtins
|
|
|
|
The internal eval_breaker and supporting flags, plus the monitoring version
|
|
have been merged into a single atomic integer to speed up checks.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-25-14-28-14
|
|
.. gh-issue: 109823
|
|
.. nonce: kbVTKF
|
|
.. section: Core and Builtins
|
|
|
|
Fix bug where compiler does not adjust labels when removing an empty basic
|
|
block which is a jump target.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-25-09-24-10
|
|
.. gh-issue: 109793
|
|
.. nonce: zFQBkv
|
|
.. section: Core and Builtins
|
|
|
|
The main thread no longer exits prematurely when a subinterpreter is cleaned
|
|
up during runtime finalization. The bug was a problem particularly because,
|
|
when triggered, the Python process would always return with a 0 exitcode,
|
|
even if it failed.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-22-13-38-17
|
|
.. gh-issue: 109719
|
|
.. nonce: fx5OTz
|
|
.. section: Core and Builtins
|
|
|
|
Fix missing jump target labels when compiler reorders cold/warm blocks.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-22-01-44-53
|
|
.. gh-issue: 109595
|
|
.. nonce: fVINgD
|
|
.. section: Core and Builtins
|
|
|
|
Add :option:`-X cpu_count <-X>` command line option to override return
|
|
results of :func:`os.cpu_count` and :func:`os.process_cpu_count`. This
|
|
option is useful for users who need to limit CPU resources of a container
|
|
system without having to modify the container (application code). Patch by
|
|
Donghee Na.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-20-23-04-15
|
|
.. gh-issue: 109627
|
|
.. nonce: xxe7De
|
|
.. section: Core and Builtins
|
|
|
|
Fix bug where the compiler does not assign a new jump target label to a
|
|
duplicated small exit block.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-20-13-18-08
|
|
.. gh-issue: 109596
|
|
.. nonce: RG0K2G
|
|
.. section: Core and Builtins
|
|
|
|
Fix some tokens in the grammar that were incorrectly marked as soft
|
|
keywords. Also fix some repeated rule names and ensure that repeated rules
|
|
are not allowed. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-09-18-15-35-08
|
|
.. gh-issue: 109496
|
|
.. nonce: Kleoz3
|
|
.. section: Core and Builtins
|
|
|
|
On a Python built in debug mode, :c:func:`Py_DECREF()` now calls
|
|
``_Py_NegativeRefcount()`` if the object is a dangling pointer to
|
|
deallocated memory: memory filled with ``0xDD`` "dead byte" by the debug
|
|
hook on memory allocators. The fix is to check the reference count *before*
|
|
checking for ``_Py_IsImmortal()``. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-14-20-15-57
|
|
.. gh-issue: 107265
|
|
.. nonce: qHZL_6
|
|
.. section: Core and Builtins
|
|
|
|
Deopt opcodes hidden by the executor when base opcode is needed
|
|
|
|
..
|
|
|
|
.. date: 2023-09-13-21-04-04
|
|
.. gh-issue: 109371
|
|
.. nonce: HPEJr8
|
|
.. section: Core and Builtins
|
|
|
|
Deopted instructions correctly for tool initialization and modified the
|
|
incorrect assertion in instrumentation, when a previous tool already sets
|
|
INSTRUCTION events
|
|
|
|
..
|
|
|
|
.. date: 2023-09-13-19-16-51
|
|
.. gh-issue: 105658
|
|
.. nonce: z2nR2u
|
|
.. section: Core and Builtins
|
|
|
|
Fix bug where the line trace of an except block ending with a conditional
|
|
includes an excess event with the line of the conditional expression.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-13-08-42-45
|
|
.. gh-issue: 109219
|
|
.. nonce: UiN8sc
|
|
.. section: Core and Builtins
|
|
|
|
Fix compiling type param scopes that use a name which is also free in an
|
|
inner scope.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-12-16-00-42
|
|
.. gh-issue: 109351
|
|
.. nonce: kznGeR
|
|
.. section: Core and Builtins
|
|
|
|
Fix crash when compiling an invalid AST involving a named (walrus)
|
|
expression.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-12-15-45-49
|
|
.. gh-issue: 109341
|
|
.. nonce: 4V5bkm
|
|
.. section: Core and Builtins
|
|
|
|
Fix crash when compiling an invalid AST involving a :class:`ast.TypeAlias`.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-11-15-51-55
|
|
.. gh-issue: 109195
|
|
.. nonce: iwxmuo
|
|
.. section: Core and Builtins
|
|
|
|
Fix source location for the ``LOAD_*`` instruction preceding a
|
|
``LOAD_SUPER_ATTR`` to load the ``super`` global (or shadowing variable) so
|
|
that it encompasses only the name ``super`` and not the following
|
|
parentheses.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-11-15-11-03
|
|
.. gh-issue: 109256
|
|
.. nonce: 6mfhvF
|
|
.. section: Core and Builtins
|
|
|
|
Opcode IDs for specialized opcodes are allocated in their own range to
|
|
improve stability of the IDs for the 'real' opcodes.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-11-12-41-42
|
|
.. gh-issue: 109216
|
|
.. nonce: 60QOSb
|
|
.. section: Core and Builtins
|
|
|
|
Fix possible memory leak in :opcode:`BUILD_MAP`.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-10-18-53-55
|
|
.. gh-issue: 109207
|
|
.. nonce: Fei8bY
|
|
.. section: Core and Builtins
|
|
|
|
Fix a SystemError in ``__repr__`` of symtable entry object.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-09-21-17-18
|
|
.. gh-issue: 109179
|
|
.. nonce: ZR8qs2
|
|
.. section: Core and Builtins
|
|
|
|
Fix bug where the C traceback display drops notes from :exc:`SyntaxError`.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-09-12-49-46
|
|
.. gh-issue: 109118
|
|
.. nonce: gx0X4h
|
|
.. section: Core and Builtins
|
|
|
|
Disallow nested scopes (lambdas, generator expressions, and comprehensions)
|
|
within PEP 695 annotation scopes that are nested within classes.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-08-18-31-04
|
|
.. gh-issue: 109156
|
|
.. nonce: KK1EXI
|
|
.. section: Core and Builtins
|
|
|
|
Add tests for de-instrumenting instructions while keeping the
|
|
instrumentation for lines
|
|
|
|
..
|
|
|
|
.. date: 2023-09-08-01-50-41
|
|
.. gh-issue: 109114
|
|
.. nonce: adqgtb
|
|
.. section: Core and Builtins
|
|
|
|
Relax the detection of the error message for invalid lambdas inside
|
|
f-strings to not search for arbitrary replacement fields to avoid false
|
|
positives. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-09-07-20-52-27
|
|
.. gh-issue: 105848
|
|
.. nonce: p799D1
|
|
.. section: Core and Builtins
|
|
|
|
Add a new :opcode:`CALL_KW` opcode, used for calls containing keyword
|
|
arguments. Also, fix a possible crash when jumping over method calls in a
|
|
debugger.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-07-18-49-01
|
|
.. gh-issue: 109052
|
|
.. nonce: TBU4nC
|
|
.. section: Core and Builtins
|
|
|
|
Use the base opcode when comparing code objects to avoid interference from
|
|
instrumentation
|
|
|
|
..
|
|
|
|
.. date: 2023-09-07-18-24-42
|
|
.. gh-issue: 109118
|
|
.. nonce: yPXRAe
|
|
.. section: Core and Builtins
|
|
|
|
Fix interpreter crash when a NameError is raised inside the type parameters
|
|
of a generic class.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-07-16-05-36
|
|
.. gh-issue: 88943
|
|
.. nonce: rH_X3W
|
|
.. section: Core and Builtins
|
|
|
|
Improve syntax error for non-ASCII character that follows a numerical
|
|
literal. It now points on the invalid non-ASCII character, not on the valid
|
|
numerical literal.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-06-22-50-25
|
|
.. gh-issue: 108976
|
|
.. nonce: MUKaIJ
|
|
.. section: Core and Builtins
|
|
|
|
Fix crash that occurs after de-instrumenting a code object in a monitoring
|
|
callback.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-06-13-28-42
|
|
.. gh-issue: 108732
|
|
.. nonce: I6DkEQ
|
|
.. section: Core and Builtins
|
|
|
|
Make iteration variables of module- and class-scoped comprehensions visible
|
|
to pdb and other tools that use ``frame.f_locals`` again.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-05-20-52-17
|
|
.. gh-issue: 108959
|
|
.. nonce: 6z45Sy
|
|
.. section: Core and Builtins
|
|
|
|
Fix caret placement for error locations for subscript and binary operations
|
|
that involve non-semantic parentheses and spaces. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-09-05-11-31-27
|
|
.. gh-issue: 104584
|
|
.. nonce: IRSXA2
|
|
.. section: Core and Builtins
|
|
|
|
Fix a crash when running with :envvar:`PYTHONUOPS` or :option:`-X uops <-X>`
|
|
enabled and an error occurs during optimization.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-31-21-29-28
|
|
.. gh-issue: 108727
|
|
.. nonce: blNRGM
|
|
.. section: Core and Builtins
|
|
|
|
Define ``tp_dealloc`` for ``CounterOptimizer_Type``. This fixes a segfault
|
|
on deallocation.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-30-15-41-47
|
|
.. gh-issue: 108520
|
|
.. nonce: u0ZGP_
|
|
.. section: Core and Builtins
|
|
|
|
Fix :meth:`multiprocessing.synchronize.SemLock.__setstate__` to properly
|
|
initialize :attr:`multiprocessing.synchronize.SemLock._is_fork_ctx`. This
|
|
fixes a regression when passing a SemLock accross nested processes.
|
|
|
|
Rename :attr:`multiprocessing.synchronize.SemLock.is_fork_ctx` to
|
|
:attr:`multiprocessing.synchronize.SemLock._is_fork_ctx` to avoid exposing
|
|
it as public API.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-29-17-53-12
|
|
.. gh-issue: 108654
|
|
.. nonce: jbkDVo
|
|
.. section: Core and Builtins
|
|
|
|
Restore locals shadowed by an inlined comprehension if the comprehension
|
|
raises an exception.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-28-22-22-15
|
|
.. gh-issue: 108488
|
|
.. nonce: e8-fxg
|
|
.. section: Core and Builtins
|
|
|
|
Change the initialization of inline cache entries so that the cache entry
|
|
for ``JUMP_BACKWARD`` is initialized to zero, instead of the
|
|
``adaptive_counter_warmup()`` value used for all other instructions. This
|
|
counter, unique among instructions, counts up from zero.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-28-03-38-28
|
|
.. gh-issue: 108716
|
|
.. nonce: HJBPwt
|
|
.. section: Core and Builtins
|
|
|
|
Turn off deep-freezing of code objects. Modules are still frozen, so that a
|
|
file system search is not needed for common modules.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-26-10-36-45
|
|
.. gh-issue: 108614
|
|
.. nonce: wl5l-W
|
|
.. section: Core and Builtins
|
|
|
|
Add RESUME_CHECK instruction, to avoid having to handle instrumentation,
|
|
signals, and contexts switches in the tier 2 execution engine.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-26-04-31-01
|
|
.. gh-issue: 108487
|
|
.. nonce: 1Gbr9k
|
|
.. section: Core and Builtins
|
|
|
|
Move an assert that would cause a spurious crash in a devious case that
|
|
should only trigger deoptimization.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-25-14-51-06
|
|
.. gh-issue: 106176
|
|
.. nonce: D1EA2a
|
|
.. section: Core and Builtins
|
|
|
|
Use a ``WeakValueDictionary`` to track the lists containing the modules each
|
|
thread is currently importing. This helps avoid a reference leak from
|
|
keeping the list around longer than necessary. Weakrefs are used as GC can't
|
|
interrupt the cleanup.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-23-14-54-15
|
|
.. gh-issue: 105481
|
|
.. nonce: 40q-c4
|
|
.. section: Core and Builtins
|
|
|
|
The regen-opcode build stage was removed and its work is now done in
|
|
regen-cases.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-21-21-13-30
|
|
.. gh-issue: 107901
|
|
.. nonce: hszvdk
|
|
.. section: Core and Builtins
|
|
|
|
Fix missing line number on :opcode:`JUMP_BACKWARD` at the end of a for loop.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-18-18-21-27
|
|
.. gh-issue: 108113
|
|
.. nonce: 1h0poE
|
|
.. section: Core and Builtins
|
|
|
|
The :func:`compile` built-in can now accept a new flag,
|
|
``ast.PyCF_OPTIMIZED_AST``, which is similar to ``ast.PyCF_ONLY_AST`` except
|
|
that the returned ``AST`` is optimized according to the value of the
|
|
``optimize`` argument.
|
|
|
|
:func:`ast.parse` now accepts an optional argument ``optimize`` which is
|
|
passed on to the :func:`compile` built-in. This makes it possible to obtain
|
|
an optimized ``AST``.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-15-13-06-05
|
|
.. gh-issue: 107971
|
|
.. nonce: lPbx04
|
|
.. section: Core and Builtins
|
|
|
|
Opcode IDs are generated from bytecodes.c instead of being hard coded in
|
|
opcode.py.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-15-11-09-50
|
|
.. gh-issue: 107944
|
|
.. nonce: zQLp3j
|
|
.. section: Core and Builtins
|
|
|
|
Improve error message for function calls with bad keyword arguments. Patch
|
|
by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-08-13-17-18-22
|
|
.. gh-issue: 108390
|
|
.. nonce: TkBccC
|
|
.. section: Core and Builtins
|
|
|
|
Raise an exception when setting a non-local event (``RAISE``,
|
|
``EXCEPTION_HANDLED``, etc.) in ``sys.monitoring.set_local_events``.
|
|
|
|
Fixes crash when tracing in recursive calls to Python classes.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-11-16-18-19
|
|
.. gh-issue: 108035
|
|
.. nonce: e2msOD
|
|
.. section: Core and Builtins
|
|
|
|
Remove the ``_PyCFrame`` struct, moving the pointer to the current
|
|
intepreter frame back to the threadstate, as it was for 3.10 and earlier.
|
|
The ``_PyCFrame`` existed as a performance optimization for tracing. Since
|
|
PEP 669 has been implemented, this optimization no longer applies.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-10-17-36-27
|
|
.. gh-issue: 91051
|
|
.. nonce: LfaeNW
|
|
.. section: Core and Builtins
|
|
|
|
Fix abort / segfault when using all eight type watcher slots, on platforms
|
|
where ``char`` is signed by default.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-10-00-00-48
|
|
.. gh-issue: 106581
|
|
.. nonce: o7zDty
|
|
.. section: Core and Builtins
|
|
|
|
Fix possible assertion failures and missing instrumentation events when
|
|
:envvar:`PYTHONUOPS` or :option:`-X uops <-X>` is enabled.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-09-15-05-27
|
|
.. gh-issue: 107526
|
|
.. nonce: PB32z-
|
|
.. section: Core and Builtins
|
|
|
|
Revert converting ``vars``, ``dir``, ``next``, ``getattr``, and ``iter`` to
|
|
argument clinic.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-09-08-31-20
|
|
.. gh-issue: 84805
|
|
.. nonce: 7JRWua
|
|
.. section: Core and Builtins
|
|
|
|
Autogenerate signature for :c:macro:`METH_NOARGS` and :c:macro:`METH_O`
|
|
extension functions.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-08-02-46-46
|
|
.. gh-issue: 107758
|
|
.. nonce: R5kyBI
|
|
.. section: Core and Builtins
|
|
|
|
Make the ``dump_stack()`` routine used by the ``lltrace`` feature (low-level
|
|
interpreter debugging) robust against recursion by ensuring that it never
|
|
calls a ``__repr__`` method implemented in Python. Also make the similar
|
|
output for Tier-2 uops appear on ``stdout`` (instead of ``stderr``), to
|
|
match the ``lltrace`` code in ceval.c.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-05-15-45-07
|
|
.. gh-issue: 107659
|
|
.. nonce: QgtQ5M
|
|
.. section: Core and Builtins
|
|
|
|
Add docstrings for :func:`ctypes.pointer` and :func:`ctypes.POINTER`.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-05-09-06-56
|
|
.. gh-issue: 105848
|
|
.. nonce: Drc-1-
|
|
.. section: Core and Builtins
|
|
|
|
Modify the bytecode so that the actual callable for a :opcode:`CALL` is at a
|
|
consistent position on the stack (regardless of whether or not
|
|
bound-method-calling optimizations are active).
|
|
|
|
..
|
|
|
|
.. date: 2023-08-05-04-47-18
|
|
.. gh-issue: 107674
|
|
.. nonce: 0sYhR2
|
|
.. section: Core and Builtins
|
|
|
|
Fixed performance regression in ``sys.settrace``.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-04-21-25-26
|
|
.. gh-issue: 107724
|
|
.. nonce: EbBXMr
|
|
.. section: Core and Builtins
|
|
|
|
In pre-release versions of 3.12, up to rc1, the sys.monitoring callback
|
|
function for the ``PY_THROW`` event was missing the third, exception
|
|
argument. That is now fixed.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-03-13-38-14
|
|
.. gh-issue: 84436
|
|
.. nonce: gl1wHx
|
|
.. section: Core and Builtins
|
|
|
|
Skip reference count modifications for many known immortal objects.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-03-11-13-09
|
|
.. gh-issue: 107596
|
|
.. nonce: T3yPGI
|
|
.. section: Core and Builtins
|
|
|
|
Specialize subscripting :class:`str` objects by :class:`int` indexes.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-02-12-24-51
|
|
.. gh-issue: 107080
|
|
.. nonce: PNolFU
|
|
.. section: Core and Builtins
|
|
|
|
Trace refs builds (``--with-trace-refs``) were crashing when used with
|
|
isolated subinterpreters. The problematic global state has been isolated to
|
|
each interpreter. Other fixing the crashes, this change does not affect
|
|
users.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-02-09-55-21
|
|
.. gh-issue: 107557
|
|
.. nonce: P1z-in
|
|
.. section: Core and Builtins
|
|
|
|
Generate the cases needed for the barebones tier 2 abstract interpreter for
|
|
optimization passes in CPython.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-01-09-41-36
|
|
.. gh-issue: 106608
|
|
.. nonce: OFZogw
|
|
.. section: Core and Builtins
|
|
|
|
Make ``_PyUOpExecutorObject`` variable length.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-30-18-05-11
|
|
.. gh-issue: 100964
|
|
.. nonce: HluhBJ
|
|
.. section: Core and Builtins
|
|
|
|
Clear generators' exception state after ``return`` to break reference
|
|
cycles.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-30-14-18-49
|
|
.. gh-issue: 107455
|
|
.. nonce: Es53l7
|
|
.. section: Core and Builtins
|
|
|
|
Improve error messages when converting an incompatible type to
|
|
:class:`ctypes.c_char_p`, :class:`ctypes.c_wchar_p` and
|
|
:class:`ctypes.c_void_p`.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-30-05-20-16
|
|
.. gh-issue: 107263
|
|
.. nonce: q0IU2M
|
|
.. section: Core and Builtins
|
|
|
|
Increase C recursion limit for functions other than the main interpreter
|
|
from 800 to 1500. This should allow functions like ``list.__repr__`` and
|
|
``json.dumps`` to handle all the inputs that they could prior to 3.12
|
|
|
|
..
|
|
|
|
.. date: 2023-07-29-22-01-30
|
|
.. gh-issue: 104584
|
|
.. nonce: tINuoA
|
|
.. section: Core and Builtins
|
|
|
|
Fix an issue which caused incorrect inline caches to be read when running
|
|
with :envvar:`PYTHONUOPS` or :option:`-X uops <-X>` enabled.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-27-11-47-29
|
|
.. gh-issue: 104432
|
|
.. nonce: oGHF-z
|
|
.. section: Core and Builtins
|
|
|
|
Fix potential unaligned memory access on C APIs involving returned sequences
|
|
of ``char *`` pointers within the :mod:`grp` and :mod:`socket` modules.
|
|
These were revealed using a ``-fsaniziter=alignment`` build on ARM macOS.
|
|
Patch by Christopher Chavez.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-27-11-18-04
|
|
.. gh-issue: 106078
|
|
.. nonce: WEy2Yn
|
|
.. section: Core and Builtins
|
|
|
|
Isolate :mod:`!_decimal` (apply :pep:`687`). Patch by Charlie Zhao.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-26-21-28-06
|
|
.. gh-issue: 106898
|
|
.. nonce: 8Wjuiv
|
|
.. section: Core and Builtins
|
|
|
|
Add the exception as the third argument to ``PY_UNIND`` callbacks in
|
|
``sys.monitoring``. This makes the ``PY_UNWIND`` callback consistent with
|
|
the other exception hanlding callbacks.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-26-18-53-34
|
|
.. gh-issue: 106895
|
|
.. nonce: DdEwV8
|
|
.. section: Core and Builtins
|
|
|
|
Raise a ``ValueError`` when a monitoring callback funtion returns
|
|
``DISABLE`` for events that cannot be disabled locally.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-26-12-18-10
|
|
.. gh-issue: 106897
|
|
.. nonce: EsGurc
|
|
.. section: Core and Builtins
|
|
|
|
Add a ``RERAISE`` event to ``sys.monitoring``, which occurs when an
|
|
exception is reraise, either explicitly by a plain ``raise`` statement, or
|
|
implicitly in an ``except`` or ``finally`` block.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-25-22-35-35
|
|
.. gh-issue: 77377
|
|
.. nonce: EHAbXx
|
|
.. section: Core and Builtins
|
|
|
|
Ensure that multiprocessing synchronization objects created in a fork
|
|
context are not sent to a different process created in a spawn context. This
|
|
changes a segfault into an actionable RuntimeError in the parent process.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-25-15-29-26
|
|
.. gh-issue: 106931
|
|
.. nonce: kKU1le
|
|
.. section: Core and Builtins
|
|
|
|
Statically allocated string objects are now interned globally instead of
|
|
per-interpreter. This fixes a situation where such a string would only be
|
|
interned in a single interpreter. Normal string objects are unaffected.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-24-11-11-41
|
|
.. gh-issue: 104621
|
|
.. nonce: vM8Y_l
|
|
.. section: Core and Builtins
|
|
|
|
Unsupported modules now always fail to be imported.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-23-21-16-54
|
|
.. gh-issue: 107122
|
|
.. nonce: VNuNcq
|
|
.. section: Core and Builtins
|
|
|
|
Add :meth:`dbm.ndbm.ndbm.clear` to :mod:`dbm.ndbm`. Patch By Donghee Na.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-23-13-07-34
|
|
.. gh-issue: 107122
|
|
.. nonce: 9HFUyb
|
|
.. section: Core and Builtins
|
|
|
|
Add :meth:`dbm.gnu.gdbm.clear` to :mod:`dbm.gnu`. Patch By Donghee Na.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-22-14-35-38
|
|
.. gh-issue: 107015
|
|
.. nonce: Ghp58t
|
|
.. section: Core and Builtins
|
|
|
|
The ASYNC and AWAIT tokens are removed from the Grammar, which removes the
|
|
posibility of making ``async`` and ``await`` soft keywords when using
|
|
``feature_version<7`` in :func:`ast.parse`.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-21-14-37-48
|
|
.. gh-issue: 106917
|
|
.. nonce: 1jWp_m
|
|
.. section: Core and Builtins
|
|
|
|
Fix classmethod-style :func:`super` method calls (i.e., where the second
|
|
argument to :func:`super`, or the implied second argument drawn from
|
|
``self/cls`` in the case of zero-arg super, is a type) when the target of
|
|
the call is not a classmethod.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-20-15-15-57
|
|
.. gh-issue: 105699
|
|
.. nonce: DdqHFg
|
|
.. section: Core and Builtins
|
|
|
|
Python no longer crashes due an infrequent race when initialzing
|
|
per-interpreter interned strings. The crash would manifest when the
|
|
interpreter was finalized.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-20-12-21-37
|
|
.. gh-issue: 105699
|
|
.. nonce: 08ywGV
|
|
.. section: Core and Builtins
|
|
|
|
Python no longer crashes due to an infrequent race in setting
|
|
``Py_FileSystemDefaultEncoding`` and ``Py_FileSystemDefaultEncodeErrors``
|
|
(both deprecated), when simultaneously initializing two isolated
|
|
subinterpreters. Now they are only set during runtime initialization.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-20-01-15-58
|
|
.. gh-issue: 106908
|
|
.. nonce: cDmcVI
|
|
.. section: Core and Builtins
|
|
|
|
Fix various hangs, reference leaks, test failures, and tracing/introspection
|
|
bugs when running with :envvar:`PYTHONUOPS` or :option:`-X uops <-X>`
|
|
enabled.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-18-16-13-51
|
|
.. gh-issue: 106092
|
|
.. nonce: bObgRM
|
|
.. section: Core and Builtins
|
|
|
|
Fix a segmentation fault caused by a use-after-free bug in ``frame_dealloc``
|
|
when the trashcan delays the deallocation of a ``PyFrameObject``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-16-07-55-19
|
|
.. gh-issue: 106485
|
|
.. nonce: wPb1bH
|
|
.. section: Core and Builtins
|
|
|
|
Reduce the number of materialized instances dictionaries by dematerializing
|
|
them when possible.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-13-15-59-07
|
|
.. gh-issue: 106719
|
|
.. nonce: jmVrsv
|
|
.. section: Core and Builtins
|
|
|
|
No longer suppress arbitrary errors in the ``__annotations__`` getter and
|
|
setter in the type and module types.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-13-14-55-45
|
|
.. gh-issue: 106723
|
|
.. nonce: KsMufQ
|
|
.. section: Core and Builtins
|
|
|
|
Propagate ``frozen_modules`` to multiprocessing spawned process
|
|
interpreters.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-12-11-18-55
|
|
.. gh-issue: 104909
|
|
.. nonce: DRUsuh
|
|
.. section: Core and Builtins
|
|
|
|
Split :opcode:`LOAD_ATTR_INSTANCE_VALUE` into micro-ops.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-12-10-48-08
|
|
.. gh-issue: 104909
|
|
.. nonce: sWjcr2
|
|
.. section: Core and Builtins
|
|
|
|
Split :opcode:`LOAD_GLOBAL` specializations into micro-ops.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-10-15-30-45
|
|
.. gh-issue: 106597
|
|
.. nonce: WAZ14y
|
|
.. section: Core and Builtins
|
|
|
|
A new debug structure of offsets has been added to the ``_PyRuntimeState``
|
|
that will help out-of-process debuggers and profilers to obtain the offsets
|
|
to relevant interpreter structures in a way that is agnostic of how Python
|
|
was compiled and that doesn't require copying the headers. Patch by Pablo
|
|
Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-07-06-22-46-05
|
|
.. gh-issue: 106487
|
|
.. nonce: u3KfAD
|
|
.. section: Core and Builtins
|
|
|
|
Allow the *count* argument of :meth:`str.replace` to be a keyword. Patch by
|
|
Hugo van Kemenade.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-06-00-35-44
|
|
.. gh-issue: 96844
|
|
.. nonce: kwvoS-
|
|
.. section: Core and Builtins
|
|
|
|
Improve error message of :meth:`list.remove`. Patch by Donghee Na.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-04-20-42-54
|
|
.. gh-issue: 81283
|
|
.. nonce: hfh_MD
|
|
.. section: Core and Builtins
|
|
|
|
Compiler now strips indents from docstrings. It reduces ``pyc`` file size 5%
|
|
when the module is heavily documented. This change affects to ``__doc__`` so
|
|
tools like doctest will be affected.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-04-09-51-45
|
|
.. gh-issue: 106396
|
|
.. nonce: DmYp7x
|
|
.. section: Core and Builtins
|
|
|
|
When the format specification of an f-string expression is empty, the parser
|
|
now generates an empty :class:`ast.JoinedStr` node for it instead of an
|
|
one-element :class:`ast.JoinedStr` with an empty string
|
|
:class:`ast.Constant`.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-04-04-50-14
|
|
.. gh-issue: 100288
|
|
.. nonce: yNQ1ez
|
|
.. section: Core and Builtins
|
|
|
|
Specialize :opcode:`LOAD_ATTR` for non-descriptors on the class. Adds
|
|
:opcode:`LOAD_ATTR_NONDESCRIPTOR_WITH_VALUES` and
|
|
:opcode:`LOAD_ATTR_NONDESCRIPTOR_NO_DICT`.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-03-11-38-43
|
|
.. gh-issue: 106008
|
|
.. nonce: HDf1zd
|
|
.. section: Core and Builtins
|
|
|
|
Fix possible reference leaks when failing to optimize comparisons with
|
|
:const:`None` in the bytecode compiler.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-29-09-46-41
|
|
.. gh-issue: 106145
|
|
.. nonce: QC6-Kq
|
|
.. section: Core and Builtins
|
|
|
|
Make ``end_lineno`` and ``end_col_offset`` required on ``type_param`` ast
|
|
nodes.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-29-09-42-56
|
|
.. gh-issue: 106213
|
|
.. nonce: TCUgzM
|
|
.. section: Core and Builtins
|
|
|
|
Changed the way that Emscripten call trampolines work for compatibility with
|
|
Wasm/JS Promise integration.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-28-15-19-59
|
|
.. gh-issue: 106182
|
|
.. nonce: cDSFi0
|
|
.. section: Core and Builtins
|
|
|
|
:func:`sys.getfilesystemencoding` and :mod:`sys.getfilesystemencodeerrors`
|
|
now return interned Unicode object.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-28-13-19-20
|
|
.. gh-issue: 106210
|
|
.. nonce: oE7VMn
|
|
.. section: Core and Builtins
|
|
|
|
Removed Emscripten import trampoline as it was no longer necessary for
|
|
Pyodide.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-27-00-58-26
|
|
.. gh-issue: 104584
|
|
.. nonce: Wu-uXy
|
|
.. section: Core and Builtins
|
|
|
|
Added a new, experimental, tracing optimizer and interpreter (a.k.a. "tier
|
|
2"). This currently pessimizes, so don't use yet -- this is infrastructure
|
|
so we can experiment with optimizing passes. To enable it, pass ``-Xuops``
|
|
or set ``PYTHONUOPS=1``. To get debug output, set ``PYTHONUOPSDEBUG=N``
|
|
where ``N`` is a debug level (0-4, where 0 is no debug output and 4 is
|
|
excessively verbose).
|
|
|
|
..
|
|
|
|
.. date: 2023-06-24-10-34-27
|
|
.. gh-issue: 105775
|
|
.. nonce: OqjoGV
|
|
.. section: Core and Builtins
|
|
|
|
:opcode:`LOAD_CLOSURE` is now a pseudo-op.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-23-16-51-02
|
|
.. gh-issue: 105730
|
|
.. nonce: 16haMe
|
|
.. section: Core and Builtins
|
|
|
|
Allow any callable other than type objects as the condition predicate in
|
|
:meth:`BaseExceptionGroup.split` and :meth:`BaseExceptionGroup.subgroup`.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-22-19-16-24
|
|
.. gh-issue: 105979
|
|
.. nonce: TDP2CU
|
|
.. section: Core and Builtins
|
|
|
|
Fix crash in :func:`!_imp.get_frozen_object` due to improper exception
|
|
handling.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-22-17-37-35
|
|
.. gh-issue: 106003
|
|
.. nonce: 2Vc_Tw
|
|
.. section: Core and Builtins
|
|
|
|
Add a new :opcode:`TO_BOOL` instruction, which performs boolean conversions
|
|
for :opcode:`POP_JUMP_IF_TRUE`, :opcode:`POP_JUMP_IF_FALSE`, and
|
|
:opcode:`UNARY_NOT` (which all expect exact :class:`bool` values now). Also,
|
|
modify the oparg of :opcode:`COMPARE_OP` to include an optional "boolean
|
|
conversion" flag.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-22-14-19-17
|
|
.. gh-issue: 98931
|
|
.. nonce: PPgvSF
|
|
.. section: Core and Builtins
|
|
|
|
Ensure custom :exc:`SyntaxError` error messages are raised for invalid
|
|
imports with multiple targets. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-06-20-10-53-17
|
|
.. gh-issue: 105724
|
|
.. nonce: d23L4M
|
|
.. section: Core and Builtins
|
|
|
|
Improve ``assert`` error messages by providing exact error range.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-19-11-04-01
|
|
.. gh-issue: 105908
|
|
.. nonce: 7oanny
|
|
.. section: Core and Builtins
|
|
|
|
Fixed bug where :gh:`99111` breaks future import ``barry_as_FLUFL`` in the
|
|
Python REPL.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-15-22-11-43
|
|
.. gh-issue: 105840
|
|
.. nonce: Fum_g_
|
|
.. section: Core and Builtins
|
|
|
|
Fix possible crashes when specializing function calls with too many
|
|
``__defaults__``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-15-15-54-47
|
|
.. gh-issue: 105831
|
|
.. nonce: -MC9Zs
|
|
.. section: Core and Builtins
|
|
|
|
Fix an f-string bug, where using a debug expression (the ``=`` sign) that
|
|
appears in the last line of a file results to the debug buffer that holds
|
|
the expression text being one character too small.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-14-22-52-06
|
|
.. gh-issue: 105800
|
|
.. nonce: hdpPzZ
|
|
.. section: Core and Builtins
|
|
|
|
Correctly issue :exc:`SyntaxWarning` in f-strings if invalid sequences are
|
|
used. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-06-12-16-38-31
|
|
.. gh-issue: 105340
|
|
.. nonce: _jRHXe
|
|
.. section: Core and Builtins
|
|
|
|
Include the comprehension iteration variable in ``locals()`` inside a
|
|
module- or class-scope comprehension.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-11-09-14-30
|
|
.. gh-issue: 105331
|
|
.. nonce: nlZvoW
|
|
.. section: Core and Builtins
|
|
|
|
Raise :exc:`ValueError` if the ``delay`` argument to :func:`asyncio.sleep`
|
|
is a NaN (matching :func:`time.sleep`).
|
|
|
|
..
|
|
|
|
.. date: 2023-06-10-21-38-49
|
|
.. gh-issue: 105587
|
|
.. nonce: rL3rzv
|
|
.. section: Core and Builtins
|
|
|
|
The runtime can't guarantee that immortal objects will not be mutated by
|
|
Extensions. Thus, this modifies _PyStaticObject_CheckRefcnt to warn instead
|
|
of asserting.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-15-25-12
|
|
.. gh-issue: 105564
|
|
.. nonce: sFdUu4
|
|
.. section: Core and Builtins
|
|
|
|
Don't include artificil newlines in the ``line`` attribute of tokens in the
|
|
APIs of the :mod:`tokenize` module. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-12-59-18
|
|
.. gh-issue: 105549
|
|
.. nonce: PYfTNp
|
|
.. section: Core and Builtins
|
|
|
|
Tokenize separately ``NUMBER`` and ``NAME`` tokens that are not ambiguous.
|
|
Patch by Pablo Galindo.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-11-19-51
|
|
.. gh-issue: 105588
|
|
.. nonce: Y5ovpY
|
|
.. section: Core and Builtins
|
|
|
|
Fix an issue that could result in crashes when compiling malformed
|
|
:mod:`ast` nodes.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-10-48-17
|
|
.. gh-issue: 100987
|
|
.. nonce: mK-xny
|
|
.. section: Core and Builtins
|
|
|
|
Allow objects other than code objects as the "executable" in internal
|
|
frames. In the long term, this can help tools like Cython and PySpy interact
|
|
more efficiently. In the shorter term, it allows us to perform some
|
|
optimizations more simply.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-08-10-10-07
|
|
.. gh-issue: 105375
|
|
.. nonce: 35VGDd
|
|
.. section: Core and Builtins
|
|
|
|
Fix bugs in the :mod:`builtins` module where exceptions could end up being
|
|
overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-08-09-54-37
|
|
.. gh-issue: 105375
|
|
.. nonce: kqKT3E
|
|
.. section: Core and Builtins
|
|
|
|
Fix bug in the compiler where an exception could end up being overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-08-09-25-52
|
|
.. gh-issue: 105375
|
|
.. nonce: ocB7fT
|
|
.. section: Core and Builtins
|
|
|
|
Improve error handling in :c:func:`PyUnicode_BuildEncodingMap` where an
|
|
exception could end up being overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-08-09-10-15
|
|
.. gh-issue: 105486
|
|
.. nonce: dev-WS
|
|
.. section: Core and Builtins
|
|
|
|
Change the repr of ``ParamSpec`` list of args in ``types.GenericAlias``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-07-21-27-55
|
|
.. gh-issue: 105678
|
|
.. nonce: wKOr7F
|
|
.. section: Core and Builtins
|
|
|
|
Break the ``MAKE_FUNCTION`` instruction into two parts, ``MAKE_FUNCTION``
|
|
which makes the function and ``SET_FUNCTION_ATTRIBUTE`` which sets the
|
|
attributes on the function. This makes the stack effect of ``MAKE_FUNCTION``
|
|
regular to ease optimization and code generation.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-07-12-20-59
|
|
.. gh-issue: 105435
|
|
.. nonce: 6VllI0
|
|
.. section: Core and Builtins
|
|
|
|
Fix spurious newline character if file ends on a comment without a newline.
|
|
Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-06-06-17-10-42
|
|
.. gh-issue: 105390
|
|
.. nonce: DvqI-e
|
|
.. section: Core and Builtins
|
|
|
|
Correctly raise :exc:`tokenize.TokenError` exceptions instead of
|
|
:exc:`SyntaxError` for tokenize errors such as incomplete input. Patch by
|
|
Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-06-06-11-37-53
|
|
.. gh-issue: 105259
|
|
.. nonce: E2BGKL
|
|
.. section: Core and Builtins
|
|
|
|
Don't include newline character for trailing ``NEWLINE`` tokens emitted in
|
|
the :mod:`tokenize` module. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-06-05-23-38-43
|
|
.. gh-issue: 104635
|
|
.. nonce: VYZhVh
|
|
.. section: Core and Builtins
|
|
|
|
Eliminate redundant :opcode:`STORE_FAST` instructions in the compiler. Patch
|
|
by Donghee Na and Carl Meyer.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-05-17-35-50
|
|
.. gh-issue: 105324
|
|
.. nonce: BqhiJJ
|
|
.. section: Core and Builtins
|
|
|
|
Fix the main function of the :mod:`tokenize` module when reading from
|
|
``sys.stdin``. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-06-05-08-30-49
|
|
.. gh-issue: 33092
|
|
.. nonce: hZ0xSI
|
|
.. section: Core and Builtins
|
|
|
|
Simplify and speed up interpreter for f-strings. Removes ``FORMAT_VALUE``
|
|
opcode. Add ``CONVERT_VALUE``, ``FORMAT_SIMPLE`` and ``FORMAT_WITH_SPEC``
|
|
opcode. Compiler emits more efficient sequence for each format expression.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-03-04-28-28
|
|
.. gh-issue: 105229
|
|
.. nonce: stEmfp
|
|
.. section: Core and Builtins
|
|
|
|
Remove remaining two-codeunit superinstructions. All remaining
|
|
superinstructions only take a single codeunit, simplifying instrumentation
|
|
and quickening.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-02-19-37-29
|
|
.. gh-issue: 105235
|
|
.. nonce: fgFGTi
|
|
.. section: Core and Builtins
|
|
|
|
Prevent out-of-bounds memory access during ``mmap.find()`` calls.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-02-17-39-19
|
|
.. gh-issue: 98963
|
|
.. nonce: J4wJgk
|
|
.. section: Core and Builtins
|
|
|
|
Restore the ability for a subclass of :class:`property` to define
|
|
``__slots__`` or otherwise be dict-less by ignoring failures to set a
|
|
docstring on such a class. This behavior had regressed in 3.12beta1. An
|
|
:exc:`AttributeError` where there had not previously been one was disruptive
|
|
to existing code.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-02-15-15-41
|
|
.. gh-issue: 104812
|
|
.. nonce: dfZiG5
|
|
.. section: Core and Builtins
|
|
|
|
The "pending call" machinery now works for all interpreters, not just the
|
|
main interpreter, and runs in all threads, not just the main thread. Some
|
|
calls are still only done in the main thread, ergo in the main interpreter.
|
|
This change does not affect signal handling nor the existing public C-API
|
|
(``Py_AddPendingCall()``), which both still only target the main thread. The
|
|
new functionality is meant strictly for internal use for now, since
|
|
consequences of its use are not well understood yet outside some very
|
|
restricted cases. This change brings the capability in line with the
|
|
intention when the state was made per-interpreter several years ago.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-02-11-37-12
|
|
.. gh-issue: 105194
|
|
.. nonce: 4eu56B
|
|
.. section: Core and Builtins
|
|
|
|
Do not escape with backslashes f-string format specifiers. Patch by Pablo
|
|
Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-06-02-01-27-35
|
|
.. gh-issue: 105229
|
|
.. nonce: U05x4G
|
|
.. section: Core and Builtins
|
|
|
|
Replace some dynamic superinstructions with single instruction equivalents.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-01-11-37-03
|
|
.. gh-issue: 105162
|
|
.. nonce: r8VCXk
|
|
.. section: Core and Builtins
|
|
|
|
Fixed bug in generator.close()/throw() where an inner iterator would be
|
|
ignored when the outer iterator was instrumented.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-31-19-35-22
|
|
.. gh-issue: 105164
|
|
.. nonce: 6Wajph
|
|
.. section: Core and Builtins
|
|
|
|
Ensure annotations are set up correctly if the only annotation in a block is
|
|
within a :keyword:`match` block. Patch by Jelle Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-31-16-22-29
|
|
.. gh-issue: 105148
|
|
.. nonce: MOlb1d
|
|
.. section: Core and Builtins
|
|
|
|
Make ``_PyASTOptimizeState`` internal to ast_opt.c. Make ``_PyAST_Optimize``
|
|
take two integers instead of a pointer to this struct. This avoids the need
|
|
to include pycore_compile.h in ast_opt.c.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-31-08-10-59
|
|
.. gh-issue: 104799
|
|
.. nonce: 8kDWti
|
|
.. section: Core and Builtins
|
|
|
|
Attributes of :mod:`ast` nodes that are lists now default to the empty list
|
|
if omitted. This means that some code that previously raised
|
|
:exc:`TypeError` when the AST node was used will now proceed with the empty
|
|
list instead. Patch by Jelle Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-30-20-30-57
|
|
.. gh-issue: 105111
|
|
.. nonce: atn0_6
|
|
.. section: Core and Builtins
|
|
|
|
Remove the old trashcan macros ``Py_TRASHCAN_SAFE_BEGIN`` and
|
|
``Py_TRASHCAN_SAFE_END``. They should be replaced by the new macros
|
|
``Py_TRASHCAN_BEGIN`` and ``Py_TRASHCAN_END``.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-30-08-09-43
|
|
.. gh-issue: 105035
|
|
.. nonce: OWUlHy
|
|
.. section: Core and Builtins
|
|
|
|
Fix :func:`super` calls on types with custom
|
|
:c:member:`~PyTypeObject.tp_getattro` implementation (e.g. meta-types.)
|
|
|
|
..
|
|
|
|
.. date: 2023-05-27-21-50-48
|
|
.. gh-issue: 105017
|
|
.. nonce: 4sDyDV
|
|
.. section: Core and Builtins
|
|
|
|
Show CRLF lines in the tokenize string attribute in both NL and NEWLINE
|
|
tokens. Patch by Marta Gómez.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-27-16-57-11
|
|
.. gh-issue: 105013
|
|
.. nonce: IsDgDY
|
|
.. section: Core and Builtins
|
|
|
|
Fix handling of multiline parenthesized lambdas in
|
|
:func:`inspect.getsource`. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-05-27-16-23-16
|
|
.. gh-issue: 105017
|
|
.. nonce: KQrsC0
|
|
.. section: Core and Builtins
|
|
|
|
Do not include an additional final ``NL`` token when parsing files having
|
|
CRLF lines. Patch by Marta Gómez.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-26-15-16-11
|
|
.. gh-issue: 104976
|
|
.. nonce: 6dLitD
|
|
.. section: Core and Builtins
|
|
|
|
Ensure that trailing ``DEDENT`` :class:`tokenize.TokenInfo` objects emitted
|
|
by the :mod:`tokenize` module are reported as in Python 3.11. Patch by Pablo
|
|
Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-05-26-14-09-47
|
|
.. gh-issue: 104972
|
|
.. nonce: El2UjE
|
|
.. section: Core and Builtins
|
|
|
|
Ensure that the ``line`` attribute in :class:`tokenize.TokenInfo` objects in
|
|
the :mod:`tokenize` module are always correct. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-05-25-21-40-39
|
|
.. gh-issue: 104955
|
|
.. nonce: LZx7jf
|
|
.. section: Core and Builtins
|
|
|
|
Fix signature for the new :meth:`~object.__release_buffer__` slot. Patch by
|
|
Jelle Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-12-10-54
|
|
.. gh-issue: 104690
|
|
.. nonce: HX3Jou
|
|
.. section: Core and Builtins
|
|
|
|
Starting new threads and process creation through :func:`os.fork` during
|
|
interpreter shutdown (such as from :mod:`atexit` handlers) is no longer
|
|
supported. It can lead to race condition between the main Python runtime
|
|
thread freeing thread states while internal :mod:`threading` routines are
|
|
trying to allocate and use the state of just created threads. Or forked
|
|
children trying to use the mid-shutdown runtime and thread state in the
|
|
child process.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-10-19-35
|
|
.. gh-issue: 104879
|
|
.. nonce: v-29NL
|
|
.. section: Core and Builtins
|
|
|
|
Fix crash when accessing the ``__module__`` attribute of type aliases
|
|
defined outside a module. Patch by Jelle Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-09-59-56
|
|
.. gh-issue: 104825
|
|
.. nonce: mQesie
|
|
.. section: Core and Builtins
|
|
|
|
Tokens emitted by the :mod:`tokenize` module do not include an implicit
|
|
``\n`` character in the ``line`` attribute anymore. Patch by Pablo Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-00-36-02
|
|
.. gh-issue: 104770
|
|
.. nonce: poSkyY
|
|
.. section: Core and Builtins
|
|
|
|
If a generator returns a value upon being closed, the value is now returned
|
|
by :meth:`generator.close`.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-18-12-48-39
|
|
.. gh-issue: 89091
|
|
.. nonce: FDzRcW
|
|
.. section: Core and Builtins
|
|
|
|
Raise :exc:`RuntimeWarning` for unawaited async generator methods like
|
|
:meth:`~agen.asend`, :meth:`~agen.athrow` and :meth:`~agen.aclose`. Patch by
|
|
Kumar Aditya.
|
|
|
|
..
|
|
|
|
.. date: 2023-04-04-00-40-04
|
|
.. gh-issue: 96663
|
|
.. nonce: PdR9hK
|
|
.. section: Core and Builtins
|
|
|
|
Add a better, more introspect-able error message when setting attributes on
|
|
classes without a ``__dict__`` and no slot member for the attribute.
|
|
|
|
..
|
|
|
|
.. date: 2023-03-26-19-11-10
|
|
.. gh-issue: 93627
|
|
.. nonce: 0UgwBL
|
|
.. section: Core and Builtins
|
|
|
|
Update the Python pickle module implementation to match the C implementation
|
|
of the pickle module. For objects setting reduction methods like
|
|
:meth:`~object.__reduce_ex__` or :meth:`~object.__reduce__` to ``None``,
|
|
pickling will result in a :exc:`TypeError`.
|
|
|
|
..
|
|
|
|
.. date: 2023-01-13-11-37-41
|
|
.. gh-issue: 101006
|
|
.. nonce: fuLvn2
|
|
.. section: Core and Builtins
|
|
|
|
Improve error handling when read :mod:`marshal` data.
|
|
|
|
..
|
|
|
|
.. date: 2022-11-10-13-04-35
|
|
.. gh-issue: 91095
|
|
.. nonce: 4E3Pwn
|
|
.. section: Core and Builtins
|
|
|
|
Specializes calls to most Python classes. Specifically, any class that
|
|
inherits from ``object``, or another Python class, and does not override
|
|
``__new__``.
|
|
|
|
The specialized instruction does the following:
|
|
|
|
1. Creates the object (by calling ``object.__new__``)
|
|
2. Pushes a shim frame to the frame stack (to cleanup after ``__init__``)
|
|
3. Pushes the frame for ``__init__`` to the frame stack
|
|
|
|
Speeds up the instantiation of most Python classes.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-13-01-31-27
|
|
.. gh-issue: 110786
|
|
.. nonce: sThp-A
|
|
.. section: Library
|
|
|
|
:mod:`sysconfig`'s CLI now ignores :exc:`BrokenPipeError`, making it exit
|
|
normally if its output is being piped and the pipe closes.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-13-00-14-17
|
|
.. gh-issue: 103480
|
|
.. nonce: lmdf1J
|
|
.. section: Library
|
|
|
|
The :mod:`sysconfig` module is now a package, instead of a single-file
|
|
module.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-11-18-43-43
|
|
.. gh-issue: 110733
|
|
.. nonce: UlrgVm
|
|
.. section: Library
|
|
|
|
Micro-optimization: Avoid calling ``min()``, ``max()`` in
|
|
:meth:`BaseEventLoop._run_once`.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-11-15-07-21
|
|
.. gh-issue: 94597
|
|
.. nonce: NbPC8t
|
|
.. section: Library
|
|
|
|
Added :class:`asyncio.EventLoop` for use with the :func:`asyncio.run`
|
|
*loop_factory* kwarg to avoid calling the asyncio policy system.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-11-11-00-11
|
|
.. gh-issue: 110682
|
|
.. nonce: bXRFaX
|
|
.. section: Library
|
|
|
|
:func:`runtime-checkable protocols <typing.runtime_checkable>` used to
|
|
consider ``__match_args__`` a protocol member in ``__instancecheck__`` if it
|
|
was present on the protocol. Now, this attribute is ignored if it is
|
|
present.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-10-22-54-56
|
|
.. gh-issue: 110488
|
|
.. nonce: 2I7OiZ
|
|
.. section: Library
|
|
|
|
Fix a couple of issues in :meth:`pathlib.PurePath.with_name`: a single dot
|
|
was incorrectly considered a valid name, and in :class:`PureWindowsPath`, a
|
|
name with an NTFS alternate data stream, like ``a:b``, was incorrectly
|
|
considered invalid.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-10-10-46-55
|
|
.. gh-issue: 110590
|
|
.. nonce: fatz-h
|
|
.. section: Library
|
|
|
|
Fix a bug in :meth:`!_sre.compile` where :exc:`TypeError` would be
|
|
overwritten by :exc:`OverflowError` when the *code* argument was a list of
|
|
non-ints.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-09-19-09-32
|
|
.. gh-issue: 65052
|
|
.. nonce: C2mRlo
|
|
.. section: Library
|
|
|
|
Prevent :mod:`pdb` from crashing when trying to display undisplayable
|
|
objects
|
|
|
|
..
|
|
|
|
.. date: 2023-10-08-18-15-02
|
|
.. gh-issue: 110519
|
|
.. nonce: RDGe8-
|
|
.. section: Library
|
|
|
|
Deprecation warning about non-integer number in :mod:`gettext` now alwais
|
|
refers to the line in the user code where gettext function or method is
|
|
used. Previously it could refer to a line in ``gettext`` code.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-07-21-12-28
|
|
.. gh-issue: 89902
|
|
.. nonce: dCokZj
|
|
.. section: Library
|
|
|
|
Deprecate non-standard format specifier "N" for :class:`decimal.Decimal`. It
|
|
was not documented and only supported in the C implementation.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-07-13-50-12
|
|
.. gh-issue: 110378
|
|
.. nonce: Y4L8fl
|
|
.. section: Library
|
|
|
|
:func:`~contextlib.contextmanager` and
|
|
:func:`~contextlib.asynccontextmanager` context managers now close an
|
|
invalid underlying generator object that yields more then one value.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-07-00-18-40
|
|
.. gh-issue: 106670
|
|
.. nonce: kCGyRc
|
|
.. section: Library
|
|
|
|
In :mod:`pdb`, set convenience variable ``$_exception`` for post mortem
|
|
debugging.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-04-18-56-29
|
|
.. gh-issue: 110365
|
|
.. nonce: LCxiau
|
|
.. section: Library
|
|
|
|
Fix :func:`termios.tcsetattr` bug that was overwritting existing errors
|
|
during parsing integers from ``term`` list.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-03-15-17-03
|
|
.. gh-issue: 109653
|
|
.. nonce: 9DYOMD
|
|
.. section: Library
|
|
|
|
Slightly improve the import time of several standard-library modules by
|
|
deferring imports of :mod:`warnings` within those modules. Patch by Alex
|
|
Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-03-14-07-05
|
|
.. gh-issue: 110273
|
|
.. nonce: QaDUmS
|
|
.. section: Library
|
|
|
|
:func:`dataclasses.replace` now raises TypeError instead of ValueError if
|
|
specify keyword argument for a field declared with init=False or miss
|
|
keyword argument for required InitVar field.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-03-00-04-26
|
|
.. gh-issue: 110249
|
|
.. nonce: K0mMrs
|
|
.. section: Library
|
|
|
|
Add ``--inline-caches`` flag to ``dis`` command line.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-02-15-40-10
|
|
.. gh-issue: 109653
|
|
.. nonce: iB0peK
|
|
.. section: Library
|
|
|
|
Fix a Python 3.12 regression in the import time of :mod:`random`. Patch by
|
|
Alex Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-02-15-07-28
|
|
.. gh-issue: 110222
|
|
.. nonce: zl_oHh
|
|
.. section: Library
|
|
|
|
Add support of struct sequence objects in :func:`copy.replace`. Patched by
|
|
Xuehai Pan.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-01-01-47-21
|
|
.. gh-issue: 109649
|
|
.. nonce: BizOaD
|
|
.. section: Library
|
|
|
|
:mod:`multiprocessing`, :mod:`concurrent.futures`, :mod:`compileall`:
|
|
Replace :func:`os.cpu_count` with :func:`os.process_cpu_count` to select the
|
|
default number of worker threads and processes. Get the CPU affinity if
|
|
supported. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-30-12-50-47
|
|
.. gh-issue: 110150
|
|
.. nonce: 9j0Ij5
|
|
.. section: Library
|
|
|
|
Fix base case handling in statistics.quantiles. Now allows a single data
|
|
point.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-28-18-53-11
|
|
.. gh-issue: 110036
|
|
.. nonce: fECxTj
|
|
.. section: Library
|
|
|
|
On Windows, multiprocessing ``Popen.terminate()`` now catchs
|
|
:exc:`PermissionError` and get the process exit code. If the process is
|
|
still running, raise again the :exc:`PermissionError`. Otherwise, the
|
|
process terminated as expected: store its exit code. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-28-18-50-33
|
|
.. gh-issue: 110038
|
|
.. nonce: nx_gCu
|
|
.. section: Library
|
|
|
|
Fixed an issue that caused :meth:`KqueueSelector.select` to not return all
|
|
the ready events in some cases when a file descriptor is registered for both
|
|
read and write.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-28-18-08-02
|
|
.. gh-issue: 110045
|
|
.. nonce: 0YIGKv
|
|
.. section: Library
|
|
|
|
Update the :mod:`symtable` module to support the new scopes introduced by
|
|
:pep:`695`.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-28-12-32-57
|
|
.. gh-issue: 88402
|
|
.. nonce: hoa3Gx
|
|
.. section: Library
|
|
|
|
Add new variables to :py:meth:`sysconfig.get_config_vars` on Windows:
|
|
``LIBRARY``, ``LDLIBRARY``, ``LIBDIR``, ``SOABI``, and ``Py_NOGIL``.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-25-23-00-37
|
|
.. gh-issue: 109631
|
|
.. nonce: eWSqpO
|
|
.. section: Library
|
|
|
|
:mod:`re` functions such as :func:`re.findall`, :func:`re.split`,
|
|
:func:`re.search` and :func:`re.sub` which perform short repeated matches
|
|
can now be interrupted by user.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-25-10-47-22
|
|
.. gh-issue: 109653
|
|
.. nonce: TUHrId
|
|
.. section: Library
|
|
|
|
Reduce the import time of :mod:`email.utils` by around 43%. This results in
|
|
the import time of :mod:`email.message` falling by around 18%, which in turn
|
|
reduces the import time of :mod:`importlib.metadata` by around 6%. Patch by
|
|
Alex Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-25-09-59-59
|
|
.. gh-issue: 109818
|
|
.. nonce: dLRtT-
|
|
.. section: Library
|
|
|
|
Fix :func:`reprlib.recursive_repr` not copying ``__type_params__`` from
|
|
decorated function.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-25-02-11-14
|
|
.. gh-issue: 109047
|
|
.. nonce: b1TrqG
|
|
.. section: Library
|
|
|
|
:mod:`concurrent.futures`: The *executor manager thread* now catches
|
|
exceptions when adding an item to the *call queue*. During Python
|
|
finalization, creating a new thread can now raise :exc:`RuntimeError`. Catch
|
|
the exception and call ``terminate_broken()`` in this case. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-24-16-43-33
|
|
.. gh-issue: 109782
|
|
.. nonce: gMC_7z
|
|
.. section: Library
|
|
|
|
Ensure the signature of :func:`os.path.isdir` is identical on all platforms.
|
|
Patch by Amin Alaee.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-24-13-28-35
|
|
.. gh-issue: 109653
|
|
.. nonce: 9IFU0B
|
|
.. section: Library
|
|
|
|
Improve import time of :mod:`functools` by around 13%. Patch by Alex
|
|
Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-24-06-04-14
|
|
.. gh-issue: 109590
|
|
.. nonce: 9EMofC
|
|
.. section: Library
|
|
|
|
:func:`shutil.which` will prefer files with an extension in ``PATHEXT`` if
|
|
the given mode includes ``os.X_OK`` on win32. If no ``PATHEXT`` match is
|
|
found, a file without an extension in ``PATHEXT`` can be returned. This
|
|
change will have :func:`shutil.which` act more similarly to previous
|
|
behavior in Python 3.11.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-23-12-47-45
|
|
.. gh-issue: 109653
|
|
.. nonce: 9wZBfs
|
|
.. section: Library
|
|
|
|
Reduce the import time of :mod:`enum` by over 50%. Patch by Alex Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-22-20-16-44
|
|
.. gh-issue: 109593
|
|
.. nonce: LboaNM
|
|
.. section: Library
|
|
|
|
Avoid deadlocking on a reentrant call to the multiprocessing resource
|
|
tracker. Such a reentrant call, though unlikely, can happen if a GC pass
|
|
invokes the finalizer for a multiprocessing object such as SemLock.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-21-19-42-22
|
|
.. gh-issue: 109653
|
|
.. nonce: bL3iLH
|
|
.. section: Library
|
|
|
|
Reduce the import time of :mod:`typing` by around a third. Patch by Alex
|
|
Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-21-16-21-19
|
|
.. gh-issue: 109649
|
|
.. nonce: YYCjAF
|
|
.. section: Library
|
|
|
|
Add :func:`os.process_cpu_count` function to get the number of logical CPUs
|
|
usable by the calling thread of the current process. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-21-14-26-44
|
|
.. gh-issue: 74481
|
|
.. nonce: KAUDcD
|
|
.. section: Library
|
|
|
|
Add ``set_error_mode`` related constants in ``msvcrt`` module in Python
|
|
debug build.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-20-17-45-46
|
|
.. gh-issue: 109613
|
|
.. nonce: P13ogN
|
|
.. section: Library
|
|
|
|
Fix :func:`os.stat` and :meth:`os.DirEntry.stat`: check for exceptions.
|
|
Previously, on Python built in debug mode, these functions could trigger a
|
|
fatal Python error (and abort the process) when a function succeeded with an
|
|
exception set. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-20-07-38-14
|
|
.. gh-issue: 109599
|
|
.. nonce: IaSLJz
|
|
.. section: Library
|
|
|
|
Expose the type of PyCapsule objects as ``types.CapsuleType``.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-19-17-56-24
|
|
.. gh-issue: 109109
|
|
.. nonce: WJvvX2
|
|
.. section: Library
|
|
|
|
You can now get the raw TLS certificate chains from TLS connections via
|
|
:meth:`ssl.SSLSocket.get_verified_chain` and
|
|
:meth:`ssl.SSLSocket.get_unverified_chain` methods.
|
|
|
|
Contributed by Mateusz Nowak.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-19-01-22-43
|
|
.. gh-issue: 109559
|
|
.. nonce: ijaycU
|
|
.. section: Library
|
|
|
|
Update :mod:`unicodedata` database to Unicode 15.1.0.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-18-07-43-22
|
|
.. gh-issue: 109543
|
|
.. nonce: 1tOGoV
|
|
.. section: Library
|
|
|
|
Remove unnecessary :func:`hasattr` check during :data:`typing.TypedDict`
|
|
creation.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-16-15-44-16
|
|
.. gh-issue: 109495
|
|
.. nonce: m2H5Bk
|
|
.. section: Library
|
|
|
|
Remove unnecessary extra ``__slots__`` in :class:`~datetime.datetime`\'s pure
|
|
python implementation to reduce memory size, as they are defined in the
|
|
superclass. Patch by James Hilton-Balfe
|
|
|
|
..
|
|
|
|
.. date: 2023-09-15-17-12-53
|
|
.. gh-issue: 109461
|
|
.. nonce: VNFPTK
|
|
.. section: Library
|
|
|
|
:mod:`logging`: Use a context manager for lock acquisition.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-15-12-20-23
|
|
.. gh-issue: 109096
|
|
.. nonce: VksX1D
|
|
.. section: Library
|
|
|
|
:class:`http.server.CGIHTTPRequestHandler` has been deprecated for removal
|
|
in 3.15. Its design is old and the web world has long since moved beyond
|
|
CGI.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-15-10-42-30
|
|
.. gh-issue: 109409
|
|
.. nonce: RlffA3
|
|
.. section: Library
|
|
|
|
Fix error when it was possible to inherit a frozen dataclass from multiple
|
|
parents some of which were possibly not frozen.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-13-17-22-44
|
|
.. gh-issue: 109375
|
|
.. nonce: ijJHZ9
|
|
.. section: Library
|
|
|
|
The :mod:`pdb` ``alias`` command now prevents registering aliases without
|
|
arguments.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-12-13-01-55
|
|
.. gh-issue: 109319
|
|
.. nonce: YaCMtW
|
|
.. section: Library
|
|
|
|
Deprecate the ``dis.HAVE_ARGUMENT`` field in favour of ``dis.hasarg``.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-11-00-32-18
|
|
.. gh-issue: 107219
|
|
.. nonce: 3zqyFT
|
|
.. section: Library
|
|
|
|
Fix a race condition in ``concurrent.futures``. When a process in the
|
|
process pool was terminated abruptly (while the future was running or
|
|
pending), close the connection write end. If the call queue is blocked on
|
|
sending bytes to a worker process, closing the connection write end
|
|
interrupts the send, so the queue can be closed. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-10-20-23-20
|
|
.. gh-issue: 66143
|
|
.. nonce: 71xvgL
|
|
.. section: Library
|
|
|
|
The :class:`codecs.CodecInfo` object has been made copyable and pickleable.
|
|
Patched by Robert Lehmann and Furkan Onder.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-09-17-09-54
|
|
.. gh-issue: 109187
|
|
.. nonce: dIayNW
|
|
.. section: Library
|
|
|
|
:meth:`pathlib.Path.resolve` now treats symlink loops like other errors: in
|
|
strict mode, :exc:`OSError` is raised, and in non-strict mode, no exception
|
|
is raised.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-09-15-08-37
|
|
.. gh-issue: 50644
|
|
.. nonce: JUAZOh
|
|
.. section: Library
|
|
|
|
Attempts to pickle or create a shallow or deep copy of :mod:`codecs` streams
|
|
now raise a TypeError. Previously, copying failed with a RecursionError,
|
|
while pickling produced wrong results that eventually caused unpickling to
|
|
fail with a RecursionError.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-09-09-05-41
|
|
.. gh-issue: 109174
|
|
.. nonce: OJea5s
|
|
.. section: Library
|
|
|
|
Add support of :class:`types.SimpleNamespace` in :func:`copy.replace`.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-08-22-26-26
|
|
.. gh-issue: 109164
|
|
.. nonce: -9BFWR
|
|
.. section: Library
|
|
|
|
:mod:`pdb`: Replace :mod:`getopt` with :mod:`argparse` for parsing command
|
|
line arguments.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-08-19-44-01
|
|
.. gh-issue: 109151
|
|
.. nonce: GkzkQu
|
|
.. section: Library
|
|
|
|
Enable ``readline`` editing features in the :ref:`sqlite3 command-line
|
|
interface <sqlite3-cli>` (``python -m sqlite3``).
|
|
|
|
..
|
|
|
|
.. date: 2023-09-08-12-09-55
|
|
.. gh-issue: 108987
|
|
.. nonce: x5AIG8
|
|
.. section: Library
|
|
|
|
Fix :func:`_thread.start_new_thread` race condition. If a thread is created
|
|
during Python finalization, the newly spawned thread now exits immediately
|
|
instead of trying to access freed memory and lead to a crash. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-06-19-33-41
|
|
.. gh-issue: 108682
|
|
.. nonce: 35Xnc5
|
|
.. section: Library
|
|
|
|
Enum: require ``names=()`` or ``type=...`` to create an empty enum using the
|
|
functional syntax.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-06-14-47-28
|
|
.. gh-issue: 109033
|
|
.. nonce: piUzDx
|
|
.. section: Library
|
|
|
|
Exceptions raised by os.utime builtin function now include the related
|
|
filename
|
|
|
|
..
|
|
|
|
.. date: 2023-09-06-06-17-23
|
|
.. gh-issue: 108843
|
|
.. nonce: WJMhsS
|
|
.. section: Library
|
|
|
|
Fix an issue in :func:`ast.unparse` when unparsing f-strings containing many
|
|
quote types.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-03-04-37-52
|
|
.. gh-issue: 108469
|
|
.. nonce: kusj40
|
|
.. section: Library
|
|
|
|
:func:`ast.unparse` now supports new :term:`f-string` syntax introduced in
|
|
Python 3.12. Note that the :term:`f-string` quotes are reselected for
|
|
simplicity under the new syntax. (Patch by Steven Sun)
|
|
|
|
..
|
|
|
|
.. date: 2023-09-01-13-14-08
|
|
.. gh-issue: 108751
|
|
.. nonce: 2itqwe
|
|
.. section: Library
|
|
|
|
Add :func:`copy.replace` function which allows to create a modified copy of
|
|
an object. It supports named tuples, dataclasses, and many other objects.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-30-20-10-28
|
|
.. gh-issue: 108682
|
|
.. nonce: c2gzLQ
|
|
.. section: Library
|
|
|
|
Enum: raise :exc:`TypeError` if ``super().__new__()`` is called from a
|
|
custom ``__new__``.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-29-11-29-15
|
|
.. gh-issue: 108278
|
|
.. nonce: -UhsnJ
|
|
.. section: Library
|
|
|
|
Deprecate passing the callback callable by keyword for the following
|
|
:class:`sqlite3.Connection` APIs:
|
|
|
|
* :meth:`~sqlite3.Connection.set_authorizer`
|
|
* :meth:`~sqlite3.Connection.set_progress_handler`
|
|
* :meth:`~sqlite3.Connection.set_trace_callback`
|
|
|
|
The affected parameters will become positional-only in Python 3.15.
|
|
|
|
Patch by Erlend E. Aasland.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-26-12-35-39
|
|
.. gh-issue: 105829
|
|
.. nonce: kyYhWI
|
|
.. section: Library
|
|
|
|
Fix concurrent.futures.ProcessPoolExecutor deadlock
|
|
|
|
..
|
|
|
|
.. date: 2023-08-26-08-38-57
|
|
.. gh-issue: 108295
|
|
.. nonce: Pn0QRM
|
|
.. section: Library
|
|
|
|
Fix crashes related to use of weakrefs on :data:`typing.TypeVar`.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-25-00-14-34
|
|
.. gh-issue: 108463
|
|
.. nonce: mQApp_
|
|
.. section: Library
|
|
|
|
Make expressions/statements work as expected in pdb
|
|
|
|
..
|
|
|
|
.. date: 2023-08-23-22-08-32
|
|
.. gh-issue: 108277
|
|
.. nonce: KLV-6T
|
|
.. section: Library
|
|
|
|
Add :func:`os.timerfd_create`, :func:`os.timerfd_settime`,
|
|
:func:`os.timerfd_gettime`, :func:`os.timerfd_settime_ns`, and
|
|
:func:`os.timerfd_gettime_ns` to provide a low level interface for Linux's
|
|
timer notification file descriptor.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-23-17-34-39
|
|
.. gh-issue: 107811
|
|
.. nonce: 3Fng72
|
|
.. section: Library
|
|
|
|
:mod:`tarfile`: extraction of members with overly large UID or GID (e.g. on
|
|
an OS with 32-bit :c:type:`!id_t`) now fails in the same way as failing to
|
|
set the ID.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-22-22-29-42
|
|
.. gh-issue: 64662
|
|
.. nonce: jHl_Bt
|
|
.. section: Library
|
|
|
|
Fix support for virtual tables in :meth:`sqlite3.Connection.iterdump`. Patch
|
|
by Aviv Palivoda.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-22-17-27-12
|
|
.. gh-issue: 108111
|
|
.. nonce: N7a4u_
|
|
.. section: Library
|
|
|
|
Fix a regression introduced in GH-101251 for 3.12, resulting in an incorrect
|
|
offset calculation in :meth:`gzip.GzipFile.seek`.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-22-16-18-49
|
|
.. gh-issue: 108294
|
|
.. nonce: KEeUcM
|
|
.. section: Library
|
|
|
|
:func:`time.sleep` now raises an auditing event.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-22-13-51-10
|
|
.. gh-issue: 108278
|
|
.. nonce: 11d_qG
|
|
.. section: Library
|
|
|
|
Deprecate passing name, number of arguments, and the callable as keyword
|
|
arguments, for the following :class:`sqlite3.Connection` APIs:
|
|
|
|
* :meth:`~sqlite3.Connection.create_function`
|
|
* :meth:`~sqlite3.Connection.create_aggregate`
|
|
|
|
The affected parameters will become positional-only in Python 3.15.
|
|
|
|
Patch by Erlend E. Aasland.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-22-12-05-47
|
|
.. gh-issue: 108322
|
|
.. nonce: kf3NJX
|
|
.. section: Library
|
|
|
|
Speed-up NormalDist.samples() by using the inverse CDF method instead of
|
|
calling random.gauss().
|
|
|
|
..
|
|
|
|
.. date: 2023-08-18-22-58-07
|
|
.. gh-issue: 83417
|
|
.. nonce: 61J4yM
|
|
.. section: Library
|
|
|
|
Add the ability for venv to create a ``.gitignore`` file which causes the
|
|
created environment to be ignored by Git. It is on by default when venv is
|
|
called via its CLI.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-17-14-45-25
|
|
.. gh-issue: 105736
|
|
.. nonce: NJsH7r
|
|
.. section: Library
|
|
|
|
Harmonized the pure Python version of :class:`~collections.OrderedDict` with
|
|
the C version. Now, both versions set up their internal state in
|
|
``__new__``. Formerly, the pure Python version did the set up in
|
|
``__init__``.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-17-12-59-35
|
|
.. gh-issue: 108083
|
|
.. nonce: 9J7UcT
|
|
.. section: Library
|
|
|
|
Fix bugs in the constructor of :mod:`sqlite3.Connection` and
|
|
:meth:`sqlite3.Connection.close` where exceptions could be leaked. Patch by
|
|
Erlend E. Aasland.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-16-21-20-55
|
|
.. gh-issue: 107932
|
|
.. nonce: I7hFsp
|
|
.. section: Library
|
|
|
|
Fix ``dis`` module to properly report and display bytecode that do not have
|
|
source lines.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-16-14-30-13
|
|
.. gh-issue: 105539
|
|
.. nonce: 29lA6c
|
|
.. section: Library
|
|
|
|
:mod:`sqlite3` now emits an :exc:`ResourceWarning` if a
|
|
:class:`sqlite3.Connection` object is not :meth:`closed
|
|
<sqlite3.connection.close>` explicitly. Patch by Erlend E. Aasland.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-16-00-24-07
|
|
.. gh-issue: 107995
|
|
.. nonce: TlTp5t
|
|
.. section: Library
|
|
|
|
The ``__module__`` attribute on instances of
|
|
:class:`functools.cached_property` is now set to the name of the module in
|
|
which the cached_property is defined, rather than "functools". This means
|
|
that doctests in ``cached_property`` docstrings are now properly collected
|
|
by the :mod:`doctest` module. Patch by Tyler Smart.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-15-18-20-00
|
|
.. gh-issue: 107963
|
|
.. nonce: 20g5BG
|
|
.. section: Library
|
|
|
|
Fix :func:`multiprocessing.set_forkserver_preload` to check the given list
|
|
of modules names. Patch by Donghee Na.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-14-23-11-11
|
|
.. gh-issue: 106242
|
|
.. nonce: 71HMym
|
|
.. section: Library
|
|
|
|
Fixes :func:`os.path.normpath` to handle embedded null characters without
|
|
truncating the path.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-14-20-18-59
|
|
.. gh-issue: 81555
|
|
.. nonce: cWdP4a
|
|
.. section: Library
|
|
|
|
:mod:`xml.dom.minidom` now only quotes ``"`` in attributes.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-14-20-01-14
|
|
.. gh-issue: 50002
|
|
.. nonce: E-bpj8
|
|
.. section: Library
|
|
|
|
:mod:`xml.dom.minidom` now preserves whitespaces in attributes.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-14-19-49-02
|
|
.. gh-issue: 93057
|
|
.. nonce: 5nJwO5
|
|
.. section: Library
|
|
|
|
Passing more than one positional argument to :func:`sqlite3.connect` and the
|
|
:class:`sqlite3.Connection` constructor is deprecated. The remaining
|
|
parameters will become keyword-only in Python 3.15. Patch by Erlend E.
|
|
Aasland.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-14-17-15-59
|
|
.. gh-issue: 76913
|
|
.. nonce: LLD0rT
|
|
.. section: Library
|
|
|
|
Add *merge_extra* parameter/feature to :class:`logging.LoggerAdapter`
|
|
|
|
..
|
|
|
|
.. date: 2023-08-14-11-18-13
|
|
.. gh-issue: 107913
|
|
.. nonce: 4ooY6i
|
|
.. section: Library
|
|
|
|
Fix possible losses of ``errno`` and ``winerror`` values in :exc:`OSError`
|
|
exceptions if they were cleared or modified by the cleanup code before
|
|
creating the exception object.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-10-17-36-22
|
|
.. gh-issue: 107845
|
|
.. nonce: dABiMJ
|
|
.. section: Library
|
|
|
|
:func:`tarfile.data_filter` now takes the location of symlinks into account
|
|
when determining their target, so it will no longer reject some valid
|
|
tarballs with ``LinkOutsideDestinationError``.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-09-15-37-20
|
|
.. gh-issue: 107812
|
|
.. nonce: CflAXa
|
|
.. section: Library
|
|
|
|
Extend socket's netlink support to the FreeBSD platform.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-09-13-49-37
|
|
.. gh-issue: 107805
|
|
.. nonce: ezem0k
|
|
.. section: Library
|
|
|
|
Fix signatures of module-level generated functions in :mod:`turtle`.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-08-19-57-45
|
|
.. gh-issue: 107782
|
|
.. nonce: mInjFE
|
|
.. section: Library
|
|
|
|
:mod:`pydoc` is now able to show signatures which are not representable in
|
|
Python, e.g. for ``getattr`` and ``dict.pop``.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-08-16-09-59
|
|
.. gh-issue: 56166
|
|
.. nonce: WUMhYG
|
|
.. section: Library
|
|
|
|
Deprecate passing optional arguments *maxsplit*, *count* and *flags* in
|
|
module-level functions :func:`re.split`, :func:`re.sub` and :func:`re.subn`
|
|
as positional. They should only be passed by keyword.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-07-14-24-42
|
|
.. gh-issue: 107710
|
|
.. nonce: xfOCfj
|
|
.. section: Library
|
|
|
|
Speed up :func:`logging.getHandlerNames`.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-07-14-12-07
|
|
.. gh-issue: 107715
|
|
.. nonce: 238r2f
|
|
.. section: Library
|
|
|
|
Fix :meth:`doctest.DocTestFinder.find` in presence of class names with
|
|
special characters. Patch by Gertjan van Zwieten.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-06-15-29-00
|
|
.. gh-issue: 100814
|
|
.. nonce: h195gW
|
|
.. section: Library
|
|
|
|
Passing a callable object as an option value to a Tkinter image now raises
|
|
the expected TclError instead of an AttributeError.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-06-10-52-12
|
|
.. gh-issue: 72684
|
|
.. nonce: Ls2mSf
|
|
.. section: Library
|
|
|
|
Add :mod:`tkinter` widget methods: :meth:`!tk_busy_hold`,
|
|
:meth:`!tk_busy_configure`, :meth:`!tk_busy_cget`, :meth:`!tk_busy_forget`,
|
|
:meth:`!tk_busy_current`, and :meth:`!tk_busy_status`.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-05-05-10-41
|
|
.. gh-issue: 106684
|
|
.. nonce: P9zRXb
|
|
.. section: Library
|
|
|
|
Raise :exc:`ResourceWarning` when :class:`asyncio.StreamWriter` is not
|
|
closed leading to memory leaks. Patch by Kumar Aditya.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-04-19-00-53
|
|
.. gh-issue: 107465
|
|
.. nonce: Vc1Il3
|
|
.. section: Library
|
|
|
|
Add :meth:`pathlib.Path.from_uri` classmethod.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-03-12-52-19
|
|
.. gh-issue: 107077
|
|
.. nonce: -pzHD6
|
|
.. section: Library
|
|
|
|
Seems that in some conditions, OpenSSL will return ``SSL_ERROR_SYSCALL``
|
|
instead of ``SSL_ERROR_SSL`` when a certification verification has failed,
|
|
but the error parameters will still contain ``ERR_LIB_SSL`` and
|
|
``SSL_R_CERTIFICATE_VERIFY_FAILED``. We are now detecting this situation and
|
|
raising the appropiate ``ssl.SSLCertVerificationError``. Patch by Pablo
|
|
Galindo
|
|
|
|
..
|
|
|
|
.. date: 2023-08-03-11-31-11
|
|
.. gh-issue: 107576
|
|
.. nonce: pO_s9I
|
|
.. section: Library
|
|
|
|
Fix :func:`types.get_original_bases` to only return :attr:`!__orig_bases__`
|
|
if it is present on ``cls`` directly. Patch by James Hilton-Balfe.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-01-21-43-58
|
|
.. gh-issue: 105481
|
|
.. nonce: cl2ajS
|
|
.. section: Library
|
|
|
|
Remove ``opcode.is_pseudo``, ``opcode.MIN_PSEUDO_OPCODE`` and
|
|
``opcode.MAX_PSEUDO_OPCODE``, which were added in 3.12, were never
|
|
documented and were not intended to be used externally.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-01-15-17-20
|
|
.. gh-issue: 105481
|
|
.. nonce: vMbmj_
|
|
.. section: Library
|
|
|
|
:data:`opcode.ENABLE_SPECIALIZATION` (which was added in 3.12 but never
|
|
documented or intended for external usage) is moved to
|
|
:data:`_opcode.ENABLE_SPECIALIZATION` where tests can access it.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-31-07-36-24
|
|
.. gh-issue: 107396
|
|
.. nonce: 3_Kh6D
|
|
.. section: Library
|
|
|
|
tarfiles; Fixed use before assignment of self.exception for gzip
|
|
decompression
|
|
|
|
..
|
|
|
|
.. date: 2023-07-29-02-36-50
|
|
.. gh-issue: 107409
|
|
.. nonce: HG27Nu
|
|
.. section: Library
|
|
|
|
Set :attr:`!__wrapped__` attribute in :func:`reprlib.recursive_repr`.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-29-02-01-24
|
|
.. gh-issue: 107406
|
|
.. nonce: ze6sQP
|
|
.. section: Library
|
|
|
|
Implement new :meth:`__repr__` method for :class:`struct.Struct`. Now it
|
|
returns ``Struct(<format repr>)``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-28-14-56-35
|
|
.. gh-issue: 107369
|
|
.. nonce: bvTq8F
|
|
.. section: Library
|
|
|
|
Optimize :func:`textwrap.indent`. It is ~30% faster for large input. Patch
|
|
by Inada Naoki.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-26-22-52-48
|
|
.. gh-issue: 78722
|
|
.. nonce: 6SKBLt
|
|
.. section: Library
|
|
|
|
Fix issue where :meth:`pathlib.Path.iterdir` did not raise :exc:`OSError`
|
|
until iterated.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-23-13-05-32
|
|
.. gh-issue: 105578
|
|
.. nonce: XAQtyR
|
|
.. section: Library
|
|
|
|
Deprecate :class:`typing.AnyStr` in favor of the new Type Parameter syntax.
|
|
See PEP 695.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-23-12-26-23
|
|
.. gh-issue: 62519
|
|
.. nonce: w8-81X
|
|
.. section: Library
|
|
|
|
Make :func:`gettext.pgettext` search plural definitions when translation is
|
|
not found.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-22-21-57-34
|
|
.. gh-issue: 107089
|
|
.. nonce: Dnget2
|
|
.. section: Library
|
|
|
|
Shelves opened with :func:`shelve.open` have a much faster :meth:`clear`
|
|
method. Patch by James Cave.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-22-16-44-58
|
|
.. gh-issue: 82500
|
|
.. nonce: cQYoPj
|
|
.. section: Library
|
|
|
|
Fix overflow on 32-bit systems with :mod:`asyncio` :func:`os.sendfile`
|
|
implemention.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-22-15-51-33
|
|
.. gh-issue: 83006
|
|
.. nonce: 21zaCz
|
|
.. section: Library
|
|
|
|
Document behavior of :func:`shutil.disk_usage` for non-mounted filesystems
|
|
on Unix.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-22-14-29-34
|
|
.. gh-issue: 65495
|
|
.. nonce: fw84qM
|
|
.. section: Library
|
|
|
|
Use lowercase ``mail from`` and ``rcpt to`` in :class:`smptlib.SMTP`.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-22-13-09-28
|
|
.. gh-issue: 106186
|
|
.. nonce: EIsUNG
|
|
.. section: Library
|
|
|
|
Do not report ``MultipartInvariantViolationDefect`` defect when the
|
|
:class:`email.parser.Parser` class is used to parse emails with
|
|
``headersonly=True``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-22-12-53-53
|
|
.. gh-issue: 105002
|
|
.. nonce: gkfsW0
|
|
.. section: Library
|
|
|
|
Fix invalid result from :meth:`PurePath.relative_to` method when attempting
|
|
to walk a "``..``" segment in *other* with *walk_up* enabled. A
|
|
:exc:`ValueError` exception is now raised in this case.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-20-06-00-35
|
|
.. gh-issue: 106739
|
|
.. nonce: W1hygr
|
|
.. section: Library
|
|
|
|
Add the ``rtype_cache`` to the warning message (as an addition to the type
|
|
of leaked objects and the number of leaked objects already included in the
|
|
message) to make debugging leaked objects easier when the multiprocessing
|
|
resource tracker process finds leaked objects at shutdown. This helps more
|
|
quickly identify what was leaked and/or why the leaked object was not
|
|
properly cleaned up.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-19-10-45-24
|
|
.. gh-issue: 106751
|
|
.. nonce: 3HJ1of
|
|
.. section: Library
|
|
|
|
Optimize :meth:`SelectSelector.select` for many iteration case. Patch By
|
|
Donghee Na.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-19-09-11-08
|
|
.. gh-issue: 106751
|
|
.. nonce: U9nD_B
|
|
.. section: Library
|
|
|
|
Optimize :meth:`_PollLikeSelector.select` for many iteration case.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-18-23-05-12
|
|
.. gh-issue: 106751
|
|
.. nonce: tVvzN_
|
|
.. section: Library
|
|
|
|
Optimize :meth:`KqueueSelector.select` for many iteration case. Patch By
|
|
Donghee Na.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-17-21-45-15
|
|
.. gh-issue: 106831
|
|
.. nonce: RqVq9X
|
|
.. section: Library
|
|
|
|
Fix potential missing ``NULL`` check of ``d2i_SSL_SESSION`` result in
|
|
``_ssl.c``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-17-16-46-00
|
|
.. gh-issue: 105481
|
|
.. nonce: fek_Nn
|
|
.. section: Library
|
|
|
|
The various opcode lists in the :mod:`dis` module are now generated from
|
|
bytecodes.c instead of explicitly constructed in opcode.py.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-16-23-59-33
|
|
.. gh-issue: 106727
|
|
.. nonce: bk3uCu
|
|
.. section: Library
|
|
|
|
Make :func:`inspect.getsource` smarter for class for same name definitions
|
|
|
|
..
|
|
|
|
.. date: 2023-07-16-10-40-34
|
|
.. gh-issue: 106789
|
|
.. nonce: NvyE3C
|
|
.. section: Library
|
|
|
|
Remove import of :mod:`pprint` from :mod:`sysconfig`.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-15-12-52-50
|
|
.. gh-issue: 105726
|
|
.. nonce: NGthO8
|
|
.. section: Library
|
|
|
|
Added ``__slots__`` to :class:`contextlib.AbstractContextManager` and
|
|
:class:`contextlib.AbstractAsyncContextManager` so that child classes can
|
|
use ``__slots__``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-15-10-24-56
|
|
.. gh-issue: 106774
|
|
.. nonce: FJcqCj
|
|
.. section: Library
|
|
|
|
Update the bundled copy of pip to version 23.2.1.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-14-20-31-09
|
|
.. gh-issue: 106751
|
|
.. nonce: 52F6yQ
|
|
.. section: Library
|
|
|
|
:mod:`selectors`: Optimize ``EpollSelector.select()`` code by moving some
|
|
code outside of the loop.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-14-16-54-13
|
|
.. gh-issue: 106752
|
|
.. nonce: BT1Yxw
|
|
.. section: Library
|
|
|
|
Fixed several bugs in zipfile.Path, including: in
|
|
:meth:`zipfile.Path.match`, Windows separators are no longer honored (and
|
|
never were meant to be); Fixed ``name``/``suffix``/``suffixes``/``stem``
|
|
operations when no filename is present and the Path is not at the root of
|
|
the zipfile; Reworked glob for performance and more correct matching
|
|
behavior.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-14-14-53-58
|
|
.. gh-issue: 105293
|
|
.. nonce: kimf_i
|
|
.. section: Library
|
|
|
|
Remove call to ``SSL_CTX_set_session_id_context`` during client side context
|
|
creation in the :mod:`ssl` module.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-14-01-47-39
|
|
.. gh-issue: 106734
|
|
.. nonce: eMYSoz
|
|
.. section: Library
|
|
|
|
Disable tab completion in multiline mode of :mod:`pdb`
|
|
|
|
..
|
|
|
|
.. date: 2023-07-13-16-04-15
|
|
.. gh-issue: 105481
|
|
.. nonce: pYSwMj
|
|
.. section: Library
|
|
|
|
Expose opcode metadata through :mod:`_opcode`.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-12-10-59-08
|
|
.. gh-issue: 106670
|
|
.. nonce: goQ2Sy
|
|
.. section: Library
|
|
|
|
Add the new ``exceptions`` command to the Pdb debugger. It makes it possible
|
|
to move between chained exceptions when using post mortem debugging.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-12-04-58-45
|
|
.. gh-issue: 106602
|
|
.. nonce: dGCcXe
|
|
.. section: Library
|
|
|
|
Add __copy__ and __deepcopy__ in :mod:`enum`
|
|
|
|
..
|
|
|
|
.. date: 2023-07-12-03-04-45
|
|
.. gh-issue: 106664
|
|
.. nonce: ZeUG78
|
|
.. section: Library
|
|
|
|
:mod:`selectors`: Add ``_SelectorMapping.get()`` method and optimize
|
|
``_SelectorMapping.__getitem__()``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-11-16-36-22
|
|
.. gh-issue: 106628
|
|
.. nonce: Kx8Zvc
|
|
.. section: Library
|
|
|
|
Speed up parsing of emails by about 20% by not compiling a new regular
|
|
expression for every single email.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-11-12-34-04
|
|
.. gh-issue: 89427
|
|
.. nonce: GOkCp9
|
|
.. section: Library
|
|
|
|
Set the environment variable ``VIRTUAL_ENV_PROMPT`` at :mod:`venv`
|
|
activation, even when ``VIRTUAL_ENV_DISABLE_PROMPT`` is set.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-11-09-25-40
|
|
.. gh-issue: 106530
|
|
.. nonce: VgXrMx
|
|
.. section: Library
|
|
|
|
Revert a change to :func:`colorsys.rgb_to_hls` that caused division by zero
|
|
for certain almost-white inputs. Patch by Terry Jan Reedy.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-11-08-56-40
|
|
.. gh-issue: 106584
|
|
.. nonce: g-SBtC
|
|
.. section: Library
|
|
|
|
Fix exit code for ``unittest`` if all tests are skipped. Patch by Egor
|
|
Eliseev.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-09-13-10-54
|
|
.. gh-issue: 106566
|
|
.. nonce: NN35-U
|
|
.. section: Library
|
|
|
|
Optimize ``(?!)`` (pattern which alwais fails) in regular expressions.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-09-01-59-24
|
|
.. gh-issue: 106554
|
|
.. nonce: 37c53J
|
|
.. section: Library
|
|
|
|
:mod:`selectors`: Reduce Selector overhead by using a ``dict.get()`` to
|
|
lookup file descriptors.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-09-00-36-33
|
|
.. gh-issue: 106558
|
|
.. nonce: Zqsj6F
|
|
.. section: Library
|
|
|
|
Remove ref cycle in callers of
|
|
:func:`~multiprocessing.managers.convert_to_error` by deleting ``result``
|
|
from scope in a ``finally`` block.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-07-21-15-17
|
|
.. gh-issue: 100502
|
|
.. nonce: Iici1B
|
|
.. section: Library
|
|
|
|
Add :attr:`pathlib.PurePath.pathmod` class attribute that stores the
|
|
implementation of :mod:`os.path` used for low-level path operations: either
|
|
``posixpath`` or ``ntpath``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-07-18-22-07
|
|
.. gh-issue: 106527
|
|
.. nonce: spHQ0W
|
|
.. section: Library
|
|
|
|
Reduce overhead to add and remove :mod:`asyncio` readers and writers.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-07-17-44-03
|
|
.. gh-issue: 106524
|
|
.. nonce: XkBV8h
|
|
.. section: Library
|
|
|
|
Fix crash in :func:`!_sre.template` with templates containing invalid group
|
|
indices.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-07-16-19-59
|
|
.. gh-issue: 106531
|
|
.. nonce: eMfNm8
|
|
.. section: Library
|
|
|
|
Removed ``_legacy`` and the names it provided from ``importlib.resources``:
|
|
``Resource``, ``contents``, ``is_resource``, ``open_binary``, ``open_text``,
|
|
``path``, ``read_binary``, and ``read_text``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-07-14-52-31
|
|
.. gh-issue: 106052
|
|
.. nonce: ak8nbs
|
|
.. section: Library
|
|
|
|
:mod:`re` module: fix the matching of possessive quantifiers in the case of
|
|
a subpattern containing backtracking.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-07-13-47-28
|
|
.. gh-issue: 106510
|
|
.. nonce: 9n5BdC
|
|
.. section: Library
|
|
|
|
Improve debug output for atomic groups in regular expressions.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-07-03-05-58
|
|
.. gh-issue: 106503
|
|
.. nonce: ltfeiH
|
|
.. section: Library
|
|
|
|
Fix ref cycle in :class:`!asyncio._SelectorSocketTransport` by removing
|
|
``_write_ready`` in ``close``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-05-14-34-10
|
|
.. gh-issue: 105497
|
|
.. nonce: HU5u89
|
|
.. section: Library
|
|
|
|
Fix flag mask inversion when unnamed flags exist.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-05-13-08-23
|
|
.. gh-issue: 90876
|
|
.. nonce: Qvlkfl
|
|
.. section: Library
|
|
|
|
Prevent :mod:`multiprocessing.spawn` from failing to *import* in
|
|
environments where ``sys.executable`` is ``None``. This regressed in 3.11
|
|
with the addition of support for path-like objects in multiprocessing.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-04-07-25-30
|
|
.. gh-issue: 106403
|
|
.. nonce: GmefbV
|
|
.. section: Library
|
|
|
|
Instances of :class:`typing.TypeVar`, :class:`typing.ParamSpec`,
|
|
:class:`typing.ParamSpecArgs`, :class:`typing.ParamSpecKwargs`, and
|
|
:class:`typing.TypeVarTuple` once again support weak references, fixing a
|
|
regression introduced in Python 3.12.0 beta 1. Patch by Jelle Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-03-20-23-56
|
|
.. gh-issue: 89812
|
|
.. nonce: cFkDOE
|
|
.. section: Library
|
|
|
|
Add private ``pathlib._PathBase`` class, which provides experimental support
|
|
for virtual filesystems, and may be made public in a future version of
|
|
Python.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-03-15-09-44
|
|
.. gh-issue: 106292
|
|
.. nonce: 3npldV
|
|
.. section: Library
|
|
|
|
Check for an instance-dict cached value in the :meth:`__get__` method of
|
|
:func:`functools.cached_property`. This better matches the pre-3.12 behavior
|
|
and improves compatibility for users subclassing
|
|
:func:`functools.cached_property` and adding a :meth:`__set__` method.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-03-03-46-20
|
|
.. gh-issue: 106350
|
|
.. nonce: LLcTEe
|
|
.. section: Library
|
|
|
|
Detect possible memory allocation failure in the libtommath function
|
|
:c:func:`mp_init` used by the ``_tkinter`` module.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-02-10-56-41
|
|
.. gh-issue: 106330
|
|
.. nonce: QSkIUH
|
|
.. section: Library
|
|
|
|
Fix incorrect matching of empty paths in :meth:`pathlib.PurePath.match`.
|
|
This bug was introduced in Python 3.12.0 beta 1.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-01-16-51-55
|
|
.. gh-issue: 106309
|
|
.. nonce: hSlB17
|
|
.. section: Library
|
|
|
|
Deprecate :func:`typing.no_type_check_decorator`. No major type checker ever
|
|
added support for this decorator. Patch by Alex Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-01-16-40-54
|
|
.. gh-issue: 102541
|
|
.. nonce: C1ahtk
|
|
.. section: Library
|
|
|
|
Make pydoc.doc catch bad module ImportError when output stream is not None.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-30-16-42-44
|
|
.. gh-issue: 106263
|
|
.. nonce: tk-t93
|
|
.. section: Library
|
|
|
|
Fix crash when calling ``repr`` with a manually constructed SignalDict
|
|
object. Patch by Charlie Zhao.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-29-15-10-44
|
|
.. gh-issue: 106236
|
|
.. nonce: EAIX4l
|
|
.. section: Library
|
|
|
|
Replace ``assert`` statements with ``raise RuntimeError`` in
|
|
:mod:`threading`, so that ``_DummyThread`` cannot be joined even with
|
|
``-OO``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-29-12-40-52
|
|
.. gh-issue: 106238
|
|
.. nonce: VulKb9
|
|
.. section: Library
|
|
|
|
Fix rare concurrency bug in lock acquisition by the logging package.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-27-23-22-37
|
|
.. gh-issue: 106152
|
|
.. nonce: ya5jBT
|
|
.. section: Library
|
|
|
|
Added PY_THROW event hook for :mod:`cProfile` for generators
|
|
|
|
..
|
|
|
|
.. date: 2023-06-25-12-28-55
|
|
.. gh-issue: 106075
|
|
.. nonce: W7tMRb
|
|
.. section: Library
|
|
|
|
Added ``asyncio.taskgroups.__all__`` to ``asyncio.__all__`` for export in
|
|
star imports.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-25-06-57-24
|
|
.. gh-issue: 104527
|
|
.. nonce: TJEUkd
|
|
.. section: Library
|
|
|
|
Zipapp will now skip over apending an archive to itself.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-23-22-52-24
|
|
.. gh-issue: 106046
|
|
.. nonce: OdLiLJ
|
|
.. section: Library
|
|
|
|
Improve the error message from :func:`os.fspath` if called on an object
|
|
where ``__fspath__`` is set to ``None``. Patch by Alex Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-22-15-21-11
|
|
.. gh-issue: 105987
|
|
.. nonce: T7Kzrb
|
|
.. section: Library
|
|
|
|
Fix crash due to improper reference counting in :mod:`asyncio` eager task
|
|
factory internal routines.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-21-19-04-27
|
|
.. gh-issue: 105974
|
|
.. nonce: M47n3t
|
|
.. section: Library
|
|
|
|
Fix bug where a :class:`typing.Protocol` class that had one or more
|
|
non-callable members would raise :exc:`TypeError` when :func:`issubclass`
|
|
was called against it, even if it defined a custom ``__subclasshook__``
|
|
method. The behaviour in Python 3.11 and lower -- which has now been
|
|
restored -- was not to raise :exc:`TypeError` in these situations if a
|
|
custom ``__subclasshook__`` method was defined. Patch by Alex Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-20-23-18-45
|
|
.. gh-issue: 96145
|
|
.. nonce: o5dTRM
|
|
.. section: Library
|
|
|
|
Reverted addition of ``json.AttrDict``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-19-22-20-41
|
|
.. gh-issue: 89812
|
|
.. nonce: z2l_e8
|
|
.. section: Library
|
|
|
|
Add :exc:`pathlib.UnsupportedOperation`, which is raised instead of
|
|
:exc:`NotImplementedError` when a path operation isn't supported.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-19-11-31-55
|
|
.. gh-issue: 105808
|
|
.. nonce: NL-quu
|
|
.. section: Library
|
|
|
|
Fix a regression introduced in GH-101251 for 3.12, causing
|
|
:meth:`gzip.GzipFile.flush` to not flush the compressor (nor pass along the
|
|
``zip_mode`` argument).
|
|
|
|
..
|
|
|
|
.. date: 2023-06-17-12-13-57
|
|
.. gh-issue: 105481
|
|
.. nonce: KgBH5w
|
|
.. section: Library
|
|
|
|
:func:`~dis.stack_effect` no longer raises an exception if an ``oparg`` is
|
|
provided for an ``opcode`` that doesn't use its arg, or when it is not
|
|
provided for an ``opcode`` that does use it. In the latter case, the stack
|
|
effect is returned for ``oparg=0``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-15-18-11-47
|
|
.. gh-issue: 104799
|
|
.. nonce: BcLzbP
|
|
.. section: Library
|
|
|
|
Enable :func:`ast.unparse` to unparse function and class definitions created
|
|
without the new ``type_params`` field from :pep:`695`. Patch by Jelle
|
|
Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-14-18-41-18
|
|
.. gh-issue: 105793
|
|
.. nonce: YSoykM
|
|
.. section: Library
|
|
|
|
Add *follow_symlinks* keyword-only argument to :meth:`pathlib.Path.is_dir`
|
|
and :meth:`~pathlib.Path.is_file`, defaulting to ``True``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-14-14-32-31
|
|
.. gh-issue: 105570
|
|
.. nonce: sFTtQU
|
|
.. section: Library
|
|
|
|
Deprecate two methods of creating :class:`typing.TypedDict` classes with 0
|
|
fields using the functional syntax: ``TD = TypedDict("TD")`` and ``TD =
|
|
TypedDict("TD", None)``. Both will be disallowed in Python 3.15. To create a
|
|
``TypedDict`` class with 0 fields, either use ``class TD(TypedDict): pass``
|
|
or ``TD = TypedDict("TD", {})``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-14-10-27-34
|
|
.. gh-issue: 105745
|
|
.. nonce: l1ttOQ
|
|
.. section: Library
|
|
|
|
Fix ``webbrowser.Konqueror.open`` method.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-13-19-38-12
|
|
.. gh-issue: 105733
|
|
.. nonce: WOp0mG
|
|
.. section: Library
|
|
|
|
:mod:`ctypes`: Deprecate undocumented :func:`!ctypes.SetPointerType` and
|
|
:func:`!ctypes.ARRAY` functions. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-12-15-17-34
|
|
.. gh-issue: 105687
|
|
.. nonce: ZUonKm
|
|
.. section: Library
|
|
|
|
Remove deprecated ``re.template``, ``re.T``, ``re.TEMPLATE``,
|
|
``sre_constans.SRE_FLAG_TEMPLATE``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-12-10-40-38
|
|
.. gh-issue: 105684
|
|
.. nonce: yiHkFD
|
|
.. section: Library
|
|
|
|
Supporting :meth:`asyncio.Task.set_name` is now mandatory for third party
|
|
task implementations. The undocumented :func:`!_set_task_name` function
|
|
(deprecated since 3.8) has been removed. Patch by Kumar Aditya.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-11-22-46-06
|
|
.. gh-issue: 105375
|
|
.. nonce: YkhSNt
|
|
.. section: Library
|
|
|
|
Fix a bug in :c:func:`!_Unpickler_SetInputStream` where an exception could
|
|
end up being overwritten in case of failure.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-10-12-20-17
|
|
.. gh-issue: 105626
|
|
.. nonce: XyZein
|
|
.. section: Library
|
|
|
|
Change the default return value of
|
|
:meth:`http.client.HTTPConnection.get_proxy_response_headers` to be ``None``
|
|
and not ``{}``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-23-46-23
|
|
.. gh-issue: 105375
|
|
.. nonce: 9KaioS
|
|
.. section: Library
|
|
|
|
Fix bugs in :mod:`sys` where exceptions could end up being overwritten
|
|
because of deferred error handling.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-23-00-13
|
|
.. gh-issue: 105605
|
|
.. nonce: YuwqxY
|
|
.. section: Library
|
|
|
|
Harden :mod:`pyexpat` error handling during module initialisation to prevent
|
|
exceptions from possibly being overwritten, and objects from being
|
|
dereferenced twice.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-22-52-45
|
|
.. gh-issue: 105375
|
|
.. nonce: 6igkhn
|
|
.. section: Library
|
|
|
|
Fix bug in :mod:`decimal` where an exception could end up being overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-22-45-26
|
|
.. gh-issue: 105375
|
|
.. nonce: 9rp6tG
|
|
.. section: Library
|
|
|
|
Fix bugs in :mod:`!_datetime` where exceptions could be overwritten in case
|
|
of module initialisation failure.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-22-16-46
|
|
.. gh-issue: 105375
|
|
.. nonce: EgVJOP
|
|
.. section: Library
|
|
|
|
Fix bugs in :mod:`!_ssl` initialisation which could lead to leaked
|
|
references and overwritten exceptions.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-21-46-52
|
|
.. gh-issue: 105375
|
|
.. nonce: yrJelV
|
|
.. section: Library
|
|
|
|
Fix a bug in :class:`array.array` where an exception could end up being
|
|
overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-21-40-45
|
|
.. gh-issue: 105375
|
|
.. nonce: _sZilh
|
|
.. section: Library
|
|
|
|
Fix bugs in :mod:`_ctypes` where exceptions could end up being overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-21-30-59
|
|
.. gh-issue: 105375
|
|
.. nonce: eewafp
|
|
.. section: Library
|
|
|
|
Fix a bug in the :mod:`posix` module where an exception could be
|
|
overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-21-25-14
|
|
.. gh-issue: 105375
|
|
.. nonce: 95g1eI
|
|
.. section: Library
|
|
|
|
Fix bugs in :mod:`!_elementtree` where exceptions could be overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-21-11-28
|
|
.. gh-issue: 105375
|
|
.. nonce: 4Mxn7t
|
|
.. section: Library
|
|
|
|
Fix bugs in :mod:`zoneinfo` where exceptions could be overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-21-04-39
|
|
.. gh-issue: 105375
|
|
.. nonce: bTcqS9
|
|
.. section: Library
|
|
|
|
Fix bugs in :mod:`errno` where exceptions could be overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-20-34-23
|
|
.. gh-issue: 105566
|
|
.. nonce: YxlGg1
|
|
.. section: Library
|
|
|
|
Deprecate creating a :class:`typing.NamedTuple` class using keyword
|
|
arguments to denote the fields (``NT = NamedTuple("NT", x=int, y=str)``).
|
|
This will be disallowed in Python 3.15. Use the class-based syntax or the
|
|
functional syntax instead.
|
|
|
|
Two methods of creating ``NamedTuple`` classes with 0 fields using the
|
|
functional syntax are also deprecated, and will be disallowed in Python
|
|
3.15: ``NT = NamedTuple("NT")`` and ``NT = NamedTuple("NT", None)``. To
|
|
create a ``NamedTuple`` class with 0 fields, either use ``class
|
|
NT(NamedTuple): pass`` or ``NT = NamedTuple("NT", [])``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-08-38-30
|
|
.. gh-issue: 105545
|
|
.. nonce: 2q3ysu
|
|
.. section: Library
|
|
|
|
Remove deprecated in 3.11 ``webbrowser.MacOSXOSAScript._name`` attribute.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-08-17-49-46
|
|
.. gh-issue: 105497
|
|
.. nonce: K6Q8nU
|
|
.. section: Library
|
|
|
|
Fix flag inversion when alias/mask members exist.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-08-15-56-45
|
|
.. gh-issue: 105509
|
|
.. nonce: YIG57j
|
|
.. section: Library
|
|
|
|
:data:`typing.Annotated` is now implemented as an instance of
|
|
``typing._SpecialForm`` rather than a class. This should have no user-facing
|
|
impact for users of the :mod:`typing` module public API.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-08-08-58-36
|
|
.. gh-issue: 105375
|
|
.. nonce: bTcqS9
|
|
.. section: Library
|
|
|
|
Fix bugs in :mod:`pickle` where exceptions could be overwritten.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-07-00-13-00
|
|
.. gh-issue: 70303
|
|
.. nonce: frwUKH
|
|
.. section: Library
|
|
|
|
Emit :exc:`FutureWarning` from :meth:`pathlib.Path.glob` and
|
|
:meth:`~pathlib.Path.rglob` if the given pattern ends with "``**``". In a
|
|
future Python release, patterns with this ending will match both files and
|
|
directories. Add a trailing slash to only match directories.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-07-00-09-52
|
|
.. gh-issue: 105375
|
|
.. nonce: Y_9D4n
|
|
.. section: Library
|
|
|
|
Fix a bug in :mod:`sqlite3` where an exception could be overwritten in the
|
|
:meth:`collation <sqlite3.Connection.create_collation>` callback.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-06-16-00-03
|
|
.. gh-issue: 105382
|
|
.. nonce: A1LgzA
|
|
.. section: Library
|
|
|
|
Remove *cafile*, *capath* and *cadefault* parameters of the
|
|
:func:`urllib.request.urlopen` function, deprecated in Python 3.6. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-06-15-32-44
|
|
.. gh-issue: 105376
|
|
.. nonce: W4oDQp
|
|
.. section: Library
|
|
|
|
:mod:`logging`: Remove undocumented and untested ``Logger.warn()`` and
|
|
``LoggerAdapter.warn()`` methods and ``logging.warn()`` function. Deprecated
|
|
since Python 3.3, they were aliases to the :meth:`logging.Logger.warning`
|
|
method, :meth:`!logging.LoggerAdapter.warning` method and
|
|
:func:`logging.warning` function. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-06-11-50-33
|
|
.. gh-issue: 105332
|
|
.. nonce: tmpgRA
|
|
.. section: Library
|
|
|
|
Revert pickling method from by-name back to by-value.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-05-14-43-56
|
|
.. gh-issue: 104554
|
|
.. nonce: pwfKIo
|
|
.. section: Library
|
|
|
|
Add RTSPS scheme support in urllib.parse
|
|
|
|
..
|
|
|
|
.. date: 2023-06-04-23-20-56
|
|
.. gh-issue: 105292
|
|
.. nonce: ns6XQR
|
|
.. section: Library
|
|
|
|
Add option to :func:`traceback.format_exception_only` to recurse into the
|
|
nested exception of a :exc:`BaseExceptionGroup`.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-04-12-16-47
|
|
.. gh-issue: 105280
|
|
.. nonce: srRbCe
|
|
.. section: Library
|
|
|
|
Fix bug where ``isinstance([], collections.abc.Mapping)`` could evaluate to
|
|
``True`` if garbage collection happened at the wrong time. The bug was
|
|
caused by changes to the implementation of :class:`typing.Protocol` in
|
|
Python 3.12.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-02-23-32-17
|
|
.. gh-issue: 80480
|
|
.. nonce: savBw9
|
|
.. section: Library
|
|
|
|
:mod:`array`: Add ``'w'`` typecode that represents ``Py_UCS4``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-02-14-57-11
|
|
.. gh-issue: 105239
|
|
.. nonce: SAmuuj
|
|
.. section: Library
|
|
|
|
Fix longstanding bug where ``issubclass(object, typing.Protocol)`` would
|
|
evaluate to ``True`` in some edge cases. Patch by Alex Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-02-14-23-41
|
|
.. gh-issue: 104310
|
|
.. nonce: UamCOB
|
|
.. section: Library
|
|
|
|
In the beta 1 release we added a utility function for extension module
|
|
authors, to use when testing their module for support in multiple
|
|
interpreters or under a per-interpreter GIL. The name of that function has
|
|
changed from ``allowing_all_extensions`` to
|
|
``_incompatible_extension_module_restrictions``. The default for the
|
|
"disable_check" argument has change from ``True`` to ``False``, to better
|
|
match the new function name.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-02-02-38-26
|
|
.. gh-issue: 105080
|
|
.. nonce: 2imGMg
|
|
.. section: Library
|
|
|
|
Fixed inconsistent signature on derived classes for
|
|
:func:`inspect.signature`
|
|
|
|
..
|
|
|
|
.. date: 2023-05-31-16-58-42
|
|
.. gh-issue: 105144
|
|
.. nonce: Oqfn0V
|
|
.. section: Library
|
|
|
|
Fix a recent regression in the :mod:`typing` module. The regression meant
|
|
that doing ``class Foo(X, typing.Protocol)``, where ``X`` was a class that
|
|
had :class:`abc.ABCMeta` as its metaclass, would then cause subsequent
|
|
``isinstance(1, X)`` calls to erroneously raise :exc:`TypeError`. Patch by
|
|
Alex Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-30-18-45-02
|
|
.. gh-issue: 62948
|
|
.. nonce: 1-5wMR
|
|
.. section: Library
|
|
|
|
The :class:`io.IOBase` finalizer now logs the ``close()`` method errors with
|
|
:data:`sys.unraisablehook`. Previously, errors were ignored silently by
|
|
default, and only logged in :ref:`Python Development Mode <devmode>` or on
|
|
:ref:`Python built on debug mode <debug-build>`. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-30-17-39-03
|
|
.. gh-issue: 105096
|
|
.. nonce: pw00FW
|
|
.. section: Library
|
|
|
|
:mod:`wave`: Deprecate the ``getmark()``, ``setmark()`` and ``getmarkers()``
|
|
methods of the :class:`wave.Wave_read` and :class:`wave.Wave_write` classes.
|
|
They will be removed in Python 3.15. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-26-21-33-24
|
|
.. gh-issue: 104992
|
|
.. nonce: dbq9WK
|
|
.. section: Library
|
|
|
|
Remove the untested and undocumented :meth:`!unittest.TestProgram.usageExit`
|
|
method, deprecated in Python 3.11. Patch by Hugo van Kemenade.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-26-21-24-06
|
|
.. gh-issue: 104996
|
|
.. nonce: aaW78g
|
|
.. section: Library
|
|
|
|
Improve performance of :class:`pathlib.PurePath` initialisation by deferring
|
|
joining of paths when multiple arguments are given.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-26-01-31-30
|
|
.. gh-issue: 101588
|
|
.. nonce: RaqxFy
|
|
.. section: Library
|
|
|
|
Deprecate undocumented copy/deepcopy/pickle support for itertools.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-25-23-34-54
|
|
.. gh-issue: 103631
|
|
.. nonce: x5Urye
|
|
.. section: Library
|
|
|
|
Fix ``pathlib.PurePosixPath(pathlib.PureWindowsPath(...))`` not converting
|
|
path separators to restore 3.11 compatible behavior.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-25-22-54-20
|
|
.. gh-issue: 104947
|
|
.. nonce: hi6TUr
|
|
.. section: Library
|
|
|
|
Make comparisons between :class:`pathlib.PureWindowsPath` objects consistent
|
|
across Windows and Posix to match 3.11 behavior.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-25-17-25-16
|
|
.. gh-issue: 104773
|
|
.. nonce: O6TOMc
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!audioop` module, deprecated in Python 3.11.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-25-16-50-43
|
|
.. gh-issue: 104773
|
|
.. nonce: pmg0Fr
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!aifc` module, deprecated in Python 3.11. Patch
|
|
by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-25-15-54-02
|
|
.. gh-issue: 104773
|
|
.. nonce: nW-5MI
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!uu` module, deprecated in Python 3.11. Patch
|
|
by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-25-08-50-47
|
|
.. gh-issue: 104935
|
|
.. nonce: -rm1BR
|
|
.. section: Library
|
|
|
|
Fix bugs with the interaction between :func:`typing.runtime_checkable` and
|
|
:class:`typing.Generic` that were introduced by the :pep:`695`
|
|
implementation. Patch by Jelle Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-25-00-53-08
|
|
.. gh-issue: 104773
|
|
.. nonce: Iyjtt0
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!crypt` module and its private :mod:`!_crypt`
|
|
extension, deprecated in Python 3.11. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-23-40-22
|
|
.. gh-issue: 104773
|
|
.. nonce: FHA99J
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!nis` module, deprecated in Python 3.11. Patch
|
|
by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-22-50-21
|
|
.. gh-issue: 104898
|
|
.. nonce: UbT2S4
|
|
.. section: Library
|
|
|
|
Add missing :attr:`~object.__slots__` to :class:`os.PathLike`.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-22-47-13
|
|
.. gh-issue: 104773
|
|
.. nonce: itOIf3
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!xdrlib` module, deprecated in Python 3.11.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-22-22-03
|
|
.. gh-issue: 104773
|
|
.. nonce: NwpjhZ
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!nntplib` module, deprecated in Python 3.11.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-21-30-40
|
|
.. gh-issue: 104886
|
|
.. nonce: 8TuV-_
|
|
.. section: Library
|
|
|
|
Remove the undocumented :class:`!configparser.LegacyInterpolation` class,
|
|
deprecated in the docstring since Python 3.2, and with a deprecation warning
|
|
since Python 3.11. Patch by Hugo van Kemenade.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-20-21-27
|
|
.. gh-issue: 104786
|
|
.. nonce: SmgT5_
|
|
.. section: Library
|
|
|
|
Remove kwargs-based :class:`typing.TypedDict` creation
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-19-48-16
|
|
.. gh-issue: 104876
|
|
.. nonce: Z00Qnk
|
|
.. section: Library
|
|
|
|
Remove the :meth:`!turtle.RawTurtle.settiltangle` method, deprecated in docs
|
|
since Python 3.1 and with a deprecation warning since Python 3.11. Patch by
|
|
Hugo van Kemenade.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-18-48-10
|
|
.. gh-issue: 104773
|
|
.. nonce: TrgUeO
|
|
.. section: Library
|
|
|
|
:pep:`594`: Removed the :mod:`!msilib` package, deprecated in Python 3.11.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-17-47-25
|
|
.. gh-issue: 104773
|
|
.. nonce: TzUSY2
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!spwd` module, deprecated in Python 3.11: the
|
|
:pypi:`python-pam` project can be used instead. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-17-22-56
|
|
.. gh-issue: 75552
|
|
.. nonce: _QlrpQ
|
|
.. section: Library
|
|
|
|
Removed the ``tkinter.tix`` module, deprecated since Python 3.6.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-15-57-34
|
|
.. gh-issue: 104773
|
|
.. nonce: IHWRgg
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!chunk` module, deprecated in Python 3.11.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-15-17-05
|
|
.. gh-issue: 104773
|
|
.. nonce: EmFIQ5
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!mailcap` module, deprecated in Python 3.11.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-14-58-13
|
|
.. gh-issue: 104773
|
|
.. nonce: sQaXrY
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!sunau` module, deprecated in Python 3.11.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-14-30-14
|
|
.. gh-issue: 104780
|
|
.. nonce: nXGIJt
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!ossaudiodev` module, deprecated in Python
|
|
3.11. Patch Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-11-45-22
|
|
.. gh-issue: 104773
|
|
.. nonce: R0Br4-
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!pipes` module, deprecated in Python 3.11.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-09-55-33
|
|
.. gh-issue: 104873
|
|
.. nonce: BKQ54y
|
|
.. section: Library
|
|
|
|
Add :func:`typing.get_protocol_members` to return the set of members
|
|
defining a :class:`typing.Protocol`. Add :func:`typing.is_protocol` to
|
|
check whether a class is a :class:`typing.Protocol`. Patch by Jelle
|
|
Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-09-34-23
|
|
.. gh-issue: 104874
|
|
.. nonce: oqyJSy
|
|
.. section: Library
|
|
|
|
Document the ``__name__`` and ``__supertype__`` attributes of
|
|
:class:`typing.NewType`. Patch by Jelle Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-08-45-04
|
|
.. gh-issue: 104835
|
|
.. nonce: bN_B-B
|
|
.. section: Library
|
|
|
|
Removed the following :mod:`unittest` functions, deprecated in Python 3.11:
|
|
|
|
* :func:`!unittest.findTestCases`
|
|
* :func:`!unittest.makeSuite`
|
|
* :func:`!unittest.getTestCaseNames`
|
|
|
|
Use :class:`~unittest.TestLoader` methods instead:
|
|
|
|
* :meth:`unittest.TestLoader.loadTestsFromModule`
|
|
* :meth:`unittest.TestLoader.loadTestsFromTestCase`
|
|
* :meth:`unittest.TestLoader.getTestCaseNames`
|
|
|
|
Patch by Hugo van Kemenade.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-21-25-54
|
|
.. gh-issue: 104804
|
|
.. nonce: 78fiE6
|
|
.. section: Library
|
|
|
|
Remove the untested and undocumented :mod:`webbrowser` :class:`!MacOSX`
|
|
class, deprecated in Python 3.11. Patch by Hugo van Kemenade.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-19-53-18
|
|
.. gh-issue: 83863
|
|
.. nonce: eRI5JG
|
|
.. section: Library
|
|
|
|
Support for using :class:`pathlib.Path` objects as context managers has been
|
|
removed. Before Python 3.9, exiting the context manager marked a path as
|
|
"closed", which caused some (but not all!) methods to raise when called.
|
|
Since Python 3.9, using a path as a context manager does nothing.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-18-31-49
|
|
.. gh-issue: 104799
|
|
.. nonce: MJYOw6
|
|
.. section: Library
|
|
|
|
Adjust the location of the (see :pep:`695`) ``type_params`` field on
|
|
:class:`ast.ClassDef`, :class:`ast.AsyncFunctionDef`, and
|
|
:class:`ast.FunctionDef` to better preserve backward compatibility. Patch by
|
|
Jelle Zijlstra
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-17-43-52
|
|
.. gh-issue: 104797
|
|
.. nonce: NR7KzF
|
|
.. section: Library
|
|
|
|
Allow :class:`typing.Protocol` classes to inherit from
|
|
:class:`collections.abc.Buffer`. Patch by Jelle Zijlstra.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-04-01-27
|
|
.. gh-issue: 104783
|
|
.. nonce: QyhIoq
|
|
.. section: Library
|
|
|
|
Remove ``locale.resetlocale()`` function deprecated in Python 3.11. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-03-36-47
|
|
.. gh-issue: 104780
|
|
.. nonce: P4e3Yf
|
|
.. section: Library
|
|
|
|
Remove the ``2to3`` program and the :mod:`!lib2to3` module, deprecated in
|
|
Python 3.11. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-02-20-13
|
|
.. gh-issue: 104773
|
|
.. nonce: 7K59zr
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!telnetlib` module, deprecated in Python 3.11.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-02-13-11
|
|
.. gh-issue: 104773
|
|
.. nonce: JNiEjv
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!imghdr` module, deprecated in Python 3.11.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-01-47-57
|
|
.. gh-issue: 104773
|
|
.. nonce: I6MQhb
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!cgi` and :mod:`!cgitb` modules, deprecated in
|
|
Python 3.11. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-01-37-40
|
|
.. gh-issue: 104773
|
|
.. nonce: 8c-GsG
|
|
.. section: Library
|
|
|
|
:pep:`594`: Remove the :mod:`!sndhdr` module, deprecated in Python 3.11.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-22-18-39-53
|
|
.. gh-issue: 104372
|
|
.. nonce: 7tDRaK
|
|
.. section: Library
|
|
|
|
On Linux where :mod:`subprocess` can use the ``vfork()`` syscall for faster
|
|
spawning, prevent the parent process from blocking other threads by dropping
|
|
the GIL while it waits for the vfork'ed child process ``exec()`` outcome.
|
|
This prevents spawning a binary from a slow filesystem from blocking the
|
|
rest of the application.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-19-19-46-22
|
|
.. gh-issue: 99108
|
|
.. nonce: wqCg0t
|
|
.. section: Library
|
|
|
|
We now release the GIL around built-in :mod:`hashlib` computations of
|
|
reasonable size for the SHA families and MD5 hash functions, matching what
|
|
our OpenSSL backed hash computations already does.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-15-18-57-42
|
|
.. gh-issue: 102613
|
|
.. nonce: YD9yx-
|
|
.. section: Library
|
|
|
|
Improve performance of :meth:`pathlib.Path.glob` when expanding a pattern
|
|
with a non-terminal "``**``" component by filtering walked paths through a
|
|
regular expression, rather than calling :func:`os.scandir` more than once on
|
|
each directory.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-11-23-03-00
|
|
.. gh-issue: 104399
|
|
.. nonce: MMatTP
|
|
.. section: Library
|
|
|
|
Prepare the ``_tkinter`` module for building with Tcl 9.0 and future
|
|
libtommath by replacing usage of deprecated functions
|
|
:c:func:`mp_to_unsigned_bin_n` and :c:func:`mp_unsigned_bin_size` when
|
|
necessary.
|
|
|
|
..
|
|
|
|
.. date: 2023-04-28-09-31-21
|
|
.. gh-issue: 102676
|
|
.. nonce: J8qDRa
|
|
.. section: Library
|
|
|
|
Add fields ``start_offset``, ``cache_offset``, ``end_offset``,
|
|
``baseopname``, ``baseopcode``, ``jump_target`` and ``oparg`` to
|
|
:class:`dis.Instruction`.
|
|
|
|
..
|
|
|
|
.. date: 2023-04-15-23-26-16
|
|
.. gh-issue: 103558
|
|
.. nonce: w9OzK4
|
|
.. section: Library
|
|
|
|
Fixed ``parent`` argument validation mechanism of :mod:`argparse`. Improved
|
|
test coverage.
|
|
|
|
..
|
|
|
|
.. date: 2023-04-12-03-03-27
|
|
.. gh-issue: 103464
|
|
.. nonce: Oa_8IW
|
|
.. section: Library
|
|
|
|
Provide helpful usage messages when parsing incorrect :mod:`pdb` commands.
|
|
|
|
..
|
|
|
|
.. date: 2023-04-09-05-30-41
|
|
.. gh-issue: 103384
|
|
.. nonce: zAV7iB
|
|
.. section: Library
|
|
|
|
Generalize the regex pattern ``BaseConfigurator.INDEX_PATTERN`` to allow
|
|
spaces and non-alphanumeric characters in keys.
|
|
|
|
..
|
|
|
|
.. date: 2023-04-09-03-53-02
|
|
.. gh-issue: 103124
|
|
.. nonce: JspiNN
|
|
.. section: Library
|
|
|
|
Added multiline statement support for :mod:`pdb`
|
|
|
|
..
|
|
|
|
.. date: 2023-04-08-12-43-52
|
|
.. gh-issue: 101162
|
|
.. nonce: yOCd_J
|
|
.. section: Library
|
|
|
|
Forbid using :func:`builtins.issubclass` with :class:`types.GenericAlias` as
|
|
the first argument.
|
|
|
|
..
|
|
|
|
.. date: 2023-04-03-08-09-40
|
|
.. gh-issue: 103200
|
|
.. nonce: lq1Etz
|
|
.. section: Library
|
|
|
|
Fix cache repopulation semantics of zipimport.invalidate_caches(). The cache
|
|
is now repopulated upon retrieving files with an invalid cache, not when the
|
|
cache is invalidated.
|
|
|
|
..
|
|
|
|
.. date: 2023-03-14-01-19-57
|
|
.. gh-issue: 100061
|
|
.. nonce: CiXJYn
|
|
.. section: Library
|
|
|
|
Fix a bug that causes wrong matches for regular expressions with possessive
|
|
qualifier.
|
|
|
|
..
|
|
|
|
.. date: 2023-03-12-03-37-03
|
|
.. gh-issue: 77609
|
|
.. nonce: aOQttm
|
|
.. section: Library
|
|
|
|
Add *follow_symlinks* argument to :meth:`pathlib.Path.glob` and
|
|
:meth:`~pathlib.Path.rglob`, defaulting to false.
|
|
|
|
..
|
|
|
|
.. date: 2023-03-12-01-17-15
|
|
.. gh-issue: 102541
|
|
.. nonce: LK1adc
|
|
.. section: Library
|
|
|
|
Hide traceback in :func:`help` prompt, when import failed.
|
|
|
|
..
|
|
|
|
.. date: 2023-03-08-19-30-53
|
|
.. gh-issue: 102120
|
|
.. nonce: xkQ5Wr
|
|
.. section: Library
|
|
|
|
Added a stream mode to ``tarfile`` that allows for reading archives without
|
|
caching info about the inner files.
|
|
|
|
..
|
|
|
|
.. date: 2023-02-20-15-41-59
|
|
.. gh-issue: 102029
|
|
.. nonce: 9ZPG99
|
|
.. section: Library
|
|
|
|
Deprecate passing any arguments to :func:`threading.RLock`.
|
|
|
|
..
|
|
|
|
.. date: 2023-02-20-12-00-11
|
|
.. gh-issue: 88233
|
|
.. nonce: o5Zb0t
|
|
.. section: Library
|
|
|
|
Refactored ``zipfile._strip_extra`` to use higher level abstactions for
|
|
extras instead of a heavy-state loop.
|
|
|
|
..
|
|
|
|
.. date: 2023-02-18-22-55-48
|
|
.. gh-issue: 102024
|
|
.. nonce: RUmg_D
|
|
.. section: Library
|
|
|
|
Reduce calls of ``_idle_semaphore.release()`` in
|
|
:func:`concurrent.futures.thread._worker`.
|
|
|
|
..
|
|
|
|
.. date: 2023-02-17-18-56-46
|
|
.. gh-issue: 73435
|
|
.. nonce: 7sTJHk
|
|
.. section: Library
|
|
|
|
Add support for recursive wildcards in :meth:`pathlib.PurePath.match`.
|
|
|
|
..
|
|
|
|
.. date: 2022-12-24-12-50-54
|
|
.. gh-issue: 84867
|
|
.. nonce: OhaLbU
|
|
.. section: Library
|
|
|
|
:class:`unittest.TestLoader` no longer loads test cases from exact
|
|
:class:`unittest.TestCase` and :class:`unittest.FunctionTestCase` classes.
|
|
|
|
..
|
|
|
|
.. date: 2022-11-26-22-05-22
|
|
.. gh-issue: 99203
|
|
.. nonce: j0DUae
|
|
.. section: Library
|
|
|
|
Restore following CPython <= 3.10.5 behavior of :func:`shutil.make_archive`:
|
|
do not create an empty archive if ``root_dir`` is not a directory, and, in
|
|
that case, raise :class:`FileNotFoundError` or :class:`NotADirectoryError`
|
|
regardless of ``format`` choice. Beyond the brought-back behavior, the
|
|
function may now also raise these exceptions in ``dry_run`` mode.
|
|
|
|
..
|
|
|
|
.. date: 2022-08-07-11-10-26
|
|
.. gh-issue: 80480
|
|
.. nonce: IFccj3
|
|
.. section: Library
|
|
|
|
Emit :exc:`DeprecationWarning` for :mod:`array`'s ``'u'`` type code,
|
|
deprecated in docs since Python 3.3.
|
|
|
|
..
|
|
|
|
.. date: 2022-07-18-14-20-56
|
|
.. gh-issue: 94924
|
|
.. nonce: X0buz2
|
|
.. section: Library
|
|
|
|
:func:`unittest.mock.create_autospec` now properly returns coroutine
|
|
functions compatible with :func:`inspect.iscoroutinefunction`
|
|
|
|
..
|
|
|
|
.. date: 2022-07-12-18-45-13
|
|
.. gh-issue: 94777
|
|
.. nonce: mOybx7
|
|
.. section: Library
|
|
|
|
Fix hanging :mod:`multiprocessing` ``ProcessPoolExecutor`` when a child
|
|
process crashes while data is being written in the call queue.
|
|
|
|
..
|
|
|
|
.. date: 2022-05-17-10-46-44
|
|
.. gh-issue: 92871
|
|
.. nonce: GVogrT
|
|
.. section: Library
|
|
|
|
Remove the ``typing.io`` and ``typing.re`` namespaces, deprecated since
|
|
Python 3.8. All items are still available from the main :mod:`typing`
|
|
module.
|
|
|
|
..
|
|
|
|
.. bpo: 43633
|
|
.. date: 2021-10-31-16-06-28
|
|
.. nonce: vflwXv
|
|
.. section: Library
|
|
|
|
Improve the textual representation of IPv4-mapped IPv6 addresses
|
|
(:rfc:`4291` Sections 2.2, 2.5.5.2) in :mod:`ipaddress`. Patch by Oleksandr
|
|
Pavliuk.
|
|
|
|
..
|
|
|
|
.. bpo: 44850
|
|
.. date: 2021-08-16-17-52-26
|
|
.. nonce: r8jx5u
|
|
.. section: Library
|
|
|
|
Improve performance of :func:`operator.methodcaller` using the :pep:`590`
|
|
``vectorcall`` convention. Patch by Anthony Lee and Pieter Eendebak.
|
|
|
|
..
|
|
|
|
.. bpo: 44185
|
|
.. date: 2021-06-24-20-45-03
|
|
.. nonce: ZHb8yJ
|
|
.. section: Library
|
|
|
|
:func:`unittest.mock.mock_open` will call the :func:`close` method of the
|
|
file handle mock when it is exiting from the context manager. Patch by Samet
|
|
Yaslan.
|
|
|
|
..
|
|
|
|
.. bpo: 40988
|
|
.. date: 2020-11-10-07-04-15
|
|
.. nonce: 5kBC-O
|
|
.. section: Library
|
|
|
|
Improve performance of :class:`functools.singledispatchmethod` by caching
|
|
the generated dispatch wrapper. Optimization suggested by frederico. Patch
|
|
by @mental32, Alex Waygood and Pieter Eendebak.
|
|
|
|
..
|
|
|
|
.. bpo: 41768
|
|
.. date: 2020-09-16-16-53-06
|
|
.. nonce: 8_fWkC
|
|
.. section: Library
|
|
|
|
:mod:`unittest.mock` speccing no longer calls class properties. Patch by
|
|
Melanie Witt.
|
|
|
|
..
|
|
|
|
.. bpo: 18319
|
|
.. date: 2020-05-03-00-33-15
|
|
.. nonce: faPTlx
|
|
.. section: Library
|
|
|
|
Ensure ``gettext(msg)`` retrieve translations even if a plural form exists.
|
|
In other words: ``gettext(msg) == ngettext(msg, '', 1)``.
|
|
|
|
..
|
|
|
|
.. bpo: 17013
|
|
.. date: 2019-09-13-13-28-10
|
|
.. nonce: NWcgE3
|
|
.. section: Library
|
|
|
|
Add ``ThreadingMock`` to :mod:`unittest.mock` that can be used to create
|
|
Mock objects that can wait until they are called. Patch by Karthikeyan
|
|
Singaravelan and Mario Corchero.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-10-02-39-06
|
|
.. gh-issue: 109209
|
|
.. nonce: 0LBewo
|
|
.. section: Documentation
|
|
|
|
The minimum Sphinx version required for the documentation is now 4.2.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-03-13-43-49
|
|
.. gh-issue: 108826
|
|
.. nonce: KG7abS
|
|
.. section: Documentation
|
|
|
|
:mod:`dis` module command-line interface is now mentioned in documentation.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-26-16-33-04
|
|
.. gh-issue: 107305
|
|
.. nonce: qB2LS4
|
|
.. section: Documentation
|
|
|
|
Add documentation for :c:type:`PyInterpreterConfig` and
|
|
:c:func:`Py_NewInterpreterFromConfig`. Also clarify some of the nearby docs
|
|
relative to per-interpreter GIL.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-22-15-14-13
|
|
.. gh-issue: 107008
|
|
.. nonce: 3JQ1Vt
|
|
.. section: Documentation
|
|
|
|
Document the :mod:`curses` module variables :const:`~curses.LINES` and
|
|
:const:`~curses.COLS`.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-21-11-51-57
|
|
.. gh-issue: 106948
|
|
.. nonce: K_JQ7j
|
|
.. section: Documentation
|
|
|
|
Add a number of standard external names to ``nitpick_ignore``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-30-19-28-59
|
|
.. gh-issue: 106232
|
|
.. nonce: hQ4-tz
|
|
.. section: Documentation
|
|
|
|
Make timeit doc command lines compatible with Windows by using double quotes
|
|
for arguments. This works on linux and macOS also.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-31-23-05-51
|
|
.. gh-issue: 105172
|
|
.. nonce: SVfvkD
|
|
.. section: Documentation
|
|
|
|
Fixed :func:`functools.lru_cache` docstring accounting for ``typed``
|
|
argument's different handling of str and int. Patch by Bar Harel.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-29-14-10-24
|
|
.. gh-issue: 105052
|
|
.. nonce: MGFwbm
|
|
.. section: Documentation
|
|
|
|
Update ``timeit`` doc to specify that time in seconds is just the default.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-28-21-01-00
|
|
.. gh-issue: 89455
|
|
.. nonce: qAKRrA
|
|
.. section: Documentation
|
|
|
|
Add missing documentation for the ``max_group_depth`` and
|
|
``max_group_width`` parameters and the ``exceptions`` attribute of the
|
|
:class:`traceback.TracebackException` class.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-28-19-08-42
|
|
.. gh-issue: 89412
|
|
.. nonce: j4cg7K
|
|
.. section: Documentation
|
|
|
|
Add missing documentation for the ``end_lineno`` and ``end_offset``
|
|
attributes of the :class:`traceback.TracebackException` class.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-25-22-34-31
|
|
.. gh-issue: 104943
|
|
.. nonce: J2v1Pc
|
|
.. section: Documentation
|
|
|
|
Remove mentions of old Python versions in :class:`typing.NamedTuple`.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-16-22-08-24
|
|
.. gh-issue: 54738
|
|
.. nonce: mJvCnj
|
|
.. section: Documentation
|
|
|
|
Add documentation on how to localize the :mod:`argparse` module.
|
|
|
|
..
|
|
|
|
.. date: 2023-03-19-09-39-31
|
|
.. gh-issue: 102823
|
|
.. nonce: OzsOz0
|
|
.. section: Documentation
|
|
|
|
Document the return type of ``x // y`` when ``x`` and ``y`` have type
|
|
:class:`float`.
|
|
|
|
..
|
|
|
|
.. date: 2023-03-16-15-39-26
|
|
.. gh-issue: 102759
|
|
.. nonce: ehpHw6
|
|
.. section: Documentation
|
|
|
|
Align function signature for ``functools.reduce`` in documentation and
|
|
docstring with the C implementation.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-10-23-20-13
|
|
.. gh-issue: 110647
|
|
.. nonce: jKG3sY
|
|
.. section: Tests
|
|
|
|
Fix test_stress_modifying_handlers() of test_signal. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-06-02-32-18
|
|
.. gh-issue: 103053
|
|
.. nonce: VfxBLI
|
|
.. section: Tests
|
|
|
|
Fix test_tools.test_freeze on FreeBSD: run "make distclean" instead of "make
|
|
clean" in the copied source directory to remove also the "python" program.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-05-19-33-49
|
|
.. gh-issue: 110167
|
|
.. nonce: mIdj3v
|
|
.. section: Tests
|
|
|
|
Fix a deadlock in test_socket when server fails with a timeout but the
|
|
client is still running in its thread. Don't hold a lock to call cleanup
|
|
functions in doCleanups(). One of the cleanup function waits until the
|
|
client completes, whereas the client could deadlock if it called
|
|
addCleanup() in such situation. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-05-14-22-48
|
|
.. gh-issue: 110388
|
|
.. nonce: 1-HQJO
|
|
.. section: Tests
|
|
|
|
Add tests for :mod:`tty`.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-05-13-46-50
|
|
.. gh-issue: 81002
|
|
.. nonce: bOcuV6
|
|
.. section: Tests
|
|
|
|
Add tests for :mod:`termios`.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-04-18-27-47
|
|
.. gh-issue: 110367
|
|
.. nonce: Nnq1I7
|
|
.. section: Tests
|
|
|
|
regrtest: When using worker processes (-jN) with --verbose3 option, regrtest
|
|
can now display the worker output even if a worker process does crash.
|
|
Previously, sys.stdout and sys.stderr were replaced and so the worker output
|
|
was lost on a crash. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-03-10-54-09
|
|
.. gh-issue: 110267
|
|
.. nonce: O-c47G
|
|
.. section: Tests
|
|
|
|
Add tests for pickling and copying PyStructSequence objects. Patched by
|
|
Xuehai Pan.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-01-10-27-02
|
|
.. gh-issue: 110171
|
|
.. nonce: ZPlo0h
|
|
.. section: Tests
|
|
|
|
``libregrtest`` now always sets and shows ``random.seed``, so tests are more
|
|
reproducible. Use ``--randseed`` flag to pass the explicit random seed for
|
|
tests.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-30-20-18-38
|
|
.. gh-issue: 110152
|
|
.. nonce: 4Kxve1
|
|
.. section: Tests
|
|
|
|
Remove ``Tools/scripts/run_tests.py`` and ``make hostrunnertest``. Just run
|
|
``./python -m test --slow-ci``, ``make buildbottest`` or ``make test``
|
|
instead. Python test runner (regrtest) now handles cross-compilation and
|
|
HOSTRUNNER. It also adds options to Python such fast ``-u -E -W default
|
|
-bb`` when ``--fast-ci`` or ``--slow-ci`` option is used. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-29-14-11-30
|
|
.. gh-issue: 110031
|
|
.. nonce: fQnFnc
|
|
.. section: Tests
|
|
|
|
Skip test_threading tests using thread+fork if Python is built with Address
|
|
Sanitizer (ASAN). Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-29-12-48-42
|
|
.. gh-issue: 110088
|
|
.. nonce: qUhRga
|
|
.. section: Tests
|
|
|
|
Fix test_asyncio timeouts: don't measure the maximum duration, a test should
|
|
not measure a CI performance. Only measure the minimum duration when a task
|
|
has a timeout or delay. Add ``CLOCK_RES`` to ``test_asyncio.utils``. Patch
|
|
by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-29-00-19-21
|
|
.. gh-issue: 109974
|
|
.. nonce: Sh_g-r
|
|
.. section: Tests
|
|
|
|
Fix race conditions in test_threading lock tests. Wait until a condition is
|
|
met rather than using :func:`time.sleep` with a hardcoded number of seconds.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-28-18-14-52
|
|
.. gh-issue: 110033
|
|
.. nonce: 2yHMx0
|
|
.. section: Tests
|
|
|
|
Fix ``test_interprocess_signal()`` of ``test_signal``. Make sure that the
|
|
``subprocess.Popen`` object is deleted before the test raising an exception
|
|
in a signal handler. Otherwise, ``Popen.__del__()`` can get the exception
|
|
which is logged as ``Exception ignored in: ...`` and the test fails. Patch
|
|
by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-28-14-47-14
|
|
.. gh-issue: 109594
|
|
.. nonce: DB5KPP
|
|
.. section: Tests
|
|
|
|
Fix test_timeout() of test_concurrent_futures.test_wait. Remove the future
|
|
which may or may not complete depending if it takes longer than the timeout
|
|
ot not. Keep the second future which does not complete before wait()
|
|
timeout. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-28-12-25-19
|
|
.. gh-issue: 109972
|
|
.. nonce: GYnwIP
|
|
.. section: Tests
|
|
|
|
Split test_gdb.py file into a test_gdb package made of multiple tests, so
|
|
tests can now be run in parallel. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-26-18-12-01
|
|
.. gh-issue: 109566
|
|
.. nonce: CP0Vhf
|
|
.. section: Tests
|
|
|
|
regrtest: When ``--fast-ci`` or ``--slow-ci`` option is used, regrtest now
|
|
replaces the current process with a new process to add ``-u -W default -bb
|
|
-E`` options to Python. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-26-00-49-18
|
|
.. gh-issue: 109748
|
|
.. nonce: nxlT1i
|
|
.. section: Tests
|
|
|
|
Fix ``test_zippath_from_non_installed_posix()`` of test_venv: don't copy
|
|
``__pycache__/`` sub-directories, because they can be modified by other
|
|
Python tests running in parallel. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-25-23-59-37
|
|
.. gh-issue: 109739
|
|
.. nonce: MUn7K5
|
|
.. section: Tests
|
|
|
|
regrtest: Fix reference leak check on Windows. Disable the load tracker on
|
|
Windows in the reference leak check mode (-R option). Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-25-14-41-18
|
|
.. gh-issue: 109276
|
|
.. nonce: uC_cWo
|
|
.. section: Tests
|
|
|
|
regrtest: When a test fails with "env changed" and the --rerun option is
|
|
used, the test is now re-run in verbose mode in a fresh process. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-20-02-32-17
|
|
.. gh-issue: 103053
|
|
.. nonce: AoUJuK
|
|
.. section: Tests
|
|
|
|
Skip test_freeze_simple_script() of test_tools.test_freeze if Python is
|
|
built with ``./configure --enable-optimizations``, which means with Profile
|
|
Guided Optimization (PGO): it just makes the test too slow. The freeze tool
|
|
is tested by many other CIs with other (faster) compiler flags. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-19-19-08-22
|
|
.. gh-issue: 109580
|
|
.. nonce: G02Zam
|
|
.. section: Tests
|
|
|
|
Skip ``test_perf_profiler`` if Python is built with ASAN, MSAN or UBSAN
|
|
sanitizer. Python does crash randomly in this test on such build. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-19-13-33-20
|
|
.. gh-issue: 109566
|
|
.. nonce: aX0g9o
|
|
.. section: Tests
|
|
|
|
regrtest: Add ``--fast-ci`` and ``--slow-ci`` options. ``--fast-ci`` uses a
|
|
default timeout of 10 minutes and ``-u all,-cpu`` (skip slowest tests).
|
|
``--slow-ci`` uses a default timeout of 20 minues and ``-u all`` (run all
|
|
tests). Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-14-23-27-40
|
|
.. gh-issue: 109425
|
|
.. nonce: j-uFep
|
|
.. section: Tests
|
|
|
|
libregrtest now decodes stdout of test worker processes with the
|
|
"backslashreplace" error handler to log corrupted stdout, instead of failing
|
|
with an error and not logging the stdout. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-14-22-58-47
|
|
.. gh-issue: 109396
|
|
.. nonce: J1a4jR
|
|
.. section: Tests
|
|
|
|
Fix ``test_socket.test_hmac_sha1()`` in FIPS mode. Use a longer key: FIPS
|
|
mode requires at least of at least 112 bits. The previous key was only 32
|
|
bits. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-13-05-58-09
|
|
.. gh-issue: 104736
|
|
.. nonce: lA25Fu
|
|
.. section: Tests
|
|
|
|
Fix test_gdb on Python built with LLVM clang 16 on Linux ppc64le (ex: Fedora
|
|
38). Search patterns in gdb "bt" command output to detect when gdb fails to
|
|
retrieve the traceback. For example, skip a test if ``Backtrace stopped:
|
|
frame did not save the PC`` is found. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-11-19-11-57
|
|
.. gh-issue: 109276
|
|
.. nonce: qxI4OG
|
|
.. section: Tests
|
|
|
|
libregrtest now calls :func:`random.seed()` before running each test file
|
|
when ``-r/--randomize`` command line option is used. Moreover, it's also
|
|
called in worker processes. It should help to make tests more
|
|
deterministic. Previously, it was only called once in the main process
|
|
before running all test files and it was not called in worker processes.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-11-18-19-52
|
|
.. gh-issue: 109276
|
|
.. nonce: btfFtT
|
|
.. section: Tests
|
|
|
|
libregrtest now uses a separated file descriptor to write test result as
|
|
JSON. Previously, if a test wrote debug messages late around the JSON, the
|
|
main test process failed to parse JSON. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-10-23-05-50
|
|
.. gh-issue: 108996
|
|
.. nonce: tJBru6
|
|
.. section: Tests
|
|
|
|
Fix and enable ``test_msvcrt``.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-10-22-32-20
|
|
.. gh-issue: 109237
|
|
.. nonce: SvgKwD
|
|
.. section: Tests
|
|
|
|
Fix ``test_site.test_underpth_basic()`` when the working directory contains
|
|
at least one non-ASCII character: encode the ``._pth`` file to UTF-8 and
|
|
enable the UTF-8 Mode to use UTF-8 for the child process stdout. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-10-19-59-57
|
|
.. gh-issue: 109230
|
|
.. nonce: SRNLFQ
|
|
.. section: Tests
|
|
|
|
Fix ``test_pyexpat.test_exception()``: it can now be run from a directory
|
|
different than Python source code directory. Before, the test failed in this
|
|
case. Skip the test if Modules/pyexpat.c source is not available. Skip also
|
|
the test on Python implementations other than CPython. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-06-22-06-22
|
|
.. gh-issue: 108996
|
|
.. nonce: IBhR3U
|
|
.. section: Tests
|
|
|
|
Add tests for ``msvcrt``.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-06-18-27-53
|
|
.. gh-issue: 109015
|
|
.. nonce: 1dS1AQ
|
|
.. section: Tests
|
|
|
|
Fix test_asyncio, test_imaplib and test_socket tests on FreeBSD if the TCP
|
|
blackhole is enabled (``sysctl net.inet.tcp.blackhole``). Skip the few tests
|
|
which failed with ``ETIMEDOUT`` which such non standard configuration.
|
|
Currently, the `FreeBSD GCP image enables TCP and UDP blackhole
|
|
<https://reviews.freebsd.org/D41751>`_ (``sysctl net.inet.tcp.blackhole=2``
|
|
and ``sysctl net.inet.udp.blackhole=1``). Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-06-15-36-51
|
|
.. gh-issue: 91960
|
|
.. nonce: P3nD5v
|
|
.. section: Tests
|
|
|
|
Skip ``test_gdb`` if gdb is unable to retrieve Python frame objects: if a
|
|
frame is ``<optimized out>``. When Python is built with "clang -Og", gdb can
|
|
fail to retrive the *frame* parameter of ``_PyEval_EvalFrameDefault()``. In
|
|
this case, tests like ``py_bt()`` are likely to fail. Without getting access
|
|
to Python frames, ``python-gdb.py`` is mostly clueless on retrieving the
|
|
Python traceback. Moreover, ``test_gdb`` is no longer skipped on macOS if
|
|
Python is built with Clang. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-05-23-00-09
|
|
.. gh-issue: 108962
|
|
.. nonce: R4NwuU
|
|
.. section: Tests
|
|
|
|
Skip ``test_tempfile.test_flags()`` if ``chflags()`` fails with "OSError:
|
|
[Errno 45] Operation not supported" (ex: on FreeBSD 13). Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-05-21-42-54
|
|
.. gh-issue: 91960
|
|
.. nonce: abClTs
|
|
.. section: Tests
|
|
|
|
FreeBSD 13.2 CI coverage for pull requests is now provided by Cirrus-CI (a
|
|
hosted CI service that supports Linux, macOS, Windows, and FreeBSD).
|
|
|
|
..
|
|
|
|
.. date: 2023-09-04-15-18-14
|
|
.. gh-issue: 89392
|
|
.. nonce: 8A4T5p
|
|
.. section: Tests
|
|
|
|
Removed support of ``test_main()`` function in tests. They now always use
|
|
normal unittest test runner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-03-21-41-10
|
|
.. gh-issue: 108851
|
|
.. nonce: xFTYOE
|
|
.. section: Tests
|
|
|
|
Fix ``test_tomllib`` recursion tests for WASI buildbots: reduce the
|
|
recursion limit and compute the maximum nested array/dict depending on the
|
|
current available recursion limit. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-03-21-18-35
|
|
.. gh-issue: 108851
|
|
.. nonce: CCuHyI
|
|
.. section: Tests
|
|
|
|
Add ``get_recursion_available()`` and ``get_recursion_depth()`` functions to
|
|
the :mod:`test.support` module. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-03-20-15-49
|
|
.. gh-issue: 108834
|
|
.. nonce: Osvmhf
|
|
.. section: Tests
|
|
|
|
Add ``--fail-rerun option`` option to regrtest: if a test failed when then
|
|
passed when rerun in verbose mode, exit the process with exit code 2
|
|
(error), instead of exit code 0 (success). Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-03-06-17-12
|
|
.. gh-issue: 108834
|
|
.. nonce: fjV-CJ
|
|
.. section: Tests
|
|
|
|
Rename regrtest ``--verbose2`` option (``-w``) to ``--rerun``. Keep
|
|
``--verbose2`` as a deprecated alias. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-03-02-01-55
|
|
.. gh-issue: 108834
|
|
.. nonce: iAwXzj
|
|
.. section: Tests
|
|
|
|
When regrtest reruns failed tests in verbose mode (``./python -m test
|
|
--rerun``), tests are now rerun in fresh worker processes rather than being
|
|
executed in the main process. If a test does crash or is killed by a
|
|
timeout, the main process can detect and handle the killed worker process.
|
|
Tests are rerun in parallel if the ``-jN`` option is used to run tests in
|
|
parallel. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-02-19-06-52
|
|
.. gh-issue: 108822
|
|
.. nonce: arTbBI
|
|
.. section: Tests
|
|
|
|
``regrtest`` now computes statistics on all tests: successes, failures and
|
|
skipped. ``test_netrc``, ``test_pep646_syntax`` and ``test_xml_etree`` now
|
|
return results in their ``test_main()`` function. Patch by Victor Stinner
|
|
and Alex Waygood.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-02-05-13-38
|
|
.. gh-issue: 108794
|
|
.. nonce: tGHXBt
|
|
.. section: Tests
|
|
|
|
The :meth:`doctest.DocTestRunner.run` method now counts the number of
|
|
skipped tests. Add :attr:`doctest.DocTestRunner.skips` and
|
|
:attr:`doctest.TestResults.skipped` attributes. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-24-06-10-36
|
|
.. gh-issue: 108388
|
|
.. nonce: YCVB0D
|
|
.. section: Tests
|
|
|
|
Convert test_concurrent_futures to a package of 7 sub-tests. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-24-04-23-35
|
|
.. gh-issue: 108388
|
|
.. nonce: mr0MeE
|
|
.. section: Tests
|
|
|
|
Split test_multiprocessing_fork, test_multiprocessing_forkserver and
|
|
test_multiprocessing_spawn into test packages. Each package is made of 4
|
|
sub-tests: processes, threads, manager and misc. It allows running more
|
|
tests in parallel and so reduce the total test duration. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-23-04-08-18
|
|
.. gh-issue: 105776
|
|
.. nonce: oE6wp_
|
|
.. section: Tests
|
|
|
|
Fix test_cppext when the C compiler command ``-std=c11`` option: remove
|
|
``-std=`` options from the compiler command. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-05-14-01-07
|
|
.. gh-issue: 107652
|
|
.. nonce: 5OxOlT
|
|
.. section: Tests
|
|
|
|
Set up CIFuzz to run fuzz targets in GitHub Actions. Patch by Illia
|
|
Volochii.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-25-14-36-33
|
|
.. gh-issue: 107237
|
|
.. nonce: y1pY79
|
|
.. section: Tests
|
|
|
|
``test_logging``: Fix ``test_udp_reconnection()`` by increasing the timeout
|
|
from 100 ms to 5 minutes (LONG_TIMEOUT). Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-24-16-56-59
|
|
.. gh-issue: 107178
|
|
.. nonce: Gq1usE
|
|
.. section: Tests
|
|
|
|
Add the C API test for functions in the Mapping Protocol, the Sequence
|
|
Protocol and some functions in the Object Protocol.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-22-13-49-40
|
|
.. gh-issue: 106714
|
|
.. nonce: btYI5S
|
|
.. section: Tests
|
|
|
|
test_capi: Fix test_no_FatalError_infinite_loop() to no longer write a
|
|
coredump, by using test.support.SuppressCrashReport. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-16-02-57-08
|
|
.. gh-issue: 104090
|
|
.. nonce: cKtK7g
|
|
.. section: Tests
|
|
|
|
Avoid creating a reference to the test object in
|
|
:meth:`~unittest.TestResult.collectedDurations`.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-14-16-20-06
|
|
.. gh-issue: 106752
|
|
.. nonce: gd1i6D
|
|
.. section: Tests
|
|
|
|
Moved tests for ``zipfile.Path`` into ``Lib/test/test_zipfile/_path``. Made
|
|
``zipfile._path`` a package.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-12-14-07-07
|
|
.. gh-issue: 106690
|
|
.. nonce: NDz-oG
|
|
.. section: Tests
|
|
|
|
Add .coveragerc to cpython repository for use with coverage package.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-28-02-51-08
|
|
.. gh-issue: 101634
|
|
.. nonce: Rayczr
|
|
.. section: Tests
|
|
|
|
When running the Python test suite with ``-jN`` option, if a worker stdout
|
|
cannot be decoded from the locale encoding report a failed testn so the
|
|
exitcode is non-zero. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-29-14-49-46
|
|
.. gh-issue: 105084
|
|
.. nonce: lvVvoj
|
|
.. section: Tests
|
|
|
|
When the Python build is configured ``--with-wheel-pkg-dir``, tests
|
|
requiring the ``setuptools`` and ``wheel`` wheels will search for the wheels
|
|
in ``WHEEL_PKG_DIR``.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-19-08-06-06
|
|
.. gh-issue: 81005
|
|
.. nonce: -q7m9W
|
|
.. section: Tests
|
|
|
|
String tests are modified to reflect that ``str`` and ``unicode`` are merged
|
|
in Python 3. Patch by Daniel Fortunov.
|
|
|
|
..
|
|
|
|
.. date: 2023-04-05-06-45-20
|
|
.. gh-issue: 103186
|
|
.. nonce: 640Eg-
|
|
.. section: Tests
|
|
|
|
Suppress and assert expected RuntimeWarnings in test_sys_settrace.py
|
|
|
|
..
|
|
|
|
.. date: 2022-06-09-21-27-38
|
|
.. gh-issue: 69714
|
|
.. nonce: 49tyHW
|
|
.. section: Tests
|
|
|
|
Add additional tests to :mod:`calendar` to achieve full test coverage.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-06-02-15-23
|
|
.. gh-issue: 103053
|
|
.. nonce: --7JUF
|
|
.. section: Build
|
|
|
|
"make check-clean-src" now also checks if the "python" program is found in
|
|
the source directory: fail with an error if it does exist. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-05-11-46-20
|
|
.. gh-issue: 109191
|
|
.. nonce: imUkVN
|
|
.. section: Build
|
|
|
|
Fix compile error when building with recent versions of libedit.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-03-17-55-09
|
|
.. gh-issue: 110276
|
|
.. nonce: luaKRg
|
|
.. section: Build
|
|
|
|
No longer ignore :envvar:`PROFILE_TASK` failure silently: command used by
|
|
Profile Guided Optimization (PGO). Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-29-21-01-48
|
|
.. gh-issue: 109566
|
|
.. nonce: _enldb
|
|
.. section: Build
|
|
|
|
Remove ``make testall`` target: use ``make buildbottest`` instead. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-26-16-00-50
|
|
.. gh-issue: 109740
|
|
.. nonce: wboWdQ
|
|
.. section: Build
|
|
|
|
The experimental ``--disable-gil`` configure flag now includes "t" (for
|
|
"threaded") in extension ABI tags.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-07-19-58-05
|
|
.. gh-issue: 109054
|
|
.. nonce: 5r3S3l
|
|
.. section: Build
|
|
|
|
Fix building the ``_testcapi`` extension on Linux AArch64 which requires
|
|
linking to libatomic when ``<cpython/pyatomic.h>`` is used: the
|
|
``_Py_atomic_or_uint64()`` function requires libatomic
|
|
``__atomic_fetch_or_8()`` on this platform. The configure script now checks
|
|
if linking to libatomic is needed and generates a new LIBATOMIC variable
|
|
used to build the _testcapi extension. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-02-18-04-15
|
|
.. gh-issue: 63760
|
|
.. nonce: r8hJ6q
|
|
.. section: Build
|
|
|
|
Fix Solaris build: no longer redefine the ``gethostname()`` function.
|
|
Solaris defines the function since 2005. Patch by Victor Stinner, original
|
|
patch by Jakub Kulík.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-01-01-39-26
|
|
.. gh-issue: 108740
|
|
.. nonce: JHExAQ
|
|
.. section: Build
|
|
|
|
Fix a race condition in ``make regen-all``. The ``deepfreeze.c`` source and
|
|
files generated by Argument Clinic are now generated or updated before
|
|
generating "global objects". Previously, some identifiers may miss depending
|
|
on the order in which these files were generated. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-30-02-52-52
|
|
.. gh-issue: 108634
|
|
.. nonce: 3dpBvf
|
|
.. section: Build
|
|
|
|
Python built with :file:`configure` :option:`--with-trace-refs` (tracing
|
|
references) is now ABI compatible with Python release build and :ref:`debug
|
|
build <debug-build>`. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-29-15-05-09
|
|
.. gh-issue: 85283
|
|
.. nonce: tlK7G7
|
|
.. section: Build
|
|
|
|
The ``_stat`` C extension is now built with the :ref:`limited C API
|
|
<limited-c-api>`. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-24-18-36-31
|
|
.. gh-issue: 108447
|
|
.. nonce: Ofsygr
|
|
.. section: Build
|
|
|
|
Fix x86_64 GNU/Hurd build
|
|
|
|
..
|
|
|
|
.. date: 2023-08-09-17-05-33
|
|
.. gh-issue: 107814
|
|
.. nonce: c0Oapq
|
|
.. section: Build
|
|
|
|
When calling ``find_python.bat`` with ``-q`` it did not properly silence the
|
|
output of nuget. That is now fixed.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-01-17-12-53
|
|
.. gh-issue: 105481
|
|
.. nonce: 42nsDE
|
|
.. section: Build
|
|
|
|
Remove the make target ``regen-opcode-targets``, merge its work into
|
|
``regen-opcode`` which repeats most of the calculation. This simplifies the
|
|
code for the build and reduces code duplication.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-28-18-17-33
|
|
.. gh-issue: 106881
|
|
.. nonce: U3Ezdq
|
|
.. section: Build
|
|
|
|
Check for ``linux/limits.h`` before including it in
|
|
``Modules/posixmodule.c``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-25-02-30-00
|
|
.. gh-issue: 95855
|
|
.. nonce: wA7rAf
|
|
.. section: Build
|
|
|
|
Refactor platform triplet detection code and add detection for MIPS soft
|
|
float and musl libc.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-23-00-38-51
|
|
.. gh-issue: 106962
|
|
.. nonce: VVYrWB
|
|
.. section: Build
|
|
|
|
Detect MPI compilers in :file:`configure`.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-26-21-56-29
|
|
.. gh-issue: 106118
|
|
.. nonce: 0cCfhl
|
|
.. section: Build
|
|
|
|
Fix compilation for platforms without :data:`!O_CLOEXEC`. The issue was
|
|
introduced with Python 3.12b1 in :gh:`103295`. Patch by Erlend Aasland.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-16-23-40-49
|
|
.. gh-issue: 105875
|
|
.. nonce: naj8v5
|
|
.. section: Build
|
|
|
|
SQLite 3.15.2 or newer is required to build the :mod:`sqlite3` extension
|
|
module. Patch by Erlend Aasland.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-06-09-08-10
|
|
.. gh-issue: 90005
|
|
.. nonce: 8mmeJQ
|
|
.. section: Build
|
|
|
|
Fix a regression in :file:`configure` where we could end up unintentionally
|
|
linking with ``libbsd``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-02-19-12-45
|
|
.. gh-issue: 102404
|
|
.. nonce: Ry9piA
|
|
.. section: Build
|
|
|
|
Document how to perform a WASI build on Linux. Also add
|
|
Tools/wasm/build_wasi.sh as a reference implementation of the docs.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-26-15-44-20
|
|
.. gh-issue: 89886
|
|
.. nonce: _iSW-p
|
|
.. section: Build
|
|
|
|
Autoconf 2.71 and aclocal 1.16.4 is now required to regenerate
|
|
:file:`!configure`.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-20-23-49-30
|
|
.. gh-issue: 104692
|
|
.. nonce: s5UIu5
|
|
.. section: Build
|
|
|
|
Include ``commoninstall`` as a prerequisite for ``bininstall``
|
|
|
|
This ensures that ``commoninstall`` is completed before ``bininstall`` is
|
|
started when parallel builds are used (``make -j install``), and so the
|
|
``python3`` symlink is only installed after all standard library modules are
|
|
installed.
|
|
|
|
..
|
|
|
|
.. date: 2023-02-03-21-36-42
|
|
.. gh-issue: 101538
|
|
.. nonce: sF5F6S
|
|
.. section: Build
|
|
|
|
Add experimental wasi-threads support. Patch by Takashi Yamamoto.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-06-14-20-14
|
|
.. gh-issue: 110437
|
|
.. nonce: xpYy9q
|
|
.. section: Windows
|
|
|
|
Allows overriding the source of VC redistributables so that releases can be
|
|
guaranteed to never downgrade between updates.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-05-15-23-23
|
|
.. gh-issue: 109286
|
|
.. nonce: N8OzMg
|
|
.. section: Windows
|
|
|
|
Update Windows installer to use SQLite 3.43.1.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-03-12-30-59
|
|
.. gh-issue: 82367
|
|
.. nonce: nxwfMx
|
|
.. section: Windows
|
|
|
|
:func:`os.path.realpath` now resolves MS-DOS style file names even if the
|
|
file is not accessible. Patch by Moonsik Park.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-28-17-09-23
|
|
.. gh-issue: 109991
|
|
.. nonce: CIMftz
|
|
.. section: Windows
|
|
|
|
Update Windows build to use OpenSSL 3.0.11.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-22-00-36-57
|
|
.. gh-issue: 106242
|
|
.. nonce: q24ITw
|
|
.. section: Windows
|
|
|
|
Fixes :func:`~os.path.realpath` to behave consistently when passed a path
|
|
containing an embedded null character on Windows. In strict mode, it now
|
|
raises :exc:`OSError` instead of the unexpected :exc:`ValueError`, and in
|
|
non-strict mode will make the path absolute.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-18-00-01-21
|
|
.. gh-issue: 83180
|
|
.. nonce: DdLffv
|
|
.. section: Windows
|
|
|
|
Changes the :ref:`launcher` to prefer an active virtual environment when the
|
|
launched script has a shebang line using a Unix-like virtual command, even
|
|
if the command requests a specific version of Python.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-18-13-01-26
|
|
.. gh-issue: 106844
|
|
.. nonce: mci4xO
|
|
.. section: Windows
|
|
|
|
Fix integer overflow and truncating by the null character in
|
|
:func:`!_winapi.LCMapStringEx` which affects :func:`ntpath.normcase`.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-08-11-30-17
|
|
.. gh-issue: 105436
|
|
.. nonce: 1qlDxw
|
|
.. section: Windows
|
|
|
|
Ensure that an empty environment block is terminated by two null characters,
|
|
as is required by Windows.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-31-16-14-31
|
|
.. gh-issue: 105146
|
|
.. nonce: gNjqq8
|
|
.. section: Windows
|
|
|
|
Updated the links at the end of the installer to point to Discourse rather
|
|
than the mailing lists.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-29-17-09-31
|
|
.. gh-issue: 103646
|
|
.. nonce: U8oGQx
|
|
.. section: Windows
|
|
|
|
When installed from the Microsoft Store, ``pip`` no longer defaults to
|
|
per-user installs. However, as the install directory is unwritable, it
|
|
should automatically decide to do a per-user install anyway. This should
|
|
resolve issues when ``pip`` is passed an option that conflicts with
|
|
``--user``.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-29-11-38-53
|
|
.. gh-issue: 88745
|
|
.. nonce: cldf9G
|
|
.. section: Windows
|
|
|
|
Improve performance of :func:`shutil.copy2` by using the operating system's
|
|
``CopyFile2`` function. This may result in subtle changes to metadata copied
|
|
along with some files, bringing them in line with normal OS behavior.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-24-21-00-57
|
|
.. gh-issue: 104820
|
|
.. nonce: ibyrpp
|
|
.. section: Windows
|
|
|
|
Fixes :func:`~os.stat` and related functions on file systems that do not
|
|
support file ID requests. This includes FAT32 and exFAT.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-19-26-28
|
|
.. gh-issue: 104803
|
|
.. nonce: gqxYml
|
|
.. section: Windows
|
|
|
|
Add :func:`os.path.isdevdrive` to detect whether a path is on a Windows Dev
|
|
Drive. Returns ``False`` on platforms that do not support Dev Drive, and is
|
|
absent on non-Windows platforms.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-04-23-38-24
|
|
.. gh-issue: 109286
|
|
.. nonce: 1ZLMaq
|
|
.. section: macOS
|
|
|
|
Update macOS installer to use SQLite 3.43.1.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-27-22-35-22
|
|
.. gh-issue: 109991
|
|
.. nonce: -xJzaF
|
|
.. section: macOS
|
|
|
|
Update macOS installer to use OpenSSL 3.0.11.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-30-23-42-20
|
|
.. gh-issue: 99079
|
|
.. nonce: JAtoh1
|
|
.. section: macOS
|
|
|
|
Update macOS installer to use OpenSSL 3.0.9.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-23-17-19-49
|
|
.. gh-issue: 104719
|
|
.. nonce: rvYXH-
|
|
.. section: IDLE
|
|
|
|
Remove IDLE's modification of tokenize.tabsize and test other uses of
|
|
tokenize data and methods.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-27-23-31-54
|
|
.. gh-issue: 109991
|
|
.. nonce: sUUYY8
|
|
.. section: Tools/Demos
|
|
|
|
Update GitHub CI workflows to use OpenSSL 3.0.11 and multissltests to use
|
|
1.1.1w, 3.0.11, and 3.1.3.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-25-22-40-12
|
|
.. gh-issue: 108494
|
|
.. nonce: 4RbDdu
|
|
.. section: Tools/Demos
|
|
|
|
`Argument Clinic <https://devguide.python.org/development-tools/clinic/>`__
|
|
now has a partial support of the :ref:`Limited API <limited-c-api>`: see
|
|
`documentation in the Python Developer's Guide
|
|
<https://devguide.python.org/development-tools/clinic/#clinic-howto-limited-capi>`__
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-15-19-50-49
|
|
.. gh-issue: 107704
|
|
.. nonce: Uu84vd
|
|
.. section: Tools/Demos
|
|
|
|
It is now possible to deprecate passing keyword arguments for
|
|
keyword-or-positional parameters with Argument Clinic, using the new ``/
|
|
[from X.Y]`` syntax. (To be read as *"positional-only from Python version
|
|
X.Y"*.) See `documentation in the Python Developer's Guide
|
|
<https://devguide.python.org/development-tools/clinic/#clinic-howto-deprecate-keyword>`__
|
|
for more information.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-13-11-18-06
|
|
.. gh-issue: 107880
|
|
.. nonce: gBVVQ7
|
|
.. section: Tools/Demos
|
|
|
|
Argument Clinic can now clone :meth:`!__init__` and :meth:`!__new__`
|
|
methods.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-08-12-21-41
|
|
.. gh-issue: 104683
|
|
.. nonce: DRsAQE
|
|
.. section: Tools/Demos
|
|
|
|
Add ``--exclude`` option to Argument Clinic CLI.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-07-16-30-48
|
|
.. gh-issue: 95065
|
|
.. nonce: -im4R5
|
|
.. section: Tools/Demos
|
|
|
|
Argument Clinic now supports overriding automatically generated signature by
|
|
using directive ``@text_signature``. See `documentation in the Python
|
|
Developer's Guide
|
|
<https://devguide.python.org/development-tools/clinic/#clinic-howto-override-signature>`__
|
|
|
|
..
|
|
|
|
.. date: 2023-08-04-00-04-40
|
|
.. gh-issue: 107609
|
|
.. nonce: 2DqgtL
|
|
.. section: Tools/Demos
|
|
|
|
Fix duplicate module check in Argument Clinic. Previously, a duplicate
|
|
definition would incorrectly be silently accepted. Patch by Erlend E.
|
|
Aasland.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-30-23-32-16
|
|
.. gh-issue: 107467
|
|
.. nonce: 5O9p3G
|
|
.. section: Tools/Demos
|
|
|
|
The Argument Clinic command-line tool now prints to stderr instead of stdout
|
|
on failure.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-21-23-16-05
|
|
.. gh-issue: 106970
|
|
.. nonce: NLRnml
|
|
.. section: Tools/Demos
|
|
|
|
Fix bugs in the Argument Clinic ``destination <name> clear`` command; the
|
|
destination buffers would never be cleared, and the ``destination``
|
|
directive parser would simply continue to the fault handler after processing
|
|
the command. Patch by Erlend E. Aasland.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-13-12-08-35
|
|
.. gh-issue: 106706
|
|
.. nonce: 29zp8E
|
|
.. section: Tools/Demos
|
|
|
|
Change bytecode syntax for families to remove redundant name matching pseudo
|
|
syntax.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-03-14-06-19
|
|
.. gh-issue: 106359
|
|
.. nonce: RfJuR0
|
|
.. section: Tools/Demos
|
|
|
|
Argument Clinic now explicitly forbids "kwarg splats" in function calls used
|
|
as annotations.
|
|
|
|
..
|
|
|
|
.. date: 2023-04-05-07-19-36
|
|
.. gh-issue: 103186
|
|
.. nonce: yEozgK
|
|
.. section: Tools/Demos
|
|
|
|
``freeze`` now fetches ``CONFIG_ARGS`` from the original CPython instance
|
|
the Makefile uses to call utility scripts. Patch by Ijtaba Hussain.
|
|
|
|
..
|
|
|
|
.. date: 2022-07-23-00-33-28
|
|
.. gh-issue: 95065
|
|
.. nonce: NfCCpp
|
|
.. section: Tools/Demos
|
|
|
|
It is now possible to deprecate passing parameters positionally with
|
|
Argument Clinic, using the new ``* [from X.Y]`` syntax. (To be read as
|
|
*"keyword-only from Python version X.Y"*.) See `documentation in the Python
|
|
Developer's Guide
|
|
<https://devguide.python.org/development-tools/clinic/#clinic-howto-deprecate-positional>`__
|
|
for more information. Patch by Erlend E. Aasland with help from Alex
|
|
Waygood, Nikita Sobolev, and Serhiy Storchaka.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-11-17-29-52
|
|
.. gh-issue: 85283
|
|
.. nonce: OsqIBF
|
|
.. section: C API
|
|
|
|
If the :c:macro:`Py_LIMITED_API` macro is defined,
|
|
:c:macro:`!Py_BUILD_CORE`, :c:macro:`!Py_BUILD_CORE_BUILTIN` and
|
|
:c:macro:`!Py_BUILD_CORE_MODULE` macros are now undefined by ``<Python.h>``.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-03-19-01-20
|
|
.. gh-issue: 110289
|
|
.. nonce: YBIHEz
|
|
.. section: C API
|
|
|
|
Add :c:func:`PyUnicode_EqualToUTF8AndSize` and
|
|
:c:func:`PyUnicode_EqualToUTF8` functions.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-03-06-19-10
|
|
.. gh-issue: 110235
|
|
.. nonce: uec5AG
|
|
.. section: C API
|
|
|
|
Raise :exc:`TypeError` for duplicate/unknown fields in ``PyStructSequence``
|
|
constructor. Patched by Xuehai Pan.
|
|
|
|
..
|
|
|
|
.. date: 2023-10-02-13-39-57
|
|
.. gh-issue: 110014
|
|
.. nonce: gfQ4jU
|
|
.. section: C API
|
|
|
|
Remove undocumented ``PY_TIMEOUT_MAX`` constant from the limited C API.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-17-21-47-31
|
|
.. gh-issue: 109521
|
|
.. nonce: JDF6i9
|
|
.. section: C API
|
|
|
|
:c:func:`PyImport_GetImporter` now sets RuntimeError if it fails to get
|
|
:data:`sys.path_hooks` or :data:`sys.path_importer_cache` or they are not
|
|
list and dict correspondingly. Previously it could return NULL without
|
|
setting error in obscure cases, crash or raise SystemError if these
|
|
attributes have wrong type.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-12-13-09-36
|
|
.. gh-issue: 108724
|
|
.. nonce: -yMsC8
|
|
.. section: C API
|
|
|
|
Add :c:type:`PyMutex` internal-only lightweight locking API.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-06-00-14-49
|
|
.. gh-issue: 85283
|
|
.. nonce: GKY0Cc
|
|
.. section: C API
|
|
|
|
Add :c:func:`PySys_AuditTuple` function: similar to :c:func:`PySys_Audit`,
|
|
but pass event arguments as a Python :class:`tuple` object. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-04-11-47-12
|
|
.. gh-issue: 108867
|
|
.. nonce: Cr_LKd
|
|
.. section: C API
|
|
|
|
Add :c:func:`PyThreadState_GetUnchecked()` function: similar to
|
|
:c:func:`PyThreadState_Get()`, but don't kill the process with a fatal error
|
|
if it is NULL. The caller is responsible to check if the result is NULL.
|
|
Previously, the function was private and known as
|
|
``_PyThreadState_UncheckedGet()``. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-02-22-35-55
|
|
.. gh-issue: 108765
|
|
.. nonce: 4TOdBT
|
|
.. section: C API
|
|
|
|
``Python.h`` no longer includes the ``<ctype.h>`` standard header file. If
|
|
needed, it should now be included explicitly. For example, it provides
|
|
``isalpha()`` and ``tolower()`` functions which are locale dependent. Python
|
|
provides locale independent functions, like :c:func:`!Py_ISALPHA` and
|
|
:c:func:`!Py_TOLOWER`. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-01-21-10-29
|
|
.. gh-issue: 108765
|
|
.. nonce: eeXtYF
|
|
.. section: C API
|
|
|
|
``Python.h`` no longer includes the ``<unistd.h>`` standard header file. If
|
|
needed, it should now be included explicitly. For example, it provides the
|
|
functions: ``close()``, ``getpagesize()``, ``getpid()`` and ``sysconf()``.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-01-20-41-49
|
|
.. gh-issue: 108765
|
|
.. nonce: 5dXc1r
|
|
.. section: C API
|
|
|
|
``Python.h`` no longer includes the ``<ieeefp.h>`` standard header. It was
|
|
included for the ``finite()`` function which is now provided by the
|
|
``<math.h>`` header. It should now be included explicitly if needed. Remove
|
|
also the ``HAVE_IEEEFP_H`` macro. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-01-18-42-31
|
|
.. gh-issue: 108765
|
|
.. nonce: IyYNDu
|
|
.. section: C API
|
|
|
|
``Python.h`` no longer includes these standard header files: ``<time.h>``,
|
|
``<sys/select.h>`` and ``<sys/time.h>``. If needed, they should now be
|
|
included explicitly. For example, ``<time.h>`` provides the ``clock()`` and
|
|
``gmtime()`` functions, ``<sys/select.h>`` provides the ``select()``
|
|
function, and ``<sys/time.h>`` provides the ``futimes()``,
|
|
``gettimeofday()`` and ``setitimer()`` functions. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-01-16-28-09
|
|
.. gh-issue: 108511
|
|
.. nonce: gg-QDG
|
|
.. section: C API
|
|
|
|
Add functions :c:func:`PyObject_HasAttrWithError`,
|
|
:c:func:`PyObject_HasAttrStringWithError`,
|
|
:c:func:`PyMapping_HasKeyWithError` and
|
|
:c:func:`PyMapping_HasKeyStringWithError`.
|
|
|
|
..
|
|
|
|
.. date: 2023-09-01-15-35-05
|
|
.. gh-issue: 107073
|
|
.. nonce: zCz0iN
|
|
.. section: C API
|
|
|
|
Add :c:func:`PyObject_VisitManagedDict` and
|
|
:c:func:`PyObject_ClearManagedDict` functions which must be called by the
|
|
traverse and clear functions of a type using
|
|
:c:macro:`Py_TPFLAGS_MANAGED_DICT` flag. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-30-02-54-06
|
|
.. gh-issue: 108634
|
|
.. nonce: oV3Xzk
|
|
.. section: C API
|
|
|
|
Python built with :file:`configure` :option:`--with-trace-refs` (tracing
|
|
references) now supports the :ref:`Limited API <limited-c-api>`. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-24-20-08-02
|
|
.. gh-issue: 108014
|
|
.. nonce: 20DOSS
|
|
.. section: C API
|
|
|
|
Add :c:func:`PyLong_AsInt` function: similar to :c:func:`PyLong_AsLong`, but
|
|
store the result in a C :c:expr:`int` instead of a C :c:expr:`long`.
|
|
Previously, it was known as the private function :c:func:`!_PyLong_AsInt`
|
|
(with an underscore prefix). Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-22-18-45-20
|
|
.. gh-issue: 108314
|
|
.. nonce: nOlmwq
|
|
.. section: C API
|
|
|
|
Add :c:func:`PyDict_ContainsString` function: same as
|
|
:c:func:`PyDict_Contains`, but *key* is specified as a :c:expr:`const char*`
|
|
UTF-8 encoded bytes string, rather than a :c:expr:`PyObject*`. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-22-13-00-54
|
|
.. gh-issue: 108337
|
|
.. nonce: wceHZm
|
|
.. section: C API
|
|
|
|
Add atomic operations on additional data types in pyatomic.h.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-16-17-16-19
|
|
.. gh-issue: 108014
|
|
.. nonce: wXN3CF
|
|
.. section: C API
|
|
|
|
Add :c:func:`Py_IsFinalizing` function: check if the main Python interpreter
|
|
is :term:`shutting down <interpreter shutdown>`. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-14-10-59-03
|
|
.. gh-issue: 107916
|
|
.. nonce: KH4Muo
|
|
.. section: C API
|
|
|
|
C API functions :c:func:`PyErr_SetFromErrnoWithFilename`,
|
|
:c:func:`PyErr_SetExcFromWindowsErrWithFilename` and
|
|
:c:func:`PyErr_SetFromWindowsErrWithFilename` save now the error code before
|
|
calling :c:func:`PyUnicode_DecodeFSDefault`.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-13-12-33-00
|
|
.. gh-issue: 107915
|
|
.. nonce: jQ0wOi
|
|
.. section: C API
|
|
|
|
Such C API functions as ``PyErr_SetString()``, ``PyErr_Format()``,
|
|
``PyErr_SetFromErrnoWithFilename()`` and many others no longer crash or
|
|
ignore errors if it failed to format the error message or decode the
|
|
filename. Instead, they keep a corresponding error.
|
|
|
|
..
|
|
|
|
.. date: 2023-08-10-11-12-25
|
|
.. gh-issue: 107810
|
|
.. nonce: oJ40Qx
|
|
.. section: C API
|
|
|
|
Improve :exc:`DeprecationWarning` for uses of :c:type:`PyType_Spec` with
|
|
metaclasses that have custom ``tp_new``.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-25-17-23-08
|
|
.. gh-issue: 107249
|
|
.. nonce: xqk2ke
|
|
.. section: C API
|
|
|
|
Implement the :c:macro:`Py_UNUSED` macro for Windows MSVC compiler. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-25-13-41-09
|
|
.. gh-issue: 107226
|
|
.. nonce: N919zH
|
|
.. section: C API
|
|
|
|
:c:func:`PyModule_AddObjectRef` is now only available in the limited API
|
|
version 3.10 or later.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-22-14-40-48
|
|
.. gh-issue: 106320
|
|
.. nonce: H3u7x4
|
|
.. section: C API
|
|
|
|
Remove private ``_PyUnicode_AsString()`` alias to
|
|
:c:func:`PyUnicode_AsUTF8`. It was kept for backward compatibility with
|
|
Python 3.0 - 3.2. The :c:func:`PyUnicode_AsUTF8` is available since Python
|
|
3.3. The :c:func:`PyUnicode_AsUTF8String` function can be used to keep
|
|
compatibility with Python 3.2 and older. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-11-01-07-39
|
|
.. gh-issue: 106572
|
|
.. nonce: y1b35X
|
|
.. section: C API
|
|
|
|
Convert :c:func:`PyObject_DelAttr` and :c:func:`PyObject_DelAttrString`
|
|
macros to functions. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-08-12-24-17
|
|
.. gh-issue: 106307
|
|
.. nonce: FVnkBw
|
|
.. section: C API
|
|
|
|
Add :c:func:`PyMapping_GetOptionalItem` function.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-07-19-14-00
|
|
.. gh-issue: 106521
|
|
.. nonce: Veh9f3
|
|
.. section: C API
|
|
|
|
Add :c:func:`PyObject_GetOptionalAttr` and
|
|
:c:func:`PyObject_GetOptionalAttrString` functions.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-02-00-00-20
|
|
.. gh-issue: 106320
|
|
.. nonce: tZWcvG
|
|
.. section: C API
|
|
|
|
Remove ``_PyInterpreterState_Get()`` alias to
|
|
:c:func:`PyInterpreterState_Get()` which was kept for backward compatibility
|
|
with Python 3.8. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-07-01-21-23-33
|
|
.. gh-issue: 106316
|
|
.. nonce: hp2Ijw
|
|
.. section: C API
|
|
|
|
Remove ``cpython/pytime.h`` header file: it only contained private
|
|
functions. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-30-09-33-25
|
|
.. gh-issue: 106023
|
|
.. nonce: YvYiE4
|
|
.. section: C API
|
|
|
|
Remove private ``_PyObject_FastCall()`` function: use
|
|
``PyObject_Vectorcall()`` which is available since Python 3.8 (:pep:`590`).
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-28-02-30-50
|
|
.. gh-issue: 106168
|
|
.. nonce: NFOZPv
|
|
.. section: C API
|
|
|
|
If Python is built in :ref:`debug mode <debug-build>` or :option:`with
|
|
assertions <--with-assertions>`, :c:func:`PyTuple_SET_ITEM` and
|
|
:c:func:`PyList_SET_ITEM` now check the index argument with an assertion. If
|
|
the assertion fails, make sure that the size is set before. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-25-18-01-27
|
|
.. gh-issue: 106084
|
|
.. nonce: PEzqU3
|
|
.. section: C API
|
|
|
|
Remove the old aliases to functions calling functions which were kept for
|
|
backward compatibility with Python 3.8 provisional API:
|
|
|
|
* ``_PyObject_CallMethodNoArgs()``: use ``PyObject_CallMethodNoArgs()``
|
|
* ``_PyObject_CallMethodOneArg()``: use ``PyObject_CallMethodOneArg()``
|
|
* ``_PyObject_CallOneArg()``: use ``PyObject_CallOneArg()``
|
|
* ``_PyObject_FastCallDict()``: use ``PyObject_VectorcallDict()``
|
|
* ``_PyObject_Vectorcall()``: use ``PyObject_Vectorcall()``
|
|
* ``_PyObject_VectorcallMethod()``: use ``PyObject_VectorcallMethod()``
|
|
* ``_PyVectorcall_Function()``: use ``PyVectorcall_Function()``
|
|
|
|
Just remove the underscore prefix to update your code. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-23-02-57-15
|
|
.. gh-issue: 106004
|
|
.. nonce: -OToh6
|
|
.. section: C API
|
|
|
|
Adds :c:func:`PyDict_GetItemRef` and :c:func:`PyDict_GetItemStringRef`
|
|
functions: similar to :c:func:`PyDict_GetItemWithError` but returning a
|
|
:term:`strong reference` instead of a :term:`borrowed reference`. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-22-00-25-55
|
|
.. gh-issue: 105927
|
|
.. nonce: GRxZtI
|
|
.. section: C API
|
|
|
|
Deprecate the :c:func:`PyWeakref_GetObject` and
|
|
:c:func:`PyWeakref_GET_OBJECT` functions: use the new
|
|
:c:func:`PyWeakref_GetRef` function instead. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-20-08-59-05
|
|
.. gh-issue: 105927
|
|
.. nonce: DfGeEA
|
|
.. section: C API
|
|
|
|
Add :c:func:`PyWeakref_GetRef` function: similar to
|
|
:c:func:`PyWeakref_GetObject` but returns a :term:`strong reference`, or
|
|
``NULL`` if the referent is no longer live. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-19-20-02-16
|
|
.. gh-issue: 105922
|
|
.. nonce: o4T6wO
|
|
.. section: C API
|
|
|
|
Add :c:func:`PyImport_AddModuleRef`: similar to
|
|
:c:func:`PyImport_AddModule`, but return a :term:`strong reference` instead
|
|
of a :term:`borrowed reference`. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-13-14-24-55
|
|
.. gh-issue: 105227
|
|
.. nonce: HDL9aF
|
|
.. section: C API
|
|
|
|
The new :c:func:`PyType_GetDict` provides the dictionary for the given type
|
|
object that is normally exposed by ``cls.__dict__``. Normally it's
|
|
sufficient to use :c:member:`~PyTypeObject.tp_dict`, but for the static
|
|
builtin types :c:member:`!tp_dict` is now always ``NULL``.
|
|
:c:func:`!PyType_GetDict()` provides the correct dict object instead.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-23-34-25
|
|
.. gh-issue: 105375
|
|
.. nonce: n7amiF
|
|
.. section: C API
|
|
|
|
Fix a bug in :c:func:`PyErr_WarnExplicit` where an exception could end up
|
|
being overwritten if the API failed internally.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-19-16-57
|
|
.. gh-issue: 105603
|
|
.. nonce: -z6G22
|
|
.. section: C API
|
|
|
|
We've renamed the new (in 3.12) ``PyInterpreterConfig.own_gil`` to
|
|
``PyInterpreterConfig.gil`` and changed the meaning of the value from "bool"
|
|
to an integer with supported values of ``PyInterpreterConfig_DEFAULT_GIL``,
|
|
``PyInterpreterConfig_SHARED_GIL``, and ``PyInterpreterConfig_OWN_GIL``. The
|
|
default is "shared".
|
|
|
|
..
|
|
|
|
.. date: 2023-06-09-12-35-55
|
|
.. gh-issue: 105387
|
|
.. nonce: wM_oL-
|
|
.. section: C API
|
|
|
|
In the limited C API version 3.12, :c:func:`Py_INCREF` and
|
|
:c:func:`Py_DECREF` functions are now implemented as opaque function calls
|
|
to hide implementation details. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-06-17-43-28
|
|
.. gh-issue: 105396
|
|
.. nonce: FQJG5B
|
|
.. section: C API
|
|
|
|
Deprecate the :c:func:`PyImport_ImportModuleNoBlock` function which is just
|
|
an alias to :c:func:`PyImport_ImportModule` since Python 3.3. Patch by
|
|
Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-06-14-14-41
|
|
.. gh-issue: 103968
|
|
.. nonce: BTO6II
|
|
.. section: C API
|
|
|
|
:c:func:`PyType_FromMetaclass` now allows metaclasses with ``tp_new`` set to
|
|
``NULL``.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-06-10-57-18
|
|
.. gh-issue: 105268
|
|
.. nonce: OTJUko
|
|
.. section: C API
|
|
|
|
Remove the old private, undocumented and untested ``_PyGC_FINALIZED()``
|
|
macro which was kept for backward compatibility with Python 3.8 and older.
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-01-11-24-03
|
|
.. gh-issue: 105182
|
|
.. nonce: l5sCw4
|
|
.. section: C API
|
|
|
|
Remove ``PyEval_AcquireLock()`` and ``PyEval_ReleaseLock()`` functions,
|
|
deprecated in Python 3.2. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-01-11-23-28
|
|
.. gh-issue: 105182
|
|
.. nonce: kLEHl-
|
|
.. section: C API
|
|
|
|
Remove ``PyEval_InitThreads()`` and ``PyEval_ThreadsInitialized()``
|
|
functions, deprecated in Python 3.9. Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-06-01-09-40-30
|
|
.. gh-issue: 105145
|
|
.. nonce: WOOE-w
|
|
.. section: C API
|
|
|
|
Deprecate old Python initialization functions:
|
|
|
|
* :c:func:`PySys_ResetWarnOptions`
|
|
* :c:func:`Py_GetExecPrefix`
|
|
* :c:func:`Py_GetPath`
|
|
* :c:func:`Py_GetPrefix`
|
|
* :c:func:`Py_GetProgramFullPath`
|
|
* :c:func:`Py_GetProgramName`
|
|
* :c:func:`Py_GetPythonHome`
|
|
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-31-19-38-45
|
|
.. gh-issue: 85275
|
|
.. nonce: doojgE
|
|
.. section: C API
|
|
|
|
``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``,
|
|
``PyObject_CheckReadBuffer()``, and ``PyObject_AsWriteBuffer()`` are
|
|
removed. Please migrate to new buffer protocol; :c:func:`PyObject_GetBuffer`
|
|
and :c:func:`PyBuffer_Release`.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-31-18-37-57
|
|
.. gh-issue: 105156
|
|
.. nonce: R4El5V
|
|
.. section: C API
|
|
|
|
Deprecate the old ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` types: use directly
|
|
the :c:type:`wchar_t` type instead. Since Python 3.3, ``Py_UNICODE`` and
|
|
``PY_UNICODE_TYPE`` are just aliases to :c:type:`wchar_t`. Patch by Victor
|
|
Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-31-16-51-18
|
|
.. gh-issue: 105145
|
|
.. nonce: b3B6lJ
|
|
.. section: C API
|
|
|
|
Remove the following old functions to configure the Python initialization,
|
|
deprecated in Python 3.11:
|
|
|
|
* ``PySys_AddWarnOptionUnicode()``
|
|
* ``PySys_AddWarnOption()``
|
|
* ``PySys_AddXOption()``
|
|
* ``PySys_HasWarnOptions()``
|
|
* ``PySys_SetArgvEx()``
|
|
* ``PySys_SetArgv()``
|
|
* ``PySys_SetPath()``
|
|
* ``Py_SetPath()``
|
|
* ``Py_SetProgramName()``
|
|
* ``Py_SetPythonHome()``
|
|
* ``Py_SetStandardStreamEncoding()``
|
|
* ``_Py_SetProgramFullPath()``
|
|
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-30-19-11-09
|
|
.. gh-issue: 105107
|
|
.. nonce: YQwMnm
|
|
.. section: C API
|
|
|
|
Remove functions deprecated in Python 3.9.
|
|
|
|
* ``PyEval_CallObject()``, ``PyEval_CallObjectWithKeywords()``: use
|
|
:c:func:`PyObject_CallNoArgs` and :c:func:`PyObject_Call` (positional
|
|
arguments must not be *NULL*) instead.
|
|
* ``PyEval_CallFunction()``: use :c:func:`PyObject_CallFunction` instead.
|
|
* ``PyEval_CallMethod()``: use :c:func:`PyObject_CallMethod` instead.
|
|
* ``PyCFunction_Call()``: use :c:func:`PyObject_Call` instead.
|
|
|
|
Patch by Victor Stinner.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-30-17-45-32
|
|
.. gh-issue: 105115
|
|
.. nonce: iRho1K
|
|
.. section: C API
|
|
|
|
``PyTypeObject.tp_bases`` (and ``tp_mro``) for builtin static types are now
|
|
shared by all interpreters, whereas in 3.12-beta1 they were stored on
|
|
``PyInterpreterState``. Also note that now the tuples are immortal objects.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-30-10-15-13
|
|
.. gh-issue: 105071
|
|
.. nonce: dPtp7c
|
|
.. section: C API
|
|
|
|
Add ``PyUnstable_Exc_PrepReraiseStar`` to the unstable C api to expose the
|
|
implementation of :keyword:`except* <except_star>`.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-29-16-09-27
|
|
.. gh-issue: 104922
|
|
.. nonce: L23qaU
|
|
.. section: C API
|
|
|
|
``PY_SSIZE_T_CLEAN`` is no longer required to use ``'#'`` formats in APIs
|
|
like :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue`. They uses
|
|
``Py_ssize_t`` for ``'#'`` regardless ``PY_SSIZE_T_CLEAN``.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-25-15-44-48
|
|
.. gh-issue: 104584
|
|
.. nonce: cSAoRh
|
|
.. section: C API
|
|
|
|
Add an unstable C API for hooking in an optimizer. This is mainly internal,
|
|
but marked "unstable" to allow third-party experimentation.
|
|
|
|
..
|
|
|
|
.. date: 2023-05-19-10-22-34
|
|
.. gh-issue: 104668
|
|
.. nonce: MLX1g9
|
|
.. section: C API
|
|
|
|
Don't call :c:var:`PyOS_InputHook` or :c:var:`PyOS_ReadlineFunctionPointer`
|
|
in subinterpreters, since it's generally difficult to avoid using global
|
|
state in their registered callbacks. This also avoids situations where
|
|
extensions may find themselves running in a subinterpreter they don't
|
|
support (or haven't yet been loaded in).
|
|
|
|
..
|
|
|
|
.. bpo: 42327
|
|
.. date: 2020-11-11-22-36-29
|
|
.. nonce: ODSZBM
|
|
.. section: C API
|
|
|
|
Add :c:func:`PyModule_Add` function: similar to
|
|
:c:func:`PyModule_AddObjectRef` and :c:func:`PyModule_AddObject`, but always
|
|
steals a reference to the value.
|
|
|
|
..
|
|
|
|
.. bpo: 40309
|
|
.. date: 2020-06-25-09-44-59
|
|
.. nonce: CuoGoQ
|
|
.. section: C API
|
|
|
|
Properly handle trailing spaces before closing parenthesis in
|
|
:c:func:`Py_BuildValue` format strings.
|