Misc/NEWS.d/3.13.0a1.rst
.. 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 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 across 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
interpreter 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 handling callbacks.
..
.. date: 2023-07-26-18-53-34 .. gh-issue: 106895 .. nonce: DdEwV8 .. section: Core and Builtins
Raise a ValueError when a monitoring callback function 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
possibility 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 initializing 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:
object.__new__)__init__)__init__ to the frame stackSpeeds 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 always
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 overwriting 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 catches
: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:
~sqlite3.Connection.set_authorizer~sqlite3.Connection.set_progress_handler~sqlite3.Connection.set_trace_callbackThe 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:
~sqlite3.Connection.create_function~sqlite3.Connection.create_aggregateThe 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 appropriate 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
implementation.
..
.. 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 always 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 :func:pydoc.doc catch bad module :exc: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 appending 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:
!unittest.findTestCases!unittest.makeSuite!unittest.getTestCaseNamesUse :class:~unittest.TestLoader methods instead:
unittest.TestLoader.loadTestsFromModuleunittest.TestLoader.loadTestsFromTestCaseunittest.TestLoader.getTestCaseNamesPatch 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 abstractions 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 or 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 minutes 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 retrieve 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:
!PySys_ResetWarnOptions!Py_GetExecPrefix!Py_GetPath!Py_GetPrefix!Py_GetProgramFullPath!Py_GetProgramName!Py_GetPythonHomePatch 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.