Python 3.8.0a1

-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAlxW66AACgkQsmmV4xAl
 BWh3QQ//ZMI2a0KicKZ/MTnaW0cpTSQ5MoikOVL98z1Mx2MGDm5k5pzxN7E4qT39
 WPcnUJyK6o6juigq49qwpufaHRDhn/FoscFpQgTwf4POw23f6OB6karzV6xijOW7
 AoxjqKs7QhjIifAsxe76c4KzpR85tUgxJGsN4KHC6hwAbkri5HQ0372bjg+dkis1
 nmjnDwf6ZkzwtNqOwP5aAnm5z6XWXngQk1BHL1xG+ECXeAYTWEHbgjMlJpsc/28E
 rPDeL08BYiJYLuOghV71Yq3T1FSHicLwwKt0+Q61zBGsjwrEmqfRZpB4oOrr65Ca
 0QdqYbNwm9hkfp3/XnNV+JwBnBLJsd+vzEz3Lcu/hPb7YMAD7DMIrIeG6zVHVVEo
 9edurimM8w5QsmHyGFgVVEh4qImiGgmYSDFrU3l/u3SXjnSLnNJM2dGLMSmJ6N14
 komPeq4vg0daPqRPTbWHTZvjt7aidAJlSzrmjg45KOgv6TdJq8X/Sm/v70zopaXL
 gUW9SNHQY84WpHOni3+SKweh4IsmXT+ZagKHUVuf9h9W9U3u43eGYIWXlLbDUOTj
 tSx3scYJK97YIJjpz7RacAMrEcrn5gWrLnJemnlF5Bsv9tekKBP4vaF7hbkZn+0U
 6aPJ56OOSjtCMPrAl6uw9EbEz1ysPVY0wz6Lpcrb6j7dYCn81Ds=
 =g9Mg
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEE4/8oOcBIslwITevpsmmV4xAlBWgFAlxX+EUQHGx1a2FzekBs
 YW5nYS5wbAAKCRCyaZXjECUFaIGiEACDEsoAjSDnlydMqQ94L5lpy+Tk9hOYiXjV
 ZG4JOhTSuWJzbEdjXHuwWf7rnXgu3xjgsct3wfkFkGuH11XxyyQRJ9u32zsCBE6k
 MO2CsNVVCKyFWM0CJ1A0BrILsVMY2N9mr3nmbiaGZt5eaIY7JUhTtpzhjmyrNIVL
 YWL+EfGgU/1xinsYXuhuOJXACBlJnxR8MOtdJ5X2HZb+6RokYj7efKP7Ty84vZIV
 bW7cngQsoac6C7QNalFRP6Z1pO81HoDQHxlAwh2dUU/4vYQTIZ3zNA7K8JbaJnWL
 bcQkUVvPr2OTqDkro2Hj6qKSpdroAu/7LzNjB3ky+iNkEtVonIX6H/sY9EfbwuYx
 3KS88d9ETdDkxVfRThp8pbedPJL8sIFVsR6E/PzUjLKyfqKQGdifKh+vzrfs642u
 3Xz7xJFyvCPT3xSeemRQRPODhWfPf1sd/rfHbk0SLBF5Se3lqFnNZ4/DhKXMr8/D
 BVozJSRD4P1A7xgEy59/jD5oIkkd8M9g6YtDTD5RYvfWxb/geLN+BAIXsIouRtTe
 ANPX0plC56FfY3xZYqeQi05f+C7j/P2FUKKL9tjiuxKJ8UQ3ftaDw39CneyDLMyy
 u/ynrv3H4EAWsV1qFjOeUIwc+k4rjlprcB+LRQguLBbBlFg1vj8MTOO+Kfgui0Lv
 y9Wpvhkeqw==
 =WuSS
 -----END PGP SIGNATURE-----

Merge tag 'v3.8.0a1'

Python 3.8.0a1
This commit is contained in:
Łukasz Langa 2019-02-04 09:30:59 +01:00
commit e7afe1ab25
889 changed files with 10111 additions and 2690 deletions

View File

@ -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 0
#define PY_RELEASE_SERIAL 1
/* Version as a string */
#define PY_VERSION "3.8.0a0"
#define PY_VERSION "3.8.0a1"
/*--end constants--*/
/* Version as a single 4-byte hex number, e.g. 0x010502B2 == 1.5.2b2.

File diff suppressed because it is too large Load Diff

8977
Misc/NEWS.d/3.8.0a1.rst Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1 +0,0 @@
Replace optparse with argparse in setup.py

View File

@ -1 +0,0 @@
Fix the python debug build when using COUNT_ALLOCS.

View File

@ -1,5 +0,0 @@
gcc 8 has added a new warning heuristic to detect invalid function casts and
a stock python build seems to hit that warning quite often. The most common
is the cast of a METH_NOARGS function (that uses just one argument) to a
PyCFunction. Fix this by adding a dummy argument to all functions that
implement METH_NOARGS.

View File

@ -1 +0,0 @@
Upgrade pip to 9.0.3 and setuptools to v39.0.1.

View File

@ -1 +0,0 @@
The embedding tests can once again be built with clang 6.0

View File

@ -1,3 +0,0 @@
By default, modules configured in `Modules/Setup` are no longer built with
`-DPy_BUILD_CORE`. Instead, modules that specifically need that preprocessor
definition include it in their individual entries.

View File

@ -1,2 +0,0 @@
Add new triplets for mips r6 and riscv variants (used in extension
suffixes).

View File

@ -1 +0,0 @@
Update config.guess and config.sub files.

View File

@ -1,2 +0,0 @@
Enable the verbose build for extension modules, when GNU make is passed
macros on the command line.

View File

@ -1,2 +0,0 @@
C compiler is now correctly detected from the standard environment
variables. --without-gcc and --with-icc options have been removed.

View File

@ -1 +0,0 @@
configure's check for "long double" has been simplified

View File

@ -1,2 +0,0 @@
Enable CI builds on Visual Studio Team Services at
https://python.visualstudio.com/cpython

View File

@ -1,2 +0,0 @@
The --with-c-locale-warning configuration flag has been removed. It has had
no effect for about a year.

View File

@ -1,2 +0,0 @@
Ensures module definition files for the stable ABI on Windows are correctly
regenerated.

View File

@ -1,3 +0,0 @@
Move ``-Wstrict-prototypes`` option to ``CFLAGS_NODIST`` from ``OPT``. This
option emitted annoying warnings when building extension modules written in
C++.

View File

@ -1 +0,0 @@
Add -g to LDFLAGS when compiling with LTO to get debug symbols.

View File

@ -1,2 +0,0 @@
Rename Modules/Setup.dist to Modules/Setup, and remove the necessity to copy
the former manually to the latter when updating the local source tree.

View File

@ -1 +0,0 @@
Fix detection of C11 atomic support on clang.

View File

@ -1,2 +0,0 @@
The Python shared library is now installed with write permission (mode 0755),
which is the standard way of installing such libraries.

View File

@ -1,3 +0,0 @@
Fix an undefined behaviour in the pthread implementation of
:c:func:`PyThread_start_new_thread`: add a function wrapper to always return
``NULL``.

View File

@ -1,2 +0,0 @@
Fix for case where it was not possible to have both
``HAVE_LINUX_VM_SOCKETS_H`` and ``HAVE_SOCKADDR_ALG`` be undefined.

View File

@ -1 +0,0 @@
Make Sphinx warnings as errors in the Docs Makefile.

View File

@ -1 +0,0 @@
Add JUnit XML output for regression tests and update Azure DevOps builds.

View File

@ -1 +0,0 @@
Fixed SSL module build with OpenSSL & pedantic CFLAGS.

View File

@ -1,3 +0,0 @@
Check for floating-point byte order in configure.ac using compilation tests
instead of executing code, so that these checks work in cross-compiled
builds.

View File

@ -1,2 +0,0 @@
Update the outdated install-sh file to the latest revision from automake
v1.16.1

View File

@ -1 +0,0 @@
Have --with-lto works correctly with clang.

View File

@ -1,4 +0,0 @@
Restores the use of pyexpatns.h to isolate our embedded copy of the expat C
library so that its symbols do not conflict at link or dynamic loading time
with an embedding application or other extension modules with their own
version of libexpat.

View File

@ -1,4 +0,0 @@
PCbuild: Set InlineFunctionExpansion to OnlyExplicitInline ("/Ob1" option)
in pyproject.props in Debug mode to expand functions marked as inline. This
change should make Python compiled in Debug mode a little bit faster on
Windows.

View File

@ -1 +0,0 @@
Fix a compiler error when statically linking `pyexpat` in `Modules/Setup`.

View File

@ -1,2 +0,0 @@
When building Python with clang and LTO, LTO flags are no longer passed into
CFLAGS to build third-party C extensions through distutils.

View File

@ -1,2 +0,0 @@
Avoid leaking the linker flags from Link Time Optimizations (LTO)
into distutils when compiling C extensions.

View File

@ -1,3 +0,0 @@
``make profile-opt`` no longer replaces ``CFLAGS_NODIST`` with ``CFLAGS``. It
now adds profile-guided optimization (PGO) flags to ``CFLAGS_NODIST``: existing
``CFLAGS_NODIST`` flags are kept.

View File

@ -1 +0,0 @@
Fix incorrect Solaris #ifdef checks to look for __sun && __SVR4 instead of sun when compiling.

View File

@ -1 +0,0 @@
Remove asynciomodule.c from pythoncore.vcxproj

View File

@ -1 +0,0 @@
Improved Azure Pipelines build steps and now verifying layouts correctly

View File

@ -1,2 +0,0 @@
The _contextvars module is now built into the core Python library on
Windows.

View File

@ -1,2 +0,0 @@
:c:func:`PyUnicode_AsWideChar` and :c:func:`PyUnicode_AsWideCharString` no
longer cache the ``wchar_t*`` representation of string objects.

View File

@ -1,2 +0,0 @@
Document that m_traverse for multi-phase initialized modules can be called
with m_state=NULL, and add a sanity check

View File

@ -1,2 +0,0 @@
Embedding applications may once again call PySys_ResetWarnOptions,
PySys_AddWarnOption, and PySys_AddXOption prior to calling Py_Initialize.

View File

@ -1,2 +0,0 @@
:c:func:`PyExceptionClass_Name` will now return ``const char *`` instead of
``char *``.

View File

@ -1,4 +0,0 @@
Fixed error messages for :c:func:`PySequence_Size`,
:c:func:`PySequence_GetItem`, :c:func:`PySequence_SetItem` and
:c:func:`PySequence_DelItem` called with a mapping and
:c:func:`PyMapping_Size` called with a sequence.

View File

@ -1 +0,0 @@
Py_Main() can again be called after Py_Initialize(), as in Python 3.6.

View File

@ -1 +0,0 @@
Added :c:func:`PyCompile_OpcodeStackEffectWithJump`.

View File

@ -1,2 +0,0 @@
Fixed :exc:`SystemError` in :c:func:`PyArg_ParseTupleAndKeywords` when the
``w*`` format unit is used for optional parameter.

View File

@ -1,2 +0,0 @@
Return grammatically correct error message based on argument count.
Patch by Karthikeyan Singaravelan.

View File

@ -1,2 +0,0 @@
Fix pluralization in TypeError messages in getargs.c and typeobject.c:
'1 argument' instead of '1 arguments' and '1 element' instead of '1 elements'.

View File

@ -1,2 +0,0 @@
Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 encoding on
Windows if Py_LegacyWindowsFSEncodingFlag is zero.

View File

@ -1,2 +0,0 @@
Ensure that :c:func:`PyObject_Print` always returns ``-1`` on error. Patch
by Zackery Spytz.

View File

@ -1 +0,0 @@
Adds _Py_SetProgramFullPath so embedders may override sys.executable

View File

@ -1 +0,0 @@
Creation of a new ``Include/cpython/`` subdirectory.

View File

@ -1,2 +0,0 @@
The :c:func:`_PyObject_GC_TRACK` and :c:func:`_PyObject_GC_UNTRACK` macros
have been removed from the public C API.

View File

@ -1,2 +0,0 @@
Conditionally declare :c:func:`Py_FinalizeEx()` (new in 3.6) based on
Py_LIMITED_API. Patch by Arthur Neufeld.

View File

@ -1,2 +0,0 @@
Internal APIs surrounded by ``#ifdef Py_BUILD_CORE`` have been moved from
``Include/*.h`` headers to new header files ``Include/internal/pycore_*.h``.

View File

@ -1,2 +0,0 @@
``make install`` now also installs the internal API:
``Include/internal/*.h`` header files.

View File

@ -1,3 +0,0 @@
The following C macros have been converted to static inline functions:
:c:func:`Py_INCREF`, :c:func:`Py_DECREF`, :c:func:`Py_XINCREF`,
:c:func:`Py_XDECREF`, :c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`.

View File

@ -1,2 +0,0 @@
Fix memory leak in :c:func:`PyUnicode_EncodeLocale` and
:c:func:`PyUnicode_EncodeFSDefault` on error handling.

View File

@ -1 +0,0 @@
Fixed :c:func:`_PyBytes_Resize` for empty bytes objects.

View File

@ -1,3 +0,0 @@
The :c:func:`PyByteArray_Init` and :c:func:`PyByteArray_Fini` functions have
been removed. They did nothing since Python 2.7.4 and Python 3.2.0, were
excluded from the limited API (stable ABI), and were not documented.

View File

@ -1,2 +0,0 @@
Remove references to 'getsockaddrarg' from various socket error messages.
Patch by Oren Milman.

View File

@ -1,2 +0,0 @@
Fix a crash in `os.utime()` in case of a bad ns argument. Patch by Oren
Milman.

View File

@ -1,2 +0,0 @@
Fix a crash in `ctypes.cast()` in case the type argument is a ctypes
structured data type. Patch by Eryk Sun and Oren Milman.

View File

@ -1,2 +0,0 @@
Fix assertion failures in the ``tell()`` method of ``io.TextIOWrapper``.
Patch by Zackery Spytz.

View File

@ -1,3 +0,0 @@
Fix the ``col_offset`` attribute for ast nodes ``ast.AsyncFor``,
``ast.AsyncFunctionDef``, and ``ast.AsyncWith``. Previously, ``col_offset``
pointed to the keyword after ``async``.

View File

@ -1,3 +0,0 @@
Iterable unpacking is now allowed without parentheses in yield and return
statements, e.g. ``yield 1, 2, 3, *rest``. Thanks to David Cuthbert for the
change and Jordan Chapman for added tests.

View File

@ -1,2 +0,0 @@
Yield expressions are now disallowed in comprehensions and generator
expressions except the expression for the outermost iterable.

View File

@ -1,2 +0,0 @@
New function unicodedata.is_normalized, which can check whether a string is
in a specific normal form.

View File

@ -1,10 +0,0 @@
Simplified the interpreter loop by moving the logic of unrolling the stack
of blocks into the compiler. The compiler emits now explicit instructions
for adjusting the stack of values and calling the cleaning up code for
:keyword:`break`, :keyword:`continue` and :keyword:`return`.
Removed opcodes :opcode:`BREAK_LOOP`, :opcode:`CONTINUE_LOOP`,
:opcode:`SETUP_LOOP` and :opcode:`SETUP_EXCEPT`. Added new opcodes
:opcode:`ROT_FOUR`, :opcode:`BEGIN_FINALLY` and :opcode:`CALL_FINALLY` and
:opcode:`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` and
:opcode:`WITH_CLEANUP_START`.

View File

@ -1,2 +0,0 @@
A :keyword:`continue` statement is now allowed in the :keyword:`finally`
clause.

View File

@ -1,2 +0,0 @@
Fix possible crashing in builtin Unicode decoders caused by write
out-of-bound errors when using customized decode error handlers.

View File

@ -1 +0,0 @@
Fix the warning messages for Python/ast_unparse.c. Patch by Stéphane Wirtel

View File

@ -1 +0,0 @@
Make sure ``__spec__.loader`` matches ``__loader__`` for namespace packages.

View File

@ -1,2 +0,0 @@
For namespace packages, ensure that both ``__file__`` and
``__spec__.origin`` are set to None.

View File

@ -1,2 +0,0 @@
Remove the new API added in bpo-31356 (gc.ensure_disabled() context
manager).

View File

@ -1 +0,0 @@
Don't use temporary variables in cases of list/dict/set comprehensions

View File

@ -1,2 +0,0 @@
Update Valgrind suppression list to account for the rename of
``Py_ADDRESS_IN_RANG`` to ``address_in_range``.

View File

@ -1,3 +0,0 @@
Optimized iterating and containing test for literal lists consisting of
non-constants: ``x in [a, b]`` and ``for x in [a, b]``. The case of all
constant elements already was optimized.

View File

@ -1 +0,0 @@
Make error message more revealing when there are non-str objects in ``__all__``.

View File

@ -1,2 +0,0 @@
Importing names from already imported module with "from ... import ..." is
now 30% faster if the module is not a package.

View File

@ -1 +0,0 @@
Prevent jumps from 'return' and 'exception' trace events.

View File

@ -1,5 +0,0 @@
Due to unexpected compatibility issues discovered during downstream beta
testing, reverted :issue:`29463`. ``docstring`` field is removed from Module,
ClassDef, FunctionDef, and AsyncFunctionDef ast nodes which was added in
3.7a1. Docstring expression is restored as a first statement in their body.
Based on patch by Inada Naoki.

View File

@ -1,4 +0,0 @@
Fix a crash on fork when using a custom memory allocator (ex: using
PYTHONMALLOC env var). _PyGILState_Reinit() and _PyInterpreterState_Enable()
now use the default RAW memory allocator to allocate a new interpreters mutex
on fork.

View File

@ -1 +0,0 @@
Fixed jumping out of "with" block by setting f_lineno.

View File

@ -1,3 +0,0 @@
Fixed bytecode generation for "async for" with a complex target. A
StopAsyncIteration raised on assigning or unpacking will be now propagated
instead of stopping the iteration.

View File

@ -1,2 +0,0 @@
Fix rare Python crash due to bad refcounting in ``type_getattro()`` if a
descriptor deletes itself from the class. Patch by Jeroen Demeyer.

View File

@ -1,6 +0,0 @@
Added new opcode :opcode:`END_ASYNC_FOR` and fixes the following issues:
* Setting global :exc:`StopAsyncIteration` no longer breaks ``async for``
loops.
* Jumping into an ``async for`` loop is now disabled.
* Jumping out of an ``async for`` loop no longer corrupts the stack.

View File

@ -1,2 +0,0 @@
``math.factorial`` no longer accepts arguments that are not int-like.
Patch by Pablo Galindo.

View File

@ -1,3 +0,0 @@
Improve consistency of errors raised by ``issubclass()`` when called with a
non-class and an abstract base class as the first and second arguments,
respectively. Patch by Josh Bronson.

View File

@ -1,2 +0,0 @@
Changed standard error message for non-pickleable and non-copyable types. It
now says "cannot pickle" instead of "can't pickle" or "cannot serialize".

View File

@ -1,4 +0,0 @@
When using the -m switch, sys.path[0] is now explicitly expanded as the
*starting* working directory, rather than being left as the empty path
(which allows imports from the current working directory at the time of the
import)

View File

@ -1,2 +0,0 @@
Fix ``ma_version_tag`` in dict implementation is uninitialized when copying
from key-sharing dict.

View File

@ -1,2 +0,0 @@
Improved error messages in 'async with' when ``__aenter__()`` or
``__aexit__()`` return non-awaitable object.

View File

@ -1,3 +0,0 @@
Change dict growth function from ``round_up_to_power_2(used*2+hashtable_size/2)`` to
``round_up_to_power_2(used*3)``. Previously, dict is shrinked only when ``used == 0``.
Now dict has more chance to be shrinked.

View File

@ -1 +0,0 @@
Fix potential memory leak in ``normalizestring()``.

View File

@ -1 +0,0 @@
Add a ``toreadonly()`` method to memoryviews.

View File

@ -1,2 +0,0 @@
The C and Python code and the documentation related to tokens are now generated
from a single source file :file:`Grammar/Tokens`.

View File

@ -1 +0,0 @@
Intern the names for all anonymous code objects. Patch by Zackery Spytz.

Some files were not shown because too many files have changed in this diff Show More