You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Feb 2, 2026. It is now read-only.
It's almost 2024, which means it's time for a new edition of Black's stable style!
Together with this release, we'll put out an alpha release 24.1a1 showcasing the draft
2024 stable style, which we'll finalize in the January release. Please try it out and share your feedback.
This release (23.12.0) will still produce the 2023 style. Most but not all of the
changes in --preview mode will be in the 2024 stable style.
Stable style
Fix bug where # fmt: off automatically dedents when used with the --line-ranges
option, even when it is not within the specified line range. (#4084)
Fix feature detection for parenthesized context managers (#4104)
Preview style
Prefer more equal signs before a break when splitting chained assignments (#4010)
Standalone form feed characters at the module level are no longer removed (#4021)
Additional cases of immediately nested tuples, lists, and dictionaries are now
indented less (#4012)
Allow empty lines at the beginning of all blocks, except immediately before a
docstring (#4060)
Fix crash in preview mode when using a short --line-length (#4086)
Keep suites consisting of only an ellipsis on their own lines if they are not
functions or class definitions (#4066) (#4103)
Configuration
--line-ranges now skips Black's internal stability check in --safe mode. This
avoids a crash on rare inputs that have many unformatted same-content lines. (#4034)
Due to various issues, the previous release (23.9.0) did not include compiled mypyc
wheels, which make Black significantly faster. These issues have now been fixed, and
this release should come with compiled wheels once again.
There will be no wheels for Python 3.12 due to a bug in mypyc. We will provide 3.12
wheels in a future release as soon as the mypyc bug is fixed.
More concise formatting for dummy implementations (#3796)
In stub files, add a blank line between a statement with a body (e.g an if sys.version_info > (3, x):) and a function definition on the same level (#3862)
Fix a bug whereby spaces were removed from walrus operators within subscript(#3823)
Configuration
Black now applies exclusion and ignore logic before resolving symlinks (#3846)
Performance
Avoid importing IPython if notebook cells do not contain magics (#3782)
Improve caching by comparing file hashes as fallback for mtime and size (#3821)
Blackd
Fix an issue in blackd with single character input (#3558)
Integrations
Black now has an official pre-commit mirror. Swapping https://github.com/psf/black to https://github.com/psf/black-pre-commit-mirror in
your .pre-commit-config.yaml will make Black about 2x faster (#3828)
The .black.env folder specified by ENV_PATH will now be removed on the completion
of the GitHub Action (#3759)
Runtime support for Python 3.7 has been removed. Formatting 3.7 code will still be
supported until further notice (#3765)
Stable style
Fix a bug where an illegal trailing comma was added to return type annotations using
PEP 604 unions (#3735)
Fix several bugs and crashes where comments in stub files were removed or mishandled
under some circumstances (#3745)
Fix a crash with multi-line magic comments like type: ignore within parentheses
(#3740)
Fix error in AST validation when Black removes trailing whitespace in a type comment
(#3773)
Preview style
Implicitly concatenated strings used as function args are no longer wrapped inside
parentheses (#3640)
Remove blank lines between a class definition and its docstring (#3692)
Configuration
The --workers argument to Black can now be specified via the BLACK_NUM_WORKERS
environment variable (#3743)
.pytest_cache, .ruff_cache and .vscode are now excluded by default (#3691)
Fix Black not honouring pyproject.toml settings when running --stdin-filename
and the pyproject.toml found isn't in the current working directory (#3719)
Black will now error if exclude and extend-exclude have invalid data types in pyproject.toml, instead of silently doing the wrong thing (#3764)
This release fixes a longstanding confusing behavior in Black's GitHub action, where the
version of the action did not determine the version of Black being run (issue #3382). In
addition, there is a small bug fix around imports and a number of improvements to the
preview style.
Please try out the preview style
with black --preview and tell us your feedback. All changes in the preview style are
expected to become part of Black's stable style in January 2024.
Stable style
Import lines with # fmt: skip and # fmt: off no longer have an extra blank line
added when they are right after another import line (#3610)
Preview style
Add trailing commas to collection literals even if there's a comment after the last
entry (#3393)
async def, async for, and async with statements are now formatted consistently
compared to their non-async version. (#3609)
with statements that contain two context managers will be consistently wrapped in
parentheses (#3589)
Now long string literals can be split after East Asian commas and periods (、 U+3001
IDEOGRAPHIC COMMA, 。 U+3002 IDEOGRAPHIC FULL STOP, & , U+FF0C FULLWIDTH COMMA)
besides before spaces (#3445)
For stubs, enforce one blank line after a nested class with a body other than just ... (#3564)
Improve handling of multiline strings by changing line split behavior (#1879)
Parser
Added support for formatting files with invalid type comments (#3594)
Integrations
Update GitHub Action to use the version of Black equivalent to action's version if
version input is not specified (#3543)
Fix missing Python binary path in autoload script for vim (#3508)
Documentation
Document that only the most recent release is supported for security issues;
vulnerabilities should be reported through Tidelift (#3612)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
If you want to rebase/retry this PR, check this box
renovateBot
changed the title
Update dependency psf/black to v23.12.0
Update dependency psf/black to v23.12.1
Dec 23, 2023
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
23.1.0→23.12.1Release Notes
psf/black (psf/black)
v23.12.1Compare Source
Packaging
dextra by default (#4108)v23.12.0Compare Source
Highlights
It's almost 2024, which means it's time for a new edition of Black's stable style!
Together with this release, we'll put out an alpha release 24.1a1 showcasing the draft
2024 stable style, which we'll finalize in the January release. Please try it out and
share your feedback.
This release (23.12.0) will still produce the 2023 style. Most but not all of the
changes in
--previewmode will be in the 2024 stable style.Stable style
# fmt: offautomatically dedents when used with the--line-rangesoption, even when it is not within the specified line range. (#4084)
Preview style
indented less (#4012)
docstring (#4060)
--line-length(#4086)functions or class definitions (#4066) (#4103)
Configuration
--line-rangesnow skips Black's internal stability check in--safemode. Thisavoids a crash on rare inputs that have many unformatted same-content lines. (#4034)
Packaging
Integrations
v23.11.0Compare Source
Highlights
--line-rangescommand-line option(#4020)
Stable style
await (a ** b)(#3994)fixes a crash (#4019)
Preview style
less (#3964)
indented less (#3992)
now preserved (#4005)
caseblocks were not split into multiple lines. Also enablegeneral trailing comma rules on
caseblocks (#4024)class definition (#4028)
Configuration
--include(#3976)Performance
Integrations
formatter (#3940)
v23.10.1Compare Source
Highlights
Preview style
Packaging
Integrations
summaryparameter. (#3958)
Documentation
#3968
v23.10.0Compare Source
Stable style
Preview style
multiple lines (#3899)
Configuration
BLACK_CACHE_DIRis set (#3937)Parser
typewere not accepted insidematchstatements(#3950)
(#3949)
Output
code (#3933)
(#3938)
Integrations
v23.9.1Compare Source
Due to various issues, the previous release (23.9.0) did not include compiled mypyc
wheels, which make Black significantly faster. These issues have now been fixed, and
this release should come with compiled wheels once again.
There will be no wheels for Python 3.12 due to a bug in mypyc. We will provide 3.12
wheels in a future release as soon as the mypyc bug is fixed.
Packaging
Performance
decreasing the size of the cache (#3877)
v23.9.0Compare Source
Preview style
if sys.version_info > (3, x):) and a function definition on the same level (#3862)Configuration
Performance
IPythonif notebook cells do not contain magics (#3782)Blackd
blackdwith single character input (#3558)Integrations
official pre-commit mirror. Swapping
https://github.com/psf/blacktohttps://github.com/psf/black-pre-commit-mirrorinyour
.pre-commit-config.yamlwill make Black about 2x faster (#3828).black.envfolder specified byENV_PATHwill now be removed on the completionof the GitHub Action (#3759)
v23.7.0Compare Source
Highlights
supported until further notice (#3765)
Stable style
PEP 604 unions (#3735)
under some circumstances (#3745)
type: ignorewithin parentheses(#3740)
(#3773)
Preview style
parentheses (#3640)
Configuration
--workersargument to Black can now be specified via theBLACK_NUM_WORKERSenvironment variable (#3743)
.pytest_cache,.ruff_cacheand.vscodeare now excluded by default (#3691)pyproject.tomlsettings when running--stdin-filenameand the
pyproject.tomlfound isn't in the current working directory (#3719)excludeandextend-excludehave invalid data types inpyproject.toml, instead of silently doing the wrong thing (#3764)Packaging
LANG=C(#3768)Parser
Performance
IPythonin a case where we wouldn't need it (#3748)Output
Blackd
blackdargument parser now shows the default values for options in their helptext (#3712)
Integrations
PYTHONWARNDEFAULTENCODING = 1(#3763)
Documentation
cite this software (#3723)
the latest code base (#3755)
v23.3.0Compare Source
Highlights
This release fixes a longstanding confusing behavior in Black's GitHub action, where the
version of the action did not determine the version of Black being run (issue #3382). In
addition, there is a small bug fix around imports and a number of improvements to the
preview style.
Please try out the
preview style
with
black --previewand tell us your feedback. All changes in the preview style areexpected to become part of Black's stable style in January 2024.
Stable style
# fmt: skipand# fmt: offno longer have an extra blank lineadded when they are right after another import line (#3610)
Preview style
entry (#3393)
async def,async for, andasync withstatements are now formatted consistentlycompared to their non-async version. (#3609)
withstatements that contain two context managers will be consistently wrapped inparentheses (#3589)
(#3445)
、U+3001IDEOGRAPHIC COMMA,
。U+3002 IDEOGRAPHIC FULL STOP, &,U+FF0C FULLWIDTH COMMA)besides before spaces (#3445)
...(#3564)Parser
Integrations
version input is not specified (#3543)
Documentation
vulnerabilities should be reported through Tidelift (#3612)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.