Python 3.9.0b1

This commit is contained in:
Łukasz Langa 2020-05-19 01:07:09 +02:00
parent a3ec3ad9e2
commit 97fe9cfd9f
No known key found for this signature in database
GPG Key ID: B26995E310250568
100 changed files with 967 additions and 180 deletions

View File

@ -39,7 +39,7 @@ import suspicious
ISSUE_URI = 'https://bugs.python.org/issue%s' ISSUE_URI = 'https://bugs.python.org/issue%s'
SOURCE_URI = 'https://github.com/python/cpython/tree/master/%s' SOURCE_URI = 'https://github.com/python/cpython/tree/3.9/%s'
# monkey-patch reST parser to disable alphabetic and roman enumerated lists # monkey-patch reST parser to disable alphabetic and roman enumerated lists
from docutils.parsers.rst.states import Body from docutils.parsers.rst.states import Body

View File

@ -19,11 +19,11 @@
#define PY_MAJOR_VERSION 3 #define PY_MAJOR_VERSION 3
#define PY_MINOR_VERSION 9 #define PY_MINOR_VERSION 9
#define PY_MICRO_VERSION 0 #define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA #define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_BETA
#define PY_RELEASE_SERIAL 6 #define PY_RELEASE_SERIAL 1
/* Version as a string */ /* Version as a string */
#define PY_VERSION "3.9.0a6+" #define PY_VERSION "3.9.0b1"
/*--end constants--*/ /*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2. /* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

View File

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Mon Apr 27 22:35:16 2020 # Autogenerated by Sphinx on Tue May 19 00:56:40 2020
topics = {'assert': 'The "assert" statement\n' topics = {'assert': 'The "assert" statement\n'
'**********************\n' '**********************\n'
'\n' '\n'

960
Misc/NEWS.d/3.9.0b1.rst Normal file
View File

@ -0,0 +1,960 @@
.. bpo: 40501
.. date: 2020-05-06-00-41-11
.. nonce: _61wv_
.. release date: 2020-05-19
.. section: Security
:mod:`uuid` no longer uses :mod:`ctypes` to load :file:`libuuid` or
:file:`rpcrt4.dll` at runtime.
..
.. bpo: 40663
.. date: 2020-05-17-20-38-12
.. nonce: u2aiZf
.. section: Core and Builtins
Correctly generate annotations where parentheses are omitted but required
(e.g: ``Type[(str, int, *other))]``.
..
.. bpo: 40596
.. date: 2020-05-11-20-53-52
.. nonce: dwOH_X
.. section: Core and Builtins
Fixed :meth:`str.isidentifier` for non-canonicalized strings containing
non-BMP characters on Windows.
..
.. bpo: 40593
.. date: 2020-05-11-13-50-52
.. nonce: yuOXj3
.. section: Core and Builtins
Improved syntax errors for invalid characters in source code.
..
.. bpo: 40585
.. date: 2020-05-11-00-19-42
.. nonce: yusknY
.. section: Core and Builtins
Fixed a bug when using :func:`codeop.compile_command` that was causing
exceptions to be swallowed with the new parser. Patch by Pablo Galindo
..
.. bpo: 40566
.. date: 2020-05-09-01-39-16
.. nonce: wlcjW_
.. section: Core and Builtins
Apply :pep:`573` to :mod:`abc`.
..
.. bpo: 40502
.. date: 2020-05-08-03-25-26
.. nonce: e-VCyL
.. section: Core and Builtins
Initialize ``n->n_col_offset``. (Patch by Joannah Nanjekye)
..
.. bpo: 40527
.. date: 2020-05-06-14-52-35
.. nonce: gTNKuy
.. section: Core and Builtins
Fix command line argument parsing: no longer write errors multiple times
into stderr.
..
.. bpo: 1635741
.. date: 2020-05-05-21-11-35
.. nonce: ggwD3C
.. section: Core and Builtins
Port :mod:`errno` to multiphase initialization (:pep:`489`).
..
.. bpo: 40523
.. date: 2020-05-05-20-36-15
.. nonce: hKZVTB
.. section: Core and Builtins
Add pass-throughs for :func:`hash` and :func:`reversed` to
:class:`weakref.proxy` objects. Patch by Pablo Galindo.
..
.. bpo: 1635741
.. date: 2020-05-05-03-36-27
.. nonce: ARv1YV
.. section: Core and Builtins
Port :mod:`syslog` to multiphase initialization (:pep:`489`).
..
.. bpo: 40246
.. date: 2020-05-03-23-28-11
.. nonce: c1D7x8
.. section: Core and Builtins
Reporting a specialised error message for invalid string prefixes, which was
introduced in :issue:`40246`, is being reverted due to backwards
compatibility concerns for strings that immediately follow a reserved
keyword without whitespace between them. Constructs like `bg="#d00" if clear
else"#fca"` were failing to parse, which is not an acceptable breakage on
such short notice.
..
.. bpo: 40417
.. date: 2020-05-01-19-04-52
.. nonce: Sti2lJ
.. section: Core and Builtins
Fix imp module deprecation warning when PyImport_ReloadModule is called.
Patch by Robert Rouhani.
..
.. bpo: 40408
.. date: 2020-05-01-15-36-14
.. nonce: XzQI59
.. section: Core and Builtins
Fixed support of nested type variables in GenericAlias (e.g.
``list[list[T]]``).
..
.. bpo: 1635741
.. date: 2020-04-30-01-44-42
.. nonce: GKtjqr
.. section: Core and Builtins
Port _stat module to multiphase initialization (:pep:`489`).
..
.. bpo: 29587
.. date: 2020-04-30-00-50-25
.. nonce: oEwSq
.. section: Core and Builtins
Enable implicit exception chaining when calling :meth:`generator.throw`.
..
.. bpo: 40328
.. date: 2020-04-19-22-23-32
.. nonce: gWJ53f
.. section: Core and Builtins
Add tools for generating mappings headers for CJKCodecs.
..
.. bpo: 40228
.. date: 2020-04-08-17-02-35
.. nonce: bRaaJ-
.. section: Core and Builtins
Setting frame.f_lineno is now robust w.r.t. changes in the
source-to-bytecode compiler
..
.. bpo: 38880
.. date: 2019-11-22-14-34-47
.. nonce: evcCPa
.. section: Core and Builtins
Added the ability to list interpreters associated with channel ends in the
internal subinterpreters module.
..
.. bpo: 37986
.. date: 2019-11-20-09-50-58
.. nonce: o0lmA7
.. section: Core and Builtins
Improve performance of :c:func:`PyLong_FromDouble` for values that fit into
:c:type:`long`.
..
.. bpo: 40662
.. date: 2020-05-18-12-56-45
.. nonce: dfornR
.. section: Library
Fixed :func:`ast.get_source_segment` for ast nodes that have incomplete
location information. Patch by Irit Katriel.
..
.. bpo: 40665
.. date: 2020-05-17-21-56-38
.. nonce: msB7u5
.. section: Library
Convert :mod:`bisect` to use Argument Clinic.
..
.. bpo: 40536
.. date: 2020-05-17-14-00-12
.. nonce: FCpoRA
.. section: Library
Added the :func:`~zoneinfo.available_timezones` function to the
:mod:`zoneinfo` module. Patch by Paul Ganssle.
..
.. bpo: 40645
.. date: 2020-05-16-19-34-38
.. nonce: 7ibMt-
.. section: Library
The :class:`hmac.HMAC` exposes internal implementation details. The
attributes ``digest_cons``, ``inner``, and ``outer`` are deprecated and will
be removed in the future.
..
.. bpo: 40645
.. date: 2020-05-16-17-05-02
.. nonce: wYSkjT
.. section: Library
The internal module ``_hashlib`` wraps and exposes OpenSSL's HMAC API. The
new code will be used in Python 3.10 after the internal implementation
details of the pure Python HMAC module are no longer part of the public API.
..
.. bpo: 40637
.. date: 2020-05-15-21-57-10
.. nonce: lb3Bnp
.. section: Library
Builtin hash modules can now be disabled or selectively enabled with
``configure --with-builtin-hashlib-hashes=sha3,blake1`` or
``--without-builtin-hashlib-hashes``.
..
.. bpo: 37630
.. date: 2020-05-15-19-53-18
.. nonce: O5kgAw
.. section: Library
The :mod:`hashlib` module can now use SHA3 hashes and SHAKE XOF from OpenSSL
when available.
..
.. bpo: 40479
.. date: 2020-05-15-17-38-21
.. nonce: yamSCh
.. section: Library
The :mod:`hashlib` now compiles with OpenSSL 3.0.0-alpha2.
..
.. bpo: 40257
.. date: 2020-05-13-23-10-25
.. nonce: aR4TGp
.. section: Library
Revert changes to :func:`inspect.getdoc`.
..
.. bpo: 40607
.. date: 2020-05-13-15-32-13
.. nonce: uSPFCi
.. section: Library
When cancelling a task due to timeout, :meth:`asyncio.wait_for` will now
propagate the exception if an error happens during cancellation. Patch by
Roman Skurikhin.
..
.. bpo: 40612
.. date: 2020-05-13-10-23-29
.. nonce: gOIreM
.. section: Library
Fix edge cases in SyntaxError formatting. If the offset is <= 0, no caret is
printed. If the offset is > line length, the caret is printed pointing just
after the last character.
..
.. bpo: 40597
.. date: 2020-05-11-19-17-23
.. nonce: 4SGfgm
.. section: Library
If text content lines are longer than policy.max_line_length, always use a
content-encoding to make sure they are wrapped.
..
.. bpo: 40571
.. date: 2020-05-09-15-38-25
.. nonce: kOXZGC
.. section: Library
Added functools.cache() as a simpler, more discoverable way to access the
unbounded cache variant of lru_cache(maxsize=None).
..
.. bpo: 40503
.. date: 2020-05-08-15-48-39
.. nonce: elZyxc
.. section: Library
:pep:`615`, the :mod:`zoneinfo` module. Adds support for the IANA time zone
database.
..
.. bpo: 40397
.. date: 2020-05-07-21-22-04
.. nonce: PVWFAn
.. section: Library
Removed attributes ``__args__`` and ``__parameters__`` from special generic
aliases like ``typing.List`` (not subscripted).
..
.. bpo: 40549
.. date: 2020-05-07-20-11-51
.. nonce: 6FiRSV
.. section: Library
Convert posixmodule.c ("posix" or "nt" module) to the multiphase
initialization (PEP 489).
..
.. bpo: 31033
.. date: 2020-05-07-06-41-20
.. nonce: waCj3n
.. section: Library
Add a ``msg`` argument to :meth:`Future.cancel` and :meth:`Task.cancel`.
..
.. bpo: 40541
.. date: 2020-05-06-15-36-47
.. nonce: LlYghL
.. section: Library
Added an optional *counts* parameter to random.sample().
..
.. bpo: 40515
.. date: 2020-05-06-13-51-19
.. nonce: TUCvYB
.. section: Library
The :mod:`ssl` and :mod:`hashlib` modules now actively check that OpenSSL is
build with thread support. Python 3.7.0 made thread support mandatory and no
longer works safely with a no-thread builds.
..
.. bpo: 31033
.. date: 2020-05-06-02-33-00
.. nonce: aX12pw
.. section: Library
When a :class:`asyncio.Task` is cancelled, the exception traceback now
chains all the way back to where the task was first interrupted.
..
.. bpo: 40504
.. date: 2020-05-05-17-12-47
.. nonce: EX6wPn
.. section: Library
:func:`functools.lru_cache` objects can now be the targets of weakrefs.
..
.. bpo: 40559
.. date: 2020-05-05-08-12-51
.. nonce: 112wwa
.. section: Library
Fix possible memory leak in the C implementation of :class:`asyncio.Task`.
..
.. bpo: 40480
.. date: 2020-05-04-21-21-43
.. nonce: mjldWa
.. section: Library
``fnmatch.fnmatch()`` could take exponential time in the presence of
multiple ``*`` pattern characters. This was repaired by generating more
elaborate regular expressions to avoid futile backtracking.
..
.. bpo: 40495
.. date: 2020-05-04-11-20-49
.. nonce: TyTc2O
.. section: Library
:mod:`compileall` is now able to use hardlinks to prevent duplicates in a
case when ``.pyc`` files for different optimization levels have the same
content.
..
.. bpo: 40457
.. date: 2020-05-02-17-17-37
.. nonce: EXReI1
.. section: Library
The ssl module now support OpenSSL builds without TLS 1.0 and 1.1 methods.
..
.. bpo: 40355
.. date: 2020-05-02-14-24-48
.. nonce: xTujaB
.. section: Library
Improve error reporting in :func:`ast.literal_eval` in the presence of
malformed :class:`ast.Dict` nodes instead of silently ignoring any
non-conforming elements. Patch by Curtis Bucher.
..
.. bpo: 40465
.. date: 2020-05-02-12-00-28
.. nonce: qfCjOD
.. section: Library
Deprecated the optional *random* argument to *random.shuffle()*.
..
.. bpo: 40459
.. date: 2020-05-02-04-29-31
.. nonce: fSAYVD
.. section: Library
:func:`platform.win32_ver` now produces correct *ptype* strings instead of
empty strings.
..
.. bpo: 39435
.. date: 2020-05-01-23-24-25
.. nonce: mgb6ib
.. section: Library
The first argument of :func:`pickle.loads` is now positional-only.
..
.. bpo: 39305
.. date: 2020-05-01-00-22-58
.. nonce: Cuwu_H
.. section: Library
Update :mod:`nntplib` to merge :class:`nntplib.NNTP` and
:class:`nntplib._NNTPBase`. Patch by Dong-hee Na.
..
.. bpo: 32494
.. date: 2020-04-30-22-25-08
.. nonce: 1xaU5l
.. section: Library
Update :mod:`dbm.gnu` to use gdbm_count if possible when calling
:func:`len`. Patch by Dong-hee Na.
..
.. bpo: 40453
.. date: 2020-04-30-22-04-58
.. nonce: ggz7sl
.. section: Library
Add ``isolated=True`` keyword-only parameter to
``_xxsubinterpreters.create()``. An isolated subinterpreter cannot spawn
threads, spawn a child process or call ``os.fork()``.
..
.. bpo: 40286
.. date: 2020-04-29-18-02-16
.. nonce: txbQNx
.. section: Library
Remove ``_random.Random.randbytes()``: the C implementation of
``randbytes()``. Implement the method in Python to ease subclassing:
``randbytes()`` now directly reuses ``getrandbits()``.
..
.. bpo: 40394
.. date: 2020-04-28-18-59-48
.. nonce: Yi5uuM
.. section: Library
Added default arguments to
:meth:`difflib.SequenceMatcher.find_longest_match()`.
..
.. bpo: 39995
.. date: 2020-04-28-18-25-27
.. nonce: WmA3Gk
.. section: Library
Fix a race condition in concurrent.futures._ThreadWakeup: access to
_ThreadWakeup is now protected with the shutdown lock.
..
.. bpo: 30966
.. date: 2020-04-27-20-27-39
.. nonce: Xmtlqu
.. section: Library
``Process.shutdown(wait=True)`` of :mod:`concurrent.futures` now closes
explicitly the result queue.
..
.. bpo: 30966
.. date: 2020-04-27-17-19-09
.. nonce: _5lDx-
.. section: Library
Add a new :meth:`~multiprocessing.SimpleQueue.close` method to the
:class:`~multiprocessing.SimpleQueue` class to explicitly close the queue.
..
.. bpo: 39966
.. date: 2020-04-27-14-48-43
.. nonce: N5yXUe
.. section: Library
Revert bpo-25597. :class:`unittest.mock.MagicMock` with wraps' set uses
default return values for magic methods.
..
.. bpo: 39791
.. date: 2020-04-27-00-51-40
.. nonce: wv8Dxn
.. section: Library
Added ``files()`` function to importlib.resources with support for
subdirectories in package data, matching backport in importlib_resources
1.5.
..
.. bpo: 40375
.. date: 2020-04-25-23-14-11
.. nonce: 5GuK2A
.. section: Library
:meth:`imaplib.IMAP4.unselect` is added. Patch by Dong-hee Na.
..
.. bpo: 40389
.. date: 2020-04-25-20-00-58
.. nonce: FPA6f0
.. section: Library
``repr()`` now returns ``typing.Optional[T]`` when called for
``typing.Union`` of two types, one of which is ``NoneType``.
..
.. bpo: 40291
.. date: 2020-04-14-22-31-27
.. nonce: _O8hXn
.. section: Library
Add support for CAN_J1939 sockets (available on Linux 5.4+)
..
.. bpo: 40273
.. date: 2020-04-14-09-54-35
.. nonce: IN73Ks
.. section: Library
:class:`types.MappingProxyType` is now reversible.
..
.. bpo: 39075
.. date: 2020-04-07-23-44-06
.. nonce: hgck3j
.. section: Library
The repr for :class:`types.SimpleNamespace` is now insertion ordered rather
than alphabetical.
..
.. bpo: 40192
.. date: 2020-04-05-04-16-14
.. nonce: nk8uRJ
.. section: Library
On AIX, :func:`~time.thread_time` is now implemented with
``thread_cputime()`` which has nanosecond resolution, rather than
``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` which has a resolution of 10 ms.
Patch by Batuhan Taskaya.
..
.. bpo: 40025
.. date: 2020-03-21-05-26-38
.. nonce: DTLtyq
.. section: Library
Raise TypeError when _generate_next_value_ is defined after members. Patch
by Ethan Onstott.
..
.. bpo: 39058
.. date: 2019-12-15-19-17-10
.. nonce: 7ci-vd
.. section: Library
In the argparse module, the repr for Namespace() and other argument holders
now displayed in the order attributes were added. Formerly, it displayed in
alphabetical order even though argument order is preserved the user visible
parts of the module.
..
.. bpo: 24416
.. date: 2019-09-01-15-17-49
.. nonce: G8Ww1U
.. section: Library
The ``isocalendar()`` methods of :class:`datetime.date` and
:class:`datetime.datetime` now return a :term:`named tuple` instead of a
:class:`tuple`.
..
.. bpo: 34790
.. date: 2020-05-08-20-18-55
.. nonce: t6kW_1
.. section: Documentation
Add version of removal for explicit passing of coros to `asyncio.wait()`'s
documentation
..
.. bpo: 40561
.. date: 2020-05-08-08-39-40
.. nonce: ZMB_2i
.. section: Documentation
Provide docstrings for webbrowser open functions.
..
.. bpo: 40499
.. date: 2020-05-04-14-20-02
.. nonce: tjLSo8
.. section: Documentation
Mention that :func:`asyncio.wait` requires a non-empty set of awaitables.
..
.. bpo: 39705
.. date: 2020-03-14-18-37-06
.. nonce: nQVqig
.. section: Documentation
Tutorial example for sorted() in the Loop Techniques section is given a
better explanation. Also a new example is included to explain sorted()'s
basic behavior.
..
.. bpo: 39435
.. date: 2020-01-24-05-42-57
.. nonce: EFcdFU
.. section: Documentation
Fix an incorrect signature for :func:`pickle.loads` in the docs
..
.. bpo: 40055
.. date: 2020-05-15-01-21-44
.. nonce: Xp4aP9
.. section: Tests
distutils.tests now saves/restores warnings filters to leave them unchanged.
Importing tests imports docutils which imports pkg_resources which adds a
warnings filter.
..
.. bpo: 40436
.. date: 2020-04-29-16-08-24
.. nonce: gDMnYl
.. section: Tests
test_gdb and test.pythoninfo now check gdb command exit code.
..
.. bpo: 40653
.. date: 2020-05-17-03-33-00
.. nonce: WI8UGn
.. section: Build
Move _dirnameW out of HAVE_SYMLINK to fix a potential compiling issue.
..
.. bpo: 40514
.. date: 2020-05-05-15-39-11
.. nonce: bZZmuS
.. section: Build
Add ``--with-experimental-isolated-subinterpreters`` build option to
``configure``: better isolate subinterpreters, experimental build mode.
..
.. bpo: 40650
.. date: 2020-05-17-00-08-13
.. nonce: 4euMtU
.. section: Windows
Include winsock2.h in pytime.c for timeval.
..
.. bpo: 40458
.. date: 2020-05-01-20-57-57
.. nonce: Eb0ueI
.. section: Windows
Increase reserved stack space to prevent overflow crash on Windows.
..
.. bpo: 39148
.. date: 2020-03-23-19-07-55
.. nonce: W1YJEb
.. section: Windows
Add IPv6 support to :mod:`asyncio` datagram endpoints in ProactorEventLoop.
Change the raised exception for unknown address families to ValueError as
it's not coming from Windows API.
..
.. bpo: 34956
.. date: 2020-05-18-02-43-11
.. nonce: 35IcGF
.. section: macOS
_tkinter now builds and links with non-system Tcl and Tk frameworks if they
are installed in /Library/Frameworks as had been the case on older releases
of macOS. If a macOS SDK is explicitly configured, by using ./configure
--enable-universalsdk= or -isysroot, only a Library/Frameworks directory in
the SDK itself is searched. The default behavior can still be overridden
with configure --with-tcltk-includes and --with-tcltk-libs.
..
.. bpo: 35569
.. date: 2020-04-15-00-02-47
.. nonce: 02_1MV
.. section: macOS
Expose RFC 3542 IPv6 socket options.
..
.. bpo: 40479
.. date: 2020-05-15-17-48-25
.. nonce: B1gBl-
.. section: Tools/Demos
Update multissltest helper to test with latest OpenSSL 1.0.2, 1.1.0, 1.1.1,
and 3.0.0-alpha.
..
.. bpo: 40431
.. date: 2020-04-29-01-32-17
.. nonce: B_aEZ0
.. section: Tools/Demos
Fix a syntax typo in ``turtledemo`` that now raises a ``SyntaxError``.
..
.. bpo: 40163
.. date: 2020-04-03-08-32-31
.. nonce: lX8K4B
.. section: Tools/Demos
Fix multissltest tool. OpenSSL has changed download URL for old releases.
The multissltest tool now tries to download from current and old download
URLs.
..
.. bpo: 39465
.. date: 2020-05-14-00-36-19
.. nonce: 3a5g-X
.. section: C API
Remove the ``_PyUnicode_ClearStaticStrings()`` function from the C API.
..
.. bpo: 38787
.. date: 2020-05-10-16-39-08
.. nonce: XzQ59O
.. section: C API
Add PyCFunction_CheckExact() macro for exact type checks now that we allow
subtypes of PyCFunction, as well as PyCMethod_CheckExact() and
PyCMethod_Check() for the new PyCMethod subtype.
..
.. bpo: 40545
.. date: 2020-05-07-11-41-13
.. nonce: 51DzF1
.. section: C API
Declare ``_PyErr_GetTopmostException()`` with ``PyAPI_FUNC()`` to properly
export the function in the C API. The function remains private (``_Py``)
prefix.
..
.. bpo: 40412
.. date: 2020-05-01-17-28-04
.. nonce: dE0D8N
.. section: C API
Nullify inittab_copy during finalization, preventing future interpreter
initializations in an embedded situation from crashing. Patch by Gregory
Szorc.
..
.. bpo: 40429
.. date: 2020-04-29-01-39-41
.. nonce: VQfvta
.. section: C API
The :c:func:`PyThreadState_GetFrame` function now returns a strong reference
to the frame.
..
.. bpo: 40428
.. date: 2020-04-28-23-17-27
.. nonce: rmtpru
.. section: C API
Remove the following functions from the C API. Call :c:func:`PyGC_Collect`
explicitly to free all free lists.
* ``PyAsyncGen_ClearFreeLists()``
* ``PyContext_ClearFreeList()``
* ``PyDict_ClearFreeList()``
* ``PyFloat_ClearFreeList()``
* ``PyFrame_ClearFreeList()``
* ``PyList_ClearFreeList()``
* ``PySet_ClearFreeList()``
* ``PyTuple_ClearFreeList()``
..
.. bpo: 40421
.. date: 2020-04-28-19-29-36
.. nonce: 3uIIaB
.. section: C API
New :c:func:`PyFrame_GetBack` function: get the frame next outer frame.
..
.. bpo: 40421
.. date: 2020-04-28-15-47-58
.. nonce: ZIzOV0
.. section: C API
New :c:func:`PyFrame_GetCode` function: return a borrowed reference to the
frame code.
..
.. bpo: 40217
.. date: 2020-04-27-14-00-38
.. nonce: sgn6c8
.. section: C API
Ensure that instances of types created with
:c:func:`PyType_FromSpecWithBases` will visit its class object when
traversing references in the garbage collector (implemented as an extension
of the provided :c:member:`~PyTypeObject.tp_traverse`). Patch by Pablo
Galindo.
..
.. bpo: 38787
.. date: 2020-01-22-12-38-59
.. nonce: HUH6hd
.. section: C API
Module C state is now accessible from C-defined heap type methods
(:pep:`573`). Patch by Marcel Plch and Petr Viktorin.

View File

@ -1,2 +0,0 @@
Add ``--with-experimental-isolated-subinterpreters`` build option to
``configure``: better isolate subinterpreters, experimental build mode.

View File

@ -1 +0,0 @@
Move _dirnameW out of HAVE_SYMLINK to fix a potential compiling issue.

View File

@ -1,2 +0,0 @@
Module C state is now accessible from C-defined heap type methods (:pep:`573`).
Patch by Marcel Plch and Petr Viktorin.

View File

@ -1,5 +0,0 @@
Ensure that instances of types created with
:c:func:`PyType_FromSpecWithBases` will visit its class object when
traversing references in the garbage collector (implemented as an extension
of the provided :c:member:`~PyTypeObject.tp_traverse`). Patch by Pablo
Galindo.

View File

@ -1,2 +0,0 @@
New :c:func:`PyFrame_GetCode` function: return a borrowed reference to the
frame code.

View File

@ -1 +0,0 @@
New :c:func:`PyFrame_GetBack` function: get the frame next outer frame.

View File

@ -1,11 +0,0 @@
Remove the following functions from the C API. Call :c:func:`PyGC_Collect`
explicitly to free all free lists.
* ``PyAsyncGen_ClearFreeLists()``
* ``PyContext_ClearFreeList()``
* ``PyDict_ClearFreeList()``
* ``PyFloat_ClearFreeList()``
* ``PyFrame_ClearFreeList()``
* ``PyList_ClearFreeList()``
* ``PySet_ClearFreeList()``
* ``PyTuple_ClearFreeList()``

View File

@ -1,2 +0,0 @@
The :c:func:`PyThreadState_GetFrame` function now returns a strong reference
to the frame.

View File

@ -1 +0,0 @@
Nullify inittab_copy during finalization, preventing future interpreter initializations in an embedded situation from crashing. Patch by Gregory Szorc.

View File

@ -1,3 +0,0 @@
Declare ``_PyErr_GetTopmostException()`` with ``PyAPI_FUNC()`` to properly
export the function in the C API. The function remains private (``_Py``)
prefix.

View File

@ -1,2 +0,0 @@
Add PyCFunction_CheckExact() macro for exact type checks now that we allow subtypes of PyCFunction,
as well as PyCMethod_CheckExact() and PyCMethod_Check() for the new PyCMethod subtype.

View File

@ -1 +0,0 @@
Remove the ``_PyUnicode_ClearStaticStrings()`` function from the C API.

View File

@ -1,2 +0,0 @@
Improve performance of :c:func:`PyLong_FromDouble` for values that fit into
:c:type:`long`.

View File

@ -1 +0,0 @@
Added the ability to list interpreters associated with channel ends in the internal subinterpreters module.

View File

@ -1 +0,0 @@
Setting frame.f_lineno is now robust w.r.t. changes in the source-to-bytecode compiler

View File

@ -1 +0,0 @@
Add tools for generating mappings headers for CJKCodecs.

View File

@ -1 +0,0 @@
Enable implicit exception chaining when calling :meth:`generator.throw`.

View File

@ -1 +0,0 @@
Port _stat module to multiphase initialization (:pep:`489`).

View File

@ -1,2 +0,0 @@
Fixed support of nested type variables in GenericAlias (e.g.
``list[list[T]]``).

View File

@ -1 +0,0 @@
Fix imp module deprecation warning when PyImport_ReloadModule is called. Patch by Robert Rouhani.

View File

@ -1 +0,0 @@
Reporting a specialised error message for invalid string prefixes, which was introduced in :issue:`40246`, is being reverted due to backwards compatibility concerns for strings that immediately follow a reserved keyword without whitespace between them. Constructs like `bg="#d00" if clear else"#fca"` were failing to parse, which is not an acceptable breakage on such short notice.

View File

@ -1 +0,0 @@
Port :mod:`syslog` to multiphase initialization (:pep:`489`).

View File

@ -1,2 +0,0 @@
Add pass-throughs for :func:`hash` and :func:`reversed` to
:class:`weakref.proxy` objects. Patch by Pablo Galindo.

View File

@ -1 +0,0 @@
Port :mod:`errno` to multiphase initialization (:pep:`489`).

View File

@ -1,2 +0,0 @@
Fix command line argument parsing: no longer write errors multiple times
into stderr.

View File

@ -1,2 +0,0 @@
Initialize ``n->n_col_offset``.
(Patch by Joannah Nanjekye)

View File

@ -1 +0,0 @@
Apply :pep:`573` to :mod:`abc`.

View File

@ -1,2 +0,0 @@
Fixed a bug when using :func:`codeop.compile_command` that was causing
exceptions to be swallowed with the new parser. Patch by Pablo Galindo

View File

@ -1 +0,0 @@
Improved syntax errors for invalid characters in source code.

View File

@ -1,2 +0,0 @@
Fixed :meth:`str.isidentifier` for non-canonicalized strings containing
non-BMP characters on Windows.

View File

@ -1,2 +0,0 @@
Correctly generate annotations where parentheses are omitted but required
(e.g: ``Type[(str, int, *other))]``.

View File

@ -1 +0,0 @@
Fix an incorrect signature for :func:`pickle.loads` in the docs

View File

@ -1,2 +0,0 @@
Tutorial example for sorted() in the Loop Techniques section is given a better explanation.
Also a new example is included to explain sorted()'s basic behavior.

View File

@ -1 +0,0 @@
Mention that :func:`asyncio.wait` requires a non-empty set of awaitables.

View File

@ -1 +0,0 @@
Provide docstrings for webbrowser open functions.

View File

@ -1 +0,0 @@
Add version of removal for explicit passing of coros to `asyncio.wait()`'s documentation

View File

@ -1,3 +0,0 @@
The ``isocalendar()`` methods of :class:`datetime.date` and
:class:`datetime.datetime` now return a :term:`named tuple`
instead of a :class:`tuple`.

View File

@ -1,4 +0,0 @@
In the argparse module, the repr for Namespace() and other argument holders
now displayed in the order attributes were added. Formerly, it displayed in
alphabetical order even though argument order is preserved the user visible
parts of the module.

View File

@ -1 +0,0 @@
Raise TypeError when _generate_next_value_ is defined after members. Patch by Ethan Onstott.

View File

@ -1,4 +0,0 @@
On AIX, :func:`~time.thread_time` is now implemented with ``thread_cputime()``
which has nanosecond resolution, rather than
``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` which has a resolution of 10 ms.
Patch by Batuhan Taskaya.

View File

@ -1,2 +0,0 @@
The repr for :class:`types.SimpleNamespace` is now insertion ordered rather
than alphabetical.

View File

@ -1 +0,0 @@
:class:`types.MappingProxyType` is now reversible.

View File

@ -1 +0,0 @@
Add support for CAN_J1939 sockets (available on Linux 5.4+)

View File

@ -1 +0,0 @@
``repr()`` now returns ``typing.Optional[T]`` when called for ``typing.Union`` of two types, one of which is ``NoneType``.

View File

@ -1 +0,0 @@
:meth:`imaplib.IMAP4.unselect` is added. Patch by Dong-hee Na.

View File

@ -1 +0,0 @@
Added ``files()`` function to importlib.resources with support for subdirectories in package data, matching backport in importlib_resources 1.5.

View File

@ -1,2 +0,0 @@
Revert bpo-25597. :class:`unittest.mock.MagicMock` with wraps' set uses
default return values for magic methods.

View File

@ -1,2 +0,0 @@
Add a new :meth:`~multiprocessing.SimpleQueue.close` method to the
:class:`~multiprocessing.SimpleQueue` class to explicitly close the queue.

View File

@ -1,2 +0,0 @@
``Process.shutdown(wait=True)`` of :mod:`concurrent.futures` now closes
explicitly the result queue.

View File

@ -1,2 +0,0 @@
Fix a race condition in concurrent.futures._ThreadWakeup: access to
_ThreadWakeup is now protected with the shutdown lock.

View File

@ -1 +0,0 @@
Added default arguments to :meth:`difflib.SequenceMatcher.find_longest_match()`.

View File

@ -1,3 +0,0 @@
Remove ``_random.Random.randbytes()``: the C implementation of
``randbytes()``. Implement the method in Python to ease subclassing:
``randbytes()`` now directly reuses ``getrandbits()``.

View File

@ -1,3 +0,0 @@
Add ``isolated=True`` keyword-only parameter to
``_xxsubinterpreters.create()``. An isolated subinterpreter cannot spawn
threads, spawn a child process or call ``os.fork()``.

View File

@ -1,2 +0,0 @@
Update :mod:`dbm.gnu` to use gdbm_count if possible when calling
:func:`len`. Patch by Dong-hee Na.

View File

@ -1,2 +0,0 @@
Update :mod:`nntplib` to merge :class:`nntplib.NNTP` and
:class:`nntplib._NNTPBase`. Patch by Dong-hee Na.

View File

@ -1 +0,0 @@
The first argument of :func:`pickle.loads` is now positional-only.

View File

@ -1 +0,0 @@
:func:`platform.win32_ver` now produces correct *ptype* strings instead of empty strings.

View File

@ -1 +0,0 @@
Deprecated the optional *random* argument to *random.shuffle()*.

View File

@ -1,2 +0,0 @@
Improve error reporting in :func:`ast.literal_eval` in the presence of malformed :class:`ast.Dict`
nodes instead of silently ignoring any non-conforming elements. Patch by Curtis Bucher.

View File

@ -1 +0,0 @@
The ssl module now support OpenSSL builds without TLS 1.0 and 1.1 methods.

View File

@ -1,2 +0,0 @@
:mod:`compileall` is now able to use hardlinks to prevent duplicates in a
case when ``.pyc`` files for different optimization levels have the same content.

View File

@ -1 +0,0 @@
``fnmatch.fnmatch()`` could take exponential time in the presence of multiple ``*`` pattern characters. This was repaired by generating more elaborate regular expressions to avoid futile backtracking.

View File

@ -1 +0,0 @@
Fix possible memory leak in the C implementation of :class:`asyncio.Task`.

View File

@ -1 +0,0 @@
:func:`functools.lru_cache` objects can now be the targets of weakrefs.

View File

@ -1,2 +0,0 @@
When a :class:`asyncio.Task` is cancelled, the exception traceback
now chains all the way back to where the task was first interrupted.

View File

@ -1,3 +0,0 @@
The :mod:`ssl` and :mod:`hashlib` modules now actively check that OpenSSL is
build with thread support. Python 3.7.0 made thread support mandatory and no
longer works safely with a no-thread builds.

View File

@ -1 +0,0 @@
Added an optional *counts* parameter to random.sample().

View File

@ -1 +0,0 @@
Add a ``msg`` argument to :meth:`Future.cancel` and :meth:`Task.cancel`.

View File

@ -1,2 +0,0 @@
Convert posixmodule.c ("posix" or "nt" module) to the multiphase
initialization (PEP 489).

View File

@ -1,2 +0,0 @@
Removed attributes ``__args__`` and ``__parameters__`` from special generic
aliases like ``typing.List`` (not subscripted).

View File

@ -1 +0,0 @@
:pep:`615`, the :mod:`zoneinfo` module. Adds support for the IANA time zone database.

View File

@ -1,2 +0,0 @@
Added functools.cache() as a simpler, more discoverable way to access the
unbounded cache variant of lru_cache(maxsize=None).

View File

@ -1 +0,0 @@
If text content lines are longer than policy.max_line_length, always use a content-encoding to make sure they are wrapped.

View File

@ -1,2 +0,0 @@
Fix edge cases in SyntaxError formatting. If the offset is <= 0, no caret is printed.
If the offset is > line length, the caret is printed pointing just after the last character.

View File

@ -1,3 +0,0 @@
When cancelling a task due to timeout, :meth:`asyncio.wait_for` will now
propagate the exception if an error happens during cancellation.
Patch by Roman Skurikhin.

View File

@ -1 +0,0 @@
Revert changes to :func:`inspect.getdoc`.

View File

@ -1 +0,0 @@
The :mod:`hashlib` now compiles with OpenSSL 3.0.0-alpha2.

View File

@ -1,2 +0,0 @@
The :mod:`hashlib` module can now use SHA3 hashes and SHAKE XOF from OpenSSL
when available.

View File

@ -1,2 +0,0 @@
Builtin hash modules can now be disabled or selectively enabled with
``configure --with-builtin-hashlib-hashes=sha3,blake1`` or ``--without-builtin-hashlib-hashes``.

View File

@ -1 +0,0 @@
The internal module ``_hashlib`` wraps and exposes OpenSSL's HMAC API. The new code will be used in Python 3.10 after the internal implementation details of the pure Python HMAC module are no longer part of the public API.

View File

@ -1,3 +0,0 @@
The :class:`hmac.HMAC` exposes internal implementation details. The
attributes ``digest_cons``, ``inner``, and ``outer`` are deprecated and will
be removed in the future.

View File

@ -1,2 +0,0 @@
Added the :func:`~zoneinfo.available_timezones` function to the
:mod:`zoneinfo` module. Patch by Paul Ganssle.

View File

@ -1 +0,0 @@
Convert :mod:`bisect` to use Argument Clinic.

View File

@ -1 +0,0 @@
Fixed :func:`ast.get_source_segment` for ast nodes that have incomplete location information. Patch by Irit Katriel.

View File

@ -1,2 +0,0 @@
:mod:`uuid` no longer uses :mod:`ctypes` to load :file:`libuuid` or
:file:`rpcrt4.dll` at runtime.

View File

@ -1 +0,0 @@
test_gdb and test.pythoninfo now check gdb command exit code.

View File

@ -1,3 +0,0 @@
distutils.tests now saves/restores warnings filters to leave them unchanged.
Importing tests imports docutils which imports pkg_resources which adds a
warnings filter.

View File

@ -1,3 +0,0 @@
Fix multissltest tool. OpenSSL has changed download URL for old releases.
The multissltest tool now tries to download from current and old download
URLs.

View File

@ -1 +0,0 @@
Fix a syntax typo in ``turtledemo`` that now raises a ``SyntaxError``.

View File

@ -1,2 +0,0 @@
Update multissltest helper to test with latest OpenSSL 1.0.2, 1.1.0, 1.1.1,
and 3.0.0-alpha.

View File

@ -1,3 +0,0 @@
Add IPv6 support to :mod:`asyncio` datagram endpoints in ProactorEventLoop.
Change the raised exception for unknown address families to ValueError
as it's not coming from Windows API.

View File

@ -1 +0,0 @@
Increase reserved stack space to prevent overflow crash on Windows.

View File

@ -1 +0,0 @@
Include winsock2.h in pytime.c for timeval.

View File

@ -1 +0,0 @@
Expose RFC 3542 IPv6 socket options.

View File

@ -1,6 +0,0 @@
_tkinter now builds and links with non-system Tcl and Tk frameworks if they
are installed in /Library/Frameworks as had been the case on older releases
of macOS. If a macOS SDK is explicitly configured, by using ./configure
--enable-universalsdk= or -isysroot, only a Library/Frameworks directory in
the SDK itself is searched. The default behavior can still be overridden with
configure --with-tcltk-includes and --with-tcltk-libs.

View File

@ -1,5 +1,5 @@
This is Python version 3.9.0 alpha 6 This is Python version 3.9.0 beta 1
==================================== ===================================
.. image:: https://travis-ci.org/python/cpython.svg?branch=master .. image:: https://travis-ci.org/python/cpython.svg?branch=master
:alt: CPython build status on Travis CI :alt: CPython build status on Travis CI