Library
-------
+ - Issue #24120: Ignore PermissionError when traversing a tree with
+ pathlib.Path.[r]glob(). Patch by Ulrich Petri.
+
+- Issue #25447: fileinput now uses sys.stdin as-is if it does not have a
+ buffer attribute (restores backward compatibility).
-What's New in Python 3.4.4?
-===========================
+- 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).
-Release date: 2015/12/20
+- Issue #24103: Fixed possible use after free in ElementTree.XMLPullParser.
-Windows
--------
+- Issue #25860: os.fwalk() no longer skips remaining directories when error
+ occurs. Original patch by Samson Lee.
-- Issue #25844: Corrected =/== typo potentially leading to crash in launcher.
+- Issue #25914: Fixed and simplified OrderedDict.__sizeof__.
+- Issue #25902: Fixed various refcount issues in ElementTree iteration.
-What's New in Python 3.4.4rc1?
-==============================
+- 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.
-Release date: 2015/12/06
+- Issue #24903: Fix regression in number of arguments compileall accepts when
+ '-d' is specified. The check on the number of arguments has been dropped
+ completely as it never worked correctly anyway.
-Core and Builtins
------------------
+- Issue #25764: In the subprocess module, preserve any exception caused by
+ fork() failure when preexec_fn is used.
-- Issue #25709: Fixed problem with in-place string concatenation and utf-8
- cache.
+- Issue #6478: _strptime's regexp cache now is reset after changing timezone
+ with time.tzset().
-- Issue #24097: Fixed crash in object.__reduce__() if slot name is freed inside
- __getattr__.
+- Issue #14285: When executing a package with the "python -m package" option,
+ and package initialization fails, a proper traceback is now reported. The
+ "runpy" module now lets exceptions from package initialization pass back to
+ the caller, rather than raising ImportError.
-- 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 #19771: Also in runpy and the "-m" option, omit the irrelevant
+ message ". . . is a package and cannot be directly executed" if the package
+ could not even be initialized (e.g. due to a bad ``*.pyc`` file).
-- Issue #25388: Fixed tokenizer crash when processing undecodable source code
- with a null byte.
+- Issue #25177: Fixed problem with the mean of very small and very large
+ numbers. As a side effect, statistics.mean and statistics.variance should
+ be significantly faster.
-- Issue #22995: Default implementation of __reduce__ and __reduce_ex__ now
- rejects builtin types with not defined __new__.
+- Issue #25718: Fixed copying object with state with boolean value is false.
-- 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 #10131: Fixed deep copying of minidom documents. Based on patch
+ by Marian Ganisin.
-- Issue #24402: Fix input() to prompt to the redirected stdout when
- sys.stdout.fileno() fails.
+- Issue #25725: Fixed a reference leak in pickle.loads() when unpickling
+ invalid data including tuple instructions.
-- Issue #24806: Prevent builtin types that are not allowed to be subclassed from
- being subclassed through multiple inheritance.
+- Issue #25663: In the Readline completer, avoid listing duplicate global
+ names, and search the global namespace before searching builtins.
-- Issue #24848: Fixed a number of bugs in UTF-7 decoding of misformed data.
+- Issue #25688: Fixed file leak in ElementTree.iterparse() raising an error.
-- Issue #25280: Import trace messages emitted in verbose (-v) mode are no
- longer formatted twice.
+- Issue #23914: Fixed SystemError raised by unpickler on broken pickle data.
-- 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 #25691: Fixed crash on deleting ElementTree.Element attributes.
-- Issue #25182: The stdprinter (used as sys.stderr before the io module is
- imported at startup) now uses the backslashreplace error handler.
+- Issue #25624: ZipFile now always writes a ZIP_STORED header for directory
+ entries. Patch by Dingyuan Wang.
-- 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.
+Documentation
+-------------
-- Issue #21167: NAN operations are now handled correctly when python is
- compiled with ICC even if -fp-model strict is not specified.
+- Issue #25500: Fix documentation to not claim that __import__ is searched for
+ in the global scope.
-- Issue #4395: Better testing and documentation of binary operators.
- Patch by Martin Panter.
+Tests
+-----
-- 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 #25616: Tests for OrderedDict are extracted from test_collections
+ into separate file test_ordered_dict.
-- Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(),
- PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
- to check for and handle errors correctly.
+Build
+-----
-- Issue #24257: Fixed system error in the comparison of faked
- types.SimpleNamespace.
+- Issue #25827: Add support for building with ICC to ``configure``, including
+ a new ``--with-icc`` flag.
-- Issue #22939: Fixed integer overflow in iterator object. Patch by
- Clement Rouault.
+- Issue #25696: Fix installation of Python on UNIX with make -j9.
-- 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 #25798: Update OS X 10.5 installer to use OpenSSL 1.0.2e.
-- Issue #24102: Fixed exception type checking in standard error handlers.
-- Issue #23757: PySequence_Tuple() incorrectly called the concrete list API
- when the data was a list subclass.
+What's New in Python 3.5.1 final?
+=================================
-- Issue #24407: Fix crash when dict is mutated while being updated.
+Release date: 2015-12-06
-- Issue #24096: Make warnings.warn_explicit more robust against mutation of the
- warnings.filters list.
+Core and Builtins
+-----------------
-- Issue #23996: Avoid a crash when a delegated generator raises an
- unnormalized StopIteration exception. Patch by Stefan Behnel.
+- Issue #25709: Fixed problem with in-place string concatenation and
+ utf-8 cache.
-- Issue #24022: Fix tokenizer crash when processing undecodable source code.
+Windows
+-------
-- 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 #25715: Python 3.5.1 installer shows wrong upgrade path and incorrect
+ logic for launcher detection.
-- Issue #22977: Fixed formatting Windows error messages on Wine.
- Patch by Martin Panter.
-- Issue #23803: Fixed str.partition() and str.rpartition() when a separator
- is wider then partitioned string.
+What's New in Python 3.5.1 release candidate 1?
+===============================================
-- Issue #23192: Fixed generator lambdas. Patch by Bruno Cauet.
+Release date: 2015-11-22
-- Issue #23629: Fix the default __sizeof__ implementation for variable-sized
- objects.
+Core and Builtins
+-----------------
-- Issue #24044: Fix possible null pointer dereference in list.sort in out of
- memory conditions.
+- Issue #25630: Fix a possible segfault during argument parsing in functions
+ that accept filesystem paths.
-- Issue #21354: PyCFunction_New function is exposed by python DLL again.
+- Issue #23564: Fixed a partially broken sanity check in the _posixsubprocess
+ internals regarding how fds_to_pass were passed to the child. The bug had
+ no actual impact as subprocess.py already avoided it.
-Library
--------
+- Issue #25388: Fixed tokenizer crash when processing undecodable source code
+ with a null byte.
-- Issue #24903: Fix regression in number of arguments compileall accepts when
- '-d' is specified. The check on the number of arguments has been dropped
- completely as it never worked correctly anyway.
+- Issue #25462: The hash of the key now is calculated only once in most
+ operations in C implementation of OrderedDict.
-- Issue #25764: In the subprocess module, preserve any exception caused by
- fork() failure when preexec_fn is used.
+- Issue #22995: Default implementation of __reduce__ and __reduce_ex__ now
+ rejects builtin types with not defined __new__.
-- Issue #6478: _strptime's regexp cache now is reset after changing timezone
- with time.tzset().
+- Issue #25555: Fix parser and AST: fill lineno and col_offset of "arg" node
+ when compiling AST from Python objects.
-- Issue #25177: Fixed problem with the mean of very small and very large
- numbers. As a side effect, statistics.mean and statistics.variance should
- be significantly faster.
+- 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 #25718: Fixed copying object with state with boolean value is false.
+- Issue #24726: Fixed a crash and leaking NULL in repr() of OrderedDict that
+ was mutated by direct calls of dict methods.
-- Issue #10131: Fixed deep copying of minidom documents. Based on patch
- by Marian Ganisin.
+- Issue #25449: Iterating OrderedDict with keys with unstable hash now raises
+ KeyError in C implementations as well as in Python implementation.
-- Issue #25725: Fixed a reference leak in pickle.loads() when unpickling
- invalid data including tuple instructions.
+- Issue #25395: Fixed crash when highly nested OrderedDict structures were
+ garbage collected.
-- Issue #25663: In the Readline completer, avoid listing duplicate global
- names, and search the global namespace before searching builtins.
+- Issue #25274: sys.setrecursionlimit() now raises a RecursionError if the new
+ recursion limit is too low depending at the current recursion depth. Modify
+ also the "lower-water mark" formula to make it monotonic. This mark is used
+ to decide when the overflowed flag of the thread state is reset.
-- Issue #25688: Fixed file leak in ElementTree.iterparse() raising an error.
+- Issue #24402: Fix input() to prompt to the redirected stdout when
+ sys.stdout.fileno() fails.
-- Issue #23914: Fixed SystemError raised by unpickler on broken pickle data.
+- Issue #24806: Prevent builtin types that are not allowed to be subclassed from
+ being subclassed through multiple inheritance.
-- Issue #25691: Fixed crash on deleting ElementTree.Element attributes.
+- Issue #24848: Fixed a number of bugs in UTF-7 decoding of misformed data.
-- Issue #25624: ZipFile now always writes a ZIP_STORED header for directory
- entries. Patch by Dingyuan Wang.
+- Issue #25280: Import trace messages emitted in verbose (-v) mode are no
+ longer formatted twice.
+
+- Issue #25003: On Solaris 11.3 or newer, os.urandom() now uses the
+ getrandom() function instead of the getentropy() function. The getentropy()
+ function is blocking to generate very good quality entropy, os.urandom()
+ doesn't need such high-quality entropy.
+
+- Issue #25182: The stdprinter (used as sys.stderr before the io module is
+ imported at startup) now uses the backslashreplace error handler.
+
+- Issue #25131: Make the line number and column offset of set/dict literals and
+ comprehensions correspond to the opening brace.
+
+- Issue #25150: Hide the private _Py_atomic_xxx symbols from the public
+ Python.h header to fix a compilation error with OpenMP. PyThreadState_GET()
+ becomes an alias to PyThreadState_Get() to avoid ABI incompatibilies.
+
+Library
+-------
+
+- Issue #25626: Change three zlib functions to accept sizes that fit in
+ Py_ssize_t, but internally cap those sizes to UINT_MAX. This resolves a
+ regression in 3.5 where GzipFile.read() failed to read chunks larger than 2
+ or 4 GiB. The change affects the zlib.Decompress.decompress() max_length
+ parameter, the zlib.decompress() bufsize parameter, and the
+ zlib.Decompress.flush() length parameter.
- Issue #25583: Avoid incorrect errors raised by os.makedirs(exist_ok=True)
when the OS gives priority to errors such as EACCES over EEXIST.