- call chains are now formatted according to the
[fluent interfaces](https://en.wikipedia.org/wiki/Fluent_interface) style (#67)
- data structure literals (tuples, lists, dictionaries, and sets) are now also always
exploded like imports when they don't fit in a single line (152)
- slices are now formatted according to PEP 8 (178)
- parentheses are now also managed automatically on the right-hand side of assignments
and return statements (140)
- math operators now use their respective priorities for delimiting multiline
expressions (148)
- optional parentheses are now omitted on expressions that start or end with a bracket
and only contain a single operator (177)
- empty parentheses in a class definition are now removed (145, 180)
- string prefixes are now standardized to lowercase and `u` is removed on Python 3.6+
only code and Python 2.7+ code with the `unicode_literals` future import (188, 198,
199)
- typing stub files (`.pyi`) are now formatted in a style that is consistent with PEP
484 (207, 210)
- progress when reformatting many files is now reported incrementally
- fixed trailers (content with brackets) being unnecessarily exploded into their own
lines after a dedented closing bracket (119)
- fixed an invalid trailing comma sometimes left in imports (185)
- fixed non-deterministic formatting when multiple pairs of removable parentheses were
used (183)
- fixed multiline strings being unnecessarily wrapped in optional parentheses in long
assignments (215)
- fixed not splitting long from-imports with only a single name
- fixed Python 3.6+ file discovery by also looking at function calls with unpacking.
This fixed non-deterministic formatting if trailing commas where used both in function
signatures with stars and function calls with stars but the former would be
reformatted to a single line.
- fixed crash on dealing with optional parentheses (193)
- fixed "is", "is not", "in", and "not in" not considered operators for splitting
purposes
- fixed crash when dead symlinks where encountered