| .. date: 2023-08-22-17-39-12 |
| .. gh-issue: 108310 |
| .. nonce: fVM3sg |
| .. release date: 2023-10-13 |
| .. section: Security |
| |
| Fixed an issue where instances of :class:`ssl.SSLSocket` were vulnerable to |
| a bypass of the TLS handshake and included protections (like certificate |
| verification) and treating sent unencrypted data as if it were |
| post-handshake TLS encrypted data. Security issue reported as |
| :cve:`2023-40217` by Aapo Oksman. Patch by Gregory P. Smith. |
| |
| .. |
| |
| .. date: 2023-08-05-03-51-05 |
| .. gh-issue: 107774 |
| .. nonce: VPjaTR |
| .. section: Security |
| |
| PEP 669 specifies that ``sys.monitoring.register_callback`` will generate an |
| audit event. Pre-releases of Python 3.12 did not generate the audit event. |
| This is now fixed. |
| |
| .. |
| |
| .. date: 2023-06-13-20-52-24 |
| .. gh-issue: 102988 |
| .. nonce: Kei7Vf |
| .. section: Security |
| |
| Reverted the :mod:`email.utils` security improvement change released in |
| 3.12beta4 that unintentionally caused :mod:`email.utils.getaddresses` to |
| fail to parse email addresses with a comma in the quoted name field. See |
| :gh:`106669`. |
| |
| .. |
| |
| .. date: 2023-05-24-09-29-08 |
| .. gh-issue: 99108 |
| .. nonce: hwS2cr |
| .. section: Security |
| |
| Refresh our new HACL* built-in :mod:`hashlib` code from upstream. Built-in |
| SHA2 should be faster and an issue with SHA3 on 32-bit platforms is fixed. |
| |
| .. |
| |
| .. date: 2023-03-07-21-46-29 |
| .. gh-issue: 102509 |
| .. nonce: 5ouaH_ |
| .. section: Security |
| |
| Start initializing ``ob_digit`` during creation of :c:type:`PyLongObject` |
| objects. Patch by Illia Volochii. |
| |
| .. |
| |
| .. date: 2023-10-12-15-03-24 |
| .. gh-issue: 110782 |
| .. nonce: EqzIzi |
| .. section: Core and Builtins |
| |
| Fix crash when :class:`typing.TypeVar` is constructed with a keyword |
| argument. Patch by Jelle Zijlstra. |
| |
| .. |
| |
| .. date: 2023-10-12-06-32-25 |
| .. gh-issue: 110752 |
| .. nonce: FYfI0h |
| .. section: Core and Builtins |
| |
| Reset ``ceval.eval_breaker`` in :func:`interpreter_clear` |
| |
| .. |
| |
| .. date: 2023-10-11-16-56-54 |
| .. gh-issue: 110721 |
| .. nonce: afcSsH |
| .. section: Core and Builtins |
| |
| Use the :mod:`traceback` implementation for the default |
| :c:func:`PyErr_Display` functionality. Patch by Pablo Galindo |
| |
| .. |
| |
| .. date: 2023-10-11-13-46-14 |
| .. gh-issue: 110696 |
| .. nonce: J9kSzr |
| .. section: Core and Builtins |
| |
| Fix incorrect error message for invalid argument unpacking. Patch by Pablo |
| Galindo |
| |
| .. |
| |
| .. date: 2023-10-11-12-48-03 |
| .. gh-issue: 104169 |
| .. nonce: bPoX8u |
| .. section: Core and Builtins |
| |
| Split the tokenizer into two separate directories: - One part includes the |
| actual lexeme producing logic and lives in ``Parser/lexer``. - The second |
| part wraps the lexer according to the different tokenization modes we have |
| (string, utf-8, file, interactive, readline) and lives in |
| ``Parser/tokenizer``. |
| |
| .. |
| |
| .. date: 2023-10-11-11-39-22 |
| .. gh-issue: 110688 |
| .. nonce: lB6Q7t |
| .. section: Core and Builtins |
| |
| Remove undocumented ``test_c_api`` method from :class:`set`, which was only |
| defined for testing purposes under ``Py_DEBUG``. Now we have proper CAPI |
| tests. |
| |
| .. |
| |
| .. date: 2023-10-10-00-49-35 |
| .. gh-issue: 104584 |
| .. nonce: z94TuJ |
| .. section: Core and Builtins |
| |
| Fix a reference leak when running with :envvar:`PYTHONUOPS` or :option:`-X |
| uops <-X>` enabled. |
| |
| .. |
| |
| .. date: 2023-10-08-20-08-54 |
| .. gh-issue: 110514 |
| .. nonce: Q9bdRU |
| .. section: Core and Builtins |
| |
| Add ``PY_THROW`` to :func:`sys.setprofile` events |
| |
| .. |
| |
| .. date: 2023-10-06-22-30-25 |
| .. gh-issue: 110489 |
| .. nonce: rI2n8A |
| .. section: Core and Builtins |
| |
| Optimise :func:`math.ceil` when the input is exactly a float, resulting in |
| about a 10% improvement. |
| |
| .. |
| |
| .. date: 2023-10-06-12-00-43 |
| .. gh-issue: 110455 |
| .. nonce: 8BjNGg |
| .. section: Core and Builtins |
| |
| Guard ``assert(tstate->thread_id > 0)`` with ``#ifndef HAVE_PTHREAD_STUBS``. |
| This allows for for pydebug builds to work under WASI which (currently) |
| lacks thread support. |
| |
| .. |
| |
| .. date: 2023-10-03-23-26-18 |
| .. gh-issue: 110309 |
| .. nonce: Y8nDOF |
| .. section: Core and Builtins |
| |
| Remove unnecessary empty constant nodes in the ast of f-string specs. |
| |
| .. |
| |
| .. date: 2023-10-03-11-43-48 |
| .. gh-issue: 110259 |
| .. nonce: ka93x5 |
| .. section: Core and Builtins |
| |
| Correctly identify the format spec in f-strings (with single or triple |
| quotes) that have multiple lines in the expression part and include a |
| formatting spec. Patch by Pablo Galindo |
| |
| .. |
| |
| .. date: 2023-10-02-23-17-08 |
| .. gh-issue: 110237 |
| .. nonce: _Xub0z |
| .. section: Core and Builtins |
| |
| Fix missing error checks for calls to ``PyList_Append`` in |
| ``_PyEval_MatchClass``. |
| |
| .. |
| |
| .. date: 2023-10-01-02-58-00 |
| .. gh-issue: 110164 |
| .. nonce: z7TMCq |
| .. section: Core and Builtins |
| |
| regrtest: If the ``SOURCE_DATE_EPOCH`` environment variable is defined, |
| regrtest now disables tests randomization. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-09-27-21-35-49 |
| .. gh-issue: 109889 |
| .. nonce: t5hIRT |
| .. section: Core and Builtins |
| |
| Fix the compiler's redundant NOP detection algorithm to skip over NOPs with |
| no line number when looking for the next instruction's lineno. |
| |
| .. |
| |
| .. date: 2023-09-27-18-01-06 |
| .. gh-issue: 109853 |
| .. nonce: coQQiL |
| .. section: Core and Builtins |
| |
| ``sys.path[0]`` is now set correctly for subinterpreters. |
| |
| .. |
| |
| .. date: 2023-09-26-21-26-54 |
| .. gh-issue: 109923 |
| .. nonce: WO3CHi |
| .. section: Core and Builtins |
| |
| Set line number on the ``POP_TOP`` that follows a ``RETURN_GENERATOR``. |
| |
| .. |
| |
| .. date: 2023-09-26-14-00-25 |
| .. gh-issue: 105716 |
| .. nonce: SUJkW1 |
| .. section: Core and Builtins |
| |
| Subinterpreters now correctly handle the case where they have threads |
| running in the background. Before, such threads would interfere with |
| cleaning up and destroying them, as well as prevent running another script. |
| |
| .. |
| |
| .. date: 2023-09-26-03-46-55 |
| .. gh-issue: 109369 |
| .. nonce: OJbxbF |
| .. section: Core and Builtins |
| |
| The internal eval_breaker and supporting flags, plus the monitoring version |
| have been merged into a single atomic integer to speed up checks. |
| |
| .. |
| |
| .. date: 2023-09-25-14-28-14 |
| .. gh-issue: 109823 |
| .. nonce: kbVTKF |
| .. section: Core and Builtins |
| |
| Fix bug where compiler does not adjust labels when removing an empty basic |
| block which is a jump target. |
| |
| .. |
| |
| .. date: 2023-09-25-09-24-10 |
| .. gh-issue: 109793 |
| .. nonce: zFQBkv |
| .. section: Core and Builtins |
| |
| The main thread no longer exits prematurely when a subinterpreter is cleaned |
| up during runtime finalization. The bug was a problem particularly because, |
| when triggered, the Python process would always return with a 0 exitcode, |
| even if it failed. |
| |
| .. |
| |
| .. date: 2023-09-22-13-38-17 |
| .. gh-issue: 109719 |
| .. nonce: fx5OTz |
| .. section: Core and Builtins |
| |
| Fix missing jump target labels when compiler reorders cold/warm blocks. |
| |
| .. |
| |
| .. date: 2023-09-22-01-44-53 |
| .. gh-issue: 109595 |
| .. nonce: fVINgD |
| .. section: Core and Builtins |
| |
| Add :option:`-X cpu_count <-X>` command line option to override return |
| results of :func:`os.cpu_count` and :func:`os.process_cpu_count`. This |
| option is useful for users who need to limit CPU resources of a container |
| system without having to modify the container (application code). Patch by |
| Donghee Na. |
| |
| .. |
| |
| .. date: 2023-09-20-23-04-15 |
| .. gh-issue: 109627 |
| .. nonce: xxe7De |
| .. section: Core and Builtins |
| |
| Fix bug where the compiler does not assign a new jump target label to a |
| duplicated small exit block. |
| |
| .. |
| |
| .. date: 2023-09-20-13-18-08 |
| .. gh-issue: 109596 |
| .. nonce: RG0K2G |
| .. section: Core and Builtins |
| |
| Fix some tokens in the grammar that were incorrectly marked as soft |
| keywords. Also fix some repeated rule names and ensure that repeated rules |
| are not allowed. Patch by Pablo Galindo |
| |
| .. |
| |
| .. date: 2023-09-18-15-35-08 |
| .. gh-issue: 109496 |
| .. nonce: Kleoz3 |
| .. section: Core and Builtins |
| |
| On a Python built in debug mode, :c:func:`Py_DECREF()` now calls |
| ``_Py_NegativeRefcount()`` if the object is a dangling pointer to |
| deallocated memory: memory filled with ``0xDD`` "dead byte" by the debug |
| hook on memory allocators. The fix is to check the reference count *before* |
| checking for ``_Py_IsImmortal()``. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-09-14-20-15-57 |
| .. gh-issue: 107265 |
| .. nonce: qHZL_6 |
| .. section: Core and Builtins |
| |
| Deopt opcodes hidden by the executor when base opcode is needed |
| |
| .. |
| |
| .. date: 2023-09-13-21-04-04 |
| .. gh-issue: 109371 |
| .. nonce: HPEJr8 |
| .. section: Core and Builtins |
| |
| Deopted instructions correctly for tool initialization and modified the |
| incorrect assertion in instrumentation, when a previous tool already sets |
| INSTRUCTION events |
| |
| .. |
| |
| .. date: 2023-09-13-19-16-51 |
| .. gh-issue: 105658 |
| .. nonce: z2nR2u |
| .. section: Core and Builtins |
| |
| Fix bug where the line trace of an except block ending with a conditional |
| includes an excess event with the line of the conditional expression. |
| |
| .. |
| |
| .. date: 2023-09-13-08-42-45 |
| .. gh-issue: 109219 |
| .. nonce: UiN8sc |
| .. section: Core and Builtins |
| |
| Fix compiling type param scopes that use a name which is also free in an |
| inner scope. |
| |
| .. |
| |
| .. date: 2023-09-12-16-00-42 |
| .. gh-issue: 109351 |
| .. nonce: kznGeR |
| .. section: Core and Builtins |
| |
| Fix crash when compiling an invalid AST involving a named (walrus) |
| expression. |
| |
| .. |
| |
| .. date: 2023-09-12-15-45-49 |
| .. gh-issue: 109341 |
| .. nonce: 4V5bkm |
| .. section: Core and Builtins |
| |
| Fix crash when compiling an invalid AST involving a :class:`ast.TypeAlias`. |
| |
| .. |
| |
| .. date: 2023-09-11-15-51-55 |
| .. gh-issue: 109195 |
| .. nonce: iwxmuo |
| .. section: Core and Builtins |
| |
| Fix source location for the ``LOAD_*`` instruction preceding a |
| ``LOAD_SUPER_ATTR`` to load the ``super`` global (or shadowing variable) so |
| that it encompasses only the name ``super`` and not the following |
| parentheses. |
| |
| .. |
| |
| .. date: 2023-09-11-15-11-03 |
| .. gh-issue: 109256 |
| .. nonce: 6mfhvF |
| .. section: Core and Builtins |
| |
| Opcode IDs for specialized opcodes are allocated in their own range to |
| improve stability of the IDs for the 'real' opcodes. |
| |
| .. |
| |
| .. date: 2023-09-11-12-41-42 |
| .. gh-issue: 109216 |
| .. nonce: 60QOSb |
| .. section: Core and Builtins |
| |
| Fix possible memory leak in :opcode:`BUILD_MAP`. |
| |
| .. |
| |
| .. date: 2023-09-10-18-53-55 |
| .. gh-issue: 109207 |
| .. nonce: Fei8bY |
| .. section: Core and Builtins |
| |
| Fix a SystemError in ``__repr__`` of symtable entry object. |
| |
| .. |
| |
| .. date: 2023-09-09-21-17-18 |
| .. gh-issue: 109179 |
| .. nonce: ZR8qs2 |
| .. section: Core and Builtins |
| |
| Fix bug where the C traceback display drops notes from :exc:`SyntaxError`. |
| |
| .. |
| |
| .. date: 2023-09-09-12-49-46 |
| .. gh-issue: 109118 |
| .. nonce: gx0X4h |
| .. section: Core and Builtins |
| |
| Disallow nested scopes (lambdas, generator expressions, and comprehensions) |
| within PEP 695 annotation scopes that are nested within classes. |
| |
| .. |
| |
| .. date: 2023-09-08-18-31-04 |
| .. gh-issue: 109156 |
| .. nonce: KK1EXI |
| .. section: Core and Builtins |
| |
| Add tests for de-instrumenting instructions while keeping the |
| instrumentation for lines |
| |
| .. |
| |
| .. date: 2023-09-08-01-50-41 |
| .. gh-issue: 109114 |
| .. nonce: adqgtb |
| .. section: Core and Builtins |
| |
| Relax the detection of the error message for invalid lambdas inside |
| f-strings to not search for arbitrary replacement fields to avoid false |
| positives. Patch by Pablo Galindo |
| |
| .. |
| |
| .. date: 2023-09-07-20-52-27 |
| .. gh-issue: 105848 |
| .. nonce: p799D1 |
| .. section: Core and Builtins |
| |
| Add a new :opcode:`CALL_KW` opcode, used for calls containing keyword |
| arguments. Also, fix a possible crash when jumping over method calls in a |
| debugger. |
| |
| .. |
| |
| .. date: 2023-09-07-18-49-01 |
| .. gh-issue: 109052 |
| .. nonce: TBU4nC |
| .. section: Core and Builtins |
| |
| Use the base opcode when comparing code objects to avoid interference from |
| instrumentation |
| |
| .. |
| |
| .. date: 2023-09-07-18-24-42 |
| .. gh-issue: 109118 |
| .. nonce: yPXRAe |
| .. section: Core and Builtins |
| |
| Fix interpreter crash when a NameError is raised inside the type parameters |
| of a generic class. |
| |
| .. |
| |
| .. date: 2023-09-07-16-05-36 |
| .. gh-issue: 88943 |
| .. nonce: rH_X3W |
| .. section: Core and Builtins |
| |
| Improve syntax error for non-ASCII character that follows a numerical |
| literal. It now points on the invalid non-ASCII character, not on the valid |
| numerical literal. |
| |
| .. |
| |
| .. date: 2023-09-06-22-50-25 |
| .. gh-issue: 108976 |
| .. nonce: MUKaIJ |
| .. section: Core and Builtins |
| |
| Fix crash that occurs after de-instrumenting a code object in a monitoring |
| callback. |
| |
| .. |
| |
| .. date: 2023-09-06-13-28-42 |
| .. gh-issue: 108732 |
| .. nonce: I6DkEQ |
| .. section: Core and Builtins |
| |
| Make iteration variables of module- and class-scoped comprehensions visible |
| to pdb and other tools that use ``frame.f_locals`` again. |
| |
| .. |
| |
| .. date: 2023-09-05-20-52-17 |
| .. gh-issue: 108959 |
| .. nonce: 6z45Sy |
| .. section: Core and Builtins |
| |
| Fix caret placement for error locations for subscript and binary operations |
| that involve non-semantic parentheses and spaces. Patch by Pablo Galindo |
| |
| .. |
| |
| .. date: 2023-09-05-11-31-27 |
| .. gh-issue: 104584 |
| .. nonce: IRSXA2 |
| .. section: Core and Builtins |
| |
| Fix a crash when running with :envvar:`PYTHONUOPS` or :option:`-X uops <-X>` |
| enabled and an error occurs during optimization. |
| |
| .. |
| |
| .. date: 2023-08-31-21-29-28 |
| .. gh-issue: 108727 |
| .. nonce: blNRGM |
| .. section: Core and Builtins |
| |
| Define ``tp_dealloc`` for ``CounterOptimizer_Type``. This fixes a segfault |
| on deallocation. |
| |
| .. |
| |
| .. date: 2023-08-30-15-41-47 |
| .. gh-issue: 108520 |
| .. nonce: u0ZGP_ |
| .. section: Core and Builtins |
| |
| Fix :meth:`multiprocessing.synchronize.SemLock.__setstate__` to properly |
| initialize :attr:`multiprocessing.synchronize.SemLock._is_fork_ctx`. This |
| fixes a regression when passing a SemLock 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: |
| |
| 1. Creates the object (by calling ``object.__new__``) |
| 2. Pushes a shim frame to the frame stack (to cleanup after ``__init__``) |
| 3. Pushes the frame for ``__init__`` to the frame stack |
| |
| Speeds up the instantiation of most Python classes. |
| |
| .. |
| |
| .. date: 2023-10-13-01-31-27 |
| .. gh-issue: 110786 |
| .. nonce: sThp-A |
| .. section: Library |
| |
| :mod:`sysconfig`'s CLI now ignores :exc:`BrokenPipeError`, making it exit |
| normally if its output is being piped and the pipe closes. |
| |
| .. |
| |
| .. date: 2023-10-13-00-14-17 |
| .. gh-issue: 103480 |
| .. nonce: lmdf1J |
| .. section: Library |
| |
| The :mod:`sysconfig` module is now a package, instead of a single-file |
| module. |
| |
| .. |
| |
| .. date: 2023-10-11-18-43-43 |
| .. gh-issue: 110733 |
| .. nonce: UlrgVm |
| .. section: Library |
| |
| Micro-optimization: Avoid calling ``min()``, ``max()`` in |
| :meth:`BaseEventLoop._run_once`. |
| |
| .. |
| |
| .. date: 2023-10-11-15-07-21 |
| .. gh-issue: 94597 |
| .. nonce: NbPC8t |
| .. section: Library |
| |
| Added :class:`asyncio.EventLoop` for use with the :func:`asyncio.run` |
| *loop_factory* kwarg to avoid calling the asyncio policy system. |
| |
| .. |
| |
| .. date: 2023-10-11-11-00-11 |
| .. gh-issue: 110682 |
| .. nonce: bXRFaX |
| .. section: Library |
| |
| :func:`runtime-checkable protocols <typing.runtime_checkable>` used to |
| consider ``__match_args__`` a protocol member in ``__instancecheck__`` if it |
| was present on the protocol. Now, this attribute is ignored if it is |
| present. |
| |
| .. |
| |
| .. date: 2023-10-10-22-54-56 |
| .. gh-issue: 110488 |
| .. nonce: 2I7OiZ |
| .. section: Library |
| |
| Fix a couple of issues in :meth:`pathlib.PurePath.with_name`: a single dot |
| was incorrectly considered a valid name, and in :class:`PureWindowsPath`, a |
| name with an NTFS alternate data stream, like ``a:b``, was incorrectly |
| considered invalid. |
| |
| .. |
| |
| .. date: 2023-10-10-10-46-55 |
| .. gh-issue: 110590 |
| .. nonce: fatz-h |
| .. section: Library |
| |
| Fix a bug in :meth:`!_sre.compile` where :exc:`TypeError` would be |
| overwritten by :exc:`OverflowError` when the *code* argument was a list of |
| non-ints. |
| |
| .. |
| |
| .. date: 2023-10-09-19-09-32 |
| .. gh-issue: 65052 |
| .. nonce: C2mRlo |
| .. section: Library |
| |
| Prevent :mod:`pdb` from crashing when trying to display undisplayable |
| objects |
| |
| .. |
| |
| .. date: 2023-10-08-18-15-02 |
| .. gh-issue: 110519 |
| .. nonce: RDGe8- |
| .. section: Library |
| |
| Deprecation warning about non-integer number in :mod:`gettext` now 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: |
| |
| * :meth:`~sqlite3.Connection.set_authorizer` |
| * :meth:`~sqlite3.Connection.set_progress_handler` |
| * :meth:`~sqlite3.Connection.set_trace_callback` |
| |
| The affected parameters will become positional-only in Python 3.15. |
| |
| Patch by Erlend E. Aasland. |
| |
| .. |
| |
| .. date: 2023-08-26-12-35-39 |
| .. gh-issue: 105829 |
| .. nonce: kyYhWI |
| .. section: Library |
| |
| Fix concurrent.futures.ProcessPoolExecutor deadlock |
| |
| .. |
| |
| .. date: 2023-08-26-08-38-57 |
| .. gh-issue: 108295 |
| .. nonce: Pn0QRM |
| .. section: Library |
| |
| Fix crashes related to use of weakrefs on :data:`typing.TypeVar`. |
| |
| .. |
| |
| .. date: 2023-08-25-00-14-34 |
| .. gh-issue: 108463 |
| .. nonce: mQApp_ |
| .. section: Library |
| |
| Make expressions/statements work as expected in pdb |
| |
| .. |
| |
| .. date: 2023-08-23-22-08-32 |
| .. gh-issue: 108277 |
| .. nonce: KLV-6T |
| .. section: Library |
| |
| Add :func:`os.timerfd_create`, :func:`os.timerfd_settime`, |
| :func:`os.timerfd_gettime`, :func:`os.timerfd_settime_ns`, and |
| :func:`os.timerfd_gettime_ns` to provide a low level interface for Linux's |
| timer notification file descriptor. |
| |
| .. |
| |
| .. date: 2023-08-23-17-34-39 |
| .. gh-issue: 107811 |
| .. nonce: 3Fng72 |
| .. section: Library |
| |
| :mod:`tarfile`: extraction of members with overly large UID or GID (e.g. on |
| an OS with 32-bit :c:type:`!id_t`) now fails in the same way as failing to |
| set the ID. |
| |
| .. |
| |
| .. date: 2023-08-22-22-29-42 |
| .. gh-issue: 64662 |
| .. nonce: jHl_Bt |
| .. section: Library |
| |
| Fix support for virtual tables in :meth:`sqlite3.Connection.iterdump`. Patch |
| by Aviv Palivoda. |
| |
| .. |
| |
| .. date: 2023-08-22-17-27-12 |
| .. gh-issue: 108111 |
| .. nonce: N7a4u_ |
| .. section: Library |
| |
| Fix a regression introduced in GH-101251 for 3.12, resulting in an incorrect |
| offset calculation in :meth:`gzip.GzipFile.seek`. |
| |
| .. |
| |
| .. date: 2023-08-22-16-18-49 |
| .. gh-issue: 108294 |
| .. nonce: KEeUcM |
| .. section: Library |
| |
| :func:`time.sleep` now raises an auditing event. |
| |
| .. |
| |
| .. date: 2023-08-22-13-51-10 |
| .. gh-issue: 108278 |
| .. nonce: 11d_qG |
| .. section: Library |
| |
| Deprecate passing name, number of arguments, and the callable as keyword |
| arguments, for the following :class:`sqlite3.Connection` APIs: |
| |
| * :meth:`~sqlite3.Connection.create_function` |
| * :meth:`~sqlite3.Connection.create_aggregate` |
| |
| The affected parameters will become positional-only in Python 3.15. |
| |
| Patch by Erlend E. Aasland. |
| |
| .. |
| |
| .. date: 2023-08-22-12-05-47 |
| .. gh-issue: 108322 |
| .. nonce: kf3NJX |
| .. section: Library |
| |
| Speed-up NormalDist.samples() by using the inverse CDF method instead of |
| calling random.gauss(). |
| |
| .. |
| |
| .. date: 2023-08-18-22-58-07 |
| .. gh-issue: 83417 |
| .. nonce: 61J4yM |
| .. section: Library |
| |
| Add the ability for venv to create a ``.gitignore`` file which causes the |
| created environment to be ignored by Git. It is on by default when venv is |
| called via its CLI. |
| |
| .. |
| |
| .. date: 2023-08-17-14-45-25 |
| .. gh-issue: 105736 |
| .. nonce: NJsH7r |
| .. section: Library |
| |
| Harmonized the pure Python version of :class:`~collections.OrderedDict` with |
| the C version. Now, both versions set up their internal state in |
| ``__new__``. Formerly, the pure Python version did the set up in |
| ``__init__``. |
| |
| .. |
| |
| .. date: 2023-08-17-12-59-35 |
| .. gh-issue: 108083 |
| .. nonce: 9J7UcT |
| .. section: Library |
| |
| Fix bugs in the constructor of :mod:`sqlite3.Connection` and |
| :meth:`sqlite3.Connection.close` where exceptions could be leaked. Patch by |
| Erlend E. Aasland. |
| |
| .. |
| |
| .. date: 2023-08-16-21-20-55 |
| .. gh-issue: 107932 |
| .. nonce: I7hFsp |
| .. section: Library |
| |
| Fix ``dis`` module to properly report and display bytecode that do not have |
| source lines. |
| |
| .. |
| |
| .. date: 2023-08-16-14-30-13 |
| .. gh-issue: 105539 |
| .. nonce: 29lA6c |
| .. section: Library |
| |
| :mod:`sqlite3` now emits an :exc:`ResourceWarning` if a |
| :class:`sqlite3.Connection` object is not :meth:`closed |
| <sqlite3.connection.close>` explicitly. Patch by Erlend E. Aasland. |
| |
| .. |
| |
| .. date: 2023-08-16-00-24-07 |
| .. gh-issue: 107995 |
| .. nonce: TlTp5t |
| .. section: Library |
| |
| The ``__module__`` attribute on instances of |
| :class:`functools.cached_property` is now set to the name of the module in |
| which the cached_property is defined, rather than "functools". This means |
| that doctests in ``cached_property`` docstrings are now properly collected |
| by the :mod:`doctest` module. Patch by Tyler Smart. |
| |
| .. |
| |
| .. date: 2023-08-15-18-20-00 |
| .. gh-issue: 107963 |
| .. nonce: 20g5BG |
| .. section: Library |
| |
| Fix :func:`multiprocessing.set_forkserver_preload` to check the given list |
| of modules names. Patch by Donghee Na. |
| |
| .. |
| |
| .. date: 2023-08-14-23-11-11 |
| .. gh-issue: 106242 |
| .. nonce: 71HMym |
| .. section: Library |
| |
| Fixes :func:`os.path.normpath` to handle embedded null characters without |
| truncating the path. |
| |
| .. |
| |
| .. date: 2023-08-14-20-18-59 |
| .. gh-issue: 81555 |
| .. nonce: cWdP4a |
| .. section: Library |
| |
| :mod:`xml.dom.minidom` now only quotes ``"`` in attributes. |
| |
| .. |
| |
| .. date: 2023-08-14-20-01-14 |
| .. gh-issue: 50002 |
| .. nonce: E-bpj8 |
| .. section: Library |
| |
| :mod:`xml.dom.minidom` now preserves whitespaces in attributes. |
| |
| .. |
| |
| .. date: 2023-08-14-19-49-02 |
| .. gh-issue: 93057 |
| .. nonce: 5nJwO5 |
| .. section: Library |
| |
| Passing more than one positional argument to :func:`sqlite3.connect` and the |
| :class:`sqlite3.Connection` constructor is deprecated. The remaining |
| parameters will become keyword-only in Python 3.15. Patch by Erlend E. |
| Aasland. |
| |
| .. |
| |
| .. date: 2023-08-14-17-15-59 |
| .. gh-issue: 76913 |
| .. nonce: LLD0rT |
| .. section: Library |
| |
| Add *merge_extra* parameter/feature to :class:`logging.LoggerAdapter` |
| |
| .. |
| |
| .. date: 2023-08-14-11-18-13 |
| .. gh-issue: 107913 |
| .. nonce: 4ooY6i |
| .. section: Library |
| |
| Fix possible losses of ``errno`` and ``winerror`` values in :exc:`OSError` |
| exceptions if they were cleared or modified by the cleanup code before |
| creating the exception object. |
| |
| .. |
| |
| .. date: 2023-08-10-17-36-22 |
| .. gh-issue: 107845 |
| .. nonce: dABiMJ |
| .. section: Library |
| |
| :func:`tarfile.data_filter` now takes the location of symlinks into account |
| when determining their target, so it will no longer reject some valid |
| tarballs with ``LinkOutsideDestinationError``. |
| |
| .. |
| |
| .. date: 2023-08-09-15-37-20 |
| .. gh-issue: 107812 |
| .. nonce: CflAXa |
| .. section: Library |
| |
| Extend socket's netlink support to the FreeBSD platform. |
| |
| .. |
| |
| .. date: 2023-08-09-13-49-37 |
| .. gh-issue: 107805 |
| .. nonce: ezem0k |
| .. section: Library |
| |
| Fix signatures of module-level generated functions in :mod:`turtle`. |
| |
| .. |
| |
| .. date: 2023-08-08-19-57-45 |
| .. gh-issue: 107782 |
| .. nonce: mInjFE |
| .. section: Library |
| |
| :mod:`pydoc` is now able to show signatures which are not representable in |
| Python, e.g. for ``getattr`` and ``dict.pop``. |
| |
| .. |
| |
| .. date: 2023-08-08-16-09-59 |
| .. gh-issue: 56166 |
| .. nonce: WUMhYG |
| .. section: Library |
| |
| Deprecate passing optional arguments *maxsplit*, *count* and *flags* in |
| module-level functions :func:`re.split`, :func:`re.sub` and :func:`re.subn` |
| as positional. They should only be passed by keyword. |
| |
| .. |
| |
| .. date: 2023-08-07-14-24-42 |
| .. gh-issue: 107710 |
| .. nonce: xfOCfj |
| .. section: Library |
| |
| Speed up :func:`logging.getHandlerNames`. |
| |
| .. |
| |
| .. date: 2023-08-07-14-12-07 |
| .. gh-issue: 107715 |
| .. nonce: 238r2f |
| .. section: Library |
| |
| Fix :meth:`doctest.DocTestFinder.find` in presence of class names with |
| special characters. Patch by Gertjan van Zwieten. |
| |
| .. |
| |
| .. date: 2023-08-06-15-29-00 |
| .. gh-issue: 100814 |
| .. nonce: h195gW |
| .. section: Library |
| |
| Passing a callable object as an option value to a Tkinter image now raises |
| the expected TclError instead of an AttributeError. |
| |
| .. |
| |
| .. date: 2023-08-06-10-52-12 |
| .. gh-issue: 72684 |
| .. nonce: Ls2mSf |
| .. section: Library |
| |
| Add :mod:`tkinter` widget methods: :meth:`!tk_busy_hold`, |
| :meth:`!tk_busy_configure`, :meth:`!tk_busy_cget`, :meth:`!tk_busy_forget`, |
| :meth:`!tk_busy_current`, and :meth:`!tk_busy_status`. |
| |
| .. |
| |
| .. date: 2023-08-05-05-10-41 |
| .. gh-issue: 106684 |
| .. nonce: P9zRXb |
| .. section: Library |
| |
| Raise :exc:`ResourceWarning` when :class:`asyncio.StreamWriter` is not |
| closed leading to memory leaks. Patch by Kumar Aditya. |
| |
| .. |
| |
| .. date: 2023-08-04-19-00-53 |
| .. gh-issue: 107465 |
| .. nonce: Vc1Il3 |
| .. section: Library |
| |
| Add :meth:`pathlib.Path.from_uri` classmethod. |
| |
| .. |
| |
| .. date: 2023-08-03-12-52-19 |
| .. gh-issue: 107077 |
| .. nonce: -pzHD6 |
| .. section: Library |
| |
| Seems that in some conditions, OpenSSL will return ``SSL_ERROR_SYSCALL`` |
| instead of ``SSL_ERROR_SSL`` when a certification verification has failed, |
| but the error parameters will still contain ``ERR_LIB_SSL`` and |
| ``SSL_R_CERTIFICATE_VERIFY_FAILED``. We are now detecting this situation and |
| raising the 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: |
| |
| * :func:`!unittest.findTestCases` |
| * :func:`!unittest.makeSuite` |
| * :func:`!unittest.getTestCaseNames` |
| |
| Use :class:`~unittest.TestLoader` methods instead: |
| |
| * :meth:`unittest.TestLoader.loadTestsFromModule` |
| * :meth:`unittest.TestLoader.loadTestsFromTestCase` |
| * :meth:`unittest.TestLoader.getTestCaseNames` |
| |
| Patch by Hugo van Kemenade. |
| |
| .. |
| |
| .. date: 2023-05-23-21-25-54 |
| .. gh-issue: 104804 |
| .. nonce: 78fiE6 |
| .. section: Library |
| |
| Remove the untested and undocumented :mod:`webbrowser` :class:`!MacOSX` |
| class, deprecated in Python 3.11. Patch by Hugo van Kemenade. |
| |
| .. |
| |
| .. date: 2023-05-23-19-53-18 |
| .. gh-issue: 83863 |
| .. nonce: eRI5JG |
| .. section: Library |
| |
| Support for using :class:`pathlib.Path` objects as context managers has been |
| removed. Before Python 3.9, exiting the context manager marked a path as |
| "closed", which caused some (but not all!) methods to raise when called. |
| Since Python 3.9, using a path as a context manager does nothing. |
| |
| .. |
| |
| .. date: 2023-05-23-18-31-49 |
| .. gh-issue: 104799 |
| .. nonce: MJYOw6 |
| .. section: Library |
| |
| Adjust the location of the (see :pep:`695`) ``type_params`` field on |
| :class:`ast.ClassDef`, :class:`ast.AsyncFunctionDef`, and |
| :class:`ast.FunctionDef` to better preserve backward compatibility. Patch by |
| Jelle Zijlstra |
| |
| .. |
| |
| .. date: 2023-05-23-17-43-52 |
| .. gh-issue: 104797 |
| .. nonce: NR7KzF |
| .. section: Library |
| |
| Allow :class:`typing.Protocol` classes to inherit from |
| :class:`collections.abc.Buffer`. Patch by Jelle Zijlstra. |
| |
| .. |
| |
| .. date: 2023-05-23-04-01-27 |
| .. gh-issue: 104783 |
| .. nonce: QyhIoq |
| .. section: Library |
| |
| Remove ``locale.resetlocale()`` function deprecated in Python 3.11. Patch by |
| Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-05-23-03-36-47 |
| .. gh-issue: 104780 |
| .. nonce: P4e3Yf |
| .. section: Library |
| |
| Remove the ``2to3`` program and the :mod:`!lib2to3` module, deprecated in |
| Python 3.11. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-05-23-02-20-13 |
| .. gh-issue: 104773 |
| .. nonce: 7K59zr |
| .. section: Library |
| |
| :pep:`594`: Remove the :mod:`!telnetlib` module, deprecated in Python 3.11. |
| Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-05-23-02-13-11 |
| .. gh-issue: 104773 |
| .. nonce: JNiEjv |
| .. section: Library |
| |
| :pep:`594`: Remove the :mod:`!imghdr` module, deprecated in Python 3.11. |
| Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-05-23-01-47-57 |
| .. gh-issue: 104773 |
| .. nonce: I6MQhb |
| .. section: Library |
| |
| :pep:`594`: Remove the :mod:`!cgi` and :mod:`!cgitb` modules, deprecated in |
| Python 3.11. Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-05-23-01-37-40 |
| .. gh-issue: 104773 |
| .. nonce: 8c-GsG |
| .. section: Library |
| |
| :pep:`594`: Remove the :mod:`!sndhdr` module, deprecated in Python 3.11. |
| Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-05-22-18-39-53 |
| .. gh-issue: 104372 |
| .. nonce: 7tDRaK |
| .. section: Library |
| |
| On Linux where :mod:`subprocess` can use the ``vfork()`` syscall for faster |
| spawning, prevent the parent process from blocking other threads by dropping |
| the GIL while it waits for the vfork'ed child process ``exec()`` outcome. |
| This prevents spawning a binary from a slow filesystem from blocking the |
| rest of the application. |
| |
| .. |
| |
| .. date: 2023-05-19-19-46-22 |
| .. gh-issue: 99108 |
| .. nonce: wqCg0t |
| .. section: Library |
| |
| We now release the GIL around built-in :mod:`hashlib` computations of |
| reasonable size for the SHA families and MD5 hash functions, matching what |
| our OpenSSL backed hash computations already does. |
| |
| .. |
| |
| .. date: 2023-05-15-18-57-42 |
| .. gh-issue: 102613 |
| .. nonce: YD9yx- |
| .. section: Library |
| |
| Improve performance of :meth:`pathlib.Path.glob` when expanding a pattern |
| with a non-terminal "``**``" component by filtering walked paths through a |
| regular expression, rather than calling :func:`os.scandir` more than once on |
| each directory. |
| |
| .. |
| |
| .. date: 2023-05-11-23-03-00 |
| .. gh-issue: 104399 |
| .. nonce: MMatTP |
| .. section: Library |
| |
| Prepare the ``_tkinter`` module for building with Tcl 9.0 and future |
| libtommath by replacing usage of deprecated functions |
| :c:func:`mp_to_unsigned_bin_n` and :c:func:`mp_unsigned_bin_size` when |
| necessary. |
| |
| .. |
| |
| .. date: 2023-04-28-09-31-21 |
| .. gh-issue: 102676 |
| .. nonce: J8qDRa |
| .. section: Library |
| |
| Add fields ``start_offset``, ``cache_offset``, ``end_offset``, |
| ``baseopname``, ``baseopcode``, ``jump_target`` and ``oparg`` to |
| :class:`dis.Instruction`. |
| |
| .. |
| |
| .. date: 2023-04-15-23-26-16 |
| .. gh-issue: 103558 |
| .. nonce: w9OzK4 |
| .. section: Library |
| |
| Fixed ``parent`` argument validation mechanism of :mod:`argparse`. Improved |
| test coverage. |
| |
| .. |
| |
| .. date: 2023-04-12-03-03-27 |
| .. gh-issue: 103464 |
| .. nonce: Oa_8IW |
| .. section: Library |
| |
| Provide helpful usage messages when parsing incorrect :mod:`pdb` commands. |
| |
| .. |
| |
| .. date: 2023-04-09-05-30-41 |
| .. gh-issue: 103384 |
| .. nonce: zAV7iB |
| .. section: Library |
| |
| Generalize the regex pattern ``BaseConfigurator.INDEX_PATTERN`` to allow |
| spaces and non-alphanumeric characters in keys. |
| |
| .. |
| |
| .. date: 2023-04-09-03-53-02 |
| .. gh-issue: 103124 |
| .. nonce: JspiNN |
| .. section: Library |
| |
| Added multiline statement support for :mod:`pdb` |
| |
| .. |
| |
| .. date: 2023-04-08-12-43-52 |
| .. gh-issue: 101162 |
| .. nonce: yOCd_J |
| .. section: Library |
| |
| Forbid using :func:`builtins.issubclass` with :class:`types.GenericAlias` as |
| the first argument. |
| |
| .. |
| |
| .. date: 2023-04-03-08-09-40 |
| .. gh-issue: 103200 |
| .. nonce: lq1Etz |
| .. section: Library |
| |
| Fix cache repopulation semantics of zipimport.invalidate_caches(). The cache |
| is now repopulated upon retrieving files with an invalid cache, not when the |
| cache is invalidated. |
| |
| .. |
| |
| .. date: 2023-03-14-01-19-57 |
| .. gh-issue: 100061 |
| .. nonce: CiXJYn |
| .. section: Library |
| |
| Fix a bug that causes wrong matches for regular expressions with possessive |
| qualifier. |
| |
| .. |
| |
| .. date: 2023-03-12-03-37-03 |
| .. gh-issue: 77609 |
| .. nonce: aOQttm |
| .. section: Library |
| |
| Add *follow_symlinks* argument to :meth:`pathlib.Path.glob` and |
| :meth:`~pathlib.Path.rglob`, defaulting to false. |
| |
| .. |
| |
| .. date: 2023-03-12-01-17-15 |
| .. gh-issue: 102541 |
| .. nonce: LK1adc |
| .. section: Library |
| |
| Hide traceback in :func:`help` prompt, when import failed. |
| |
| .. |
| |
| .. date: 2023-03-08-19-30-53 |
| .. gh-issue: 102120 |
| .. nonce: xkQ5Wr |
| .. section: Library |
| |
| Added a stream mode to ``tarfile`` that allows for reading archives without |
| caching info about the inner files. |
| |
| .. |
| |
| .. date: 2023-02-20-15-41-59 |
| .. gh-issue: 102029 |
| .. nonce: 9ZPG99 |
| .. section: Library |
| |
| Deprecate passing any arguments to :func:`threading.RLock`. |
| |
| .. |
| |
| .. date: 2023-02-20-12-00-11 |
| .. gh-issue: 88233 |
| .. nonce: o5Zb0t |
| .. section: Library |
| |
| Refactored ``zipfile._strip_extra`` to use higher level 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: |
| |
| * :c:func:`PySys_ResetWarnOptions` |
| * :c:func:`Py_GetExecPrefix` |
| * :c:func:`Py_GetPath` |
| * :c:func:`Py_GetPrefix` |
| * :c:func:`Py_GetProgramFullPath` |
| * :c:func:`Py_GetProgramName` |
| * :c:func:`Py_GetPythonHome` |
| |
| Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-05-31-19-38-45 |
| .. gh-issue: 85275 |
| .. nonce: doojgE |
| .. section: C API |
| |
| ``PyObject_AsCharBuffer()``, ``PyObject_AsReadBuffer()``, |
| ``PyObject_CheckReadBuffer()``, and ``PyObject_AsWriteBuffer()`` are |
| removed. Please migrate to new buffer protocol; :c:func:`PyObject_GetBuffer` |
| and :c:func:`PyBuffer_Release`. |
| |
| .. |
| |
| .. date: 2023-05-31-18-37-57 |
| .. gh-issue: 105156 |
| .. nonce: R4El5V |
| .. section: C API |
| |
| Deprecate the old ``Py_UNICODE`` and ``PY_UNICODE_TYPE`` types: use directly |
| the :c:type:`wchar_t` type instead. Since Python 3.3, ``Py_UNICODE`` and |
| ``PY_UNICODE_TYPE`` are just aliases to :c:type:`wchar_t`. Patch by Victor |
| Stinner. |
| |
| .. |
| |
| .. date: 2023-05-31-16-51-18 |
| .. gh-issue: 105145 |
| .. nonce: b3B6lJ |
| .. section: C API |
| |
| Remove the following old functions to configure the Python initialization, |
| deprecated in Python 3.11: |
| |
| * ``PySys_AddWarnOptionUnicode()`` |
| * ``PySys_AddWarnOption()`` |
| * ``PySys_AddXOption()`` |
| * ``PySys_HasWarnOptions()`` |
| * ``PySys_SetArgvEx()`` |
| * ``PySys_SetArgv()`` |
| * ``PySys_SetPath()`` |
| * ``Py_SetPath()`` |
| * ``Py_SetProgramName()`` |
| * ``Py_SetPythonHome()`` |
| * ``Py_SetStandardStreamEncoding()`` |
| * ``_Py_SetProgramFullPath()`` |
| |
| Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-05-30-19-11-09 |
| .. gh-issue: 105107 |
| .. nonce: YQwMnm |
| .. section: C API |
| |
| Remove functions deprecated in Python 3.9. |
| |
| * ``PyEval_CallObject()``, ``PyEval_CallObjectWithKeywords()``: use |
| :c:func:`PyObject_CallNoArgs` and :c:func:`PyObject_Call` (positional |
| arguments must not be *NULL*) instead. |
| * ``PyEval_CallFunction()``: use :c:func:`PyObject_CallFunction` instead. |
| * ``PyEval_CallMethod()``: use :c:func:`PyObject_CallMethod` instead. |
| * ``PyCFunction_Call()``: use :c:func:`PyObject_Call` instead. |
| |
| Patch by Victor Stinner. |
| |
| .. |
| |
| .. date: 2023-05-30-17-45-32 |
| .. gh-issue: 105115 |
| .. nonce: iRho1K |
| .. section: C API |
| |
| ``PyTypeObject.tp_bases`` (and ``tp_mro``) for builtin static types are now |
| shared by all interpreters, whereas in 3.12-beta1 they were stored on |
| ``PyInterpreterState``. Also note that now the tuples are immortal objects. |
| |
| .. |
| |
| .. date: 2023-05-30-10-15-13 |
| .. gh-issue: 105071 |
| .. nonce: dPtp7c |
| .. section: C API |
| |
| Add ``PyUnstable_Exc_PrepReraiseStar`` to the unstable C api to expose the |
| implementation of :keyword:`except* <except_star>`. |
| |
| .. |
| |
| .. date: 2023-05-29-16-09-27 |
| .. gh-issue: 104922 |
| .. nonce: L23qaU |
| .. section: C API |
| |
| ``PY_SSIZE_T_CLEAN`` is no longer required to use ``'#'`` formats in APIs |
| like :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue`. They uses |
| ``Py_ssize_t`` for ``'#'`` regardless ``PY_SSIZE_T_CLEAN``. |
| |
| .. |
| |
| .. date: 2023-05-25-15-44-48 |
| .. gh-issue: 104584 |
| .. nonce: cSAoRh |
| .. section: C API |
| |
| Add an unstable C API for hooking in an optimizer. This is mainly internal, |
| but marked "unstable" to allow third-party experimentation. |
| |
| .. |
| |
| .. date: 2023-05-19-10-22-34 |
| .. gh-issue: 104668 |
| .. nonce: MLX1g9 |
| .. section: C API |
| |
| Don't call :c:var:`PyOS_InputHook` or :c:var:`PyOS_ReadlineFunctionPointer` |
| in subinterpreters, since it's generally difficult to avoid using global |
| state in their registered callbacks. This also avoids situations where |
| extensions may find themselves running in a subinterpreter they don't |
| support (or haven't yet been loaded in). |
| |
| .. |
| |
| .. bpo: 42327 |
| .. date: 2020-11-11-22-36-29 |
| .. nonce: ODSZBM |
| .. section: C API |
| |
| Add :c:func:`PyModule_Add` function: similar to |
| :c:func:`PyModule_AddObjectRef` and :c:func:`PyModule_AddObject`, but always |
| steals a reference to the value. |
| |
| .. |
| |
| .. bpo: 40309 |
| .. date: 2020-06-25-09-44-59 |
| .. nonce: CuoGoQ |
| .. section: C API |
| |
| Properly handle trailing spaces before closing parenthesis in |
| :c:func:`Py_BuildValue` format strings. |