Significant Optimizations
=========================
-* The UTF-32 decoder is now 3x to 4x faster.
+* The UTF-32 decoder is now 3x to 4x faster. (Contributed by Serhiy Storchaka
+ in :issue:`14625`.)
* The cost of hash collisions for sets is now reduced. Each hash table
probe now checks a series of consecutive, adjacent key/hash pairs before
keyword. If you've been paying attention to deprecation warnings your code
should already be specifying any additional arguments via keywords.
+* Strings between ``from __future__ import ...`` statements now *always* raise
+ a :exc:`SyntaxError`. Previously if there was no leading docstring, an
+ interstitial string would sometimes be ignored. This brings CPython into
+ compliance with the language spec; Jython and PyPy already were.
+ (:issue:`17434`).
+
Changes in the C API
--------------------
calls.
- Issue #17566: Make importlib.abc.Loader.module_repr() optional instead of an
- abstractmethod and raising NotImplementedError so as to be ignored by default.
+ abstractmethod; now it raises NotImplementedError so as to be ignored by default.
-- Issue #17678: Remove the use of deprecated method in http/cookiejar.py.
- Changing the usage of get_origin_req_host() to origin_req_host.
+- Issue #17678: Remove the use of deprecated method in http/cookiejar.py by
+ changing the call to get_origin_req_host() to origin_req_host.
- Issue #17666: Fix reading gzip files with an extra field.