.. 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 function 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 priority 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 versionadded 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 manipulation 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.
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.
