.. bpo: 28414
.. date: 2017-08-06-14-43-45
.. nonce: mzZ6vD
.. release date: 2018-02-27
.. section: Security

The ssl module now allows users to perform their own IDN en/decoding when
using SNI.

..

.. bpo: 32889
.. date: 2018-02-20-21-53-48
.. nonce: J6eWy5
.. section: Core and Builtins

Update Valgrind suppression list to account for the rename of
``Py_ADDRESS_IN_RANG`` to ``address_in_range``.

..

.. bpo: 31356
.. date: 2018-02-02-08-50-46
.. nonce: MNwUOQ
.. section: Core and Builtins

Remove the new API added in bpo-31356 (gc.ensure_disabled() context
manager).

..

.. bpo: 32305
.. date: 2018-02-01-10-56-41
.. nonce: dkU9Qa
.. section: Core and Builtins

For namespace packages, ensure that both ``__file__`` and
``__spec__.origin`` are set to None.

..

.. bpo: 32303
.. date: 2018-02-01-10-16-28
.. nonce: VsvhSl
.. section: Core and Builtins

Make sure ``__spec__.loader`` matches ``__loader__`` for namespace packages.

..

.. bpo: 32711
.. date: 2018-01-29-14-36-37
.. nonce: 8hQFJP
.. section: Core and Builtins

Fix the warning messages for Python/ast_unparse.c. Patch by Stéphane Wirtel

..

.. bpo: 32583
.. date: 2018-01-26-21-20-21
.. nonce: Fh3fau
.. section: Core and Builtins

Fix possible crashing in builtin Unicode decoders caused by write
out-of-bound errors when using customized decode error handlers.

..

.. bpo: 32960
.. date: 2018-02-26-20-04-40
.. nonce: 48r0Ml
.. section: Library

For dataclasses, disallow inheriting frozen from non-frozen classes, and
also disallow inheriting non-frozen from frozen classes. This restriction
will be relaxed at a future date.

..

.. bpo: 32713
.. date: 2018-02-26-13-16-36
.. nonce: 55yegW
.. section: Library

Fixed tarfile.itn handling of out-of-bounds float values. Patch by Joffrey
Fuhrer.

..

.. bpo: 32951
.. date: 2018-02-25-18-22-01
.. nonce: gHrCXq
.. section: Library

Direct instantiation of SSLSocket and SSLObject objects is now prohibited.
The constructors were never documented, tested, or designed as public
constructors. Users were suppose to use ssl.wrap_socket() or SSLContext.

..

.. bpo: 32929
.. date: 2018-02-25-13-47-48
.. nonce: X2gTDH
.. section: Library

Remove the tri-state parameter "hash", and add the boolean "unsafe_hash". If
unsafe_hash is True, add a __hash__ function, but if a __hash__ exists,
raise TypeError.  If unsafe_hash is False, add a __hash__ based on the
values of eq= and frozen=.  The unsafe_hash=False behavior is the same as
the old hash=None behavior.  unsafe_hash=False is the default, just as
hash=None used to be.

..

.. bpo: 32947
.. date: 2018-02-25-13-06-21
.. nonce: mqStVW
.. section: Library

Add OP_ENABLE_MIDDLEBOX_COMPAT and test workaround for TLSv1.3 for future
compatibility with OpenSSL 1.1.1.

..

.. bpo: 30622
.. date: 2018-02-24-21-40-42
.. nonce: dQjxSe
.. section: Library

The ssl module now detects missing NPN support in LibreSSL.

..

.. bpo: 32922
.. date: 2018-02-23-19-12-04
.. nonce: u-xe0B
.. section: Library

dbm.open() now encodes filename with the filesystem encoding rather than
default encoding.

..

.. bpo: 32859
.. date: 2018-02-19-17-46-31
.. nonce: kAT-Xp
.. section: Library

In ``os.dup2``, don't check every call whether the ``dup3`` syscall exists
or not.

..

.. bpo: 32556
.. date: 2018-02-19-14-27-51
.. nonce: CsRsgr
.. section: Library

nt._getfinalpathname, nt._getvolumepathname and nt._getdiskusage now
correctly convert from bytes.

..

.. bpo: 25988
.. date: 2018-02-18-13-04-59
.. nonce: ACidKC
.. section: Library

Emit a :exc:`DeprecationWarning` when using or importing an ABC directly
from :mod:`collections` rather than from :mod:`collections.abc`.

..

.. bpo: 21060
.. date: 2018-02-17-19-20-19
.. nonce: S1Z-x6
.. section: Library

Rewrite confusing message from setup.py upload from "No dist file created in
earlier command" to the more helpful "Must create and upload files in one
command".

..

.. bpo: 32852
.. date: 2018-02-15-12-04-29
.. nonce: HDqIxM
.. section: Library

Make sure sys.argv remains as a list when running trace.

..

.. bpo: 31333
.. date: 2018-02-15-08-18-52
.. nonce: 4fF-gM
.. section: Library

``_abc`` module is added.  It is a speedup module with C implementations for
various functions and methods in ``abc``.  Creating an ABC subclass and
calling ``isinstance`` or ``issubclass`` with an ABC subclass are up to 1.5x
faster. In addition, this makes Python start-up up to 10% faster.
Note that the new implementation hides internal registry and caches,
previously accessible via private attributes ``_abc_registry``,
``_abc_cache``, and ``_abc_negative_cache``.  There are three debugging
helper methods that can be used instead ``_dump_registry``,
``_abc_registry_clear``, and ``_abc_caches_clear``.

..

.. bpo: 32841
.. date: 2018-02-14-00-21-24
.. nonce: bvHDOc
.. section: Library

Fixed ``asyncio.Condition`` issue which silently ignored cancellation after
notifying and cancelling a conditional lock. Patch by Bar Harel.

..

.. bpo: 32819
.. date: 2018-02-11-15-54-41
.. nonce: ZTRX2Q
.. section: Library

ssl.match_hostname() has been simplified and no longer depends on re and
ipaddress module for wildcard and IP addresses. Error reporting for invalid
wildcards has been improved.

..

.. bpo: 32394
.. date: 2018-02-10-13-51-56
.. nonce: dFM9SI
.. section: Library

socket: Remove TCP_FASTOPEN,TCP_KEEPCNT,TCP_KEEPIDLE,TCP_KEEPINTVL flags on
older version Windows during run-time.

..

.. bpo: 31787
.. date: 2018-02-09-21-41-56
.. nonce: owSZ2t
.. section: Library

Fixed refleaks of ``__init__()`` methods in various modules. (Contributed by
Oren Milman)

..

.. bpo: 30157
.. date: 2018-02-09-14-44-43
.. nonce: lEiiAK
.. section: Library

Fixed guessing quote and delimiter in csv.Sniffer.sniff() when only the last
field is quoted.  Patch by Jake Davis.

..

.. bpo: 32792
.. date: 2018-02-08-00-47-07
.. nonce: NtyDb4
.. section: Library

collections.ChainMap() preserves the order of the underlying mappings.

..

.. bpo: 32775
.. date: 2018-02-07-19-12-10
.. nonce: -T77_c
.. section: Library

:func:`fnmatch.translate` no longer produces patterns which contain set
operations. Sets starting with '[' or containing '--', '&&', '~~' or '||'
will be interpreted differently in regular expressions in future versions.
Currently they emit warnings. fnmatch.translate() now avoids producing
patterns containing such sets by accident.

..

.. bpo: 32622
.. date: 2018-02-06-17-58-15
.. nonce: AE0Jz7
.. section: Library

Implement native fast sendfile for Windows proactor event loop.

..

.. bpo: 32777
.. date: 2018-02-05-21-28-28
.. nonce: C-wIXF
.. section: Library

Fix a rare but potential pre-exec child process deadlock in subprocess on
POSIX systems when marking file descriptors inheritable on exec in the child
process.  This bug appears to have been introduced in 3.4.

..

.. bpo: 32647
.. date: 2018-02-05-13-31-42
.. nonce: ktmfR_
.. section: Library

The ctypes module used to depend on indirect linking for dlopen. The shared
extension is now explicitly linked against libdl on platforms with dl.

..

.. bpo: 32741
.. date: 2018-02-01-17-54-08
.. nonce: KUvOPL
.. section: Library

Implement ``asyncio.TimerHandle.when()`` method.

..

.. bpo: 32691
.. date: 2018-02-01-15-53-35
.. nonce: VLWVTq
.. section: Library

Use mod_spec.parent when running modules with pdb

..

.. bpo: 32734
.. date: 2018-02-01-01-34-47
.. nonce: gCV9AD
.. section: Library

Fixed ``asyncio.Lock()`` safety issue which allowed acquiring and locking
the same lock multiple times, without it being free. Patch by Bar Harel.

..

.. bpo: 32727
.. date: 2018-01-30-17-46-18
.. nonce: aHVsRC
.. section: Library

Do not include name field in SMTP envelope from address. Patch by Stéphane
Wirtel

..

.. bpo: 31453
.. date: 2018-01-21-15-01-50
.. nonce: cZiZBe
.. section: Library

Add TLSVersion constants and SSLContext.maximum_version / minimum_version
attributes. The new API wraps OpenSSL 1.1
https://web.archive.org/web/20180309043602/https://www.openssl.org/docs/man1.1.0/ssl/SSL_CTX_set_min_proto_version.html
feature.

..

.. bpo: 24334
.. date: 2018-01-20-23-17-25
.. nonce: GZuQLv
.. section: Library

Internal implementation details of ssl module were cleaned up. The SSLSocket
has one less layer of indirection. Owner and session information are now
handled by the SSLSocket and SSLObject constructor. Channel binding
implementation has been simplified.

..

.. bpo: 31848
.. date: 2018-01-18-23-34-17
.. nonce: M2cldy
.. section: Library

Fix the error handling in Aifc_read.initfp() when the SSND chunk is not
found. Patch by Zackery Spytz.

..

.. bpo: 32585
.. date: 2018-01-18-13-09-00
.. nonce: qpeijr
.. section: Library

Add Ttk spinbox widget to :mod:`tkinter.ttk`.  Patch by Alan D Moore.

..

.. bpo: 32221
.. date: 2017-12-06-10-10-10
.. nonce: ideco_
.. section: Library

Various functions returning tuple containing IPv6 addresses now omit
``%scope`` part since the same information is already encoded in *scopeid*
tuple item. Especially this speeds up :func:`socket.recvfrom` when it
receives multicast packet since useless resolving of network interface name
is omitted.

..

.. bpo: 30693
.. date: 2017-11-27-15-09-49
.. nonce: yC4mJ8
.. section: Library

The TarFile class now recurses directories in a reproducible way.

..

.. bpo: 30693
.. date: 2017-11-27-15-09-49
.. nonce: yC4mJ7
.. section: Library

The ZipFile class now recurses directories in a reproducible way.

..

.. bpo: 28124
.. date: 2018-02-25-16-33-35
.. nonce: _uzkgq
.. section: Documentation

The ssl module function ssl.wrap_socket() has been de-emphasized and
deprecated in favor of the more secure and efficient
SSLContext.wrap_socket() method.

..

.. bpo: 17232
.. date: 2018-02-23-12-48-03
.. nonce: tmuTKL
.. section: Documentation

Clarify docs for -O and -OO.  Patch by Terry Reedy.

..

.. bpo: 32436
.. date: 2018-02-14-11-10-41
.. nonce: TTJ2jb
.. section: Documentation

Add documentation for the contextvars module (PEP 567).

..

.. bpo: 32800
.. date: 2018-02-10-15-16-04
.. nonce: FyrqCk
.. section: Documentation

Update link to w3c doc for xml default namespaces.

..

.. bpo: 11015
.. date: 2018-02-10-12-48-38
.. nonce: -gUf34
.. section: Documentation

Update :mod:`test.support` documentation.

..

.. bpo: 8722
.. date: 2018-02-03-06-11-37
.. nonce: MPyVyj
.. section: Documentation

Document :meth:`__getattr__` behavior when property :meth:`get` method
raises :exc:`AttributeError`.

..

.. bpo: 32614
.. date: 2018-02-02-07-41-57
.. nonce: LSqzGw
.. section: Documentation

Modify RE examples in documentation to use raw strings to prevent
:exc:`DeprecationWarning` and add text to REGEX HOWTO to highlight the
deprecation.

..

.. bpo: 31972
.. date: 2018-01-25-14-23-12
.. nonce: w1m_8r
.. section: Documentation

Improve docstrings for ``pathlib.PurePath`` subclasses.

..

.. bpo: 31809
.. date: 2017-10-18-18-07-45
.. nonce: KlQrkE
.. section: Tests

Add tests to verify connection with secp ECDH curves.

..

.. bpo: 32898
.. date: 2018-02-21-12-46-00
.. nonce: M15bZh
.. section: Build

Fix the python debug build when using COUNT_ALLOCS.

..

.. bpo: 32901
.. date: 2018-02-23-00-47-13
.. nonce: mGKz5_
.. section: Windows

Update Tcl and Tk versions to 8.6.8

..

.. bpo: 31966
.. date: 2018-02-19-13-54-42
.. nonce: _Q3HPb
.. section: Windows

Fixed WindowsConsoleIO.write() for writing empty data.

..

.. bpo: 32409
.. date: 2018-02-19-10-00-57
.. nonce: nocuDg
.. section: Windows

Ensures activate.bat can handle Unicode contents.

..

.. bpo: 32457
.. date: 2018-02-19-08-54-06
.. nonce: vVP0Iz
.. section: Windows

Improves handling of denormalized executable path when launching Python.

..

.. bpo: 32370
.. date: 2018-02-10-15-38-19
.. nonce: kcKuct
.. section: Windows

Use the correct encoding for ipconfig output in the uuid module. Patch by
Segev Finer.

..

.. bpo: 29248
.. date: 2018-02-07-17-50-48
.. nonce: Xzwj-6
.. section: Windows

Fix :func:`os.readlink` on Windows, which was mistakenly treating the
``PrintNameOffset`` field of the reparse data buffer as a number of
characters instead of bytes. Patch by Craig Holmquist and SSE4.

..

.. bpo: 32901
.. date: 2018-02-27-17-33-15
.. nonce: hQu0w3
.. section: macOS

Update macOS 10.9+ installer to Tcl/Tk 8.6.8.

..

.. bpo: 32916
.. date: 2018-02-23-07-32-36
.. nonce: 4MsQ5F
.. section: IDLE

Change ``str`` to ``code`` in pyparse.

..

.. bpo: 32905
.. date: 2018-02-22-00-09-27
.. nonce: VlXj0x
.. section: IDLE

Remove unused code in pyparse module.

..

.. bpo: 32874
.. date: 2018-02-19-10-56-41
.. nonce: 6pZ9Gv
.. section: IDLE

Add tests for pyparse.

..

.. bpo: 32837
.. date: 2018-02-12-17-22-48
.. nonce: -33QPl
.. section: IDLE

Using the system and place-dependent default encoding for open() is a bad
idea for IDLE's system and location-independent files.

..

.. bpo: 32826
.. date: 2018-02-12-11-05-22
.. nonce: IxNZrk
.. section: IDLE

Add "encoding=utf-8" to open() in IDLE's test_help_about. GUI test
test_file_buttons() only looks at initial ascii-only lines, but failed on
systems where open() defaults to 'ascii' because readline() internally reads
and decodes far enough ahead to encounter a non-ascii character in
CREDITS.txt.

..

.. bpo: 32765
.. date: 2018-02-04-17-52-54
.. nonce: qm0eCu
.. section: IDLE

Update configdialog General tab docstring to add new widgets to the widget
list.

..

.. bpo: 32222
.. date: 2017-12-07-20-51-20
.. nonce: hPBcGT
.. section: Tools/Demos

Fix pygettext not extracting docstrings for functions with type annotated
arguments. Patch by Toby Harradine.
