Core and Builtins
-----------------
-- Issue #17825: Cursor "^" is correctly positioned for SyntaxError and
- IndentationError.
-
-- Issue #2382: SyntaxError cursor "^" is now written at correct position in most
- cases when multibyte characters are in line (before "^"). This still not
- works correctly with wide East Asian characters.
+- Issue #20162: Fix an alignment issue in the siphash24() hash function which
+ caused a crash on PowerPC 64-bit (ppc64).
-- Issue #18960: The first line of Python script could be executed twice when
- the source encoding was specified on the second line. Now the source encoding
- declaration on the second line isn't effective if the first line contains
- anything except a comment. 'python -x' works now again with files with the
- source encoding declarations, and can be used to make Python batch files
- on Windows.
+Library
+-------
-- Issue #17432: Drop UCS2 from names of Unicode functions in python3.def.
+- tracemalloc: Fix slicing traces and fix slicing a traceback.
-- Issue #19969: PyBytes_FromFormatV() now raises an OverflowError if "%c"
- argument is not in range [0; 255].
+- Issue #20354: Fix an alignment issue in the tracemalloc module on 64-bit
+ platforms. Bug seen on 64-bit Linux when using "make profile-opt".
-- Issue #14432: Generator now clears the borrowed reference to the thread
- state. Fix a crash when a generator is created in a C thread that is
- destroyed while the generator is still used. The issue was that a generator
- contains a frame, and the frame kept a reference to the Python state of the
- destroyed C thread. The crash occurs when a trace function is setup.
+- Issue #17159: inspect.signature now accepts duck types of functions,
+ which adds support for Cython functions. Initial patch by Stefan Behnel.
-- Issue #19932: Fix typo in import.h, missing whitespaces in function prototypes.
+- Issue #18801: Fix inspect.classify_class_attrs to correctly classify
+ object.__new__ and object.__init__.
-- Issue #19729: In str.format(), fix recursive expansion in format spec.
+- Fixed cmath.isinf's name in its argument parsing code.
-- Issue #19638: Fix possible crash / undefined behaviour from huge (more than 2
- billion characters) input strings in _Py_dg_strtod.
+- Issue #20311, #20452: poll and epoll now round the timeout away from zero,
+ instead of rounding towards zero, in select and selectors modules:
+ select.epoll.poll(), selectors.PollSelector.poll() and
+ selectors.EpollSelector.poll(). For example, a timeout of one microsecond
+ (1e-6) is now rounded to one millisecondi (1e-3), instead of being rounded to
+ zero.
-Library
--------
+- asyncio: Some refactoring; add write flow control to unix pipes;
+ support wait_for(f, None); don't log broken/disconnected pipes; use
+ ValueError instead of assert for forbidden subprocess_{shell,exec}
+ arguments. (More to follow -- a convenience API for subprocesses.)
+ - Issue #20288: fix handling of invalid numeric charrefs in HTMLParser.
+
- Issue #20424: Python implementation of io.StringIO now supports lone surrogates.
+- Issue #20308: inspect.signature now works on classes without user-defined
+ __init__ or __new__ methods.
+
+- Issue #20372: inspect.getfile (and a bunch of other inspect functions that
+ use it) doesn't crash with unexpected AttributeError on classes defined in C
+ without __module__.
+
+- Issue #20356: inspect.signature formatting uses '/' to separate
+ positional-only parameters from others.
+
+- Issue #20223: inspect.signature now supports methods defined with
+ functools.partialmethods.
+
- Issue #19456: ntpath.join() now joins relative paths correctly when a drive
is present.