mirror of
https://github.com/python/cpython.git
synced 2025-08-04 17:08:35 +00:00
Python 3.13.0a3
This commit is contained in:
parent
b204c4beb4
commit
f009305a7d
235 changed files with 3018 additions and 890 deletions
|
@ -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.
|
||||
|
|
File diff suppressed because it is too large
Load diff
2414
Misc/NEWS.d/3.13.0a3.rst
Normal file
2414
Misc/NEWS.d/3.13.0a3.rst
Normal file
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
Loading…
Add table
Add a link
Reference in a new issue