更改 — 单击文档

来自菜鸟教程
Click/docs/8.0.x/changes
跳转至:导航、​搜索

变化

版本 8.0.4

未发行

  • open_filePath("-") 识别为标准流,与字符串 "-" 相同。 :问题:`2106`


版本 8.0.3

2021-10-10 发布


版本 8.0.2

发布 2021-10-08

  • 如果 is_flagFalse,则 is_bool_flag 不会设置为 True:问题:`1925`
  • Bash 版本检测与区域设置无关。 :问题:`1940`
  • multiple=True 不显示空 default 值。 :问题:`1969`
  • 修复以正斜杠开头的参数的 shell 完成,例如绝对文件路径。 :问题:`1929`
  • Path 类型与 resolve_path=True 将相对符号链接解析为相对于包含目录。 :问题:`1921`
  • Completion 在退出时不会跳过 Python 的资源清理,避免了一些意外的警告输出。 :issue:`1738, 2017`
  • 修复 prompt 函数中 type 参数的类型注释。 :问题:`2062`
  • 修复添加下划线时错误添加的上划线和斜体样式。 :pr:`2058`
  • 带有 count=True 的选项不会在帮助文本中显示“[x>=0]”。 :问题:`2072`
  • 在处理过程中,默认值不会两次转换为参数类型。 :问题:`2085`
  • 带有 multipleflag_value 的选项使用标志值而不是保留内部占位符。 :问题:`2001`


版本 8.0.1

发布 2021-05-19

  • 将顶级名称标记为导出,以便类型检查理解用户项目中的导入。 :问题:`1879`
  • Context.obj 注释为 Any,因此类型检查允许对任意对象进行所有操作。 :问题:`1885`
  • 修复一些在 Python 3.6.0 中不可用的类型。 :问题:`1882`
  • 修复迭代 ProgressBar 对象的类型检查。 :问题:`1892`
  • importlib_metadata backport 包安装在 Python < 3.8 上。 :问题:`1889`
  • 如果没有给出命令行值,带有 nargs=-1 的参数仅使用 env var 值。 :问题:`1903`
  • 如果给定,标志选项从 flag_value 猜测它们的类型,就像常规选项从 default 做的那样。 :问题:`1886`
  • 添加了自定义参数类型除了字符串之外还可以传递已经有效值的文档。 :问题:`1898`
  • 解析命令返回给定的名称,而不是 command.name,修复了帮助文本和 default_map 查找的意外更改。 使用 AliasedGroup 等模式时,覆盖 resolve_command 以更改返回的名称(如果需要)。 :问题:`1895`
  • 如果默认值无效,它不会阻止显示帮助文本。 :问题:`1889`
  • 在调用主命令时传递 windows_expand_args=False 以禁用 Windows 上的模式扩展。 无法在 CMD 中转义模式,因此如果程序需要按原样传递它们,则必须禁用扩展。 :问题:`1901`


版本 8.0.0

发布 2021-05-11

  • 放弃对 Python 2 和 3.5 的支持。
  • Colorama 始终安装在 Windows 上以提供样式和颜色支持。 :pr:`1784`
  • 向 Command 添加一个 repr,显示命令名称以进行更友好的调试。 :issue:`1267`, :pr:`1295`
  • 添加对区分命令行参数来源的支持。 :issue:`1264`, :pr:`1329`
  • ProgressBar.update中增加一个可选参数来设置current_item:issue:`1226`, :pr:`1332`
  • version_option 使用 importlib.metadata(或 importlib_metadata 向后移植)而不是 pkg_resources。 版本是根据包名称检测的,而不是入口点名称。 Python 包名称必须与已安装的包名称匹配,或者使用 package_name= 传递。 :问题:`1582`
  • 如果提示 hide_input=True 的验证失败,则错误消息中不会显示该值。 :问题:`1460`
  • IntRangeFloatRange 选项在其帮助文本中显示可接受的范围。 :issue:`1525`, :pr:`1303`
  • IntRangeFloatRange 边界可以通过设置 min_openmax_open 来打开(<)而不是关闭(<=) ]。 错误消息已更改以反映这一点。 :问题:`1100`
  • 使用重复标志名称 ("--foo/--foo") 定义的选项会引发 ValueError:问题:`1465`
  • echo() 在 Windows 上使用 pytest 的 capsys 装置时不会失败。 :问题:`1590`
  • 解析命令返回规范命令名称而不是匹配的名称。 这使得在使用 AliasedGroup 等模式时,帮助文本和 Context.invoked_subcommand 等行为保持一致。 :问题:`1422`
  • BOOL 类型接受值“on”和“off”。 :问题:`1629`
  • 带有 invoke_without_command=TrueGroup 将始终调用其结果回调。 :问题:`1178`
  • nargs == -1nargs > 1 被解析和验证来自环境变量和默认值的值。 :问题:`729`
  • 使用 python -m name 执行模块或包时检测程序名称。 :问题:`1603`
  • 在子命令的帮助概要中包含必需的父参数。 :问题:`1475`
  • show_default=True 布尔标志的帮助显示标志名称而不是 TrueFalse:问题:`1538`
  • 传递给 style()secho() 的非字符串对象将被转换为字符串。 :pr:`1146`
  • edit(require_save=True) 将检测在文件系统上以 1 秒分辨率快速退出的编辑器的保存。 :pr:`1050`
  • 新的类属性使在整个应用程序中使用自定义核心对象变得更加容易。 :pr:`938`
    • Command.context_class 控制运行命令时创建的上下文。
    • Context.invoke 创建相同类型的新上下文,因此自定义类型将持续调用子命令。
    • Context.formatter_class 控制用于生成帮助和用法的格式化程序。
    • Group.command_class 使用 @group.command() 更改子命令的默认类型。
    • Group.group_class 使用 @group.group() 更改子组的默认类型。 将其设置为 type 将创建与组本身类型相同的子组。
    • 核心对象始终使用 super() 以更好地支持子类化。
  • 使用 Context.with_resource() 管理通常在 with 语句中使用的资源,允许它们跨子命令和回调使用,然后在上下文结束时清除。 :pr:`1191`
  • 测试运行器的 invoke() 方法返回的结果对象具有 return_value 属性,其值由调用的命令返回。 :pr:`1312`
  • Choice 类型的必需参数显示大括号中的选项,以指示需要一个选项 ({a|b|c})。 :问题:`1272`
  • 如果仅将名称传递给 option(),则 Click 建议将其重命名为 --name:pr:`1355`
  • 上下文的 show_default 参数默认为来自父上下文的值。 :问题:`1565`
  • click.style()可以输出256和RGB色码。 大多数现代终端都支持这些代码。 :pr:`1429`
  • 使用 CliRunner.invoke() 时,替换后的 stdin 文件具有 namemode 属性。 这让 File 选项与 - 值匹配非测试行为。 :问题:`1064`
  • 创建 Group 时,允许传递命令列表而不是 dict。 :问题:`1339`
  • 当长选项名称无效时,使用 difflib 为可能的更正提供更好的建议。 :问题:`1446`
  • 核心对象有一个 to_info_dict() 方法。 这会收集有关对象结构的信息,这些信息可能对生成面向用户的文档的工具有用。 要获得整个 CLI 的结构,请使用 Context(cli).to_info_dict():问题:`461`
  • 重新设计外壳补全系统。 :issue:`1484`, :pr:`1622`
    • 支持 Bash >= 4.4、Zsh 和 Fish,具有扩展功能以添加对其他 shell 的支持。
    • 允许命令、组、参数和类型覆盖其完成建议。
    • 组完成注册命令的名称,这可能与创建它们的名称不同。
    • 选项和参数的 autocompletion 参数重命名为 shell_complete。 该函数必须采用 ctx, param, incomplete,必须进行匹配而不是返回所有值,并且必须返回字符串列表或 CompletionItem 列表。 旧名称和行为已弃用,并将在 8.1 中删除。
    • 用于开始完成的 env var 值已更改顺序。 现在 shell 先出现,例如 {shell}_source 而不是 source_{shell},并且始终是必需的。
  • 完成正确解析带有不完整引用或转义序列的命令行字符串。 :问题:`1708`
  • 额外的上下文设置(obj=... 等)被传递到完成系统。 :问题:`942`
  • 在完成中包含 --help 选项。 :pr:`1504`
  • ParameterSourceenum.Enum 子类。 :问题:`1530`
  • Boolean 和 UUID 类型在转换之前剥离周围的空间。 :问题:`1605`
  • 调整了来自参数类型验证的错误消息,使其更加一致。 引号用于区分无效值。 :问题:`1605`
  • nargs > 1 和 multiple=True 参数的默认值必须是元组列表。 :问题:`1649`
  • 获取参数值时,会在与其他来源相同的部分中尝试默认值,以确保处理一致。 :问题:`1649`
  • 所有参数类型都接受一个已经是正确类型的值。 :问题:`1649`
  • 对于 shell 补全,如果一个参数的值不是来自命令行参数,则该参数被认为是不完整的。 :问题:`1649`
  • 添加了 ParameterSource.PROMPT 以跟踪提示的参数值。 :问题:`1649`
  • 如果未给出默认值,nargs > 1 的选项不再引发错误。 nargs > 1 的参数默认为 Nonemultiple=Truenargs=-1 的参数默认为空元组。 :问题:`472`
  • 处理空的 env vars,就好像没有传递选项一样。 这将 7.1 中引入的更改扩展到在更多情况下保持一致。 :问题:`1285`
  • Parameter.get_default() 检查 Context.default_map 以一致地处理帮助文本、invoke() 和提示中的覆盖。 :问题:`1548`
  • prompt_required 参数添加到 Option。 当设置为 False 时,只有在未传递任何值时才会提示用户输入。 :问题:`736`
  • 可以通过 is_flag=False 将值提供给选项是可选的,并且该值可以被提示输入或作为默认值传入。 :问题:`549、736、764、921、1015、1618`
  • 修复 Command.options_metavar 为空时的格式。 :pr:`1551`
  • 恢复在换行的选项帮助文本之间添加空格。 :问题:`1831`
  • 传递给 prompt 的默认值将被转换为正确的类型,就像输入值一样。 :pr:`1517`
  • 自动生成的简短帮助消息将在短语或双换行符的第一个结尾处停止。 :问题:`1082`
  • 通过设置 update_min_steps,跳过进度条渲染步骤以使用非常快的迭代器提高效率。 :问题:`676`
  • 在为 Choice 执行 shell 补全时尊重 case_sensitive=False:问题:`1692`
  • 在寻呼机实现中使用 mkstemp() 代替 mktemp():问题:`1752`
  • Option.show_default为字符串时,即使defaultNone也显示。 :问题:`1732`
  • click.get_terminal_size() 已弃用,将在 8.1 中删除。 请改用 shutil.get_terminal_size():问题:`1736`
  • 通过传递temp_dir来控制CLIRunner.isolated_filesystem创建的临时目录的位置。 自定义目录不会自动删除。 :问题:`395`
  • 如果用 default=None 调用,click.confirm() 将提示直到给出输入。 :问题:`1381`
  • 除了类型之外,选项提示还使用选项的回调来验证值。 :问题:`457`
  • confirmation_prompt 可以设置为自定义字符串。 :问题:`723`
  • 在 Windows 上的 Jupyter 中允许样式输出。 :问题:`1271`
  • style() 支持 strikethroughitalicoverline 样式。 :问题:`805, 1821`
  • 从简短的帮助文本中删除了多行标记。 :问题:`1597`
  • 如果文件不是 TTY,则恢复仅回显标签的进度条行为。 :问题:`1138`
  • 即使执行时间小于 0.5 秒,也会显示进度条输出。 :问题:`1648`
  • 进度条 item_show_func 显示当前项目,而不是上一个项目。 :问题:`1353`
  • Path 参数类型可以通过 path_type=pathlib.Path 返回路径对象而不是字符串。 :问题:`405`
  • TypeError 当参数 multiple=Truenargs > 1 具有不可迭代的默认值时引发。 :问题:`1749`
  • 添加 pass_meta_key 装饰器,用于从 Context.meta 传递密钥。 这对于使用 meta 存储信息的扩展很有用。 :问题:`1739`
  • Path resolve_path resolves symlinks on Windows Python < 3.8. :问题:`1813`
  • 命令弃用通知出现在帮助文本的开头以及简短的帮助中。 该通知并非全部大写。 :问题:`1791`
  • 在 Windows 上从 sys.argv 获取参数时,glob 模式、用户目录和环境变量被扩展。 :问题:`1096`
  • gettext() 标记 CLI 显示的消息,以允许应用程序翻译 Click 的内置字符串。 :问题:`303`
  • 使用测试运行器时将无效字符写入 stderr 不会引发 UnicodeEncodeError:问题:`848`
  • 修复了在按下退格键时 readline 将清除整个 prompt() 行而不是仅输入的问题。 :问题:`665`
  • 将所有传递给 Context.invoke() 的 kwargs 添加到 ctx.params。 修复了嵌套 Context.forward() 调用时的不一致问题。 :问题:`1568`
  • MultiCommand.resultcallback 装饰器重命名为 result_callback。 旧名称已弃用。 :问题:`1160`
  • 修复使用 echo_stdin=TrueCliRunner 输出的问题。 :问题:`1101`
  • 修复 click.utils.make_default_short_help 返回字符串可能与 max_width + 3 一样长的问题。 :问题:`1849`
  • 定义参数时,defaultmultiplenargs 一起验证。 还对正在处理的值进行了更多验证。 :问题:`1806`
  • HelpFormatter.write_text 换行时使用全线宽。 :问题:`1871`


版本 7.1.2

发布 2020-04-27

  • 恢复将 shell 引用应用于 echo_with_pageredit 的命令。 这旨在允许命令中有空格,但如果字符串实际上是命令和参数,或在 Windows 上,则会导致问题。 相反,必须手动引用该字符串,因为它应该出现在命令行中。 :问题:`1514`


版本 7.1.1

发布 2020-03-09


7.1 版

发布 2020-03-09

  • 修复 PyPI 包名,“click”再次小写。
  • 修复 unicode_literals 错误消息中的链接。 :pr:`1151`
  • 在 UNIX Jupyter 笔记本上添加对彩色输出的支持。 :问题:`1185`
  • 剥离 ANSI 控件的操作将剥离光标隐藏/显示序列。 :问题:`1216`
  • 移除 bytes 未使用的兼容垫片。 :pr:`1195`
  • 围绕 termui 展开测试,尤其是 Windows 上的 getchar。 :问题:`1116`
  • 修复使用 MSVC 14 构建的 Windows Python 2.7 上的输出。 :pr:`1342`
  • 在 MSYS2 中运行时修复 OSError:问题:`1338`
  • 在 Windows 上重定向到 NUL 流时修复 OSError:问题:`1065`
  • 在 Windows 上解析 Unicode 参数时修复内存泄漏。 :问题:`1136`
  • 修复新 AppEngine 环境中的错误。 :问题:`1462`
  • 始终为 click.Choice 返回传递的选项之一:issue:`1277`, :pr:`1318`
  • no_args_is_help 选项添加到 click.Command,默认为 False :pr:`1167`
  • show_default 参数添加到 Context 以启用全局显示默认值。 :问题:`1018`
  • 处理 env MYPATH= 就好像选项没有通过一样。 :问题:`1196`
  • 再次可以在活动进度条实例上调用 next(bar):问题:`1125`
  • open_fileatomic=True 保留现有文件的权限并尊重新文件的当前 umask。 :问题:`1376`
  • 当使用测试 CliRunnermix_stderr=False 时,如果 result.stderr 为空,则不会引发 ValueError:问题:`1193`
  • CliRunner.invoke 中删除未使用的 mix_stderr 参数。 :问题:`1435`
  • 修复 TypeError 在使用 bool 标志并指定 type=bool 时引发的问题。 :问题:`1287`
  • 选项帮助文本中的换行符在重新换行之前用空格替换以避免不均匀的换行符。 :问题:`834`
  • MissingParameter 异常可在 Python 解释器中打印。 :问题:`1139`
  • 修复在提示期间如何显示文件类型选项的默认值。 :问题:`914`
  • 修复包含 - 的命令的环境变量自动生成。 :问题:`1253`
  • 选项帮助文本在重新换行时用空格替换换行符,但保留分段符,修复多行格式。 :问题:`834、1066、1397`
  • 换行的选项帮助文本在末尾添加了一个额外的换行符,以将其与下一个选项区分开来。 :问题:`1075`
  • 在确定用于 click.edit() 的编辑器时,请考虑 sensible-editor:pr:`1469`
  • 系统调用的参数(例如传递给 click.edit 的可执行路径)可以包含空格。 :pr:`1470`
  • 添加 ZSH 完成自动加载和错误处理。 :问题:`1348`
  • CommandGroupOptionArgument 添加一个repr,显示更友好调试的名称。 :问题:`1267`
  • 如果值在 -- 分隔符后以 - 开头,则完成不考虑选项名称。 :问题:`1247`
  • ZSH 完成转义值中的特殊字符。 :pr:`1418`
  • 添加对 Fish shell 的完成支持。 :pr:`1423`
  • 在更多情况下,解码字节选项值回退到 UTF-8。 :pr:`1468`
  • 使有关旧的 2-arg 参数回调的警告成为弃用警告,将在 8.0 中删除。 这是自 Click 2.0 以来的警告。 :pr:`1492`
  • 调整错误消息以标准化所使用的引号类型,使其与来自 Python 的错误消息匹配。


版本 7.0

发布 2018-09-25

  • 放弃对 Python 2.6 和 3.3 的支持。 :pr:`967, 976`
  • 包裹 click.Choice 丢失的消息。 :issue:`202`, :pr:`1000`
  • 添加本机 ZSH 自动完成支持。 :issue:`323`, :pr:`865`
  • 记录未从 Python 2 中的字节数组解析 ANSI 颜色信息。 :问题:`334`
  • 记录 CliRunner 的字节剥离行为。 :issue:`334`, :pr:`1010`
  • 使用错误现在提示 --help 选项。 :issue:`393`, :pr:`557`
  • 实现流式寻呼机。 :issue:`409`, :pr:`889`
  • 将条形格式提取到它自己的方法。 :pr:`414`
  • 添加 DateTime 类型以转换给定日期时间格式的输入。 :pr:`423`
  • secho 的第一个参数现在可以是 None,就像在 echo 中一样。 :pr:`424`
  • 修复 ProgressBar.make_step 中的 ZeroDivisionError,当传递给 ProgressBar.update 的第一次调用的参数为 0 时。 :issue:`447`, :pr:`1012`
  • 仅当总执行时间可见时才显示进度条。 :pr:`487`
  • 添加了从帮助中隐藏命令和选项的功能。 :pr:`500`
  • 记录选项可以是 required=True:issue:`514`, :pr:`1022`
  • Context.exit 的非独立调用返回退出代码,而不是调用 sys.exit:issue:`667`, :pr:`533, 1098`
  • click.getchar() 在 Windows 上的 Python 3 中返回 Unicode,与其他平台一致。 :问题:`537, 821, 822, 1088`, :pr:`1108`
  • 添加了 FloatRange 类型。 :pr:`538, 553`
  • OptionsArguments 添加了对 type=click.Choice 的 bash 补全的支持。 :issue:`535`, :pr:`681`
  • Argument 参数声明只允许一个位置参数。 :issue:`568, 574`, :pr:`1014`
  • 添加 case_sensitive=False 作为选项的选项。 :问题:`569`
  • click.getchar() 在 Linux 上的“^C”上正确提升 KeyboardInterrupt,在“^D”上正确提升 EOFError:issue:`583`, :pr:`1115`
  • 修复 Linux 上 click.getchar(echo=True) 的编码问题。 :pr:`1115`
  • param_hint 中的错误现在源自参数本身。 :issue:`598, 704`, :pr:`709`
  • 添加一个测试,以确保当一个参数被格式化为使用错误时,使用它的元变量,而不是它的名称。 :pr:`612`
  • 允许在 CliRunner.invoke 中将 prog_name 设置为额外。 :issue:`616`, :pr:`999`
  • 从文档字符串中提取的帮助文本在 \f 换页符处截断,这对于隐藏 Sphinx 样式的参数文档很有用。 :pr:`629, 1091`
  • launch 现在可以在 Cygwin 下正常工作。 :pr:`650`
  • 迭代后更新进度。 :issue:`651`, :pr:`706`
  • CliRunner.invoke 现在可以接收 args 作为代表 Unix shell 命令的字符串。 :pr:`664`
  • 使 Argument.make_metavar() 默认输入元变量。 :pr:`675`
  • 添加 ignore_unknown_options 的文档。 :pr:`684`
  • click.style 添加亮色支持,并修复参数 fgbg 的重置选项。 :issue:`703`, :pr:`809`
  • 添加 show_envvar 用于在帮助中显示环境变量。 :pr:`710`
  • 当 stdout 或 stderr 是封闭管道时,在解释器关闭期间避免 BrokenPipeError:issue:`712`, :pr:`1106`
  • 记录自定义选项名称。 :issue:`725`, :pr:`1016`
  • 在不支持它的 Python 解释器上禁用 sys._getframes():pr:`728`
  • 修复了使用 None 调用 sys.exit 时测试运行器中的错误。 :pr:`739`
  • 澄清有关命令行选项的文档。 :issue:`741`, :pr:`1003`
  • 修复 Windows 控制台崩溃。 :问题:`744`
  • 修复导致 bash 完成对链式命令不正确完成的错误。 :issue:`754`, :pr:`774`
  • 添加了对来自用户提供的回调的动态 bash 完成的支持。 :pr:`755`
  • 添加了对包含空格的 bash 补全的支持。 :pr:`773`
  • 允许自动完成功能确定是否返回以不完整参数开头的完成。 :issue:`790`, :pr:`806`
  • 修复选项命名例程以匹配文档并具有确定性。 :issue:`793`, :pr:`794`
  • 修复路径验证错误。 :issue:`795`, :pr:`1020`
  • 添加 Option 命名的测试和文档:功能。 :pr:`799`
  • 更新文档以匹配 path_type 的 arg 名称。 :pr:`801`
  • 添加了原始字符串,以便发生正确的转义。 :pr:`807`
  • 修复 Windows 上 click.echo 的 16k 字符限制。 :issue:`816`, :pr:`819`
  • 在 Windows 7 上写入二进制流时克服 64k 字符限制。 :issue:`825`, :pr:`830`
  • 为“t”和“f”添加布尔转换。 :pr:`842`
  • NoSuchOption 错误采用 ctx 以便在错误输出中打印 --help 提示。 :pr:`860`
  • 修复了 2.x 和 3.x 上关于 Unicode 的 Click 错误消息的行为。 Message 现在始终是 Unicode,并且 str 和 Unicode 特殊方法在该平台上按您的预期工作。 :问题:`862`
  • 进度条现在默认使用 stderr。 :pr:`863`
  • 添加对自动完成文档的支持。 :issue:`866`, :pr:`869`
  • 允许 CliRunner 将 stdout 和 stderr 分开。 :pr:`868`
  • 修复变量优先级。 :issue:`873`, :pr:`874`
  • 修复无效的转义序列。 :pr:`877`
  • 修复在某些测试中出现的 ResourceWarning:pr:`878`
  • 检测错误配置的区域设置时,如果 locale 命令失败,请不要失败。 :pr:`880`
  • case_sensitive=False 作为选项添加到 Choice 类型。 :pr:`887`
  • 强制 stdout/stderr 可写。 这可以解决像 Jupyter 这样的标准流打补丁严重的问题。 :pr:`918`
  • 修复最后一个参数 后子命令选项的完成:问题:`919`:pr:`930`
  • _AtomicFile 现在使用原始文件名的 realpath,因此更改工作目录不会影响它。 :pr:`920`
  • 修复存在默认值时不正确的补全 :issue:`925`, :pr:`930`
  • 添加复制选项 attrs 以便可以重用自定义类。 :issue:`926`, :pr:`994`
  • 当文件为 "-" 时,“x”和“a”文件模式现在使用标准输出。 :pr:`929`
  • 修复 __all__ 列表中缺少的逗号。 :pr:`935`
  • 阐明参数的命名方式。 :issue:`949`, :pr:`1009`
  • Stdout 现在自动设置为非阻塞。 :pr:`954`
  • 不要设置选项两次。 :pr:`962`
  • 移动 fcntl 导入。 :pr:`965`
  • 修复 Google App Engine ImportError:pr:`995`
  • 更好地处理动态默认选项值的帮助文本。 :pr:`996`
  • 修复 get_winter_size() 使其正确返回 (0,0):pr:`997`
  • 添加测试用例检查自定义参数类型。 :pr:`1001`
  • 允许使用短宽度来解决 cmd 格式问题。 :pr:`1002`
  • 添加有关 Python 版本支持的详细信息。 :pr:`1004`
  • 向命令添加了弃用标志。 :pr:`1005`
  • 修复了 fd 未定义的问题。 :pr:`1007`
  • 修复格式以获取简短帮助。 :pr:`1008`
  • 记录 auto_envvar_prefix 如何与命令组一起工作。 :pr:`1011`
  • 默认情况下不要为进度条添加换行符。 :pr:`1013`
  • 使用 Python 排序顺序进行 ZSH 补全。 :issue:`1047`, :pr:`1059`
  • 记录参数名称默认转换为小写。 :pr:`1055`
  • 由函数命名的子命令现在自动将下划线替换为破折号。 如果您注册一个名为 my_command 的函数,它会在命令行界面中变成 my-command
  • 在完成时隐藏隐藏的命令和选项。 :issue:`1058`, :pr:`1061`
  • 修复绝对导入阻止 Click 被供应到 Windows 上的项目。 :issue:`1068`, :pr:`1069`
  • 修复小写 auto_envvar_prefix 不会转换为大写的问题。 :pr:`1105`


版本 6.7

发布 2017-01-06

  • 使 click.progressbarcodecs.open 文件一起工作。 :pr:`637`
  • 使用嵌套子命令修复 bash 完成中的错误。 :pr:`639`
  • 修复测试运行器没有正确保存调用者环境。 :pr:`644`
  • 修复 SIGPIPE 的处理。 :pr:`62`
  • 处理损坏的 Windows 环境,例如 Google App Engine。 :问题:`711`


版本 6.6

发布 2016-04-04


版本 6.4

发布 2016-03-24

  • 修复 bash 完成中的错误,其中单击会丢弃一个或多个尾随参数。 :问题:`471`


版本 6.3

发布 2016-02-22

  • 在 Windows 上使用 -m-c 修复解释器调用的参数检查。
  • 修复了在 Python 3 上导致区域设置检测出错的错误。


版本 6.2

发布 2015-11-27

  • 正确修复隐藏的进度条。


版本 6.1

发布 2015-11-27

  • 解决了不可见进度条不再呈现的问题。
  • 禁用带有子命令的链命令,因为它们本身就已损坏。
  • 修复 MissingParameter 在没有传递参数的情况下无法工作。


版本 6.0

2015-11-24 发布,代号“pow pow”

  • 优化进度条渲染,当它没有实际改变时不渲染。
  • 使用设置的默认值明确禁止 nargs=-1
  • 上下文现在在从堆栈中弹出之前关闭。
  • 添加了对切换时 false 标志的短别名的支持。
  • Click 现在将尝试通过在操作系统的帮助下列出可用的语言环境来帮助您更好地调试语言环境错误。
  • 单击用于在某些单元测试情况下返回 Python 2 上的字节字符串。 这已被修复,现在可以正确返回 unicode 字符串。
  • 对于使用 Python 2 的 Windows 用户,Click 现在可以更正确地处理来自系统的 Unicode。 这也有一个令人失望的副作用,即默认情况下,Path 类型的文件名现在将始终为 unicode,这意味着这可能会为不知道这一点的代码引入小错误。
  • type 参数添加到 Path 以强制对值使用特定的字符串类型。
  • 对于在 Windows 上运行 Python 的用户,echoprompt 函数现在通过模拟输出流在 Python Windows 控制台中使用完整的 unicode 功能。 这也适用于通过 click.get_text_stream(...) 获取虚拟输出和输入流。
  • 单元测试现在总是强制一定的虚拟终端宽度。
  • 添加了允许破折号将标准流指示为 Path 类型的支持。
  • 链模式下的多命令不再将解析剩下的参数传播到回调。 如果启用链模式,当可选参数附加到多命令时,现在也不允许通过异常。
  • 放宽限制,不允许链式命令将其他链式命令作为子命令。
  • 现在可以实现具有正 nargs 的参数的默认值。 以前,此配置通常会导致返回稍微意外的值。


版本 5.1

发布 2015-08-17

  • 修复 pass_obj 中会意外传递上下文的错误。


5.0 版

2015-08-16 发布,代号“tok tok”

  • 删除了各种已弃用的功能。
  • 原子文件现在只接受 w 模式。
  • 对于很长的命令,更改帮助输出的使用部分,将它们的参数包装到下一行,缩进 4 个空格。
  • 修复使用 CliRunner 时返回代码和错误消息不正确的错误。
  • 添加了 get_current_context
  • 向上下文添加了 meta 字典,该字典在上下文链接列表中共享,以允许单击实用程序将状态放置在那里。
  • 介绍了 Context.scope
  • echo 函数现在是线程安全的:它只调用底层对象的 write 方法一次。
  • prompt(hide_input=True) 现在在 ^C 上打印一个换行符。
  • 如果用户正在使用 unicode_literals,单击现在将发出警告。
  • 如果 PAGER 环境变量为空或仅包含空格,则 Click 现在将忽略该环境变量。
  • click-contrib GitHub 组织已创建。


版本 4.1

发布 2015-07-14

  • 修复错误消息将包含尾随 None 字符串的错误。
  • 修复了一个错误,即 Click 会在带有尾随换行符的文档字符串上崩溃。
  • 支持在 Python 3 上将编码设置为 None 的流,因为它会出现更好的错误。
  • 在 less-pager 中正确处理 ^C。
  • 处理 Nonesys.getfilesystemencoding 的返回值
  • 修复使用 click.echo 写入 unicode 文件时崩溃的问题。
  • 使用多个选项修复类型推断。


版本 4.0

2015-03-31 发布,代号“zoom zoom”

  • 为大量直接或间接调用回显的接口添加了color参数。 这以前总是自动检测(echo_via_pager 功能除外)。 现在您可以强制启用或禁用它,覆盖 Click 的自动检测。
  • 添加了 UNPROCESSED 类型,该类型不执行任何类型更改,从而在某些特殊的高级用例中简化了 2.x / 3.x 上的文本处理。
  • 添加了 NoSuchOptionBadOptionUsage 异常,用于更通用的错误处理。
  • 添加了对处理未处理选项的支持,这在参数被转发到底层工具的情况下很有用。
  • 在上下文中添加了 max_content_width 参数,可用于更改帮助输出的最大宽度。 默认情况下,Click 不会格式化超过 80 个字符宽度的内容。
  • 添加了对向 stderr 写入提示的支持。
  • 修复显示多个参数的默认值时的错误。
  • 添加了对 optionargument 的自定义子类的支持。
  • 修复安装 colorama 时 Windows 上 clear() 中的错误。
  • 正确拒绝nargs=-1选项。 选项不能是可变参数。
  • 修复了 bash 补全对于非 ASCII 字符或破折号的命令无法正常工作的问题。
  • 添加了一种手动更新进度条的方法。
  • 更改了缺失参数的格式。 以前内部参数名称显示在错误消息中,现在如果传递则显示元变量。 如果选择了自动元变量,首先会去除额外的格式。


版本 3.3

发布 2014-09-08

  • 修复了在 Python 3 上报告无效命令转发错误的问题。


版本 3.2

发布 2014-08-22

  • 添加了缺少的 err 参数转发到 secho 功能。
  • 修复了上下文调用方法未正确处理的默认参数。 如果函数使用不当,这是向后不兼容的更改。 有关详细信息,请参阅 升级到 3.2
  • 大幅移除了 invoked_subcommands 属性。 由于解析的工作方式,无法使其无错误地工作,因此该 API 已被弃用。 有关详细信息,请参阅 升级到 3.2
  • 恢复了 invoked_subcommand 的功能,该功能在 3.1 中作为回归被破坏。


版本 3.1

发布 2014-08-13

  • 修复了导致在调用父命令之前创建子命令上下文的回归,这是早期 Click 版本的回归。


版本 3.0

2014-08-12 发布,代号“clonk clonk”

  • 格式化程序现在不再尝试适应小于 50 个字符的终端。 如果发生这种情况,它只是假设一个最小的宽度。
  • 在测试系统中添加了一种不吞下异常的方法。
  • 添加了对带有寻呼机的颜色的更好支持以及覆盖自动检测的方法。
  • CLI 运行程序的结果对象现在附加了回溯。
  • 改进了自动简短帮助检测,以更好地处理不终止句子的点。
  • 现在在定义没有实际有效选项字符串的选项时,Click 将给出错误消息而不是静默传递。 这应该会捕获用户想要创建参数而不是选项的情况。
  • 内部重组 Click 以支持销售。
  • 添加了对多命令链接的支持。
  • 添加了对 multiple 选项的默认值以及 nargs != 1 选项和参数的支持。
  • 传递给 progressbar 的标签不再呈现为去除空白。
  • 添加了一种在 Click 命令上禁用 main 方法的独立模式的方法,以便能够更好地处理错误。
  • 添加了对从命令回调返回值的支持。
  • 添加了从 echo 打印到 stderr 的简化。
  • 为组添加了结果回调。
  • 多次进入上下文会推迟清理直到最后一次退出。
  • 添加了 open_file


版本 2.6

发布 2014-08-11

  • 修复了 Python 3 上的包装流会报告不正确的可查找值的问题。


版本 2.5

发布 2014-07-28

  • 修复了 Python 3 上文本换行的错误。


版本 2.4

发布 2014-07-04

  • 更正了 2.3 中帮助选项更改中的错误。


版本 2.3

发布 2014-07-03

  • 修复了计数选项的格式错误的帮助记录。
  • 如果 colorama 不可用,则在 Windows 上添加对 ansi 代码剥离的支持。
  • 恢复了 Click 1.0 处理某些边缘情况的帮助参数。


版本 2.2

发布 2014-06-26

  • 修复了 PyPy 上的 tty 检测。
  • 修复了进入上下文管理器时未呈现进度条的问题。


版本 2.1

发布 2014-06-14

  • 修复了 Windows 上的 launch() 函数。
  • 改进了 Windows 上的 colorama 支持,以便在应用程序中断时尽量不搞砸控制台。
  • 修复了 Windows 终端错误地报告为 80 个字符而不是 79 个字符的问题
  • 如果可用,请使用 colorama win32 绑定来获取 Windows 终端的正确尺寸。
  • 修复了 Python 3 上自定义函数类型的问题。
  • 修复了错误消息中错误报告未知选项的问题。


2.0版

2014-06-06 发布,代号“tap tap tap”

  • 添加了对以二进制模式在 Windows 上正确打开 stdin/stdout 的支持。
  • 通过临时文件添加了对文件原子写入的支持。
  • 引入了 BadParameter,它可用于轻松地使用与类型系统中相同的错误消息执行自定义验证。
  • 添加了 progressbar(); 显示进度条的功能。
  • 添加 get_app_dir(); 计算配置的主文件夹的函数。
  • 通过 colorama 将 ANSI 代码的透明处理添加到 echo() 函数中。
  • 添加了 clear() 函数。
  • 重大变化:参数回调现在获取作为第二个参数传递的参数对象。 旧回调有遗留支持,它会发出警告但仍会执行脚本。
  • 为 ANSI 样式添加了 style()unstyle()secho()
  • 添加了调用默认编辑器的 edit() 函数。
  • 添加了启动浏览器和应用程序的 launch() 函数。
  • 现在可以通过 required 标志将参数的 -1 的 Nargs 强制为单个项目。 它默认为不需要。
  • 现在为参数设置默认值使其不再需要。
  • 将确认提示中的“yN”/“Yn”更改为“y/N”和“Y/n”。
  • 添加了对 bash 完成的基本支持。
  • 添加了 getchar() 以从终端获取单个字符。
  • 错误现在按预期转到 stderr。
  • 修复了更奇特的参数格式(如 DOS/Windows 样式参数)的各种问题。
  • 添加了 pause(),它的工作方式类似于内置的 Windows pause cmd,但如果应用程序不是通过终端运行的,则会变成自动 noop。
  • 添加了一些关于缺少选择参数的额外信息。
  • 更改了帮助功能的实现方式,以允许全局覆盖帮助选项。
  • 添加了对令牌规范化的支持以实现不区分大小写的处理。
  • 添加了对提供上下文设置默认值的支持。


版本 1.1

发布 2014-05-23

  • 修复了导致 Python 2 中的文本文件不接受本机字符串的错误。


版本 1.0

发布 2014-05-21

  • 初始版本。