Commit d86f29e9 authored by Ned Deily's avatar Ned Deily

Merge tag 'v3.7.0a3'

parents 5e8cbcc4 90a6785f
......@@ -20,10 +20,10 @@
#define PY_MINOR_VERSION 7
#define PY_MICRO_VERSION 0
#define PY_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PY_RELEASE_SERIAL 2
#define PY_RELEASE_SERIAL 3
/* Version as a string */
#define PY_VERSION "3.7.0a2+"
#define PY_VERSION "3.7.0a3"
/*--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 16 23:39:41 2017
# Autogenerated by Sphinx on Tue Dec 5 03:14:53 2017
topics = {'assert': 'The "assert" statement\n'
'**********************\n'
'\n'
......@@ -2686,7 +2686,6 @@ topics = {'assert': 'The "assert" statement\n'
' mgr = (EXPR)\n'
' aexit = type(mgr).__aexit__\n'
' aenter = type(mgr).__aenter__(mgr)\n'
' exc = True\n'
'\n'
' VAR = await aenter\n'
' try:\n'
......@@ -3424,11 +3423,11 @@ topics = {'assert': 'The "assert" statement\n'
' hard-code a breakpoint at a given point in a program, even if '
'the\n'
' code is not otherwise being debugged (e.g. when an assertion\n'
' fails). If given, "header" is printed to the console just '
' fails). If given, *header* is printed to the console just '
'before\n'
' debugging begins.\n'
'\n'
' New in version 3.7: The keyword-only argument "header".\n'
' Changed in version 3.7: The keyword-only argument *header*.\n'
'\n'
'pdb.post_mortem(traceback=None)\n'
'\n'
......@@ -5669,13 +5668,13 @@ topics = {'assert': 'The "assert" statement\n'
'They must\n'
'be spelled exactly as written here:\n'
'\n'
' False class finally is return\n'
' None continue for lambda try\n'
' True def from nonlocal while\n'
' and del global not with\n'
' as elif if or yield\n'
' assert else import pass\n'
' break except in raise\n'
' False await else import pass\n'
' None break except in raise\n'
' True class finally is return\n'
' and continue for lambda try\n'
' as def from nonlocal while\n'
' assert del global not with\n'
' async elif if or yield\n'
'\n'
'\n'
'Reserved classes of identifiers\n'
......
This diff is collapsed.
Record profile-opt build progress with stamp files.
Fixed Argument Clinic sometimes causing compilation errors when there was
more than one function and/or method in a .c file with the same name.
Abort the build when building out of a not clean source tree.
Fixes Windows SDK version detection when building for Windows.
``detect_modules()`` in ``setup.py`` now also searches the sysroot paths
when cross-compiling.
Support building Android with Unified Headers. The first NDK release to
support Unified Headers is android-ndk-r14.
Revert the last commit, the F_LOCK macro is defined by Android Unified Headers.
Revert the previous changes, the if_nameindex structure is defined by
Unified Headers.
The `PyExc_RecursionErrorInst` singleton is removed and
`PyErr_NormalizeException()` does not use it anymore. This singleton is
persistent and its members being never cleared may cause a segfault during
finalization of the interpreter. See also issue #22898.
Add Py_RETURN_RICHCOMPARE macro to reduce boilerplate code in rich
comparison functions.
Move the current exception state from the frame object to the co-routine.
This simplifies the interpreter and fixes a couple of obscure bugs caused by
having swap exception state when entering or exiting a generator.
The ``Py_UseClassExceptionsFlag`` flag has been removed. It was deprecated
and wasn't used anymore since Python 2.0.
Fix PyGILState_Ensure(). When PyGILState_Ensure() is called in a non-Python
thread before PyEval_InitThreads(), only call PyEval_InitThreads() after
calling PyThreadState_New() to fix a crash.
`PyErr_PrintEx()` clears now the ignored exception that may be raised by
`_PySys_SetObjectId()`, for example when no memory.
Fixed a bug in debug memory allocator. There was a write to freed memory
after shrinking a memory block.
Standard repr() of BaseException with a single argument no longer contains
redundant trailing comma.
Prevent crashes when calling methods of an uninitialized
``zipimport.zipimporter`` object. Patch by Oren Milman.
Fix timeout rounding in the select module to round correctly negative timeouts between -1.0 and 0.0.
The functions now block waiting for events as expected. Previously, the call was incorrectly non-blocking.
Patch by Pablo Galindo.
Print the full context/cause chain of exceptions on interpreter exit, even
if an exception in the chain is unhashable or compares equal to later ones.
Patch by Zane Bitter.
The per-frame tracing logic added in 3.7a1 has been altered so that
``frame->f_lineno`` is updated before either ``"line"`` or ``"opcode"``
events are emitted. Previously, opcode events were emitted first, and
therefore would occasionally see stale line numbers on the frame. The
behavior of this feature has changed slightly as a result: when both
``f_trace_lines`` and ``f_trace_opcodes`` are enabled, line events now occur
first.
Fixed OverflowError in the 'unicode-escape' codec and in
codecs.escape_decode() when decode an escaped non-ascii byte.
Ensure that lexically first syntax error involving a parameter and ``global``
or ``nonlocal`` is detected first at a given scope. Patch by Ivan Levkivskyi.
Environment variables are once more read correctly at interpreter startup.
BytesWarning no longer emitted when the *fromlist* argument of
``__import__()`` or the ``__all__`` attribute of the module contain bytes
instances.
Bytearray methods partition() and rpartition() now accept only bytes-like
objects as separator, as documented. In particular they now raise TypeError
rather of returning a bogus result when an integer is passed as a separator.
Fix the interactive interpreter looping endlessly when no memory.
Fixed several issues in printing tracebacks (PyTraceBack_Print()).
* Setting sys.tracebacklimit to 0 or less now suppresses printing tracebacks.
* Setting sys.tracebacklimit to None now causes using the default limit.
* Setting sys.tracebacklimit to an integer larger than LONG_MAX now means using
the limit LONG_MAX rather than the default limit.
* Fixed integer overflows in the case of more than 2**31 traceback items on
Windows.
* Fixed output errors handling.
A new internal ``_Py_SetLocaleFromEnv(category)`` helper function has been
added in order to improve the consistency of behaviour across different
``libc`` implementations (e.g. Android doesn't support setting the locale from
the environment by default).
SyntaxError is now correctly raised when a generator expression without
parenthesis is passed as an argument, but followed by a trailing comma.
A generator expression always needs to be directly inside a set of parentheses
and cannot have a comma on either side.
SyntaxError is now correctly raised when a generator expression without
parenthesis is used instead of an inheritance list in a class definition.
The duplication of the parentheses can be omitted only on calls.
Add a new "developer mode": new "-X dev" command line option to enable debug
checks at runtime.
Revert memory allocator changes in the C API: move structures back from
_PyRuntime to Objects/obmalloc.c. The memory allocators are once again initialized
statically, and so PyMem_RawMalloc() and Py_DecodeLocale() can be
called before _PyRuntime_Initialize().
The repr of deeply nested dict now raises a RecursionError instead of
crashing due to a stack overflow.
Yield expressions are now deprecated in comprehensions and generator
expressions. They are still permitted in the definition of the outermost
iterable, as that is evaluated directly in the enclosing scope.
co_flags.CO_NOFREE is now always set correctly by the code object
constructor based on freevars and cellvars, rather than needing to be set
correctly by the caller. This ensures it will be cleared automatically when
additional cell references are injected into a modified code object and
function.
Added asyncio.BaseEventLoop.connect_accepted_socket versionaddded marker.
Use non-Latin characters in the IDLE's Font settings sample.
Even if one selects a font that defines a limited subset of the unicode
Basic Multilingual Plane, tcl/tk will use other fonts that define a
character. The expanded example give users of non-Latin characters
a better idea of what they might see in IDLE's shell and editors.
To make room for the expanded sample, frames on the Font tab are
re-arranged. The Font/Tabs help explains a bit about the additions.
Fix a TypeError that caused a shell restart when printing a traceback that
includes an exception that is unhashable. Patch by Zane Bitter.
Test_code_module now passes if run after test_idle, which sets ps1.
The code module uses sys.ps1 if present or sets it to '>>> ' if not.
Test_code_module now properly tests both behaviors. Ditto for ps2.
The font sample in the IDLE configuration dialog is now editable.
Changes persist while IDLE remains open
IDLE -- Restrict shell prompt manipulaton to the shell. Editor and output
windows only see an empty last prompt line. This simplifies the code and
fixes a minor bug when newline is inserted. Sys.ps1, if present, is read on
Shell start-up, but is not set or changed.
IDLE: Fix old and new bugs in pathbrowser; improve tests.
Patch mostly by Cheryl Sabella.
Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet in
configdialog was replaced by ttk.Notebook.
Improve tk event exception tracebacks in IDLE.
When tk event handling is driven by IDLE's run loop, a confusing
and distracting queue.EMPTY traceback context is no longer added
to tk event exception tracebacks. The traceback is now the same
as when event handling is driven by user code. Patch based on a
suggestion by Serhiy Storchaka.
Add HTTP/2 status code 421 (Misdirected Request) to
:class:`http.HTTPStatus`. Patch by Vitor Pereira.
Added support for AF_UNIX socket in asyncio `create_datagram_endpoint`.
Make multiprocessing's forkserver process immune to Ctrl-C and other user interruptions.
If it crashes, restart it when necessary.
multiprocessing's semaphore tracker should be launched again if crashed.
Fix ``poll.poll([timeout])`` in the ``select`` module for arbitrary negative
timeouts on all OSes where it can only be a non-negative integer or -1.
Patch by Riccardo Coccioli.
Allow use of bytes objects for arguments to
:meth:`configparser.ConfigParser.read`. Patch by Vincent Michel.
Added a workaround for getkey() in curses for ncurses 5.7 and earlier.
Fix method set_protocol() of class _SSLProtocolTransport in asyncio module.
This method was previously modifying a wrong reference to the protocol.
Added support for the Blowfish hashing in the crypt module.
FutureWarning is now emitted if a regular expression contains character set
constructs that will change semantically in the future (nested sets and set
operations).
Allow the flags re.ASCII, re.LOCALE, and re.UNICODE to be used as group flags
for regular expressions.
an empty asyncio.Queue now doesn't leak memory when queue.get pollers
timeout
Fix possible crash in timedelta constructor called with custom integers.
Prevent a crash in ``sqlite3.Cursor.close()`` in case the ``Cursor`` object is
uninitialized. Patch by Oren Milman.
Prevent a crash when calling the ``__init__()`` method of a
``sqlite3.Cursor`` object more than once. Patch by Oren Milman.
2to3 now generates a code that uses abstract collection classes from
collections.abc rather than collections.
Implement the :pep:`564`, add new 6 new functions with nanosecond resolution to
the :mod:`time` module: :func:`~time.clock_gettime_ns`,
:func:`~time.clock_settime_ns`, :func:`~time.monotonic_ns`,
:func:`~time.perf_counter_ns`, :func:`~time.process_time_ns`,
:func:`~time.time_ns`.
Add new function to seal a mock and prevent the automatically creation of
child mocks. Patch by Mario Corchero.
traceback: Fix a TypeError that occurred during printing of exception
tracebacks when either the current exception or an exception in its
context/cause chain is unhashable. Patch by Zane Bitter.
Extended support for parsing UTC offsets. strptime '%z' can now
parse the output generated by datetime.isoformat, including seconds and
microseconds.
time.clock() and time.get_clock_info('clock') now emit a DeprecationWarning
warning.
Fix timeout rounding in time.sleep(), threading.Lock.acquire() and
socket.socket.settimeout() to round correctly negative timeouts between -1.0 and
0.0. The functions now block waiting for events as expected. Previously, the
call was incorrectly non-blocking. Patch by Pablo Galindo.
The ``manager`` property on LoggerAdapter objects is now properly settable.
If nested log adapters are used, the inner ``process()`` methods are no
longer omitted.
Add a ``subprocess.Popen(text=False)`` keyword argument to `subprocess`
functions to be more explicit about when the library should attempt to
decode outputs into text. Patch by Andrew Clegg.
Remove the os.stat_float_times() function. It was introduced in Python 2.3
for backward compatibility with Python 2.2, and was deprecated since Python
3.1.
Add `subnet_of` and `superset_of` containment tests to
:class:`ipaddress.IPv6Network` and :class:`ipaddress.IPv4Network`.
Patch by Michel Albert and Cheryl Sabella.
Fix multiprocessing.Process when stdout and/or stderr is closed or None.
Don't release the GIL if we can acquire a multiprocessing semaphore
immediately.
Instances of pickle.Pickler subclass with the persistent_id() method and
pickle.Unpickler subclass with the persistent_load() method no longer create
reference cycles.
The shutil.rmtree() function has been sped up to 20--40%. This was done
using the os.scandir() function.
Calendar.itermonthdates() will now consistently raise an exception when a
date falls outside of the 0001-01-01 through 9999-12-31 range. To support
applications that cannot tolerate such exceptions, the new methods
itermonthdays3() and itermonthdays4() are added. The new methods return
tuples and are not restricted by the range supported by datetime.date.
Use optimized code for BLAKE2 only with SSSE3+. The pure SSE2 implementation
is slower than the pure C reference implementation.
Fix the pthread+semaphore implementation of PyThread_acquire_lock_timed() when
called with timeout > 0 and intr_flag=0: recompute the timeout if
sem_timedwait() is interrupted by a signal (EINTR). See also the :pep:`475`.
:func:`inspect.getfile` no longer computes the repr of unknown objects to
display in an error message, to protect against badly behaved custom reprs.
crypt.mksalt() now allows to specify the number of rounds for SHA-256 and
SHA-512 hashing.
Remove year (1-9999) limits on the Calendar.weekday() function.
Patch by Mark Gollahon.
added required constants to subprocess module for setting priotity on windows
Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed
the comparison of the kqueue_event objects.
Fix the method for checking pad state of curses WINDOW. Patch by Masayuki
Yamamoto.
plistlib now catches more errors when read binary plists and raises
InvalidFileException instead of unexpected exceptions.
Add 3 new clock identifiers: :data:`time.CLOCK_BOOTTIME`,
:data:`time.CLOCK_PROF` and :data:`time.CLOCK_UPTIME`.
Fixed stack corruption in curses.box() and curses.ungetmouse() when the size
of types chtype or mmask_t is less than the size of C long. curses.box()
now accepts characters as arguments. Based on patch by Steve Fink.
Fixed compilation of the socket module on NetBSD 8. Fixed assertion failure
or reading arbitrary data when parse a AF_BLUETOOTH address on NetBSD and
DragonFly BSD.
Add an initializer argument to {Process,Thread}PoolExecutor
Fix Blake2 params leaf_size and node_offset on big endian platforms. Patch
by Jack O'Connor.
This diff is collapsed.
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