Change Log
18.3a5 (unreleased)
- fixed handling of standalone comments within nested bracketed
expressions; Black will no longer produce super long lines or put all
standalone comments at the end of the expression (#22)
- fixed 18.3a4 regression: don’t crash and burn on empty lines with
trailing whitespace (#80)
- only allow up to two empty lines on module level and only single empty
lines within functions (#74)
18.3a4
# fmt: off
and # fmt: on
are implemented (#5)
- automatic detection of deprecated Python 2 forms of print statements
and exec statements in the formatted file (#49)
- use proper spaces for complex expressions in default values of typed
function arguments (#60)
- only return exit code 1 when –check is used (#50)
- don’t remove single trailing commas from square bracket indexing
(#59)
- don’t omit whitespace if the previous factor leaf wasn’t a math
operator (#55)
- omit extra space in kwarg unpacking if it’s the first argument (#46)
- omit extra space in Sphinx auto-attribute comments
(#68)
18.3a3
- don’t remove single empty lines outside of bracketed expressions
(#19)
- added ability to pipe formatting from stdin to stdin (#25)
- restored ability to format code with legacy usage of
async
as
a name (#20, #42)
- even better handling of numpy-style array indexing (#33, again)
18.3a2
- changed positioning of binary operators to occur at beginning of lines
instead of at the end, following a recent change to PEP8
(#21)
- ignore empty bracket pairs while splitting. This avoids very weirdly
looking formattings (#34, #35)
- remove a trailing comma if there is a single argument to a call
- if top level functions were separated by a comment, don’t put four
empty lines after the upper function
- fixed unstable formatting of newlines with imports
- fixed unintentional folding of post scriptum standalone comments
into last statement if it was a simple statement (#18, #28)
- fixed missing space in numpy-style array indexing (#33)
- fixed spurious space after star-based unary expressions (#31)
18.3a1
- added
--check
- only put trailing commas in function signatures and calls if it’s
safe to do so. If the file is Python 3.6+ it’s always safe, otherwise
only safe if there are no
*args
or **kwargs
used in the signature
or call. (#8)
- fixed invalid spacing of dots in relative imports (#6, #13)
- fixed invalid splitting after comma on unpacked variables in for-loops
(#23)
- fixed spurious space in parenthesized set expressions (#7)
- fixed spurious space after opening parentheses and in default
arguments (#14, #17)
- fixed spurious space after unary operators when the operand was
a complex expression (#15)
18.3a0
- first published version, Happy 🍰 Day 2018!
- alpha quality
- date-versioned (see: https://calver.org/)