21.12b0
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)
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, like match a, b:
or match a, *b:
(#2639) (#2659)
- Fix
match
/case
statements that contain match
/case
soft keywords multiple times, like match 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
Thank you!
@isidentical
for the polishing up 3.10 syntax support (which they contributed in the first place!)
@MarcoGorelli
for their ever-continuing work on Black's jupyter support
@jalaziz
for cleaning up our Pyinstaller CD workflow
@hauntsaninja
for helping us drop the regex
dependency
And also congrats to first contributors!