fix(deps): update pre-commit hook psf/black to v26
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| psf/black | repository | major |
25.9.0 → 26.1.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 if you have any questions.
Release Notes
psf/black (psf/black)
v26.1.0
Highlights
Introduces the 2026 stable style (#4892), stabilizing the following changes:
-
always_one_newline_after_import: Always force one blank line after import statements, except when the line after the import is a comment or an import statement (#4489) -
fix_fmt_skip_in_one_liners: Fix# fmt: skipbehavior on one-liner declarations, such asdef foo(): return "mock" # fmt: skip, where previously the declaration would have been incorrectly collapsed (#4800) -
fix_module_docstring_detection: Fix module docstrings being treated as normal strings if preceded by comments (#4764) -
fix_type_expansion_split: Fix type expansions split in generic functions (#4777) -
multiline_string_handling: Make expressions involving multiline strings more compact (#1879) -
normalize_cr_newlines: Add\rstyle newlines to the potential newlines to normalize file newlines both from and to (#4710) -
remove_parens_around_except_types: Remove parentheses around multiple exception types inexceptandexcept*withoutas(#4720) -
remove_parens_from_assignment_lhs: Remove unnecessary parentheses from the left-hand side of assignments while preserving magic trailing commas and intentional multiline formatting (#4865) -
standardize_type_comments: Format type comments which have zero or more spaces between#andtype:or betweentype:and value to# type: (value)(#4645)
The following change was not in any previous stable release:
- Regenerated the
_width_table.pyand added tests for the Khmer language (#4253)
This release alo bumps pathspec to v1 and fixes inconsistencies with Git's
.gitignore logic (#4958). Now, files will be ignored if a pattern matches them, even
if the parent directory is directly unignored. For example, Black would previously
format exclude/not_this/foo.py with this .gitignore:
exclude/
!exclude/not_this/
Now, exclude/not_this/foo.py will remain ignored. To ensure exclude/not_this/ and
all of it's children are included in formatting (and in Git), use this .gitignore:
*/exclude/*
!*/exclude/not_this/
This new behavior matches Git. The leading */ are only necessary if you wish to ignore
matching subdirectories (like the previous behavior did), and not just matching root
directories.
Output
- Explicitly shutdown the multiprocessing manager when run in diff mode too (#4952)
Integrations
- Upgraded PyPI upload workflow to use Trusted Publishing (#4611)
v25.12.0
Highlights
- Black no longer supports running with Python 3.9 (#4842)
Stable style
- Fix bug where comments preceding
# fmt: off/# fmt: onblocks were incorrectly removed, particularly affecting Jupytext's# %% [markdown]comments (#4845) - Fix crash when multiple
# fmt: skipcomments are used in a multi-part if-clause, on string literals, or on dictionary entries with long lines (#4872) - Fix possible crash when
fmt:directives aren't on the top level (#4856)
Preview style
- Fix
fmt: skipskipping the line after instead of the line it's on (#4855) - Remove unnecessary parentheses from the left-hand side of assignments while preserving magic trailing commas and intentional multiline formatting (#4865)
- Fix
fix_fmt_skip_in_one_linerscrashing onwithstatements (#4853) - Fix
fix_fmt_skip_in_one_linerscrashing on annotated parameters (#4854) - Fix new lines being added after imports with
# fmt: skipon them (#4894)
Packaging
- Releases now include arm64 Windows binaries and wheels (#4814)
Integrations
- Add
output-fileinput to GitHub Actionpsf/blackto write formatter output to a file for artifact capture and log cleanliness (#4824)
v25.11.0
Highlights
- Enable base 3.14 support (#4804)
- Add support for the new Python 3.14 t-string syntax introduced by PEP 750 (#4805)
Stable style
- Fix bug where comments between
# fmt: offand# fmt: onwere reformatted (#4811) - Comments containing fmt directives now preserve their exact formatting instead of being normalized (#4811)
Preview style
- Move
multiline_string_handlingfrom--unstableto--preview(#4760) - Fix bug where module docstrings would be treated as normal strings if preceded by comments (#4764)
- Fix bug where python 3.12 generics syntax split line happens weirdly (#4777)
- Standardize type comments to form
# type: <value>(#4645) - Fix
fix_fmt_skip_in_one_linerspreview feature to respect# fmt: skipfor compound statements with semicolon-separated bodies (#4800)
Configuration
- Add
no_cacheoption to control caching behavior. (#4803)
Packaging
- Releases now include arm64 Linux binaries (#4773)
- Releases now include arm64 Windows binaries and wheels (#4814)
Output
- Write unchanged content to stdout when excluding formatting from stdin using pipes (#4610)
Blackd
- Implemented BlackDClient. This simple python client allows to easily send formatting requests to blackd (#4774)
Integrations
- Enable 3.14 base CI (#4804)
- Enhance GitHub Action
psf/blackto support therequired-versionmajor-version-only "stability" format when using pyproject.toml (#4770) - Improve error message for vim plugin users. It now handles independently vim version
- Vim: Warn on unsupported Vim and Python versions independently (#4772)
- Vim: Print the import paths when importing black fails (#4675)
- Vim: Fix handling of virtualenvs that have a different Python version (#4675)
Configuration
- If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.