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 the X-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)
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 the X-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)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps black from 22.3.0 to 22.8.0.
Release notes
Sourced from black's releases.
... (truncated)
Changelog
Sourced from black's changelog.
... (truncated)
Commits
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)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)