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