Commit bbbdc2bb authored by Łukasz Langa's avatar Łukasz Langa

Merge tag 'v3.8.0a4'

Python 3.8.0a4
parents 11a8832c c1004b85
......@@ -20,10 +20,10 @@
#define PY_MINOR_VERSION 8
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL 3
#define PY_RELEASE_SERIAL 4
/* Version as a string */
#define PY_VERSION "3.8.0a3+"
#define PY_VERSION "3.8.0a4"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.
......
# -*- coding: utf-8 -*-
# Autogenerated by Sphinx on Mon Mar 25 20:32:23 2019
# Autogenerated by Sphinx on Mon May 6 20:27:55 2019
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
......@@ -162,20 +162,21 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' Note: If the object is a class instance and the attribute '
'reference\n'
' occurs on both sides of the assignment operator, the RHS '
'expression,\n'
' "a.x" can access either an instance attribute or (if no '
'instance\n'
' attribute exists) a class attribute. The LHS target "a.x" '
'is always\n'
' set as an instance attribute, creating it if necessary. '
'Thus, the\n'
' two occurrences of "a.x" do not necessarily refer to the '
'same\n'
' attribute: if the RHS expression refers to a class '
'attribute, the\n'
' LHS creates a new instance attribute as the target of the\n'
' assignment:\n'
' occurs on both sides of the assignment operator, the '
'right-hand side\n'
' expression, "a.x" can access either an instance attribute or '
'(if no\n'
' instance attribute exists) a class attribute. The left-hand '
'side\n'
' target "a.x" is always set as an instance attribute, '
'creating it if\n'
' necessary. Thus, the two occurrences of "a.x" do not '
'necessarily\n'
' refer to the same attribute: if the right-hand side '
'expression\n'
' refers to a class attribute, the left-hand side creates a '
'new\n'
' instance attribute as the target of the assignment:\n'
'\n'
' class Cls:\n'
' x = 3 # class variable\n'
......@@ -3302,11 +3303,11 @@ topics = {'assert': 'The "assert" statement\n'
'"str.format()"\n'
' method, to produce a “formatted” string representation '
'of an\n'
' object. The "format_spec" argument is a string that '
' object. The *format_spec* argument is a string that '
'contains a\n'
' description of the formatting options desired. The '
'interpretation\n'
' of the "format_spec" argument is up to the type '
' of the *format_spec* argument is up to the type '
'implementing\n'
' "__format__()", however most classes will either '
'delegate\n'
......@@ -6189,8 +6190,8 @@ topics = {'assert': 'The "assert" statement\n'
'end up importing "pkg.mod". If you execute "from ..subpkg2 import '
'mod"\n'
'from within "pkg.subpkg1" you will import "pkg.subpkg2.mod". The\n'
'specification for relative imports is contained within **PEP '
'328**.\n'
'specification for relative imports is contained in the Package\n'
'Relative Imports section.\n'
'\n'
'"importlib.import_module()" is provided to support applications '
'that\n'
......@@ -8002,11 +8003,11 @@ topics = {'assert': 'The "assert" statement\n'
'"str.format()"\n'
' method, to produce a “formatted” string representation of '
'an\n'
' object. The "format_spec" argument is a string that '
' object. The *format_spec* argument is a string that '
'contains a\n'
' description of the formatting options desired. The '
'interpretation\n'
' of the "format_spec" argument is up to the type '
' of the *format_spec* argument is up to the type '
'implementing\n'
' "__format__()", however most classes will either '
'delegate\n'
......@@ -8768,15 +8769,15 @@ topics = {'assert': 'The "assert" statement\n'
'When a class definition is executed, the following steps '
'occur:\n'
'\n'
'* MRO entries are resolved\n'
'* MRO entries are resolved;\n'
'\n'
'* the appropriate metaclass is determined\n'
'* the appropriate metaclass is determined;\n'
'\n'
'* the class namespace is prepared\n'
'* the class namespace is prepared;\n'
'\n'
'* the class body is executed\n'
'* the class body is executed;\n'
'\n'
'* the class object is created\n'
'* the class object is created.\n'
'\n'
'\n'
'Resolving MRO entries\n'
......@@ -8806,16 +8807,16 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'* if no bases and no explicit metaclass are given, then '
'"type()" is\n'
' used\n'
' used;\n'
'\n'
'* if an explicit metaclass is given and it is *not* an '
'instance of\n'
' "type()", then it is used directly as the metaclass\n'
' "type()", then it is used directly as the metaclass;\n'
'\n'
'* if an instance of "type()" is given as the explicit '
'metaclass, or\n'
' bases are defined, then the most derived metaclass is '
'used\n'
'used.\n'
'\n'
'The most derived metaclass is selected from the explicitly '
'specified\n'
......@@ -8931,7 +8932,7 @@ topics = {'assert': 'The "assert" statement\n'
'with the\n'
' class being defined and the assigned name of that '
'particular\n'
' descriptor; and\n'
' descriptor;\n'
'\n'
'* finally, the "__init_subclass__()" hook is called on the '
'immediate\n'
......@@ -9030,7 +9031,7 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
'One can implement the generic class syntax as specified by '
'**PEP 484**\n'
'(for example "List[int]") by defining a special method\n'
'(for example "List[int]") by defining a special method:\n'
'\n'
'classmethod object.__class_getitem__(cls, key)\n'
'\n'
......@@ -9672,6 +9673,14 @@ topics = {'assert': 'The "assert" statement\n'
'capitalized\n'
' and the rest lowercased.\n'
'\n'
' Changed in version 3.8: The first character is now put '
'into\n'
' titlecase rather than uppercase. This means that '
'characters like\n'
' digraphs will only have their first letter capitalized, '
'instead of\n'
' the full character.\n'
'\n'
'str.casefold()\n'
'\n'
' Return a casefolded copy of the string. Casefolded '
......@@ -10416,9 +10425,7 @@ topics = {'assert': 'The "assert" statement\n'
' >>> def titlecase(s):\n'
' ... return re.sub(r"[A-Za-z]+(\'[A-Za-z]+)?",\n'
' ... lambda mo: '
'mo.group(0)[0].upper() +\n'
' ... '
'mo.group(0)[1:].lower(),\n'
'mo.group(0).capitalize(),\n'
' ... s)\n'
' ...\n'
' >>> titlecase("they\'re bill\'s friends.")\n'
......@@ -11286,17 +11293,17 @@ topics = {'assert': 'The "assert" statement\n'
'| |\n'
' | | unavailable; not inherited by '
'| |\n'
' | | subclasses '
' | | subclasses. '
'| |\n'
' '
'+---------------------------+---------------------------------+-------------+\n'
' | "__name__" | The function’s name '
' | "__name__" | The function’s name. '
'| Writable |\n'
' '
'+---------------------------+---------------------------------+-------------+\n'
' | "__qualname__" | The function’s *qualified name* '
' | "__qualname__" | The function’s *qualified '
'| Writable |\n'
' | | New in version 3.3. '
' | | name*. New in version 3.3. '
'| |\n'
' '
'+---------------------------+---------------------------------+-------------+\n'
......@@ -11316,7 +11323,7 @@ topics = {'assert': 'The "assert" statement\n'
'| |\n'
' | | or "None" if no arguments have '
'| |\n'
' | | a default value '
' | | a default value. '
'| |\n'
' '
'+---------------------------+---------------------------------+-------------+\n'
......@@ -12172,7 +12179,13 @@ topics = {'assert': 'The "assert" statement\n'
'\n'
' "fromkeys()" is a class method that returns a new '
'dictionary.\n'
' *value* defaults to "None".\n'
' *value* defaults to "None". All of the values refer '
'to just a\n'
' single instance, so it generally doesn’t make sense '
'for *value*\n'
' to be a mutable object such as an empty list. To get '
'distinct\n'
' values, use a dict comprehension instead.\n'
'\n'
' get(key[, default])\n'
'\n'
......
.. bpo: 36742
.. date: 2019-04-29-15-34-59
.. nonce: QCUY0i
.. release date: 2019-05-06
.. section: Security
Fixes mishandling of pre-normalization characters in urlsplit().
..
.. bpo: 30458
.. date: 2019-04-10-08-53-30
.. nonce: 51E-DA
.. section: Security
Address CVE-2019-9740 by disallowing URL paths with embedded whitespace or
control characters through into the underlying http client request. Such
potentially malicious header injection URLs now cause an
http.client.InvalidURL exception to be raised.
..
.. bpo: 35755
.. date: 2019-01-17-10-03-48
.. nonce: GmllIs
.. section: Security
:func:`shutil.which` now uses ``os.confstr("CS_PATH")`` if available and if
the :envvar:`PATH` environment variable is not set. Remove also the current
directory from :data:`posixpath.defpath`. On Unix, :func:`shutil.which` and
the :mod:`subprocess` module no longer search the executable in the current
directory if the :envvar:`PATH` environment variable is not set.
..
.. bpo: 36751
.. date: 2019-04-29-23-30-21
.. nonce: 3NCRbm
.. section: Core and Builtins
The :func:`~inspect.getfullargspec` function in the :mod:`inspect` module is
deprecated in favor of the :func:`inspect.signature` API. Contributed by
Pablo Galindo.
..
.. bpo: 36722
.. date: 2019-04-25-21-02-40
.. nonce: 8NApVM
.. section: Core and Builtins
In debug build, import now also looks for C extensions compiled in release
mode and for C extensions compiled in the stable ABI.
..
.. bpo: 32849
.. date: 2019-04-16-11-56-12
.. nonce: aeSg-D
.. section: Core and Builtins
Fix Python Initialization code on FreeBSD to detect properly when stdin file
descriptor (fd 0) is invalid.
..
.. bpo: 36623
.. date: 2019-04-13-02-08-44
.. nonce: HR_xhB
.. section: Core and Builtins
Remove parser headers and related function declarations that lack
implementations after the removal of pgen.
..
.. bpo: 20180
.. date: 2019-04-12-15-49-15
.. nonce: KUqVk7
.. section: Core and Builtins
``dict.pop()`` is now up to 33% faster thanks to Argument Clinic. Patch by
Inada Naoki.
..
.. bpo: 36611
.. date: 2019-04-12-12-32-39
.. nonce: zbo9WQ
.. section: Core and Builtins
Debug memory allocators: disable serialno field by default from debug hooks
on Python memory allocators to reduce the memory footprint by 5%. Enable
:mod:`tracemalloc` to get the traceback where a memory block has been
allocated when a fatal memory error is logged to decide where to put a
breakpoint. Compile Python with ``PYMEM_DEBUG_SERIALNO`` defined to get back
the field.
..
.. bpo: 36588
.. date: 2019-04-11-14-36-55
.. nonce: wejLoC
.. section: Core and Builtins
On AIX, :attr:`sys.platform` doesn't contain the major version anymore.
Always return ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since older
Python versions include the version number, it is recommended to always use
``sys.platform.startswith('aix')``. Contributed by M. Felt.
..
.. bpo: 36549
.. date: 2019-04-11-12-41-31
.. nonce: QSp8of
.. section: Core and Builtins
Change str.capitalize to use titlecase for the first character instead of
uppercase.
..
.. bpo: 36540
.. date: 2019-04-06-20-59-19
.. nonce: SzVUfC
.. section: Core and Builtins
Implement :pep:`570` (Python positional-only parameters). Patch by Pablo
Galindo.
..
.. bpo: 36475
.. date: 2019-04-02-20-02-22
.. nonce: CjRps3
.. section: Core and Builtins
:c:func:`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread` now
terminate the current thread if called while the interpreter is finalizing,
making them consistent with :c:func:`PyEval_RestoreThread`,
:c:func:`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`.
..
.. bpo: 36504
.. date: 2019-04-02-04-10-32
.. nonce: k_V8Bm
.. section: Core and Builtins
Fix signed integer overflow in _ctypes.c's ``PyCArrayType_new()``.
..
.. bpo: 20844
.. date: 2019-03-29-18-47-50
.. nonce: ge-7SM
.. section: Core and Builtins
Fix running script with encoding cookie and LF line ending may fail on
Windows.
..
.. bpo: 24214
.. date: 2019-03-28-15-22-45
.. nonce: tZ6lYU
.. section: Core and Builtins
Fixed support of the surrogatepass error handler in the UTF-8 incremental
decoder.
..
.. bpo: 36452
.. date: 2019-03-27-23-53-00
.. nonce: xhK2lT
.. section: Core and Builtins
Changing ``dict`` keys during iteration of the dict itself, ``keys()``,
``values()``, or ``items()`` will now be detected in certain corner cases
where keys are deleted/added so that the number of keys isn't changed. A
`RuntimeError` will be raised after ``len(dict)`` iterations. Contributed by
Thomas Perl.
..
.. bpo: 36459
.. date: 2019-03-27-22-35-16
.. nonce: UAvkKp
.. section: Core and Builtins
Fix a possible double ``PyMem_FREE()`` due to tokenizer.c's ``tok_nextc()``.
..
.. bpo: 36433
.. date: 2019-03-26-17-23-02
.. nonce: -8XzZf
.. section: Core and Builtins
Fixed TypeError message in classmethoddescr_call.
..
.. bpo: 36430
.. date: 2019-03-25-23-37-26
.. nonce: sd9xxQ
.. section: Core and Builtins
Fix a possible reference leak in :func:`itertools.count`.
..
.. bpo: 36440
.. date: 2019-03-25-13-45-19
.. nonce: gkvzhi
.. section: Core and Builtins
Include node names in ``ParserError`` messages, instead of numeric IDs.
Patch by A. Skrobov.
..
.. bpo: 36143
.. date: 2019-03-20-00-37-24
.. nonce: fnKoKo
.. section: Core and Builtins
Regenerate :mod:`keyword` from the Grammar and Tokens file using pgen. Patch
by Pablo Galindo.
..
.. bpo: 18372
.. date: 2018-12-08-03-40-43
.. nonce: DT1nR0
.. section: Core and Builtins
Add missing :c:func:`PyObject_GC_Track` calls in the :mod:`pickle` module.
Patch by Zackery Spytz.
..
.. bpo: 35952
.. date: 2019-04-29-11-47-06
.. nonce: 3uNuyo
.. section: Library
Fix pythoninfo when the compiler is missing.
..
.. bpo: 28238
.. date: 2019-04-28-15-01-29
.. nonce: gdk38f
.. section: Library
The ``.find*()`` methods of xml.etree.ElementTree can now search for
wildcards like ``{*}tag`` and ``{ns}*`` that match a tag in any namespace or
all tags in a namespace. Patch by Stefan Behnel.
..
.. bpo: 26978
.. date: 2019-04-28-01-52-39
.. nonce: Lpm-SI
.. section: Library
`pathlib.path.link_to()` is now implemented. It creates a hard link pointing
to a path.
..
.. bpo: 1613500
.. date: 2019-04-27-21-09-33
.. nonce: Ogp4P0
.. section: Library
:class:`fileinput.FileInput` now uses the input file mode to correctly set
the output file mode (previously it was hardcoded to ``'w'``) when
``inplace=True`` is passed to its constructor.
..
.. bpo: 36734
.. date: 2019-04-26-17-14-20
.. nonce: p2MaiN
.. section: Library
Fix compilation of ``faulthandler.c`` on HP-UX. Initialize ``stack_t
current_stack`` to zero using ``memset()``.
..
.. bpo: 13611
.. date: 2019-04-26-10-10-34
.. nonce: XEF4bg
.. section: Library
The xml.etree.ElementTree packages gained support for C14N 2.0
serialisation. Patch by Stefan Behnel.
..
.. bpo: 36669
.. date: 2019-04-24-17-08-45
.. nonce: X4g0fu
.. section: Library
Add missing matrix multiplication operator support to weakref.proxy.
..
.. bpo: 36676
.. date: 2019-04-20-13-10-34
.. nonce: XF4Egb
.. section: Library
The XMLParser() in xml.etree.ElementTree provides namespace prefix context
to the parser target if it defines the callback methods "start_ns()" and/or
"end_ns()". Patch by Stefan Behnel.
..
.. bpo: 36673
.. date: 2019-04-20-09-50-32
.. nonce: XF4Egb
.. section: Library
The TreeBuilder and XMLPullParser in xml.etree.ElementTree gained support
for parsing comments and processing instructions. Patch by Stefan Behnel.
..
.. bpo: 36650
.. date: 2019-04-19-15-29-55
.. nonce: _EVdrz
.. section: Library
The C version of functools.lru_cache() was treating calls with an empty
``**kwargs`` dictionary as being distinct from calls with no keywords at
all. This did not result in an incorrect answer, but it did trigger an
unexpected cache miss.
..
.. bpo: 28552
.. date: 2019-04-18-16-10-29
.. nonce: MW1TLt
.. section: Library
Fix :mod:`distutils.sysconfig` if :data:`sys.executable` is ``None`` or an
empty string: use :func:`os.getcwd` to initialize ``project_base``. Fix
also the distutils build command: don't use :data:`sys.executable` if it is
``None`` or an empty string.
..
.. bpo: 35755
.. date: 2019-04-16-17-50-39
.. nonce: Fg4EXb
.. section: Library
:func:`shutil.which` and :func:`distutils.spawn.find_executable` now use
``os.confstr("CS_PATH")`` if available instead of :data:`os.defpath`, if the
``PATH`` environment variable is not set. Moreover, don't use
``os.confstr("CS_PATH")`` nor :data:`os.defpath` if the ``PATH`` environment
variable is set to an empty string.
..
.. bpo: 25430
.. date: 2019-04-15-12-22-09
.. nonce: 7_8kqc
.. section: Library
improve performance of ``IPNetwork.__contains__()``
..
.. bpo: 30485
.. date: 2019-04-13-23-42-33
.. nonce: JHhjJS
.. section: Library
Path expressions in xml.etree.ElementTree can now avoid explicit namespace
prefixes for tags (or the "{namespace}tag" notation) by passing a default
namespace with an empty string prefix.
..
.. bpo: 36613
.. date: 2019-04-12-13-52-15
.. nonce: hqT1qn
.. section: Library
Fix :mod:`asyncio` wait() not removing callback if exception
..
.. bpo: 36598
.. date: 2019-04-11-22-11-24
.. nonce: hfzDUl
.. section: Library
Fix ``isinstance`` check for Mock objects with spec when the code is
executed under tracing. Patch by Karthikeyan Singaravelan.
..
.. bpo: 18748
.. date: 2019-04-11-16-09-42
.. nonce: QW7upB
.. section: Library
In development mode (:option:`-X` ``dev``) and in debug build, the
:class:`io.IOBase` destructor now logs ``close()`` exceptions. These
exceptions are silent by default in release mode.
..
.. bpo: 36575
.. date: 2019-04-09-22-40-52
.. nonce: Vg_p92
.. section: Library
The ``_lsprof`` module now uses internal timer same to
``time.perf_counter()`` by default. ``gettimeofday(2)`` was used on Unix.
New timer has better resolution on most Unix platforms and timings are no
longer impacted by system clock updates since ``perf_counter()`` is
monotonic. Patch by Inada Naoki.
..
.. bpo: 33461
.. date: 2019-04-09-14-46-28
.. nonce: SYJM-E
.. section: Library
``json.loads`` now emits ``DeprecationWarning`` when ``encoding`` option is
specified. Patch by Matthias Bussonnier.
..
.. bpo: 36559
.. date: 2019-04-09-12-02-35
.. nonce: LbDRrw
.. section: Library
The random module now prefers the lean internal _sha512 module over hashlib
for seed(version=2) to optimize import time.
..
.. bpo: 17561
.. date: 2019-04-09-04-08-46
.. nonce: hOhVnh
.. section: Library
Set backlog=None as the default for socket.create_server.
..
.. bpo: 34373
.. date: 2019-04-08-14-41-22
.. nonce: lEAl_-
.. section: Library
Fix :func:`time.mktime` error handling on AIX for year before 1970.
..
.. bpo: 36232
.. date: 2019-04-06-20-25-25
.. nonce: SClmhb
.. section: Library
Improve error message when trying to open existing DBM database that
actually doesn't exist. Patch by Marco Rougeth.
..
.. bpo: 36546
.. date: 2019-04-06-14-23-00
.. nonce: YXjbyY
.. section: Library
Add statistics.quantiles()
..
.. bpo: 36050
.. date: 2019-04-05-21-29-53
.. nonce: x9DRKE
.. section: Library
Optimized ``http.client.HTTPResponse.read()`` for large response. Patch by
Inada Naoki.
..
.. bpo: 36522
.. date: 2019-04-03-20-46-47
.. nonce: g5x3By
.. section: Library
If *debuglevel* is set to >0 in :mod:`http.client`, print all values for
headers with multiple values for the same header name. Patch by Matt
Houglum.
..
.. bpo: 36492
.. date: 2019-03-31-10-21-54
.. nonce: f7vyUs
.. section: Library
Deprecated passing required arguments like *func* as keyword arguments in
functions which should accept arbitrary keyword arguments and pass them to
other function. Arbitrary keyword arguments (even with names "self" and
"func") can now be passed to these functions if the required arguments are
passed as positional arguments.
..
.. bpo: 27181
.. date: 2019-03-31-01-18-52
.. nonce: LVUWcc
.. section: Library
Add statistics.geometric_mean().
..
.. bpo: 30427
.. date: 2019-03-28-21-17-08
.. nonce: lxzvbw
.. section: Library
``os.path.normcase()`` relies on ``os.fspath()`` to check the type of its
argument. Redundant checks have been removed from its
``posixpath.normcase()`` and ``ntpath.normcase()`` implementations. Patch by
Wolfgang Maier.
..
.. bpo: 36385
.. date: 2019-03-27-02-09-22
.. nonce: we2F45
.. section: Library
Stop rejecting IPv4 octets for being ambiguously octal. Leading zeros are
ignored, and no longer are assumed to specify octal octets. Octets are
always decimal numbers. Octets must still be no more than three digits,
including leading zeroes.
..
.. bpo: 36434
.. date: 2019-03-26-14-20-59
.. nonce: PTdidw
.. section: Library
Errors during writing to a ZIP file no longer prevent to properly close it.
..
.. bpo: 36407
.. date: 2019-03-23-17-16-15
.. nonce: LG3aC4
.. section: Library
Fixed wrong indentation writing for CDATA section in xml.dom.minidom. Patch
by Vladimir Surjaninov.
..
.. bpo: 36326
.. date: 2019-03-22-13-47-52
.. nonce: WCnEI5
.. section: Library
inspect.getdoc() can now find docstrings for member objects when __slots__
is a dictionary.
..
.. bpo: 36366
.. date: 2019-03-20-15-13-18
.. nonce: n0eav_
.. section: Library
Calling ``stop()`` on an unstarted or stopped :func:`unittest.mock.patch`
object will now return `None` instead of raising :exc:`RuntimeError`, making
the method idempotent. Patch by Karthikeyan Singaravelan.
..
.. bpo: 36348
.. date: 2019-03-18-16-16-55
.. nonce: E0w_US
.. section: Library
The :meth:`imap.IMAP4.logout` method no longer ignores silently arbitrary
exceptions.
..
.. bpo: 31904
.. date: 2019-03-13-16-48-42
.. nonce: 9sjd38
.. section: Library
Add time module support and fix test_time faiures for VxWorks.
..
.. bpo: 36227
.. date: 2019-03-07-20-02-18
.. nonce: i2Z1XR
.. section: Library
Added support for keyword arguments `default_namespace` and
`xml_declaration` in functions ElementTree.tostring() and
ElementTree.tostringlist().
..
.. bpo: 36004
.. date: 2019-02-17-12-55-51
.. nonce: hCt_KK
.. section: Library
Added new alternate constructors :meth:`datetime.date.fromisocalendar` and
:meth:`datetime.datetime.fromisocalendar`, which construct date objects from
ISO year, week number and weekday; these are the inverse of each class's
``isocalendar`` method. Patch by Paul Ganssle.
..
.. bpo: 35936
.. date: 2019-02-16-22-19-32
.. nonce: Ay5WtD
.. section: Library
:mod:`modulefinder` no longer depends on the deprecated :mod:`imp` module,
and the initializer for :class:`modulefinder.ModuleFinder` now has immutable
default arguments. Patch by Brandt Bucher.
..
.. bpo: 35376
.. date: 2019-02-13-18-56-27
.. nonce: UFhYLj
.. section: Library
:mod:`modulefinder` correctly handles modules that have the same name as a
bad package. Patch by Brandt Bucher.
..
.. bpo: 17396
.. date: 2019-02-13-18-56-22
.. nonce: oKRkrD
.. section: Library
:mod:`modulefinder` no longer crashes when encountering syntax errors in
followed imports. Patch by Brandt Bucher.
..
.. bpo: 35934
.. date: 2019-02-07-20-25-39
.. nonce: QmfNmY
.. section: Library
Added :meth:`~socket.create_server()` and
:meth:`~socket.has_dualstack_ipv6()` convenience functions to automate the
necessary tasks usually involved when creating a server socket, including
accepting both IPv4 and IPv6 connections on the same socket. (Contributed
by Giampaolo Rodola in :issue:`17561`.)
..
.. bpo: 23078
.. date: 2019-01-18-23-10-10
.. nonce: l4dFoj
.. section: Library
Add support for :func:`classmethod` and :func:`staticmethod` to
:func:`unittest.mock.create_autospec`. Initial patch by Felipe Ochoa.
..
.. bpo: 35416
.. date: 2018-12-05-09-55-05
.. nonce: XALKZG
.. section: Library
Fix potential resource warnings in distutils. Patch by Mickaël Schoentgen.
..
.. bpo: 25451
.. date: 2018-11-07-23-44-25
.. nonce: re_8db
.. section: Library
Add transparency methods to :class:`tkinter.PhotoImage`. Patch by Zackery
Spytz.
..
.. bpo: 35082
.. date: 2018-10-27-11-54-12
.. nonce: HDj1nr
.. section: Library
Don't return deleted attributes when calling dir on a
:class:`unittest.mock.Mock`.
..
.. bpo: 34547
.. date: 2018-10-05-16-01-00
.. nonce: abbaa
.. section: Library
:class:`wsgiref.handlers.BaseHandler` now handles abrupt client connection
terminations gracefully. Patch by Petter Strandmark.
..
.. bpo: 31658
.. date: 2018-07-30-12-00-15
.. nonce: _bx7a_
.. section: Library
:func:`xml.sax.parse` now supports :term:`path-like <path-like object>`.
Patch by Mickaël Schoentgen.
..
.. bpo: 34139
.. date: 2018-07-18-11-25-34
.. nonce: tKbmW7
.. section: Library
Remove stale unix datagram socket before binding
..
.. bpo: 33530
.. date: 2018-05-29-18-34-53
.. nonce: _4Q_bi
.. section: Library
Implemented Happy Eyeballs in `asyncio.create_connection()`. Added two new
arguments, *happy_eyeballs_delay* and *interleave*, to specify Happy
Eyeballs behavior.
..
.. bpo: 33291
.. date: 2018-04-11-11-41-52
.. nonce: -xLGf8
.. section: Library
Do not raise AttributeError when calling the inspect functions
isgeneratorfunction, iscoroutinefunction, isasyncgenfunction on a method
created from an arbitrary callable. Instead, return False.
..
.. bpo: 31310
.. date: 2018-04-06-11-06-23
.. nonce: eq9ky0
.. section: Library
Fix the multiprocessing.semaphore_tracker so it is reused by child processes
..
.. bpo: 31292
.. date: 2017-08-30-20-27-00
.. nonce: dKIaZb
.. section: Library
Fix ``setup.py check --restructuredtext`` for files containing ``include``
directives.
..
.. bpo: 36625
.. date: 2019-04-15-12-02-45
.. nonce: x3LMCF
.. section: Documentation
Remove obsolete comments from docstrings in fractions.Fraction
..
.. bpo: 30840
.. date: 2019-04-14-19-46-21
.. nonce: R-JFzw
.. section: Documentation
Document relative imports
..
.. bpo: 36523
.. date: 2019-04-04-19-11-47
.. nonce: sG1Tr4
.. section: Documentation
Add docstring for io.IOBase.writelines().
..
.. bpo: 36425
.. date: 2019-03-27-22-46-00
.. nonce: kG9gx1
.. section: Documentation
New documentation translation: `Simplified Chinese
<https://docs.python.org/zh-cn/>`_.
..
.. bpo: 36345
.. date: 2019-03-26-14-58-34
.. nonce: r2stx3
.. section: Documentation
Avoid the duplication of code from ``Tools/scripts/serve.py`` in using the
:rst:dir:`literalinclude` directive for the basic wsgiref-based web server
in the documentation of :mod:`wsgiref`. Contributed by Stéphane Wirtel.
..
.. bpo: 36345
.. date: 2019-03-23-09-25-12
.. nonce: L704Zv
.. section: Documentation
Using the code of the ``Tools/scripts/serve.py`` script as an example in the
:mod:`wsgiref` documentation. Contributed by Stéphane Wirtel.
..
.. bpo: 36157
.. date: 2019-03-08-15-39-47
.. nonce: nF1pP1
.. section: Documentation
Added Documention for PyInterpreterState_Main().
..
.. bpo: 33043
.. date: 2019-02-24-03-15-10
.. nonce: 8knWTS
.. section: Documentation
Updates the docs.python.org page with the addition of a 'Contributing to
Docs' link at the end of the page (between 'Reporting Bugs' and 'About
Documentation'). Updates the 'Found a Bug' page with additional links and
information in the Documentation Bugs section.
..
.. bpo: 35581
.. date: 2018-12-25-12-56-57
.. nonce: aA7r6T
.. section: Documentation
@typing.type_check_only now allows type stubs to mark functions and classes
not available during runtime.
..
.. bpo: 33832
.. date: 2018-06-15-15-57-37
.. nonce: xBFhKw
.. section: Documentation
Add glossary entry for 'magic method'.
..
.. bpo: 32913
.. date: 2018-02-22-15-48-16
.. nonce: f3utho
.. section: Documentation
Added re.Match.groupdict example to regex HOWTO.
..
.. bpo: 36719
.. date: 2019-04-26-09-02-49
.. nonce: ys2uqH
.. section: Tests
regrtest now always detects uncollectable objects. Previously, the check was
only enabled by ``--findleaks``. The check now also works with
``-jN/--multiprocess N``. ``--findleaks`` becomes a deprecated alias to
``--fail-env-changed``.
..
.. bpo: 36725
.. date: 2019-04-26-04-12-29
.. nonce: B8-ghi
.. section: Tests
When using mulitprocessing mode (-jN), regrtest now better reports errors if
a worker process fails, and it exits immediately on a worker thread failure
or when interrupted.
..
.. bpo: 36454
.. date: 2019-04-23-17-48-11
.. nonce: 0q4lQz
.. section: Tests
Change test_time.test_monotonic() to test only the lower bound of elapsed
time after a sleep command rather than the upper bound. This prevents
unnecessary test failures on slow buildbots. Patch by Victor Stinner.
..
.. bpo: 32424
.. date: 2019-04-21-17-55-18
.. nonce: yDy49h
.. section: Tests
Improve test coverage for xml.etree.ElementTree. Patch by Gordon P. Hemsley.
..
.. bpo: 32424
.. date: 2019-04-21-17-53-50
.. nonce: Q4rBmn
.. section: Tests
Fix typo in test_cyclic_gc() test for xml.etree.ElementTree. Patch by Gordon
P. Hemsley.
..
.. bpo: 36635
.. date: 2019-04-15-16-55-49
.. nonce: __FTq9
.. section: Tests
Add a new :mod:`_testinternalcapi` module to test the internal C API.
..
.. bpo: 36629
.. date: 2019-04-15-11-57-39
.. nonce: ySnaL3
.. section: Tests
Fix ``test_imap4_host_default_value()`` of ``test_imaplib``: catch also
:data:`errno.ENETUNREACH` error.
..
.. bpo: 36611
.. date: 2019-04-12-12-44-42
.. nonce: UtorXL
.. section: Tests
Fix ``test_sys.test_getallocatedblocks()`` when :mod:`tracemalloc` is
enabled.
..
.. bpo: 36560
.. date: 2019-04-09-14-08-02
.. nonce: _ejeOr
.. section: Tests
Fix reference leak hunting in regrtest: compute also deltas (of reference
count, allocated memory blocks, file descriptor count) during warmup, to
ensure that everything is initialized before starting to hunt reference
leaks.
..
.. bpo: 36565
.. date: 2019-04-08-19-01-21
.. nonce: 2bxgtU
.. section: Tests
Fix reference hunting (``python3 -m test -R 3:3``) when Python has no
built-in abc module.
..
.. bpo: 31904
.. date: 2019-04-08-09-24-36
.. nonce: ab03ea
.. section: Tests
Port test_resource to VxWorks: skip tests cases setting RLIMIT_FSIZE and
RLIMIT_CPU.
..
.. bpo: 31904
.. date: 2019-04-01-16-06-36
.. nonce: peaceF
.. section: Tests
Fix test_tabnanny on VxWorks: adjust ENOENT error message.
..
.. bpo: 36436
.. date: 2019-03-26-13-49-21
.. nonce: yAtN0V
.. section: Tests
Fix ``_testcapi.pymem_buffer_overflow()``: handle memory allocation failure.
..
.. bpo: 31904
.. date: 2019-03-19-17-39-25
.. nonce: QxhhRx
.. section: Tests
Fix test_utf8_mode on VxWorks: Python always use UTF-8 on VxWorks.
..
.. bpo: 36341
.. date: 2019-03-18-10-47-45
.. nonce: UXlY0P
.. section: Tests
Fix tests that may fail with PermissionError upon calling bind() on AF_UNIX
sockets.
..
.. bpo: 36747
.. date: 2019-04-29-09-57-20
.. nonce: 1YEyu-
.. section: Build
Remove the stale scriptsinstall Makefile target.
..
.. bpo: 21536
.. date: 2019-04-25-01-51-52
.. nonce: ACQkiC
.. section: Build
On Unix, C extensions are no longer linked to libpython except on Android.
It is now possible for a statically linked Python to load a C extension
built using a shared library Python.
When Python is embedded, ``libpython`` must not be loaded with
``RTLD_LOCAL``, but ``RTLD_GLOBAL`` instead. Previously, using
``RTLD_LOCAL``, it was already not possible to load C extensions which were
not linked to ``libpython``, such as C extensions of the standard library
built by the ``*shared*`` section of ``Modules/Setup``.
distutils, python-config and python-config.py have been modified.
..
.. bpo: 36707
.. date: 2019-04-24-02-29-15
.. nonce: 8ZNB67
.. section: Build
``./configure --with-pymalloc`` no longer adds the ``m`` flag to SOABI
(sys.implementation.cache_tag). Enabling or disabling pymalloc has no impact
on the ABI.
..
.. bpo: 36635
.. date: 2019-04-16-13-58-52
.. nonce: JKlzkf
.. section: Build
Change ``PyAPI_FUNC(type)``, ``PyAPI_DATA(type)`` and ``PyMODINIT_FUNC``
macros of ``pyport.h`` when ``Py_BUILD_CORE_MODULE`` is defined. The
``Py_BUILD_CORE_MODULE`` define must be now be used to build a C extension
as a dynamic library accessing Python internals: export the PyInit_xxx()
function in DLL exports on Windows.
..
.. bpo: 31904
.. date: 2019-04-15-15-01-29
.. nonce: 38fdkg
.. section: Build
Don't build the ``_crypt`` extension on VxWorks.
..
.. bpo: 36618
.. date: 2019-04-12-19-49-10
.. nonce: gcI9iq
.. section: Build
Add ``-fmax-type-align=8`` to CFLAGS when clang compiler is detected. The
pymalloc memory allocator aligns memory on 8 bytes. On x86-64, clang expects
alignment on 16 bytes by default and so uses MOVAPS instruction which can
lead to segmentation fault. Instruct clang that Python is limited to
alignemnt on 8 bytes to use MOVUPS instruction instead: slower but don't
trigger a SIGSEGV if the memory is not aligned on 16 bytes. Sadly, the flag
must be added to ``CFLAGS`` and not just ``CFLAGS_NODIST``, since third
party C extensions can have the same issue.
..
.. bpo: 36605
.. date: 2019-04-11-18-50-58
.. nonce: gk5czf
.. section: Build
``make tags`` and ``make TAGS`` now also parse ``Modules/_io/*.c`` and
``Modules/_io/*.h``.
..
.. bpo: 36465
.. date: 2019-04-09-18-19-43
.. nonce: -w6vx6
.. section: Build
Release builds and debug builds are now ABI compatible: defining the
``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro, which
introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` macro, which
adds the :func:`sys.getobjects` function and the :envvar:`PYTHONDUMPREFS`
environment variable, can be set using the new ``./configure
--with-trace-refs`` build option.
..
.. bpo: 36577
.. date: 2019-04-09-17-31-47
.. nonce: 34kuUW
.. section: Build
setup.py now correctly reports missing OpenSSL headers and libraries again.
..
.. bpo: 36544
.. date: 2019-04-06-18-53-03
.. nonce: hJr2_a
.. section: Build
Fix regression introduced in bpo-36146 refactoring setup.py
..
.. bpo: 36508
.. date: 2019-04-02-17-01-23
.. nonce: SN5Y6N
.. section: Build
``python-config --ldflags`` no longer includes flags of the
``LINKFORSHARED`` variable. The ``LINKFORSHARED`` variable must only be used
to build executables.
..
.. bpo: 36503
.. date: 2019-04-02-09-25-23
.. nonce: 0xzfkQ
.. section: Build
Remove references to "aix3" and "aix4". Patch by M. Felt.
..
.. bpo: 35920
.. date: 2019-04-22-16-59-20
.. nonce: VSfGOI
.. section: Windows
Added platform.win32_edition() and platform.win32_is_iot(). Added support
for cross-compiling packages for Windows ARM32. Skip tests that are not
expected to work on Windows IoT Core ARM32.
..
.. bpo: 36649
.. date: 2019-04-17-11-39-24
.. nonce: arbzIo
.. section: Windows
Remove trailing spaces for registry keys when installed via the Store.
..
.. bpo: 34144
.. date: 2019-04-10-04-35-31
.. nonce: _KzB5z
.. section: Windows
Fixed activate.bat to correctly update codepage when chcp.com returns dots
in output. Patch by Lorenz Mende.
..
.. bpo: 36509
.. date: 2019-04-02-10-11-18
.. nonce: DdaM67
.. section: Windows
Added preset-iot layout for Windows IoT ARM containers. This layout doesn't
contain UI components like tkinter or IDLE. It also doesn't contain files to
support on-target builds since Windows ARM32 builds must be cross-compiled
when using MSVC.
..
.. bpo: 35941
.. date: 2019-03-28-03-51-16
.. nonce: UnlAEE
.. section: Windows
enum_certificates function of the ssl module now returns certificates from
all available certificate stores inside windows in a query instead of
returning only certificates from the system wide certificate store. This
includes certificates from these certificate stores: local machine, local
machine enterprise, local machine group policy, current user, current user
group policy, services, users. ssl.enum_crls() function is changed in the
same way to return all certificate revocation lists inside the windows
certificate revocation list stores.
..
.. bpo: 36441
.. date: 2019-03-26-11-46-15
.. nonce: lYjGF1
.. section: Windows
Fixes creating a venv when debug binaries are installed.
..
.. bpo: 36085
.. date: 2019-03-18-11-44-49
.. nonce: mLfxfc
.. section: Windows
Enable better DLL resolution on Windows by using safe DLL search paths and
adding :func:`os.add_dll_directory`.
..
.. bpo: 36010
.. date: 2019-03-16-10-24-58
.. nonce: dttWfp
.. section: Windows
Add the venv standard library module to the nuget distribution for Windows.
..
.. bpo: 29515
.. date: 2019-03-05-18-09-43
.. nonce: vwUTv0
.. section: Windows
Add the following socket module constants on Windows: IPPROTO_AH IPPROTO_CBT
IPPROTO_DSTOPTS IPPROTO_EGP IPPROTO_ESP IPPROTO_FRAGMENT IPPROTO_GGP
IPPROTO_HOPOPTS IPPROTO_ICLFXBM IPPROTO_ICMPV6 IPPROTO_IDP IPPROTO_IGMP
IPPROTO_IGP IPPROTO_IPV4 IPPROTO_IPV6 IPPROTO_L2TP IPPROTO_MAX IPPROTO_ND
IPPROTO_NONE IPPROTO_PGM IPPROTO_PIM IPPROTO_PUP IPPROTO_RDP IPPROTO_ROUTING
IPPROTO_SCTP IPPROTO_ST
..
.. bpo: 35947
.. date: 2019-02-11-14-53-17
.. nonce: 9vI4hP
.. section: Windows
Added current version of libffi to cpython-source-deps. Change _ctypes to
use current version of libffi on Windows.
..
.. bpo: 34060
.. date: 2018-07-20-13-09-19
.. nonce: v-z87j
.. section: Windows
Report system load when running test suite on Windows. Patch by Ammar Askar.
Based on prior work by Jeremy Kloth.
..
.. bpo: 31512
.. date: 2017-10-04-12-40-45
.. nonce: YQeBt2
.. section: Windows
With the Windows 10 Creators Update, non-elevated users can now create
symlinks as long as the computer has Developer Mode enabled.
..
.. bpo: 34602
.. date: 2019-04-29-10-54-14
.. nonce: Lrl2zU
.. section: macOS
Avoid failures setting macOS stack resource limit with resource.setrlimit.
This reverts an earlier fix for bpo-18075 which forced a non-default stack
size when building the interpreter executable on macOS.
..
.. bpo: 36429
.. date: 2019-03-26-00-09-50
.. nonce: w-jL2e
.. section: IDLE
Fix starting IDLE with pyshell. Add idlelib.pyshell alias at top; remove
pyshell alias at bottom. Remove obsolete __name__=='__main__' command.
..
.. bpo: 14546
.. date: 2019-04-30-14-30-29
.. nonce: r38Y-6
.. section: Tools/Demos
Fix the argument handling in Tools/scripts/lll.py.
..
.. bpo: 36763
.. date: 2019-05-01-00-42-08
.. nonce: vghb86
.. section: C API
Fix memory leak in :c:func:`Py_SetStandardStreamEncoding`: release memory if
the function is called twice.
..
.. bpo: 36641
.. date: 2019-04-16-21-18-19
.. nonce: pz-DIR
.. section: C API
:c:macro:`PyDoc_VAR(name)` and :c:macro:`PyDoc_STRVAR(name,str)` now create
``static const char name[]`` instead of ``static char name[]``. Patch by
Inada Naoki.
..
.. bpo: 36389
.. date: 2019-04-11-12-20-35
.. nonce: P9QFoP
.. section: C API
Change the value of ``CLEANBYTE``, ``DEADDYTE`` and ``FORBIDDENBYTE``
internal constants used by debug hooks on Python memory allocators
(:c:func:`PyMem_SetupDebugHooks` function). Byte patterns ``0xCB``, ``0xDB``
and ``0xFB`` have been replaced with ``0xCD``, ``0xDD`` and ``0xFD`` to use
the same values than Windows CRT debug ``malloc()`` and ``free()``.
..
.. bpo: 36443
.. date: 2019-03-27-15-58-23
.. nonce: tAfZR9
.. section: C API
Since Python 3.7.0, calling :c:func:`Py_DecodeLocale` before
:c:func:`Py_Initialize` produces mojibake if the ``LC_CTYPE`` locale is
coerced and/or if the UTF-8 Mode is enabled by the user configuration. The
LC_CTYPE coercion and UTF-8 Mode are now disabled by default to fix the
mojibake issue. They must now be enabled explicitly (opt-in) using the new
:c:func:`_Py_PreInitialize` API with ``_PyPreConfig``.
..
.. bpo: 36025
.. date: 2019-02-19-08-23-42
.. nonce: tnwylQ
.. section: C API
Fixed an accidental change to the datetime C API where the arguments to the
:c:func:`PyDate_FromTimestamp` function were incorrectly interpreted as a
single timestamp rather than an arguments tuple, which causes existing code
to start raising :exc:`TypeError`. The backwards-incompatible change was
only present in alpha releases of Python 3.8. Patch by Paul Ganssle.
..
.. bpo: 35810
.. date: 2019-01-23-12-38-11
.. nonce: wpbWeb
.. section: C API
Modify ``PyObject_Init`` to correctly increase the refcount of heap-
allocated Type objects. Also fix the refcounts of the heap-allocated types
that were either doing this manually or not decreasing the type's refcount
in tp_dealloc
Remove references to "aix3" and "aix4".
Patch by M. Felt.
``python-config --ldflags`` no longer includes flags of the
``LINKFORSHARED`` variable. The ``LINKFORSHARED`` variable must only be used
to build executables.
Fix regression introduced in bpo-36146 refactoring setup.py
setup.py now correctly reports missing OpenSSL headers and libraries again.
Release builds and debug builds are now ABI compatible: defining the
``Py_DEBUG`` macro no longer implies the ``Py_TRACE_REFS`` macro, which
introduces the only ABI incompatibility. The ``Py_TRACE_REFS`` macro, which
adds the :func:`sys.getobjects` function and the :envvar:`PYTHONDUMPREFS`
environment variable, can be set using the new ``./configure --with-trace-refs``
build option.
``make tags`` and ``make TAGS`` now also parse ``Modules/_io/*.c`` and
``Modules/_io/*.h``.
Add ``-fmax-type-align=8`` to CFLAGS when clang compiler is detected. The
pymalloc memory allocator aligns memory on 8 bytes. On x86-64, clang expects
alignment on 16 bytes by default and so uses MOVAPS instruction which can
lead to segmentation fault. Instruct clang that Python is limited to
alignemnt on 8 bytes to use MOVUPS instruction instead: slower but don't
trigger a SIGSEGV if the memory is not aligned on 16 bytes. Sadly, the flag
must be added to ``CFLAGS`` and not just ``CFLAGS_NODIST``, since third party C
extensions can have the same issue.
Change ``PyAPI_FUNC(type)``, ``PyAPI_DATA(type)`` and ``PyMODINIT_FUNC``
macros of ``pyport.h`` when ``Py_BUILD_CORE_MODULE`` is defined. The
``Py_BUILD_CORE_MODULE`` define must be now be used to build a C extension
as a dynamic library accessing Python internals: export the PyInit_xxx()
function in DLL exports on Windows.
``./configure --with-pymalloc`` no longer adds the ``m`` flag to SOABI
(sys.implementation.cache_tag). Enabling or disabling pymalloc has no impact
on the ABI.
On Unix, C extensions are no longer linked to libpython except on Android.
It is now possible for a statically linked Python to load a C extension built
using a shared library Python.
When Python is embedded, ``libpython`` must not be loaded with ``RTLD_LOCAL``,
but ``RTLD_GLOBAL`` instead. Previously, using ``RTLD_LOCAL``, it was already
not possible to load C extensions which were not linked to ``libpython``, such
as C extensions of the standard library built by the ``*shared*`` section of
``Modules/Setup``.
distutils, python-config and python-config.py have been modified.
Modify ``PyObject_Init`` to correctly increase the refcount of heap-
allocated Type objects. Also fix the refcounts of the heap-allocated types
that were either doing this manually or not decreasing the type's refcount
in tp_dealloc
Fixed an accidental change to the datetime C API where the arguments to the
:c:func:`PyDate_FromTimestamp` function were incorrectly interpreted as a
single timestamp rather than an arguments tuple, which causes existing code to
start raising :exc:`TypeError`. The backwards-incompatible change was only
present in alpha releases of Python 3.8. Patch by Paul Ganssle.
Since Python 3.7.0, calling :c:func:`Py_DecodeLocale` before
:c:func:`Py_Initialize` produces mojibake if the ``LC_CTYPE`` locale is coerced
and/or if the UTF-8 Mode is enabled by the user configuration. The LC_CTYPE
coercion and UTF-8 Mode are now disabled by default to fix the mojibake issue.
They must now be enabled explicitly (opt-in) using the new
:c:func:`_Py_PreInitialize` API with ``_PyPreConfig``.
Change the value of ``CLEANBYTE``, ``DEADDYTE`` and ``FORBIDDENBYTE`` internal
constants used by debug hooks on Python memory allocators
(:c:func:`PyMem_SetupDebugHooks` function). Byte patterns ``0xCB``, ``0xDB``
and ``0xFB`` have been replaced with ``0xCD``, ``0xDD`` and ``0xFD`` to use the
same values than Windows CRT debug ``malloc()`` and ``free()``.
:c:macro:`PyDoc_VAR(name)` and :c:macro:`PyDoc_STRVAR(name,str)` now create
``static const char name[]`` instead of ``static char name[]``. Patch by Inada Naoki.
Fix memory leak in :c:func:`Py_SetStandardStreamEncoding`: release memory if
the function is called twice.
Add missing :c:func:`PyObject_GC_Track` calls in the :mod:`pickle` module.
Patch by Zackery Spytz.
Regenerate :mod:`keyword` from the Grammar and Tokens file using pgen. Patch
by Pablo Galindo.
Include node names in ``ParserError`` messages, instead of numeric IDs.
Patch by A. Skrobov.
Fix a possible reference leak in :func:`itertools.count`.
Fix a possible double ``PyMem_FREE()`` due to tokenizer.c's ``tok_nextc()``.
Changing ``dict`` keys during iteration of the dict itself, ``keys()``,
``values()``, or ``items()`` will now be detected in certain corner cases where
keys are deleted/added so that the number of keys isn't changed.
A `RuntimeError` will be raised after ``len(dict)`` iterations.
Contributed by Thomas Perl.
Fixed support of the surrogatepass error handler in the UTF-8 incremental
decoder.
Fix running script with encoding cookie and LF line ending
may fail on Windows.
Fix signed integer overflow in _ctypes.c's ``PyCArrayType_new()``.
:c:func:`PyEval_AcquireLock` and :c:func:`PyEval_AcquireThread` now
terminate the current thread if called while the interpreter is
finalizing, making them consistent with :c:func:`PyEval_RestoreThread`,
:c:func:`Py_END_ALLOW_THREADS`, and :c:func:`PyGILState_Ensure`.
\ No newline at end of file
Implement :pep:`570` (Python positional-only parameters). Patch by Pablo
Galindo.
Change str.capitalize to use titlecase for the first character instead of
uppercase.
On AIX, :attr:`sys.platform` doesn't contain the major version anymore.
Always return ``'aix'``, instead of ``'aix3'`` .. ``'aix7'``. Since
older Python versions include the version number, it is recommended to
always use ``sys.platform.startswith('aix')``.
Contributed by M. Felt.
Debug memory allocators: disable serialno field by default from debug hooks on
Python memory allocators to reduce the memory footprint by 5%. Enable
:mod:`tracemalloc` to get the traceback where a memory block has been allocated
when a fatal memory error is logged to decide where to put a breakpoint.
Compile Python with ``PYMEM_DEBUG_SERIALNO`` defined to get back the field.
``dict.pop()`` is now up to 33% faster thanks to Argument Clinic. Patch by
Inada Naoki.
Remove parser headers and related function declarations that lack
implementations after the removal of pgen.
Fix Python Initialization code on FreeBSD to detect properly when stdin file
descriptor (fd 0) is invalid.
In debug build, import now also looks for C extensions compiled in release
mode and for C extensions compiled in the stable ABI.
The :func:`~inspect.getfullargspec` function in the :mod:`inspect` module is
deprecated in favor of the :func:`inspect.signature` API. Contributed by
Pablo Galindo.
@typing.type_check_only now allows type stubs to mark functions and classes not available during runtime.
\ No newline at end of file
Updates the docs.python.org page with the addition of a 'Contributing to Docs' link at the end of the page (between 'Reporting Bugs' and 'About Documentation'). Updates the 'Found a Bug' page with additional links and information in the Documentation Bugs section.
\ No newline at end of file
Added Documention for PyInterpreterState_Main().
\ No newline at end of file
Using the code of the ``Tools/scripts/serve.py`` script as an example in the
:mod:`wsgiref` documentation. Contributed by Stéphane Wirtel.
Avoid the duplication of code from ``Tools/scripts/serve.py`` in using the
:rst:dir:`literalinclude` directive for the basic wsgiref-based web server in the
documentation of :mod:`wsgiref`. Contributed by Stéphane Wirtel.
New documentation translation: `Simplified Chinese
<https://docs.python.org/zh-cn/>`_.
Remove obsolete comments from docstrings in fractions.Fraction
Fix starting IDLE with pyshell. Add idlelib.pyshell alias at top; remove
pyshell alias at bottom. Remove obsolete __name__=='__main__' command.
Fix ``setup.py check --restructuredtext`` for
files containing ``include`` directives.
Fix the multiprocessing.semaphore_tracker so it is reused by child processes
Do not raise AttributeError when calling the inspect functions
isgeneratorfunction, iscoroutinefunction, isasyncgenfunction on a method
created from an arbitrary callable. Instead, return False.
Implemented Happy Eyeballs in `asyncio.create_connection()`. Added two new
arguments, *happy_eyeballs_delay* and *interleave*,
to specify Happy Eyeballs behavior.
:func:`xml.sax.parse` now supports :term:`path-like <path-like object>`.
Patch by Mickaël Schoentgen.
:class:`wsgiref.handlers.BaseHandler` now handles abrupt client connection
terminations gracefully. Patch by Petter Strandmark.
Don't return deleted attributes when calling dir on a
:class:`unittest.mock.Mock`.
Add transparency methods to :class:`tkinter.PhotoImage`. Patch by Zackery
Spytz.
Fix potential resource warnings in distutils. Patch by Mickaël Schoentgen.
Add support for :func:`classmethod` and :func:`staticmethod` to
:func:`unittest.mock.create_autospec`. Initial patch by Felipe Ochoa.
Added :meth:`~socket.create_server()` and :meth:`~socket.has_dualstack_ipv6()`
convenience functions to automate the necessary tasks usually involved when
creating a server socket, including accepting both IPv4 and IPv6 connections
on the same socket. (Contributed by Giampaolo Rodola in :issue:`17561`.)
:mod:`modulefinder` no longer crashes when encountering syntax errors in followed imports.
Patch by Brandt Bucher.
\ No newline at end of file
:mod:`modulefinder` correctly handles modules that have the same name as a bad package.
Patch by Brandt Bucher.
\ No newline at end of file
:mod:`modulefinder` no longer depends on the deprecated :mod:`imp` module, and the initializer for :class:`modulefinder.ModuleFinder` now has immutable default arguments.
Patch by Brandt Bucher.
\ No newline at end of file
Added new alternate constructors :meth:`datetime.date.fromisocalendar` and
:meth:`datetime.datetime.fromisocalendar`, which construct date objects from
ISO year, week number and weekday; these are the inverse of each class's
``isocalendar`` method. Patch by Paul Ganssle.
Added support for keyword arguments `default_namespace` and `xml_declaration` in functions
ElementTree.tostring() and ElementTree.tostringlist().
Add time module support and fix test_time faiures for VxWorks.
The :meth:`imap.IMAP4.logout` method no longer ignores silently arbitrary
exceptions.
Calling ``stop()`` on an unstarted or stopped :func:`unittest.mock.patch`
object will now return `None` instead of raising :exc:`RuntimeError`,
making the method idempotent.
Patch by Karthikeyan Singaravelan.
inspect.getdoc() can now find docstrings for member objects when __slots__
is a dictionary.
Fixed wrong indentation writing for CDATA section in xml.dom.minidom.
Patch by Vladimir Surjaninov.
Errors during writing to a ZIP file no longer prevent to properly close it.
Stop rejecting IPv4 octets for being ambiguously octal. Leading zeros are ignored, and no longer are assumed to specify octal octets. Octets are always decimal numbers. Octets must still be no more than three digits, including leading zeroes.
``os.path.normcase()`` relies on ``os.fspath()`` to check the type of its argument. Redundant checks have been removed from its ``posixpath.normcase()`` and ``ntpath.normcase()`` implementations.
Patch by Wolfgang Maier.
Deprecated passing required arguments like *func* as keyword arguments
in functions which should accept arbitrary keyword arguments and pass them
to other function. Arbitrary keyword arguments (even with names "self" and
"func") can now be passed to these functions if the required arguments are
passed as positional arguments.
If *debuglevel* is set to >0 in :mod:`http.client`, print all values for headers with multiple values for the same header name. Patch by Matt Houglum.
Optimized ``http.client.HTTPResponse.read()`` for large response. Patch by
Inada Naoki.
Improve error message when trying to open existing DBM database that
actually doesn't exist. Patch by Marco Rougeth.
Fix :func:`time.mktime` error handling on AIX for year before 1970.
Set backlog=None as the default for socket.create_server.
The random module now prefers the lean internal _sha512 module over hashlib
for seed(version=2) to optimize import time.
``json.loads`` now emits ``DeprecationWarning`` when ``encoding`` option is
specified. Patch by Matthias Bussonnier.
The ``_lsprof`` module now uses internal timer same to ``time.perf_counter()`` by default.
``gettimeofday(2)`` was used on Unix. New timer has better resolution on most Unix
platforms and timings are no longer impacted by system clock updates since ``perf_counter()``
is monotonic. Patch by Inada Naoki.
In development mode (:option:`-X` ``dev``) and in debug build, the
:class:`io.IOBase` destructor now logs ``close()`` exceptions. These exceptions
are silent by default in release mode.
Fix ``isinstance`` check for Mock objects with spec when the code is
executed under tracing. Patch by Karthikeyan Singaravelan.
Fix :mod:`asyncio` wait() not removing callback if exception
\ No newline at end of file
Path expressions in xml.etree.ElementTree can now avoid explicit namespace
prefixes for tags (or the "{namespace}tag" notation) by passing a default
namespace with an empty string prefix.
improve performance of ``IPNetwork.__contains__()``
\ No newline at end of file
:func:`shutil.which` and :func:`distutils.spawn.find_executable` now use
``os.confstr("CS_PATH")`` if available instead of :data:`os.defpath`, if the
``PATH`` environment variable is not set. Moreover, don't use
``os.confstr("CS_PATH")`` nor :data:`os.defpath` if the ``PATH`` environment
variable is set to an empty string.
Fix :mod:`distutils.sysconfig` if :data:`sys.executable` is ``None`` or an
empty string: use :func:`os.getcwd` to initialize ``project_base``. Fix
also the distutils build command: don't use :data:`sys.executable` if it is
``None`` or an empty string.
The C version of functools.lru_cache() was treating calls with an empty
``**kwargs`` dictionary as being distinct from calls with no keywords at all.
This did not result in an incorrect answer, but it did trigger an unexpected
cache miss.
The TreeBuilder and XMLPullParser in xml.etree.ElementTree gained support
for parsing comments and processing instructions.
Patch by Stefan Behnel.
The XMLParser() in xml.etree.ElementTree provides namespace prefix context to the
parser target if it defines the callback methods "start_ns()" and/or "end_ns()".
Patch by Stefan Behnel.
Add missing matrix multiplication operator support to weakref.proxy.
The xml.etree.ElementTree packages gained support for C14N 2.0 serialisation.
Patch by Stefan Behnel.
Fix compilation of ``faulthandler.c`` on HP-UX. Initialize ``stack_t
current_stack`` to zero using ``memset()``.
:class:`fileinput.FileInput` now uses the input file mode to correctly set
the output file mode (previously it was hardcoded to ``'w'``) when
``inplace=True`` is passed to its constructor.
`pathlib.path.link_to()` is now implemented. It creates a hard link pointing
to a path.
The ``.find*()`` methods of xml.etree.ElementTree can now search for
wildcards like ``{*}tag`` and ``{ns}*`` that match a tag in any namespace
or all tags in a namespace. Patch by Stefan Behnel.
:func:`shutil.which` now uses ``os.confstr("CS_PATH")`` if available and if the
:envvar:`PATH` environment variable is not set. Remove also the current
directory from :data:`posixpath.defpath`. On Unix, :func:`shutil.which` and the
:mod:`subprocess` module no longer search the executable in the current
directory if the :envvar:`PATH` environment variable is not set.
Address CVE-2019-9740 by disallowing URL paths with embedded whitespace or control characters through into the underlying http client request. Such potentially malicious header injection URLs now cause an http.client.InvalidURL exception to be raised.
Fixes mishandling of pre-normalization characters in urlsplit().
Fix tests that may fail with PermissionError upon calling bind() on AF_UNIX
sockets.
Fix test_utf8_mode on VxWorks: Python always use UTF-8 on VxWorks.
Fix ``_testcapi.pymem_buffer_overflow()``: handle memory allocation failure.
Fix test_tabnanny on VxWorks: adjust ENOENT error message.
Port test_resource to VxWorks: skip tests cases setting RLIMIT_FSIZE and RLIMIT_CPU.
Fix reference hunting (``python3 -m test -R 3:3``) when Python has no
built-in abc module.
Fix reference leak hunting in regrtest: compute also deltas (of reference
count, allocated memory blocks, file descriptor count) during warmup, to
ensure that everything is initialized before starting to hunt reference
leaks.
Fix ``test_sys.test_getallocatedblocks()`` when :mod:`tracemalloc` is
enabled.
Fix ``test_imap4_host_default_value()`` of ``test_imaplib``: catch also
:data:`errno.ENETUNREACH` error.
Add a new :mod:`_testinternalcapi` module to test the internal C API.
Fix typo in test_cyclic_gc() test for xml.etree.ElementTree. Patch by Gordon
P. Hemsley.
Improve test coverage for xml.etree.ElementTree. Patch by Gordon P. Hemsley.
Change test_time.test_monotonic() to test only the lower bound of elapsed time
after a sleep command rather than the upper bound. This prevents unnecessary
test failures on slow buildbots. Patch by Victor Stinner.
When using mulitprocessing mode (-jN), regrtest now better reports errors if
a worker process fails, and it exits immediately on a worker thread failure
or when interrupted.
regrtest now always detects uncollectable objects. Previously, the check was
only enabled by ``--findleaks``. The check now also works with
``-jN/--multiprocess N``. ``--findleaks`` becomes a deprecated alias to
``--fail-env-changed``.
With the Windows 10 Creators Update, non-elevated users can now create
symlinks as long as the computer has Developer Mode enabled.
Report system load when running test suite on Windows. Patch by Ammar Askar.
Based on prior work by Jeremy Kloth.
Added current version of libffi to cpython-source-deps.
Change _ctypes to use current version of libffi on Windows.
Add the following socket module constants on Windows:
IPPROTO_AH
IPPROTO_CBT
IPPROTO_DSTOPTS
IPPROTO_EGP
IPPROTO_ESP
IPPROTO_FRAGMENT
IPPROTO_GGP
IPPROTO_HOPOPTS
IPPROTO_ICLFXBM
IPPROTO_ICMPV6
IPPROTO_IDP
IPPROTO_IGMP
IPPROTO_IGP
IPPROTO_IPV4
IPPROTO_IPV6
IPPROTO_L2TP
IPPROTO_MAX
IPPROTO_ND
IPPROTO_NONE
IPPROTO_PGM
IPPROTO_PIM
IPPROTO_PUP
IPPROTO_RDP
IPPROTO_ROUTING
IPPROTO_SCTP
IPPROTO_ST
Add the venv standard library module to the nuget distribution for Windows.
\ No newline at end of file
Enable better DLL resolution on Windows by using safe DLL search paths and
adding :func:`os.add_dll_directory`.
Fixes creating a venv when debug binaries are installed.
enum_certificates function of the ssl module now returns certificates from all available certificate stores inside windows in a query instead of returning only certificates from the system wide certificate store.
This includes certificates from these certificate stores: local machine, local machine enterprise, local machine group policy, current user, current user group policy, services, users.
ssl.enum_crls() function is changed in the same way to return all certificate revocation lists inside the windows certificate revocation list stores.
\ No newline at end of file
Added preset-iot layout for Windows IoT ARM containers. This layout doesn't
contain UI components like tkinter or IDLE. It also doesn't contain files to
support on-target builds since Windows ARM32 builds must be cross-compiled
when using MSVC.
Fixed activate.bat to correctly update codepage when chcp.com returns dots in output.
Patch by Lorenz Mende.
Remove trailing spaces for registry keys when installed via the Store.
Added platform.win32_edition() and platform.win32_is_iot(). Added support
for cross-compiling packages for Windows ARM32. Skip tests that are not
expected to work on Windows IoT Core ARM32.
Avoid failures setting macOS stack resource limit with resource.setrlimit.
This reverts an earlier fix for bpo-18075 which forced a non-default stack
size when building the interpreter executable on macOS.
This is Python version 3.8.0 alpha 3
This is Python version 3.8.0 alpha 4
====================================
.. image:: https://travis-ci.org/python/cpython.svg?branch=master
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment