mirror of
https://github.com/python/cpython.git
synced 2025-08-31 14:07:50 +00:00
Python 3.12.0a2
This commit is contained in:
parent
db115682bd
commit
3b9d793efc
107 changed files with 1134 additions and 293 deletions
|
@ -20,10 +20,10 @@
|
||||||
#define PY_MINOR_VERSION 12
|
#define PY_MINOR_VERSION 12
|
||||||
#define PY_MICRO_VERSION 0
|
#define PY_MICRO_VERSION 0
|
||||||
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
|
||||||
#define PY_RELEASE_SERIAL 1
|
#define PY_RELEASE_SERIAL 2
|
||||||
|
|
||||||
/* Version as a string */
|
/* Version as a string */
|
||||||
#define PY_VERSION "3.12.0a1+"
|
#define PY_VERSION "3.12.0a2"
|
||||||
/*--end constants--*/
|
/*--end constants--*/
|
||||||
|
|
||||||
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# Autogenerated by Sphinx on Tue Oct 25 00:07:40 2022
|
# Autogenerated by Sphinx on Mon Nov 14 12:13:19 2022
|
||||||
topics = {'assert': 'The "assert" statement\n'
|
topics = {'assert': 'The "assert" statement\n'
|
||||||
'**********************\n'
|
'**********************\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -358,7 +358,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'yield_expression)]\n'
|
'yield_expression)]\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The difference from normal Assignment statements is that only '
|
'The difference from normal Assignment statements is that only '
|
||||||
'single\n'
|
'a single\n'
|
||||||
'target is allowed.\n'
|
'target is allowed.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'For simple names as assignment targets, if in class or module '
|
'For simple names as assignment targets, if in class or module '
|
||||||
|
@ -408,12 +408,13 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'analysis\n'
|
'analysis\n'
|
||||||
' tools and IDEs.\n'
|
' tools and IDEs.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Changed in version 3.8: Now annotated assignments allow same\n'
|
'Changed in version 3.8: Now annotated assignments allow the '
|
||||||
'expressions in the right hand side as the regular '
|
'same\n'
|
||||||
'assignments.\n'
|
'expressions in the right hand side as regular assignments. '
|
||||||
'Previously, some expressions (like un-parenthesized tuple '
|
'Previously,\n'
|
||||||
'expressions)\n'
|
'some expressions (like un-parenthesized tuple expressions) '
|
||||||
'caused a syntax error.\n',
|
'caused a\n'
|
||||||
|
'syntax error.\n',
|
||||||
'async': 'Coroutines\n'
|
'async': 'Coroutines\n'
|
||||||
'**********\n'
|
'**********\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -7320,7 +7321,7 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'the clauses had been separated out into individual import '
|
'the clauses had been separated out into individual import '
|
||||||
'statements.\n'
|
'statements.\n'
|
||||||
'\n'
|
'\n'
|
||||||
'The details of the first step, finding and loading modules are\n'
|
'The details of the first step, finding and loading modules, are\n'
|
||||||
'described in greater detail in the section on the import system, '
|
'described in greater detail in the section on the import system, '
|
||||||
'which\n'
|
'which\n'
|
||||||
'also describes the various types of packages and modules that can '
|
'also describes the various types of packages and modules that can '
|
||||||
|
@ -11314,6 +11315,10 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'*start* and\n'
|
'*start* and\n'
|
||||||
' *end* are interpreted as in slice notation.\n'
|
' *end* are interpreted as in slice notation.\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
' If *sub* is empty, returns the number of empty strings '
|
||||||
|
'between\n'
|
||||||
|
' characters which is the length of the string plus one.\n'
|
||||||
|
'\n'
|
||||||
"str.encode(encoding='utf-8', errors='strict')\n"
|
"str.encode(encoding='utf-8', errors='strict')\n"
|
||||||
'\n'
|
'\n'
|
||||||
' Return an encoded version of the string as a bytes '
|
' Return an encoded version of the string as a bytes '
|
||||||
|
@ -12360,10 +12365,12 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'2. As in Standard C, up to three octal digits are accepted.\n'
|
'2. As in Standard C, up to three octal digits are accepted.\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Changed in version 3.11: Octal escapes with value larger than\n'
|
' Changed in version 3.11: Octal escapes with value larger than\n'
|
||||||
' "0o377" produce a "DeprecationWarning". In a future Python '
|
' "0o377" produce a "DeprecationWarning".\n'
|
||||||
'version\n'
|
'\n'
|
||||||
' they will be a "SyntaxWarning" and eventually a '
|
' Changed in version 3.12: Octal escapes with value larger than\n'
|
||||||
'"SyntaxError".\n'
|
' "0o377" produce a "SyntaxWarning". In a future Python version '
|
||||||
|
'they\n'
|
||||||
|
' will be eventually a "SyntaxError".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'3. Unlike in Standard C, exactly two hex digits are required.\n'
|
'3. Unlike in Standard C, exactly two hex digits are required.\n'
|
||||||
'\n'
|
'\n'
|
||||||
|
@ -12398,9 +12405,13 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'\n'
|
'\n'
|
||||||
' Changed in version 3.6: Unrecognized escape sequences produce '
|
' Changed in version 3.6: Unrecognized escape sequences produce '
|
||||||
'a\n'
|
'a\n'
|
||||||
' "DeprecationWarning". In a future Python version they will be '
|
' "DeprecationWarning".\n'
|
||||||
|
'\n'
|
||||||
|
' Changed in version 3.12: Unrecognized escape sequences produce '
|
||||||
'a\n'
|
'a\n'
|
||||||
' "SyntaxWarning" and eventually a "SyntaxError".\n'
|
' "SyntaxWarning". In a future Python version they will be '
|
||||||
|
'eventually\n'
|
||||||
|
' a "SyntaxError".\n'
|
||||||
'\n'
|
'\n'
|
||||||
'Even in a raw literal, quotes can be escaped with a backslash, '
|
'Even in a raw literal, quotes can be escaped with a backslash, '
|
||||||
'but the\n'
|
'but the\n'
|
||||||
|
@ -13974,17 +13985,11 @@ topics = {'assert': 'The "assert" statement\n'
|
||||||
'dictionaries or\n'
|
'dictionaries or\n'
|
||||||
'other mutable types (that are compared by value rather than '
|
'other mutable types (that are compared by value rather than '
|
||||||
'by object\n'
|
'by object\n'
|
||||||
'identity) may not be used as keys. Numeric types used for '
|
'identity) may not be used as keys. Values that compare equal '
|
||||||
'keys obey\n'
|
'(such as\n'
|
||||||
'the normal rules for numeric comparison: if two numbers '
|
'"1", "1.0", and "True") can be used interchangeably to index '
|
||||||
'compare equal\n'
|
'the same\n'
|
||||||
'(such as "1" and "1.0") then they can be used '
|
'dictionary entry.\n'
|
||||||
'interchangeably to index\n'
|
|
||||||
'the same dictionary entry. (Note however, that since '
|
|
||||||
'computers store\n'
|
|
||||||
'floating-point numbers as approximations it is usually '
|
|
||||||
'unwise to use\n'
|
|
||||||
'them as dictionary keys.)\n'
|
|
||||||
'\n'
|
'\n'
|
||||||
'class dict(**kwargs)\n'
|
'class dict(**kwargs)\n'
|
||||||
'class dict(mapping, **kwargs)\n'
|
'class dict(mapping, **kwargs)\n'
|
||||||
|
|
1100
Misc/NEWS.d/3.12.0a2.rst
Normal file
1100
Misc/NEWS.d/3.12.0a2.rst
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,4 +0,0 @@
|
||||||
Don't use vendored ``libmpdec`` headers if :option:`--with-system-libmpdec`
|
|
||||||
is passed to :program:`configure`.
|
|
||||||
Don't use vendored ``libexpat`` headers if :option:`--with-system-expat`
|
|
||||||
is passed to :program:`!configure`.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix ``make regen-test-levenshtein`` for out-of-tree builds.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Remove PCbuild/lib.pyproj: it's not used for anything, is only a minor
|
|
||||||
convenience for Visual Studio users (who probably mostly don't even know
|
|
||||||
about it), and it takes a lot of maintenance effort to keep updated.
|
|
|
@ -1,9 +0,0 @@
|
||||||
Add new tooling, in ``Tools/cases_generator``,
|
|
||||||
to generate the interpreter switch statement from a list of opcode definitions.
|
|
||||||
This only affects adding, modifying or removing instruction definitions.
|
|
||||||
The instruction definitions now live in ``Python/bytecodes.c``,
|
|
||||||
in the form of a `custom DSL (under development)
|
|
||||||
<https://github.com/faster-cpython/ideas/blob/main/3.12/interpreter_definition.md>`__.
|
|
||||||
The tooling reads this file and writes ``Python/generated_cases.c.h``,
|
|
||||||
which is then included by ``Python/ceval.c`` to provide most of the cases
|
|
||||||
of the main interpreter switch.
|
|
|
@ -1 +0,0 @@
|
||||||
Use ``python3.11``, if available, for regeneration and freezing.
|
|
|
@ -1 +0,0 @@
|
||||||
Drop unused build dependency on ``readelf``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Specify the full path to the source location for ``make docclean`` (needed for
|
|
||||||
cross-builds).
|
|
|
@ -1 +0,0 @@
|
||||||
Fix build with ``PYTHON_FOR_REGEN=python3.8``.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix ``-Wimplicit-int`` compiler warning in :program:`configure` check for ``PTHREAD_SCOPE_SYSTEM``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add :c:func:`PyFrame_GetVar` and :c:func:`PyFrame_GetVarString` functions to
|
|
||||||
get a frame variable by its name. Patch by Victor Stinner.
|
|
|
@ -1,4 +0,0 @@
|
||||||
``Py_InitializeEx`` now correctly calls ``PyConfig_Clear`` after initializing
|
|
||||||
the interpreter (the omission didn't cause a memory leak only because none
|
|
||||||
of the dynamically allocated config fields are populated by the wrapper
|
|
||||||
function)
|
|
|
@ -1,4 +0,0 @@
|
||||||
A ``_PyInterpreterConfig`` has been added and ``_Py_NewInterpreter()`` has
|
|
||||||
been renamed to ``_Py_NewInterpreterFromConfig()``. The
|
|
||||||
"isolated_subinterpreters" argument is now a granular config that captures
|
|
||||||
the previous behavior. Note that this is all "private" API.
|
|
|
@ -1,9 +0,0 @@
|
||||||
Some configurable capabilities of sub-interpreters have changed.
|
|
||||||
They always allow subprocesses (:mod:`subprocess`) now, whereas before
|
|
||||||
subprocesses could be optionally disaallowed for a sub-interpreter.
|
|
||||||
Instead :func:`os.exec` can now be disallowed.
|
|
||||||
Disallowing daemon threads is now supported. Disallowing all threads
|
|
||||||
is still allowed, but is never done by default.
|
|
||||||
Note that the optional restrictions are only available through
|
|
||||||
``_Py_NewInterpreterFromConfig()``, which isn't a public API.
|
|
||||||
They do not affect the main interpreter, nor :c:func:`Py_NewInterpreter`.
|
|
|
@ -1 +0,0 @@
|
||||||
Add ``getbufferproc`` and ``releasebufferproc`` to the stable API.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix use-after-free in ``Py_SetPythonHome(NULL)``,
|
|
||||||
``Py_SetProgramName(NULL)`` and ``_Py_SetProgramFullPath(NULL)`` function
|
|
||||||
calls. Issue reported by Benedikt Reinartz. Patch by Victor Stinner.
|
|
|
@ -1,3 +0,0 @@
|
||||||
The :c:macro:`Py_CLEAR`, :c:macro:`Py_SETREF` and :c:macro:`Py_XSETREF` macros
|
|
||||||
now only evaluate their argument once. If the argument has side effects, these
|
|
||||||
side effects are no longer duplicated. Patch by Victor Stinner.
|
|
|
@ -1 +0,0 @@
|
||||||
Allow :mod:`pdb` to locate source for frozen modules in the standard library.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Expose :data:`~socket.ETH_P_ALL` and some of the
|
|
||||||
:ref:`ETHERTYPE_* constants <socket-ethernet-types>` in :mod:`socket`.
|
|
||||||
Patch by Noam Cohen.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Add _pylong.py module. It includes asymptotically faster algorithms that
|
|
||||||
can be used for operations on integers with many digits. It is used by
|
|
||||||
longobject.c to speed up some operations.
|
|
|
@ -1,2 +0,0 @@
|
||||||
The :opcode:`FOR_ITER` now leaves the iterator on the stack on termination
|
|
||||||
of the loop. This is to assist specialization of loops for generators.
|
|
|
@ -1,3 +0,0 @@
|
||||||
:exc:`ImportError` raised from failed ``from <module> import <name>`` now
|
|
||||||
include suggestions for the value of ``<name>`` based on the available names
|
|
||||||
in ``<module>``. Patch by Pablo Galindo
|
|
|
@ -1,2 +0,0 @@
|
||||||
Print exception class name instead of its string representation when raising
|
|
||||||
errors from :mod:`ctypes` calls.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Quicken all code objects, and specialize adaptive bytecode instructions more
|
|
||||||
aggressively.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix detection of MAC addresses for :mod:`uuid` on certain OSs. Patch by Chaim Sanders
|
|
|
@ -1,13 +0,0 @@
|
||||||
When calling into Python code from C code, through :c:func:`PyEval_EvalFrameEx` or
|
|
||||||
a related C-API function, a shim frame in inserted into the call stack.
|
|
||||||
This occurs in the ``_PyEval_EvalFrameDefault()`` function.
|
|
||||||
The extra frame should be invisible to all Python and most C extensions,
|
|
||||||
but out-of-process profilers and debuggers need to be aware of it.
|
|
||||||
These shim frames can be detected by checking
|
|
||||||
``frame->owner == FRAME_OWNED_BY_CSTACK``.
|
|
||||||
|
|
||||||
Extensions implementing their own interpreters using PEP 523 need to be
|
|
||||||
aware of this shim frame and the changes to the semantics of
|
|
||||||
:opcode:`RETURN_VALUE`, :opcode:`YIELD_VALUE`, and :opcode:`RETURN_GENERATOR`,
|
|
||||||
which now clear the frame.
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
Rather than changing :attr:`~types.CodeType.co_code`, the interpreter will
|
|
||||||
now display a :exc:`RuntimeWarning` and assign :const:`None` to any fast
|
|
||||||
locals that are left unbound after jumps or :keyword:`del`
|
|
||||||
statements executed while tracing.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix an issue where member descriptors (such as those for
|
|
||||||
:attr:`~object.__slots__`) could behave incorrectly or crash instead of
|
|
||||||
raising a :exc:`TypeError` when accessed via an instance of an invalid type.
|
|
|
@ -1,7 +0,0 @@
|
||||||
Added the methods :c:func:`PyObject_Vectorcall` and
|
|
||||||
:c:func:`PyObject_VectorcallMethod` to the :ref:`Limited API <stable>` along
|
|
||||||
with the auxiliary macro constant :const:`PY_VECTORCALL_ARGUMENTS_OFFSET`.
|
|
||||||
|
|
||||||
The availability of these functions enables more efficient :PEP:`590` vector
|
|
||||||
calls from binary extension modules that avoid argument boxing/unboxing
|
|
||||||
overheads.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix source locations of :keyword:`match` sub-patterns.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Add specialization of :opcode:`FOR_ITER` for generators. Saves multiple
|
|
||||||
layers of dispatch and checking to get from the :opcode:`FOR_ITER`
|
|
||||||
instruction in the caller to the :opcode:`RESUME` in the generator.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Use complete source locations to simplify detection of ``__future__``
|
|
||||||
imports which are not at the beginning of the file. Also corrects the offset
|
|
||||||
in the exception raised in one case, which was off by one and impeded
|
|
||||||
highlighting.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix multiple crashes in debug mode when ``str`` subclasses
|
|
||||||
are used instead of ``str`` itself.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Lower the recursion depth for marshal on WASI to support (in-development)
|
|
||||||
wasmtime 2.0.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Fix subscription of type aliases containing bare generic types or types like
|
|
||||||
:class:`~typing.TypeVar`: for example ``tuple[A, T][int]`` and
|
|
||||||
``tuple[TypeVar, T][int]``, where ``A`` is a generic type, and ``T`` is a
|
|
||||||
type variable.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improve the :exc:`SyntaxError` error message when the user types ``import x
|
|
||||||
from y`` instead of ``from y import x``. Patch by Pablo Galindo
|
|
|
@ -1,2 +0,0 @@
|
||||||
Handle StopIteration and StopAsyncIteration raised in generator or
|
|
||||||
coroutines in the bytecode, rather than in wrapping C code.
|
|
|
@ -1,7 +0,0 @@
|
||||||
A backslash-character pair that is not a valid escape sequence now generates a
|
|
||||||
:exc:`SyntaxWarning`, instead of :exc:`DeprecationWarning`. For example,
|
|
||||||
``re.compile("\d+\.\d+")`` now emits a :exc:`SyntaxWarning` (``"\d"`` is an
|
|
||||||
invalid escape sequence), use raw strings for regular expression:
|
|
||||||
``re.compile(r"\d+\.\d+")``. In a future Python version, :exc:`SyntaxError`
|
|
||||||
will eventually be raised, instead of :exc:`SyntaxWarning`. Patch by Victor
|
|
||||||
Stinner.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Octal escapes with value larger than ``0o377`` (ex: ``"\477"``), deprecated
|
|
||||||
in Python 3.11, now produce a :exc:`SyntaxWarning`, instead of
|
|
||||||
:exc:`DeprecationWarning`. In a future Python version they will be
|
|
||||||
eventually a :exc:`SyntaxError`. Patch by Victor Stinner.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Improve the error suggestion for :exc:`NameError` exceptions for instances.
|
|
||||||
Now if a :exc:`NameError` is raised in a method and the instance has an
|
|
||||||
attribute that's exactly equal to the name in the exception, the suggestion
|
|
||||||
will include ``self.<NAME>`` instead of the closest match in the method
|
|
||||||
scope. Patch by Pablo Galindo
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix the error reporting positions of specialized traceback anchors when the
|
|
||||||
source line contains Unicode characters.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Merge the adaptive opcode logic into each instruction's unquickened variant,
|
|
||||||
and merge the logic in ``EXTENDED_ARG_QUICK`` into :opcode:`EXTENDED_ARG`.
|
|
||||||
With these changes, the quickening that happens at code object creation is
|
|
||||||
now only responsible for initializing warmup counters and inserting
|
|
||||||
superinstructions.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix location of :exc:`SyntaxError` for a :keyword:`try` block with both :keyword:`except` and :keyword:`except* <except_star>`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Update :mod:`faulthandler` to emit an error message with the proper
|
|
||||||
unexpected signal number. Patch by Dong-hee Na.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Fix calculation of :data:`sys._base_executable` when inside a POSIX virtual
|
|
||||||
environment using copies of the python binary when the base installation does
|
|
||||||
not provide the executable name used by the venv. Calculation will fall back to
|
|
||||||
alternative names ("python<MAJOR>", "python<MAJOR>.<MINOR>").
|
|
|
@ -1 +0,0 @@
|
||||||
Fix failure in :keyword:`except* <except_star>` with unhashable exceptions.
|
|
|
@ -1,3 +0,0 @@
|
||||||
The 18 global C variables holding the state of the allocators have been
|
|
||||||
moved to ``_PyRuntimeState``. This is a strictly internal change with no
|
|
||||||
change in behavior.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix an issue that prevented :c:type:`PyThreadState` and
|
|
||||||
:c:type:`PyInterpreterState` memory from being freed properly.
|
|
|
@ -1 +0,0 @@
|
||||||
The compiler now removes all unused constants from code objects (except the first one, which may be a docstring).
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix an issue that could potentially cause incorrect error handling for some
|
|
||||||
bytecode instructions.
|
|
|
@ -1,6 +0,0 @@
|
||||||
The docs clearly say that ``PyImport_Inittab``,
|
|
||||||
:c:func:`PyImport_AppendInittab`, and :c:func:`PyImport_ExtendInittab`
|
|
||||||
should not be used after :c:func:`Py_Initialize` has been called.
|
|
||||||
We now enforce this for the two functions. Additionally, the runtime
|
|
||||||
now uses an internal copy of ``PyImport_Inittab``,
|
|
||||||
to guard against modification.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Update uname docs to clarify the special nature of the platform attribute
|
|
||||||
and to indicate when it became late-bound.
|
|
|
@ -1 +0,0 @@
|
||||||
Changes wording of docstring for :func:`pathlib.Path.iterdir`.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix IndexError in :class:`argparse.ArgumentParser` when a ``store_true`` action is given an explicit argument.
|
|
|
@ -1 +0,0 @@
|
||||||
Add walk_up argument in :meth:`pathlib.PurePath.relative_to`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:func:`shutil.copytree` now applies the *ignore_dangling_symlinks* argument
|
|
||||||
recursively.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix an error when using a method of objects mocked with
|
|
||||||
:func:`unittest.mock.create_autospec` after it was sealed with
|
|
||||||
:func:`unittest.mock.seal` function.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fixed a race condition that could cause :func:`sysconfig.get_config_var` to
|
|
||||||
incorrectly return :const:`None` in multi-threaded programs.
|
|
|
@ -1,6 +0,0 @@
|
||||||
Add the :attr:`~sqlite3.Connection.autocommit` attribute
|
|
||||||
to :class:`sqlite3.Connection`
|
|
||||||
and the *autocommit* parameter to :func:`sqlite3.connect`
|
|
||||||
to control :pep:`249`-compliant
|
|
||||||
:ref:`transaction handling <sqlite3-transaction-control-autocommit>`.
|
|
||||||
Patch by Erlend E. Aasland.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Remove the *keyfile*, *certfile* and *check_hostname* parameters, deprecated
|
|
||||||
since Python 3.6, in modules: :mod:`ftplib`, :mod:`http.client`,
|
|
||||||
:mod:`imaplib`, :mod:`poplib` and :mod:`smtplib`. Use the *context*
|
|
||||||
parameter (*ssl_context* in :mod:`imaplib`) instead. Patch by Victor
|
|
||||||
Stinner.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:mod:`ftplib`: Remove the ``FTP_TLS.ssl_version`` class attribute: use the
|
|
||||||
*context* parameter instead. Patch by Victor Stinner
|
|
|
@ -1 +0,0 @@
|
||||||
Fix handling of ``bytes`` :term:`path-like objects <path-like object>` in :func:`os.ismount()`.
|
|
|
@ -1 +0,0 @@
|
||||||
Remove modules :mod:`asyncore` and :mod:`asynchat`, which were deprecated by :pep:`594`.
|
|
|
@ -1 +0,0 @@
|
||||||
Make sure ``patch.dict()`` can be applied on async functions.
|
|
|
@ -1 +0,0 @@
|
||||||
Allow ``BUILTINS`` to be a valid field name for frozen dataclasses.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Improved :class:`TypeError` message for undefined abstract methods of a
|
|
||||||
:class:`abc.ABC` instance. The names of the missing methods are surrounded
|
|
||||||
by single-quotes to highlight them.
|
|
|
@ -1,2 +0,0 @@
|
||||||
The :class:`array.array` class now supports subscripting, making it a
|
|
||||||
:term:`generic type`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add a mutex to unittest.mock.NonCallableMock to protect concurrent access
|
|
||||||
to mock attributes.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix :meth:`asyncio.StreamWriter.drain` to call ``protocol.connection_lost``
|
|
||||||
callback only once on Windows.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix internal error in the :mod:`re` module which in very rare circumstances
|
|
||||||
prevented compilation of a regular expression containing a :ref:`conditional
|
|
||||||
expression <re-conditional-expression>` without the "else" branch.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Prevent crashing in :mod:`traceback` when retrieving the byte-offset for
|
|
||||||
some source files that contain certain unicode characters.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix argument typechecks in :func:`!_overlapped.WSAConnect` and :func:`!_overlapped.Overlapped.WSASendTo` functions.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix ``_SelectorDatagramTransport`` to inherit from :class:`~asyncio.DatagramTransport` in :mod:`asyncio`. Patch by Kumar Aditya.
|
|
|
@ -1,2 +0,0 @@
|
||||||
In :mod:`importlib._bootstrap`, enhance namespace package repr to `<module
|
|
||||||
'x' (namespace) from ['path']>`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Use the frame bound builtins when offering a name suggestion in
|
|
||||||
:mod:`traceback` to prevent crashing when ``__builtins__`` is not a dict.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix memory leak in :func:`math.dist` when both points don't have the same dimension. Patch by Kumar Aditya.
|
|
|
@ -1 +0,0 @@
|
||||||
Clean up refleak on failed module initialisation in :mod:`_io`.
|
|
|
@ -1 +0,0 @@
|
||||||
Clean up refleaks on failed module initialisation in in :mod:`_pickle`
|
|
|
@ -1 +0,0 @@
|
||||||
Clean up refleak on failed module initialisation in :mod:`_zoneinfo`
|
|
|
@ -1,2 +0,0 @@
|
||||||
Now :mod:`_pyio` is consistent with :mod:`_io` in raising ``ValueError``
|
|
||||||
when executing methods over closed buffers.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Remove the ``distutils`` package. It was deprecated in Python 3.10 by
|
|
||||||
:pep:`632` "Deprecate distutils module". For projects still using
|
|
||||||
``distutils`` and cannot be updated to something else, the ``setuptools``
|
|
||||||
project can be installed: it still provides ``distutils``. Patch by Victor
|
|
||||||
Stinner.
|
|
|
@ -1 +0,0 @@
|
||||||
Update the bundled copy of pip to version 22.3.1.
|
|
|
@ -1 +0,0 @@
|
||||||
``enum.auto()`` is now correctly activated when combined with other assignment values. E.g. ``ONE = auto(), 'some text'`` will now evaluate as ``(1, 'some text')``.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix :class:`statistics.NormalDist` pickle with ``0`` and ``1`` protocols.
|
|
|
@ -1 +0,0 @@
|
||||||
fix negative numbers failing in verify()
|
|
|
@ -1 +0,0 @@
|
||||||
Remove older version of ``_SSLProtocolTransport.get_write_buffer_limits`` in :mod:`!asyncio.sslproto`
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix ``SystemError`` in :mod:`ctypes` when exception was not set during
|
|
||||||
``__initsubclass__``.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed bug where :func:`inspect.signature` reported incorrect arguments for decorated methods.
|
|
|
@ -1 +0,0 @@
|
||||||
Improve performance of :func:`secrets.token_hex`.
|
|
|
@ -1 +0,0 @@
|
||||||
Deprecate :class:`asyncio.AbstractChildWatcher` to be removed in Python 3.14. Patch by Kumar Aditya.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix bug in :func:`urllib.parse.urlparse` that causes URL schemes that begin
|
|
||||||
with a digit, a plus sign, or a minus sign to be parsed incorrectly.
|
|
|
@ -1 +0,0 @@
|
||||||
Update bundled libexpat to 2.5.0
|
|
|
@ -1,14 +0,0 @@
|
||||||
The IDNA codec decoder used on DNS hostnames by :mod:`socket` or :mod:`asyncio`
|
|
||||||
related name resolution functions no longer involves a quadratic algorithm.
|
|
||||||
This prevents a potential CPU denial of service if an out-of-spec excessive
|
|
||||||
length hostname involving bidirectional characters were decoded. Some protocols
|
|
||||||
such as :mod:`urllib` http ``3xx`` redirects potentially allow for an attacker
|
|
||||||
to supply such a name.
|
|
||||||
|
|
||||||
Individual labels within an IDNA encoded DNS name will now raise an error early
|
|
||||||
during IDNA decoding if they are longer than 1024 unicode characters given that
|
|
||||||
each decoded DNS label must be 63 or fewer characters and the entire decoded
|
|
||||||
DNS name is limited to 255. Only an application presenting a hostname or label
|
|
||||||
consisting primarily of :rfc:`3454` section 3.1 "Nothing" characters to be
|
|
||||||
removed would run into of this new limit. See also :rfc:`5894` section 6 and
|
|
||||||
:rfc:`3491`.
|
|
|
@ -1 +0,0 @@
|
||||||
Some C API tests were moved into the new Lib/test/test_capi/ directory.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Added explicit coverage of ``Py_Initialize`` (and hence ``Py_InitializeEx``)
|
|
||||||
back to the embedding tests (all other embedding tests migrated to
|
|
||||||
``Py_InitializeFromConfig`` in Python 3.11)
|
|
|
@ -1 +0,0 @@
|
||||||
Add tests for star-unpacking with PEP 646, and some other miscellaneous PEP 646 tests.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix a bug in the :mod:`typing` tests where a test relying on CPython-specific
|
|
||||||
implementation details was not decorated with ``@cpython_only`` and was not
|
|
||||||
skipped on other implementations.
|
|
|
@ -1,2 +0,0 @@
|
||||||
The Python test suite now fails wit exit code 4 if no tests ran. It should
|
|
||||||
help detecting typos in test names and test methods.
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue