mirror of https://github.com/python/cpython
Add the blurbify of the 3.10.0b1 changelog to the main branch (GH-25976)
This commit is contained in:
parent
4d4be47705
commit
164d6e1bb1
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
||||||
Implement :pep:`644`. Python now requires OpenSSL 1.1.1 or newer.
|
|
|
@ -1 +0,0 @@
|
||||||
Improved generated code refresh (AST/tokens/opcodes/keywords) on Windows.
|
|
|
@ -1,6 +0,0 @@
|
||||||
Add the :c:func:`Py_Is(x, y) <Py_Is>` function to test if the *x* object is the
|
|
||||||
*y* object, the same as ``x is y`` in Python. Add also the :c:func:`Py_IsNone`,
|
|
||||||
:c:func:`Py_IsTrue`, :c:func:`Py_IsFalse` functions to test if an object is,
|
|
||||||
respectively, the ``None`` singleton, the ``True`` singleton or the ``False``
|
|
||||||
singleton.
|
|
||||||
Patch by Victor Stinner.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Stable ABI and limited API definitions are generated from a central manifest
|
|
||||||
(:pep:`652`).
|
|
|
@ -1,3 +0,0 @@
|
||||||
:c:func:`PyOS_ReadlineFunctionPointer` is no longer exported by limited C API
|
|
||||||
headers and by ``python3.dll`` on Windows. Like any function that takes
|
|
||||||
``FILE*``, it is not part of the stable ABI.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:c:func:`PyMem_Calloc` is now available in the limited C API
|
|
||||||
(``Py_LIMITED_API``).
|
|
|
@ -1,3 +0,0 @@
|
||||||
Introduce :const:`Py_TPFLAGS_IMMUTABLETYPE` flag for immutable type objects, and
|
|
||||||
modify :c:func:`PyType_Ready` to set it for static types. Patch by
|
|
||||||
Erlend E. Aasland.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Add new C-API functions to control the state of the garbage collector:
|
|
||||||
:c:func:`PyGC_Enable()`, :c:func:`PyGC_Disable()`, :c:func:`PyGC_IsEnabled()`,
|
|
||||||
corresponding to the functions in the :mod:`gc` module.
|
|
|
@ -1,5 +0,0 @@
|
||||||
_PyInterpreterState_IDIncref() now calls _PyInterpreterState_IDInitref() and
|
|
||||||
always increments id_refcount. Previously, calling
|
|
||||||
_xxsubinterpreters.get_current() could create an id_refcount inconsistency
|
|
||||||
when a _xxsubinterpreters.InterpreterID object was deallocated. Patch by
|
|
||||||
Victor Stinner.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Remove the now unused ``PYMALLOC_DEBUG`` macro. Debug hooks on memory
|
|
||||||
allocators are now installed by default if Python is built in debug mode (if
|
|
||||||
``Py_DEBUG`` macro is defined). Moreover, they can now be used on Python
|
|
||||||
build in release mode (ex: using ``PYTHONMALLOC=debug`` environment
|
|
||||||
variable).
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow
|
|
||||||
creating type instances. Patch by Victor Stinner.
|
|
|
@ -1,3 +0,0 @@
|
||||||
When printing :exc:`AttributeError`, :c:func:`PyErr_Display` will offer
|
|
||||||
suggestions of similar attribute names in the object that the exception was
|
|
||||||
raised from. Patch by Pablo Galindo
|
|
|
@ -1,3 +0,0 @@
|
||||||
Prevented crashes in the AST validator and optimizer when compiling some
|
|
||||||
absurdly long expressions like ``"+0"*1000000``. :exc:`RecursionError` is
|
|
||||||
now raised instead.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Static methods (:func:`@staticmethod <staticmethod>`) are now callable as
|
|
||||||
regular functions. Patch by Victor Stinner.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Importlib now resolves relative paths when creating module spec objects from
|
|
||||||
file locations.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add GEN_START opcode. Marks start of generator, including async, or coroutine and handles
|
|
||||||
sending values to a newly created generator or coroutine.
|
|
|
@ -1 +0,0 @@
|
||||||
:data:`~object.__match_args__` is no longer allowed to be a list.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed a bug where ``anext(ait, default)`` would erroneously return None.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Static methods (:func:`@staticmethod <staticmethod>`) and class methods
|
|
||||||
(:func:`@classmethod <classmethod>`) now inherit the method attributes
|
|
||||||
(``__module__``, ``__name__``, ``__qualname__``, ``__doc__``,
|
|
||||||
``__annotations__``) and have a new ``__wrapped__`` attribute.
|
|
||||||
Patch by Victor Stinner.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Move the flag for checking whether tracing is enabled to the C stack, from the heap.
|
|
||||||
Should speed up dispatch in the interpreter.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improve ``SyntaxError`` error messages for invalid comparisons. Patch by
|
|
||||||
Pablo Galindo.
|
|
|
@ -1 +0,0 @@
|
||||||
:class:`ast.alias` nodes now include source location metadata attributes e.g. lineno, col_offset.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improve syntax errors in the parser for missing commas between expressions.
|
|
||||||
Patch by Pablo Galindo.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improve syntax errors for invalid dictionary literals. Patch by Pablo
|
|
||||||
Galindo.
|
|
|
@ -1,3 +0,0 @@
|
||||||
When printing :exc:`NameError` raised by the interpreter,
|
|
||||||
:c:func:`PyErr_Display` will offer suggestions of similar variable names in
|
|
||||||
the function that the exception was raised from. Patch by Pablo Galindo
|
|
|
@ -1 +0,0 @@
|
||||||
Data stack usage is much reduced for large literal and call expressions.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Constant tuple folding in bytecode optimizer now reuses tuple in constant
|
|
||||||
table.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improve the error message for :exc:`IndentationError` exceptions. Patch by
|
|
||||||
Pablo Galindo
|
|
|
@ -1,3 +0,0 @@
|
||||||
Hashes of NaN values now depend on object identity. Formerly, they always
|
|
||||||
hashed to 0 even though NaN values are not equal to one another. Having the
|
|
||||||
same hash for unequal values caused pile-ups in hash tables.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Revert making ``from __future__ import annotations`` the default. This follows
|
|
||||||
the Steering Council decision to postpone PEP 563 changes to at least Python
|
|
||||||
3.11. See the original email for more information regarding the decision:
|
|
||||||
https://mail.python.org/archives/list/python-dev@python.org/thread/CLVXXPQ2T2LQ5MP2Y53VVQFCXYWQJHKZ/.
|
|
||||||
Patch by Pablo Galindo.
|
|
|
@ -1,3 +0,0 @@
|
||||||
:exc:`SyntaxError` exceptions raised by the intepreter will highlight the
|
|
||||||
full error range of the expression that consistutes the syntax error itself,
|
|
||||||
instead of just where the problem is detected. Patch by Pablo Galindo.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Annotations for complex targets (everything beside simple names) no longer
|
|
||||||
cause any runtime effects with ``from __future__ import annotations``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
When performing structural pattern matching (:pep:`634`), captured names are
|
|
||||||
now left unbound until the *entire* pattern has matched successfully.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Usage of ``await``/``yield``/``yield from`` and named expressions within an
|
|
||||||
annotation is now forbidden when PEP 563 is activated.
|
|
|
@ -1,5 +0,0 @@
|
||||||
Match patterns now use new dedicated AST nodes (``MatchValue``,
|
|
||||||
``MatchSingleton``, ``MatchSequence``, ``MatchStar``, ``MatchMapping``,
|
|
||||||
``MatchClass``) rather than reusing expression AST nodes. ``MatchAs`` and
|
|
||||||
``MatchOr`` are now defined as pattern nodes rather than as expression nodes.
|
|
||||||
Patch by Nick Coghlan.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Change class and module objects to lazy-create empty annotations dicts on
|
|
||||||
demand. The annotations dicts are stored in the object's __dict__ for
|
|
||||||
backwards compatibility.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Make the :class:`array.array` type immutable. Patch by
|
|
||||||
Erlend E. Aasland.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Make :mod:`re` types immutable. Patch by
|
|
||||||
Erlend E. Aasland.
|
|
|
@ -1,4 +0,0 @@
|
||||||
The internal representation of line number tables is changed to not use
|
|
||||||
sentinels, and an explicit length parameter is added to the out of process
|
|
||||||
API function ``PyLineTable_InitAddressRange``. This makes the handling of
|
|
||||||
line number tables more robust in some circumstances.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Importing the :mod:`_signal` module in a subinterpreter has no longer side
|
|
||||||
effects.
|
|
|
@ -1,3 +0,0 @@
|
||||||
If the current position in a frame has no line number then set the f_lineno
|
|
||||||
attribute to None, instead of -1, to conform to PEP 626. This should not
|
|
||||||
normally be possible, but might occur in some unusual circumstances.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Set frame.f_lineno to the line number of the 'with' kweyword when executing
|
|
||||||
the call to ``__exit__``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Restore proper validation of complex literal value patterns when parsing
|
|
||||||
:keyword:`!match` blocks.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Use :c:member:`~PyTypeObject.tp_flags` on the class object to determine if the subject is a sequence
|
|
||||||
or mapping when pattern matching. Avoids the need to import :mod:`collections.abc` when pattern matching.
|
|
|
@ -1 +0,0 @@
|
||||||
Prevent classes being both a sequence and a mapping when pattern matching.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixing the example code in Doc/extending/extending.rst to declare and initialize the pmodule variable to be of the right type.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Update documentation to reflect that unparenthesized lambda expressions can
|
|
||||||
no longer be the expression part in an ``if`` clause in comprehensions and
|
|
||||||
generator expressions since Python 3.9.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix the Sphinx glossary_search extension: create the _static/ sub-directory
|
|
||||||
if it doesn't exist.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Update dataclasses documentation to express that FrozenInstanceError is
|
|
||||||
derived from AttributeError.
|
|
|
@ -1 +0,0 @@
|
||||||
The documentation on the PyContextVar C-API was clarified.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Document the new :const:`Py_TPFLAGS_MAPPING` and
|
|
||||||
:const:`Py_TPFLAGS_SEQUENCE` type flags.
|
|
|
@ -1 +0,0 @@
|
||||||
Add "Annotations Best Practices" document as a new HOWTO.
|
|
|
@ -1 +0,0 @@
|
||||||
IDLE's shell now shows prompts in a separate side-bar.
|
|
|
@ -1,2 +0,0 @@
|
||||||
IDLE dialog windows are now recognized as dialogs by window managers on
|
|
||||||
macOS and X Window.
|
|
|
@ -1 +0,0 @@
|
||||||
Indent IDLE Shell input with spaces instead of tabs
|
|
|
@ -1 +0,0 @@
|
||||||
Fix reference leak in test_squeezer. Patch by Pablo Galindo
|
|
|
@ -1,4 +0,0 @@
|
||||||
Add mouse actions to the shell sidebar. Left click and optional drag
|
|
||||||
selects one or more lines, as with the editor line number sidebar. Right
|
|
||||||
click after selecting raises a context menu with 'copy with prompts'. This
|
|
||||||
zips together prompts from the sidebar with lines from the selected text.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix a regression in the handling of ctypes' :data:`ctypes.c_wchar_p` type:
|
|
||||||
embedded null characters would cause a :exc:`ValueError` to be raised. Patch
|
|
||||||
by Zackery Spytz.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Provide a locale.localize() function, which converts a normalized number string
|
|
||||||
into a locale format.
|
|
|
@ -1 +0,0 @@
|
||||||
Covariance, Pearson's correlation, and simple linear regression functionality was added to statistics module. Patch by Tymoteusz Wołodźko.
|
|
|
@ -1 +0,0 @@
|
||||||
Added SNI support to :func:`ssl.get_server_certificate`.
|
|
|
@ -1,3 +0,0 @@
|
||||||
:func:`os.path.expanduser()` now refuses to guess Windows home directories if the basename of current user's home directory does not match their username.
|
|
||||||
|
|
||||||
:meth:`pathlib.Path.expanduser()` and :meth:`~pathlib.Path.home()` now consistently raise :exc:`RuntimeError` exception when a home directory cannot be resolved. Previously a :exc:`KeyError` exception could be raised on Windows when the ``"USERNAME"`` environment variable was unset.
|
|
|
@ -1 +0,0 @@
|
||||||
:meth:`pathlib.Path.stat` and :meth:`~pathlib.Path.chmod` now accept a *follow_symlinks* keyword-only argument for consistency with corresponding functions in the :mod:`os` module.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:func:`ssl.RAND_status` now returns a boolean value (as documented) instead
|
|
||||||
of ``1`` or ``0``.
|
|
|
@ -1 +0,0 @@
|
||||||
Expose X509_V_FLAG_PARTIAL_CHAIN ssl flag
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix dataclasses with ``InitVar``\s and :func:`~dataclasses.replace()`. Patch
|
|
||||||
by Claudiu Popa.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin.
|
|
|
@ -1,2 +0,0 @@
|
||||||
The :func:`ssl.get_server_certificate` function now has a *timeout*
|
|
||||||
parameter.
|
|
|
@ -1,4 +0,0 @@
|
||||||
Use a new output buffer management code for :mod:`bz2` / :mod:`lzma` /
|
|
||||||
:mod:`zlib` modules, and add ``.readall()`` function to
|
|
||||||
``_compression.DecompressReader`` class. These bring some performance
|
|
||||||
improvements. Patch by Ma Lin.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Certificate and PrivateKey classes were added to the ssl module.
|
|
||||||
Certificates and keys can now be loaded from memory buffer, too.
|
|
|
@ -1,9 +0,0 @@
|
||||||
Deprecated use of :func:`asyncio.get_event_loop` without running event loop.
|
|
||||||
Emit deprecation warning for :mod:`asyncio` functions which implicitly
|
|
||||||
create a :class:`~asyncio.Future` or :class:`~asyncio.Task` objects if there
|
|
||||||
is no running event loop and no explicit *loop* argument is passed:
|
|
||||||
:func:`~asyncio.ensure_future`, :func:`~asyncio.wrap_future`,
|
|
||||||
:func:`~asyncio.gather`, :func:`~asyncio.shield`,
|
|
||||||
:func:`~asyncio.as_completed` and constructors of :class:`~asyncio.Future`,
|
|
||||||
:class:`~asyncio.Task`, :class:`~asyncio.StreamReader`,
|
|
||||||
:class:`~asyncio.StreamReaderProtocol`.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Add ``slots`` parameter to ``dataclasses.dataclass`` decorator to
|
|
||||||
automatically generate ``__slots__`` for class. Patch provided by Yurii
|
|
||||||
Karabas.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:func:`typing.get_type_hints` now checks the local namespace of a class when
|
|
||||||
evaluating :pep:`563` annotations inside said class.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add `pathlib.Path.hardlink_to()` method that supersedes `link_to()`. The new
|
|
||||||
method has the same argument order as `symlink_to()`.
|
|
|
@ -1 +0,0 @@
|
||||||
:mod:`pprint` now has support for :class:`dataclasses.dataclass`. Patch by Lewis Gaul.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed processing of a dataclass that inherits from a frozen dataclass with no fields. It is now correctly detected as an error.
|
|
|
@ -1 +0,0 @@
|
||||||
:mod:`distutils.sysconfig` has been merged to :mod:`sysconfig`.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Install schemes in :mod:`distutils.command.install` are now loaded from
|
|
||||||
:mod:`sysconfig`.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Improve :meth:`sqlite3.Connection.backup` error handling. The error message
|
|
||||||
for non-existant target database names is now ``unknown database <database
|
|
||||||
name>`` instead of ``SQL logic error``. Patch by Erlend E. Aasland.
|
|
|
@ -1,3 +0,0 @@
|
||||||
New functions :func:`sysconfig.get_preferred_scheme` and
|
|
||||||
:func:`sysconfig.get_default_scheme` are added to query a platform for its
|
|
||||||
preferred "user", "home", and "prefix" (default) scheme names.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Improve :mod:`sqlite3` error handling: ``sqlite3_value_blob()`` errors that
|
|
||||||
set ``SQLITE_NOMEM`` now raise :exc:`MemoryError`. Patch by Erlend E.
|
|
||||||
Aasland.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Allow :class:`bytes` ``separator`` argument in ``urllib.parse.parse_qs`` and
|
|
||||||
``urllib.parse.parse_qsl`` when parsing :class:`str` query strings. Previously,
|
|
||||||
this raised a ``TypeError``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Improve error message for :func:`tarfile.open` when :mod:`lzma` / :mod:`bz2`
|
|
||||||
are unavailable. Patch by Anthony Sottile.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix problem with :attr:`~ssl.SSLContext.hostname_checks_common_name`. OpenSSL does not copy hostflags from *struct SSL_CTX* to *struct SSL*.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add the ability to specify keyword-only fields to dataclasses. These fields
|
|
||||||
will become keyword-only arguments to the generated __init__.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:func:`turtle.textinput` and :func:`turtle.numinput` create now a transient
|
|
||||||
window working on behalf of the canvas window.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Deprecate find_module() and find_loader() implementations in importlib and
|
|
||||||
zipimport.
|
|
|
@ -1,19 +0,0 @@
|
||||||
The following ``threading`` methods are now deprecated and should be replaced:
|
|
||||||
|
|
||||||
- ``currentThread`` => :func:`threading.current_thread`
|
|
||||||
|
|
||||||
- ``activeCount`` => :func:`threading.active_count`
|
|
||||||
|
|
||||||
- ``Condition.notifyAll`` => :meth:`threading.Condition.notify_all`
|
|
||||||
|
|
||||||
- ``Event.isSet`` => :meth:`threading.Event.is_set`
|
|
||||||
|
|
||||||
- ``Thread.setName`` => :attr:`threading.Thread.name`
|
|
||||||
|
|
||||||
- ``thread.getName`` => :attr:`threading.Thread.name`
|
|
||||||
|
|
||||||
- ``Thread.isDaemon`` => :attr:`threading.Thread.daemon`
|
|
||||||
|
|
||||||
- ``Thread.setDaemon`` => :attr:`threading.Thread.daemon`
|
|
||||||
|
|
||||||
Patch by Jelle Zijlstra.
|
|
|
@ -1,2 +0,0 @@
|
||||||
:mod:`tkinter` dialog windows are now recognized as dialogs by window
|
|
||||||
managers on macOS and X Window.
|
|
|
@ -1,3 +0,0 @@
|
||||||
Fix :mod:`sqlite3` regression for zero-sized blobs with converters, where
|
|
||||||
``b""`` was returned instead of ``None``. The regression was introduced by
|
|
||||||
GH-24723. Patch by Erlend E. Aasland.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Fix an issue where :data:`~object.__match_args__` generation could fail for
|
|
||||||
some :mod:`dataclasses`.
|
|
|
@ -1,4 +0,0 @@
|
||||||
A ``simple_enum`` decorator is added to the ``enum`` module to convert a
|
|
||||||
normal class into an Enum. ``test_simple_enum`` added to test simple enums
|
|
||||||
against a corresponding normal Enum. Standard library modules updated to
|
|
||||||
use ``simple_enum``.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Add ``encoding`` and ``errors`` parameters to :func:`fileinput.input` and
|
|
||||||
:class:`fileinput.FileInput`.
|
|
|
@ -1 +0,0 @@
|
||||||
Add an ``encoding`` parameter :func:`logging.fileConfig()`.
|
|
|
@ -1,3 +0,0 @@
|
||||||
The ``P.args`` and ``P.kwargs`` attributes of :class:`typing.ParamSpec` are
|
|
||||||
now instances of the new classes :class:`typing.ParamSpecArgs` and
|
|
||||||
:class:`typing.ParamSpecKwargs`, which enables a more useful ``repr()``. Patch by Jelle Zijlstra.
|
|
|
@ -1,3 +0,0 @@
|
||||||
In ``importlib.metadata``, incorporate changes from importlib_metadata 3.10:
|
|
||||||
Add mtime-based caching during distribution discovery. Flagged use of dict
|
|
||||||
result from ``entry_points()`` as deprecated.
|
|
|
@ -1,3 +0,0 @@
|
||||||
:func:`os.path.realpath` now accepts a *strict* keyword-only argument.
|
|
||||||
When set to ``True``, :exc:`OSError` is raised if a path doesn't exist
|
|
||||||
or a symlink loop is encountered.
|
|
|
@ -1,2 +0,0 @@
|
||||||
Implement :pep:`647` in the :mod:`typing` module by adding
|
|
||||||
:data:`TypeGuard`.
|
|
|
@ -1,4 +0,0 @@
|
||||||
The header files for :mod:`ssl` error codes are now OpenSSL
|
|
||||||
version-specific. Exceptions will now show correct reason and library
|
|
||||||
codes. The ``make_ssl_data.py`` script has been rewritten to use OpenSSL's
|
|
||||||
text file with error codes.
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue