Skip to content

BREAKING: The dependency black has been updated to a new major version (26.5.1), which may include breaking changes. #major - #14

Open
public-glueops-renovatebot[bot] wants to merge 1 commit into
mainfrom
renovate/black-26.x
Open

public-glueops-renovatebot[bot] wants to merge 1 commit into
mainfrom
renovate/black-26.x

Conversation

@public-glueops-renovatebot

@public-glueops-renovatebot public-glueops-renovatebot Bot commented Mar 31, 2026 •

Copy link
Copy Markdown

This PR contains the following updates:

Package Change Age Confidence
black (changelog) ^25.1.0 → ^26.0.0 age confidence

Release Notes

psf/black (black)

v26.5.1

Compare Source

Stable style
  • Fix unstable formatting of annotated assignments whose subscript annotation contains
    an inline comment (e.g. x: list[ # pyright: ignore[...]) (#​5130)
  • Preserve inline comments (including # type: ignore) immediately before a
    # fmt: skip line, avoiding AST equivalence failures (#​5139)
Packaging
  • Correct the version in the published executables (#​5137)
Documentation
  • Add Neovim integration guide covering conform.nvim, ALE, and simple command approaches
    (#​5124)

v26.5.0

Compare Source

Highlights
  • Add support for unpacking in comprehensions (PEP 798) and for lazy imports (PEP 810),
    both new syntactic features in Python 3.15 (#​5048)
  • Python 3.15 is now supported. Compiled wheels are not yet provided for Python 3.15, so
    performance may be slower than on existing Python versions. Wheels will be provided
    once Python 3.15 is later in its release cycle. (#​5127)
Stable style
  • Fix # fmt: skip being ignored in nested if expressions with parenthesized in
    clauses (#​4903)
  • Add syntactic support for Python 3.15 (#​5048)
  • Fix crash when an f-string follows a # fmt: off comment inside brackets (#​5097)
  • Preserve multiline compound statement headers when # fmt: skip is placed on the
    colon line (#​5117)
Preview style
  • Improve heuristics around whether blank lines should appear before, within and after
    groups of same-name decorated functions (such as @overload groups) in .pyi stub
    files (#​5021)
  • Fix blank lines being removed between a function and a decorated class in .pyi stub
    files (#​5092)
  • Prevent string merger from creating unsplittable long lines when a pragma comment
    (e.g. # type: ignore) follows the closing bracket (#​5096)
Packaging
Output
  • Improve parse error readability by showing multi-line output with an error pointer.
    (#​5068)
  • Add SourceASTParseError to distinguish source parse failures from internal safety
    errors, improving error reporting when Black's lenient parser accepts input that
    ast.parse() rejects (#​5080)
Blackd
  • Return HTTP 400 (Bad Request) for source parse failures instead of HTTP 500, keeping
    HTTP 500 only for genuine internal safety errors (#​5080)
Integrations
  • Added documentation for doctest formatting tools and updated the integrations index to
    match (#​4916)
Documentation
  • Use "Version X.Y.Z" headings in changelog for stable permalink anchors on ReadTheDocs
    (#​5063)
  • Note in the editor integrations that the SublimeText sublack plugin is archived and
    unmaintained (#​5082)

v26.3.1

Compare Source

Stable style
  • Prevent Jupyter notebook magic masking collisions from corrupting cells by using
    exact-length placeholders for short magics and aborting if a placeholder can no longer
    be unmasked safely (#​5038)
Configuration
  • Always hash cache filename components derived from --python-cell-magics so custom
    magic names cannot affect cache paths (#​5038)
Blackd
  • Disable browser-originated requests by default, add configurable origin allowlisting
    and request body limits, and bound executor submissions to improve backpressure
    (#​5039)

v26.3.0

Compare Source

Stable style
  • Don't double-decode input, causing non-UTF-8 files to be corrupted (#​4964)
  • Fix crash on standalone comment in lambda default arguments (#​4993)
  • Preserve parentheses when # type: ignore comments would be merged with other
    comments on the same line, preventing AST equivalence failures (#​4888)
Preview style
  • Fix bug where if guards in case blocks were incorrectly split when the pattern had
    a trailing comma (#​4884)
  • Fix string_processing crashing on unassigned long string literals with trailing
    commas (one-item tuples) (#​4929)
  • Simplify implementation of the power operator "hugging" logic (#​4918)
Packaging
  • Fix shutdown errors in PyInstaller builds on macOS by disabling multiprocessing in
    frozen environments (#​4930)
Performance
  • Introduce winloop for windows as an alternative to uvloop (#​4996)
  • Remove deprecated function uvloop.install() in favor of uvloop.new_event_loop()
    (#​4996)
  • Rename maybe_install_uvloop function to maybe_use_uvloop to simplify loop
    installation and creation of either a uvloop/winloop eventloop or default eventloop
    (#​4996)
Output
  • Emit a clear warning when the target Python version is newer than the running Python
    version, since AST safety checks cannot parse newer syntax. Also replace the
    misleading "INTERNAL ERROR" message with an actionable error explaining the version
    mismatch (#​4983)
Blackd
  • Introduce winloop to be used when windows in use which enables blackd to run faster on
    windows when winloop is installed. (#​4996)
Integrations
  • Remove unused gallery script (#​5030)
  • Harden parsing of black requirements in the GitHub Action when use_pyproject is
    enabled so that only version specifiers are accepted and direct references such as
    black @ https://... are rejected. Users should upgrade to the latest version of the
    action as soon as possible. This update is received automatically when using
    psf/black@stable, and is independent of the version of Black installed by the
    action. (#​5031)
Documentation
  • Expand preview style documentation with detailed examples for wrap_comprehension_in,
    simplify_power_operator_hugging, and wrap_long_dict_values_in_parens features
    (#​4987)
  • Add detailed documentation for formatting Jupyter Notebooks (#​5009)

v26.1.0

Compare Source

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: skip behavior on one-liner declarations,
    such as def 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 \r style 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 in except and except* without as (#​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 # and type: or between type: and value to # type: (value) (#​4645)

The following change was not in any previous stable release:

  • Regenerated the _width_table.py and added tests for the Khmer language (#​4253)

This release also 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 its 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)

Configuration

📅 Schedule: (UTC)

  • 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 is behind base branch, 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

This PR has been generated by Mend Renovate CLI.

@public-glueops-renovatebot public-glueops-renovatebot Bot changed the title breaking: the dependency black has been updated to a new major version (26.1.0), which may include breaking changes. #major BREAKING: The dependency black has been updated to a new major version (26.1.0), which may include breaking changes. #major Apr 2, 2026
@public-glueops-renovatebot public-glueops-renovatebot Bot changed the title BREAKING: The dependency black has been updated to a new major version (26.1.0), which may include breaking changes. #major BREAKING: The dependency black has been updated to a new major version (26.3.0), which may include breaking changes. #major Apr 5, 2026
@public-glueops-renovatebot public-glueops-renovatebot Bot changed the title BREAKING: The dependency black has been updated to a new major version (26.3.0), which may include breaking changes. #major BREAKING: The dependency black has been updated to a new major version (26.3.1), which may include breaking changes. #major Apr 11, 2026
@public-glueops-renovatebot

Copy link
Copy Markdown
Author

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@public-glueops-renovatebot public-glueops-renovatebot Bot changed the title BREAKING: The dependency black has been updated to a new major version (26.3.1), which may include breaking changes. #major BREAKING: The dependency black has been updated to a new major version (26.3.1), which may include breaking changes. #major - autoclosed Jun 3, 2026
@public-glueops-renovatebot
public-glueops-renovatebot Bot deleted the renovate/black-26.x branch June 3, 2026 19:37
@public-glueops-renovatebot public-glueops-renovatebot Bot changed the title BREAKING: The dependency black has been updated to a new major version (26.3.1), which may include breaking changes. #major - autoclosed BREAKING: The dependency black has been updated to a new major version (26.3.1), which may include breaking changes. #major Jun 5, 2026
@public-glueops-renovatebot
public-glueops-renovatebot Bot force-pushed the renovate/black-26.x branch 2 times, most recently from fd637c4 to b0ee6f3 Compare June 5, 2026 12:27
@public-glueops-renovatebot public-glueops-renovatebot Bot changed the title BREAKING: The dependency black has been updated to a new major version (26.3.1), which may include breaking changes. #major BREAKING: The dependency black has been updated to a new major version (26.5.0), which may include breaking changes. #major Jun 15, 2026
@public-glueops-renovatebot public-glueops-renovatebot Bot changed the title BREAKING: The dependency black has been updated to a new major version (26.5.0), which may include breaking changes. #major BREAKING: The dependency black has been updated to a new major version (26.5.1), which may include breaking changes. #major Jun 17, 2026
@public-glueops-renovatebot public-glueops-renovatebot Bot changed the title BREAKING: The dependency black has been updated to a new major version (26.5.1), which may include breaking changes. #major BREAKING: The dependency black has been updated to a new major version (26.5.1), which may include breaking changes. #major - autoclosed Jun 29, 2026
@public-glueops-renovatebot public-glueops-renovatebot Bot changed the title BREAKING: The dependency black has been updated to a new major version (26.5.1), which may include breaking changes. #major - autoclosed BREAKING: The dependency black has been updated to a new major version (26.5.1), which may include breaking changes. #major Jun 29, 2026
@public-glueops-renovatebot
public-glueops-renovatebot Bot force-pushed the renovate/black-26.x branch 2 times, most recently from b0ee6f3 to b0c872e Compare June 29, 2026 12:51
…ion (26.5.1), which may include breaking changes. #major
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants