All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
3 ### 18.3a4 (unreleased)
5 * `# fmt: off` and `# fmt: on` are implemented (#5)
7 * automatic detection of deprecated Python 2 forms of print statements
8 and exec statements in the formatted file (#49)
10 * use proper spaces for complex expressions in default values of typed
11 function arguments (#60)
13 * only return exit code 1 when --check is used (#50)
15 * don't remove single trailing commas from square bracket indexing
18 * don't omit whitespace if the previous factor leaf wasn't a math
21 * omit extra space in kwarg unpacking if it's the first argument (#46)
23 * omit extra space in [Sphinx auto-attribute comments](http://www.sphinx-doc.org/en/stable/ext/autodoc.html#directive-autoattribute)
29 * don't remove single empty lines outside of bracketed expressions
32 * added ability to pipe formatting from stdin to stdin (#25)
34 * restored ability to format code with legacy usage of `async` as
37 * even better handling of numpy-style array indexing (#33, again)
42 * changed positioning of binary operators to occur at beginning of lines
43 instead of at the end, following [a recent change to PEP8](https://github.com/python/peps/commit/c59c4376ad233a62ca4b3a6060c81368bd21e85b)
46 * ignore empty bracket pairs while splitting. This avoids very weirdly
47 looking formattings (#34, #35)
49 * remove a trailing comma if there is a single argument to a call
51 * if top level functions were separated by a comment, don't put four
52 empty lines after the upper function
54 * fixed unstable formatting of newlines with imports
56 * fixed unintentional folding of post scriptum standalone comments
57 into last statement if it was a simple statement (#18, #28)
59 * fixed missing space in numpy-style array indexing (#33)
61 * fixed spurious space after star-based unary expressions (#31)
68 * only put trailing commas in function signatures and calls if it's
69 safe to do so. If the file is Python 3.6+ it's always safe, otherwise
70 only safe if there are no `*args` or `**kwargs` used in the signature
73 * fixed invalid spacing of dots in relative imports (#6, #13)
75 * fixed invalid splitting after comma on unpacked variables in for-loops
78 * fixed spurious space in parenthesized set expressions (#7)
80 * fixed spurious space after opening parentheses and in default
83 * fixed spurious space after unary operators when the operand was
84 a complex expression (#15)
89 * first published version, Happy 🍰 Day 2018!
93 * date-versioned (see: https://calver.org/)