Add the blurbify of the 3.10.0b1 changelog to the main branch (GH-25976)

This commit is contained in:
Ned Deily 2021-05-07 22:31:01 -04:00 committed by GitHub
parent 4d4be47705
commit 164d6e1bb1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
169 changed files with 1807 additions and 443 deletions

1807
Misc/NEWS.d/3.10.0b1.rst Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
Implement :pep:`644`. Python now requires OpenSSL 1.1.1 or newer.

View File

@ -1 +0,0 @@
Improved generated code refresh (AST/tokens/opcodes/keywords) on Windows.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Stable ABI and limited API definitions are generated from a central manifest
(:pep:`652`).

View File

@ -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.

View File

@ -1,2 +0,0 @@
:c:func:`PyMem_Calloc` is now available in the limited C API
(``Py_LIMITED_API``).

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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).

View File

@ -1,2 +0,0 @@
Add a new :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION` type flag to disallow
creating type instances. Patch by Victor Stinner.

View File

@ -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

View File

@ -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.

View File

@ -1,2 +0,0 @@
Static methods (:func:`@staticmethod <staticmethod>`) are now callable as
regular functions. Patch by Victor Stinner.

View File

@ -1,2 +0,0 @@
Importlib now resolves relative paths when creating module spec objects from
file locations.

View File

@ -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.

View File

@ -1 +0,0 @@
:data:`~object.__match_args__` is no longer allowed to be a list.

View File

@ -1 +0,0 @@
Fixed a bug where ``anext(ait, default)`` would erroneously return None.

View File

@ -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.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Improve ``SyntaxError`` error messages for invalid comparisons. Patch by
Pablo Galindo.

View File

@ -1 +0,0 @@
:class:`ast.alias` nodes now include source location metadata attributes e.g. lineno, col_offset.

View File

@ -1,2 +0,0 @@
Improve syntax errors in the parser for missing commas between expressions.
Patch by Pablo Galindo.

View File

@ -1,2 +0,0 @@
Improve syntax errors for invalid dictionary literals. Patch by Pablo
Galindo.

View File

@ -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

View File

@ -1 +0,0 @@
Data stack usage is much reduced for large literal and call expressions.

View File

@ -1,2 +0,0 @@
Constant tuple folding in bytecode optimizer now reuses tuple in constant
table.

View File

@ -1,2 +0,0 @@
Improve the error message for :exc:`IndentationError` exceptions. Patch by
Pablo Galindo

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Annotations for complex targets (everything beside simple names) no longer
cause any runtime effects with ``from __future__ import annotations``.

View File

@ -1,2 +0,0 @@
When performing structural pattern matching (:pep:`634`), captured names are
now left unbound until the *entire* pattern has matched successfully.

View File

@ -1,2 +0,0 @@
Usage of ``await``/``yield``/``yield from`` and named expressions within an
annotation is now forbidden when PEP 563 is activated.

View File

@ -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.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Make the :class:`array.array` type immutable. Patch by
Erlend E. Aasland.

View File

@ -1,2 +0,0 @@
Make :mod:`re` types immutable. Patch by
Erlend E. Aasland.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Importing the :mod:`_signal` module in a subinterpreter has no longer side
effects.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Set frame.f_lineno to the line number of the 'with' kweyword when executing
the call to ``__exit__``.

View File

@ -1,2 +0,0 @@
Restore proper validation of complex literal value patterns when parsing
:keyword:`!match` blocks.

View File

@ -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.

View File

@ -1 +0,0 @@
Prevent classes being both a sequence and a mapping when pattern matching.

View File

@ -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.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Fix the Sphinx glossary_search extension: create the _static/ sub-directory
if it doesn't exist.

View File

@ -1,2 +0,0 @@
Update dataclasses documentation to express that FrozenInstanceError is
derived from AttributeError.

View File

@ -1 +0,0 @@
The documentation on the PyContextVar C-API was clarified.

View File

@ -1,2 +0,0 @@
Document the new :const:`Py_TPFLAGS_MAPPING` and
:const:`Py_TPFLAGS_SEQUENCE` type flags.

View File

@ -1 +0,0 @@
Add "Annotations Best Practices" document as a new HOWTO.

View File

@ -1 +0,0 @@
IDLE's shell now shows prompts in a separate side-bar.

View File

@ -1,2 +0,0 @@
IDLE dialog windows are now recognized as dialogs by window managers on
macOS and X Window.

View File

@ -1 +0,0 @@
Indent IDLE Shell input with spaces instead of tabs

View File

@ -1 +0,0 @@
Fix reference leak in test_squeezer. Patch by Pablo Galindo

View File

@ -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.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Provide a locale.localize() function, which converts a normalized number string
into a locale format.

View File

@ -1 +0,0 @@
Covariance, Pearson's correlation, and simple linear regression functionality was added to statistics module. Patch by Tymoteusz Wołodźko.

View File

@ -1 +0,0 @@
Added SNI support to :func:`ssl.get_server_certificate`.

View File

@ -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.

View File

@ -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.

View File

@ -1,2 +0,0 @@
:func:`ssl.RAND_status` now returns a boolean value (as documented) instead
of ``1`` or ``0``.

View File

@ -1 +0,0 @@
Expose X509_V_FLAG_PARTIAL_CHAIN ssl flag

View File

@ -1,2 +0,0 @@
Fix dataclasses with ``InitVar``\s and :func:`~dataclasses.replace()`. Patch
by Claudiu Popa.

View File

@ -1 +0,0 @@
Fix thread locks in zlib module may go wrong in rare case. Patch by Ma Lin.

View File

@ -1,2 +0,0 @@
The :func:`ssl.get_server_certificate` function now has a *timeout*
parameter.

View File

@ -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.

View File

@ -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.

View File

@ -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`.

View File

@ -1,3 +0,0 @@
Add ``slots`` parameter to ``dataclasses.dataclass`` decorator to
automatically generate ``__slots__`` for class. Patch provided by Yurii
Karabas.

View File

@ -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.

View File

@ -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()`.

View File

@ -1 +0,0 @@
:mod:`pprint` now has support for :class:`dataclasses.dataclass`. Patch by Lewis Gaul.

View File

@ -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.

View File

@ -1 +0,0 @@
:mod:`distutils.sysconfig` has been merged to :mod:`sysconfig`.

View File

@ -1,2 +0,0 @@
Install schemes in :mod:`distutils.command.install` are now loaded from
:mod:`sysconfig`.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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``.

View File

@ -1,2 +0,0 @@
Improve error message for :func:`tarfile.open` when :mod:`lzma` / :mod:`bz2`
are unavailable. Patch by Anthony Sottile.

View File

@ -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*.

View File

@ -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__.

View File

@ -1,2 +0,0 @@
:func:`turtle.textinput` and :func:`turtle.numinput` create now a transient
window working on behalf of the canvas window.

View File

@ -1,2 +0,0 @@
Deprecate find_module() and find_loader() implementations in importlib and
zipimport.

View File

@ -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.

View File

@ -1,2 +0,0 @@
:mod:`tkinter` dialog windows are now recognized as dialogs by window
managers on macOS and X Window.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Fix an issue where :data:`~object.__match_args__` generation could fail for
some :mod:`dataclasses`.

View File

@ -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``.

View File

@ -1,2 +0,0 @@
Add ``encoding`` and ``errors`` parameters to :func:`fileinput.input` and
:class:`fileinput.FileInput`.

View File

@ -1 +0,0 @@
Add an ``encoding`` parameter :func:`logging.fileConfig()`.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -1,2 +0,0 @@
Implement :pep:`647` in the :mod:`typing` module by adding
:data:`TypeGuard`.

View File

@ -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