cpython/Misc/NEWS.d/3.7.0a3.rst

1631 lines
35 KiB
ReStructuredText

.. bpo: 32176
.. date: 2017-12-02-21-37-22
.. nonce: Wt25-N
.. release date: 2017-12-05
.. section: Core and Builtins
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.
..
.. bpo: 10544
.. date: 2017-11-27-08-37-34
.. nonce: 07nioT
.. section: Core and Builtins
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.
..
.. bpo: 32137
.. date: 2017-11-26-14-36-30
.. nonce: Stj5nL
.. section: Core and Builtins
The repr of deeply nested dict now raises a RecursionError instead of
crashing due to a stack overflow.
..
.. bpo: 32096
.. date: 2017-11-24-01-13-58
.. nonce: CQTHXJ
.. section: Core and Builtins
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().
..
.. bpo: 32043
.. date: 2017-11-16-03-44-08
.. nonce: AAzwpZ
.. section: Core and Builtins
Add a new "developer mode": new "-X dev" command line option to enable debug
checks at runtime.
..
.. bpo: 32023
.. date: 2017-11-15-10-49-35
.. nonce: XnCGT5
.. section: Core and Builtins
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.
..
.. bpo: 32012
.. date: 2017-11-13-00-37-11
.. nonce: Kprjqe
.. section: Core and Builtins
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.
..
.. bpo: 28180
.. date: 2017-11-12-11-44-22
.. nonce: HQX000
.. section: Core and Builtins
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).
..
.. bpo: 31949
.. date: 2017-11-05-16-11-07
.. nonce: 2yNC_z
.. section: Core and Builtins
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.
..
.. bpo: 30696
.. date: 2017-10-28-22-06-03
.. nonce: lhC3HE
.. section: Core and Builtins
Fix the interactive interpreter looping endlessly when no memory.
..
.. bpo: 20047
.. date: 2017-10-28-19-11-05
.. nonce: GuNAto
.. section: Core and Builtins
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.
..
.. bpo: 21720
.. date: 2017-10-25-15-51-37
.. nonce: BwIKLP
.. section: Core and Builtins
BytesWarning no longer emitted when the *fromlist* argument of
``__import__()`` or the ``__all__`` attribute of the module contain bytes
instances.
..
.. bpo: 31845
.. date: 2017-10-24-21-27-32
.. nonce: 8OS-k3
.. section: Core and Builtins
Environment variables are once more read correctly at interpreter startup.
..
.. bpo: 28936
.. date: 2017-10-23-23-39-26
.. nonce: C288Jh
.. section: Core and Builtins
Ensure that lexically first syntax error involving a parameter and
``global`` or ``nonlocal`` is detected first at a given scope. Patch by Ivan
Levkivskyi.
..
.. bpo: 31825
.. date: 2017-10-20-14-07-46
.. nonce: gJvmGW
.. section: Core and Builtins
Fixed OverflowError in the 'unicode-escape' codec and in
codecs.escape_decode() when decode an escaped non-ascii byte.
..
.. bpo: 31618
.. date: 2017-10-18-19-41-12
.. nonce: liLDiS
.. section: Core and Builtins
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.
..
.. bpo: 28603
.. date: 2017-10-17-13-29-19
.. nonce: _-oia3
.. section: Core and Builtins
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.
..
.. bpo: 31786
.. date: 2017-10-15-23-44-57
.. nonce: XwdEP4
.. section: Core and Builtins
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.
..
.. bpo: 31781
.. date: 2017-10-13-20-01-47
.. nonce: cXE9SM
.. section: Core and Builtins
Prevent crashes when calling methods of an uninitialized
``zipimport.zipimporter`` object. Patch by Oren Milman.
..
.. bpo: 30399
.. date: 2017-10-12-22-21-01
.. nonce: 45f1gv
.. section: Core and Builtins
Standard repr() of BaseException with a single argument no longer contains
redundant trailing comma.
..
.. bpo: 31626
.. date: 2017-10-01-15-48-03
.. nonce: reLPxY
.. section: Core and Builtins
Fixed a bug in debug memory allocator. There was a write to freed memory
after shrinking a memory block.
..
.. bpo: 30817
.. date: 2017-07-01-15-11-13
.. nonce: j7ZvN_
.. section: Core and Builtins
`PyErr_PrintEx()` clears now the ignored exception that may be raised by
`_PySys_SetObjectId()`, for example when no memory.
..
.. bpo: 28556
.. date: 2017-12-05-02-03-07
.. nonce: 9Z_PsJ
.. section: Library
Two minor fixes for ``typing`` module: allow shallow copying instances of
generic classes, improve interaction of ``__init_subclass__`` with generics.
Original PRs by Ivan Levkivskyi.
..
.. bpo: 32214
.. date: 2017-12-04-15-51-57
.. nonce: uozdNj
.. section: Library
PEP 557, Data Classes. Provides a decorator which adds boilerplate methods
to classes which use type annotations so specify fields.
..
.. bpo: 27240
.. date: 2017-12-02-16-06-00
.. nonce: Kji34M
.. section: Library
The header folding algorithm for the new email policies has been rewritten,
which also fixes bpo-30788, bpo-31831, and bpo-32182. In particular,
RFC2231 folding is now done correctly.
..
.. bpo: 32186
.. date: 2017-11-30-20-38-16
.. nonce: O42bVe
.. section: Library
io.FileIO.readall() and io.FileIO.read() now release the GIL when getting
the file size. Fixed hang of all threads with inaccessible NFS server. Patch
by Nir Soffer.
..
.. bpo: 321010
.. date: 2017-11-29-00-42-47
.. nonce: -axD5l
.. section: Library
Add :attr:`sys.flags.dev_mode` flag
..
.. bpo: 32154
.. date: 2017-11-28-15-27-10
.. nonce: kDox7L
.. section: Library
The ``asyncio.windows_utils.socketpair()`` function has been removed: use
directly :func:`socket.socketpair` which is available on all platforms since
Python 3.5 (before, it wasn't available on Windows).
``asyncio.windows_utils.socketpair()`` was just an alias to
``socket.socketpair`` on Python 3.5 and newer.
..
.. bpo: 32089
.. date: 2017-11-27-11-29-34
.. nonce: 6ydDYv
.. section: Library
warnings: In development (-X dev) and debug mode (pydebug build), use the
"default" action for ResourceWarning, rather than the "always" action, in
the default warnings filters.
..
.. bpo: 32107
.. date: 2017-11-26-18-48-17
.. nonce: h2ph2K
.. section: Library
``uuid.getnode()`` now preferentially returns universally administered MAC
addresses if available, over locally administered MAC addresses. This makes
a better guarantee for global uniqueness of UUIDs returned from
``uuid.uuid1()``. If only locally administered MAC addresses are available,
the first such one found is returned.
..
.. bpo: 23033
.. date: 2017-11-26-17-00-52
.. nonce: YGXRWT
.. section: Library
Wildcard is now supported in hostname when it is one and only character in
the left most segment of hostname in second argument of
:meth:`ssl.match_hostname`. Patch by Mandeep Singh.
..
.. bpo: 12239
.. date: 2017-11-24-14-07-55
.. nonce: Nj3A0x
.. section: Library
Make :meth:`msilib.SummaryInformation.GetProperty` return ``None`` when the
value of property is ``VT_EMPTY``. Initial patch by Mark Mc Mahon.
..
.. bpo: 28334
.. date: 2017-11-24-11-50-41
.. nonce: 3gGGlt
.. section: Library
Use :func:`os.path.expanduser` to find the ``~/.netrc`` file in
:class:`netrc.netrc`. If it does not exist, :exc:`FileNotFoundError` is
raised. Patch by Dimitri Merejkowsky.
..
.. bpo: 32121
.. date: 2017-11-24-00-59-12
.. nonce: ePbmwC
.. section: Library
Made ``tracemalloc.Traceback`` behave more like the traceback module,
sorting the frames from oldest to most recent. ``Traceback.format()`` now
accepts negative *limit*, truncating the result to the ``abs(limit)`` oldest
frames. To get the old behaviour, one can use the new *most_recent_first*
argument to ``Traceback.format()``. (Patch by Jesse Bakker.)
..
.. bpo: 31325
.. date: 2017-11-23-22-12-11
.. nonce: 8jAUxN
.. section: Library
Fix wrong usage of :func:`collections.namedtuple` in the
:meth:`RobotFileParser.parse() <urllib.robotparser.RobotFileParser.parse>`
method.
Initial patch by Robin Wellner.
..
.. bpo: 12382
.. date: 2017-11-23-21-47-36
.. nonce: xWT9k0
.. section: Library
:func:`msilib.OpenDatabase` now raises a better exception message when it
couldn't open or create an MSI file. Initial patch by William Tisäter.
..
.. bpo: 19610
.. date: 2017-11-23-16-15-55
.. nonce: Dlca2P
.. section: Library
``setup()`` now warns about invalid types for some fields.
The ``distutils.dist.Distribution`` class now warns when ``classifiers``,
``keywords`` and ``platforms`` fields are not specified as a list or a
string.
..
.. bpo: 32071
.. date: 2017-11-22-19-52-17
.. nonce: 4WNhUH
.. section: Library
Added the ``-k`` command-line option to ``python -m unittest`` to run only
tests that match the given pattern(s).
..
.. bpo: 10049
.. date: 2017-11-22-17-21-01
.. nonce: ttsBqb
.. section: Library
Added *nullcontext* no-op context manager to contextlib. This provides a
simpler and faster alternative to ExitStack() when handling optional context
managers.
..
.. bpo: 28684
.. date: 2017-11-22-12-54-46
.. nonce: NLiDKZ
.. section: Library
The new test.support.skip_unless_bind_unix_socket() decorator is used here
to skip asyncio tests that fail because the platform lacks a functional
bind() function for unix domain sockets (as it is the case for non root
users on the recent Android versions that run now SELinux in enforcing
mode).
..
.. bpo: 32110
.. date: 2017-11-22-09-44-15
.. nonce: VJa9bo
.. section: Library
``codecs.StreamReader.read(n)`` now returns not more than *n*
characters/bytes for non-negative *n*. This makes it compatible with
``read()`` methods of other file-like objects.
..
.. bpo: 27535
.. date: 2017-11-21-16-05-35
.. nonce: JLhcNz
.. section: Library
The warnings module doesn't leak memory anymore in the hidden warnings
registry for the "ignore" action of warnings filters. warn_explicit()
function doesn't add the warning key to the registry anymore for the
"ignore" action.
..
.. bpo: 32088
.. date: 2017-11-20-15-28-31
.. nonce: mV-4Nu
.. section: Library
warnings: When Python is build is debug mode (``Py_DEBUG``),
:exc:`DeprecationWarning`, :exc:`PendingDeprecationWarning` and
:exc:`ImportWarning` warnings are now displayed by default.
..
.. bpo: 1647489
.. date: 2017-11-20-01-29-46
.. nonce: -ZNNkh
.. section: Library
Fixed searching regular expression patterns that could match an empty
string. Non-empty string can now be correctly found after matching an empty
string.
..
.. bpo: 25054
.. date: 2017-11-20-01-01-01
.. nonce: rOlRV6
.. section: Library
Added support of splitting on a pattern that could match an empty string.
..
.. bpo: 32072
.. date: 2017-11-18-21-13-52
.. nonce: nwDV8L
.. section: Library
Fixed issues with binary plists:
* Fixed saving bytearrays.
* Identical objects will be saved only once.
* Equal references will be load as identical objects.
* Added support for saving and loading recursive data structures.
..
.. bpo: 32069
.. date: 2017-11-18-17-09-01
.. nonce: S0wyy4
.. section: Library
Drop legacy SSL transport from asyncio, ssl.MemoryBIO is always used anyway.
..
.. bpo: 32066
.. date: 2017-11-17-18-28-53
.. nonce: OMQFLH
.. section: Library
asyncio: Support pathlib.Path in create_unix_connection; sock arg should be
optional
..
.. bpo: 32046
.. date: 2017-11-16-20-09-45
.. nonce: 9sGDtw
.. section: Library
Updates 2to3 to convert from operator.isCallable(obj) to callable(obj).
Patch by Dong-hee Na.
..
.. bpo: 32018
.. date: 2017-11-16-02-32-41
.. nonce: YMQ7Q2
.. section: Library
inspect.signature should follow PEP 8, if the parameter has an annotation
and a default value. Patch by Dong-hee Na.
..
.. bpo: 32025
.. date: 2017-11-15-20-03-45
.. nonce: lnIKYT
.. section: Library
Add time.thread_time() and time.thread_time_ns()
..
.. bpo: 32037
.. date: 2017-11-15-19-04-22
.. nonce: r8-5Nk
.. section: Library
Integers that fit in a signed 32-bit integer will be now pickled with
protocol 0 using the INT opcode. This will decrease the size of a pickle,
speed up pickling and unpickling, and make these integers be unpickled as
int instances in Python 2.
..
.. bpo: 32034
.. date: 2017-11-15-13-44-28
.. nonce: uHAOmu
.. section: Library
Make asyncio.IncompleteReadError and LimitOverrunError pickleable.
..
.. bpo: 32015
.. date: 2017-11-13-17-48-33
.. nonce: 4nqRTD
.. section: Library
Fixed the looping of asyncio in the case of reconnection the socket during
waiting async read/write from/to the socket.
..
.. bpo: 32011
.. date: 2017-11-12-20-47-59
.. nonce: NzVDdZ
.. section: Library
Restored support of loading marshal files with the TYPE_INT64 code. These
files can be produced in Python 2.7.
..
.. bpo: 28369
.. date: 2017-11-10-16-27-26
.. nonce: IS74nd
.. section: Library
Enhance add_reader/writer check that socket is not used by some transport.
Before, only cases when add_reader/writer were called with an int FD were
supported. Now the check is implemented correctly for all file-like
objects.
..
.. bpo: 31976
.. date: 2017-11-09-21-36-32
.. nonce: EOA7qY
.. section: Library
Fix race condition when flushing a file is slow, which can cause a segfault
if closing the file from another thread.
..
.. bpo: 31985
.. date: 2017-11-08-16-51-52
.. nonce: dE_fOB
.. section: Library
Formally deprecated aifc.openfp, sunau.openfp, and wave.openfp. Since change
7bc817d5ba917528e8bd07ec461c635291e7b06a in 1993, openfp in each of the
three modules had been pointing to that module's open funciton as a matter
of backwards compatibility, though it had been both untested and
undocumented.
..
.. bpo: 21862
.. date: 2017-11-07-15-19-52
.. nonce: RwietE
.. section: Library
cProfile command line now accepts `-m module_name` as an alternative to
script path. Patch by Sanyam Khurana.
..
.. bpo: 31970
.. date: 2017-11-07-14-20-09
.. nonce: x4EN_9
.. section: Library
Reduce performance overhead of asyncio debug mode.
..
.. bpo: 31843
.. date: 2017-11-07-00-37-50
.. nonce: lM2gkR
.. section: Library
*database* argument of sqlite3.connect() now accepts a :term:`path-like
object`, instead of just a string.
..
.. bpo: 31945
.. date: 2017-11-05-01-17-12
.. nonce: TLPBtS
.. section: Library
Add Configurable *blocksize* to ``HTTPConnection`` and ``HTTPSConnection``
for improved upload throughput. Patch by Nir Soffer.
..
.. bpo: 31943
.. date: 2017-11-04-19-28-08
.. nonce: bxw5gM
.. section: Library
Add a ``cancelled()`` method to :class:`asyncio.Handle`. Patch by Marat
Sharafutdinov.
..
.. bpo: 9678
.. date: 2017-11-03-22-05-47
.. nonce: oD51q6
.. section: Library
Fixed determining the MAC address in the uuid module:
* Using ifconfig on NetBSD and OpenBSD.
* Using arp on Linux, FreeBSD, NetBSD and OpenBSD.
Based on patch by Takayuki Shimizukawa.
..
.. bpo: 30057
.. date: 2017-11-03-19-11-43
.. nonce: NCaijI
.. section: Library
Fix potential missed signal in signal.signal().
..
.. bpo: 31933
.. date: 2017-11-03-08-36-03
.. nonce: UrtoMP
.. section: Library
Fix Blake2 params leaf_size and node_offset on big endian platforms. Patch
by Jack O'Connor.
..
.. bpo: 21423
.. date: 2017-11-02-22-26-16
.. nonce: hw5mEh
.. section: Library
Add an initializer argument to {Process,Thread}PoolExecutor
..
.. bpo: 31927
.. date: 2017-11-02-18-26-40
.. nonce: 40K6kp
.. section: Library
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.
..
.. bpo: 27666
.. date: 2017-11-01-18-13-42
.. nonce: j2zRnF
.. section: Library
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.
..
.. bpo: 31917
.. date: 2017-11-01-03-28-24
.. nonce: DYQL0g
.. section: Library
Add 3 new clock identifiers: :data:`time.CLOCK_BOOTTIME`,
:data:`time.CLOCK_PROF` and :data:`time.CLOCK_UPTIME`.
..
.. bpo: 31897
.. date: 2017-10-30-11-04-56
.. nonce: yjwdEb
.. section: Library
plistlib now catches more errors when read binary plists and raises
InvalidFileException instead of unexpected exceptions.
..
.. bpo: 25720
.. date: 2017-10-29-17-52-40
.. nonce: vSvb5h
.. section: Library
Fix the method for checking pad state of curses WINDOW. Patch by Masayuki
Yamamoto.
..
.. bpo: 31893
.. date: 2017-10-29-13-51-01
.. nonce: 8LZKEz
.. section: Library
Fixed the layout of the kqueue_event structure on OpenBSD and NetBSD. Fixed
the comparison of the kqueue_event objects.
..
.. bpo: 31891
.. date: 2017-10-29-11-23-24
.. nonce: 9kAPha
.. section: Library
Fixed building the curses module on NetBSD.
..
.. bpo: 31884
.. date: 2017-10-27
.. nonce: bjhre9
.. section: Library
added required constants to subprocess module for setting priotity on
windows
..
.. bpo: 28281
.. date: 2017-10-26-14-54-38
.. nonce: 7ZN5FG
.. section: Library
Remove year (1-9999) limits on the Calendar.weekday() function.
Patch by Mark Gollahon.
..
.. bpo: 31702
.. date: 2017-10-24-21-10-44
.. nonce: SfwJDI
.. section: Library
crypt.mksalt() now allows to specify the number of rounds for SHA-256 and
SHA-512 hashing.
..
.. bpo: 30639
.. date: 2017-10-24-12-24-56
.. nonce: ptNM9a
.. section: Library
:func:`inspect.getfile` no longer computes the repr of unknown objects to
display in an error message, to protect against badly behaved custom reprs.
..
.. bpo: 30768
.. date: 2017-10-24-12-00-16
.. nonce: Om8Yj_
.. section: Library
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`.
..
.. bpo: 31854
.. date: 2017-10-23
.. nonce: fh8334f
.. section: Library
Add ``mmap.ACCESS_DEFAULT`` constant.
..
.. bpo: 31834
.. date: 2017-10-23-23-27-52
.. nonce: InwC6O
.. section: Library
Use optimized code for BLAKE2 only with SSSE3+. The pure SSE2 implementation
is slower than the pure C reference implementation.
..
.. bpo: 28292
.. date: 2017-10-23-20-03-36
.. nonce: 1Gkim2
.. section: Library
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.
..
.. bpo: 28564
.. date: 2017-10-23-16-22-54
.. nonce: Tx-l-I
.. section: Library
The shutil.rmtree() function has been sped up to 20--40%. This was done
using the os.scandir() function.
..
.. bpo: 28416
.. date: 2017-10-23-12-05-33
.. nonce: Ldnw8X
.. section: Library
Instances of pickle.Pickler subclass with the persistent_id() method and
pickle.Unpickler subclass with the persistent_load() method no longer create
reference cycles.
..
.. bpo: 31653
.. date: 2017-10-22-12-43-03
.. nonce: ttfGvq
.. section: Library
Don't release the GIL if we can acquire a multiprocessing semaphore
immediately.
..
.. bpo: 28326
.. date: 2017-10-22-11-06-02
.. nonce: rxh7L4
.. section: Library
Fix multiprocessing.Process when stdout and/or stderr is closed or None.
..
.. bpo: 20825
.. date: 2017-10-21-09-13-16
.. nonce: -1MBEy
.. section: Library
Add `subnet_of` and `superset_of` containment tests to
:class:`ipaddress.IPv6Network` and :class:`ipaddress.IPv4Network`. Patch by
Michel Albert and Cheryl Sabella.
..
.. bpo: 31827
.. date: 2017-10-20-16-12-01
.. nonce: 7R8s8s
.. section: Library
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.
..
.. bpo: 31756
.. date: 2017-10-20-12-57-52
.. nonce: IxCvGB
.. section: Library
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.
..
.. bpo: 31819
.. date: 2017-10-19-20-03-13
.. nonce: mw2wF9
.. section: Library
Add AbstractEventLoop.sock_recv_into().
..
.. bpo: 31457
.. date: 2017-10-18-19-05-17
.. nonce: KlE6r8
.. section: Library
If nested log adapters are used, the inner ``process()`` methods are no
longer omitted.
..
.. bpo: 31457
.. date: 2017-10-18-16-48-09
.. nonce: _ovmzp
.. section: Library
The ``manager`` property on LoggerAdapter objects is now properly settable.
..
.. bpo: 31806
.. date: 2017-10-17-23-27-03
.. nonce: TzphdL
.. section: Library
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.
..
.. bpo: 31803
.. date: 2017-10-17-22-55-13
.. nonce: YLL1gJ
.. section: Library
time.clock() and time.get_clock_info('clock') now emit a DeprecationWarning
warning.
..
.. bpo: 31800
.. date: 2017-10-17-20-08-19
.. nonce: foOSCi
.. section: Library
Extended support for parsing UTC offsets. strptime '%z' can now parse the
output generated by datetime.isoformat, including seconds and microseconds.
..
.. bpo: 28603
.. date: 2017-10-17-12-29-18
.. nonce: tGuX2C
.. section: Library
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.
..
.. bpo: 30541
.. date: 2017-10-17-12-04-37
.. nonce: q3BM6C
.. section: Library
Add new function to seal a mock and prevent the automatically creation of
child mocks. Patch by Mario Corchero.
..
.. bpo: 31784
.. date: 2017-10-13-23-35-47
.. nonce: 6e57bd
.. section: Library
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`.
..
.. bpo: 30143
.. date: 2017-10-12-19-05-54
.. nonce: 25_hU1
.. section: Library
2to3 now generates a code that uses abstract collection classes from
collections.abc rather than collections.
..
.. bpo: 31770
.. date: 2017-10-12-18-45-38
.. nonce: GV3MPx
.. section: Library
Prevent a crash when calling the ``__init__()`` method of a
``sqlite3.Cursor`` object more than once. Patch by Oren Milman.
..
.. bpo: 31764
.. date: 2017-10-11-22-18-04
.. nonce: EMyIkK
.. section: Library
Prevent a crash in ``sqlite3.Cursor.close()`` in case the ``Cursor`` object
is uninitialized. Patch by Oren Milman.
..
.. bpo: 31752
.. date: 2017-10-11-00-45-01
.. nonce: DhWevN
.. section: Library
Fix possible crash in timedelta constructor called with custom integers.
..
.. bpo: 31620
.. date: 2017-10-06-04-35-31
.. nonce: gksLA1
.. section: Library
an empty asyncio.Queue now doesn't leak memory when queue.get pollers
timeout
..
.. bpo: 31690
.. date: 2017-10-05-15-14-46
.. nonce: f0XteV
.. section: Library
Allow the flags re.ASCII, re.LOCALE, and re.UNICODE to be used as group
flags for regular expressions.
..
.. bpo: 30349
.. date: 2017-10-05-12-45-29
.. nonce: 6zKJsF
.. section: Library
FutureWarning is now emitted if a regular expression contains character set
constructs that will change semantically in the future (nested sets and set
operations).
..
.. bpo: 31664
.. date: 2017-10-04-20-36-28
.. nonce: 4VDUzo
.. section: Library
Added support for the Blowfish hashing in the crypt module.
..
.. bpo: 31632
.. date: 2017-10-04-11-37-14
.. nonce: LiOC3C
.. section: Library
Fix method set_protocol() of class _SSLProtocolTransport in asyncio module.
This method was previously modifying a wrong reference to the protocol.
..
.. bpo: 15037
.. date: 2017-09-29-19-19-36
.. nonce: ykimLK
.. section: Library
Added a workaround for getkey() in curses for ncurses 5.7 and earlier.
..
.. bpo: 31307
.. date: 2017-09-07-12-50-28
.. nonce: AVBiNY
.. section: Library
Allow use of bytes objects for arguments to
:meth:`configparser.ConfigParser.read`. Patch by Vincent Michel.
..
.. bpo: 31334
.. date: 2017-09-04-00-22-31
.. nonce: 9WYRfi
.. section: Library
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.
..
.. bpo: 31310
.. date: 2017-08-30-18-23-54
.. nonce: 7D1UNt
.. section: Library
multiprocessing's semaphore tracker should be launched again if crashed.
..
.. bpo: 31308
.. date: 2017-08-30-17-59-36
.. nonce: KbexyC
.. section: Library
Make multiprocessing's forkserver process immune to Ctrl-C and other user
interruptions. If it crashes, restart it when necessary.
..
.. bpo: 31245
.. date: 2017-08-22-11-05-35
.. nonce: AniZuz
.. section: Library
Added support for AF_UNIX socket in asyncio `create_datagram_endpoint`.
..
.. bpo: 30553
.. date: 2017-07-05-14-48-26
.. nonce: Oupsxo
.. section: Library
Add HTTP/2 status code 421 (Misdirected Request) to
:class:`http.HTTPStatus`. Patch by Vitor Pereira.
..
.. bpo: 32105
.. date: 2017-11-21-10-54-16
.. nonce: 91mhWm
.. section: Documentation
Added asyncio.BaseEventLoop.connect_accepted_socket versionaddded marker.
..
.. bpo: 31380
.. date: 2017-12-04-23-19-16
.. nonce: VlMmHW
.. section: Tests
Skip test_httpservers test_undecodable_file on macOS: fails on APFS.
..
.. bpo: 31705
.. date: 2017-11-30-12-27-10
.. nonce: yULW7O
.. section: Tests
Skip test_socket.test_sha256() on Linux kernel older than 4.5. The test
fails with ENOKEY on kernel 3.10 (on ppc64le). A fix was merged into the
kernel 4.5.
..
.. bpo: 32138
.. date: 2017-11-27-16-18-58
.. nonce: QsTvf-
.. section: Tests
Skip on Android test_faulthandler tests that raise SIGSEGV and remove the
test.support.requires_android_level decorator.
..
.. bpo: 32136
.. date: 2017-11-26-17-11-27
.. nonce: Y11luJ
.. section: Tests
The runtime embedding tests have been split out from
``Lib/test/test_capi.py`` into a new ``Lib/test/test_embed.py`` file.
..
.. bpo: 28668
.. date: 2017-11-25-14-53-29
.. nonce: Y1G6pA
.. section: Tests
test.support.requires_multiprocessing_queue is removed. Skip tests with
test.support.import_module('multiprocessing.synchronize') instead when the
semaphore implementation is broken or missing.
..
.. bpo: 32126
.. date: 2017-11-24-18-15-12
.. nonce: PLmNLn
.. section: Tests
Skip test_get_event_loop_new_process in test.test_asyncio.test_events when
sem_open() is not functional.
..
.. bpo: 31174
.. date: 2017-10-24-11-36-10
.. nonce: xCvXcr
.. section: Tests
Fix test_tools.test_unparse: DirectoryTestCase now stores the names sample
to always test the same files. It prevents false alarms when hunting
reference leaks.
..
.. bpo: 28538
.. date: 2017-11-21-17-27-59
.. nonce: DsNBS7
.. section: Build
Revert the previous changes, the if_nameindex structure is defined by
Unified Headers.
..
.. bpo: 28762
.. date: 2017-11-21-17-12-24
.. nonce: R6uu8w
.. section: Build
Revert the last commit, the F_LOCK macro is defined by Android Unified
Headers.
..
.. bpo: 29040
.. date: 2017-11-21-16-56-24
.. nonce: 14lCSr
.. section: Build
Support building Android with Unified Headers. The first NDK release to
support Unified Headers is android-ndk-r14.
..
.. bpo: 32059
.. date: 2017-11-18-11-19-28
.. nonce: a0Hxgp
.. section: Build
``detect_modules()`` in ``setup.py`` now also searches the sysroot paths
when cross-compiling.
..
.. bpo: 31957
.. date: 2017-11-06-11-53-39
.. nonce: S_1jFK
.. section: Build
Fixes Windows SDK version detection when building for Windows.
..
.. bpo: 31609
.. date: 2017-11-04-15-35-08
.. nonce: k7_nBR
.. section: Build
Fixes quotes in PCbuild/clean.bat
..
.. bpo: 31934
.. date: 2017-11-03-15-17-50
.. nonce: 8bUlpv
.. section: Build
Abort the build when building out of a not clean source tree.
..
.. bpo: 31926
.. date: 2017-11-03-10-07-14
.. nonce: 57wE98
.. section: Build
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.
..
.. bpo: 28791
.. date: 2017-11-02-20-30-57
.. nonce: VaE3o8
.. section: Build
Update Windows builds to use SQLite 3.21.0.
..
.. bpo: 28791
.. date: 2017-11-02-20-13-46
.. nonce: STt3jL
.. section: Build
Update OS X installer to use SQLite 3.21.0.
..
.. bpo: 28643
.. date: 2017-11-01-14-16-27
.. nonce: 9iPKJy
.. section: Build
Record profile-opt build progress with stamp files.
..
.. bpo: 31866
.. date: 2017-10-24-23-21-13
.. nonce: MkNO66
.. section: Build
Finish removing support for AtheOS.
..
.. bpo: 1102
.. date: 2017-11-19-09-46-27
.. nonce: NY-g1F
.. section: Windows
Return ``None`` when ``View.Fetch()`` returns ``ERROR_NO_MORE_ITEMS``
instead of raising ``MSIError``.
Initial patch by Anthony Tuininga.
..
.. bpo: 31944
.. date: 2017-11-04-15-29-47
.. nonce: 0Bx8tZ
.. section: Windows
Fixes Modify button in Apps and Features dialog.
..
.. bpo: 20486
.. date: 2017-10-26-23-02-57
.. nonce: 3IdsZ1
.. section: Windows
Implement the ``Database.Close()`` method to help closing MSI database
objects.
..
.. bpo: 31857
.. date: 2017-10-23-18-35-50
.. nonce: YwhEvc
.. section: Windows
Make the behavior of USE_STACKCHECK deterministic in a multi-threaded
environment.
..
.. bpo: 31392
.. date: 2017-12-04-21-57-43
.. nonce: f8huBC
.. section: macOS
Update macOS installer to use OpenSSL 1.0.2m
..
.. bpo: 32207
.. date: 2017-12-04-15-04-43
.. nonce: IzyAJo
.. section: IDLE
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.
..
.. bpo: 32164
.. date: 2017-11-28-21-47-15
.. nonce: 2T2Na8
.. section: IDLE
Delete unused file idlelib/tabbedpages.py. Use of TabbedPageSet in
configdialog was replaced by ttk.Notebook.
..
.. bpo: 32100
.. date: 2017-11-21-08-26-08
.. nonce: P43qx2
.. section: IDLE
IDLE: Fix old and new bugs in pathbrowser; improve tests. Patch mostly by
Cheryl Sabella.
..
.. bpo: 31858
.. date: 2017-10-26-20-20-19
.. nonce: VuSA_e
.. section: IDLE
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.
..
.. bpo: 31860
.. date: 2017-10-24-16-21-50
.. nonce: gECuWx
.. section: IDLE
The font sample in the IDLE configuration dialog is now editable. Changes
persist while IDLE remains open
..
.. bpo: 31836
.. date: 2017-10-21-15-41-53
.. nonce: fheLME
.. section: IDLE
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.
..
.. bpo: 28603
.. date: 2017-10-17-13-26-13
.. nonce: TMEQfp
.. section: IDLE
Fix a TypeError that caused a shell restart when printing a traceback that
includes an exception that is unhashable. Patch by Zane Bitter.
..
.. bpo: 13802
.. date: 2017-10-12-00-51-29
.. nonce: VwjZRD
.. section: IDLE
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.
..
.. bpo: 32159
.. date: 2017-11-28-21-24-41
.. nonce: RSl4QK
.. section: Tools/Demos
Remove CVS and Subversion tools: remove svneol.py and treesync.py scripts.
CPython migrated from CVS to Subversion, to Mercurial, and then to Git. CVS
and Subversion are no longer used to develop CPython.
..
.. bpo: 30722
.. date: 2017-10-23-19-45-52
.. nonce: ioRlAu
.. section: Tools/Demos
Make redemo work with Python 3.6 and newer versions.
In Python 3.6, flags like re.DOTALL became members of an enum.IntFlag so
usages like ``getattr(re, 'DOTALL')`` are invalid.
Also, remove the ``LOCALE`` option since it doesn't work with string
patterns in Python 3.
Patch by Christoph Sarnowski.
..
.. bpo: 20891
.. date: 2017-11-30-18-13-45
.. nonce: wBnMdF
.. section: C API
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.
..
.. bpo: 32125
.. date: 2017-11-24-21-25-43
.. nonce: K8zWgn
.. section: C API
The ``Py_UseClassExceptionsFlag`` flag has been removed. It was deprecated
and wasn't used anymore since Python 2.0.
..
.. bpo: 25612
.. date: 2017-10-22-13-12-28
.. nonce: 1jnWKT
.. section: C API
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.
..
.. bpo: 23699
.. date: 2017-10-19-15-27-04
.. nonce: -noVVc
.. section: C API
Add Py_RETURN_RICHCOMPARE macro to reduce boilerplate code in rich
comparison functions.
..
.. bpo: 30697
.. date: 2017-06-30-11-58-01
.. nonce: Q3T_8n
.. section: C API
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.