#define PY_MINOR_VERSION 10
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
-#define PY_RELEASE_SERIAL 1
+#define PY_RELEASE_SERIAL 2
/* Version as a string */
-#define PY_VERSION "3.10.0a1+"
+#define PY_VERSION "3.10.0a2"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
# -*- coding: utf-8 -*-
-# Autogenerated by Sphinx on Mon Oct 5 18:27:28 2020
+# Autogenerated by Sphinx on Tue Nov 3 00:01:01 2020
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
'\n'
'Execution of Python coroutines can be suspended and resumed at '
'many\n'
- 'points (see *coroutine*). Inside the body of a coroutine '
- 'function,\n'
- '"await" and "async" identifiers become reserved keywords; "await"\n'
- 'expressions, "async for" and "async with" can only be used in\n'
- 'coroutine function bodies.\n'
+ 'points (see *coroutine*). "await" expressions, "async for" and '
+ '"async\n'
+ 'with" can only be used in the body of a coroutine function.\n'
'\n'
'Functions defined with "async def" syntax are always coroutine\n'
'functions, even if they do not contain "await" or "async" '
' do_stuff()\n'
' await some_coroutine()\n'
'\n'
+ 'Changed in version 3.7: "await" and "async" are now keywords;\n'
+ 'previously they were only treated as such inside the body of a\n'
+ 'coroutine function.\n'
+ '\n'
'\n'
'The "async for" statement\n'
'=========================\n'
'syntax or\n'
' built-in functions. See Special method lookup.\n'
'\n'
+ ' For certain sensitive attribute accesses, raises an '
+ 'auditing event\n'
+ ' "object.__getattr__" with arguments "obj" and '
+ '"name".\n'
+ '\n'
'object.__setattr__(self, name, value)\n'
'\n'
' Called when an attribute assignment is attempted. '
'for example,\n'
' "object.__setattr__(self, name, value)".\n'
'\n'
+ ' For certain sensitive attribute assignments, raises '
+ 'an auditing\n'
+ ' event "object.__setattr__" with arguments "obj", '
+ '"name", "value".\n'
+ '\n'
'object.__delattr__(self, name)\n'
'\n'
' Like "__setattr__()" but for attribute deletion '
'obj.name" is\n'
' meaningful for the object.\n'
'\n'
+ ' For certain sensitive attribute deletions, raises an '
+ 'auditing event\n'
+ ' "object.__delattr__" with arguments "obj" and '
+ '"name".\n'
+ '\n'
'object.__dir__(self)\n'
'\n'
' Called when "dir()" is called on the object. A '
'\n'
' Called when the instance is “called” as a function; if '
'this method\n'
- ' is defined, "x(arg1, arg2, ...)" is a shorthand for\n'
- ' "x.__call__(arg1, arg2, ...)".\n',
+ ' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
+ ' "type(x).__call__(x, arg1, ...)".\n',
'calls': 'Calls\n'
'*****\n'
'\n'
'parameter list. These annotations can be any valid Python '
'expression.\n'
'The presence of annotations does not change the semantics of a\n'
- 'function. The annotation values are available as values of a\n'
+ 'function. The annotation values are available as string values '
+ 'in a\n'
'dictionary keyed by the parameters’ names in the '
'"__annotations__"\n'
- 'attribute of the function object. If the "annotations" import '
- 'from\n'
- '"__future__" is used, annotations are preserved as strings at '
- 'runtime\n'
- 'which enables postponed evaluation. Otherwise, they are '
- 'evaluated\n'
- 'when the function definition is executed. In this case '
- 'annotations\n'
- 'may be evaluated in a different order than they appear in the '
- 'source\n'
- 'code.\n'
+ 'attribute of the function object.\n'
'\n'
'It is also possible to create anonymous functions (functions not '
'bound\n'
'\n'
'Execution of Python coroutines can be suspended and resumed at '
'many\n'
- 'points (see *coroutine*). Inside the body of a coroutine '
- 'function,\n'
- '"await" and "async" identifiers become reserved keywords; '
- '"await"\n'
- 'expressions, "async for" and "async with" can only be used in\n'
- 'coroutine function bodies.\n'
+ 'points (see *coroutine*). "await" expressions, "async for" and '
+ '"async\n'
+ 'with" can only be used in the body of a coroutine function.\n'
'\n'
'Functions defined with "async def" syntax are always coroutine\n'
'functions, even if they do not contain "await" or "async" '
' do_stuff()\n'
' await some_coroutine()\n'
'\n'
+ 'Changed in version 3.7: "await" and "async" are now keywords;\n'
+ 'previously they were only treated as such inside the body of a\n'
+ 'coroutine function.\n'
+ '\n'
'\n'
'The "async for" statement\n'
'-------------------------\n'
' on the value to determine if the result is true or '
'false.\n'
'\n'
- ' By default, "__ne__()" delegates to "__eq__()" and '
- 'inverts the\n'
- ' result unless it is "NotImplemented". There are no '
- 'other implied\n'
- ' relationships among the comparison operators, for '
- 'example, the\n'
- ' truth of "(x<y or x==y)" does not imply "x<=y". To '
- 'automatically\n'
- ' generate ordering operations from a single root '
- 'operation, see\n'
+ ' By default, "object" implements "__eq__()" by using '
+ '"is", returning\n'
+ ' "NotImplemented" in the case of a false comparison: '
+ '"True if x is y\n'
+ ' else NotImplemented". For "__ne__()", by default it '
+ 'delegates to\n'
+ ' "__eq__()" and inverts the result unless it is '
+ '"NotImplemented".\n'
+ ' There are no other implied relationships among the '
+ 'comparison\n'
+ ' operators or default implementations; for example, the '
+ 'truth of\n'
+ ' "(x<y or x==y)" does not imply "x<=y". To automatically '
+ 'generate\n'
+ ' ordering operations from a single root operation, see\n'
' "functools.total_ordering()".\n'
'\n'
' See the paragraph on "__hash__()" for some important '
'parameter list. These annotations can be any valid Python '
'expression.\n'
'The presence of annotations does not change the semantics of a\n'
- 'function. The annotation values are available as values of a\n'
+ 'function. The annotation values are available as string values '
+ 'in a\n'
'dictionary keyed by the parameters’ names in the '
'"__annotations__"\n'
- 'attribute of the function object. If the "annotations" import '
- 'from\n'
- '"__future__" is used, annotations are preserved as strings at '
- 'runtime\n'
- 'which enables postponed evaluation. Otherwise, they are '
- 'evaluated\n'
- 'when the function definition is executed. In this case '
- 'annotations\n'
- 'may be evaluated in a different order than they appear in the '
- 'source\n'
- 'code.\n'
+ 'attribute of the function object.\n'
'\n'
'It is also possible to create anonymous functions (functions not '
'bound\n'
'\n'
'* other future statements.\n'
'\n'
- 'The only feature in Python 3.7 that requires using the future\n'
- 'statement is "annotations".\n'
+ 'The only feature that requires using the future statement is\n'
+ '"annotations" (see **PEP 563**).\n'
'\n'
'All historical features enabled by the future statement are still\n'
'recognized by Python 3. The list includes "absolute_import",\n'
' on the value to determine if the result is true or '
'false.\n'
'\n'
- ' By default, "__ne__()" delegates to "__eq__()" and '
- 'inverts the\n'
- ' result unless it is "NotImplemented". There are no other '
- 'implied\n'
- ' relationships among the comparison operators, for '
- 'example, the\n'
- ' truth of "(x<y or x==y)" does not imply "x<=y". To '
- 'automatically\n'
- ' generate ordering operations from a single root '
- 'operation, see\n'
+ ' By default, "object" implements "__eq__()" by using "is", '
+ 'returning\n'
+ ' "NotImplemented" in the case of a false comparison: "True '
+ 'if x is y\n'
+ ' else NotImplemented". For "__ne__()", by default it '
+ 'delegates to\n'
+ ' "__eq__()" and inverts the result unless it is '
+ '"NotImplemented".\n'
+ ' There are no other implied relationships among the '
+ 'comparison\n'
+ ' operators or default implementations; for example, the '
+ 'truth of\n'
+ ' "(x<y or x==y)" does not imply "x<=y". To automatically '
+ 'generate\n'
+ ' ordering operations from a single root operation, see\n'
' "functools.total_ordering()".\n'
'\n'
' See the paragraph on "__hash__()" for some important '
'syntax or\n'
' built-in functions. See Special method lookup.\n'
'\n'
+ ' For certain sensitive attribute accesses, raises an '
+ 'auditing event\n'
+ ' "object.__getattr__" with arguments "obj" and "name".\n'
+ '\n'
'object.__setattr__(self, name, value)\n'
'\n'
' Called when an attribute assignment is attempted. This '
'example,\n'
' "object.__setattr__(self, name, value)".\n'
'\n'
+ ' For certain sensitive attribute assignments, raises an '
+ 'auditing\n'
+ ' event "object.__setattr__" with arguments "obj", "name", '
+ '"value".\n'
+ '\n'
'object.__delattr__(self, name)\n'
'\n'
' Like "__setattr__()" but for attribute deletion instead '
'obj.name" is\n'
' meaningful for the object.\n'
'\n'
+ ' For certain sensitive attribute deletions, raises an '
+ 'auditing event\n'
+ ' "object.__delattr__" with arguments "obj" and "name".\n'
+ '\n'
'object.__dir__(self)\n'
'\n'
' Called when "dir()" is called on the object. A sequence '
'\n'
' Called when the instance is “called” as a function; if '
'this method\n'
- ' is defined, "x(arg1, arg2, ...)" is a shorthand for\n'
- ' "x.__call__(arg1, arg2, ...)".\n'
+ ' is defined, "x(arg1, arg2, ...)" roughly translates to\n'
+ ' "type(x).__call__(x, arg1, ...)".\n'
'\n'
'\n'
'Emulating container types\n'
'subscriptions': 'Subscriptions\n'
'*************\n'
'\n'
- 'A subscription selects an item of a sequence (string, tuple '
- 'or list)\n'
- 'or mapping (dictionary) object:\n'
+ 'Subscription of a sequence (string, tuple or list) or '
+ 'mapping\n'
+ '(dictionary) object usually selects an item from the '
+ 'collection:\n'
'\n'
' subscription ::= primary "[" expression_list "]"\n'
'\n'
'\n'
'A string’s items are characters. A character is not a '
'separate data\n'
- 'type but a string of exactly one character.\n',
+ 'type but a string of exactly one character.\n'
+ '\n'
+ 'Subscription of certain *classes* or *types* creates a '
+ 'generic alias.\n'
+ 'In this case, user-defined classes can support subscription '
+ 'by\n'
+ 'providing a "__class_getitem__()" classmethod.\n',
'truth': 'Truth Value Testing\n'
'*******************\n'
'\n'
'representation\n'
' in computers.\n'
'\n'
+ ' The string representations of the numeric classes, computed by\n'
+ ' "__repr__()" and "__str__()", have the following properties:\n'
+ '\n'
+ ' * They are valid numeric literals which, when passed to their '
+ 'class\n'
+ ' constructor, produce an object having the value of the '
+ 'original\n'
+ ' numeric.\n'
+ '\n'
+ ' * The representation is in base 10, when possible.\n'
+ '\n'
+ ' * Leading zeros, possibly excepting a single zero before a '
+ 'decimal\n'
+ ' point, are not shown.\n'
+ '\n'
+ ' * Trailing zeros, possibly excepting a single zero after a '
+ 'decimal\n'
+ ' point, are not shown.\n'
+ '\n'
+ ' * A sign is shown only when the number is negative.\n'
+ '\n'
' Python distinguishes between integers, floating point numbers, '
'and\n'
' complex numbers:\n'
'positional\n'
' argument and a possibly empty set of keyword arguments.\n'
'\n'
+ ' Dictionaries can be created by several means:\n'
+ '\n'
+ ' * Use a comma-separated list of "key: value" pairs within '
+ 'braces:\n'
+ ' "{\'jack\': 4098, \'sjoerd\': 4127}" or "{4098: '
+ "'jack', 4127:\n"
+ ' \'sjoerd\'}"\n'
+ '\n'
+ ' * Use a dict comprehension: "{}", "{x: x ** 2 for x in '
+ 'range(10)}"\n'
+ '\n'
+ ' * Use the type constructor: "dict()", "dict([(\'foo\', '
+ "100), ('bar',\n"
+ ' 200)])", "dict(foo=100, bar=200)"\n'
+ '\n'
' If no positional argument is given, an empty dictionary '
'is created.\n'
' If a positional argument is given and it is a mapping '
--- /dev/null
+.. bpo: 42103
+.. date: 2020-10-23-19-19-30
+.. nonce: cILT66
+.. release date: 2020-11-03
+.. section: Security
+
+Prevented potential DoS attack via CPU and RAM exhaustion when processing
+malformed Apple Property List files in binary format.
+
+..
+
+.. bpo: 42051
+.. date: 2020-10-19-10-56-27
+.. nonce: EU_B7u
+.. section: Security
+
+The :mod:`plistlib` module no longer accepts entity declarations in XML
+plist files to avoid XML vulnerabilities. This should not affect users as
+entity declarations are not used in regular plist files.
+
+..
+
+.. bpo: 42236
+.. date: 2020-11-01-21-21-38
+.. nonce: MPx-NK
+.. section: Core and Builtins
+
+If the ``nl_langinfo(CODESET)`` function returns an empty string, Python now
+uses UTF-8 as the filesystem encoding. Patch by Victor Stinner.
+
+..
+
+.. bpo: 42218
+.. date: 2020-10-31-17-50-23
+.. nonce: Dp_Z3v
+.. section: Core and Builtins
+
+Fixed a bug in the PEG parser that was causing crashes in debug mode. Now
+errors are checked in left-recursive rules to avoid cases where such errors
+do not get handled in time and appear as long-distance crashes in other
+places.
+
+..
+
+.. bpo: 42214
+.. date: 2020-10-30-22-16-30
+.. nonce: lXskM_
+.. section: Core and Builtins
+
+Fixed a possible crash in the PEG parser when checking for the '!=' token in
+the ``barry_as_flufl`` rule. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 42206
+.. date: 2020-10-30-13-11-01
+.. nonce: xxssR8
+.. section: Core and Builtins
+
+Propagate and raise the errors caused by :c:func:`PyAST_Validate` in the
+parser.
+
+..
+
+.. bpo: 41796
+.. date: 2020-10-29-12-49-08
+.. nonce: tkGdHq
+.. section: Core and Builtins
+
+The :mod:`ast` module internal state is now per interpreter. Patch by Victor
+Stinner.
+
+..
+
+.. bpo: 42143
+.. date: 2020-10-27-21-34-05
+.. nonce: N6KXUO
+.. section: Core and Builtins
+
+Fix handling of errors during creation of ``PyFunctionObject``, which
+resulted in operations on uninitialized memory. Patch by Yonatan
+Goldschmidt.
+
+..
+
+.. bpo: 41659
+.. date: 2020-10-27-18-32-49
+.. nonce: d4a-8o
+.. section: Core and Builtins
+
+Fix a bug in the parser, where a curly brace following a `primary` didn't
+fail immediately. This led to invalid expressions like `a {b}` to throw a
+:exc:`SyntaxError` with a wrong offset, or invalid expressions ending with a
+curly brace like `a {` to not fail immediately in the REPL.
+
+..
+
+.. bpo: 42150
+.. date: 2020-10-25-21-14-18
+.. nonce: b70u_T
+.. section: Core and Builtins
+
+Fix possible buffer overflow in the new parser when checking for
+continuation lines. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 42123
+.. date: 2020-10-23-02-43-24
+.. nonce: 64gJWC
+.. section: Core and Builtins
+
+Run the parser two times. On the first run, disable all the rules that only
+generate better error messages to gain performance. If there's a parse
+failure, run the parser a second time with those enabled.
+
+..
+
+.. bpo: 41910
+.. date: 2020-10-21-14-40-54
+.. nonce: CzBMit
+.. section: Core and Builtins
+
+Document the default implementation of `object.__eq__`.
+
+..
+
+.. bpo: 42093
+.. date: 2020-10-20-04-24-07
+.. nonce: ooZZNh
+.. section: Core and Builtins
+
+The ``LOAD_ATTR`` instruction now uses new "per opcode cache" mechanism and
+it is about 36% faster now. Patch by Pablo Galindo and Yury Selivanov.
+
+..
+
+.. bpo: 42030
+.. date: 2020-10-15-21-55-32
+.. nonce: PmU2CA
+.. section: Core and Builtins
+
+Support for the legacy AIX-specific shared library loading support has been
+removed. All versions of AIX since 4.3 have supported and defaulted to using
+the common Unix mechanism instead.
+
+..
+
+.. bpo: 41984
+.. date: 2020-10-14-16-19-43
+.. nonce: SEtKMr
+.. section: Core and Builtins
+
+The garbage collector now tracks all user-defined classes. Patch by Brandt
+Bucher.
+
+..
+
+.. bpo: 41993
+.. date: 2020-10-10-13-53-52
+.. nonce: YMzixQ
+.. section: Core and Builtins
+
+Fixed potential issues with removing not completely initialized module from
+``sys.modules`` when import fails.
+
+..
+
+.. bpo: 41979
+.. date: 2020-10-09-10-55-50
+.. nonce: ImXIk2
+.. section: Core and Builtins
+
+Star-unpacking is now allowed for with item's targets in the PEG parser.
+
+..
+
+.. bpo: 41974
+.. date: 2020-10-08-09-58-19
+.. nonce: 8B-q8O
+.. section: Core and Builtins
+
+Removed special methods ``__int__``, ``__float__``, ``__floordiv__``,
+``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and
+``__rdivmod__`` of the :class:`complex` class. They always raised a
+:exc:`TypeError`.
+
+..
+
+.. bpo: 41902
+.. date: 2020-10-02-13-32-05
+.. nonce: ZKTxzW
+.. section: Core and Builtins
+
+Micro optimization when compute :c:member:`~PySequenceMethods.sq_item` and
+:c:member:`~PyMappingMethods.mp_subscript` of :class:`range`. Patch by
+Dong-hee Na.
+
+..
+
+.. bpo: 41894
+.. date: 2020-10-02-11-35-33
+.. nonce: ffmtOt
+.. section: Core and Builtins
+
+When loading a native module and a load failure occurs, prevent a possible
+UnicodeDecodeError when not running in a UTF-8 locale by decoding the load
+error message using the current locale's encoding.
+
+..
+
+.. bpo: 41902
+.. date: 2020-10-01-22-44-23
+.. nonce: iLoMVF
+.. section: Core and Builtins
+
+Micro optimization for range.index if step is 1. Patch by Dong-hee Na.
+
+..
+
+.. bpo: 41435
+.. date: 2020-08-07-13-42-48
+.. nonce: qPWjJA
+.. section: Core and Builtins
+
+Add `sys._current_exceptions()` function to retrieve a dictionary mapping
+each thread's identifier to the topmost exception currently active in that
+thread at the time the function is called.
+
+..
+
+.. bpo: 38605
+.. date: 2020-05-27-16-08-16
+.. nonce: rcs2uK
+.. section: Core and Builtins
+
+Enable ``from __future__ import annotations`` (:pep:`563`) by default. The
+values found in :attr:`__annotations__` dicts are now strings, e.g. ``{"x":
+"int"}`` instead of ``{"x": int}``.
+
+..
+
+.. bpo: 35455
+.. date: 2020-11-02-14-10-48
+.. nonce: Q1xTIo
+.. section: Library
+
+On Solaris, :func:`~time.thread_time` is now implemented with
+``gethrvtime()`` because ``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` is not
+always available. Patch by Jakub Kulik.
+
+..
+
+.. bpo: 42233
+.. date: 2020-11-02-01-31-15
+.. nonce: YxRj-h
+.. section: Library
+
+The :func:`repr` of :mod:`typing` types containing :ref:`Generic Alias Types
+<types-genericalias>` previously did not show the parameterized types in the
+``GenericAlias``. They have now been changed to do so.
+
+..
+
+.. bpo: 29566
+.. date: 2020-10-31-13-28-36
+.. nonce: 6aDbty
+.. section: Library
+
+``binhex.binhex()`` consisently writes macOS 9 line endings.
+
+..
+
+.. bpo: 26789
+.. date: 2020-10-31-01-16-49
+.. nonce: 9BdNAt
+.. section: Library
+
+The :class:`logging.FileHandler` class now keeps a reference to the builtin
+:func:`open` function to be able to open or reopen the file during Python
+finalization. Fix errors like: ``NameError: name 'open' is not defined``.
+Patch by Victor Stinner.
+
+..
+
+.. bpo: 42157
+.. date: 2020-10-26-23-29-16
+.. nonce: 4wuwTe
+.. section: Library
+
+Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal
+PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was
+moved to the internal C API. Patch by Victor Stinner.
+
+..
+
+.. bpo: 42157
+.. date: 2020-10-26-19-08-07
+.. nonce: Bdpa04
+.. section: Library
+
+Convert the :mod:`unicodedata` extension module to the multiphase
+initialization API (:pep:`489`) and convert the ``unicodedata.UCD`` static
+type to a heap type. Patch by Mohamed Koubaa and Victor Stinner.
+
+..
+
+.. bpo: 42146
+.. date: 2020-10-25-19-25-02
+.. nonce: 6A8uvS
+.. section: Library
+
+Fix memory leak in :func:`subprocess.Popen` in case an uid (gid) specified
+in `user` (`group`, `extra_groups`) overflows `uid_t` (`gid_t`).
+
+..
+
+.. bpo: 42103
+.. date: 2020-10-23-19-20-14
+.. nonce: C5obK2
+.. section: Library
+
+:exc:`~plistlib.InvalidFileException` and :exc:`RecursionError` are now the
+only errors caused by loading malformed binary Plist file (previously
+ValueError and TypeError could be raised in some specific cases).
+
+..
+
+.. bpo: 41490
+.. date: 2020-10-23-08-54-47
+.. nonce: -Yk6OD
+.. section: Library
+
+In ``importlib.resources``, ``.path`` method is more aggressive about
+releasing handles to zipfile objects early, enabling use-cases like certifi
+to leave the context open but delete the underlying zip file.
+
+..
+
+.. bpo: 41052
+.. date: 2020-10-21-23-45-02
+.. nonce: 3N7J2J
+.. section: Library
+
+Pickling heap types implemented in C with protocols 0 and 1 raises now an
+error instead of producing incorrect data.
+
+..
+
+.. bpo: 42089
+.. date: 2020-10-19-16-53-19
+.. nonce: R1dthW
+.. section: Library
+
+In ``importlib.metadata.PackageNotFoundError``, make reference to the
+package metadata being missing to improve the user experience.
+
+..
+
+.. bpo: 41491
+.. date: 2020-10-19-14-02-09
+.. nonce: d1BUWH
+.. section: Library
+
+plistlib: fix parsing XML plists with hexadecimal integer values
+
+..
+
+.. bpo: 42065
+.. date: 2020-10-17-23-17-18
+.. nonce: 85BsRA
+.. section: Library
+
+Fix an incorrectly formatted error from :meth:`_codecs.charmap_decode` when
+called with a mapped value outside the range of valid Unicode code points.
+PR by Max Bernstein.
+
+..
+
+.. bpo: 41966
+.. date: 2020-10-17-07-52-53
+.. nonce: gwEQRZ
+.. section: Library
+
+Fix pickling pure Python :class:`datetime.time` subclasses. Patch by Dean
+Inwood.
+
+..
+
+.. bpo: 19270
+.. date: 2020-10-16-22-48-01
+.. nonce: jd_gkA
+.. section: Library
+
+:meth:`sched.scheduler.cancel()` will now cancel the correct event, if two
+events with same priority are scheduled for the same time. Patch by Bar
+Harel.
+
+..
+
+.. bpo: 28660
+.. date: 2020-10-16-16-08-04
+.. nonce: eX9pvD
+.. section: Library
+
+:func:`textwrap.wrap` now attempts to break long words after hyphens when
+``break_long_words=True`` and ``break_on_hyphens=True``.
+
+..
+
+.. bpo: 35823
+.. date: 2020-10-16-07-45-35
+.. nonce: SNQo56
+.. section: Library
+
+Use ``vfork()`` instead of ``fork()`` for :func:`subprocess.Popen` on Linux
+to improve performance in cases where it is deemed safe.
+
+..
+
+.. bpo: 42043
+.. date: 2020-10-15-17-20-37
+.. nonce: OS0p_v
+.. section: Library
+
+Add support for ``zipfile.Path`` inheritance. ``zipfile.Path.is_file()`` now
+returns False for non-existent names. ``zipfile.Path`` objects now expose a
+``.filename`` attribute and rely on that to resolve ``.name`` and
+``.parent`` when the ``Path`` object is at the root of the zipfile.
+
+..
+
+.. bpo: 42021
+.. date: 2020-10-12-21-21-24
+.. nonce: 8yv_8-
+.. section: Library
+
+Fix possible ref leaks in :mod:`sqlite3` module init.
+
+..
+
+.. bpo: 39101
+.. date: 2020-10-11-21-43-03
+.. nonce: -I49Pm
+.. section: Library
+
+Fixed tests using IsolatedAsyncioTestCase from hanging on BaseExceptions.
+
+..
+
+.. bpo: 41976
+.. date: 2020-10-08-18-22-28
+.. nonce: Svm0wb
+.. section: Library
+
+Fixed a bug that was causing :func:`ctypes.util.find_library` to return
+``None`` when triying to locate a library in an environment when gcc>=9 is
+available and ``ldconfig`` is not. Patch by Pablo Galindo
+
+..
+
+.. bpo: 41943
+.. date: 2020-10-07-18-36-03
+.. nonce: Pt55fT
+.. section: Library
+
+Fix bug where TestCase.assertLogs doesn't correctly filter messages by
+level.
+
+..
+
+.. bpo: 41923
+.. date: 2020-10-03-23-14-50
+.. nonce: Buonw9
+.. section: Library
+
+Implement :pep:`613`, introducing :data:`typing.TypeAlias` annotation.
+
+..
+
+.. bpo: 41905
+.. date: 2020-10-01-21-11-03
+.. nonce: _JpjR4
+.. section: Library
+
+A new function in abc: *update_abstractmethods* to re-calculate an abstract
+class's abstract status. In addition, *dataclass* has been changed to call
+this function.
+
+..
+
+.. bpo: 23706
+.. date: 2020-09-30-11-05-11
+.. nonce: dHTGjF
+.. section: Library
+
+Added *newline* parameter to ``pathlib.Path.write_text()``.
+
+..
+
+.. bpo: 41876
+.. date: 2020-09-29-16-23-54
+.. nonce: QicdDU
+.. section: Library
+
+Tkinter font class repr uses font name
+
+..
+
+.. bpo: 41831
+.. date: 2020-09-22-11-07-50
+.. nonce: k-Eop_
+.. section: Library
+
+``str()`` for the ``type`` attribute of the ``tkinter.Event`` object always
+returns now the numeric code returned by Tk instead of the name of the event
+type.
+
+..
+
+.. bpo: 39337
+.. date: 2020-09-13-02-02-18
+.. nonce: L3NXTt
+.. section: Library
+
+:func:`encodings.normalize_encoding` now ignores non-ASCII characters.
+
+..
+
+.. bpo: 41747
+.. date: 2020-09-08-23-41-29
+.. nonce: M6wLKv
+.. section: Library
+
+Ensure all methods that generated from :func:`dataclasses.dataclass` objects
+now have the proper ``__qualname__`` attribute referring to the class they
+belong to. Patch by Batuhan Taskaya.
+
+..
+
+.. bpo: 30681
+.. date: 2020-09-04-17-33-04
+.. nonce: LR4fnY
+.. section: Library
+
+Handle exceptions caused by unparseable date headers when using email
+"default" policy. Patch by Tim Bell, Georges Toth
+
+..
+
+.. bpo: 41586
+.. date: 2020-08-19-08-32-13
+.. nonce: IYjmjK
+.. section: Library
+
+Add F_SETPIPE_SZ and F_GETPIPE_SZ to fcntl module. Allow setting pipesize on
+subprocess.Popen.
+
+..
+
+.. bpo: 41229
+.. date: 2020-07-19-20-10-41
+.. nonce: p8rJa2
+.. section: Library
+
+Add ``contextlib.aclosing`` for deterministic cleanup of async generators
+which is analogous to ``contextlib.closing`` for non-async generators. Patch
+by Joongi Kim and John Belmonte.
+
+..
+
+.. bpo: 16936
+.. date: 2020-07-08-09-45-00
+.. nonce: z8o8Pn
+.. section: Library
+
+Allow ``ctypes.wintypes`` to be imported on non-Windows systems.
+
+..
+
+.. bpo: 4356
+.. date: 2020-05-31-10-48-47
+.. nonce: P8kXqp
+.. section: Library
+
+Add a key function to the bisect module.
+
+..
+
+.. bpo: 40592
+.. date: 2020-05-14-16-01-34
+.. nonce: Cmk855
+.. section: Library
+
+:func:`shutil.which` now ignores empty entries in :envvar:`PATHEXT` instead
+of treating them as a match.
+
+..
+
+.. bpo: 40492
+.. date: 2020-05-04-12-16-00
+.. nonce: ONk9Na
+.. section: Library
+
+Fix ``--outfile`` for :mod:`cProfile` / :mod:`profile` not writing the
+output file in the original directory when the program being profiled
+changes the working directory. PR by Anthony Sottile.
+
+..
+
+.. bpo: 34204
+.. date: 2020-04-21-17-18-33
+.. nonce: 9wXTtY
+.. section: Library
+
+The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default
+instead of :mod:`pickle` protocol ``3``.
+
+..
+
+.. bpo: 27321
+.. date: 2020-01-19-18-40-26
+.. nonce: 8e6SpM
+.. section: Library
+
+Fixed KeyError exception when flattening an email to a string attempts to
+replace a non-existent Content-Transfer-Encoding header.
+
+..
+
+.. bpo: 38976
+.. date: 2019-12-05-05-22-49
+.. nonce: 5MG7Uu
+.. section: Library
+
+The :mod:`http.cookiejar` module now supports the parsing of cookies in
+CURL-style cookiejar files through MozillaCookieJar on all platforms.
+Previously, such cookie entries would be silently ignored when loading a
+cookiejar with such entries.
+
+Additionally, the HTTP Only attribute is persisted in the object, and will
+be correctly written to file if the MozillaCookieJar object is subsequently
+dumped.
+
+..
+
+.. bpo: 42061
+.. date: 2020-10-28-21-39-45
+.. nonce: _x-0sg
+.. section: Documentation
+
+Document __format__ functionality for IP addresses.
+
+..
+
+.. bpo: 42010
+.. date: 2020-10-21-02-21-14
+.. nonce: 76vJ0u
+.. section: Documentation
+
+Clarify that subscription expressions are also valid for certain
+:term:`classes <class>` and :term:`types <type>` in the standard library,
+and for user-defined classes and types if the classmethod
+:meth:`__class_getitem__` is provided.
+
+..
+
+.. bpo: 41805
+.. date: 2020-10-10-01-36-37
+.. nonce: l-CGv5
+.. section: Documentation
+
+Documented :ref:`generic alias type <types-genericalias>` and
+:data:`types.GenericAlias`. Also added an entry in glossary for
+:term:`generic types <generic type>`.
+
+..
+
+.. bpo: 39693
+.. date: 2020-02-24-09-02-05
+.. nonce: QXw0Fm
+.. section: Documentation
+
+Fix tarfile's extractfile documentation
+
+..
+
+.. bpo: 39416
+.. date: 2020-01-22-05-14-53
+.. nonce: uYjhEm
+.. section: Documentation
+
+Document some restrictions on the default string representations of numeric
+classes.
+
+..
+
+.. bpo: 41739
+.. date: 2020-10-12-00-11-47
+.. nonce: wSCc4K
+.. section: Tests
+
+Fix test_logging.test_race_between_set_target_and_flush(): the test now
+waits until all threads complete to avoid leaking running threads.
+
+..
+
+.. bpo: 41970
+.. date: 2020-10-08-14-00-17
+.. nonce: aZ8QFf
+.. section: Tests
+
+Avoid a test failure in ``test_lib2to3`` if the module has already imported
+at the time the test executes. Patch by Pablo Galindo.
+
+..
+
+.. bpo: 41944
+.. date: 2020-10-05-17-43-46
+.. nonce: rf1dYb
+.. section: Tests
+
+Tests for CJK codecs no longer call ``eval()`` on content received via HTTP.
+
+..
+
+.. bpo: 41306
+.. date: 2020-08-03-13-44-37
+.. nonce: VDoWXI
+.. section: Tests
+
+Fixed a failure in ``test_tk.test_widgets.ScaleTest`` happening when
+executing the test with Tk 8.6.10.
+
+..
+
+.. bpo: 38980
+.. date: 2020-10-21-18-31-54
+.. nonce: xz7BNd
+.. section: Build
+
+Add ``-fno-semantic-interposition`` to both the compile and link line when
+building with ``--enable-optimizations``. Patch by Victor Stinner and Pablo
+Galindo.
+
+..
+
+.. bpo: 38439
+.. date: 2020-10-20-13-19-42
+.. nonce: eMLi-t
+.. section: Windows
+
+Updates the icons for IDLE in the Windows Store package.
+
+..
+
+.. bpo: 38252
+.. date: 2020-10-18-18-43-45
+.. nonce: 7Nlepg
+.. section: Windows
+
+Use 8-byte step to detect ASCII sequence in 64-bit Windows build.
+
+..
+
+.. bpo: 39107
+.. date: 2020-09-24-23-09-40
+.. nonce: GbUZvD
+.. section: Windows
+
+Update Tcl and Tk to 8.6.10 in Windows installer.
+
+..
+
+.. bpo: 41557
+.. date: 2020-08-26-09-35-06
+.. nonce: vt00cQ
+.. section: Windows
+
+Update Windows installer to use SQLite 3.33.0.
+
+..
+
+.. bpo: 38324
+.. date: 2020-05-30-02-46-43
+.. nonce: 476M-5
+.. section: Windows
+
+Avoid Unicode errors when accessing certain locale data on Windows.
+
+..
+
+.. bpo: 41471
+.. date: 2020-10-19-12-25-19
+.. nonce: gwA7un
+.. section: macOS
+
+Ignore invalid prefix lengths in system proxy excludes.
+
+..
+
+.. bpo: 33987
+.. date: 2020-10-24-21-27-37
+.. nonce: fIh9JL
+.. section: IDLE
+
+Mostly finish using ttk widgets, mainly for editor, settings, and searches.
+Some patches by Mark Roseman.
+
+..
+
+.. bpo: 40511
+.. date: 2020-06-16-12-16-13
+.. nonce: XkihpM
+.. section: IDLE
+
+Typing opening and closing parentheses inside the parentheses of a function
+call will no longer cause unnecessary "flashing" off and on of an existing
+open call-tip, e.g. when typed in a string literal.
+
+..
+
+.. bpo: 38439
+.. date: 2020-04-22-09-37-40
+.. nonce: ieXL-c
+.. section: IDLE
+
+Add a 256×256 pixel IDLE icon to the Windows .ico file. Created by Andrew
+Clover. Remove the low-color gif variations from the .ico file.
+
+..
+
+.. bpo: 42157
+.. date: 2020-10-16-10-47-17
+.. nonce: e3BcPM
+.. section: C API
+
+The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API
+``unicodedata.ucnhash_CAPI`` has been moved to the internal C API. Patch by
+Victor Stinner.
+
+..
+
+.. bpo: 42015
+.. date: 2020-10-12-20-13-58
+.. nonce: X4H2_V
+.. section: C API
+
+Fix potential crash in deallocating method objects when dynamically
+allocated `PyMethodDef`'s lifetime is managed through the ``self`` argument
+of a `PyCFunction`.
+
+..
+
+.. bpo: 40423
+.. date: 2020-10-11-19-17-44
+.. nonce: GsmgEj
+.. section: C API
+
+The :mod:`subprocess` module and ``os.closerange`` will now use the
+``close_range(low, high, flags)`` syscall when it is available for more
+efficient closing of ranges of descriptors.
+
+..
+
+.. bpo: 41845
+.. date: 2020-10-11-05-05-53
+.. nonce: ZFvuQM
+.. section: C API
+
+:c:func:`PyObject_GenericGetDict` is available again in the limited API when
+targeting 3.10 or later.
+
+..
+
+.. bpo: 40422
+.. date: 2020-10-10-14-05-24
+.. nonce: sh8IDY
+.. section: C API
+
+Add `_Py_closerange` function to provide performant closing of a range of
+file descriptors.
+
+..
+
+.. bpo: 41986
+.. date: 2020-10-09-22-50-46
+.. nonce: JUPE59
+.. section: C API
+
+:c:data:`Py_FileSystemDefaultEncodeErrors` and :c:data:`Py_UTF8Mode` are
+available again in limited API.
+
+..
+
+.. bpo: 41756
+.. date: 2020-09-28-14-31-07
+.. nonce: ZZ5wJG
+.. section: C API
+
+Add `PyIter_Send` function to allow sending value into
+generator/coroutine/iterator without raising StopIteration exception to
+signal return.
+
+..
+
+.. bpo: 41784
+.. date: 2020-09-14-10-17-00
+.. nonce: Yl4gI2
+.. section: C API
+
+Added ``PyUnicode_AsUTF8AndSize`` to the limited C API.
+++ /dev/null
-Add ``-fno-semantic-interposition`` to both the compile and link line when
-building with ``--enable-optimizations``. Patch by Victor Stinner and Pablo
-Galindo.
+++ /dev/null
-Added ``PyUnicode_AsUTF8AndSize`` to the limited C API.
+++ /dev/null
-Add `PyIter_Send` function to allow sending value into
-generator/coroutine/iterator without raising StopIteration exception to
-signal return.
+++ /dev/null
-:c:data:`Py_FileSystemDefaultEncodeErrors` and :c:data:`Py_UTF8Mode` are
-available again in limited API.
+++ /dev/null
-Add `_Py_closerange` function to provide performant closing of a range of file descriptors.
\ No newline at end of file
+++ /dev/null
-:c:func:`PyObject_GenericGetDict` is available again in the limited API
-when targeting 3.10 or later.
+++ /dev/null
-The :mod:`subprocess` module and ``os.closerange`` will now use the\r
-``close_range(low, high, flags)`` syscall when it is available for more\r
-efficient closing of ranges of descriptors.
\ No newline at end of file
+++ /dev/null
-Fix potential crash in deallocating method objects when dynamically
-allocated `PyMethodDef`'s lifetime is managed through the ``self``
-argument of a `PyCFunction`.
+++ /dev/null
-The private ``_PyUnicode_Name_CAPI`` structure of the PyCapsule API
-``unicodedata.ucnhash_CAPI`` has been moved to the internal C API.
-Patch by Victor Stinner.
+++ /dev/null
-Enable ``from __future__ import annotations`` (:pep:`563`) by default.
-The values found in :attr:`__annotations__` dicts are now strings, e.g.
-``{"x": "int"}`` instead of ``{"x": int}``.
+++ /dev/null
-Add `sys._current_exceptions()` function to retrieve a dictionary mapping each thread's identifier to the topmost exception currently active in that thread at the time the function is called.
\ No newline at end of file
+++ /dev/null
-Micro optimization for range.index if step is 1. Patch by Dong-hee Na.
+++ /dev/null
-When loading a native module and a load failure occurs, prevent a possible
-UnicodeDecodeError when not running in a UTF-8 locale by decoding the load
-error message using the current locale's encoding.
+++ /dev/null
-Micro optimization when compute :c:member:`~PySequenceMethods.sq_item` and
-:c:member:`~PyMappingMethods.mp_subscript` of :class:`range`. Patch by
-Dong-hee Na.
+++ /dev/null
-Removed special methods ``__int__``, ``__float__``, ``__floordiv__``,
-``__mod__``, ``__divmod__``, ``__rfloordiv__``, ``__rmod__`` and
-``__rdivmod__`` of the :class:`complex` class. They always raised
-a :exc:`TypeError`.
+++ /dev/null
-Star-unpacking is now allowed for with item's targets in the PEG parser.
+++ /dev/null
-Fixed potential issues with removing not completely initialized module from
-``sys.modules`` when import fails.
+++ /dev/null
-The garbage collector now tracks all user-defined classes. Patch by Brandt
-Bucher.
+++ /dev/null
-Support for the legacy AIX-specific shared library loading support has been
-removed. All versions of AIX since 4.3 have supported and defaulted to using
-the common Unix mechanism instead.
+++ /dev/null
-The ``LOAD_ATTR`` instruction now uses new "per opcode cache" mechanism and
-it is about 36% faster now. Patch by Pablo Galindo and Yury Selivanov.
+++ /dev/null
-Document the default implementation of `object.__eq__`.
+++ /dev/null
-Run the parser two times. On the first run, disable all the rules that only
-generate better error messages to gain performance. If there's a parse
-failure, run the parser a second time with those enabled.
+++ /dev/null
-Fix possible buffer overflow in the new parser when checking for
-continuation lines. Patch by Pablo Galindo.
+++ /dev/null
-Fix a bug in the parser, where a curly brace following a `primary` didn't fail immediately.\r
-This led to invalid expressions like `a {b}` to throw a :exc:`SyntaxError` with a wrong offset,\r
-or invalid expressions ending with a curly brace like `a {` to not fail immediately in the REPL.
\ No newline at end of file
+++ /dev/null
-Fix handling of errors during creation of ``PyFunctionObject``, which resulted
-in operations on uninitialized memory. Patch by Yonatan Goldschmidt.
+++ /dev/null
-The :mod:`ast` module internal state is now per interpreter. Patch by Victor
-Stinner.
+++ /dev/null
-Propagate and raise the errors caused by :c:func:`PyAST_Validate` in the
-parser.
+++ /dev/null
-Fixed a possible crash in the PEG parser when checking for the '!=' token in
-the ``barry_as_flufl`` rule. Patch by Pablo Galindo.
+++ /dev/null
-Fixed a bug in the PEG parser that was causing crashes in debug mode. Now errors are checked\r
-in left-recursive rules to avoid cases where such errors do not get handled in time and appear\r
-as long-distance crashes in other places.\r
+++ /dev/null
-If the ``nl_langinfo(CODESET)`` function returns an empty string, Python now
-uses UTF-8 as the filesystem encoding. Patch by Victor Stinner.
+++ /dev/null
-Document some restrictions on the default string representations of numeric classes.
+++ /dev/null
-Fix tarfile's extractfile documentation
+++ /dev/null
-Documented :ref:`generic alias type <types-genericalias>` and
-:data:`types.GenericAlias`. Also added an entry in glossary for
-:term:`generic types <generic type>`.
+++ /dev/null
-Clarify that subscription expressions are also valid for certain
-:term:`classes <class>` and :term:`types <type>` in the standard library, and
-for user-defined classes and types if the classmethod
-:meth:`__class_getitem__` is provided.
+++ /dev/null
-Document __format__ functionality for IP addresses.
\ No newline at end of file
+++ /dev/null
-Add a 256×256 pixel IDLE icon to the Windows .ico file. Created by Andrew
-Clover. Remove the low-color gif variations from the .ico file.
+++ /dev/null
-Typing opening and closing parentheses inside the parentheses of a function
-call will no longer cause unnecessary "flashing" off and on of an existing
-open call-tip, e.g. when typed in a string literal.
+++ /dev/null
-Mostly finish using ttk widgets, mainly for editor, settings,
-and searches. Some patches by Mark Roseman.
-
+++ /dev/null
-The :mod:`http.cookiejar` module now supports the parsing of cookies in CURL-style cookiejar files through MozillaCookieJar \r
-on all platforms. Previously, such cookie entries would be silently ignored when loading a cookiejar with such entries.\r
-\r
-Additionally, the HTTP Only attribute is persisted in the object, and will be correctly written to file if the MozillaCookieJar object is subsequently dumped.
\ No newline at end of file
+++ /dev/null
-Fixed KeyError exception when flattening an email to a string attempts to
-replace a non-existent Content-Transfer-Encoding header.
+++ /dev/null
-The :mod:`shelve` module now uses :data:`pickle.DEFAULT_PROTOCOL` by default
-instead of :mod:`pickle` protocol ``3``.
+++ /dev/null
-Fix ``--outfile`` for :mod:`cProfile` / :mod:`profile` not writing the output
-file in the original directory when the program being profiled changes the
-working directory. PR by Anthony Sottile.
+++ /dev/null
-:func:`shutil.which` now ignores empty entries in :envvar:`PATHEXT` instead of treating them as a match.
+++ /dev/null
-Add a key function to the bisect module.
+++ /dev/null
-Allow ``ctypes.wintypes`` to be imported on non-Windows systems.
+++ /dev/null
-Add ``contextlib.aclosing`` for deterministic cleanup of async generators
-which is analogous to ``contextlib.closing`` for non-async generators.
-Patch by Joongi Kim and John Belmonte.
+++ /dev/null
-Add F_SETPIPE_SZ and F_GETPIPE_SZ to fcntl module. Allow setting pipesize on
-subprocess.Popen.
+++ /dev/null
-Handle exceptions caused by unparseable date headers when using email
-"default" policy. Patch by Tim Bell, Georges Toth
+++ /dev/null
-Ensure all methods that generated from :func:`dataclasses.dataclass`
-objects now have the proper ``__qualname__`` attribute referring to
-the class they belong to. Patch by Batuhan Taskaya.
+++ /dev/null
-:func:`encodings.normalize_encoding` now ignores non-ASCII characters.
+++ /dev/null
-``str()`` for the ``type`` attribute of the ``tkinter.Event`` object always
-returns now the numeric code returned by Tk instead of the name of the event
-type.
+++ /dev/null
-Tkinter font class repr uses font name
\ No newline at end of file
+++ /dev/null
-Added *newline* parameter to ``pathlib.Path.write_text()``.
+++ /dev/null
-A new function in abc: *update_abstractmethods* to re-calculate an abstract class's abstract status. In addition, *dataclass* has been changed to call this function.
\ No newline at end of file
+++ /dev/null
-Implement :pep:`613`, introducing :data:`typing.TypeAlias` annotation.
+++ /dev/null
-Fix bug where TestCase.assertLogs doesn't correctly filter messages by level.
\ No newline at end of file
+++ /dev/null
-Fixed a bug that was causing :func:`ctypes.util.find_library` to return
-``None`` when triying to locate a library in an environment when gcc>=9 is
-available and ``ldconfig`` is not. Patch by Pablo Galindo
+++ /dev/null
-Fixed tests using IsolatedAsyncioTestCase from hanging on BaseExceptions.
\ No newline at end of file
+++ /dev/null
-Fix possible ref leaks in :mod:`sqlite3` module init.
+++ /dev/null
-Add support for ``zipfile.Path`` inheritance. ``zipfile.Path.is_file()`` now
-returns False for non-existent names. ``zipfile.Path`` objects now expose a
-``.filename`` attribute and rely on that to resolve ``.name`` and
-``.parent`` when the ``Path`` object is at the root of the zipfile.
+++ /dev/null
-Use ``vfork()`` instead of ``fork()`` for :func:`subprocess.Popen` on Linux
-to improve performance in cases where it is deemed safe.
+++ /dev/null
-:func:`textwrap.wrap` now attempts to break long words after hyphens when ``break_long_words=True`` and ``break_on_hyphens=True``.
+++ /dev/null
-:meth:`sched.scheduler.cancel()` will now cancel the correct event, if two
-events with same priority are scheduled for the same time. Patch by Bar Harel.
+++ /dev/null
-Fix pickling pure Python :class:`datetime.time` subclasses. Patch by Dean
-Inwood.
+++ /dev/null
-Fix an incorrectly formatted error from :meth:`_codecs.charmap_decode` when
-called with a mapped value outside the range of valid Unicode code points.
-PR by Max Bernstein.
+++ /dev/null
-plistlib: fix parsing XML plists with hexadecimal integer values
+++ /dev/null
-In ``importlib.metadata.PackageNotFoundError``, make reference to the
-package metadata being missing to improve the user experience.
+++ /dev/null
-Pickling heap types implemented in C with protocols 0 and 1 raises now an
-error instead of producing incorrect data.
+++ /dev/null
-In ``importlib.resources``, ``.path`` method is more aggressive about
-releasing handles to zipfile objects early, enabling use-cases like certifi
-to leave the context open but delete the underlying zip file.
+++ /dev/null
-:exc:`~plistlib.InvalidFileException` and :exc:`RecursionError` are now
-the only errors caused by loading malformed binary Plist file (previously
-ValueError and TypeError could be raised in some specific cases).
+++ /dev/null
-Fix memory leak in :func:`subprocess.Popen` in case an uid (gid) specified in
-`user` (`group`, `extra_groups`) overflows `uid_t` (`gid_t`).
+++ /dev/null
-Convert the :mod:`unicodedata` extension module to the multiphase
-initialization API (:pep:`489`) and convert the ``unicodedata.UCD``
-static type to a heap type.
-Patch by Mohamed Koubaa and Victor Stinner.
+++ /dev/null
-Removed the ``unicodedata.ucnhash_CAPI`` attribute which was an internal
-PyCapsule object. The related private ``_PyUnicode_Name_CAPI`` structure was
-moved to the internal C API. Patch by Victor Stinner.
+++ /dev/null
-The :class:`logging.FileHandler` class now keeps a reference to the builtin
-:func:`open` function to be able to open or reopen the file during Python
-finalization. Fix errors like: ``NameError: name 'open' is not defined``. Patch
-by Victor Stinner.
+++ /dev/null
-``binhex.binhex()`` consisently writes macOS 9 line endings.
+++ /dev/null
-The :func:`repr` of :mod:`typing` types containing
-:ref:`Generic Alias Types <types-genericalias>` previously did not show the
-parameterized types in the ``GenericAlias``. They have now been changed to do so.
+++ /dev/null
-On Solaris, :func:`~time.thread_time` is now implemented with
-``gethrvtime()`` because ``clock_gettime(CLOCK_THREAD_CPUTIME_ID)`` is not
-always available. Patch by Jakub Kulik.
+++ /dev/null
-The :mod:`plistlib` module no longer accepts entity declarations in XML
-plist files to avoid XML vulnerabilities. This should not affect users as
-entity declarations are not used in regular plist files.
+++ /dev/null
-Prevented potential DoS attack via CPU and RAM exhaustion when processing
-malformed Apple Property List files in binary format.
+++ /dev/null
-Fixed a failure in ``test_tk.test_widgets.ScaleTest`` happening when executing the test with Tk 8.6.10.
+++ /dev/null
-Tests for CJK codecs no longer call ``eval()`` on content received via HTTP.
+++ /dev/null
-Avoid a test failure in ``test_lib2to3`` if the module has already imported
-at the time the test executes. Patch by Pablo Galindo.
+++ /dev/null
-Fix test_logging.test_race_between_set_target_and_flush(): the test now
-waits until all threads complete to avoid leaking running threads.
+++ /dev/null
-Avoid Unicode errors when accessing certain locale data on Windows.
+++ /dev/null
-Update Windows installer to use SQLite 3.33.0.
+++ /dev/null
-Update Tcl and Tk to 8.6.10 in Windows installer.
+++ /dev/null
-Use 8-byte step to detect ASCII sequence in 64-bit Windows build.
+++ /dev/null
-Updates the icons for IDLE in the Windows Store package.
+++ /dev/null
-Ignore invalid prefix lengths in system proxy excludes.
-This is Python version 3.10.0 alpha 1
+This is Python version 3.10.0 alpha 2
=====================================
.. image:: https://travis-ci.com/python/cpython.svg?branch=master