Sourced from black's releases.
22.8.0
Highlights
- Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
- This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
- Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)
Stable style
- Fix an infinite loop when using
# fmt: on/off
in the middle of an expression or code block (#3158)- Fix incorrect handling of
# fmt: skip
on colon (:
) lines (#3148)- Comments are no longer deleted when a line had spaces removed around power operators (#2874)
Preview style
- Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
--skip-string-normalization
/-S
now prevents docstring prefixes from being normalized as expected (#3168)- When using
--skip-magic-trailing-comma
or-C
, trailing commas are stripped from subscript expressions with more than 1 element (#3209)- Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
- Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)
Blackd
blackd
now supports enabling the preview style via theX-Preview
header (#3217)Configuration
- Black now uses the presence of debug f-strings to detect target version (#3215)
- Fix misdetection of project root and verbose logging of sources in cases involving
--stdin-filename
(#3216)- Immediate
.gitignore
files in source directories given on the command line are now also respected, previously only.gitignore
files in the project root and automatically discovered directories were respected (#3237)Documentation
- Recommend using BlackConnect in IntelliJ IDEs (#3150)
Integrations
- Vim plugin: prefix messages with
Black:
so it's clear they come from Black (#3194)- Docker: changed to a /opt/venv installation + added to PATH to be available to non-root users (#3202)
Output
- Change from deprecated
asyncio.get_event_loop()
to create our event loop which removes DeprecationWarning (#3164)- Remove logging from internal
blib2to3
library since it regularly emits error logs about failed caching that can and should be ignored (#3193)Parser
- Type comments are now included in the AST equivalence check consistently so accidental deletion raises an error. Though type comments can't be tracked when running on PyPy 3.7 due to standard library limitations. (#2874)
Performance
... (truncated)
Sourced from black's changelog.
22.8.0
Highlights
- Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
- This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
- Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)
Stable style
- Fix an infinite loop when using
# fmt: on/off
in the middle of an expression or code block (#3158)- Fix incorrect handling of
# fmt: skip
on colon (:
) lines (#3148)- Comments are no longer deleted when a line had spaces removed around power operators (#2874)
Preview style
- Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
--skip-string-normalization
/-S
now prevents docstring prefixes from being normalized as expected (#3168)- When using
--skip-magic-trailing-comma
or-C
, trailing commas are stripped from subscript expressions with more than 1 element (#3209)- Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
- Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)
Blackd
blackd
now supports enabling the preview style via theX-Preview
header (#3217)Configuration
- Black now uses the presence of debug f-strings to detect target version (#3215)
- Fix misdetection of project root and verbose logging of sources in cases involving
--stdin-filename
(#3216)- Immediate
.gitignore
files in source directories given on the command line are now also respected, previously only.gitignore
files in the project root and automatically discovered directories were respected (#3237)Documentation
- Recommend using BlackConnect in IntelliJ IDEs (#3150)
Integrations
... (truncated)
2018e66
Prepare docs for release 22.8.0 (#3248)0019261
Update stable branch after publishing to PyPI (#3223)7757078
Improve & update release process to reflect recent changes (#3242)767604e
Use .gitignore files in the initial source directories (#3237)2c90480
Use strict mypy checking (#3222)ba618a3
Add parens around implicit string concatenations where it increases readabili...c0cc19b
Delay worker count determinationafed2c0
Load .gitignore and exclude regex at time of usee269f44
Lazily import parallelized format modulesc47b91f
Fix misdetection of project root with --stdin-filename
(#3216)