Core and Builtins
-----------------
-- Issue #26478: Fix semantic bugs when using binary operators with dictionary
- views and tuples.
+- Issue #26464: Fix str.translate() when string is ASCII and first replacements
+ removes character, but next replacement uses a non-ASCII character or a
+ string longer than 1 character. Regression introduced in Python 3.5.0.
-- Issue #26171: Fix possible integer overflow and heap corruption in
- zipimporter.get_data().
+- Issue #22836: Ensure exception reports from PyErr_Display() and
+ PyErr_WriteUnraisable() are sensible even when formatting them produces
+ secondary errors. This affects the reports produced by
+ sys.__excepthook__() and when __del__() raises an exception.
-Library
--------
+- Issue #26302: Correct behavior to reject comma as a legal character for
+ cookie names.
-- Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates.
+- Issue #4806: Avoid masking the original TypeError exception when using star
+ (*) unpacking in function calls. Based on patch by Hagen Fürstenau and
+ Daniel Urban.
-- Issue #22570: Add 'path' attribute to pathlib.Path objects,
- returning the same as str(), to make it more similar to DirEntry.
- Library code can now write getattr(p, 'path', p) to get the path as
- a string from a Path, a DirEntry, or a plain string. This is
- essentially a small one-off protocol.
+- Issue #26154: Add a new private _PyThreadState_UncheckedGet() function to get
+ the current Python thread state, but don't issue a fatal error if it is NULL.
+ This new function must be used instead of accessing directly the
+ _PyThreadState_Current variable. The variable is no more exposed since
+ Python 3.5.1 to hide the exact implementation of atomic C types, to avoid
+ compiler issues.
-- Issue #26012: Don't traverse into symlinks for ** pattern in
- pathlib.Path.[r]glob().
+- Issue #26194: Deque.insert() gave odd results for bounded deques that had
+ reached their maximum size. Now an IndexError will be raised when attempting
+ to insert into a full deque.
-- Issue #24120: Ignore PermissionError when traversing a tree with
- pathlib.Path.[r]glob(). Patch by Ulrich Petri.
+- Issue #25843: When compiling code, don't merge constants if they are equal
+ but have a different types. For example, ``f1, f2 = lambda: 1, lambda: 1.0``
+ is now correctly compiled to two different functions: ``f1()`` returns ``1``
+ (``int``) and ``f2()`` returns ``1.0`` (``int``), even if ``1`` and ``1.0``
+ are equal.
-- Skip getaddrinfo if host is already resolved.
- Patch by A. Jesse Jiryu Davis.
+- Issue #25731: Fix set and deleting __new__ on a class.
-- Add asyncio.timeout() context manager.
+- Issue #22995: [UPDATE] Comment out the one of the pickleability tests in
+ _PyObject_GetState() due to regressions observed in Cython-based projects.
-- Issue #26050: Add asyncio.StreamReader.readuntil() method.
- Patch by Марк Коренберг.
+- Issue #25961: Disallowed null characters in the type name.
-Tests
------
+- Issue #25973: Fix segfault when an invalid nonlocal statement binds a name
+ starting with two underscores.
-- Issue #25940: Changed test_ssl to use self-signed.pythontest.net. This
- avoids relying on svn.python.org, which recently changed root certificate.
+- Issue #22995: Instances of extension types with a state that aren't
+ subclasses of list or dict and haven't implemented any pickle-related
+ methods (__reduce__, __reduce_ex__, __getnewargs__, __getnewargs_ex__,
+ or __getstate__), can no longer be pickled. Including memoryview.
+- Issue #20440: Massive replacing unsafe attribute setting code with special
+ macro Py_SETREF.
-What's New in Python 3.4.4?
-===========================
+- Issue #25766: Special method __bytes__() now works in str subclasses.
-Release date: 2015/12/20
+- Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.
+ This allows sys.getsize() to work correctly with their subclasses with
+ __slots__ defined.
-Windows
--------
+- Issue #25709: Fixed problem with in-place string concatenation and utf-8 cache.
+
+- Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
+ __getattr__.
-- Issue #25844: Corrected =/== typo potentially leading to crash in launcher.
+- Issue #24731: Fixed crash on converting objects with special methods
+ __bytes__, __trunc__, and __float__ returning instances of subclasses of
+ bytes, int, and float to subclasses of bytes, int, and float correspondingly.
-What's New in Python 3.4.4rc1?
-==============================
++- Issue #26478: Fix semantic bugs when using binary operators with dictionary
++ views and tuples.
+
+- Issue #26171: Fix possible integer overflow and heap corruption in
+ zipimporter.get_data().
-Release date: 2015/12/06
+- Issue #25660: Fix TAB key behaviour in REPL with readline.
-Core and Builtins
------------------
+- Issue #25887: Raise a RuntimeError when a coroutine object is awaited
+ more than once.
-- Issue #25709: Fixed problem with in-place string concatenation and utf-8
- cache.
-- Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
- __getattr__.
+Library
+-------
-- Issue #24731: Fixed crash on converting objects with special methods
- __bytes__, __trunc__, and __float__ returning instances of subclasses of
- bytes, int, and float to subclasses of bytes, int, and float correspondingly.
+- Issue #26457: Fixed the subnets() methods in IP network classes for the case
+ when resulting prefix length is equal to maximal prefix length.
+ Based on patch by Xiang Zhang.
-- Issue #25388: Fixed tokenizer crash when processing undecodable source code
- with a null byte.
+- Issue #26385: Remove the file if the internal open() call in
+ NamedTemporaryFile() fails. Patch by Silent Ghost.
-- Issue #22995: Default implementation of __reduce__ and __reduce_ex__ now
- rejects builtin types with not defined __new__.
+- Issue #26402: Fix XML-RPC client to retry when the server shuts down a
+ persistent connection. This was a regression related to the new
+ http.client.RemoteDisconnected exception in 3.5.0a4.
-- Issue #24802: Avoid buffer overreads when int(), float(), compile(), exec()
- and eval() are passed bytes-like objects. These objects are not
- necessarily terminated by a null byte, but the functions assumed they were.
+- Issue #25913: Leading ``<~`` is optional now in base64.a85decode() with
+ adobe=True. Patch by Swati Jaiswal.
-- Issue #24402: Fix input() to prompt to the redirected stdout when
- sys.stdout.fileno() fails.
+- Issue #26186: Remove an invalid type check in importlib.util.LazyLoader.
-- Issue #24806: Prevent builtin types that are not allowed to be subclassed from
- being subclassed through multiple inheritance.
+- Issue #26367: importlib.__import__() raises SystemError like
+ builtins.__import__() when ``level`` is specified but without an accompanying
+ package specified.
-- Issue #24848: Fixed a number of bugs in UTF-7 decoding of misformed data.
+- Issue #26309: In the "socketserver" module, shut down the request (closing
+ the connected socket) when verify_request() returns false. Patch by Aviv
+ Palivoda.
-- Issue #25280: Import trace messages emitted in verbose (-v) mode are no
- longer formatted twice.
+- Issue #25939: On Windows open the cert store readonly in ssl.enum_certificates.
-- Issue #25003: os.urandom() doesn't use getentropy() on Solaris because
- getentropy() is blocking, whereas os.urandom() should not block. getentropy()
- is supported since Solaris 11.3.
+- Issue #25995: os.walk() no longer uses FDs proportional to the tree depth.
-- Issue #25182: The stdprinter (used as sys.stderr before the io module is
- imported at startup) now uses the backslashreplace error handler.
+- Issue #26117: The os.scandir() iterator now closes file descriptor not only
+ when the iteration is finished, but when it was failed with error.
-- Issue #24891: Fix a race condition at Python startup if the file descriptor
- of stdin (0), stdout (1) or stderr (2) is closed while Python is creating
- sys.stdin, sys.stdout and sys.stderr objects. These attributes are now set
- to None if the creation of the object failed, instead of raising an OSError
- exception. Initial patch written by Marco Paolini.
+- Issue #25911: Restored support of bytes paths in os.walk() on Windows.
-- Issue #21167: NAN operations are now handled correctly when python is
- compiled with ICC even if -fp-model strict is not specified.
+- Issue #26045: Add UTF-8 suggestion to error message when posting a
+ non-Latin-1 string with http.client.
-- Issue #4395: Better testing and documentation of binary operators.
- Patch by Martin Panter.
+- Issue #12923: Reset FancyURLopener's redirect counter even if there is an
+ exception. Based on patches by Brian Brazil and Daniel Rocco.
-- Issue #24467: Fixed possible buffer over-read in bytearray. The bytearray
- object now always allocates place for trailing null byte and it's buffer now
- is always null-terminated.
+- Issue #25945: Fixed a crash when unpickle the functools.partial object with
+ wrong state. Fixed a leak in failed functools.partial constructor.
+ "args" and "keywords" attributes of functools.partial have now always types
+ tuple and dict correspondingly.
-- Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
- PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
- to check for and handle errors correctly.
+- Issue #26202: copy.deepcopy() now correctly copies range() objects with
+ non-atomic attributes.
-- Issue #24257: Fixed system error in the comparison of faked
- types.SimpleNamespace.
+- Issue #23076: Path.glob() now raises a ValueError if it's called with an
+ invalid pattern. Patch by Thomas Nyberg.
-- Issue #22939: Fixed integer overflow in iterator object. Patch by
- Clement Rouault.
+- Issue #19883: Fixed possible integer overflows in zipimport.
-- Issue #23985: Fix a possible buffer overrun when deleting a slice from
- the front of a bytearray and then appending some other bytes data.
+- Issue #26227: On Windows, getnameinfo(), gethostbyaddr() and
+ gethostbyname_ex() functions of the socket module now decode the hostname
+ from the ANSI code page rather than UTF-8.
-- Issue #24102: Fixed exception type checking in standard error handlers.
+- Issue #26147: xmlrpc now works with strings not encodable with used
+ non-UTF-8 encoding.
-- Issue #23757: PySequence_Tuple() incorrectly called the concrete list API
- when the data was a list subclass.
+- Issue #25935: Garbage collector now breaks reference loops with OrderedDict.
-- Issue #24407: Fix crash when dict is mutated while being updated.
+- Issue #16620: Fixed AttributeError in msilib.Directory.glob().
-- Issue #24096: Make warnings.warn_explicit more robust against mutation of the
- warnings.filters list.
+- Issue #26013: Added compatibility with broken protocol 2 pickles created
+ in old Python 3 versions (3.4.3 and lower).
-- Issue #23996: Avoid a crash when a delegated generator raises an
- unnormalized StopIteration exception. Patch by Stefan Behnel.
+- Issue #25850: Use cross-compilation by default for 64-bit Windows.
-- Issue #24022: Fix tokenizer crash when processing undecodable source code.
+- Issue #17633: Improve zipimport's support for namespace packages.
-- Issue #23309: Avoid a deadlock at shutdown if a daemon thread is aborted
- while it is holding a lock to a buffered I/O object, and the main thread
- tries to use the same I/O object (typically stdout or stderr). A fatal
- error is emitted instead.
+- Issue #24705: Fix sysconfig._parse_makefile not expanding ${} vars
+ appearing before $() vars.
-- Issue #22977: Fixed formatting Windows error messages on Wine.
- Patch by Martin Panter.
+- Issue #22138: Fix mock.patch behavior when patching descriptors. Restore
+ original values after patching. Patch contributed by Sean McCully.
-- Issue #23803: Fixed str.partition() and str.rpartition() when a separator
- is wider then partitioned string.
+- Issue #25672: In the ssl module, enable the SSL_MODE_RELEASE_BUFFERS mode
+ option if it is safe to do so.
-- Issue #23192: Fixed generator lambdas. Patch by Bruno Cauet.
+- Issue #22570: Add 'path' attribute to pathlib.Path objects,
+ returning the same as str(), to make it more similar to DirEntry.
+ Library code can now write getattr(p, 'path', p) to get the path as
+ a string from a Path, a DirEntry, or a plain string. This is
+ essentially a small one-off protocol.
-- Issue #23629: Fix the default __sizeof__ implementation for variable-sized
- objects.
+- Issue #26012: Don't traverse into symlinks for ** pattern in
+ pathlib.Path.[r]glob().
-- Issue #24044: Fix possible null pointer dereference in list.sort in out of
- memory conditions.
+- Issue #24120: Ignore PermissionError when traversing a tree with
+ pathlib.Path.[r]glob(). Patch by Ulrich Petri.
-- Issue #21354: PyCFunction_New function is exposed by python DLL again.
+- Issue #25447: fileinput now uses sys.stdin as-is if it does not have a
+ buffer attribute (restores backward compatibility).
-Library
--------
+- Issue #25447: Copying the lru_cache() wrapper object now always works,
+ independedly from the type of the wrapped object (by returning the original
+ object unchanged).
+
+- Issue #24103: Fixed possible use after free in ElementTree.XMLPullParser.
+
+- Issue #25860: os.fwalk() no longer skips remaining directories when error
+ occurs. Original patch by Samson Lee.
+
+- Issue #25914: Fixed and simplified OrderedDict.__sizeof__.
+
+- Issue #25902: Fixed various refcount issues in ElementTree iteration.
+
+- Issue #25717: Restore the previous behaviour of tolerating most fstat()
+ errors when opening files. This was a regression in 3.5a1, and stopped
+ anonymous temporary files from working in special cases.
- Issue #24903: Fix regression in number of arguments compileall accepts when
'-d' is specified. The check on the number of arguments has been dropped