Skip to content

Update dependency click to v8.5.0 - #392

Open
red-hat-konflux-kflux-prd-rh03[bot] wants to merge 1 commit into
mainfrom
konflux/mintmaker/main/click-8.x
Open

red-hat-konflux-kflux-prd-rh03[bot] wants to merge 1 commit into
mainfrom
konflux/mintmaker/main/click-8.x

Conversation

@red-hat-konflux-kflux-prd-rh03

@red-hat-konflux-kflux-prd-rh03 red-hat-konflux-kflux-prd-rh03 Bot commented Aug 14, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
click (changelog) ==8.3.1==8.5.0 age confidence

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

pallets/click (click)

v8.5.0

Compare Source

Released 2026-08-24

  • Add built-in shell completion support for PowerShell (Windows PowerShell
    5.1+ and pwsh 7+) alongside the existing bash, zsh, and fish
    completers. Use _FOO_BAR_COMPLETE=powershell_source foo-bar to generate
    the completion script. {issue}2672 {pr}3637
  • Supported versions of Windows enable ANSI terminal styles by default.
    Colorama is no longer a dependency and is not used. {issue}2986 {pr}3505
  • {class}Argument accepts a help parameter, and help output includes
    a Positional arguments section when argument help is available. {issue}2983 {pr}3473
  • confirm() and prompt() strip ANSI color and style codes from the
    prompt when the output stream does not support them, matching echo().
    This stripping was lost in 8.4.0 when {pr}2969 began writing the
    prompt with input() directly. {issue}3572 {pr}3653
  • Fix test failures when using pytest >= 9.1. {pr}3656
  • {class}Path with allow_dash=True no longer triggers a BytesWarning,
    an error under python -bb, when checking a value against the -
    convention. {issue}2877 {pr}3642
  • Add {func}custom_version_option, a --version option whose output is
    produced by a callback, covering cases {func}version_option intentionally
    does not. The feature set of {func}version_option is now frozen; see
    discussion #​3527. {pr}3581
  • style() and secho() no longer silently drop the 256-color index 0
    (black) passed as fg or bg, and now validate color arguments. Invalid
    colors raise a ValueError instead of a TypeError. {pr}3677
  • The automatic help option stores its value under the reserved name
    _click_default_help instead of help, so a parameter named help no
    longer breaks parsing. The new name is visible in
    {meth}Command.to_info_dict output. Parameters that overwrite each other's
    value 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}3678
  • unstyle and the ANSI handling behind help-text wrapping now strip the full
    CSI escape-sequence grammar. {pr}3681
  • Streamline Option flag handling: the flag-kind, type, lazy-default and
    validation steps in Option.__init__ move into focused helpers, and
    flag_value and default keep their unset sentinel at construction
    (resolved lazily on read) so is UNSET reliably tells a user-supplied value
    from an auto-derived one. Runtime behavior is unchanged, but
    {meth}Parameter.to_info_dict now resolves default=True on a feature
    switch to its flag_value, matching what the function receives at call
    time. {pr}3641
  • {func}get_binary_stream and {func}get_text_stream are deprecated and
    will be removed in Click 9.0. {issue}3481 {pr}3695
  • The following click.utils names were never intentionally public and are
    now private (_-prefixed). The old names remain available with a
    DeprecationWarning until Click 9.0: LazyFile, KeepOpenFile,
    make_default_short_help, PacifyFlushWrapper, and safecall.
    {issue}3099 {pr}3695
  • Deprecate {meth}CliRunner.isolated_filesystem. It relies on
    {func}os.chdir, which mutates process-global state and is not
    thread-safe. The helper predates Python 3 and modern pytest: use a
    temporary directory ({class}tempfile.TemporaryDirectory or pytest's
    tmp_path fixture) with absolute paths instead. For running tests in
    parallel, use process-based isolation (such as pytest-xdist) rather
    than threads, since {meth}CliRunner.invoke also redirects the
    process-global standard streams. {issue}3501 {issue}3700 {pr}3704
  • prompt() is now generically typed and returns the type produced by
    type, value_proc, or a matching default instead of Any.
    {class}ParamType takes a second optional type parameter describing the
    input value it accepts (ParamType[int, str] for a type converting
    strings to integers), defaulting to Any. {pr}3407
  • {meth}Command.get_help_option_names returns the help option names in the
    order they were declared. {pr}3728
  • {func}get_pager_file yields a text stream on Windows again. The temporary
    file backend opened its file in binary mode, so writing a str to the pager
    raised TypeError: a bytes-like object is required, not 'str', and the
    color argument was ignored on that path. Regression introduced in 8.4.0
    by {pr}1572. {issue}3731 {issue}3732 {issue}3740 {pr}3739
  • {func}progressbar settles on its final position when update_min_steps
    does not divide the total. Steps below that threshold are applied when the
    bar finishes, so show_pos renders 20/20 rather than the last multiple
    it reached. {issue}3571 {pr}3769
  • An error raised while writing to the pager no longer gets replaced by
    PermissionError: [WinError 32] on Windows. The temporary file backend
    unlinked 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
  • The temporary file the pager writes to on Windows is opened with the encoding
    {func}get_pager_file picked for the output stream, and with
    errors="replace" to match the pipe backend. Any text stdout can encode
    reaches the pager.
  • The temporary file pager backend forwards any parameters the user set in
    PAGER to the pager command instead of silently dropping them. On Windows,
    PAGER="less -R" now invokes less -R on the temporary file rather than
    bare less. {pr}3777
  • Improve raw mode detection by parsing the option tokens. {issue}3416
    {pr}3777
  • {func}edit accepts os.PathLike values for filename, in addition to
    strings. {issue}2869 {pr}3781

v8.4.2

Compare Source

Released 2026-06-24

  • Fix Fish shell completion broken in 8.4.0 by {pr}3126. Newlines and
    tabs 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}3508
  • Deprecated commands and options with empty or missing help text no longer
    render a stray leading space before the (DEPRECATED) label. {pr}3509
  • A {class}Group with invoke_without_command=True marks its subcommand as
    optional in the usage help, showing [COMMAND] instead of COMMAND.
    {issue}3059 {pr}3507
  • echo_via_pager flushes after each write, so passing a generator streams
    output to the pager incrementally instead of staying hidden until the pipe
    buffer fills. {issue}3242 {issue}2542 {pr}3534
  • echo_via_pager and get_pager_file no longer close a borrowed stdout
    stream when no external pager runs, completing the partial
    I/O operation on closed file fix from {pr}3482. {issue}3449
    {pr}3533
  • Fix CLI usage symopsis for optional arguments producing double square brackets
    [[a|b|c]]... whose type already brackets their metavar. {pr}3578
  • {func}version_option resolves a package_name that does not match an
    installed distribution as an import (top-level module) name via
    {func}importlib.metadata.packages_distributions. Packages whose
    top-level module name differs from their distribution name (PIL vs
    Pillow, jwt vs PyJWT) no longer raise RuntimeError out of the
    box. {issue}2331 {issue}1884 {issue}3125 {pr}3582

v8.4.1

Compare Source

Released 2026-05-21

  • get_parameter_source() is available during eager callbacks and type
    conversion again. {issue}3458 {pr}3484
  • Zsh completion scripts parse correctly on Windows. {issue}3277 {pr}3466
  • Shell completion of Enum values used as Choice options produces a
    valid completion result. {issue}3015 {pr}3471
  • Fix empty byte-string handling in echo. {issue}3487 {pr}3493
  • Fix closed file error with echo_via_pager. {issue}3449 {pr}3482
  • Fix open_url on Windows when the file path contains spaces.
    {issue}2994 {pr}3478

v8.4.0

Compare Source

Released 2026-05-17

  • {class}ParamType typing improvements. {pr}3371

    • {class}ParamType is now a generic abstract base class,
      parameterized by its converted value type.
    • {meth}~ParamType.convert return types are narrowed on all
      concrete types (str for {class}STRING, int for
      {class}INT, etc.).
    • {meth}~ParamType.to_info_dict returns specific
      {class}~typing.TypedDict subclasses instead of
      dict[str, Any].
    • {class}CompositeParamType and the number-range base are now
      generic with abstract methods.
  • Refactor convert_type to extract type inference into a private
    _guess_type helper, and add {func}typing.overload signatures.
    {pr}3372

  • {class}Parameter typing improvements. {pr}2805

    • {class}Parameter is now an abstract base class, making explicit
      that it cannot be instantiated directly.
    • {attr}Parameter.name is now str instead of str | None.
      When expose_value=False, the name is set to "" instead
      of None.
    • The ctx parameter of {meth}Parameter.get_error_hint is now
      typed as Context | None, matching the runtime behavior.
  • Split string values from default_map for parameters with nargs > 1
    or {class}Tuple type, matching environment variable behavior.
    {issue}2745 {pr}3364

  • Auto-detect type=UNPROCESSED for flag_value of non-basic types
    (not str, int, float, or bool), so programmer-provided
    Python objects like classes and enum members are passed through unchanged
    instead of being stringified. Previously type=click.UNPROCESSED had
    to be set explicitly. {issue}2012 {pr}3363

  • The error hint now uses {meth}Command.get_help_option_names to pick
    non-shadowed help option names, so Try '... -h' no longer points to a
    subcommand option that shadows -h. The longest surviving name is
    shown (--help over -h) for readability. {issue}2790 {pr}3208

  • Fix 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}2969

  • Use {func}os.startfile on Windows to open URLs in {func}open_url,
    replacing the start built-in which cannot be invoked without
    shell=True. {issue}2868 {issue}3164 {pr}3186

  • Fix Fish shell completion errors when option help text contains newlines.
    {issue}3043 {pr}3126

  • Add {class}NoSuchCommand exception with suggestions for misspelled
    commands. {issue}3107 {pr}3228

  • Use {class}ValueError message when conversion in {class}FuncParamType would
    fail. {issue}3105 {pr}3211

  • Add click.get_pager_file for file-like access to an output
    pager. {pr}1572 {pr}3405

  • {func}~click.formatting.wrap_text now measures line width in visible
    characters, ignoring ANSI escape sequences. {pr}3420

  • Fix {meth}HelpFormatter.write_usage emitting only a blank line when
    called without args. The usage prefix and program name are now
    written even when no arguments follow, and the trailing separator
    space is stripped so the line ends at the program name.
    {issue}3360 {pr}3434

  • Show custom error messages from types when {func}prompt with
    hide_input=True fails validation, instead of always showing a
    generic message. Built-in type messages mask the input value.
    {issue}2809 {pr}3256

  • Add capture parameter to {class}CliRunner with two modes: sys
    (default) and fd. fd redirects file descriptors 1 and 2
    via {func}os.dup2 so output that bypasses sys.stdout (stale stream
    references, C extensions, subprocesses, faulthandler) is captured
    with proper isolation. {issue}854 {issue}2412 {issue}2468
    {issue}2497 {issue}2761 {issue}2827 {issue}2865 {pr}3391

  • Revert the 8.3.3 change that exposed the original file descriptor
    via fileno() on the redirected CliRunner streams in the default
    capture mode. os.dup2(w, sys.stdout.fileno()) calls inside a CLI no
    longer mutate the host runner's stdout, which broke Pytest's fd-level
    capture teardown. C-level consumers that need a real fd should use
    capture="fd". {issue}3384 {pr}3391

  • Mark additional built-in strings with gettext() to extend translation
    coverage. {pr}2902

  • Fix feature switch groups (several flag_value options sharing one
    parameter name) silently dropping an explicit default when a sibling
    option without an explicit default was declared first. Arbitration is now
    source-aware: a more explicit {class}ParameterSource always wins, and
    within ParameterSource.DEFAULT, an option that received an explicit
    default= 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}3404

  • Fix 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 DeprecationWarning reason suffix are now produced
    by shared helpers. {pr}3423

  • Document short option stacking (-abc is parsed as -a -b -c) and
    clarify that multi-character short option names are not supported.
    {issue}2779 {pr}3431

v8.3.3

Compare Source

Released 2026-04-20

  • Use {func}shlex.split to split pager and editor commands into argv
    lists for {class}subprocess.Popen, removing shell=True.
    {issue}1026 {pr}1477 {pr}2775
  • Fix TypeError when rendering help for an option whose default value is
    an object that doesn't support equality comparison with strings, such as
    semver.Version. {issue}3298 {pr}3299
  • Fix pager test pollution under parallel execution by using pytest's
    tmp_path fixture instead of a shared temporary file path. {pr}3238
  • Treat Sentinel.UNSET values in a default_map as absent, so they fall
    through to the next default source instead of being used as the value.
    {issue}3224 {pr}3240
  • Patch pdb.Pdb in CliRunner isolation so pdb.set_trace(),
    breakpoint(), and debuggers subclassing pdb.Pdb (ipdb, pdbpp) can
    interact with the real terminal instead of the captured I/O streams.
    {issue}654 {issue}824 {issue}843 {pr}951 {pr}3235
  • Add optional randomized parallel test execution using pytest-randomly and
    pytest-xdist to detect test pollution and race conditions. {pr}3151
  • Add contributor documentation for running stress tests, randomized
    parallel tests, and Flask smoke tests. {pr}3151 {pr}3177
  • Show custom show_default string in prompts, matching the existing
    help text behavior. {issue}2836 {pr}2837 {pr}3165 {pr}3262 {pr}3280
    {pr}3328
  • Fix default=True with boolean flag_value always returning the
    flag_value instead of True. The default=True to flag_value
    substitution now only applies to non-boolean flags, where True acts as a
    sentinel meaning "activate this flag by default". For boolean flags,
    default=True is returned as a literal value. {issue}3111 {pr}3239
  • Mark make_default_short_help as private API. {issue}3189 {pr}3250
  • CliRunner's redirected streams now expose the original file descriptor
    via fileno(), so that faulthandler, subprocess, and other
    C-level consumers no longer crash with io.UnsupportedOperation.
    {issue}2865
  • Change {class}ParameterSource to an {class}~enum.IntEnum and reorder
    its members from most to least explicit, so values can be compared to
    check whether a parameter was explicitly provided. {issue}2879 {pr}3248

v8.3.2

Compare Source

Released 2026-04-02

  • Fix handling of flag_value when is_flag=False to allow such options to be
    used without an explicit value. {issue}3084 {pr}3152
  • Hide Sentinel.UNSET values as None when using lookup_default().
    {issue}3136 {pr}3199 {pr}3202 {pr}3209 {pr}3212 {pr}3224
  • Prevent _NamedTextIOWrapper from closing streams owned by StreamMixer.
    {issue}824 {issue}2991 {issue}2993 {issue}3110 {pr}3139 {pr}3140
  • Add comprehensive tests for CliRunner stream lifecycle, covering
    logging interaction, multi-threaded safety, and sequential invocation
    isolation. Add high-iteration stress tests behind a stress marker
    with a dedicated CI job. {pr}3139
  • Fix callable flag_value being instantiated when used as a default via
    default=True. {issue}3121 {pr}3201 {pr}3213 {pr}3225

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 becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

To execute skipped test pipelines write comment /ok-to-test.


Documentation

Find out how to configure dependency updates in MintMaker documentation or see all available configuration options in Renovate documentation.

Signed-off-by: red-hat-konflux-kflux-prd-rh03 <206760901+red-hat-konflux-kflux-prd-rh03[bot]@users.noreply.github.com>
@red-hat-konflux-kflux-prd-rh03
red-hat-konflux-kflux-prd-rh03 Bot force-pushed the konflux/mintmaker/main/click-8.x branch from 21902e4 to 4db5d99 Compare August 29, 2026 16:02
@red-hat-konflux-kflux-prd-rh03 red-hat-konflux-kflux-prd-rh03 Bot changed the title Update dependency click to v8.4.2 Update dependency click to v8.5.0 Aug 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants