Core and Builtins
-----------------
-- Issue #16345: Fix an infinite loop when ``fromkeys`` on a dict subclass
- received a nonempty dict from the constructor.
-
-- Issue #16197: Update winreg docstrings and documentation to match code.
- Patch by Zachary Ware.
-
-- Issue #14700: Fix buggy overflow checks when handling large precisions and
- widths in old-style and new-style formatting.
-
-- Issue #6074: Ensure cached bytecode files can always be updated by the
- user that created them, even when the source file is read-only.
-
-- Issue #14783: Improve int() docstring and switch docstrings for str(),
- range(), and slice() to use multi-line signatures.
-
-- Issue #15379: Fix passing of non-BMP characters as integers for the charmap
- decoder (already working as unicode strings). Patch by Serhiy Storchaka.
-
-- Issue #13992: The trashcan mechanism is now thread-safe. This eliminates
- sporadic crashes in multi-thread programs when several long deallocator
- chains ran concurrently and involved subclasses of built-in container
- types.
-
-- Issue #15846: Fix SystemError which happened when using ast.parse in an
- exception handler on code with syntax errors.
-
-- Issue #15761: Fix crash when PYTHONEXECUTABLE is set on Mac OS X.
-
-- Issue #15801: Make sure mappings passed to '%' formatting are actually
- subscriptable.
-
-- Issue #15726: Fix incorrect bounds checking in PyState_FindModule.
- Patch by Robin Schreiber.
-
-- Issue #15604: Update uses of PyObject_IsTrue() to check for and handle
- errors correctly. Patch by Serhiy Storchaka.
-
-- Issue #13119: sys.stdout and sys.stderr are now using "\r\n" newline on
- Windows, as Python 2.
-
-- Issue #14579: Fix CVE-2012-2135: vulnerability in the utf-16 decoder after
- error handling. Patch by Serhiy Storchaka.
-
-- Issue #15404: Refleak in PyMethodObject repr.
-
-- Issue #15394: An issue in PyModule_Create that caused references to
- be leaked on some error paths has been fixed. Patch by Julia Lawall.
-
-- Issue #15368: An issue that caused bytecode generation to be
- non-deterministic when using randomized hashing (-R) has been fixed.
-
-- Issue #16369: Global PyTypeObjects not initialized with PyType_Ready(...).
-
-- Issue #15020: The program name used to search for Python's path is now
- "python3" under Unix, not "python".
+ - Issue #8401: assigning an int to a bytearray slice (e.g. b[3:4] = 5) now
+ raises an error.
+
+- Issue #7317: Display full tracebacks when an error occurs asynchronously.
+ Patch by Alon Horev with update by Alexey Kachayev.
-- Issue #15897: zipimport.c doesn't check return value of fseek().
- Patch by Felipe Cruz.
+- Issue #16309: Make PYTHONPATH="" behavior the same as if PYTHONPATH
+ not set at all.
-- Issue #15033: Fix the exit status bug when modules invoked using -m swith,
- return the proper failure return value (1). Patch contributed by Jeff Knupp.
+- Issue #10189: Improve the error reporting of SyntaxErrors related to global
+ and nonlocal statements.
-- Issue #12268: File readline, readlines and read() or readall() methods
- no longer lose data when an underlying read system call is interrupted.
- IOError is no longer raised due to a read system call returning EINTR
- from within these methods.
+- Issue #16086: PyTypeObject.tp_flags and PyType_Spec.flags are now unsigned
+ (unsigned long and unsigned int) to avoid an undefined behaviour with
+ Py_TPFLAGS_TYPE_SUBCLASS ((1 << 31). PyType_GetFlags() result type is
+ now unsigned too (unsigned long, instead of long).
-- Issue #15142: Fix reference leak when deallocating instances of types
- created using PyType_FromSpec().
+- Fix segfaults on setting __qualname__ on builtin types and attempting to
+ delete it on any type.
-- Issue #10053: Don't close FDs when FileIO.__init__ fails. Loosely based on
- the work by Hirokazu Yamamoto.
+- Issue #14625: Rewrite the UTF-32 decoder. It is now 3x to 4x faster. Patch
+ written by Serhiy Storchaka.
-- Issue #14775: Fix a potential quadratic dict build-up due to the garbage
- collector repeatedly trying to untrack dicts.
+- Issue #16345: Fix an infinite loop when ``fromkeys`` on a dict subclass
+ received a nonempty dict from the constructor.
-- Issue #14494: Fix __future__.py and its documentation to note that
- absolute imports are the default behavior in 3.0 instead of 2.7.
- Patch by Sven Marnach.
+- Issue #16271: Fix strange bugs that resulted from __qualname__ appearing in a
+ class's __dict__ and on type.
-- Issue #14761: Fix potential leak on an error case in the import machinery.
+- Issue #16197: Update winreg docstrings and documentation to match code.
+ Patch by Zachary Ware.
-- Issue #14699: Fix calling the classmethod descriptor directly.
+- Issue #16241: Document -X faulthandler command line option.
+ Patch by Marek Šuppa.
-- Issue #14433: Prevent msvcrt crash in interactive prompt when stdin
- is closed.
+- Issue #12805: Make bytes.join and bytearray.join faster when the separator
+ is empty. Patch by Serhiy Storchaka.
-- Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError
- when repr() or str() is called on such an object.
+- Issue #6074: Ensure cached bytecode files can always be updated by the
+ user that created them, even when the source file is read-only.
-- Issue #14658: Fix binding a special method to a builtin implementation of a
- special method with a different name.
+- Issue #16166: Add PY_LITTLE_ENDIAN and PY_BIG_ENDIAN macros and unified
+ endianness detection and handling.
-- Issue #14630: Fix a memory access bug for instances of a subclass of int
- with value 0.
+- Issue #15958: bytes.join and bytearray.join now accept arbitrary buffer
+ objects.
-- Issue #14612: Fix jumping around with blocks by setting f_lineno.
+- Issue #14783: Improve int() docstring and switch docstrings for str(),
+ range(), and slice() to use multi-line signatures.
-- Issue #14607: Fix keyword-only arguments which started with ``__``.
+- Issue #16160: Subclass support now works for types.SimpleNamespace.
-- Issue #13889: Check and (if necessary) set FPU control word before calling
- any of the dtoa.c string <-> float conversion functions, on MSVC builds of
- Python. This fixes issues when embedding Python in a Delphi app.
+- Upgrade Unicode data (UCD) to version 6.2.
-- Issue #14474: Save and restore exception state in thread.start_new_thread()
- while writing error message if the thread leaves a unhandled exception.
+- Issue #15379: Fix passing of non-BMP characters as integers for the charmap
+ decoder (already working as unicode strings). Patch by Serhiy Storchaka.
-- Issue #13019: Fix potential reference leaks in bytearray.extend(). Patch
- by Suman Saha.
+- Issue #15144: Fix possible integer overflow when handling pointers as integer
+ values, by using `Py_uintptr_t` instead of `size_t`. Patch by Serhiy
+ Storchaka.
-- Issue #14378: Fix compiling ast.ImportFrom nodes with a "__future__" string as
- the module name that was not interned.
+- Issue #15965: Explicitly cast `AT_FDCWD` as (int). Required on Solaris 10
+ (which defines `AT_FDCWD` as ``0xffd19553``), harmless on other platforms.
-- Issue #14331: Use significantly less stack space when importing modules by
- allocating path buffers on the heap instead of the stack.
+- Issue #15839: Convert SystemErrors in `super()` to RuntimeErrors.
-- Issue #14334: Prevent in a segfault in type.__getattribute__ when it was not
- passed strings.
+- Issue #15448: Buffered IO now frees the buffer when closed, instead
+ of when deallocating.
-- Issue #1469629: Allow cycles through an object's __dict__ slot to be
- collected. (For example if ``x.__dict__ is x``).
+- Issue #15846: Fix SystemError which happened when using `ast.parse()` in an
+ exception handler on code with syntax errors.
-- Issue #14172: Fix reference leak when marshalling a buffer-like object
- (other than a bytes object).
+- Issue #15897: zipimport.c doesn't check return value of fseek().
+ Patch by Felipe Cruz.
-- Issue #13521: dict.setdefault() now does only one lookup for the given key,
- making it "atomic" for many purposes. Patch by Filip Gruszczyński.
+- Issue #15801: Make sure mappings passed to '%' formatting are actually
+ subscriptable.
-- Issue #14471: Fix a possible buffer overrun in the winreg module.
+- Issue #15111: __import__ should propagate ImportError when raised as a
+ side-effect of a module triggered from using fromlist.
Library
-------