Update dependency click to v8.5.0 #187

Merged
renovate-bot merged 1 commit from renovate/click-8.x into master 2026-08-26 18:02:28 +02:00
Collaborator

This PR contains the following updates:

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

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

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, 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

This PR has been generated by Mend Renovate CLI.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [click](https://github.com/pallets/click) ([changelog](https://click.palletsprojects.com/page/changes/)) | `==8.4.2` → `==8.5.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/click/8.5.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/click/8.4.2/8.5.0?slim=true) | --- ### Release Notes <details> <summary>pallets/click (click)</summary> ### [`v8.5.0`](https://github.com/pallets/click/blob/HEAD/CHANGES.md#Version-850) [Compare Source](https://github.com/pallets/click/compare/8.4.2...8.5.0) 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 #&#8203;3527](https://github.com/pallets/click/discussions/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` </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4zMy4yIiwidXBkYXRlZEluVmVyIjoiNDQuMzMuMiIsInRhcmdldEJyYW5jaCI6Im1hc3RlciIsImxhYmVscyI6W119-->
Update dependency click to v8.5.0
All checks were successful
Python formatting PEP8 / Python-PEP8 (push) Successful in 12s
Renovate / forgejo (push) Successful in 18s
Test / test (push) Successful in 15s
Test / test (pull_request) Successful in 15s
e53f9be916
renovate-bot scheduled this pull request to auto merge when all checks succeed 2026-08-26 18:01:10 +02:00
renovate-bot deleted branch renovate/click-8.x 2026-08-26 18:02:28 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
finn/reminder!187
No description provided.