Upgrade to release 26.10.1:
Highlights:
This release fixes a security issue in Black's bundled GitHub
Action. Repositories that use the action are encouraged to update
to the latest version of Black immediately. This update is received
automatically when using psf/black@stable, and is independent of
the version of Black installed by the action.
When the GitHub Action reads version specifiers from
tool.black.required-version, it now only accepts released versions
of Black, as it already did for black requirements in dependency
lists. Other values, such as URL references, are now rejected. This
issue has been registered as GHSA-cg8m-r9f2-5wm2; a CVE identifier
is pending.
Stable style:
- Fix a long Jupyter notebook assignment magic (for example x = !ls
-la) being wrapped in parentheses, which IPython can no longer
run; such cells are now left unchanged
- Keep repeated lines outside the selected --line-ranges unchanged
- Fix --line-ranges formatting lines that follow a statement when
formatting joins or re-indents that statement
- Fix --line-ranges crashing with an internal error when an
unselected statement has a # fmt: skip comment on the last line
before a closing bracket
- Prevent moving an encoding declaration (for example # -*- coding:
latin-1 -*-) onto the first two lines of a file
- Fix adding an extra trailing blank line inside a multi-line
module docstring when its last line is near the line length limit
Preview style:
- Do not split short expressions on delimiters (such as binary
operators, comparisons, or comprehensions) inside brackets when
preceded by a standalone comment
- Fix the unstable string_processing feature removing
backslash-newline sequences from raw strings, which changed their
value
- Avoid adding unnecessary parentheses around unbreakable
right-hand side expressions in assignments (such as annotated
assignments or subscript targets)
- Parenthesize expressions with parameter comments when they exceed
the line length under --preview
- Fix wrap_long_dict_values_in_parens dropping the parentheses
around a right-hand side that contains a dictionary, leaving a
line over the length limit
- Fix the unstable string_processing feature adding a space after *
or in a PEP 695 type parameter (* Ts = ...) when it splits a
string in the parameter's default
- Avoid unnecessary line splits of trailers (such as
indexing/subscripts) when an earlier bracket split exceeds the
line length only due to a trailing comment
Configuration:
- Add --cache-dir to configure the cache directory from the command
line
- Don't cache a file as formatted after formatting or checking it
with --line-ranges, which made a later full black --check pass
and black skip the unformatted lines
- Respect a .gitignore that starts with a UTF-8 byte order mark.
The mark became part of the first pattern, so that pattern never
matched and Black formatted files that git ignores
Performance:
- Avoid quadratic runtime when splitting very long lines with many
trailing bracket pairs (such as consecutive subscripts)
Integrations:
- Fix the GitHub Action crashing on dependency-group includes when
use_pyproject is enabled
- When the GitHub Action reads version specifiers from
tool.black.required-version, it now only accepts released
versions of Black, as it already did for black requirements in
dependency lists. Other values, such as URL references, are now
rejected.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>