Python 3.13.0a3

This commit is contained in:
Thomas Wouters
2024-01-17 13:09:05 +01:00
parent b204c4beb4
commit f009305a7d
235 changed files with 3018 additions and 890 deletions
+2 -2
View File
@@ -20,10 +20,10 @@
#define PY_MINOR_VERSION 13
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL 2
#define PY_RELEASE_SERIAL 3
/* Version as a string */
#define PY_VERSION "3.13.0a2+"
#define PY_VERSION "3.13.0a3"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
+601 -364
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1 +0,0 @@
Do not set ipv6type when cross-compiling.
@@ -1,2 +0,0 @@
The :func:`os.major`, :func:`os.makedev`, and :func:`os.minor` functions are
now available on HP-UX v3.
@@ -1 +0,0 @@
Introduce ``Tools/wasm/wasi.py`` to simplify doing a WASI build.
@@ -1 +0,0 @@
Fix the build for the case that WITH_PYMALLOC_RADIX_TREE=0 set.
@@ -1 +0,0 @@
Add support for thread sanitizer (TSAN)
@@ -1,3 +0,0 @@
Fixed the ``check-clean-src`` step performed on out of tree builds to detect
errant ``$(srcdir)/Python/frozen_modules/*.h`` files and recommend
appropriate source tree cleanup steps to get a working build again.
@@ -1,2 +0,0 @@
Changed the Windows build to write out generated frozen modules into the
build tree instead of the source tree.
@@ -1,4 +0,0 @@
Fix ``Tools/wasm/wasi.py`` to not include the path to ``python.wasm`` as
part of ``HOSTRUNNER``. The environment variable is meant to specify how to
run the WASI host only, having ``python.wasm`` and relevant flags appended
to the ``HOSTRUNNER``. This fixes ``make test`` work.
@@ -1,3 +0,0 @@
Change the declaration of the *keywords* parameter of
:c:func:`PyArg_ParseTupleAndKeywords` and
:c:func:`PyArg_VaParseTupleAndKeywords` for better compatibility with C++.
@@ -1,2 +0,0 @@
Add :c:func:`Py_HashPointer` function to hash a pointer. Patch by Victor
Stinner.
@@ -1,2 +0,0 @@
Fix support of format units "es", "et", "es#", and "et#" in nested tuples in
:c:func:`PyArg_ParseTuple`-like functions.
@@ -1,2 +0,0 @@
Fix redundant declarations in the public C API. Declare PyBool_Type,
PyLong_Type and PySys_Audit() only once. Patch by Victor Stinner.
@@ -1 +0,0 @@
Added :func:`sys._is_interned`.
@@ -1 +0,0 @@
Remove LibreSSL workarounds as per :pep:`644`.
@@ -1,3 +0,0 @@
Use the object's actual class name in :meth:`_io.FileIO.__repr__`,
:meth:`_io._WindowsConsoleIO` and :meth:`_io.TextIOWrapper.__repr__`, to
make these methods subclass friendly.
@@ -1,3 +0,0 @@
Fix UnicodeEncodeError when :func:`email.message.get_payload` reads a message
with a Unicode surrogate character and the message content is not well-formed for
surrogateescape encoding. Patch by Sidney Markowitz.
@@ -1,3 +0,0 @@
:c:func:`PyComplex_RealAsDouble`/:c:func:`PyComplex_ImagAsDouble` now tries to
convert an object to a :class:`complex` instance using its ``__complex__()`` method
before falling back to the ``__float__()`` method. Patch by Sergey B Kirpichev.
@@ -1,4 +0,0 @@
The Tier 2 translator now tracks the confidence level for staying "on trace"
(i.e. not exiting back to the Tier 1 interpreter) for branch instructions
based on the number of bits set in the branch "counter". Trace translation
ends when the confidence drops below 1/3rd.
@@ -1,2 +0,0 @@
Avoid undefined behaviour when using the perf trampolines by not freeing the
code arenas until shutdown. Patch by Pablo Galindo
@@ -1,2 +0,0 @@
Make code generated for an empty f-string identical to the code of an empty
normal string.
@@ -1,2 +0,0 @@
Fix error positions for decoded strings with backwards tokenize errors.
Patch by Pablo Galindo
@@ -1,2 +0,0 @@
Fix an error that was causing the parser to try to overwrite tokenizer
errors. Patch by pablo Galindo
@@ -1,3 +0,0 @@
Change coro.cr_frame/gen.gi_frame to return ``None`` after the coroutine/generator has been closed.
This fixes a bug where :func:`~inspect.getcoroutinestate` and :func:`~inspect.getgeneratorstate`
return the wrong state for a closed coroutine/generator.
@@ -1 +0,0 @@
Add check for the type of ``__cause__`` returned from calling the type ``T`` in ``raise from T``.
@@ -1 +0,0 @@
Provide a better error message when accessing invalid attributes on partially initialized modules. The origin of the module being accessed is now included in the message to help with the common issue of shadowing other modules.
@@ -1,4 +0,0 @@
Workaround a bug in Apple's macOS platform zlib library where
:func:`zlib.crc32` and :func:`binascii.crc32` could produce incorrect results
on multi-gigabyte inputs. Including when using :mod:`zipfile` on zips
containing large data.
@@ -1,2 +0,0 @@
Do not clear unexpected errors during formatting error messages for
ImportError and AttributeError for modules.
@@ -1 +0,0 @@
Fixes a bug where a bytearray object could be cleared while iterating over an argument in the ``bytearray.join()`` method that could result in reading memory after it was freed.
@@ -1 +0,0 @@
Use color to highlight error locations in tracebacks. Patch by Pablo Galindo
@@ -1,2 +0,0 @@
Fix SystemError in the ``import`` statement and in ``__reduce__()`` methods
of builtin types when ``__builtins__`` is not a dict.
@@ -1,2 +0,0 @@
:func:`input` now raises a ValueError when output on the terminal if the
prompt contains embedded null characters instead of silently truncating it.
@@ -1 +0,0 @@
Fix None.__ne__(None) returning NotImplemented instead of False
@@ -1,2 +0,0 @@
Correctly compute end column offsets for multiline tokens in the
:mod:`tokenize` module. Patch by Pablo Galindo
@@ -1 +0,0 @@
Optimize builtin functions :func:`min` and :func:`max`.
@@ -1,3 +0,0 @@
Change the API and contract of ``_PyExecutorObject`` to return the
next_instr pointer, instead of the frame, and to always execute at least one
instruction.
@@ -1,7 +0,0 @@
Use per AST-parser state rather than global state to track recursion depth
within the AST parser to prevent potential race condition due to
simultaneous parsing.
The issue primarily showed up in 3.11 by multithreaded users of
:func:`ast.parse`. In 3.12 a change to when garbage collection can be
triggered prevented the race condition from occurring.
@@ -1,2 +0,0 @@
Fixed bug where a redundant NOP is not removed, causing an assertion to fail
in the compiler in debug mode.
@@ -1,3 +0,0 @@
Increase the C recursion limit by a factor of 3 for non-debug builds, except
for webassembly and s390 platforms which are unchanged. This mitigates some
regressions in 3.12 with deep recursion mixing builtin (C) and Python code.
@@ -1,2 +0,0 @@
Only use ``NULL`` in the exception stack to indicate an exception was
handled. Patch by Carey Metcalfe.
@@ -1 +0,0 @@
Improve :py:class:`super` error messages.
@@ -1 +0,0 @@
Fix segfault in the compiler on with statement with 19 context managers.
@@ -1 +0,0 @@
No longer issue spurious ``PY_UNWIND`` events for optimized calls to classes.
@@ -1,2 +0,0 @@
Fix an error that was causing the parser to try to overwrite existing errors
and crashing in the process. Patch by Pablo Galindo
@@ -1 +0,0 @@
Fixed bug where a redundant NOP is not removed, causing an assertion to fail in the compiler in debug mode.
@@ -1,2 +0,0 @@
Fix an issue that caused important instruction pointer updates to be
optimized out of tier two traces.
@@ -1,2 +0,0 @@
Changed error message in case of no 'in' keyword after 'for' in list
comprehensions
@@ -1,2 +0,0 @@
Check for a valid ``tp_version_tag`` before performing bytecode specializations that
rely on this value being usable.
@@ -1,2 +0,0 @@
Fix a regression in the :mod:`codeop` module that was causing it to incorrectly
identify incomplete f-strings. Patch by Pablo Galindo
@@ -1 +0,0 @@
Compiler changed so that synthetic jumps which are not at loop end no longer check the eval breaker.
@@ -1,2 +0,0 @@
Fix an issue where the finalizer of ``PyAsyncGenASend`` objects might not be
called if they were allocated from a free list.
@@ -1,2 +0,0 @@
Guarantee that all executors make progress. This then guarantees that tier 2
execution always makes progress.
@@ -1,3 +0,0 @@
On Windows, file descriptors wrapping Windows handles are now created non
inheritable by default (:pep:`446`). Patch by Zackery Spytz and Victor
Stinner.
@@ -1 +0,0 @@
Add typed stack effects to the interpreter DSL, along with various instruction annotations.
@@ -1,3 +0,0 @@
Set the C recursion limit to 4000 on Windows, and 10000 on Linux/OSX. This
seems to be near the sweet spot to maintain safety, but not compromise
backwards compatibility.
@@ -1 +0,0 @@
A jump leaving an exception handler back to normal code no longer checks the eval breaker.
@@ -1 +0,0 @@
Compiler duplicates basic blocks that have an eval breaker check, no line number, and multiple predecessors.
@@ -1,3 +0,0 @@
Document that the :mod:`asyncio` module contains code taken from `v0.16.0 of
the uvloop project <https://github.com/MagicStack/uvloop/tree/v0.16.0>`_, as
well as the required MIT licensing information.
@@ -1 +0,0 @@
Improved markup for valid options/values for methods ttk.treeview.column and ttk.treeview.heading, and for Layouts.
@@ -1 +0,0 @@
Relocate ``smtpd`` deprecation notice to its own section rather than under ``locale`` in What's New in Python 3.12 document
@@ -1 +0,0 @@
Enter the selected text when opening the "Replace" dialog.
@@ -1 +0,0 @@
Fix processing unsaved files when quitting IDLE on macOS.
@@ -1 +0,0 @@
Fix test_editor hang on macOS Catalina.
@@ -1 +0,0 @@
Fix the "Help -> IDLE Doc" menu bug in 3.11.7 and 3.12.1.
@@ -1 +0,0 @@
Fix rare failure of test.test_idle, in test_configdialog.
@@ -1,2 +0,0 @@
Improve the lists of features, editor key bindings, and shell key bingings
in the IDLE doc.
@@ -1 +0,0 @@
:class:`mailbox.Maildir` now ignores files with a leading dot.
@@ -1,2 +0,0 @@
Add a new :envvar:`PYTHON_HISTORY` environment variable to set the location
of a ``.python_history`` file.
@@ -1,2 +0,0 @@
Fixed a class inheritance issue that can cause segfaults when deriving two or more levels of subclasses from a base class of Structure or Union.
@@ -1,2 +0,0 @@
Fix some error messages for invalid ISO format string combinations in ``strptime()`` that referred to directives not contained in the format string.
Patch by Gordon P. Hemsley.
@@ -1,2 +0,0 @@
Fixed a race condition in :func:`shutil.rmtree` in which directory entries removed by another process or thread while ``shutil.rmtree()`` is running can cause it to raise FileNotFoundError. Patch by Jeffrey Kintscher.
@@ -1,3 +0,0 @@
:func:`warnings.filterwarnings()` and :func:`warnings.simplefilter()` now raise
appropriate exceptions instead of ``AssertionError``. Patch contributed by
Rémi Lapeyre.
@@ -1,2 +0,0 @@
The :meth:`ssl.SSLSocket.recv_into` method no longer requires the *buffer*
argument to implement ``__len__`` and supports buffers with arbitrary item size.
@@ -1 +0,0 @@
The :func:`!pydoc.ispackage` function has been deprecated.
@@ -1,2 +0,0 @@
Fixed memory leaks of :class:`pickle.Pickler` and :class:`pickle.Unpickler` involving cyclic references via the
internal memo mapping.
@@ -1,4 +0,0 @@
:func:`shutil.move` now moves a symlink into a directory when that
directory is the target of the symlink. This provides the same behavior as
the mv shell command. The previous behavior raised an exception. Patch by
Jeffrey Kintscher.
@@ -1,2 +0,0 @@
:class:`io.TextIOWrapper` now correctly handles the decoding buffer after
``read()`` and ``write()``.
@@ -1,3 +0,0 @@
The :func:`shutil.rmtree` function now ignores errors when calling
:func:`os.close` when *ignore_errors* is ``True``, and
:func:`os.close` no longer retried after error.
@@ -1,2 +0,0 @@
:class:`mmap.mmap` now has a *trackfd* parameter on Unix; if it is
``False``, the file descriptor specified by *fileno* will not be duplicated.
@@ -1,3 +0,0 @@
:func:`getpass.getuser` now raises :exc:`OSError` for all failures rather
than :exc:`ImportError` on systems lacking the :mod:`pwd` module or
:exc:`KeyError` if the password database is empty.
@@ -1,4 +0,0 @@
On Windows, ``tempfile.TemporaryDirectory`` previously masked a
``PermissionError`` with ``NotADirectoryError`` during directory cleanup. It
now correctly raises ``PermissionError`` if errors are not ignored. Patch by
Andrei Kulakov and Ken Jin.
@@ -1,2 +0,0 @@
Fix a bug in :class:`tempfile.TemporaryDirectory` cleanup, which now no longer
dereferences symlinks when working around file system permission errors.
@@ -1,3 +0,0 @@
Renamed :exc:`!re.error` to :exc:`PatternError` for clarity, and kept
:exc:`!re.error` for backward compatibility. Patch by Matthias Bussonnier and
Adam Chhina.
@@ -1,3 +0,0 @@
:class:`mailbox.MH` now supports folders that do not contain a
``.mh_sequences`` file (e.g. Claws Mail IMAP-cache folders). Patch by Serhiy
Storchaka.
@@ -1 +0,0 @@
Make hardcoded python name, a configurable parameter so that different implementations of python can override it instead of making huge diffs in sysconfig.py
@@ -1,3 +0,0 @@
Add :func:`warnings.deprecated`, a decorator to mark deprecated functions to
static type checkers and to warn on usage of deprecated classes and functions.
See :pep:`702`. Patch by Jelle Zijlstra.
@@ -1,2 +0,0 @@
:func:`runpy.run_path` now decodes path-like objects, making sure __file__
and sys.argv[0] of the module being run are always strings.
@@ -1 +0,0 @@
Support tab completion in :mod:`cmd` for ``editline``.
@@ -1,2 +0,0 @@
Add *follow_symlinks* keyword-only argument to :meth:`pathlib.Path.owner`
and :meth:`~pathlib.Path.group`, defaulting to ``True``.
@@ -1 +0,0 @@
Small (10 - 20%) and trivial performance improvement of :func:`urrlib.request.getproxies_environment`, typically useful when there are many environment variables to go over.
@@ -1,2 +0,0 @@
Fix possible reference leaks and crash when re-enter the ``__next__()`` method of
:class:`itertools.pairwise`.
@@ -1,3 +0,0 @@
Protect :mod:`zipfile` from "quoted-overlap" zipbomb. It now raises
BadZipFile when try to read an entry that overlaps with other entry or
central directory.
@@ -1,3 +0,0 @@
Add private ``pathlib._PurePathBase`` class: a base class for
:class:`pathlib.PurePath` that omits certain magic methods. It may be made
public (along with ``_PathBase``) in future.
@@ -1 +0,0 @@
Add ``track`` parameter to :class:`multiprocessing.shared_memory.SharedMemory` that allows using shared memory blocks without having to register with the POSIX resource tracker that automatically releases them upon process exit.
@@ -1,2 +0,0 @@
:meth:`cmd.Cmd.do_help` now cleans docstrings with :func:`inspect.cleandoc`
before writing them. Patch by Filip Łapkiewicz.
@@ -1,8 +0,0 @@
:func:`email.utils.getaddresses` and :func:`email.utils.parseaddr` now
return ``('', '')`` 2-tuples in more situations where invalid email
addresses are encountered instead of potentially inaccurate values. Add
optional *strict* parameter to these two functions: use ``strict=False`` to
get the old behavior, accept malformed inputs.
``getattr(email.utils, 'supports_strict_parsing', False)`` can be use to check
if the *strict* paramater is available. Patch by Thomas Dwyer and Victor
Stinner to improve the CVE-2023-27043 fix.
@@ -1 +0,0 @@
Redirect the output of ``interact`` command of :mod:`pdb` to the same channel as the debugger. Add tests and improve docs.
@@ -1,2 +0,0 @@
Fix crash during garbage collection of the :class:`io.BytesIO` buffer
object.

Some files were not shown because too many files have changed in this diff Show More