Bump black from 25.9.0 to 25.12.0
Bumps black from 25.9.0 to 25.12.0.
Release notes
Sourced from black's releases.
25.12.0
Please test out the draft 2026 style in version 26.1a1! This style will be finalized in the January release (26.1.0). Most of the changes in
--previewwill be in the 2026 stable style, but not all. Please share your feedback!This release (25.12.0) will still produce the 2025 style.
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)25.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
... (truncated)
Changelog
Sourced from black's changelog.
25.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)25.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
... (truncated)
Commits
782e560Pin actions/[email protected] (#4895)f0f4094Fix new lines being added after imports with# fmt: skipon them (#4894)70fc194Revert "Fix# fmt: skipignored in deeply nested expressions" (#4893)7044b14Prepare 25.12.0 release (#4891)5b470f0Fix# fmt: skipignored in deeply nested expressions (#4883)1b342efFix crash when multiple# fmt: skipcomments are used in multi-part if-clau...7b265f1Pin Hatch to hopefully fix Docker builds (#4878)c9523f4Attempt to fix Docker build failures (#4876)0f376e0Fix crashes when fmt directives are indented (#4856)a8bfcc1Fixfmt: skipskipping the line after instead of the line it's on (#4855)- Additional commits viewable in compare view
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 rebasewill rebase this PR -
@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it -
@dependabot mergewill merge this PR after your CI passes on it -
@dependabot squash and mergewill squash and merge this PR after your CI passes on it -
@dependabot cancel mergewill cancel a previously requested merge and block automerging -
@dependabot reopenwill reopen this PR if it is closed -
@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually -
@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency -
@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 79.95%. Comparing base (5d64caf) to head (ca64b6a).
Additional details and impacted files
@@ Coverage Diff @@
## master #9116 +/- ##
=======================================
Coverage 79.95% 79.95%
=======================================
Files 600 600
Lines 32560 32560
Branches 3310 3310
=======================================
Hits 26032 26032
Misses 6362 6362
Partials 166 166
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.
@jmaher @Archaeopteryx
We use ruff for formatting and linting. Do we still need to keep black and keep updating it ?