Repository navigation
Update Mend: high confidence minor and patch dependency updates - #189
Open
mend-for-github-com[bot] wants to merge 1 commit into
Conversation
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
from
December 23, 2024 03:49
dbfbccd to
75d42a4
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
from
January 19, 2025 19:47
75d42a4 to
e481b9a
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
from
January 25, 2025 03:48
e481b9a to
9cedfc8
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
2 times, most recently
from
January 27, 2025 02:35
2d4d1f1 to
d660c62
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
2 times, most recently
from
January 29, 2025 03:11
7e2d656 to
78a9f1c
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
2 times, most recently
from
February 3, 2025 03:59
ba0a6c4 to
0e614ca
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
2 times, most recently
from
February 6, 2025 03:46
34d47e5 to
a096d34
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
from
February 7, 2025 03:48
a096d34 to
aed4b2c
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
2 times, most recently
from
February 9, 2025 03:56
4b349f3 to
cde9d29
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
2 times, most recently
from
February 12, 2025 03:04
89f32fc to
cb85312
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
4 times, most recently
from
February 28, 2025 05:30
aa55636 to
0315b4b
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
2 times, most recently
from
April 5, 2025 04:57
60a6293 to
b690d77
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
2 times, most recently
from
April 15, 2025 04:15
06db1cf to
e23b265
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
4 times, most recently
from
April 23, 2025 04:35
8341f2d to
af2bfb9
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
5 times, most recently
from
April 28, 2025 05:16
8370e95 to
21b26b0
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
from
April 29, 2025 08:24
21b26b0 to
74f5f1c
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
from
April 30, 2025 05:33
74f5f1c to
9581c90
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
from
May 11, 2025 05:12
9581c90 to
f61b946
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
3 times, most recently
from
May 25, 2025 05:10
307af96 to
bef9de9
Compare
mend-for-github-com
Bot
force-pushed
the
whitesource-remediate/mend-high-confidence-minor-and-patch-dependency-updates
branch
2 times, most recently
from
May 28, 2025 04:34
13ca25f to
4aa06de
Compare
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.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
==2.0.1→==2.1.5==1.4.0→==1.6.2==0.1.2→==0.1.4==21.2.0→==21.4.0==3.2.0→==3.2.2==4.9.3→==4.15.0==1.14.5→==1.17.1==3.3.0→==3.5.0==8.0.1→==8.5.1==5.0.9→==5.3.1==0.3.2→==0.4.4==0.17.0→==0.19.2==3.0.12→==3.32.7==2.2.10→==2.6.20==0.13.9→==0.13.13==2.0.1→==2.2.0==0.18.0→==0.20.1==0.1.2→==0.2.2==0.4.3→==0.4.4==1.6.0→==1.12.0==2.7.2→==2.12.0==0.8.2→==0.8.7==0.9.0→==0.12.1==4.8.0→==4.9.0==3.0.18→==3.0.53==1.10.0→==1.11.0==2.20→==2.23==2.8.2→==2.9.0.post0==2021.4.4→==2021.11.10==4.7.2→==4.9.1==1.16.0→==1.17.0==0.4.0→==0.5.1==5.0.5→==5.16.1==1.4.3→==1.5.5==3.10.0.0→==3.10.0.2==3.0.1→==3.5.5==0.18.2→==0.36.0==0.2.5→==0.9.4Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
pallets/markupsafe (MarkupSafe)
v2.1.5Compare Source
Released 2024-02-02
striptagsnot collapsing spaces. :issue:417v2.1.4Compare Source
Released 2024-01-19
striptags, avoiding a performanceissue. :pr:
413v2.1.3Compare Source
Released 2023-06-02
format_map,casefold,removeprefix, andremovesuffixmethods. :issue:
370strmethods onMarkup. :issue:358Selffor annotating return types. :pr:379v2.1.2Compare Source
Released 2023-01-17
striptagsnot stripping tags containing newlines.:issue:
310v2.1.1Compare Source
Released 2022-03-14
striptags. :pr:293v2.1.0Compare Source
Released 2022-02-17
262soft_unicode, which was previously deprecated. Usesoft_strinstead. :pr:261interpolation. :issue:
225277pyca/pynacl (PyNaCl)
v1.6.2Compare Source
libsodiumto 1.0.20-stable (2025-12-31 build) to resolveCVE-2025-69277.v1.6.1Compare Source
MAKEenvironment variable can now be used to specify themakebinary that should be used in the build process.
v1.6.0Compare Source
crypto_core_ed25519_from_uniform.libsodiumto 1.0.20-stable (2025-08-27 build).v1.5.0Compare Source
manylinux1wheels.
manylinux2014,manylinux_2_24,musllinux, and macOSuniversal2wheels (the latter supports macOSarm64).libsodiumto 1.0.18-stable (July 25, 2021 release).minrk/appnope (appnope)
v0.1.4Compare Source
v0.1.3Compare Source
python-attrs/attrs (attrs)
v21.4.0Compare Source
Changes
cloudpickledoes not work.#892
coverage reportfor projects that useattrsand don't set a--source.#895,
#896
v21.3.0Compare Source
Backward-incompatible Changes
When using
@define, converters are now run by default when setting an attribute on an instance -- additionally to validators.Meaning: the new default is
on_setattr=[attrs.setters.convert, attrs.setters.validate].This is unfortunately a breaking change, but it was an oversight, impossible to raise a
DeprecationWarningabout, and it's better to fix it now while the APIs are very fresh with few users.#835,
#886
import attrshas finally landed!As of this release, you can finally import
attrsusing its proper name.Not all names from the
attrnamespace have been transferred; most notablyattr.sandattr.ibare missing.See
attrs.defineandattrs.fieldif you haven't seen our next-generation APIs yet.A more elaborate explanation can be found On The Core API Names
This feature is at least for one release provisional.
We don't plan on changing anything, but such a big change is unlikely to go perfectly on the first strike.
The API docs have been mostly updated, but it will be an ongoing effort to change everything to the new APIs.
Please note that we have not moved -- or even removed -- anything from
attr!Please do report any bugs or documentation inconsistencies!
#887
Changes
attr.asdict(retain_collection_types=False)(default) dumps collection-esque keys as tuples.#646,
#888
__match_args__are now generated to support Python 3.10'sStructural Pattern Matching.
This can be controlled by the
match_argsargument to the class decorators on Python 3.10 and later.On older versions, it is never added and the argument is ignored.
#815
attrs.setters.validate(default in@defineand@mutable) but no field defines a validator, pretend that it's not set.#817
__repr__is significantly faster on Pythons with f-strings.#819
field_transformerare wrapped withAttrsClassagain.#824
#828
attrs.converters.to_bool().#830
attrs.resolve_types()now resolves types of subclasses after the parents are resolved.#842
#843
lt(val)(< val),le(va)(≤ val),ge(val)(≥ val),gt(val)(> val), andmaxlen(n).#845
attrsclasses are now fully compatible with cloudpickle (no need to disablerepranymore).#857
attrs.validators.disabled()and functionsattrs.validators.(set|get)_disabled().They deprecate
attrs.(set|get)_run_validators().All functions are interoperable and modify the same internal state.
They are not – and never were – thread-safe, though.
#859
attrs.validators.matches_re()now accepts pre-compiled regular expressions in addition to pattern strings.#877
python-cffi/cffi (cffi)
v1.17.1Compare Source
distutils.msvc9compilerimports under Windows (#118).ffibuilder.emit_python_code()andffibuiler.emit_c_code()accept file-like objects (#115).ffiplatformcalls are bypassed byffibuilder.emit_python_code()andffibuilder.emit_c_code()(#81).Full Changelog: python-cffi/cffi@v1.17.0...v1.17.1
v1.17.0Compare Source
python3.13tand the3.13tABI) are not currently supported.fn = lib.myfunc, you get an object of a special type for performancereasons, instead of a
<cdata 'C-function-type'>. Before version 1.17you could only call such objects. You could write
ffi.addressof(lib, "myfunc")in order to get a real<cdata>object,based on the idea that in these cases in C you'd usually write
&myfuncinstead of
myfunc. In version 1.17, the special objectlib.myfunccan now be passed in many places where CFFI expectsa regular
<cdata>object. For example, you can now passit as a callback to a C function call, or write it inside a C
structure field of the correct pointer-to-function type, or use
ffi.cast()orffi.typeof()on it.Full Changelog: python-cffi/cffi@v1.16.0...v1.17.0
v1.16.0Compare Source
distutilsfrom Python 3.12, projectsusing CFFI features that depend on
distutilsat runtime must add a dependency onsetuptoolsto function under Python 3.12+. CFFI does not declare a runtimesetuptoolsrequirement to avoid an unnecessary dependency for projects that do not require it.
setuptoolsis now a required build dependency.python_requiresmetadata for Python 3.8+. This allows unsupported Pythonsto continue using previously released sdists and wheels.
src/; a more standard layout that also enables CI to more easilycatch packaging errors.
v1.15.1Compare Source
(retroactive GitHub release for current stable version 1.15.1)
Full Changelog: python-cffi/cffi@v1.15.0...v1.15.1
v1.15.0Compare Source
v1.14.6Compare Source
asottile/cfgv (cfgv)
v3.5.0Compare Source
v3.4.0Compare Source
v3.3.1Compare Source
pallets/click (click)
v8.5.1Compare Source
Released 2026-11-09
copy.deepcopy()andpickleon aParameter,OptionorCommand. {pr}3805KeyboardInterruptarriving whileCommand.main()reports an abort or an error,or while it exits, no longer escapes as an unhandled traceback. The command still
exits with the intended code; only the message may be lost. {issue}
3802Option.get_help_spec, which returns the option's left helpcolumn even when the option is hidden. {meth}
Option.get_help_recordstillreturns
Nonefor hidden options, so help screens are unchanged. {pr}3821Positional argumentshelp section lists every argument of the command,not only the documented ones. An argument with no
helpgets an emptydescription, the same way an option with no
helpdoes. {pr}3860Argument.get_help_recordalways returns a tuple. It used to returnNonefor an argument with nohelp. {pr}3860default, and what an unrecognizedtypecallable does to a command-line value. {issue}3036{pr}3808path_typenarrows the converted value's type forconvertandprompt.{issue}
3822{pr}3858Parameteraccepts a newhelpargument and {class}Optionand {class}Argumentinherits it. {meth}
Parameter.to_info_dictnow reportshelpfor every kind of parameter.{pr}
3861vs.ore.g.inside the first sentence. A period ends the sentence only when it closes the text
or the next word does not start in lowercase. {pr}
3865show_envvar=True, an option's error message now prints all variables of anenvvarsequence instead of thereprof the sequence. {pr}3884envvar, such as[]or"", shows the same help and error message asno
envvarwhenshow_envvar=True. The help screen used to show[env var: ].{pr}
3884command's own help text, only the
(DEPRECATED)label. {pr}3901v8.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. {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}3781v8.4.2Compare Source
Released 2026-06-24
8.4.0by {pr}3126. Newlines andtabs in option help text are now escaped, keeping the original completion
format while still supporting multi-line help. {issue}
3502{issue}
3043{pr}3504{pr}3508render a stray leading space before the
(DEPRECATED)label. {pr}3509Groupwithinvoke_without_command=Truemarks its subcommand asoptional in the usage help, showing
[COMMAND]instead ofCOMMAND.{issue}
3059{pr}3507echo_via_pagerflushes after each write, so passing a generator streamsoutput to the pager incrementally instead of staying hidden until the pipe
buffer fills. {issue}
3242{issue}2542{pr}3534echo_via_pagerandget_pager_fileno longer close a borrowed stdoutstream when no external pager runs, completing the partial
I/O operation on closed filefix from {pr}3482. {issue}3449{pr}
3533[[a|b|c]]...whose type already brackets their metavar. {pr}3578version_optionresolves apackage_namethat does not match aninstalled distribution as an import (top-level module) name via
{func}
importlib.metadata.packages_distributions. Packages whosetop-level module name differs from their distribution name (
PILvsPillow,jwtvsPyJWT) no longer raiseRuntimeErrorout of thebox. {issue}
2331{issue}1884{issue}3125{pr}3582v8.4.1Compare Source
Released 2026-05-21
get_parameter_source()is available during eager callbacks and typeconversion again. {issue}
3458{pr}34843277{pr}3466Enumvalues used asChoiceoptions produces avalid completion result. {issue}
3015{pr}34713487{pr}3493echo_via_pager. {issue}3449{pr}3482open_urlon Windows when the file path contains spaces.{issue}
2994{pr}3478v8.4.0Compare Source
Released 2026-05-17
{class}
ParamTypetyping improvements. {pr}3371ParamTypeis now a generic abstract base class,parameterized by its converted value type.
~ParamType.convertreturn types are narrowed on allconcrete types (
strfor {class}STRING,intfor{class}
INT, etc.).~ParamType.to_info_dictreturns specific{class}
~typing.TypedDictsubclasses instead ofdict[str, Any].CompositeParamTypeand the number-range base are nowgeneric with abstract methods.
Refactor
convert_typeto extract type inference into a private_guess_typehelper, and add {func}typing.overloadsignatures.{pr}
3372{class}
Parametertyping improvements. {pr}2805Parameteris now an abstract base class, making explicitthat it cannot be instantiated directly.
Parameter.nameis nowstrinstead ofstr | None.When
expose_value=False, the name is set to""insteadof
None.ctxparameter of {meth}Parameter.get_error_hintis nowtyped as
Context | None, matching the runtime behavior.Split string values from
default_mapfor parameters withnargs > 1or {class}
Tupletype, matching environment variable behavior.{issue}
2745{pr}3364Auto-detect
type=UNPROCESSEDforflag_valueof non-basic types(not
str,int,float, orbool), so programmer-providedPython objects like classes and enum members are passed through unchanged
instead of being stringified. Previously
type=click.UNPROCESSEDhadto be set explicitly. {issue}
2012{pr}3363The error hint now uses {meth}
Command.get_help_option_namesto picknon-shadowed help option names, so
Try '... -h'no longer points to asubcommand option that shadows
-h. The longest surviving name isshown (
--helpover-h) for readability. {issue}2790{pr}3208Fix readline functionality on non-Windows platforms. Prompt text is now
passed directly to readline instead of being printed separately, allowing
proper backspace, line editing, and line wrapping behavior. {issue}
2968{pr}
2969Use {func}
os.startfileon Windows to open URLs in {func}open_url,replacing the
startbuilt-in which cannot be invoked withoutshell=True. {issue}2868{issue}3164{pr}3186Fix Fish shell completion errors when option help text contains newlines.
{issue}
3043{pr}3126Add {class}
NoSuchCommandexception with suggestions for misspelledcommands. {issue}
3107{pr}3228Use {class}
ValueErrormessage when conversion in {class}FuncParamTypewouldfail. {issue}
3105{pr}3211Add
click.get_pager_filefor file-like access to an outputpager. {pr}
1572{pr}3405{func}
~click.formatting.wrap_textnow measures line width in visiblecharacters, ignoring ANSI escape sequences. {pr}
3420Fix {meth}
HelpFormatter.write_usageemitting only a blank line whencalled without
args. The usage prefix and program name are nowwritten even when no arguments follow, and the trailing separator
space is stripped so the line ends at the program name.
{issue}
3360{pr}3434Show custom error messages from types when {func}
promptwithhide_input=Truefails validation, instead of always showing ageneric message. Built-in type messages mask the input value.
{issue}
2809{pr}3256Add
captureparameter to {class}CliRunnerwith two modes:sys(default) and
fd.fdredirects file descriptors1and2via {func}
os.dup2so output that bypassessys.stdout(stale streamreferences, C extensions, subprocesses,
faulthandler) is capturedwith proper isolation. {issue}
854{issue}2412{issue}2468{issue}
2497{issue}2761{issue}2827{issue}2865{pr}3391Revert the
8.3.3change that exposed the original file descriptorvia
fileno()on the redirectedCliRunnerstreams in the defaultcapture mode.
os.dup2(w, sys.stdout.fileno())calls inside a CLI nolonger mutate the host runner's stdout, which broke Pytest's
fd-levelcapture teardown. C-level consumers that need a real
fdshould usecapture="fd". {issue}3384{pr}3391Mark additional built-in strings with
gettext()to extend translationcoverage. {pr}
2902Fix feature switch groups (several
flag_valueoptions sharing oneparameter name) silently dropping an explicit
defaultwhen a siblingoption without an explicit default was declared first. Arbitration is now
source-aware: a more explicit {class}
ParameterSourcealways wins, andwithin
ParameterSource.DEFAULT, an option that received an explicitdefault=keyword wins over a sibling whose default was auto-derived.The 8.3.x first-wins fallback for remaining ties was reverted to the
pre-8.3.x last-wins fallback. {issue}
3403{pr}3404Fix missing space between option help text and the
(DEPRECATED)label, and localize the option label so it matches the command label.
The label and the
DeprecationWarningreason suffix are now producedby shared helpers. {pr}
3423Document short option stacking (
-abcis parsed as-a -b -c) andclarify that multi-character short option names are not supported.
{issue}
2779{pr}3431v8.3.3Compare Source
Released 2026-04-20
shlex.splitto split pager and editor commands intoargvlists for {class}
subprocess.Popen, removingshell=True.{issue}
1026{pr}1477{pr}2775TypeErrorwhen rendering help for an option whose default value isan object that doesn't support equality comparison with strings, such as
semver.Version. {issue}3298{pr}3299tmp_pathfixture instead of a shared temporary file path. {pr}3238Sentinel.UNSETvalues in adefault_mapas absent, so they fallthrough to the next default source instead of being used as the value.
{issue}
3224{pr}3240pdb.PdbinCliRunnerisolation sopdb.set_trace(),breakpoint(), and debuggers subclassingpdb.Pdb(ipdb, pdbpp) caninteract with the real terminal instead of the captured I/O streams.
{issue}
654{issue}824{issue}843{pr}951{pr}3235pytest-randomlyandpytest-xdistto detect test pollution and race conditions. {pr}3151parallel tests, and Flask smoke tests. {pr}
3151{pr}3177show_defaultstring in prompts, matching the existinghelp text behavior. {issue}
2836{pr}2837{pr}3165{pr}3262{pr}3280{pr}
3328default=Truewith booleanflag_valuealways returning theflag_valueinstead ofTrue. Thedefault=Truetoflag_valuesubstitution now only applies to non-boolean flags, where
Trueacts as asentinel meaning "activate this flag by default". For boolean flags,
default=Trueis returned as a literal value. {issue}3111{pr}3239make_default_short_helpas private API. {issue}3189{pr}3250CliRunner's redirected streams now expose the original file descriptorvia
fileno(), so thatfaulthandler,subprocess, and otherC-level consumers no longer crash with
io.UnsupportedOperation.{issue}
2865ParameterSourceto an {class}~enum.IntEnumand reorderits members from most to least explicit, so values can be compared to
check whether a parameter was explicitly provided. {issue}
2879{pr}3248v8.3.2Compare Source
Released 2026-04-02
flag_valuewhenis_flag=Falseto allow such options to beused without an explicit value. {issue}
3084{pr}3152Sentinel.UNSETvalues asNonewhen usinglookup_default().{issue}
3136{pr}3199{pr}3202{pr}3209{pr}3212{pr}3224_NamedTextIOWrapperfrom closing streams owned byStreamMixer.{issue}
824{issue}2991{issue}2993{issue}3110{pr}3139{pr}3140CliRunnerstream lifecycle, coveringlogging interaction, multi-threaded safety, and sequential invocation
isolation. Add high-iteration stress tests behind a
stressmarkerwith a dedicated CI job. {pr}
3139flag_valuebeing instantiated when used as a default viadefault=True. {issue}3121{pr}3201{pr}3213{pr}3225v8.3.1Compare Source
Released 2025-11-15
subprocess.Popen. {issue}3039{pr}
3055Sentinel.UNSETdefault values byNoneas they're passed throughthe
Context.invoke()method. {issue}3066{issue}3065{pr}3068Sentinel.UNSEThappening too early, which caused incorrectbehavior for multiple parameters using the same name. {issue}
3071{pr}3079Sentinel.UNSETvalues asNonewhen looking up for other parametersthrough the context inside parameter callbacks. {issue}
3136{pr}3137promptandconfirmparameterprompt_suffixisempty. {issue}
3019{pr}3021Sentinel.UNSETis found during parsing, it will skip calls totype_cast_value. {issue}3069{pr}3090v8.3.0Compare Source
Released 2025-09-17
Improved flag option handling: Reworked the relationship between
flag_valueand
defaultparameters for better consistency:defaultparameter value is now preserved as-is and passed directlyto CLI functions (no more unexpected transformations)
default=Truemaintain backward compatibilityby defaulting to their
flag_valuedefaultparameter can now be any type (bool,None, etc.)1992{issue}2514{issue}2610{issue}
3024{pr}3030Allow
defaultto be set onArgumentfornargs = -1. {issue}2164{pr}
3030Show correct auto complete value for
nargsoption in combination with flagoption {issue}
2813Fix handling of quoted and escaped parameters in Fish autocompletion. {issue}
2995{pr}3013Lazily import
shutil. {pr}3023Properly forward exception information to resources registered with
click.core.Context.with_resource(). {issue}2447{pr}3058Fix regression related to EOF handling in
CliRunner. {issue}2939{pr}2940v8.2.2Compare Source
Released 2025-07-31
default,flag_valueandtypeparameters forflag options, as well as parsing and normalization of environment variables.
{issue}
2952{pr}2956BadParameterandMissingParameterexceptions for theparameter
param_hintthat did not allow for a sequence of string where theunderlying function
_join_param_hintsallows for it. {issue}2777{pr}2990Enumchoices to render their default value in helpscreen. Refs {issue}
2911{pr}3004zsh) for completion items containingcolons. {issue}
2703{pr}28462971{pr}2972click.testing.StreamMixer's finalization that manifestedas a
ValueErroron close in a multi-threaded test session.{issue}
2993{pr}2991v8.2.1Compare Source
Released 2025-05-20
2894{issue}
2897{pr}29302906{pr}2907sys.stderrat the end ofCliRunner.invoke. {issue}26822787v8.2.0[Compare Source](https://redirect.gith
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.