[blurb] v3.8.0a1

This commit is contained in:
Łukasz Langa 2019-02-03 14:02:52 +01:00
parent f75d59e1a8
commit 8efa3b69f6
No known key found for this signature in database
GPG key ID: B26995E310250568
886 changed files with 8977 additions and 1857 deletions

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.

View file

@ -1,2 +0,0 @@
The list constructor will pre-size and not over-allocate when
the input lenght is known.

View file

@ -1 +0,0 @@
Improved syntax error messages for unbalanced parentheses.

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