Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.
--line-ranges no longer inserts an empty line after a docstring when the range
covers only the docstring itself (#5312)
Fix # fmt: skip on a bracketed ternary turning the surrounding tuple into a call
(#5464)
Fix crash when # fmt: skip is placed on a one-line function or class with PEP 695
type parameters (#5429)
Fix an inline comment after the closing bracket of optional parentheses being moved
inside the parentheses when the parenthesized expression contains own-line comments
(#5395)
Fix unparseable output when # fmt: skip is placed on a bracket of an if, while, for, or with header (#5401, #5405)
Fix crash when formatting parenthesized expressions with multiple inline comments and # fmt: skip (#5414)
Fix parsing Jupyter notebook assignment magics when non-ASCII characters appear
earlier on the line (#5381)
Preserve blank lines that come immediately before a # fmt: on comment (#5300)
Keep the parentheses around the target of an annotated assignment (e.g. (x): int = 5), which prevent CPython from including the name in __annotations__
(#5321)
Stop treating a t-string in docstring position as a docstring (e.g. t" spam " as
the first statement of a module, class or function) (#5287)
Fix unparseable output for a t-string whose replacement field contains a quote (e.g. t'\'{a["b"]}\'') (#5265)
Fix unparseable output for a triple-quoted string whose body ends in an
already-escaped double quote (e.g. '''\'''\"''') (#5262)
Fix --skip-magic-trailing-comma dropping the trailing comma from a split
single-element tuple used as a lambda parameter default (#5246)
Fix unstable formatting when an inline comment sits on optional parentheses (e.g. a
parenthesized assert message) (#5241)
Fix --skip-magic-trailing-comma dropping the trailing comma of a one-element
subscript (a[x,]) when the line is long enough to be split and contains a power
operator (#5272)
Fix crash when a standalone comment sits between tokens of a comprehension or lambda
(#5144)
Fix inline comments on a bracket inside a comprehension being dropped (#5330)
Respect the magic trailing comma in a PEP 695 type parameter list containing a *TypeVarTuple or **ParamSpec (#5244)
Fix crash when a comment-only # fmt: off/# fmt: on block is followed by a with
statement after another standalone comment (#5189)
Fix a crash when splitting case case if ... match patterns at very small line
lengths (#5147)
Fix multiline docstring indentation when leading tabs are used inside indented
docstrings (#5148)
Respect # fmt: skip on a line that opens a bracket (e.g. from x import ( # fmt: skip) when a standalone comment is among the bracket's
contents (#5161)
Fix an AST safety error when separate # type: ignore comments in a parenthesized
attribute chain were merged onto one physical line (#5297)
Preserve comments and blank lines outside requested ranges when formatting with --line-ranges (#5175)
Fix crash when # fmt: skip is used on one-line async def, async with, and async for statements containing a semicolon (#5311)
Stop converting form feeds or other similar characters in docstrings into newlines
(#5461)
Fix --skip-source-first-line turning the skipped line's CRLF ending into \r\r\n
when reformatting a file with CRLF line endings (#5438)
Preview style
New preview features
Add missing blank lines after classes whose last method has an ellipsis body (#5439)
Split only the brackets holding a magic trailing comma when more trailers follow them
(e.g. stop splitting inside the [2] of [1,][2](3)) (#5448)
Keep dictionary keys containing operators together on one line when the value can be
wrapped onto a new line instead (#5435)
Remove redundant parentheses around individual variables in unpacking targets (e.g. for (x), (y) in points: becomes for x, y in points:) (#5416)
Normalize uppercase T prefixes on t-strings to lowercase (#5425)
Remove redundant parentheses around generator expressions (#5304, #5369)
Preserve two blank lines before a top-level class starting inside a # fmt: off block
after an import (#5238)
Fix unnecessary parentheses around short right-hand expressions in indexed assignments
(e.g. x[key] = expr) (#5095)
Parenthesize tuple expressions in yield statements for consistency with function
calls and returns (#5170)
Stop splitting between a variable and its operator (not in, ==, is, ...) when
the right-hand side is a bracketed expression, and instead split inside the brackets
(#5135)
In .pyi stub files, enforce a blank line after a function or method that has a
docstring-only body when another comment or statement follows it (#5158)
Updates to existing preview features
Fix crash in stub files when # fmt: skip is placed on a function in a group of
same-name decorated functions (e.g. @overloads or a property setter) (#5430)
Keep the parentheses around a lambda used as the iterable of a comprehension (e.g. [x for x in (lambda: 0) if x]) (#5176, #5200)
Updates to existing unstable features
Do not treat multi-line expressions with merged strings and trailing # type: ignore
comments as single-line unsplittable expressions (#5466)
Fix duplicated inline comment when stripping the parentheses around a string or
merging a backslash-continued string on the same line (#5449)
Split long stringified return annotations even when the function has parameters
(#5427)
Don't hug brackets when doing so would join two # type: ignore comments onto one
line (#5271)
Fix a crash when # type: ignore is lost during formatting of a long parenthesized
string (#5329)
Fix only the first part of an implicitly concatenated unmergeable string (e.g. r"..." r"...") being wrapped in parentheses (#5434)
Configuration
Add support for NO_COLOR environment variable to disable ANSI output (#5129)
Remove spurious target version warning when runtime version is included in a --target-version flag (#5167)
Fix --force-exclude not excluding files whose path contains .. (e.g. black ../generated/file.py run from a subdirectory) (#5471)
Fall back to the default configuration, with a warning, when the given sources share
no common project root (e.g. they are on different drives on Windows) instead of
crashing (#5386)
Fix loading a stale cached pyproject.toml path when --code is used from different
working directories in the same process (#5152)
Fix superlinear runtime growth with the number of input files (#5450)
Improve performance on strings containing many consecutive backslashes (#5163)
Improve performance on files with many # fmt: skip/# fmt: off/# fmt: on comments
(#5169, #5190, #5232)
Improve performance on long calls and collections (#5177)
Improve performance on multiline strings inside large collections (e.g. a dict literal
with triple-quoted strings as values) (#5188)
Improve performance on files with many soft keywords (e.g. match/case blocks)
(#5186)
Improve performance on long semicolon-separated statements (in the stable style) and
large dict literals (in --preview) (#5184)
Improve performance of --line-ranges on files with many sibling blocks (a long if/elif chain, a match with many cases, or many top-level definitions) (#5213)
Improve performance on deeply nested bracketed expressions (#5171, #5242)
Improve performance on lists and subscripts holding one long expression without
operators (e.g. a long run of implicitly concatenated strings inside []) (#5239)
Improve performance on deeply chained operations (e.g. a long a ** b ** c ** ...
chain) (#5235)
Improve performance on long if/elif chains and other compound statements with many
clauses (#5322)
Improve performance of string_processing:
when merging implicitly concatenated f-strings containing long string literals
(#5165)
when merging long implicitly concatenated strings (#5173, #5194)
when rewriting large nodes (e.g. "%s ..." % (a, b, c, ...)) (#5178, #5199, #5220)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [psf/black](https://github.com/psf/black) | repository | minor | `26.5.1` → `26.10.0` |
Note: The `pre-commit` manager in Renovate is not supported by the `pre-commit` maintainers or community. Please do not report any problems there, instead [create a Discussion in the Renovate repository](https://github.com/renovatebot/renovate/discussions/new) if you have any questions.
---
### Release Notes
<details>
<summary>psf/black (psf/black)</summary>
### [`v26.10.0`](https://github.com/psf/black/blob/HEAD/CHANGES.md#Version-26100)
[Compare Source](https://github.com/psf/black/compare/26.5.1...26.10.0)
##### Stable style
- `--line-ranges` no longer inserts an empty line after a docstring when the range
covers only the docstring itself ([#​5312](https://github.com/psf/black/issues/5312))
- Fix `# fmt: skip` on a bracketed ternary turning the surrounding tuple into a call
([#​5464](https://github.com/psf/black/issues/5464))
- Fix crash when `# fmt: skip` is placed on a one-line function or class with PEP 695
type parameters ([#​5429](https://github.com/psf/black/issues/5429))
- Fix an inline comment after the closing bracket of optional parentheses being moved
inside the parentheses when the parenthesized expression contains own-line comments
([#​5395](https://github.com/psf/black/issues/5395))
- Fix unparseable output when `# fmt: skip` is placed on a bracket of an `if`, `while`,
`for`, or `with` header ([#​5401](https://github.com/psf/black/issues/5401), [#​5405](https://github.com/psf/black/issues/5405))
- Fix crash when formatting parenthesized expressions with multiple inline comments and
`# fmt: skip` ([#​5414](https://github.com/psf/black/issues/5414))
- Fix parsing Jupyter notebook assignment magics when non-ASCII characters appear
earlier on the line ([#​5381](https://github.com/psf/black/issues/5381))
- Preserve blank lines that come immediately before a `# fmt: on` comment ([#​5300](https://github.com/psf/black/issues/5300))
- Keep the parentheses around the target of an annotated assignment (e.g.
`(x): int = 5`), which prevent CPython from including the name in `__annotations__`
([#​5321](https://github.com/psf/black/issues/5321))
- Stop treating a t-string in docstring position as a docstring (e.g. `t" spam "` as
the first statement of a module, class or function) ([#​5287](https://github.com/psf/black/issues/5287))
- Fix unparseable output for a t-string whose replacement field contains a quote (e.g.
`t'\'{a["b"]}\''`) ([#​5265](https://github.com/psf/black/issues/5265))
- Fix unparseable output for a triple-quoted string whose body ends in an
already-escaped double quote (e.g. `'''\'''\"'''`) ([#​5262](https://github.com/psf/black/issues/5262))
- Fix `--skip-magic-trailing-comma` dropping the trailing comma from a split
single-element tuple used as a lambda parameter default ([#​5246](https://github.com/psf/black/issues/5246))
- Fix unstable formatting when an inline comment sits on optional parentheses (e.g. a
parenthesized assert message) ([#​5241](https://github.com/psf/black/issues/5241))
- Fix `--skip-magic-trailing-comma` dropping the trailing comma of a one-element
subscript (`a[x,]`) when the line is long enough to be split and contains a power
operator ([#​5272](https://github.com/psf/black/issues/5272))
- Fix crash when a standalone comment sits between tokens of a comprehension or lambda
([#​5144](https://github.com/psf/black/issues/5144))
- Fix inline comments on a bracket inside a comprehension being dropped ([#​5330](https://github.com/psf/black/issues/5330))
- Respect the magic trailing comma in a PEP 695 type parameter list containing a
`*TypeVarTuple` or `**ParamSpec` ([#​5244](https://github.com/psf/black/issues/5244))
- Fix crash when a comment-only `# fmt: off`/`# fmt: on` block is followed by a `with`
statement after another standalone comment ([#​5189](https://github.com/psf/black/issues/5189))
- Fix a crash when splitting `case case if ...` match patterns at very small line
lengths ([#​5147](https://github.com/psf/black/issues/5147))
- Fix multiline docstring indentation when leading tabs are used inside indented
docstrings ([#​5148](https://github.com/psf/black/issues/5148))
- Respect `# fmt: skip` on a line that opens a bracket (e.g.
`from x import ( # fmt: skip`) when a standalone comment is among the bracket's
contents ([#​5161](https://github.com/psf/black/issues/5161))
- Fix an AST safety error when separate `# type: ignore` comments in a parenthesized
attribute chain were merged onto one physical line ([#​5297](https://github.com/psf/black/issues/5297))
- Preserve comments and blank lines outside requested ranges when formatting with
`--line-ranges` ([#​5175](https://github.com/psf/black/issues/5175))
- Fix crash when `# fmt: skip` is used on one-line `async def`, `async with`, and
`async for` statements containing a semicolon ([#​5311](https://github.com/psf/black/issues/5311))
- Stop converting form feeds or other similar characters in docstrings into newlines
([#​5461](https://github.com/psf/black/issues/5461))
- Fix `--skip-source-first-line` turning the skipped line's CRLF ending into `\r\r\n`
when reformatting a file with CRLF line endings ([#​5438](https://github.com/psf/black/issues/5438))
##### Preview style
##### New preview features
- Add missing blank lines after classes whose last method has an ellipsis body ([#​5439](https://github.com/psf/black/issues/5439))
- Split only the brackets holding a magic trailing comma when more trailers follow them
(e.g. stop splitting inside the `[2]` of `[1,][2](3)`) ([#​5448](https://github.com/psf/black/issues/5448))
- Keep dictionary keys containing operators together on one line when the value can be
wrapped onto a new line instead ([#​5435](https://github.com/psf/black/issues/5435))
- Remove redundant parentheses around individual variables in unpacking targets (e.g.
`for (x), (y) in points:` becomes `for x, y in points:`) ([#​5416](https://github.com/psf/black/issues/5416))
- Normalize uppercase `T` prefixes on t-strings to lowercase ([#​5425](https://github.com/psf/black/issues/5425))
- Remove redundant parentheses around generator expressions ([#​5304](https://github.com/psf/black/issues/5304), [#​5369](https://github.com/psf/black/issues/5369))
- Preserve two blank lines before a top-level class starting inside a `# fmt: off` block
after an import ([#​5238](https://github.com/psf/black/issues/5238))
- Fix unnecessary parentheses around short right-hand expressions in indexed assignments
(e.g. `x[key] = expr`) ([#​5095](https://github.com/psf/black/issues/5095))
- Parenthesize tuple expressions in `yield` statements for consistency with function
calls and returns ([#​5170](https://github.com/psf/black/issues/5170))
- Stop splitting between a variable and its operator (`not in`, `==`, `is`, ...) when
the right-hand side is a bracketed expression, and instead split inside the brackets
([#​5135](https://github.com/psf/black/issues/5135))
- In `.pyi` stub files, enforce a blank line after a function or method that has a
docstring-only body when another comment or statement follows it ([#​5158](https://github.com/psf/black/issues/5158))
##### Updates to existing preview features
- Fix crash in stub files when `# fmt: skip` is placed on a function in a group of
same-name decorated functions (e.g. `@overload`s or a property setter) ([#​5430](https://github.com/psf/black/issues/5430))
- Keep the parentheses around a lambda used as the iterable of a comprehension (e.g.
`[x for x in (lambda: 0) if x]`) ([#​5176](https://github.com/psf/black/issues/5176), [#​5200](https://github.com/psf/black/issues/5200))
##### Updates to existing unstable features
- Do not treat multi-line expressions with merged strings and trailing `# type: ignore`
comments as single-line unsplittable expressions ([#​5466](https://github.com/psf/black/issues/5466))
- Fix duplicated inline comment when stripping the parentheses around a string or
merging a backslash-continued string on the same line ([#​5449](https://github.com/psf/black/issues/5449))
- Split long stringified return annotations even when the function has parameters
([#​5427](https://github.com/psf/black/issues/5427))
- Don't hug brackets when doing so would join two `# type: ignore` comments onto one
line ([#​5271](https://github.com/psf/black/issues/5271))
- Fix a crash when `# type: ignore` is lost during formatting of a long parenthesized
string ([#​5329](https://github.com/psf/black/issues/5329))
- Fix only the first part of an implicitly concatenated unmergeable string (e.g.
`r"..." r"..."`) being wrapped in parentheses ([#​5434](https://github.com/psf/black/issues/5434))
##### Configuration
- Add support for `NO_COLOR` environment variable to disable ANSI output ([#​5129](https://github.com/psf/black/issues/5129))
- Remove spurious target version warning when runtime version is included in a
`--target-version` flag ([#​5167](https://github.com/psf/black/issues/5167))
- Fix `--force-exclude` not excluding files whose path contains `..` (e.g.
`black ../generated/file.py` run from a subdirectory) ([#​5471](https://github.com/psf/black/issues/5471))
- Fall back to the default configuration, with a warning, when the given sources share
no common project root (e.g. they are on different drives on Windows) instead of
crashing ([#​5386](https://github.com/psf/black/issues/5386))
- Fix loading a stale cached `pyproject.toml` path when `--code` is used from different
working directories in the same process ([#​5152](https://github.com/psf/black/issues/5152))
- Add validation for `--line-ranges` values ([#​5107](https://github.com/psf/black/issues/5107))
- Ignore empty cache files instead of raising an `EOFError` ([#​5192](https://github.com/psf/black/issues/5192))
- Reject non-string `include` and `force-exclude` values in `pyproject.toml` ([#​5193](https://github.com/psf/black/issues/5193))
- Validate `BLACK_NUM_WORKERS` values and report invalid values as usage errors instead
of crashing ([#​5211](https://github.com/psf/black/issues/5211))
- Ignore permission errors when reading cache ([#​5258](https://github.com/psf/black/issues/5258))
##### Packaging
- Reduce the size of Linux standalone binaries by stripping debug symbols during the
PyInstaller release build ([#​5223](https://github.com/psf/black/issues/5223))
- Black is now released using GitHub
[Immutable Releases](https://docs.github.com/code-security/concepts/supply-chain-security/immutable-releases)
([#​5296](https://github.com/psf/black/issues/5296))
##### Performance
- Fix superlinear runtime growth with the number of input files ([#​5450](https://github.com/psf/black/issues/5450))
- Improve performance on strings containing many consecutive backslashes ([#​5163](https://github.com/psf/black/issues/5163))
- Improve performance on files with many `# fmt: skip`/`# fmt: off`/`# fmt: on` comments
([#​5169](https://github.com/psf/black/issues/5169), [#​5190](https://github.com/psf/black/issues/5190), [#​5232](https://github.com/psf/black/issues/5232))
- Improve performance on long calls and collections ([#​5177](https://github.com/psf/black/issues/5177))
- Improve performance on multiline strings inside large collections (e.g. a dict literal
with triple-quoted strings as values) ([#​5188](https://github.com/psf/black/issues/5188))
- Improve performance on files with many soft keywords (e.g. `match`/`case` blocks)
([#​5186](https://github.com/psf/black/issues/5186))
- Improve performance on long semicolon-separated statements (in the stable style) and
large dict literals (in `--preview`) ([#​5184](https://github.com/psf/black/issues/5184))
- Improve performance of `--line-ranges` on files with many sibling blocks (a long
`if`/`elif` chain, a `match` with many cases, or many top-level definitions) ([#​5213](https://github.com/psf/black/issues/5213))
- Improve performance on deeply nested bracketed expressions ([#​5171](https://github.com/psf/black/issues/5171), [#​5242](https://github.com/psf/black/issues/5242))
- Improve performance on lists and subscripts holding one long expression without
operators (e.g. a long run of implicitly concatenated strings inside `[]`) ([#​5239](https://github.com/psf/black/issues/5239))
- Improve performance on deeply chained operations (e.g. a long `a ** b ** c ** ...`
chain) ([#​5235](https://github.com/psf/black/issues/5235))
- Improve performance on long `if`/`elif` chains and other compound statements with many
clauses ([#​5322](https://github.com/psf/black/issues/5322))
- Improve performance of `string_processing`:
- when merging implicitly concatenated f-strings containing long string literals
([#​5165](https://github.com/psf/black/issues/5165))
- when merging long implicitly concatenated strings ([#​5173](https://github.com/psf/black/issues/5173), [#​5194](https://github.com/psf/black/issues/5194))
- when rewriting large nodes (e.g. `"%s ..." % (a, b, c, ...)`) ([#​5178](https://github.com/psf/black/issues/5178), [#​5199](https://github.com/psf/black/issues/5199), [#​5220](https://github.com/psf/black/issues/5220))
- when splitting long string literals ([#​5183](https://github.com/psf/black/issues/5183))
##### Output
- Report parser failures using editor-friendly `path:line:column` locations ([#​5237](https://github.com/psf/black/issues/5237))
- Fix crash when writing formatted code or diffs to a `sys.stdout` that has no `buffer`
attribute (e.g. in Jupyter notebooks) ([#​5411](https://github.com/psf/black/issues/5411))
- Report parse failures on Black's own output as internal errors ([#​5383](https://github.com/psf/black/issues/5383))
##### *Blackd*
- Return HTTP 400 instead of 500 when the `X-Python-Variant` header is empty or has an
empty entry (e.g. a trailing comma) ([#​5428](https://github.com/psf/black/issues/5428))
- Allow optional whitespace around comma-separated versions and `pyi` in the
`X-Python-Variant` header ([#​5441](https://github.com/psf/black/issues/5441))
##### Integrations
- Remove unused `migrate-black` script ([#​5319](https://github.com/psf/black/issues/5319))
- Support PEP 440 version specifiers in `tool.black.required-version` for the GitHub
Action ([#​5399](https://github.com/psf/black/issues/5399))
- Add outputs (`is_formatted`, `change_count`, `same_count`, `failure_count`) to GitHub
Action runs ([#​5408](https://github.com/psf/black/issues/5408))
##### Documentation
- Document `vim-python-pep8-indent`, which provides an `indentexpr` for Black-style
insert-mode indentation ([#​5288](https://github.com/psf/black/issues/5288))
</details>
---
### Configuration
📅 **Schedule**: (UTC)
- Branch creation
- "on friday"
- Automerge
- At any time (no schedule defined)
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzIuMiIsInVwZGF0ZWRJblZlciI6IjQ0LjEzMi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhdXRvbWF0aW9uIiwiY2hvcmUiLCJwcmUtY29tbWl0Il19-->
Renovate
scheduled this pull request to auto merge when all checks succeed 2026-10-09 02:00:15 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
26.5.1→26.10.0Note: The
pre-commitmanager in Renovate is not supported by thepre-commitmaintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.Release Notes
psf/black (psf/black)
v26.10.0Compare Source
Stable style
--line-rangesno longer inserts an empty line after a docstring when the rangecovers only the docstring itself (#5312)
# fmt: skipon a bracketed ternary turning the surrounding tuple into a call(#5464)
# fmt: skipis placed on a one-line function or class with PEP 695type parameters (#5429)
inside the parentheses when the parenthesized expression contains own-line comments
(#5395)
# fmt: skipis placed on a bracket of anif,while,for, orwithheader (#5401, #5405)# fmt: skip(#5414)earlier on the line (#5381)
# fmt: oncomment (#5300)(x): int = 5), which prevent CPython from including the name in__annotations__(#5321)
t" spam "asthe first statement of a module, class or function) (#5287)
t'\'{a["b"]}\'') (#5265)already-escaped double quote (e.g.
'''\'''\"''') (#5262)--skip-magic-trailing-commadropping the trailing comma from a splitsingle-element tuple used as a lambda parameter default (#5246)
parenthesized assert message) (#5241)
--skip-magic-trailing-commadropping the trailing comma of a one-elementsubscript (
a[x,]) when the line is long enough to be split and contains a poweroperator (#5272)
(#5144)
*TypeVarTupleor**ParamSpec(#5244)# fmt: off/# fmt: onblock is followed by awithstatement after another standalone comment (#5189)
case case if ...match patterns at very small linelengths (#5147)
docstrings (#5148)
# fmt: skipon a line that opens a bracket (e.g.from x import ( # fmt: skip) when a standalone comment is among the bracket'scontents (#5161)
# type: ignorecomments in a parenthesizedattribute chain were merged onto one physical line (#5297)
--line-ranges(#5175)# fmt: skipis used on one-lineasync def,async with, andasync forstatements containing a semicolon (#5311)(#5461)
--skip-source-first-lineturning the skipped line's CRLF ending into\r\r\nwhen reformatting a file with CRLF line endings (#5438)
Preview style
New preview features
(e.g. stop splitting inside the
[2]of[1,][2](3)) (#5448)wrapped onto a new line instead (#5435)
for (x), (y) in points:becomesfor x, y in points:) (#5416)Tprefixes on t-strings to lowercase (#5425)# fmt: offblockafter an import (#5238)
(e.g.
x[key] = expr) (#5095)yieldstatements for consistency with functioncalls and returns (#5170)
not in,==,is, ...) whenthe right-hand side is a bracketed expression, and instead split inside the brackets
(#5135)
.pyistub files, enforce a blank line after a function or method that has adocstring-only body when another comment or statement follows it (#5158)
Updates to existing preview features
# fmt: skipis placed on a function in a group ofsame-name decorated functions (e.g.
@overloads or a property setter) (#5430)[x for x in (lambda: 0) if x]) (#5176, #5200)Updates to existing unstable features
# type: ignorecomments as single-line unsplittable expressions (#5466)
merging a backslash-continued string on the same line (#5449)
(#5427)
# type: ignorecomments onto oneline (#5271)
# type: ignoreis lost during formatting of a long parenthesizedstring (#5329)
r"..." r"...") being wrapped in parentheses (#5434)Configuration
NO_COLORenvironment variable to disable ANSI output (#5129)--target-versionflag (#5167)--force-excludenot excluding files whose path contains..(e.g.black ../generated/file.pyrun from a subdirectory) (#5471)no common project root (e.g. they are on different drives on Windows) instead of
crashing (#5386)
pyproject.tomlpath when--codeis used from differentworking directories in the same process (#5152)
--line-rangesvalues (#5107)EOFError(#5192)includeandforce-excludevalues inpyproject.toml(#5193)BLACK_NUM_WORKERSvalues and report invalid values as usage errors insteadof crashing (#5211)
Packaging
PyInstaller release build (#5223)
Immutable Releases
(#5296)
Performance
# fmt: skip/# fmt: off/# fmt: oncomments(#5169, #5190, #5232)
with triple-quoted strings as values) (#5188)
match/caseblocks)(#5186)
large dict literals (in
--preview) (#5184)--line-rangeson files with many sibling blocks (a longif/elifchain, amatchwith many cases, or many top-level definitions) (#5213)operators (e.g. a long run of implicitly concatenated strings inside
[]) (#5239)a ** b ** c ** ...chain) (#5235)
if/elifchains and other compound statements with manyclauses (#5322)
string_processing:(#5165)
"%s ..." % (a, b, c, ...)) (#5178, #5199, #5220)Output
path:line:columnlocations (#5237)sys.stdoutthat has nobufferattribute (e.g. in Jupyter notebooks) (#5411)
Blackd
X-Python-Variantheader is empty or has anempty entry (e.g. a trailing comma) (#5428)
pyiin theX-Python-Variantheader (#5441)Integrations
migrate-blackscript (#5319)tool.black.required-versionfor the GitHubAction (#5399)
is_formatted,change_count,same_count,failure_count) to GitHubAction runs (#5408)
Documentation
vim-python-pep8-indent, which provides anindentexprfor Black-styleinsert-mode indentation (#5288)
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.
942315b9e5to82ea97352c