black v21.12.b0 Release Notes
-
Black
- ๐ Fix determination of f-string expression spans (#2654)
- ๐ Fix bad formatting of error messages about EOF in multi-line statements (#2343)
- Functions and classes in blocks now have more consistent surrounding spacing (#2472)
from __future__ import annotations
statement now implies Python 3.7+ (#2690)
๐ Jupyter Notebook support
- Cell magics are now only processed if they are known Python cell magics. Earlier, all
cell magics were tokenized, leading to possible indentation errors e.g. with
%%writefile
. (#2630) - ๐ Fix assignment to environment variables in Jupyter Notebooks (#2642)
๐ Python 3.10 support
- Point users to using
--target-version py310
if we detect 3.10-only syntax (#2668) - ๐ Fix
match
statements with open sequence subjects, likematch a, b:
ormatch a, *b:
(#2639) (#2659) - ๐ Fix
match
/case
statements that containmatch
/case
soft keywords multiple times, likematch re.match()
(#2661) - ๐ Fix
case
statements with an inline body (#2665) - ๐ Fix styling of starred expressions inside
match
subject (#2667) - ๐ Fix parser error location on invalid syntax in a
match
statement (#2649) - ๐ Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
- ๐ Improve parsing performance on code that uses
match
under--target-version py310
up to ~50% (#2670)
Packaging
- โ Remove dependency on
regex
(#2644) (#2663)