Repository navigation
Update maintenance - #260
Merged
Merged
Conversation
|
|
renovate
Bot
force-pushed
the
renovate/maintenance
branch
4 times, most recently
from
August 8, 2026 01:27
787a4f3 to
fc45205
Compare
renovate
Bot
force-pushed
the
renovate/maintenance
branch
7 times, most recently
from
August 15, 2026 06:15
7818dd7 to
9d715c6
Compare
renovate
Bot
force-pushed
the
renovate/maintenance
branch
10 times, most recently
from
August 30, 2026 00:35
400412f to
64aa492
Compare
renovate
Bot
force-pushed
the
renovate/maintenance
branch
6 times, most recently
from
September 5, 2026 22:26
d8f1436 to
087b1cd
Compare
renovate
Bot
force-pushed
the
renovate/maintenance
branch
from
September 8, 2026 21:40
087b1cd to
cbc17e5
Compare
renovate
Bot
force-pushed
the
renovate/maintenance
branch
17 times, most recently
from
September 26, 2026 14:05
e9cb67b to
6bb7cce
Compare
renovate
Bot
force-pushed
the
renovate/maintenance
branch
11 times, most recently
from
October 2, 2026 22:56
98c97e4 to
9bf0ba0
Compare
svenklemm
approved these changes
Oct 8, 2026
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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:
v7.0.0→v7.0.1==26.5.1→==26.10.0==8.4.2→==8.5.0==3.29.4→==3.32.7==26.2→==26.3==7.14→==7.20==7.14→==7.20==4.10.0→==4.12.4==4.0.6→==4.1.2cef2210→dc37677==3.3.2→==3.3.3v2.19.4→v2.22.1==2.4.1→==2.5.0==4.56.1→==4.64.9==21.5.1→==21.14.5Release Notes
actions/checkout (actions/checkout)
v7.0.1Compare Source
psf/black (black)
v26.10.0Compare Source
Stable style
--line-rangesno longer inserts an empty line after a docstring when the rangecovers only the docstring itself (#5312)
# fmt: skipon a bracketed ternary turning the surrounding tuple into a call(#5464)
# fmt: skipis placed on a one-line function or class with PEP 695type parameters (#5429)
inside the parentheses when the parenthesized expression contains own-line comments
(#5395)
# fmt: skipis placed on a bracket of anif,while,for, orwithheader (#5401, #5405)# fmt: skip(#5414)earlier on the line (#5381)
# fmt: oncomment (#5300)(x): int = 5), which prevent CPython from including the name in__annotations__(#5321)
t" spam "asthe first statement of a module, class or function) (#5287)
t'\'{a["b"]}\'') (#5265)already-escaped double quote (e.g.
'''\'''\"''') (#5262)--skip-magic-trailing-commadropping the trailing comma from a splitsingle-element tuple used as a lambda parameter default (#5246)
parenthesized assert message) (#5241)
--skip-magic-trailing-commadropping the trailing comma of a one-elementsubscript (
a[x,]) when the line is long enough to be split and contains a poweroperator (#5272)
(#5144)
*TypeVarTupleor**ParamSpec(#5244)# fmt: off/# fmt: onblock is followed by awithstatement after another standalone comment (#5189)
case case if ...match patterns at very small linelengths (#5147)
docstrings (#5148)
# fmt: skipon a line that opens a bracket (e.g.from x import ( # fmt: skip) when a standalone comment is among the bracket'scontents (#5161)
# type: ignorecomments in a parenthesizedattribute chain were merged onto one physical line (#5297)
--line-ranges(#5175)# fmt: skipis used on one-lineasync def,async with, andasync forstatements containing a semicolon (#5311)(#5461)
--skip-source-first-lineturning the skipped line's CRLF ending into\r\r\nwhen reformatting a file with CRLF line endings (#5438)
Preview style
New preview features
(e.g. stop splitting inside the
[2]of[1,][2](3)) (#5448)wrapped onto a new line instead (#5435)
for (x), (y) in points:becomesfor x, y in points:) (#5416)Tprefixes on t-strings to lowercase (#5425)# fmt: offblockafter an import (#5238)
(e.g.
x[key] = expr) (#5095)yieldstatements for consistency with functioncalls and returns (#5170)
not in,==,is, ...) whenthe right-hand side is a bracketed expression, and instead split inside the brackets
(#5135)
.pyistub files, enforce a blank line after a function or method that has adocstring-only body when another comment or statement follows it (#5158)
Updates to existing preview features
# fmt: skipis placed on a function in a group ofsame-name decorated functions (e.g.
@overloads or a property setter) (#5430)[x for x in (lambda: 0) if x]) (#5176, #5200)Updates to existing unstable features
# type: ignorecomments as single-line unsplittable expressions (#5466)
merging a backslash-continued string on the same line (#5449)
(#5427)
# type: ignorecomments onto oneline (#5271)
# type: ignoreis lost during formatting of a long parenthesizedstring (#5329)
r"..." r"...") being wrapped in parentheses (#5434)Configuration
NO_COLORenvironment variable to disable ANSI output (#5129)--target-versionflag (#5167)--force-excludenot excluding files whose path contains..(e.g.black ../generated/file.pyrun from a subdirectory) (#5471)no common project root (e.g. they are on different drives on Windows) instead of
crashing (#5386)
pyproject.tomlpath when--codeis used from differentworking directories in the same process (#5152)
--line-rangesvalues (#5107)EOFError(#5192)includeandforce-excludevalues inpyproject.toml(#5193)BLACK_NUM_WORKERSvalues and report invalid values as usage errors insteadof crashing (#5211)
Packaging
PyInstaller release build (#5223)
Immutable Releases
(#5296)
Performance
# fmt: skip/# fmt: off/# fmt: oncomments(#5169, #5190, #5232)
with triple-quoted strings as values) (#5188)
match/caseblocks)(#5186)
large dict literals (in
--preview) (#5184)--line-rangeson files with many sibling blocks (a longif/elifchain, amatchwith many cases, or many top-level definitions) (#5213)operators (e.g. a long run of implicitly concatenated strings inside
[]) (#5239)a ** b ** c ** ...chain) (#5235)
if/elifchains and other compound statements with manyclauses (#5322)
string_processing:(#5165)
"%s ..." % (a, b, c, ...)) (#5178, #5199, #5220)Output
path:line:columnlocations (#5237)sys.stdoutthat has nobufferattribute (e.g. in Jupyter notebooks) (#5411)
Blackd
X-Python-Variantheader is empty or has anempty entry (e.g. a trailing comma) (#5428)
pyiin theX-Python-Variantheader (#5441)Integrations
migrate-blackscript (#5319)tool.black.required-versionfor the GitHubAction (#5399)
is_formatted,change_count,same_count,failure_count) to GitHubAction runs (#5408)
Documentation
vim-python-pep8-indent, which provides anindentexprfor Black-styleinsert-mode indentation (#5288)
pallets/click (click)
v8.5.0Compare Source
Released 2026-08-24
5.1+ and pwsh 7+) alongside the existing
bash,zsh, andfishcompleters. Use
_FOO_BAR_COMPLETE=powershell_source foo-barto generatethe completion script. {issue}
2672{pr}3637Colorama is no longer a dependency and is not used. {issue}
2986{pr}3505Argumentaccepts ahelpparameter, and help output includesa
Positional argumentssection when argument help is available. {issue}2983{pr}3473confirm()andprompt()strip ANSI color and style codes from theprompt when the output stream does not support them, matching
echo().This stripping was lost in
8.4.0when {pr}2969began writing theprompt with
input()directly. {issue}3572{pr}36533656Pathwithallow_dash=Trueno longer triggers aBytesWarning,an error under
python -bb, when checking a value against the-convention. {issue}
2877{pr}3642custom_version_option, a--versionoption whose output isproduced by a callback, covering cases {func}
version_optionintentionallydoes not. The feature set of {func}
version_optionis now frozen; seediscussion #3527. {pr}
3581style()andsecho()no longer silently drop the 256-color index0(black) passed as
fgorbg, and now validate color arguments. Invalidcolors raise a
ValueErrorinstead of aTypeError. {pr}3677_click_default_helpinstead ofhelp, so a parameter namedhelpnolonger breaks parsing. The new name is visible in
{meth}
Command.to_info_dictoutput. Parameters that overwrite each other'svalue trigger a warning: an argument sharing its name with another
parameter, or any parameter claiming the reserved name. Options may still
share a name to compete for the same value (feature switches).
{issue}
2819{pr}3678unstyleand the ANSI handling behind help-text wrapping now strip the fullCSI escape-sequence grammar. {pr}
3681Optionflag handling: the flag-kind, type, lazy-default andvalidation steps in
Option.__init__move into focused helpers, andflag_valueanddefaultkeep their unset sentinel at construction(resolved lazily on read) so
is UNSETreliably tells a user-supplied valuefrom an auto-derived one. Runtime behavior is unchanged, but
{meth}
Parameter.to_info_dictnow resolvesdefault=Trueon a featureswitch to its
flag_value, matching what the function receives at calltime. {pr}
3641get_binary_streamand {func}get_text_streamare deprecated andwill be removed in Click 9.0. {issue}
3481{pr}3695click.utilsnames were never intentionally public and arenow private (
_-prefixed). The old names remain available with aDeprecationWarninguntil Click 9.0:LazyFile,KeepOpenFile,make_default_short_help,PacifyFlushWrapper, andsafecall.{issue}
3099{pr}3695CliRunner.isolated_filesystem. It relies on{func}
os.chdir, which mutates process-global state and is notthread-safe. The helper predates Python 3 and modern pytest: use a
temporary directory ({class}
tempfile.TemporaryDirectoryor pytest'stmp_pathfixture) with absolute paths instead. For running tests inparallel, use process-based isolation (such as
pytest-xdist) ratherthan threads, since {meth}
CliRunner.invokealso redirects theprocess-global standard streams. {issue}
3501{issue}3700{pr}3704prompt()is now generically typed and returns the type produced bytype,value_proc, or a matchingdefaultinstead ofAny.{class}
ParamTypetakes a second optional type parameter describing theinput value it accepts (
ParamType[int, str]for a type convertingstrings to integers), defaulting to
Any. {pr}3407Command.get_help_option_namesreturns the help option names in theorder they were declared. {pr}
3728get_pager_fileyields a text stream on Windows again. The temporaryfile backend opened its file in binary mode, so writing a
strto the pagerraised
TypeError: a bytes-like object is required, not 'str', and thecolorargument was ignored on that path. Regression introduced in8.4.0by {pr}
1572. {issue}3731{issue}3732{issue}3740{pr}3739progressbarsettles on its final position whenupdate_min_stepsdoes not divide the total. Steps below that threshold are applied when the
bar finishes, so
show_posrenders20/20rather than the last multipleit reached. {issue}
3571{pr}3769PermissionError: [WinError 32]on Windows. The temporary file backendunlinked its file without closing it first, and Windows refuses to remove a
file the process still holds open, so the cleanup failure masked the real
exception. {issue}
3731{pr}3764{func}
get_pager_filepicked for the output stream, and witherrors="replace"to match the pipe backend. Any text stdout can encodereaches the pager.
PAGERto the pager command instead of silently dropping them. On Windows,PAGER="less -R"now invokesless -Ron the temporary file rather thanbare
less. {pr}37773416{pr}
3777editacceptsos.PathLikevalues forfilename, in addition tostrings. {issue}
2869{pr}3781tox-dev/py-filelock (filelock)
v3.32.7Compare Source
What's Changed
New Contributors
Full Changelog: tox-dev/filelock@3.32.6...3.32.7
v3.32.6Compare Source
What's Changed
New Contributors
Full Changelog: tox-dev/filelock@3.32.5...3.32.6
v3.32.5Compare Source
What's Changed
New Contributors
Full Changelog: tox-dev/filelock@3.32.4...3.32.5
v3.32.4Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.32.3...3.32.4
v3.32.3Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.32.2...3.32.3
v3.32.2Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.32.1...3.32.2
v3.32.0Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.31.2...3.32.0
v3.31.2Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.31.1...3.31.2
v3.31.1Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.31.0...3.31.1
v3.31.0Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.30.3...3.31.0
v3.30.3Compare Source
What's Changed
New Contributors
Full Changelog: tox-dev/filelock@3.30.2...3.30.3
v3.30.2Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.30.1...3.30.2
v3.30.1Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.30.0...3.30.1
v3.30.0Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.29.7...3.30.0
v3.29.7Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.29.6...3.29.7
v3.29.6Compare Source
What's Changed
Full Changelog: tox-dev/filelock@3.29.5...3.29.6
v3.29.5Compare Source
What's Changed
New Contributors
Full Changelog: tox-dev/filelock@3.29.4...3.29.5
pypa/packaging (packaging)
v26.3Compare Source
What's Changed
Features
VersionRangeAPI andSpecifierSet.to_range(), representing the versions a specifier set accepts as an interval set that supports intersection, union, difference, complement, set relations, membership tests, and filtering.VersionRange.to_specifier_set()converts a range back to aSpecifierSetwhere a PEP 440 form exists. (#1267, #1270, #1298)Metadata-Version: 2.6. (#1194)limitargument toparse_tag()for compressed tag sets. (#1220)prefer_sdist_predicateargument toPylock.select()to prefer source distributions over wheels for selected packages. (#1334)pure_python_tags()to generate the pure-Python tags for a Python version without touching the running platform. (#1346)SpecifierSet.is_subset(),SpecifierSet.is_superset(), andSpecifierSet.is_disjoint(), which compare the versions two specifier sets accept. (#1313)Behavior adaptations
linux_*platform tags overmanylinuxandmusllinuxtags on Linux. (#160)Fixes for versions and specifiers
InvalidVersioninstead ofTypeErrorwhenVersionis given a non-string. (#1319)InvalidVersionfor non-string pre-release letters passed toVersion.from_parts. (#1241)AttributeErrorwhen hashing internally trimmed versions. (#1242)SpecifierSet.is_unsatisfiablefor post-release boundary intersections. (#1257)Fixes for requirements and markers
Requirement.__hash__consistent with__eq__for trailing-zero-equivalent specifiers (e.g.foo==1.0.0and `foo=Configuration
📅 Schedule: (UTC)
🚦 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.