Core and Builtins
-----------------
+ - 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 #15020: The program name used to search for Python's path is now
- "python3" under Unix, not "python".
+ non-deterministic has been fixed.
-- 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 #15202: Consistently use the name "follow_symlinks" for
+ new parameters in os and shutil functions.
-- 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 #15314: __main__.__loader__ is now set correctly during
+ interpreter startup
-- Issue #15142: Fix reference leak when deallocating instances of types
- created using PyType_FromSpec().
+- Issue #15111: When a module imported using 'from import' has an ImportError
+ inside itself, don't mask that fact behind a generic ImportError for the
+ module itself.
-- Issue #10053: Don't close FDs when FileIO.__init__ fails. Loosely based on
- the work by Hirokazu Yamamoto.
+- Issue #15293: Add GC support to the AST base node type.
-- Issue #14775: Fix a potential quadratic dict build-up due to the garbage
- collector repeatedly trying to untrack dicts.
+- Issue #15291: Fix a memory leak where AST nodes where not properly
+ deallocated.
-- 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 #15110: Fix the tracebacks generated by "import xxx" to not show
+ the importlib stack frames.
-- Issue #14761: Fix potential leak on an error case in the import machinery.
+- Issue #15020: The program name used to search for Python's path is now
+ "python3" under Unix, not "python".
-- Issue #14699: Fix calling the classmethod descriptor directly.
+- 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 #14433: Prevent msvcrt crash in interactive prompt when stdin
- is closed.
+- Issue #15229: An OSError subclass whose __init__ doesn't call back
+ OSError.__init__ could produce incomplete instances, leading to crashes
+ when calling str() on them.
+
+Library
+-------
-- Issue #11603 (again): Setting __repr__ to __str__ now raises a RuntimeError
- when repr() or str() is called on such an object.
+- Issue #1492704: shutil.copyfile() raises a distinct SameFileError now if
+ source and destination are the same file. Patch by Atsuo Ishimoto.
-- Issue #14658: Fix binding a special method to a builtin implementation of a
- special method with a different name.
+- Issue #15397: inspect.getmodulename() is now based directly on importlib
+ via a new importlib.machinery.all_suffixes() API.
-- Issue #14630: Fix a memory access bug for instances of a subclass of int
- with value 0.
+- Issue #14635: telnetlib will use poll() rather than select() when possible
+ to avoid failing due to the select() file descriptor limit.
-- Issue #14612: Fix jumping around with blocks by setting f_lineno.
+- Issue #15180: Clarify posixpath.join() error message when mixing str & bytes
-- Issue #14607: Fix keyword-only arguments which started with ``__``.
+- Issue #15343: pkgutil now includes an iter_importer_modules implementation
+ for importlib.machinery.FileFinder (similar to the way it already handled
+ zipimport.zipimporter)
-- 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.
+- Issue #15314: runpy now sets __main__.__loader__ correctly
-- Issue #14474: Save and restore exception state in thread.start_new_thread()
- while writing error message if the thread leaves a unhandled exception.
+- Issue #15357: The import emulation in pkgutil is now deprecated. pkgutil
+ uses importlib internally rather than the emulation
-- Issue #13019: Fix potential reference leaks in bytearray.extend(). Patch
- by Suman Saha.
+- Issue #15233: Python now guarantees that callables registered with
+ the atexit module will be called in a deterministic order.
-- Issue #14378: Fix compiling ast.ImportFrom nodes with a "__future__" string as
- the module name that was not interned.
+- Issue #15238: shutil.copystat now copies Linux "extended attributes".
-- Issue #14331: Use significantly less stack space when importing modules by
- allocating path buffers on the heap instead of the stack.
+- Issue #15230: runpy.run_path now correctly sets __package__ as described
+ in the documentation
-- Issue #14334: Prevent in a segfault in type.__getattribute__ when it was not
- passed strings.
+- Issue #15315: Support VS 2010 in distutils cygwincompiler.
-- Issue #1469629: Allow cycles through an object's __dict__ slot to be
- collected. (For example if ``x.__dict__ is x``).
+- Issue #15294: Fix a regression in pkgutil.extend_path()'s handling of
+ nested namespace packages.
-- Issue #14172: Fix reference leak when marshalling a buffer-like object
- (other than a bytes object).
+- Issue #15056: imp.cache_from_source() and source_from_cache() raise
+ NotImplementedError when sys.implementation.cache_tag is set to None.
-- 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 #15256: Grammatical mistake in exception raised by imp.find_module().
-- Issue #14471: Fix a possible buffer overrun in the winreg module.
+- Issue #5931: wsgiref environ variable SERVER_SOFTWARE will specify an
+ implementation specific term like Cpython, Jython instead of generic "Python"
-Library
--------
+- Issue #13248: Remove obsolete argument "max_buffer_size" of BufferedWriter
+ and BufferedRWPair, from the io module.
-- Issue #14635: telnetlib will use poll() rather than select() when possible
- to avoid failing due to the select() file descriptor limit.
+- Issue #13248: Remove obsolete argument "version" of argparse.ArgumentParser.
-- Issue #15180: Clarify posixpath.join() error message when mixing str & bytes
+- Issue #14814: implement more consistent ordering and sorting behaviour
+ for ipaddress objects
-- Issue #15230: runpy.run_path now correctly sets __package__ as described
- in the documentation
+- Issue #14814: ipaddress network objects correctly return NotImplemented
+ when compared to arbitrary objects instead of raising TypeError
- Issue #14990: Correctly fail with SyntaxError on invalid encoding
declaration.